[llvm] [X86][GlobalISel] Support fp80 for G_FPTRUNC and G_FPEXT (PR #141611)
Evgenii Kudriashov via llvm-commits
llvm-commits at lists.llvm.org
Tue May 27 07:50:32 PDT 2025
e-kud wrote:
> > We intentionally omit s32->s64 and s64->s32 variants of stores and loads for X87 because during legalization we can't determine whether it is a floating point store or an integer one.
>
> But you shouldn't need this? The FP-ness should be encoded in the load/store directly. i.e. are we missing FP ext load and store?
Yes, we don't have them: https://github.com/llvm/llvm-project/blob/062353d1f506f9a381030b099e4dee23b84d5501/llvm/include/llvm/Target/GenericOpcodes.td#L1250
IIUC it should be resolved once FP types are added https://discourse.llvm.org/t/rfc-globalisel-adding-fp-type-information-to-llt/83349. After this LLT types will show whether store or load is a float or integer operation. And MMO will show whether it is extending or truncating.
https://github.com/llvm/llvm-project/pull/141611
More information about the llvm-commits
mailing list