Fix constant folding of fp->int bitcast for vectors.
authorReid Spencer <rspencer@reidspencer.com>
Sat, 3 Mar 2007 08:32:46 +0000 (08:32 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sat, 3 Mar 2007 08:32:46 +0000 (08:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34880 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/ConstantFold.cpp

index 0d27a880eb462ef5d75d9c1af6c07a24a7874424..05a75883a1a30e9a7a76cdf89c22a93ed2f7ceb3 100644 (file)
@@ -86,9 +86,9 @@ static Constant *CastConstantVector(ConstantVector *CV,
     
     if (SrcEltTy->getTypeID() == Type::DoubleTyID) {
       for (unsigned i = 0; i != SrcNumElts; ++i) {
-        double V =
+        uint64_t V =
           DoubleToBits(cast<ConstantFP>(CV->getOperand(i))->getValue());
-        Constant *C = ConstantInt::get(APIntOps::RoundDoubleToAPInt(V));
+        Constant *C = ConstantInt::get(Type::Int64Ty, V);
         Result.push_back(ConstantExpr::getBitCast(C, DstEltTy ));
       }
       return ConstantVector::get(Result);