[llvm] r211192 - Work around ridiculous warning.

Matt Arsenault Matthew.Arsenault at amd.com
Wed Jun 18 10:45:58 PDT 2014


Author: arsenm
Date: Wed Jun 18 12:45:58 2014
New Revision: 211192

URL: http://llvm.org/viewvc/llvm-project?rev=211192&view=rev
Log:
Work around ridiculous warning.

Apparently C++ doesn't really have hex floating point constants.

Modified:
    llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp

Modified: llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp?rev=211192&r1=211191&r2=211192&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp Wed Jun 18 12:45:58 2014
@@ -1664,14 +1664,17 @@ SDValue AMDGPUTargetLowering::LowerFRINT
 
   assert(Op.getValueType() == MVT::f64);
 
-  SDValue C1 = DAG.getConstantFP(0x1.0p+52, MVT::f64);
+  APFloat C1Val(APFloat::IEEEdouble, "0x1.0p+52");
+  SDValue C1 = DAG.getConstantFP(C1Val, MVT::f64);
   SDValue CopySign = DAG.getNode(ISD::FCOPYSIGN, SL, MVT::f64, C1, Src);
 
   SDValue Tmp1 = DAG.getNode(ISD::FADD, SL, MVT::f64, Src, CopySign);
   SDValue Tmp2 = DAG.getNode(ISD::FSUB, SL, MVT::f64, Tmp1, CopySign);
 
   SDValue Fabs = DAG.getNode(ISD::FABS, SL, MVT::f64, Src);
-  SDValue C2 = DAG.getConstantFP(0x1.fffffffffffffp+51, MVT::f64);
+
+  APFloat C2Val(APFloat::IEEEdouble, "0x1.fffffffffffffp+51");
+  SDValue C2 = DAG.getConstantFP(C2Val, MVT::f64);
 
   EVT SetCCVT = getSetCCResultType(*DAG.getContext(), MVT::f64);
   SDValue Cond = DAG.getSetCC(SL, SetCCVT, Fabs, C2, ISD::SETOGT);





More information about the llvm-commits mailing list