| ... | ... | @@ -8,6 +8,7 @@ test "cmpxchg" { |
| 8 | 8 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 9 | 9 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 10 | 10 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 11 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 11 | 12 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 12 | 13 | |
| 13 | 14 | try testCmpxchg(); |
| ... | ... | @@ -48,6 +49,7 @@ test "atomicrmw and atomicload" { |
| 48 | 49 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 49 | 50 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 50 | 51 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 52 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 51 | 53 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 52 | 54 | |
| 53 | 55 | var data: u8 = 200; |
| ... | ... | @@ -77,6 +79,7 @@ test "cmpxchg with ptr" { |
| 77 | 79 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 78 | 80 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 79 | 81 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 82 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 80 | 83 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 81 | 84 | |
| 82 | 85 | var data1: i32 = 1234; |
| ... | ... | @@ -103,6 +106,7 @@ test "cmpxchg with ignored result" { |
| 103 | 106 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 104 | 107 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 105 | 108 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 109 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 106 | 110 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 107 | 111 | |
| 108 | 112 | var x: i32 = 1234; |
| ... | ... | @@ -117,6 +121,7 @@ test "128-bit cmpxchg" { |
| 117 | 121 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 118 | 122 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 119 | 123 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 124 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 120 | 125 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 121 | 126 | |
| 122 | 127 | if (builtin.cpu.arch != .x86_64) return error.SkipZigTest; |
| ... | ... | @@ -150,6 +155,7 @@ test "cmpxchg on a global variable" { |
| 150 | 155 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 151 | 156 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 152 | 157 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 158 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 153 | 159 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 154 | 160 | |
| 155 | 161 | if ((builtin.zig_backend == .stage1 or builtin.zig_backend == .stage2_llvm) and |
| ... | ... | @@ -168,6 +174,7 @@ test "atomic load and rmw with enum" { |
| 168 | 174 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 169 | 175 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 170 | 176 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 177 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 171 | 178 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 172 | 179 | |
| 173 | 180 | const Value = enum(u8) { a, b, c }; |
| ... | ... | @@ -186,6 +193,7 @@ test "atomic store" { |
| 186 | 193 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 187 | 194 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 188 | 195 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 196 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 189 | 197 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 190 | 198 | |
| 191 | 199 | var x: u32 = 0; |
| ... | ... | @@ -200,6 +208,7 @@ test "atomic store comptime" { |
| 200 | 208 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 201 | 209 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 202 | 210 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 211 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 203 | 212 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 204 | 213 | |
| 205 | 214 | comptime try testAtomicStore(); |
| ... | ... | @@ -219,6 +228,7 @@ test "atomicrmw with floats" { |
| 219 | 228 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 220 | 229 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 221 | 230 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 231 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 222 | 232 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 223 | 233 | |
| 224 | 234 | if ((builtin.zig_backend == .stage1 or builtin.zig_backend == .stage2_llvm) and |
| ... | ... | @@ -247,6 +257,7 @@ test "atomicrmw with ints" { |
| 247 | 257 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 248 | 258 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 249 | 259 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 260 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 250 | 261 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 251 | 262 | |
| 252 | 263 | try testAtomicRmwInt(); |
| ... | ... | @@ -281,6 +292,7 @@ test "atomics with different types" { |
| 281 | 292 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 282 | 293 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 283 | 294 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 295 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 284 | 296 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 285 | 297 | |
| 286 | 298 | try testAtomicsWithType(bool, true, false); |
| ... | ... | @@ -311,6 +323,7 @@ test "return @atomicStore, using it as a void value" { |
| 311 | 323 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 312 | 324 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 313 | 325 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 326 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 314 | 327 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 315 | 328 | |
| 316 | 329 | const S = struct { |