Author: tfaber
Date: Mon May 11 12:10:19 2015
New Revision: 67652
URL:
http://svn.reactos.org/svn/reactos?rev=67652&view=rev
Log:
[CRT]
- Fix some x64 GCC intrinsics
Modified:
trunk/reactos/include/crt/mingw32/intrin_x86.h
Modified: trunk/reactos/include/crt/mingw32/intrin_x86.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/crt/mingw32/intrin…
==============================================================================
--- trunk/reactos/include/crt/mingw32/intrin_x86.h [iso-8859-1] (original)
+++ trunk/reactos/include/crt/mingw32/intrin_x86.h [iso-8859-1] Mon May 11 12:10:19 2015
@@ -953,15 +953,19 @@
}
#ifdef __x86_64__
-__INTRIN_INLINE unsigned char _BitScanForward64(unsigned long * Index, unsigned long long
Mask);
-{
- __asm__("bsfq %[Mask], %[Index]" : [Index] "=r" (*Index) : [Mask]
"mr" (Mask));
+__INTRIN_INLINE unsigned char _BitScanForward64(unsigned long * Index, unsigned long long
Mask)
+{
+ unsigned long long Index64;
+ __asm__("bsfq %[Mask], %[Index]" : [Index] "=r" (Index64) : [Mask]
"mr" (Mask));
+ *Index = Index64;
return Mask ? 1 : 0;
}
-__INTRIN_INLINE unsigned char _BitScanReverse64(unsigned long * Index, unsigned long long
Mask);
-{
- __asm__("bsrq %[Mask], %[Index]" : [Index] "=r" (*Index) : [Mask]
"mr" (Mask));
+__INTRIN_INLINE unsigned char _BitScanReverse64(unsigned long * Index, unsigned long long
Mask)
+{
+ unsigned long long Index64;
+ __asm__("bsrq %[Mask], %[Index]" : [Index] "=r" (Index64) : [Mask]
"mr" (Mask));
+ *Index = Index64;
return Mask ? 1 : 0;
}
@@ -1016,7 +1020,7 @@
#ifdef __x86_64__
-__INTRIN_INLINE unsigned char _bittestandset64(long long * a, long long b);
+__INTRIN_INLINE unsigned char _bittestandset64(long long * a, long long b)
{
unsigned char retval;
@@ -1028,7 +1032,7 @@
return retval;
}
-__INTRIN_INLINE unsigned char _bittestandreset64(long long * a, long long b);
+__INTRIN_INLINE unsigned char _bittestandreset64(long long * a, long long b)
{
unsigned char retval;
@@ -1040,7 +1044,7 @@
return retval;
}
-__INTRIN_INLINE unsigned char _bittestandcomplement64(long long * a, long long b);
+__INTRIN_INLINE unsigned char _bittestandcomplement64(long long * a, long long b)
{
unsigned char retval;