]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR target/61662
authorgerald <gerald@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Jul 2014 22:01:41 +0000 (22:01 +0000)
committergerald <gerald@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Jul 2014 22:01:41 +0000 (22:01 +0000)
* config/i386/ia32intrin.h: Use __LP64__ to determine size of long.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212699 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/ia32intrin.h

index 6680787ba4189b626933b3b1c7ea11a58f914572..f3a404fe9e95940fcb5c3858132b6a1906efe4e0 100644 (file)
@@ -1,3 +1,8 @@
+2014-07-16  David Wohlferd <dw@LimeGreenSocks.com>
+
+       PR target/61662
+       * config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
+
 2014-07-16  Dodji Seketeli  <dodji@redhat.com>
 
        Support location tracking for built-in macro tokens
index 5e7c893fe850ea290c08df079d7a601411d39654..614b0fab203631b36bcbeca236f75b3cb309ae8e 100644 (file)
@@ -256,11 +256,7 @@ __writeeflags (unsigned long long X)
 
 #define _bswap64(a)            __bswapq(a)
 #define _popcnt64(a)           __popcntq(a)
-#define _lrotl(a,b)            __rolq((a), (b))
-#define _lrotr(a,b)            __rorq((a), (b))
 #else
-#define _lrotl(a,b)            __rold((a), (b))
-#define _lrotr(a,b)            __rord((a), (b))
 
 /* Read flags register */
 extern __inline unsigned int
@@ -280,6 +276,16 @@ __writeeflags (unsigned int X)
 
 #endif
 
+/* On LP64 systems, longs are 64-bit.  Use the appropriate rotate
+ * function.  */
+#ifdef __LP64__
+#define _lrotl(a,b)            __rolq((a), (b))
+#define _lrotr(a,b)            __rorq((a), (b))
+#else
+#define _lrotl(a,b)            __rold((a), (b))
+#define _lrotr(a,b)            __rord((a), (b))
+#endif
+
 #define _bit_scan_forward(a)   __bsfd(a)
 #define _bit_scan_reverse(a)   __bsrd(a)
 #define _bswap(a)              __bswapd(a)