https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111371
Bug ID: 111371 Summary: ICE in curr_insn_transform, at lra-constraints.cc:4290 on pp64le with -mcpu=power5+ -mpower10-fusion -Os Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jamborm at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux Target: ppc64le-linux-gnu With a cross compiler (revision r14-3827-g30e6ee074588ba) configured with: /home/worker/buildworker/tiber-gcc-trunk-ppc64le/build/configure --enable-languages=c,c++,fortran,rust,m2 --disable-bootstrap --disable-libsanitizer --disable-multilib --enable-checking=release --prefix=/home/worker/cross --target=ppc64le-linux-gnu --with-as=/usr/bin/powerpc64le-suse-linux-as and our existing testcase gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c when copiling it with options -mcpu=power5+ -mpower10-fusion -Os results in the following ICE: ~/cross/bin/ppc64le-linux-gnu-gcc /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c -mcpu=power5+ -mpower10-fusion -Os In file included from /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c:5: /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c: In function ‘t119_1add’: /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow.h:99:1: error: unable to generate reloads for: 99 | } \ | ^ /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c:51:1: note: in expansion of macro ‘TP’ 51 | TP (119, int, WTYPE, vs.u2, -3, 5, add, 0) \ | ^~ /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c:63:1: note: in expansion of macro ‘TESTS’ 63 | TESTS | ^~~~~ (insn 18 17 73 2 (parallel [ (set (reg:TI 128) (and:TI (xor:TI (reg:TI 124) (reg/v:TI 121 [ y ])) (reg:TI 127))) (clobber (reg:TI 151)) ]) "/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c":63:1 2589 {*fuse_vxor_vand} (expr_list:REG_UNUSED (reg:TI 151) (expr_list:REG_DEAD (reg:TI 127) (expr_list:REG_DEAD (reg/v:TI 121 [ y ]) (nil))))) during RTL pass: reload /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow.h:99:1: internal compiler error: in curr_insn_transform, at lra-constraints.cc:4290 99 | } \ | ^ /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c:51:1: note: in expansion of macro ‘TP’ 51 | TP (119, int, WTYPE, vs.u2, -3, 5, add, 0) \ | ^~ /home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c:63:1: note: in expansion of macro ‘TESTS’ 63 | TESTS | ^~~~~ 0x640b4d _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/worker/buildworker/tiber-gcc-trunk-ppc64le/build/gcc/rtl-error.cc:108 0x638f61 curr_insn_transform /home/worker/buildworker/tiber-gcc-trunk-ppc64le/build/gcc/lra-constraints.cc:4290 0xa76483 lra_constraints(bool) /home/worker/buildworker/tiber-gcc-trunk-ppc64le/build/gcc/lra-constraints.cc:5488 0xa64272 lra(_IO_FILE*) /home/worker/buildworker/tiber-gcc-trunk-ppc64le/build/gcc/lra.cc:2419 0xa1f779 do_reload /home/worker/buildworker/tiber-gcc-trunk-ppc64le/build/gcc/ira.cc:5970 0xa1f779 execute /home/worker/buildworker/tiber-gcc-trunk-ppc64le/build/gcc/ira.cc:6156