This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, PowerPC] altivec_expand_vec_perm_const reverses pack pattern arguments in little endian mode
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, David Edelsohn <dje at gcc dot gnu dot org>
- Date: Mon, 22 Jul 2013 19:49:21 -0400
- Subject: Re: [PATCH, PowerPC] altivec_expand_vec_perm_const reverses pack pattern arguments in little endian mode
- References: <1374534309 dot 3633 dot 96 dot camel at gnopaine>
On Mon, Jul 22, 2013 at 7:05 PM, Bill Schmidt
> This patch is another fix for vector handling in little endian mode.
> The first two operands for a pack pattern are two vector registers that
> form a contiguous array of inputs. In LE mode the order of the operands
> must be reversed so that the array remains contiguous in the reverse
> This fixes a failure in the testsuite when run little-endian
> (gcc.dg/vect/no-scevccp-outer-18.c). Bootstrapped and tested big-endian
> on powerpc64-unknown-linux-gnu with no new regressions. Ok for trunk?
> Patch by Anton Blanchard.
> 2013-07-22 Bill Schmidt <firstname.lastname@example.org>
> Anton Blanchard <email@example.com>
> * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Reverse
> two operands for little-endian.
Wouldn't it be better to handle this where the code is performing a
swap a few lines above?