[llvm] [RISCV][VLOPT][WIP] Added support for vmv.s.x and vfmv.s.f (PR #149562)
Mikhail R. Gadelha via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 24 13:08:38 PDT 2025
================
@@ -7,13 +7,14 @@ define i32 @test(ptr %a, i64 %n) {
; CHECK-LABEL: test:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: li a3, 0
-; CHECK-NEXT: vsetvli a2, zero, e32, m1, ta, ma
+; CHECK-NEXT: vsetivli zero, 1, e32, m1, ta, ma
; CHECK-NEXT: vmv.s.x v8, zero
; CHECK-NEXT: .LBB0_1: # %loop
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
; CHECK-NEXT: vl1re32.v v9, (a0)
; CHECK-NEXT: mv a2, a3
; CHECK-NEXT: addi a1, a1, -1
+; CHECK-NEXT: vsetvli a3, zero, e32, m1, ta, ma
----------------
mikhailramalho wrote:
IIUC, doPRE doesn't handle the loop we see in this program, so it bails.
I'm writing a patch to change that, and removing the WIP from this PR, as changing doPRE is out of the scope of this PR.
https://github.com/llvm/llvm-project/pull/149562
More information about the llvm-commits
mailing list