https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93125
Bug ID: 93125 Summary: ICE in insert_regs, at cse.c:1128 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: ktkachov at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu Target: arm-linux-gnueabi The following ICEs: $ cat ice2.i enum { LODI } a; int *b; long long c; void fn1() { for (;;) switch (a) case LODI: *b = c -= (long long)&a << 32; } $ arm-linux-gnueabi-gcc -O3 -fno-dce -c ice2.i ice2.i: In function ‘fn1’: ice2.i:9:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 9 | *b = c -= (long long)&a << 32; | ^ during RTL pass: cse_local ice2.i:10:1: internal compiler error: in insert_regs, at cse.c:1128 10 | } | ^ 0x5a97a9 insert_regs /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:1128 0x1129488 cse_insn /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:5955 0x112b78d cse_extended_basic_block /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:6613 0x112b78d cse_main /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:6792 0x112c41d rest_of_handle_cse_after_global_opts /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:7764 0x112c41d execute /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-arm/build/gcc/cse.c:7815 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.