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.

Reply via email to