I see the following ICE: $ arm-linux-gnueabi-gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c -fno-dce -O3 -c /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c:17:1: warning: return type defaults to ‘int’ [-Wimplicit-int] 17 | f (pc) | ^ /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c: In function ‘f’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c:116:3: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration] 116 | printf("shift = %d\n", shift); | ^~~~~~ /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c:116:3: warning: incompatible implicit declaration of built-in function ‘printf’ /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c:1:1: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’ +++ |+#include <stdio.h> 1 | typedef enum /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c:132:7: warning: incompatible implicit declaration of built-in function ‘printf’ 132 | printf("%08lx.%08lx\n", (long)(((unsigned long long) acc) >> 32) , (long)(((unsigned long long) acc) & 0xffffffff)); | ^~~~~~ /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c:132:7: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’ during RTL pass: cse_local /home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/compile/950612-1.c:134:1: internal compiler error: in insert_regs, at cse.c:1129 134 | } | ^ 0x5a4b07 insert_regs /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:1129 0x10e97a8 cse_insn /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:5956 0x10ebac4 cse_extended_basic_block /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:6614 0x10ebac4 cse_main /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:6793 0x10ec74d rest_of_handle_cse_after_global_opts /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:7765 0x10ec74d execute /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:7816 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.
Confirmed on trunk.
Any update on this Kyril?
Almost certainly another dup of 90275. We have the same dual-output insn that sets the condition codes + a pseudo and later in the block a nop-set where the source is referenced by the earlier dual-output insn. *** This bug has been marked as a duplicate of bug 90275 ***