We want to replace all REGs equal to FROM. 2021-08-26 Uroš Bizjak <ubiz...@gmail.com>
gcc/ PR target/102057 * config/i386/i386.md (cmove reg-reg move elimination peephole2s): Set all_regs to true in the call to replace_rtx. I was not able to create a testcase without warnings. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Pushed to master. Uros.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 41d85623ad6..c80dcb57a18 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -19475,8 +19475,8 @@ (match_dup 0)))] { operands[7] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0)); - operands[8] = replace_rtx (operands[5], operands[0], operands[1]); - operands[9] = replace_rtx (operands[6], operands[0], operands[1]); + operands[8] = replace_rtx (operands[5], operands[0], operands[1], true); + operands[9] = replace_rtx (operands[6], operands[0], operands[1], true); }) ;; Eliminate a reg-reg mov by inverting the condition of a cmov (#2). @@ -19507,8 +19507,8 @@ (match_dup 0)))] { operands[7] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (2)), 0, 0)); - operands[8] = replace_rtx (operands[5], operands[0], operands[1]); - operands[9] = replace_rtx (operands[6], operands[0], operands[1]); + operands[8] = replace_rtx (operands[5], operands[0], operands[1], true); + operands[9] = replace_rtx (operands[6], operands[0], operands[1], true); }) (define_expand "mov<mode>cc"