https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90547

            Bug ID: 90547
           Summary: [8/9/10 Regression] ICE in gen_lowpart_general, at
                    rtlhooks.c:63
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

This is a follow-up of pr89945 :


$ cat z1.c
void
foo ()
{
  void *g[] = {&&a, &&b};

  for (unsigned c = 0x1F;; c >>= 1)
    {
      unsigned d = "a"+1;
      long e = 8;

      while (e)
        {
          a: goto *g[c&d];
          b: e--;
        }
    }
}


$ gcc-6 -c z1.c -O2
z1.c: In function 'foo':
z1.c:8:20: warning: initialization makes integer from pointer without a cast
[-Wint-conversion]
       unsigned d = "a"+1;
                    ^~~

# gcc-10-20190519 -c z1.c  also compiles it.


$ gcc-10-20190519 -c z1.c -O2
z1.c: In function 'foo':
z1.c:8:20: warning: initialization of 'unsigned int' from 'char *' makes
integer from pointer without a cast [-Wint-conversion]
    8 |       unsigned d = "a"+1;
      |                    ^~~
during RTL pass: split1
z1.c:17:1: internal compiler error: in gen_lowpart_general, at rtlhooks.c:63
   17 | }
      | ^
0xa2e978 gen_lowpart_general(machine_mode, rtx_def*)
        ../../gcc/rtlhooks.c:63
0xf92b0e gen_split_144(rtx_insn*, rtx_def**)
        ../../gcc/config/i386/i386.md:8529
0x112a34f split_17
        ../../gcc/config/i386/i386.md:1062
0x112fd4c split_insns(rtx_def*, rtx_insn*)
        ../../gcc/config/i386/i386.md:13105
0x79c5f2 try_split(rtx_def*, rtx_insn*, int)
        ../../gcc/emit-rtl.c:3851
0x9f10f1 split_insn
        ../../gcc/recog.c:2901
0x9f5212 split_all_insns()
        ../../gcc/recog.c:3005
0x9f5318 execute
        ../../gcc/recog.c:3905
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