[llvm] [RISCV] Improve cleanup phase of RISCV Insert VSETVLI pass (PR #67144)

Wang Pengcheng via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 17 05:40:25 PDT 2023


================
@@ -834,8 +834,7 @@ define <vscale x 2 x i32> @pre_lmul(<vscale x 2 x i32> %x, <vscale x 2 x i32> %y
 ; CHECK-LABEL: pre_lmul:
 ; CHECK:       # %bb.0: # %entry
 ; CHECK-NEXT:    andi a0, a0, 1
-; CHECK-NEXT:    vsetvli a1, zero, e64, m1, ta, ma
-; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma
+; CHECK-NEXT:    vsetvli a1, zero, e32, m1, ta, ma
 ; CHECK-NEXT:    vadd.vv v8, v8, v9
----------------
wangpc-pp wrote:

I don't think so.
We need `vl` to be `VLMAX` of `e64, m1` and `vtype` to be `e32, m1` (so the final `vl` will be half of the `VLMAX` of `e32, m1`). Optimization may not be feasible here.

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


More information about the llvm-commits mailing list