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

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
A new test-case:

$ cat ice.ii
unsigned *a;
void
fn1 ()
{
  for (int i; i; ++i)
    {
      unsigned g (a[i] << 8 >> 24);
      a[i] = g;
    }
}

$ gcc ice.ii -O3 -march=core-avx2
ice.ii: In function ‘void fn1()’:
ice.ii:10:1: internal compiler error: in immed_wide_int_const, at
emit-rtl.c:606
 }
 ^
0xa89680 immed_wide_int_const(generic_wide_int<wide_int_ref_storage<false> >
const&, machine_mode)
        ../../gcc/emit-rtl.c:606
0x140f721 change_zero_ext
        ../../gcc/combine.c:11140
0x1410568 recog_for_combine
        ../../gcc/combine.c:11177
0x141ee4c try_combine
        ../../gcc/combine.c:3503
0x1424868 combine_instructions
        ../../gcc/combine.c:1288
0x1424868 rest_of_handle_combine
        ../../gcc/combine.c:14377
0x1424868 execute
        ../../gcc/combine.c:14420

I'm going to test Richi's suggestion.

Reply via email to