On Thu, 2014-01-23 at 19:42 -0500, David Edelsohn wrote: > On Thu, Jan 23, 2014 at 6:43 PM, Bill Schmidt > <wschm...@linux.vnet.ibm.com> wrote: > > Hi, > > > > While testing another patch, I hit a regression at -O2 for two of the > > vector shuffle tests. This patch fixes the problem. > > > > The problem was introduced with the little endian fixes for > > VEC_PERM_EXPR. The original change performed the necessary > > transformation at expand time, but this is incorrect. This creates a > > technically incorrect representation in the RTL, and RTL simplification > > can subsequently fold the expression in an unexpected way. The correct > > fix is to delay the transformation until final code generation. > > > > Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no > > regressions. Is this ok for trunk? I will also plan to backport this > > to ibm/gcc-4_8-branch after burn-in. > > > > Thanks, > > Bill > > > > > > 2014-01-23 Bill Schmidt <wschm...@linux.vnet.ibm.com> > > > > * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove > > correction for little endian... > > * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to > > here. > > Okay. Would you please move the comment also?
Oh, sure. Will do. Bill > > Thanks, David >