http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59054
--- Comment #5 from Michael Meissner <meissner at gcc dot gnu.org> --- Author: meissner Date: Fri Nov 22 19:20:46 2013 New Revision: 205280 URL: http://gcc.gnu.org/viewcvs?rev=205280&root=gcc&view=rev Log: [gcc] 2013-11-22 Michael Meissner <meiss...@linux.vnet.ibm.com> Backport from mainline 2013-11-12 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/59054 * config/rs6000/rs6000.md (movdi_internal32): Eliminate constraints that would allow DImode into the traditional Altivec registers, but cause undesirable code generation when loading 0 as a constant. (movdi_internal64): Likewise. (cmp<mode>_fpr): Do not use %x for CR register output. (extendsfdf2_fpr): Fix constraints when -mallow-upper-df and -mallow-upper-sf debug switches are used. [gcc/testsuite] 2013-11-22 Michael Meissner <meiss...@linux.vnet.ibm.com> Backport from mainline 2013-11-22 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/59054 * gcc.target/powerpc/direct-move.h (VSX_REG_ATTR): Allow test to specify an appropriate register class for VSX operations. (load_vsx): Use it. (load_gpr_to_vsx): Likewise. (load_vsx_to_gpr): Likewise. * gcc.target/powerpc/direct-move-vint1.c: Use an appropriate register class for VSX registers that the type can handle. Remove checks for explicit number of instructions generated, just check if the instruction is generated. * gcc.target/powerpc/direct-move-vint2.c: Likewise. * gcc.target/powerpc/direct-move-float1.c: Likewise. * gcc.target/powerpc/direct-move-float2.c: Likewise. * gcc.target/powerpc/direct-move-double1.c: Likewise. * gcc.target/powerpc/direct-move-double2.c: Likewise. * gcc.target/powerpc/direct-move-long1.c: Likewise. * gcc.target/powerpc/direct-move-long2.c: Likewise. * gcc.target/powerpc/bool3-av.c: Limit to 64-bit mode for now. * gcc.target/powerpc/bool3-p7.c: Likewise. * gcc.target/powerpc/bool3-p8.c: Likewise. * gcc.target/powerpc/p8vector-ldst.c: Just check that the appropriate instructions are generated, don't check the count. 2013-11-12 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/59054 * gcc.target/powerpc/pr59054.c: New test. Added: branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/pr59054.c Modified: branches/ibm/gcc-4_8-branch/gcc/ChangeLog.ibm branches/ibm/gcc-4_8-branch/gcc/config/rs6000/rs6000.md branches/ibm/gcc-4_8-branch/gcc/testsuite/ChangeLog.ibm branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/bool3-av.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/bool3-p7.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/bool3-p8.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-double1.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-double2.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-float1.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-float2.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-long1.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-long2.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-vint1.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-vint2.c branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move.h branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/p8vector-ldst.c