summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-05-18 18:47:27 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-05-18 18:47:27 +0000
commit80632c91b024c0377d40075063d3018e2812aefa (patch)
tree34221e4c954dd437d33208386ee0db24ef0aaa1d /llvm/lib
parent2c2ea226b797fb52cd60f887c8c5d4c43e784ba5 (diff)
downloadbcm5719-llvm-80632c91b024c0377d40075063d3018e2812aefa.tar.gz
bcm5719-llvm-80632c91b024c0377d40075063d3018e2812aefa.zip
Fix an ARMTargetLowering::LowerSELECT bug: legalized result must have same type as input. Sorry test cases only trigger when dag combine is disabled. rdar://9449178
llvm-svn: 131553
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 67cb29362d8..ef399b65fbf 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -2697,7 +2697,9 @@ SDValue ARMTargetLowering::LowerSELECT(SDValue Op, SelectionDAG &DAG) const {
SDValue ARMcc = Cond.getOperand(2);
SDValue CCR = Cond.getOperand(3);
SDValue Cmp = duplicateCmp(Cond.getOperand(4), DAG);
- return DAG.getNode(ARMISD::CMOV, dl, VT, True, False, ARMcc, CCR, Cmp);
+ return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(),
+ DAG.getNode(ARMISD::CMOV, dl, VT, True, False,
+ ARMcc, CCR, Cmp));
}
}
}
OpenPOWER on IntegriCloud