[llvm] [X86] Improve llvm.get.active.lane.mask codegen (PR #225832)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 1 00:38:39 PDT 2026
================
@@ -56,12 +56,13 @@ define <7 x i1> @create_mask7(i64 %0) {
define <16 x i1> @create_mask16(i64 %0) {
; CHECK-LABEL: create_mask16:
; CHECK: # %bb.0:
-; CHECK-NEXT: vpbroadcastq zmm0, rdi
-; CHECK-NEXT: vpcmpnleuq k0, zmm0, zmmword ptr [rip + {{\.?LCPI[0-9]+_[0-9]+}}]
-; CHECK-NEXT: vpcmpnleuq k1, zmm0, zmmword ptr [rip + {{\.?LCPI[0-9]+_[0-9]+}}]
-; CHECK-NEXT: kunpckbw k0, k1, k0
+; CHECK-NEXT: cmp rdi, 16
+; CHECK-NEXT: mov eax, 16
+; CHECK-NEXT: cmovb rax, rdi
+; CHECK-NEXT: mov ecx, -1
+; CHECK-NEXT: bzhi eax, ecx, eax
+; CHECK-NEXT: kmovd k0, eax
----------------
Andarwinux wrote:
Why is this not kmovw?
https://github.com/llvm/llvm-project/pull/225832
More information about the llvm-commits
mailing list