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