From: Chris Lattner Date: Wed, 12 Jan 2005 05:22:07 +0000 (+0000) Subject: Do not use the type of the RHS constant to determine the type of the operation. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=48034fd9f10490daca2fdd4e3801e13c26849ca7;p=oota-llvm.git 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 --- diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp index 35796e9e60f..a796045c5b5 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(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;