[patch/sra] Fix pr 42833

Richard Henderson rth@redhat.com
Fri Jan 22 00:35:00 GMT 2010


The problem displayed in this test case is that we get confused as to 
where to insert the new code we generate.  We end up with

   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;

instead of the correct

   vdest.v1 = vdest$v1_154;
   vdest.v2 = vdest$v2_152;
   vdest.v3 = vdest$v3_151;
   vdest.v4 = vdest$v4_150;
   D.2888_153 = VIEW_CONVERT_EXPR<uint32_t>(vdest);
   conv_u$i_171 = D.2888_153;

A workable solution appears to be simply to delay re-gimplification of 
the original instruction until after the components have been placed.

Ok?


r~
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: d-42833
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100122/44c7247a/attachment.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr42833.c
Type: text/x-csrc
Size: 3081 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100122/44c7247a/attachment.bin>


More information about the Gcc-patches mailing list