[PATCH] D70867: [FPEnv] [PowerPC] Alternative lowering ppc_fp128 StrictFP Nodes to libcalls
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 3 11:10:44 PST 2019
craig.topper marked an inline comment as done.
craig.topper added inline comments.
================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp:1405
+ Hi = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, { NVT, MVT::Other },
+ { N->getOperand(0), N->getOperand(1) });
+ else
----------------
uweigand wrote:
> Do we need to short-circuit this if the source type is already double (like below in the FP_ROUND case)?
We do. The test accidentally worked without failing because isel isn't doing full type checking of this pattern
def : Pat<(f64 (fpextend f32:$src)),
(COPY_TO_REGCLASS $src, SPERC)>;
}
The type constraint says the input must be smaller than the output and f32 is the only legal type smaller than f64. So I think it just checked the f64 result type and skipped the input type check.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70867/new/
https://reviews.llvm.org/D70867
More information about the llvm-commits
mailing list