diff options
Diffstat (limited to 'lib/Target/X86/X86ISelPattern.cpp')
-rw-r--r-- | lib/Target/X86/X86ISelPattern.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp index c5d5a26666..678e1829af 100644 --- a/lib/Target/X86/X86ISelPattern.cpp +++ b/lib/Target/X86/X86ISelPattern.cpp @@ -1229,7 +1229,8 @@ unsigned ISel::SelectExpr(SDOperand N) { cast<RegisterSDNode>(Node->getOperand(1))->getReg() : cast<RegisterSDNode>(Node)->getReg(); // Just use the specified register as our input if we can. - if (MRegisterInfo::isVirtualRegister(Reg)) + if (Node->getOpcode() == ISD::Register || + MRegisterInfo::isVirtualRegister(Reg)) return Reg; } |