aboutsummaryrefslogtreecommitdiff
path: root/backend/unittests/CodeGen
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-11 17:47:01 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-11 17:47:01 +0800
commitf5ebe810b5197dbb268db890c5bfec016f447101 (patch)
tree9a88ddf801678926e671bdebe779ddba4f6e6778 /backend/unittests/CodeGen
parent4fe5ee649927d54d6fb74904d7b97ad0f63fd587 (diff)
downloadrcc-project-f5ebe810b5197dbb268db890c5bfec016f447101.tar.gz
rcc-project-f5ebe810b5197dbb268db890c5bfec016f447101.tar.xz
[MIR] Parse one-ordering compare-exchange MMOs
Diffstat (limited to 'backend/unittests/CodeGen')
-rw-r--r--backend/unittests/CodeGen/MachineValueTypesTest.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/backend/unittests/CodeGen/MachineValueTypesTest.cpp b/backend/unittests/CodeGen/MachineValueTypesTest.cpp
index 50482ba..64d4465 100644
--- a/backend/unittests/CodeGen/MachineValueTypesTest.cpp
+++ b/backend/unittests/CodeGen/MachineValueTypesTest.cpp
@@ -174,6 +174,11 @@ void testMachineMemOperand(TestContext &Context) {
Context.expect(rcc::MachineMemOperand::create(CompareExchange).has_value(),
"compatible compare-exchange orderings must be accepted");
+ CompareExchange.FailureOrdering = rcc::AtomicOrdering::NotAtomic;
+ Context.expect(rcc::MachineMemOperand::create(CompareExchange).has_value(),
+ "LLVM MIR compare-exchange MMO without failure ordering must be accepted");
+
+ CompareExchange.FailureOrdering = rcc::AtomicOrdering::Acquire;
CompareExchange.SuccessOrdering = rcc::AtomicOrdering::Release;
Context.expect(!rcc::MachineMemOperand::create(CompareExchange),
"failure ordering stronger than success must be rejected");