diff options
Diffstat (limited to 'include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h')
-rw-r--r-- | include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h b/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h index 84b9575..d4d4eb0 100644 --- a/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h +++ b/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h @@ -458,7 +458,8 @@ static __inline__ void at_store( intptr_t val) { __asm__( - "mov %1, %0" + "mov %1, %0;" + "mfence;" : "=m" (*dst) : "r" (val) : "memory"); @@ -470,7 +471,8 @@ static __inline__ void at_store_32( int32_t val) { __asm__( - "mov %1, %0" + "mov %1, %0;" + "mfence;" : "=m" (*dst) : "r" (val) : "memory"); @@ -482,7 +484,8 @@ static __inline__ void at_store_64( int64_t val) { __asm__( - "mov %1, %0" + "mov %1, %0;" + "mfence;" : "=m" (*dst) : "r" (val) : "memory"); |