diff options
author | Akira Hatanaka <ahatanaka@mips.com> | 2012-01-04 19:29:11 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@mips.com> | 2012-01-04 19:29:11 +0000 |
commit | aac3e06bf73214a1f44dd40e98c9930b759ded38 (patch) | |
tree | 9230308debf3b9bda2a064c735dd1447734d366f | |
parent | a4c6ad191417112dae453d3b9313aff6c5bb18f7 (diff) | |
download | bcm5719-llvm-aac3e06bf73214a1f44dd40e98c9930b759ded38.tar.gz bcm5719-llvm-aac3e06bf73214a1f44dd40e98c9930b759ded38.zip |
Enable -soft-float for MIPS.
llvm-svn: 147541
-rw-r--r-- | llvm/lib/Target/Mips/MipsISelLowering.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/llvm/lib/Target/Mips/MipsISelLowering.cpp b/llvm/lib/Target/Mips/MipsISelLowering.cpp index 0c4cee5b997..bb19f6b27ac 100644 --- a/llvm/lib/Target/Mips/MipsISelLowering.cpp +++ b/llvm/lib/Target/Mips/MipsISelLowering.cpp @@ -92,17 +92,20 @@ MipsTargetLowering(MipsTargetMachine &TM) // Set up the register classes addRegisterClass(MVT::i32, Mips::CPURegsRegisterClass); - addRegisterClass(MVT::f32, Mips::FGR32RegisterClass); if (HasMips64) addRegisterClass(MVT::i64, Mips::CPU64RegsRegisterClass); - // When dealing with single precision only, use libcalls - if (!Subtarget->isSingleFloat()) { - if (HasMips64) - addRegisterClass(MVT::f64, Mips::FGR64RegisterClass); - else - addRegisterClass(MVT::f64, Mips::AFGR64RegisterClass); + if (!TM.Options.UseSoftFloat) { + addRegisterClass(MVT::f32, Mips::FGR32RegisterClass); + + // When dealing with single precision only, use libcalls + if (!Subtarget->isSingleFloat()) { + if (HasMips64) + addRegisterClass(MVT::f64, Mips::FGR64RegisterClass); + else + addRegisterClass(MVT::f64, Mips::AFGR64RegisterClass); + } } // Load extented operations for i1 types must be promoted |