mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 21:32:39 +00:00
Expand (f64 extload f32) to (f64 fp_ext (load f32)) if f64 type action is expand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32527 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
98ff3b979a
commit
548f611bae
@ -4547,6 +4547,16 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
|
||||
std::swap(Lo, Hi);
|
||||
} else {
|
||||
MVT::ValueType EVT = LD->getLoadedVT();
|
||||
|
||||
if (VT == MVT::f64 && EVT == MVT::f32) {
|
||||
// f64 = EXTLOAD f32 should expand to LOAD, FP_EXTEND
|
||||
SDOperand Load = DAG.getLoad(EVT, Ch, Ptr, LD->getSrcValue(),
|
||||
LD->getSrcValueOffset());
|
||||
// Remember that we legalized the chain.
|
||||
AddLegalizedOperand(SDOperand(Node, 1), LegalizeOp(Load.getValue(1)));
|
||||
ExpandOp(DAG.getNode(ISD::FP_EXTEND, VT, Load), Lo, Hi);
|
||||
break;
|
||||
}
|
||||
|
||||
if (EVT == NVT)
|
||||
Lo = DAG.getLoad(NVT, Ch, Ptr, LD->getSrcValue(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user