We want to replace all REGs equal to FROM.
2021-08-26 Uroš Bizjak <[email protected]>
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"