Changeset 21236 in vbox for trunk/include
- Timestamp:
- Jul 6, 2009 7:43:08 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/asm.h
r21235 r21236 102 102 # pragma intrinsic(_InterlockedCompareExchange64) 103 103 # ifdef RT_ARCH_AMD64 104 # pragma intrinsic(_mm_mfence) 105 # pragma intrinsic(_mm_sfence) 106 # pragma intrinsic(_mm_lfence) 104 107 # pragma intrinsic(__stosq) 105 108 # pragma intrinsic(__readcr8) … … 1341 1344 push eax /* just in case */ 1342 1345 /*mov eax, cr4*/ 1343 _emit 0x0f1344 _emit 0x201345 _emit 0xe01346 _emit 0x0f 1347 _emit 0x20 1348 _emit 0xe0 1346 1349 mov [uCR4], eax 1347 1350 pop eax … … 3904 3907 #if RT_INLINE_ASM_GNU_STYLE 3905 3908 __asm__ __volatile__ (".byte 0x0f,0xae,0xf0\n\t"); 3906 #else 3907 __asm 3908 { 3909 _emit 0x0f 3910 _emit 0xae 3911 _emit 0xf0 3909 #elif RT_INLINE_ASM_USES_INTRIN 3910 _mm_mfence(); 3911 #else 3912 __asm 3913 { 3914 _emit 0x0f 3915 _emit 0xae 3916 _emit 0xf0 3912 3917 } 3913 3918 #endif … … 3923 3928 #if RT_INLINE_ASM_GNU_STYLE 3924 3929 __asm__ __volatile__ (".byte 0x0f,0xae,0xf8\n\t"); 3925 #else 3926 __asm 3927 { 3928 _emit 0x0f 3929 _emit 0xae 3930 _emit 0xf8 3930 #elif RT_INLINE_ASM_USES_INTRIN 3931 _mm_sfence(); 3932 #else 3933 __asm 3934 { 3935 _emit 0x0f 3936 _emit 0xae 3937 _emit 0xf8 3931 3938 } 3932 3939 #endif … … 3942 3949 #if RT_INLINE_ASM_GNU_STYLE 3943 3950 __asm__ __volatile__ (".byte 0x0f,0xae,0xe8\n\t"); 3944 #else 3945 __asm 3946 { 3947 _emit 0x0f 3948 _emit 0xae 3949 _emit 0xe8 3951 #elif RT_INLINE_ASM_USES_INTRIN 3952 _mm_lfence(); 3953 #else 3954 __asm 3955 { 3956 _emit 0x0f 3957 _emit 0xae 3958 _emit 0xe8 3950 3959 } 3951 3960 #endif
Note:
See TracChangeset
for help on using the changeset viewer.