[llvm] [AArch64][GlobalISel] Add better basic legalization for llround. (PR #168427)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 19 07:29:52 PST 2025
================
@@ -449,10 +449,12 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
.minScalar(0, s32)
.libcallFor({{s32, s32}, {s64, s32}, {s128, s32}});
- // TODO: Libcall support for s128.
- // TODO: s16 should be legal with full FP16 support.
getActionDefinitionsBuilder({G_LROUND, G_LLROUND})
- .legalFor({{s64, s32}, {s64, s64}});
+ .legalFor({{s64, s32}, {s64, s64}})
+ .legalFor(HasFP16, {{s64, s16}})
----------------
Lukacma wrote:
Is there a specific reason why {s32, s16} and {s32, s64} is not legal for LROUND here? If I understand correctly, that's how it is for SelectionDAG
https://github.com/llvm/llvm-project/pull/168427
More information about the llvm-commits
mailing list