On Thu, Oct 31, 2013 at 9:45 PM, Bill Schmidt
<wschm...@linux.vnet.ibm.com> wrote:
> Hi,
>
> Brooks Moses reported a bug with code that sets a single element of a
> vector to a given value and the rest of the vector to zero.  This is
> implemented in rs6000_expand_vector_set, which uses a vperm instruction
> to place the nonzero value.  As usual, we need to adjust the permute
> control vector and swap the order of the input operands.  I added a test
> case based on the bug report.
>
> Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no
> regressions.  The new test now passes for both endiannesses.  Is this ok
> for trunk?
>
> Thanks,
> Bill
>
>
> gcc:
>
> 2013-10-31  Bill Schmidt  <wschm...@vnet.linux.ibm.com>
>
>         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Adjust for
>         little endian.

This is okay.

> +  if (!BYTES_BIG_ENDIAN)

But negating the expression and reversing the branches seems superfluous.

Thanks, David

Reply via email to