diff options
| author | Dale Johannesen <dalej@apple.com> | 2007-09-17 20:15:38 +0000 | 
|---|---|---|
| committer | Dale Johannesen <dalej@apple.com> | 2007-09-17 20:15:38 +0000 | 
| commit | ff7e4437925549640672f4ea60a7fbd87b77269c (patch) | |
| tree | f2bacdb21a454919220090a8a257c39a8eef2ea4 /llvm/lib | |
| parent | 9d1af9b63daa4c1bc2f40ecbbfec13fceb3e3107 (diff) | |
| download | bcm5719-llvm-ff7e4437925549640672f4ea60a7fbd87b77269c.tar.gz bcm5719-llvm-ff7e4437925549640672f4ea60a7fbd87b77269c.zip | |
Remove RSTRegClass case from loadRegFromStackSlot
and storeRegToStackSlot.  Evan and I concluded this
should never be needed and it appears to be true.
(It if is needed, adjustment would be needed for
long double to work.)
llvm-svn: 42049
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86FloatingPoint.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86RegisterInfo.cpp | 6 | 
2 files changed, 3 insertions, 5 deletions
| diff --git a/llvm/lib/Target/X86/X86FloatingPoint.cpp b/llvm/lib/Target/X86/X86FloatingPoint.cpp index ac6d6145e51..179a71e03fa 100644 --- a/llvm/lib/Target/X86/X86FloatingPoint.cpp +++ b/llvm/lib/Target/X86/X86FloatingPoint.cpp @@ -608,7 +608,7 @@ void FPS::handleOneArgFP(MachineBasicBlock::iterator &I) {    // If we have one _and_ we don't want to pop the operand, duplicate the value    // on the stack instead of moving it.  This ensure that popping the value is    // always ok. -  // Ditto FISTTP16m, FISTTP32m, FISTTP64m. +  // Ditto FISTTP16m, FISTTP32m, FISTTP64m, ST_FpP80m.    //    if (!KillsSrc &&        (MI->getOpcode() == X86::IST_Fp64m32 || diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp index 4a8c275bc54..df50efe896a 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.cpp +++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp @@ -170,9 +170,7 @@ void X86RegisterInfo::storeRegToStackSlot(MachineBasicBlock &MBB,      Opc = X86::MOV16_mr;    } else if (RC == &X86::RFP80RegClass) {      Opc = X86::ST_FpP80m;   // pops -  } else if (RC == &X86::RFP64RegClass || RC == &X86::RSTRegClass) { -    /// FIXME spilling long double values as 64 bit does not work. -    /// We need RST80, unfortunately. +  } else if (RC == &X86::RFP64RegClass) {      Opc = X86::ST_Fp64m;    } else if (RC == &X86::RFP32RegClass) {      Opc = X86::ST_Fp32m; @@ -211,7 +209,7 @@ void X86RegisterInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,      Opc = X86::MOV16_rm;    } else if (RC == &X86::RFP80RegClass) {      Opc = X86::LD_Fp80m; -  } else if (RC == &X86::RFP64RegClass || RC == &X86::RSTRegClass) { +  } else if (RC == &X86::RFP64RegClass) {      Opc = X86::LD_Fp64m;    } else if (RC == &X86::RFP32RegClass) {      Opc = X86::LD_Fp32m; | 

