[llvm] [RISCV] Match deinterleave(4,8) shuffles to SHL/TRUNC when legal (PR #118509)
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 3 19:54:54 PST 2024
================
@@ -19,18 +19,19 @@ define {<16 x i1>, <16 x i1>} @vector_deinterleave_v16i1_v32i1(<32 x i1> %vec) {
; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, ma
; CHECK-NEXT: vmv.s.x v9, a0
; CHECK-NEXT: vmv1r.v v0, v8
-; CHECK-NEXT: vsetvli zero, zero, e8, m1, ta, mu
-; CHECK-NEXT: vmerge.vim v14, v10, 1, v0
-; CHECK-NEXT: vadd.vi v8, v12, -16
+; CHECK-NEXT: vsetvli zero, zero, e8, m1, ta, ma
----------------
preames wrote:
Yeah, room for improvement, definitely. Not currently that interested in <N x i1> codegen, but if we decide to focus on that at some point, it's not the only one which has room for improvement.
https://github.com/llvm/llvm-project/pull/118509
More information about the llvm-commits
mailing list