On Thu, Mar 26, 2015 at 10:00 AM, Bill Schmidt
<wschm...@linux.vnet.ibm.com> wrote:
> Hi,
>
> While working on a backport, I discovered a bug that only exists in the
> 4.8 branch (the buggy code was rewritten with the direct move additions
> in 4.9).  A load-and-extract of the first doubleword in memory can
> always be done with the lxsd[u]x instruction.  In 4.8 I wrongly added
> code to use this to load the second doubleword instead for
> little-endian.  This is wrong because the order of array elements in
> memory remains the same for both endiannesses (versus in registers where
> they differ).  Unfortunately the existing test case didn't exercise this
> properly, so the bug was missed.  This patch corrects the bug and
> expands the test case to cover this case.
>
> Tested on powerpc64le-unknown-linux-gnu with no regressions.  Ok for
> 4.8?
>
> Thanks,
> Bill
>
>
> [gcc]
>
> 2015-03-26  Bill Schmidt  <wschm...@linux.vnet.ibm.com>
>
>         * config/rs6000/vsx.md (*vsx_extract_<mode>_zero): Remove
>         endianness requirement.
>         (*vsx_extract_<mode>_one_le): Remove define_insn.
>
>
> [gcc/testsuite]
>
> 2015-03-26  Bill Schmidt  <wschm...@linux.vnet.ibm.com>
>
>         * gcc.dg/vmx/extract-vsx.c: Add more cases.

Okay.

Thanks, David

Reply via email to