|
4 | 4 | @inline UnsafeAtomics.modify!(ptr, op, x) = UnsafeAtomics.modify!(ptr, op, x, seq_cst)
|
5 | 5 | @inline UnsafeAtomics.fence() = UnsafeAtomics.fence(seq_cst)
|
6 | 6 |
|
| 7 | +@inline UnsafeAtomics.load(x, ord) = UnsafeAtomics.load(x, ord, none) |
| 8 | +@inline UnsafeAtomics.store!(x, v, ord) = UnsafeAtomics.store!(x, v, ord, none) |
| 9 | +@inline UnsafeAtomics.cas!(x, cmp, new, ord) = UnsafeAtomics.cas!(x, cmp, new, ord, ord, none) |
| 10 | +@inline UnsafeAtomics.modify!(ptr, op, x, ord) = UnsafeAtomics.modify!(ptr, op, x, ord, none) |
| 11 | +@inline UnsafeAtomics.fence(ord) = UnsafeAtomics.fence(ord., none) |
| 12 | + |
7 | 13 | #! format: off
|
8 | 14 | # https://github.com/JuliaLang/julia/blob/v1.6.3/base/atomics.jl#L23-L30
|
9 | 15 | if Sys.ARCH == :i686 || startswith(string(Sys.ARCH), "arm") ||
|
@@ -45,8 +51,9 @@ const OP_RMW_TABLE = [
|
45 | 51 | for (op, rmwop) in OP_RMW_TABLE
|
46 | 52 | fn = Symbol(rmwop, "!")
|
47 | 53 | @eval @inline UnsafeAtomics.$fn(x, v) = UnsafeAtomics.$fn(x, v, seq_cst)
|
48 |
| - @eval @inline UnsafeAtomics.$fn(ptr, x, ord) = |
49 |
| - first(UnsafeAtomics.modify!(ptr, $op, x, ord)) |
| 54 | + @eval @inline UnsafeAtomics.$fn(x, v, ord) = UnsafeAtomics.$fn(x, v, ord, none) |
| 55 | + @eval @inline UnsafeAtomics.$fn(ptr, x, ord, scope) = |
| 56 | + first(UnsafeAtomics.modify!(ptr, $op, x, ord, scope)) |
50 | 57 | end
|
51 | 58 |
|
52 | 59 | const ATOMIC_INTRINSICS = isdefined(Core.Intrinsics, :atomic_pointerref)
|
|
0 commit comments