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;