Commit 6ed6e4e1 by David Wohlferd Committed by Gerald Pfeifer

re PR target/61662 (Incorrect value calculated for _lrotl on LLP64 systems)

	PR target/61662
	* config/i386/ia32intrin.h: Use __LP64__ to determine size of long.

From-SVN: r212699
parent 2fca42b0
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
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment