This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch/sra] Fix pr 42833


On Thu, Jan 21, 2010 at 11:42 PM, Richard Henderson <rth@redhat.com> wrote:
> 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?

Looks good to me.

Thanks,
Richard.

>
> r~
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]