mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
[mips] Add initial support for NaN2008 in the back-end.
This is so that EF_MIPS_NAN2008 is set if we are using IEEE 754-2008 NaN encoding (-mnan=2008). This patch also adds support for parsing '.nan legacy' and '.nan 2008' assembly directives. The handling of these directives should match GAS' behaviour i.e., the last directive in use sets the ELF header bit (EF_MIPS_NAN2008). Differential Revision: http://reviews.llvm.org/D3346 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206396 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -77,17 +77,16 @@ void MipsSubtarget::anchor() { }
|
||||
|
||||
MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU,
|
||||
const std::string &FS, bool little,
|
||||
Reloc::Model _RM, MipsTargetMachine *_TM) :
|
||||
MipsGenSubtargetInfo(TT, CPU, FS),
|
||||
MipsArchVersion(Mips32), MipsABI(UnknownABI), IsLittle(little),
|
||||
IsSingleFloat(false), IsFP64bit(false), IsGP64bit(false), HasVFPU(false),
|
||||
HasCnMips(false), IsLinux(true), HasSEInReg(false), HasCondMov(false),
|
||||
HasSwap(false), HasBitCount(false), HasFPIdx(false),
|
||||
InMips16Mode(false), InMips16HardFloat(Mips16HardFloat),
|
||||
InMicroMipsMode(false), HasDSP(false), HasDSPR2(false),
|
||||
AllowMixed16_32(Mixed16_32 | Mips_Os16), Os16(Mips_Os16), HasMSA(false),
|
||||
RM(_RM), OverrideMode(NoOverride), TM(_TM), TargetTriple(TT)
|
||||
{
|
||||
Reloc::Model _RM, MipsTargetMachine *_TM)
|
||||
: MipsGenSubtargetInfo(TT, CPU, FS), MipsArchVersion(Mips32),
|
||||
MipsABI(UnknownABI), IsLittle(little), IsSingleFloat(false),
|
||||
IsFP64bit(false), IsNaN2008bit(false), IsGP64bit(false), HasVFPU(false),
|
||||
HasCnMips(false), IsLinux(true), HasSEInReg(false), HasCondMov(false),
|
||||
HasSwap(false), HasBitCount(false), HasFPIdx(false), InMips16Mode(false),
|
||||
InMips16HardFloat(Mips16HardFloat), InMicroMipsMode(false), HasDSP(false),
|
||||
HasDSPR2(false), AllowMixed16_32(Mixed16_32 | Mips_Os16), Os16(Mips_Os16),
|
||||
HasMSA(false), RM(_RM), OverrideMode(NoOverride), TM(_TM),
|
||||
TargetTriple(TT) {
|
||||
std::string CPUName = CPU;
|
||||
CPUName = selectMipsCPU(TT, CPUName);
|
||||
|
||||
|
Reference in New Issue
Block a user