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

Reply via email to