diff options
author | Bodigrim <andrew.lelechenko@gmail.com> | 2023-04-01 20:08:38 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-04-02 19:00:09 -0400 |
commit | 43ebd5dcdb7ff65b6afccbdee22d2c27f9df6b1c (patch) | |
tree | 93caa8db000ee058592992c79951ca4bad7e6e01 /compiler | |
parent | f60f6110c1d08cb1885dce1984d5051de03dce8e (diff) | |
download | haskell-43ebd5dcdb7ff65b6afccbdee22d2c27f9df6b1c.tar.gz |
cmm: implement parsing of MO_AtomicRMW from hand-written CMM files
Fixes #23206
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/GHC/Cmm/Parser.y | 6 |
1 files changed, 6 insertions, 0 deletions
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 |