aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2024-05-20 14:29:06 +0100
committerGitHub <noreply@github.com>2024-05-20 14:29:06 +0100
commitc49a291347f4be332532551d19029c52cb348ef0 (patch)
tree1c5679bf1810ce61b3a425c6944feba79a9a74b0
parent46b3e7b6fa9477b7feb4389a353f92c7cc4c3d20 (diff)
parentf6ef3950572274da65e11c131af28f4f539a2303 (diff)
Merge pull request #3607 from Szwagi/fix-atomic-memory-order
Fix Odin to LLVM memory order mapping for .Relaxed and .Consume
-rw-r--r--src/llvm_backend_utility.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/llvm_backend_utility.cpp b/src/llvm_backend_utility.cpp
index 5ebe0ddd9..f7674a8bc 100644
--- a/src/llvm_backend_utility.cpp
+++ b/src/llvm_backend_utility.cpp
@@ -2223,8 +2223,8 @@ gb_internal LLVMAtomicOrdering llvm_atomic_ordering_from_odin(ExactValue const &
GB_ASSERT(value.kind == ExactValue_Integer);
i64 v = exact_value_to_i64(value);
switch (v) {
- case OdinAtomicMemoryOrder_relaxed: return LLVMAtomicOrderingUnordered;
- case OdinAtomicMemoryOrder_consume: return LLVMAtomicOrderingMonotonic;
+ case OdinAtomicMemoryOrder_relaxed: return LLVMAtomicOrderingMonotonic;
+ case OdinAtomicMemoryOrder_consume: return LLVMAtomicOrderingAcquire;
case OdinAtomicMemoryOrder_acquire: return LLVMAtomicOrderingAcquire;
case OdinAtomicMemoryOrder_release: return LLVMAtomicOrderingRelease;
case OdinAtomicMemoryOrder_acq_rel: return LLVMAtomicOrderingAcquireRelease;