mirror of
https://github.com/ziglang/zig.git
synced 2025-12-07 14:53:08 +00:00
Skip 128-bit cmpxchg test if CMPXCHG16B is not supported
This commit is contained in:
parent
d19e1709b3
commit
f91782c6d1
@ -75,6 +75,14 @@ test "cmpxchg with ptr" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test "128-bit cmpxchg" {
|
test "128-bit cmpxchg" {
|
||||||
|
try test_u128_cmpxchg();
|
||||||
|
comptime try test_u128_cmpxchg();
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test_u128_cmpxchg() !void {
|
||||||
|
if (std.Target.current.cpu.arch != .x86_64) return error.SkipZigTest;
|
||||||
|
if (comptime !std.Target.x86.featureSetHas(std.Target.current.cpu.features, .cx16)) return error.SkipZigTest;
|
||||||
|
|
||||||
var x: u128 = 1234;
|
var x: u128 = 1234;
|
||||||
if (@cmpxchgWeak(u128, &x, 99, 5678, .SeqCst, .SeqCst)) |x1| {
|
if (@cmpxchgWeak(u128, &x, 99, 5678, .SeqCst, .SeqCst)) |x1| {
|
||||||
try expect(x1 == 1234);
|
try expect(x1 == 1234);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user