https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66554
Bug ID: 66554 Summary: [4.9 Regression] ICE (in expand_fix, at optabs.c:5365) on aarch64-linux-gnu Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- works with 4.7, didn't check 4.8, fails with 4.9, works with 5. -O2 works around it. $ cat source.ii float *a; unsigned b; void fn1() { for (int c; c; ++c) { b = c; a[c] = b; a[c] = ({ short(a[c]) << 8; }); } } $ g++-4.9 -c -O3 source.ii source.ii: In function 'void fn1()': source.ii:7:27: internal compiler error: in expand_fix, at optabs.c:5365 a[c] = ({ short(a[c]) << 8; }); ^ Please submit a full bug report, with preprocessed source if appropriate.