Check that both operands are f32 before attempting to lower.
authorBill Wendling <isanbard@gmail.com>
Wed, 10 Sep 2008 00:24:59 +0000 (00:24 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 10 Sep 2008 00:24:59 +0000 (00:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56036 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp

index ddf006677e66c1fe78c8ef9b15eadb55a2571a7f..c53d63e6947b97d4bf66f498ccc1af2baefd57f8 100644 (file)
@@ -3409,6 +3409,7 @@ SelectionDAGLowering::visitPow(CallInst &I) {
   bool IsExp10 = false;
 
   if (getValue(Val).getValueType() == MVT::f32 &&
+      getValue(I.getOperand(2)).getValueType() == MVT::f32 &&
       LimitFloatPrecision > 0 && LimitFloatPrecision <= 18) {
     if (Constant *C = const_cast<Constant*>(dyn_cast<Constant>(Val))) {
       if (ConstantFP *CFP = dyn_cast<ConstantFP>(C)) {