This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch/sra] Fix pr 42833
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: mjambor at suse dot cz, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 22 Jan 2010 12:15:27 +0100
- Subject: Re: [patch/sra] Fix pr 42833
- References: <4B58D871.8040100@redhat.com>
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~
>