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