[llvm] [X86] Use plain load/store instead of cmpxchg16b for atomics with AVX (PR #74275)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 3 22:24:35 PST 2023


================
@@ -3831,17 +3831,14 @@ void DAGTypeLegalizer::ExpandIntRes_XROUND_XRINT(SDNode *N, SDValue &Lo,
 void DAGTypeLegalizer::ExpandIntRes_LOAD(LoadSDNode *N,
                                          SDValue &Lo, SDValue &Hi) {
   if (N->isAtomic()) {
-    // It's typical to have larger CAS than atomic load instructions.
----------------
arsenm wrote:

Seems like this requires a legality check? It's also unfortunate that we have to rely on an IR pre-pass to legalize atomics 

https://github.com/llvm/llvm-project/pull/74275


More information about the llvm-commits mailing list