From 43ebd5dcdb7ff65b6afccbdee22d2c27f9df6b1c Mon Sep 17 00:00:00 2001 From: Bodigrim Date: Sat, 1 Apr 2023 20:08:38 +0100 Subject: cmm: implement parsing of MO_AtomicRMW from hand-written CMM files Fixes #23206 --- compiler/GHC/Cmm/Parser.y | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'compiler') diff --git a/compiler/GHC/Cmm/Parser.y b/compiler/GHC/Cmm/Parser.y index 6ba2d9df71..29870dc647 100644 --- a/compiler/GHC/Cmm/Parser.y +++ b/compiler/GHC/Cmm/Parser.y @@ -1137,6 +1137,12 @@ callishMachOps platform = listToUFM $ , allWidths "load_seqcst" (\w -> MO_AtomicRead w MemOrderSeqCst) , allWidths "store_release" (\w -> MO_AtomicWrite w MemOrderRelease) , allWidths "store_seqcst" (\w -> MO_AtomicWrite w MemOrderSeqCst) + , allWidths "fetch_add" (\w -> MO_AtomicRMW w AMO_Add) + , allWidths "fetch_sub" (\w -> MO_AtomicRMW w AMO_Sub) + , allWidths "fetch_and" (\w -> MO_AtomicRMW w AMO_And) + , allWidths "fetch_nand" (\w -> MO_AtomicRMW w AMO_Nand) + , allWidths "fetch_or" (\w -> MO_AtomicRMW w AMO_Or) + , allWidths "fetch_xor" (\w -> MO_AtomicRMW w AMO_Xor) ] where allWidths -- cgit v1.2.1