[llvm] [AArch64] Legalize fp128 scalars as libcalls for G_FCMP (PR #98452)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 18 08:51:29 PDT 2024


================
@@ -560,7 +560,7 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
       })
       .widenScalarOrEltToNextPow2(1)
       .clampScalar(0, s32, s32)
-      .clampScalarOrElt(1, MinFPScalar, s64)
+      .clampScalarOrElt(1, MinFPScalar, s128)
----------------
Him188 wrote:

> Is this needed? If so could it use minScalarOrElt?

Replaced with `minScalarOrElt`.

> Is it worth scalarizing vectors in this same patch?

Yes, added `.scalarizeIf(scalarOrEltWiderThan(1, 64), 1)`. 

`v3f128_fp128` is still failing because we failed to legalize `%21:_(<3 x s128>) = G_OR %29:_, %30:_`

https://github.com/llvm/llvm-project/pull/98452


More information about the llvm-commits mailing list