OSDN Git Service

Fix an ARMTargetLowering::LowerSELECT bug: legalized result must have same type as...
authorEvan Cheng <evan.cheng@apple.com>
Wed, 18 May 2011 18:47:27 +0000 (18:47 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 18 May 2011 18:47:27 +0000 (18:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131553 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMISelLowering.cpp

index 67cb293..ef399b6 100644 (file)
@@ -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));
       }
     }
   }