[INTRIN]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Fri, 19 Aug 2011 15:00:52 +0000 (15:00 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Fri, 19 Aug 2011 15:00:52 +0000 (15:00 +0000)
- Use fixed inlined version of __invlpg only on x86

svn path=/trunk/; revision=53314

reactos/include/crt/msc/intrin.h

index b02eefb..85e9b42 100644 (file)
@@ -308,6 +308,7 @@ void __writedr(unsigned reg, unsigned int value);
 void __invlpg(void * const Address);
 #pragma intrinsic(__invlpg)
 
+#ifdef _M_IX86
 // This intrinsic is broken and generates wrong opcodes,
 // when optimization is enabled!
 #pragma warning(push)
@@ -324,6 +325,7 @@ void  __forceinline __invlpg_fixed(void * const Address)
 }
 #pragma warning(pop)
 #define __invlpg __invlpg_fixed
+#endif
 
 /*** System operations ***/
 unsigned __int64 __readmsr(const int reg);