mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
FP EXTLOAD is not support on all archs, expand to LOAD and FP_EXTEND
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22319 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6cfd1ebcd3
commit
9d416f713e
@ -522,6 +522,15 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
|
||||
AddLegalizedOperand(SDOperand(Node, 1), Result.getValue(1));
|
||||
return Result.getValue(Op.ResNo);
|
||||
case TargetLowering::Expand:
|
||||
//f64 = EXTLOAD f32 should expand to LOAD, FP_EXTEND
|
||||
if (SrcVT == MVT::f32 && Node->getValueType(0) == MVT::f64) {
|
||||
SDOperand Load = DAG.getLoad(SrcVT, Tmp1, Tmp2, Node->getOperand(2));
|
||||
Result =
|
||||
DAG.getNode(ISD::FP_EXTEND, Node->getValueType(0), Load, SrcVT);
|
||||
if (Op.ResNo)
|
||||
return Load.getValue(1);
|
||||
return Result;
|
||||
}
|
||||
assert(Node->getOpcode() != ISD::EXTLOAD &&
|
||||
"EXTLOAD should always be supported!");
|
||||
// Turn the unsupported load into an EXTLOAD followed by an explicit
|
||||
|
Loading…
Reference in New Issue
Block a user