Fix a bug in my last X86 checkin, pointed out by cozmic

llvm-svn: 25293
diff --git a/llvm/lib/Target/X86/X86ISelPattern.cpp b/llvm/lib/Target/X86/X86ISelPattern.cpp
index c5d5a26..678e182 100644
--- a/llvm/lib/Target/X86/X86ISelPattern.cpp
+++ b/llvm/lib/Target/X86/X86ISelPattern.cpp
@@ -1229,7 +1229,8 @@
       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;
   }