[llvm] [AArch64] Improve fixed vector lowering for cttz/ctlz when sve (PR #192427)

Ricardo Jesus via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 16 03:50:20 PDT 2026


================
@@ -13,7 +13,10 @@ target triple = "aarch64-unknown-linux-gnu"
 define <8 x i8> @ctlz_v8i8(<8 x i8> %op) vscale_range(2,0) #0 {
 ; CHECK-LABEL: ctlz_v8i8:
 ; CHECK:       // %bb.0:
-; CHECK-NEXT:    clz v0.8b, v0.8b
+; CHECK-NEXT:    ptrue p0.b, vl8
+; CHECK-NEXT:    // kill: def $d0 killed $d0 def $z0
+; CHECK-NEXT:    clz z0.b, p0/m, z0.b
+; CHECK-NEXT:    // kill: def $d0 killed $d0 killed $z0
----------------
rj-jesus wrote:

This is a code size regression. Neon CLZ should be preferred here.

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


More information about the llvm-commits mailing list