[llvm] ISel/AArch64: custom lower vector ISD::[L]LRINT (PR #89035)

David Green via llvm-commits llvm-commits at lists.llvm.org
Thu May 9 08:41:46 PDT 2024


================
@@ -1304,6 +1304,12 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
           setOperationAction(Op, Ty, Legal);
     }
 
+    // LRINT and LLRINT.
+    for (auto VT : MVT::fp_fixedlen_vector_valuetypes()) {
----------------
davemgreen wrote:

I think this should be like above but Custom?
```
      for (MVT Ty : {MVT::v2f32, MVT::v4f32, MVT::v2f64})
        setOperationAction(Op, Ty, Custom);
      if (Subtarget->hasFullFP16())
        for (MVT Ty : {MVT::v4f16, MVT::v8f16})
          setOperationAction(Op, Ty, Custom);
```

All the vector types can include many more types, either now or in the future. Same for the SVE ones below - it would be better to just handle the correct types specifically.

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


More information about the llvm-commits mailing list