diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-11 17:47:01 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-11 17:47:01 +0800 |
| commit | f5ebe810b5197dbb268db890c5bfec016f447101 (patch) | |
| tree | 9a88ddf801678926e671bdebe779ddba4f6e6778 /backend/unittests/CodeGen/MachineValueTypesTest.cpp | |
| parent | 4fe5ee649927d54d6fb74904d7b97ad0f63fd587 (diff) | |
| download | rcc-project-f5ebe810b5197dbb268db890c5bfec016f447101.tar.gz rcc-project-f5ebe810b5197dbb268db890c5bfec016f447101.tar.xz | |
[MIR] Parse one-ordering compare-exchange MMOs
Diffstat (limited to 'backend/unittests/CodeGen/MachineValueTypesTest.cpp')
| -rw-r--r-- | backend/unittests/CodeGen/MachineValueTypesTest.cpp | 5 |
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"); |
