https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115982
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-07-18 Keywords| |needs-bisection Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. The split for avx_cmpv4sf3_1 has not changed since r11-6849-gee78c20e74d302 . I don't know why it is only showing up now. This will work around it. ``` diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index c134494cd20..cebfc3b1e6b 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -3873,9 +3873,11 @@ (define_insn_and_split "*avx_cmp<mode>3_1" (match_dup 4) (match_dup 5)] UNSPEC_PCMP)) - (set (match_dup 0) (match_dup 7))] + (set (match_dup 8) (match_dup 7))] + (set (match_dup 0) (match_dup 8))] { operands[6] = gen_reg_rtx (<MODE>mode); + operands[8] = gen_reg_rtx (GET_MODE (operands[0])); operands[7] = lowpart_subreg (GET_MODE (operands[0]), operands[6], <MODE>mode); }) ``` But I am not 100% sure it is the correct fix. Note only test2 is needed here to get the ICE.