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, PowerPC] altivec_expand_vec_perm_const reverses pack pattern arguments in little endian mode


On Mon, Jul 22, 2013 at 7:05 PM, Bill Schmidt
<wschmidt@linux.vnet.ibm.com> wrote:
> 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
> order.
>
> 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.
>
> Thanks,
> Bill
>
>
> 2013-07-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
>             Anton Blanchard <anton@au1.ibm.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?

Thanks, David


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