]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR target/59844 (Powerpc64le cannot bootstrap with -O3/-mcpu=power8)
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Fri, 4 Apr 2014 14:32:32 +0000 (14:32 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Fri, 4 Apr 2014 14:32:32 +0000 (14:32 +0000)
[gcc]

2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

Back port from mainline
2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/59844
* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
endian support, remove tests for WORDS_BIG_ENDIAN.
(p8_mfvsrd_3_<mode>): Likewise.
(reload_gpr_from_vsx<mode>): Likewise.
(reload_gpr_from_vsxsf): Likewise.
(p8_mfvsrd_4_disf): Likewise.

[gcc/testsuite]

2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

Backport from mainline
2013-10-23  Pat Haugen  <pthaugen@us.ibm.com>

* gcc.target/powerpc/direct-move.h: Fix header for executable tests.

From-SVN: r209105

gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/direct-move.h

index c9468d41e1a2f0d73bb4e28268783ef64e41b469..41054886c64f7d41ef315e3eff7dc982cd0d44d4 100644 (file)
@@ -1,3 +1,16 @@
+2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       Back port from mainline
+       2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/59844
+       * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
+       endian support, remove tests for WORDS_BIG_ENDIAN.
+       (p8_mfvsrd_3_<mode>): Likewise.
+       (reload_gpr_from_vsx<mode>): Likewise.
+       (reload_gpr_from_vsxsf): Likewise.
+       (p8_mfvsrd_4_disf): Likewise.
+
 2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        Backport from mainline
index bf22d61a91839763f926e999377778a5907831c6..ea8776429caa3283e8ba4bfd8d250cecc1448a51 100644 (file)
        (unspec:SF [(match_operand:SF 1 "register_operand" "r")]
                   UNSPEC_P8V_RELOAD_FROM_GPR))
    (clobber (match_operand:DI 2 "register_operand" "=r"))]
-  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE && WORDS_BIG_ENDIAN"
+  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE"
   "#"
   "&& reload_completed"
   [(const_int 0)]
   [(set (match_operand:DF 0 "register_operand" "=r")
        (unspec:DF [(match_operand:FMOVE128_GPR 1 "register_operand" "wa")]
                   UNSPEC_P8V_RELOAD_FROM_VSX))]
-  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE && WORDS_BIG_ENDIAN"
+  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE"
   "mfvsrd %0,%x1"
   [(set_attr "type" "mftgpr")])
 
         [(match_operand:FMOVE128_GPR 1 "register_operand" "wa")]
         UNSPEC_P8V_RELOAD_FROM_VSX))
    (clobber (match_operand:FMOVE128_GPR 2 "register_operand" "=wa"))]
-  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE && WORDS_BIG_ENDIAN"
+  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE"
   "#"
   "&& reload_completed"
   [(const_int 0)]
        (unspec:SF [(match_operand:SF 1 "register_operand" "wa")]
                   UNSPEC_P8V_RELOAD_FROM_VSX))
    (clobber (match_operand:V4SF 2 "register_operand" "=wa"))]
-  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE && WORDS_BIG_ENDIAN"
+  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE"
   "#"
   "&& reload_completed"
   [(const_int 0)]
   [(set (match_operand:DI 0 "register_operand" "=r")
        (unspec:DI [(match_operand:V4SF 1 "register_operand" "wa")]
                   UNSPEC_P8V_RELOAD_FROM_VSX))]
-  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE && WORDS_BIG_ENDIAN"
+  "TARGET_POWERPC64 && TARGET_DIRECT_MOVE"
   "mfvsrd %0,%x1"
   [(set_attr "type" "mftgpr")])
 
index 4cbcfb231085e9de44e4311ddeec32f3d9386584..dd6aad7c97799bce46c0bbe9aafa64dcbf8e83be 100644 (file)
@@ -1,3 +1,10 @@
+2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2013-10-23  Pat Haugen  <pthaugen@us.ibm.com>
+
+       * gcc.target/powerpc/direct-move.h: Fix header for executable tests.
+
 2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        Backport from mainline
index af61c966f01a1240585c60ba70093df74a4948fa..6a5b7ba18061a6d87fd163bba2a4368c9055ff61 100644 (file)
@@ -1,5 +1,7 @@
 /* Test functions for direct move support.  */
 
+#include <math.h>
+extern void abort (void);
 
 #ifndef VSX_REG_ATTR
 #define VSX_REG_ATTR "wa"
@@ -111,7 +113,7 @@ const struct test_struct test_functions[] = {
 void __attribute__((__noinline__))
 test_value (TYPE a)
 {
-  size_t i;
+  long i;
 
   for (i = 0; i < sizeof (test_functions) / sizeof (test_functions[0]); i++)
     {
@@ -127,8 +129,7 @@ test_value (TYPE a)
 int
 main (void)
 {
-  size_t i;
-  long j;
+  long i,j;
   union {
     TYPE value;
     unsigned char bytes[sizeof (TYPE)];