summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2010-10-11 19:02:04 +0000
committerAndrew Trick <atrick@apple.com>2010-10-11 19:02:04 +0000
commite01c9001c912e8fbda12df49428bae9b24631a69 (patch)
tree6fa54ea49df2b72fdc931f0459cf32d820a63cfc /llvm/lib/Target/X86
parent5476a274c87b642c52aa611cd0cee3e7c3ef874b (diff)
downloadbcm5719-llvm-e01c9001c912e8fbda12df49428bae9b24631a69.tar.gz
bcm5719-llvm-e01c9001c912e8fbda12df49428bae9b24631a69.zip
Fixes bug 8297: i386 cmpxchg8b, missing MachineMemOperand
llvm-svn: 116214
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index adf6fff3a61..1ab2f2b6c7b 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -8697,7 +8697,9 @@ void X86TargetLowering::ReplaceNodeResults(SDNode *N,
N->getOperand(1),
swapInH.getValue(1) };
SDVTList Tys = DAG.getVTList(MVT::Other, MVT::Flag);
- SDValue Result = DAG.getNode(X86ISD::LCMPXCHG8_DAG, dl, Tys, Ops, 3);
+ MachineMemOperand *MMO = cast<AtomicSDNode>(N)->getMemOperand();
+ SDValue Result = DAG.getMemIntrinsicNode(X86ISD::LCMPXCHG8_DAG, dl, Tys,
+ Ops, 3, T, MMO);
SDValue cpOutL = DAG.getCopyFromReg(Result.getValue(0), dl, X86::EAX,
MVT::i32, Result.getValue(1));
SDValue cpOutH = DAG.getCopyFromReg(cpOutL.getValue(1), dl, X86::EDX,
OpenPOWER on IntegriCloud