[llvm] [SVE] Wide active lane mask (PR #76514)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 3 05:51:39 PST 2024


================
@@ -1772,15 +1772,17 @@ void AArch64TargetLowering::addTypeForNEON(MVT VT) {
 
 bool AArch64TargetLowering::shouldExpandGetActiveLaneMask(EVT ResVT,
                                                           EVT OpVT) const {
-  // Only SVE has a 1:1 mapping from intrinsic -> instruction (whilelo).
-  if (!Subtarget->hasSVE())
+  // Only SVE/SME has a 1:1 mapping from intrinsic -> instruction (whilelo).
+  if (!Subtarget->hasSVEorSME())
----------------
CarolineConcatto wrote:

Can we add a run line for sve2p1 and/or  sme in
CodeGen/AArch64/active_lane_mask.ll
To make sure these changes did not break any other test:

```
+++ b/llvm/test/CodeGen/AArch64/active_lane_mask.ll
@@ -1,6 +1,7 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve < %s | FileCheck %s
-
+; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve2p1 < %s | FileCheck %s
+; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme2 < %s | FileCheck %s
```

Probably it will break for the tests nxv32i1 for the sve2p1, maybe only sme then.

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


More information about the llvm-commits mailing list