[PATCH] D60546: [X86] Use MOVQ for i64 atomic_stores when SSE2 is enabled

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 11 11:25:18 PDT 2019


craig.topper marked an inline comment as done.
craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.h:594
+      // extract_vector_elt, store.
+      VEXTRACT_STORE,
+
----------------
RKSimon wrote:
> If we used MOVSD (f64 store) could we avoid needing this NodeType?
if we don't use a dedicated X86ISD opcode, then we have to use ISD::ATOMIC_STORE. TargetSelectinoDAG has this type constraint which says that the store value type is integer. Perhaps we can relax that, but I don't know if there is some code assuming this.

```
def SDTAtomicStore : SDTypeProfile<0, 2, [
  SDTCisPtrTy<0>, SDTCisInt<1>
]>;
def atomic_store     : SDNode<"ISD::ATOMIC_STORE", SDTAtomicStore,
                    [SDNPHasChain, SDNPMayStore, SDNPMemOperand]>;
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60546/new/

https://reviews.llvm.org/D60546





More information about the llvm-commits mailing list