diff options
| author | Andrew Trick <atrick@apple.com> | 2010-10-11 19:02:04 +0000 |
|---|---|---|
| committer | Andrew Trick <atrick@apple.com> | 2010-10-11 19:02:04 +0000 |
| commit | e01c9001c912e8fbda12df49428bae9b24631a69 (patch) | |
| tree | 6fa54ea49df2b72fdc931f0459cf32d820a63cfc /llvm/lib/Target/X86 | |
| parent | 5476a274c87b642c52aa611cd0cee3e7c3ef874b (diff) | |
| download | bcm5719-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.cpp | 4 |
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, |

