[PATCH] D60546: [X86] Use MOVQ for i64 atomic_stores when SSE2 is enabled
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 24 12:17:23 PDT 2019
RKSimon accepted this revision.
RKSimon added a comment.
This revision is now accepted and ready to land.
LGTM
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.h:594
+ // extract_vector_elt, store.
+ VEXTRACT_STORE,
+
----------------
craig.topper wrote:
> 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]>;
> ```
OK - please can you raise a bug about whether SDTCisInt<1> can be relaxed?
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