aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Bendersky <eliben@chromium.org>2013-07-16 15:17:03 -0700
committerEli Bendersky <eliben@chromium.org>2013-07-16 15:17:03 -0700
commit63fd1346bd726d2561c5272dfd8c4baa7ab52afb (patch)
tree1abf739dbaa38219c340e2bfee2c03716af06f28
parentaf56c404f86351c203c5c14181c42553dc2215e3 (diff)
More tests pass
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index a4bbaab155..e845e4205c 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -1709,7 +1709,9 @@ X86TargetLowering::LowerReturn(SDValue Chain,
"SRetReturnReg should have been set in LowerFormalArguments().");
SDValue Val = DAG.getCopyFromReg(Chain, dl, Reg, getPointerTy());
- unsigned RetValReg = Subtarget->isTarget64BitILP32() ? X86::EAX : X86::RAX;
+ unsigned RetValReg
+ = (Subtarget->is64Bit() && !Subtarget->isTarget64BitILP32()) ?
+ X86::RAX : X86::EAX;
// @LOCALMOD-BEGIN
if (Subtarget->isTargetNaCl()) {
// NaCl 64 uses 32-bit pointers, so there might be some zero-ext needed.