6 #ifndef EASTL_ATOMIC_INTERNAL_COMPILER_XOR_FETCH_H
7 #define EASTL_ATOMIC_INTERNAL_COMPILER_XOR_FETCH_H
9 #if defined(EA_PRAGMA_ONCE_SUPPORTED)
18 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_8)
19 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_8_AVAILABLE 1
21 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_8_AVAILABLE 0
24 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_8)
25 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_8_AVAILABLE 1
27 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_8_AVAILABLE 0
30 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_8)
31 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_8_AVAILABLE 1
33 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_8_AVAILABLE 0
36 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_8)
37 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_8_AVAILABLE 1
39 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_8_AVAILABLE 0
42 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_8)
43 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_8_AVAILABLE 1
45 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_8_AVAILABLE 0
49 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_16)
50 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_16_AVAILABLE 1
52 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_16_AVAILABLE 0
55 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_16)
56 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_16_AVAILABLE 1
58 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_16_AVAILABLE 0
61 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_16)
62 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_16_AVAILABLE 1
64 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_16_AVAILABLE 0
67 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_16)
68 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_16_AVAILABLE 1
70 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_16_AVAILABLE 0
73 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_16)
74 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_16_AVAILABLE 1
76 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_16_AVAILABLE 0
80 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_32)
81 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_32_AVAILABLE 1
83 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_32_AVAILABLE 0
86 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_32)
87 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_32_AVAILABLE 1
89 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_32_AVAILABLE 0
92 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_32)
93 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_32_AVAILABLE 1
95 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_32_AVAILABLE 0
98 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_32)
99 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_32_AVAILABLE 1
101 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_32_AVAILABLE 0
104 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_32)
105 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_32_AVAILABLE 1
107 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_32_AVAILABLE 0
111 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_64)
112 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_64_AVAILABLE 1
114 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_64_AVAILABLE 0
117 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_64)
118 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_64_AVAILABLE 1
120 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_64_AVAILABLE 0
123 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_64)
124 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_64_AVAILABLE 1
126 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_64_AVAILABLE 0
129 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_64)
130 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_64_AVAILABLE 1
132 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_64_AVAILABLE 0
135 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_64)
136 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_64_AVAILABLE 1
138 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_64_AVAILABLE 0
142 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_128)
143 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_128_AVAILABLE 1
145 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELAXED_128_AVAILABLE 0
148 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_128)
149 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_128_AVAILABLE 1
151 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQUIRE_128_AVAILABLE 0
154 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_128)
155 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_128_AVAILABLE 1
157 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_RELEASE_128_AVAILABLE 0
160 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_128)
161 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_128_AVAILABLE 1
163 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_ACQ_REL_128_AVAILABLE 0
166 #if defined(EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_128)
167 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_128_AVAILABLE 1
169 #define EASTL_COMPILER_ATOMIC_XOR_FETCH_SEQ_CST_128_AVAILABLE 0