mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
Add support for adding 0.0 and -0.0 to the constant pool, since we lie and
say that we support them, for the purposes of generating fsel instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20970 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
dffcfccc13
commit
6d369ccae0
@ -760,9 +760,17 @@ unsigned ISel::SelectExprFP(SDOperand N, unsigned Result)
|
||||
BuildMI(BB, PPC::FMR, 1, Result).addReg(Tmp1);
|
||||
return Result;
|
||||
|
||||
case ISD::ConstantFP:
|
||||
assert(0 && "ISD::ConstantFP Unimplemented");
|
||||
abort();
|
||||
case ISD::ConstantFP: {
|
||||
Tmp1 = MakeReg(MVT::i32);
|
||||
ConstantFPSDNode *CN = cast<ConstantFPSDNode>(N);
|
||||
MachineConstantPool *CP = BB->getParent()->getConstantPool();
|
||||
ConstantFP *CFP = ConstantFP::get(Type::DoubleTy, CN->getValue());
|
||||
unsigned CPI = CP->getConstantPoolIndex(CFP);
|
||||
BuildMI(BB, PPC::LOADHiAddr, 2, Tmp1).addReg(getGlobalBaseReg())
|
||||
.addConstantPoolIndex(CPI);
|
||||
BuildMI(BB, PPC::LFD, 2, Result).addConstantPoolIndex(CPI).addReg(Tmp1);
|
||||
return Result;
|
||||
}
|
||||
|
||||
case ISD::MUL:
|
||||
case ISD::ADD:
|
||||
|
Loading…
Reference in New Issue
Block a user