]> sourceware.org Git - glibc.git/commitdiff
PowerPC: Fix little endian enconding for mfvsrd
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Mon, 31 Mar 2014 13:00:38 +0000 (08:00 -0500)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Mon, 31 Mar 2014 13:00:38 +0000 (08:00 -0500)
This patch fixes the MFVSRD_R3_V1 macro that encodes 'mfvsrd  r3,vs1'
(to support old binutils) for little endian.

ChangeLog
sysdeps/powerpc/powerpc64/power8/fpu/s_finite.S
sysdeps/powerpc/powerpc64/power8/fpu/s_isinf.S
sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S
sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S
sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S

index ee4ede675ac9f30aeda61917312114242f174c9e..5e6c21c91442cc74f0caba5b7681c5f72a5b9dc6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2014-03-31  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_finite.S (MFVSRD_R3_V1):
+       Encode instruction correctly in little endian.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isinf.S (MFVSRD_R3_V1):
+       Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S (MFVSRD_R3_V1):
+       Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S (MFVSRD_R3_V1):
+       Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S (MFVSRD_R3_V1):
+       Likewise.
+
 2014-03-31  Joseph Myers  <joseph@codesourcery.com>
 
        [BZ #9894]
index 8e5de271c60428f2ef57d9a8d8857f790283baf0..2b27e7b9232eafb6b7e3525eba36cef26b2d24c2 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <endian.h>
 #include <math_ldbl_opt.h>
 
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define MFVSRD_R3_V1  .byte 0x66,0x00,0x23,0x7c     /* mfvsrd  r3,vs1  */
+#else
 #define MFVSRD_R3_V1  .byte 0x7c,0x23,0x00,0x66     /* mfvsrd  r3,vs1  */
+#endif
 
 /* int [r3] __finite ([fp1] x)  */
 
index 0e92af8d9f869f8223454c852d133a8f1d27ceb0..d09b7fcef98b99c205fbdac4629102f320c90783 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <endian.h>
 #include <math_ldbl_opt.h>
 
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define MFVSRD_R3_V1  .byte 0x66,0x00,0x23,0x7c     /* mfvsrd  r3,vs1  */
+#else
 #define MFVSRD_R3_V1  .byte 0x7c,0x23,0x00,0x66     /* mfvsrd  r3,vs1  */
+#endif
 
 /* int [r3] __isinf([fp1] x)  */
 
index c1ca9a5b89c531a885164ad03653639db6829124..b03c896acf459fe418881ae432180c166fc62026 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <endian.h>
 #include <math_ldbl_opt.h>
 
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define MFVSRD_R3_V1  .byte 0x66,0x00,0x23,0x7c     /* mfvsrd  r3,vs1  */
+#else
 #define MFVSRD_R3_V1  .byte 0x7c,0x23,0x00,0x66     /* mfvsrd  r3,vs1  */
+#endif
 
 /* int [r3] __isnan([f1] x)  */
 
index 476d76bf7b86a23f0dc923ccd8a00aa9e2df7839..9a55d9387525051cbfe5e8711f8e457c776fb64c 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <endian.h>
 #include <math_ldbl_opt.h>
 
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define MFVSRD_R3_V1  .byte 0x66,0x00,0x23,0x7c     /* mfvsrd  r3,vs1  */
+#else
 #define MFVSRD_R3_V1  .byte 0x7c,0x23,0x00,0x66     /* mfvsrd  r3,vs1  */
+#endif
 
 /* long long int[r3] __llrint (double x[fp1])  */
 ENTRY (__llrint)
index b00d4d616fa750fe026cdb18ce0e2157f7f98da3..f10c06a36c554c60c244e8bf428e2927b290ba39 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <endian.h>
 #include <math_ldbl_opt.h>
 
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define MFVSRD_R3_V1  .byte 0x66,0x00,0x23,0x7c     /* mfvsrd  r3,vs1  */
+#else
 #define MFVSRD_R3_V1  .byte 0x7c,0x23,0x00,0x66     /* mfvsrd  r3,vs1  */
+#endif
 
 /* long long [r3] llround (float x [fp1])  */
 
This page took 0.116732 seconds and 5 git commands to generate.