The world's most popular open source database
Go to the source code of this file.
Defines | |
| #define | _atomic_h_cleanup_ "atomic/x86-msvc.h" |
| #define | MY_ATOMIC_MODE "msvc-x86" LOCK |
| #define | make_atomic_add_body(S) |
| #define | make_atomic_cas_body(S) |
| #define | make_atomic_swap_body(S) |
| #define | make_atomic_load_body(S) |
| #define | make_atomic_store_body(S) |
| #define | reg_8 al |
| #define | reg_16 ax |
| #define | reg_32 eax |
| #define | areg_8 al |
| #define | areg_16 ax |
| #define | areg_32 eax |
| #define | reg2_8 bl |
| #define | reg2_16 bx |
| #define | reg2_32 ebx |
| #define _atomic_h_cleanup_ "atomic/x86-msvc.h" |
Definition at line 27 of file x86-msvc.h.
| #define areg_16 ax |
Definition at line 79 of file x86-msvc.h.
| #define areg_32 eax |
Definition at line 80 of file x86-msvc.h.
| #define areg_8 al |
Definition at line 78 of file x86-msvc.h.
| #define make_atomic_add_body | ( | S | ) |
Value:
_asm { \
_asm mov reg_ ## S, v \
_asm LOCK xadd *a, reg_ ## S \
_asm movzx v, reg_ ## S \
}
Definition at line 31 of file x86-msvc.h.
| #define make_atomic_cas_body | ( | S | ) |
Value:
_asm { \
_asm mov areg_ ## S, *cmp \
_asm mov reg2_ ## S, set \
_asm LOCK cmpxchg *a, reg2_ ## S \
_asm mov *cmp, areg_ ## S \
_asm setz al \
_asm movzx ret, al \
}
Definition at line 37 of file x86-msvc.h.
| #define make_atomic_load_body | ( | S | ) |
Value:
_asm { \
_asm mov areg_ ## S, 0 \
_asm mov reg2_ ## S, areg_ ## S \
_asm LOCK cmpxchg *a, reg2_ ## S \
_asm mov ret, areg_ ## S \
}
Definition at line 61 of file x86-msvc.h.
| #define make_atomic_store_body | ( | S | ) |
Value:
_asm { \
_asm mov reg_ ## S, v \
_asm xchg *a, reg_ ## S \
}
Definition at line 68 of file x86-msvc.h.
| #define make_atomic_swap_body | ( | S | ) |
Value:
_asm { \
_asm mov reg_ ## S, v \
_asm xchg *a, reg_ ## S \
_asm mov v, reg_ ## S \
}
Definition at line 46 of file x86-msvc.h.
| #define MY_ATOMIC_MODE "msvc-x86" LOCK |
Definition at line 29 of file x86-msvc.h.
| #define reg2_16 bx |
Definition at line 82 of file x86-msvc.h.
| #define reg2_32 ebx |
Definition at line 83 of file x86-msvc.h.
| #define reg2_8 bl |
Definition at line 81 of file x86-msvc.h.
| #define reg_16 ax |
Definition at line 76 of file x86-msvc.h.
| #define reg_32 eax |
Definition at line 77 of file x86-msvc.h.
| #define reg_8 al |
Definition at line 75 of file x86-msvc.h.
1.4.7

