diff --git a/llvm/test/CodeGen/RISCV/rvv/localvar.ll b/llvm/test/CodeGen/RISCV/rvv/localvar.ll --- a/llvm/test/CodeGen/RISCV/rvv/localvar.ll +++ b/llvm/test/CodeGen/RISCV/rvv/localvar.ll @@ -287,5 +287,23 @@ ret void } +define i64 @fixed_object(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8) nounwind { +; RV64IV-LABEL: fixed_object: +; RV64IV: # %bb.0: +; RV64IV-NEXT: addi sp, sp, -32 +; RV64IV-NEXT: csrr a0, vlenb +; RV64IV-NEXT: slli a0, a0, 3 +; RV64IV-NEXT: sub sp, sp, a0 +; RV64IV-NEXT: ld a0, 32(sp) +; RV64IV-NEXT: csrr a1, vlenb +; RV64IV-NEXT: slli a1, a1, 3 +; RV64IV-NEXT: add sp, sp, a1 +; RV64IV-NEXT: addi sp, sp, 32 +; RV64IV-NEXT: ret + %fixed_size = alloca i32 + %rvv_vector = alloca , align 8 + ret i64 %8 +} + declare void @notdead(i8*, *) declare void @notdead2(i8*, i32*, *)