aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-12 05:22:07 +0000
committerChris Lattner <sabre@nondot.org>2005-01-12 05:22:07 +0000
commit48034fd9f10490daca2fdd4e3801e13c26849ca7 (patch)
treee73a58158361547e1a45b8b7226352182048f603
parenta23ccfb124196cd13232ba7015192598ad894645 (diff)
Do not use the type of the RHS constant to determine the type of the operation.
This fails for shifts because the constant is always 8 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19508 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/X86ISelPattern.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp
index 35796e9e60..a796045c5b 100644
--- a/lib/Target/X86/X86ISelPattern.cpp
+++ b/lib/Target/X86/X86ISelPattern.cpp
@@ -2271,7 +2271,7 @@ void ISel::Select(SDOperand N) {
SDOperand Op0 = Op.getOperand(0);
SDOperand Op1 = Op.getOperand(1);
if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Op1)) {
- switch (CN->getValueType(0)) {
+ switch (Op0.getValueType()) { // Use Op0's type because of shifts.
default: break;
case MVT::i1:
case MVT::i8: Opc = TabPtr[0]; break;