[llvm] [AArch64][SVE] Rework VECTOR_COMPRESS lowering (PR #171162)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 11 09:54:43 PST 2025
================
@@ -1993,22 +1993,25 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
setOperationAction(ISD::VECREDUCE_SEQ_FADD, VT, Custom);
// We can lower types that have <vscale x {2|4}> elements to compact.
+ for (auto VT :
+ {MVT::nxv2i64, MVT::nxv2f32, MVT::nxv2f64, MVT::nxv4i32, MVT::nxv4f32})
+ setOperationAction(ISD::VECTOR_COMPRESS, VT, Custom);
+
+ // If we have SVE, we can use SVE logic for legal NEON vectors in the lowest
+ // bits of the SVE register.
+ for (auto VT : {MVT::v2i32, MVT::v2i64, MVT::v2f32, MVT::v2f64, MVT::v4i32,
+ MVT::v4f32})
----------------
paulwalker-arm wrote:
```suggestion
for (auto VT : {MVT::v2i32, MVT::v4i32, MVT::v2i64, MVT::v2f32, MVT:: v4f32,
MVT::v2f64})
```
https://github.com/llvm/llvm-project/pull/171162
More information about the llvm-commits
mailing list