https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79731
Bug ID: 79731 Summary: ICE: verify_gimple failed Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gerhard.steinmetz.fort...@t-online.de Target Milestone: --- Affects version 7 at -Os, -O1 or higher. $ cat z1.c typedef unsigned V __attribute__ ((vector_size (8))); V foo (unsigned x, V v) { do { v %= x; x = 1; } while (v[1]); return v; } void fn2 () { V x = foo (5, (V) { 0, 1 }); if (x[0] || x[1] || x[2] || x[3]); } $ gcc-7-20170226 -O2 -c z1.c z1.c: In function 'fn2': z1.c:11:6: error: position plus size exceeds size of referenced object in BIT_FIELD_REF void fn2 () ^~~ BIT_FIELD_REF <x, 64, 64> z1.c:14:28: note: in statement if (x[0] || x[1] || x[2] || x[3]); ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ _4 = BIT_FIELD_REF <x, 64, 64>; z1.c:11:6: internal compiler error: verify_gimple failed void fn2 () ^~~ 0xc40f16 verify_gimple_in_cfg(function*, bool) ../../gcc/tree-cfg.c:5266 0xb1a203 execute_function_todo ../../gcc/passes.c:1966 0xb1ab35 execute_todo ../../gcc/passes.c:2016