diff options
| author | Dale Johannesen <dalej@apple.com> | 2007-08-30 00:23:21 +0000 |
|---|---|---|
| committer | Dale Johannesen <dalej@apple.com> | 2007-08-30 00:23:21 +0000 |
| commit | f04afdbb48568ef09f11fd10ac03426101f2dbf8 (patch) | |
| tree | df18d3207060fa0327a208f95cf643e386a3de7d /lib/Target | |
| parent | 055c5449a4046a5e1a5210d2f91aee4e3901cccf (diff) | |
Change LegalFPImmediates to use APFloat.
Add APFloat interfaces to ConstantFP, SelectionDAG.
Fix integer bit in double->APFloat conversion.
Convert LegalizeDAG to use APFloat interface in
ConstantFPSDNode uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41587 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
| -rw-r--r-- | lib/Target/Alpha/AlphaISelLowering.cpp | 4 | ||||
| -rw-r--r-- | lib/Target/IA64/IA64ISelLowering.cpp | 4 | ||||
| -rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 10 |
3 files changed, 9 insertions, 9 deletions
diff --git a/lib/Target/Alpha/AlphaISelLowering.cpp b/lib/Target/Alpha/AlphaISelLowering.cpp index adbf322dad..faeb791824 100644 --- a/lib/Target/Alpha/AlphaISelLowering.cpp +++ b/lib/Target/Alpha/AlphaISelLowering.cpp @@ -142,8 +142,8 @@ AlphaTargetLowering::AlphaTargetLowering(TargetMachine &TM) : TargetLowering(TM) setOperationAction(ISD::ConstantFP, MVT::f64, Expand); setOperationAction(ISD::ConstantFP, MVT::f32, Expand); - addLegalFPImmediate(+0.0); //F31 - addLegalFPImmediate(-0.0); //-F31 + addLegalFPImmediate(APFloat(+0.0)); //F31 + addLegalFPImmediate(APFloat(-0.0)); //-F31 setJumpBufSize(272); setJumpBufAlignment(16); diff --git a/lib/Target/IA64/IA64ISelLowering.cpp b/lib/Target/IA64/IA64ISelLowering.cpp index b9508a9cb3..8f62c1f419 100644 --- a/lib/Target/IA64/IA64ISelLowering.cpp +++ b/lib/Target/IA64/IA64ISelLowering.cpp @@ -121,8 +121,8 @@ IA64TargetLowering::IA64TargetLowering(TargetMachine &TM) computeRegisterProperties(); setOperationAction(ISD::ConstantFP, MVT::f64, Expand); - addLegalFPImmediate(+0.0); - addLegalFPImmediate(+1.0); + addLegalFPImmediate(APFloat(+0.0)); + addLegalFPImmediate(APFloat(+1.0)); } const char *IA64TargetLowering::getTargetNodeName(unsigned Opcode) const { diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 7ebac836dd..99fc9bae63 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -296,7 +296,7 @@ X86TargetLowering::X86TargetLowering(TargetMachine &TM) // cases we handle. setOperationAction(ISD::ConstantFP, MVT::f64, Expand); setOperationAction(ISD::ConstantFP, MVT::f32, Expand); - addLegalFPImmediate(+0.0); // xorps / xorpd + addLegalFPImmediate(APFloat(+0.0)); // xorps / xorpd // Conversions to long double (in X87) go through memory. setConvertAction(MVT::f32, MVT::f80, Expand); @@ -327,10 +327,10 @@ X86TargetLowering::X86TargetLowering(TargetMachine &TM) setOperationAction(ISD::ConstantFP, MVT::f64, Expand); setOperationAction(ISD::ConstantFP, MVT::f32, Expand); - addLegalFPImmediate(+0.0); // FLD0 - addLegalFPImmediate(+1.0); // FLD1 - addLegalFPImmediate(-0.0); // FLD0/FCHS - addLegalFPImmediate(-1.0); // FLD1/FCHS + addLegalFPImmediate(APFloat(+0.0)); // FLD0 + addLegalFPImmediate(APFloat(+1.0)); // FLD1 + addLegalFPImmediate(APFloat(-0.0)); // FLD0/FCHS + addLegalFPImmediate(APFloat(-1.0)); // FLD1/FCHS } // Long double always uses X87. |
