summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86ISelLowering.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp5
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;
}
OpenPOWER on IntegriCloud