[llvm] [RISCV][VLOPT] Add support for checkUsers when UserMI is a Single-Width Integer Reduction (PR #120345)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 2 18:38:55 PST 2025


================
@@ -149,8 +152,11 @@ define i32 @mul_i32(<4 x i32> %a, <4 x i32> %b) {
 ; RV64-NEXT:    vslidedown.vi v10, v9, 2
 ; RV64-NEXT:    vmul.vv v9, v9, v10
 ; RV64-NEXT:    vrgather.vi v10, v8, 1
+; RV64-NEXT:    vsetivli zero, 1, e32, m1, ta, ma
 ; RV64-NEXT:    vmul.vv v8, v8, v10
+; RV64-NEXT:    vsetivli zero, 4, e32, m1, ta, ma
 ; RV64-NEXT:    vrgather.vi v10, v9, 1
+; RV64-NEXT:    vsetivli zero, 1, e32, m1, ta, ma
----------------
lukel97 wrote:

I'm not seeing any diffs related to vmv.x.s in this patch that aren't regressions and I'm not sure how they're needed for the reductions. 

I agree these cases aren't likely to be common so my comment here is non-blocking, but if we don't gain anything from adding scalar moves should we just leave them out? 

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


More information about the llvm-commits mailing list