diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index cb19bc2741f..b905d2794d2 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -26456,9 +26456,10 @@ static SDValue LowerATOMIC_STORE(SDValue Op, SelectionDAG &DAG, Ops, MVT::i64, Node->getMemOperand()); - // If this is a sequentially consistent store, also emit an mfence. + // If this is a sequentially consistent store, also emit an appropriate + // barrier. if (IsSeqCst) - Chain = DAG.getNode(X86ISD::MFENCE, dl, MVT::Other, Chain); + Chain = emitLockedStackOp(DAG, Subtarget, Chain, dl); return Chain; } |