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