[llvm] [AArch64][GlobalISel] Legalize 128-bit types for FABS (PR #104753)
Thorsten Schütt via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 20 09:00:23 PDT 2024
================
@@ -257,6 +257,20 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
.clampNumElements(0, v2s64, v2s64)
.moreElementsToNextPow2(0);
+ getActionDefinitionsBuilder(G_FABS)
+ .legalFor({MinFPScalar, s32, s64, v2s32, v4s32, v2s64})
+ .legalIf([=](const LegalityQuery &Query) {
+ const auto &Ty = Query.Types[0];
+ return (Ty == v8s16 || Ty == v4s16) && HasFP16;
+ })
+ .lowerFor({s128})
+ .scalarizeIf(scalarOrEltWiderThan(0, 64), 0)
----------------
tschuett wrote:
Do you need the `scalarizeIf` when `lowerFAbs` supports vectors?
https://github.com/llvm/llvm-project/pull/104753
More information about the llvm-commits
mailing list