[llvm] [IR][RFC] Add @llvm.mask.beforefirst intrinsic (PR #203874)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 4 15:03:11 PDT 2026


================
@@ -0,0 +1,148 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
----------------
fhahn wrote:

Could you also add tests for X86 for completeness?

In the past, I ran into a few crashes with `active.lane.mask` on different platforms.

I think something like below may currently crash with `Cannot select: get_active_lane_mask'`
```
; RUN: llc -mtriple=x86_64 -mattr=+avx2 < %s
; RUN: llc -mtriple=x86_64 -mattr=+avx512f,+avx512bw,+avx512vl < %s

define <8 x i1> @mbf_v8i1(<8 x i1> %m) {
  %r = call <8 x i1> @llvm.mask.beforefirst.v8i1(<8 x i1> %m)
  ret <8 x i1> %r
}

define <16 x i1> @mbf_v16i1(<16 x i1> %m) {
  %r = call <16 x i1> @llvm.mask.beforefirst.v16i1(<16 x i1> %m)
  ret <16 x i1> %r
}
```

Another differnet crash is for

```
; RUN: llc -mtriple=x86_64 < %s

define <4 x i1> @mbf_v4i1(<4 x i1> %m) {
  %r = call <4 x i1> @llvm.mask.beforefirst.v4i1(<4 x i1> %m)
  ret <4 x i1> %r
}
```

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


More information about the llvm-commits mailing list