https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70944
Bug ID: 70944
Summary: [7 Regression] ICE in immed_wide_int_const, at
emit-rtl.c:606 with -O3
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
Target Milestone: ---
As mentioned in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70396#c5,
after Richi's fix for PR70396, I still see very similar issue.
$ cat tc.ii
void fn1() {
unsigned *a = 0;
for (int i; i; ++i) {
unsigned g(a[i] << 8 >> 24);
a[i] = g;
}
}
$ /home/marxin/bin/gcc2/lib/gcc/x86_64-pc-linux-gnu/7.0.0/cc1plus
-fpreprocessed tc.ii -march=haswell -mmmx -mno-3dnow -msse -msse2 -msse3
-mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm
-mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2
-msse4.1 -mlzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase -mno-rdseed
-mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er
-mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec
-mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma
-mno-avx512vbmi -mno-clwb -mno-pcommit -mno-mwaitx -mno-clzero -mno-pku --param
l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192
-mtune=haswell -quiet -dumpbase tc.ii -O3
tc.ii:7:1: internal compiler error: in immed_wide_int_const, at emit-rtl.c:606
}
^
0xa4cf35 immed_wide_int_const(generic_wide_int<wide_int_ref_storage<false> >
const&, machine_mode)
../../gcc/emit-rtl.c:606
0x13929a9 change_zero_ext
../../gcc/combine.c:11111
0x13937d8 recog_for_combine
../../gcc/combine.c:11148
0x13a175d try_combine
../../gcc/combine.c:3503
0x13a6fc1 combine_instructions
../../gcc/combine.c:1288
0x13a6fc1 rest_of_handle_combine
../../gcc/combine.c:14348
0x13a6fc1 execute
../../gcc/combine.c:14391
Thanks