From b936e3006f04f60aca4c4de4a3604ec141ab0a45 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Wed, 18 May 2011 18:59:17 +0000 Subject: [PATCH] Revise r131553. Just use the type of the input node and forgo the bitcast. rdar://9449159. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131555 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMISelLowering.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp index ef399b65fbf..94f220baf0f 100644 --- a/lib/Target/ARM/ARMISelLowering.cpp +++ b/lib/Target/ARM/ARMISelLowering.cpp @@ -2693,13 +2693,12 @@ SDValue ARMTargetLowering::LowerSELECT(SDValue Op, SelectionDAG &DAG) const { } if (True.getNode() && False.getNode()) { - EVT VT = Cond.getValueType(); + EVT VT = Op.getValueType(); SDValue ARMcc = Cond.getOperand(2); SDValue CCR = Cond.getOperand(3); SDValue Cmp = duplicateCmp(Cond.getOperand(4), DAG); - return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), - DAG.getNode(ARMISD::CMOV, dl, VT, True, False, - ARMcc, CCR, Cmp)); + assert(True.getValueType() == VT); + return DAG.getNode(ARMISD::CMOV, dl, VT, True, False, ARMcc, CCR, Cmp); } } } -- 2.11.0