mirror of
https://github.com/RPCS3/llvm.git
synced 2025-03-06 17:47:37 +00:00
Add extload expansion for f128
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80116 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
efc3f3a570
commit
62c77d33b1
@ -1279,10 +1279,13 @@ SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) {
|
||||
break;
|
||||
case TargetLowering::Expand:
|
||||
// f64 = EXTLOAD f32 should expand to LOAD, FP_EXTEND
|
||||
if (SrcVT == MVT::f32 && Node->getValueType(0) == MVT::f64) {
|
||||
// f128 = EXTLOAD {f32,f64} too
|
||||
if ((SrcVT == MVT::f32 && (Node->getValueType(0) == MVT::f64 ||
|
||||
Node->getValueType(0) == MVT::f128)) ||
|
||||
(SrcVT == MVT::f64 && Node->getValueType(0) == MVT::f128)) {
|
||||
SDValue Load = DAG.getLoad(SrcVT, dl, Tmp1, Tmp2, LD->getSrcValue(),
|
||||
LD->getSrcValueOffset(),
|
||||
LD->isVolatile(), LD->getAlignment());
|
||||
LD->getSrcValueOffset(),
|
||||
LD->isVolatile(), LD->getAlignment());
|
||||
Result = DAG.getNode(ISD::FP_EXTEND, dl,
|
||||
Node->getValueType(0), Load);
|
||||
Tmp1 = LegalizeOp(Result); // Relegalize new nodes.
|
||||
|
Loading…
x
Reference in New Issue
Block a user