On Fri, Jan 18, 2013 at 12:11:33PM +0100, Richard Biener wrote:
> On Thu, Jan 17, 2013 at 7:22 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> (I wonder if it's worth doing the work to eventually swap instead of simply
> forcing it to a reg always for overlaps)

It is just a couple of lines, and we might get better code (I think the
case where both overlaps is really even rarer).

> I suppose a similar testcase using vector extracts / inserts would also
> work now? (and maybe fail before this patch?)

Vectors are different, for vectors we always create the resulting vector
and then store the whole vector, don't set it partially.
At least for
typedef long V __attribute__((vector_size (16)));

V v;

void
foo (void)
{
  v = (V) { v[1], v[0] };
}

Dunno if you have some other testcase in mind.

        Jakub

Reply via email to