From f5ebe810b5197dbb268db890c5bfec016f447101 Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Tue, 11 Aug 2026 17:47:01 +0800 Subject: [MIR] Parse one-ordering compare-exchange MMOs --- backend/unittests/CodeGen/MachineValueTypesTest.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'backend/unittests/CodeGen') 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"); -- cgit v1.2.3