The reduced test case compiles down to xor %eax,%eax ret
which comes from an invalid transformation in .030t.esra conv_u.v = vdest; res_115 = conv_u.i; -> D.2888_153 = VIEW_CONVERT_EXPR<uint32_t>(vdest); vdest.v1 = vdest$v1_154; vdest.v2 = vdest$v2_152; vdest.v3 = vdest$v3_151; vdest.v4 = vdest$v4_150; conv_u$i_171 = D.2888_153; Note in particular that the components of vdest are stored after we've done the view_convert. -- Summary: SRA miscompiles qemu Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org GCC target triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42833