I am not sure that the example is valid GCC-extended C, but GCC definitely should not ICE with "gimplification failed". The example is:
typedef short __attribute__((vector_size (16))) v8hi; union vx {short f[8]; v8hi v;}; extern void bar1(v8hi); void foo5 (v8hi vec, short n) { ((union vx) vec).f[5] = n; bar1 (foo.v); } This is either ice-on-valid or ice-on-invalid, but something is broken. -- Summary: Gimplification failed for union cast Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dje at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: *-*-* GCC host triplet: *-*-* GCC target triplet: *-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23155