Module Name: src Committed By: rin Date: Sat Oct 7 12:10:02 UTC 2023
Modified Files: src/external/gpl3/gcc.old/dist/gcc/config/vax: vax.md Log Message: gcc.old: vax: PR port-vax/57646 patch provided by Kalvis Duckmanton [18/21] use the extzv instruction pattern for logical shifts right To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 \ src/external/gpl3/gcc.old/dist/gcc/config/vax/vax.md Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/gpl3/gcc.old/dist/gcc/config/vax/vax.md diff -u src/external/gpl3/gcc.old/dist/gcc/config/vax/vax.md:1.14 src/external/gpl3/gcc.old/dist/gcc/config/vax/vax.md:1.15 --- src/external/gpl3/gcc.old/dist/gcc/config/vax/vax.md:1.14 Sat Oct 7 12:01:43 2023 +++ src/external/gpl3/gcc.old/dist/gcc/config/vax/vax.md Sat Oct 7 12:10:02 2023 @@ -733,7 +733,7 @@ (minus:QI (const_int 32) (match_dup 4))) (set (match_operand:SI 0 "nonimmediate_operand" "=g") - (zero_extract:SI (match_operand:SI 1 "register_operand" "r") + (zero_extract:SI (match_operand:SI 1 "general_operand" "g") (match_dup 3) (match_operand:SI 2 "register_operand" "g")))] "" @@ -741,6 +741,10 @@ { operands[3] = gen_reg_rtx (QImode); operands[4] = gen_lowpart (QImode, operands[2]); + operands[4] = gen_rtx_MINUS (QImode, GEN_INT (32), operands[4]); + emit_move_insn (operands[3], operands[4]); + emit_insn (gen_extzv (operands[0], operands[1], operands[3], operands[2])); + DONE; }") ;; Rotate right on the VAX works by negating the shift count.