14a04dd4bSdlav-sc; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 24a04dd4bSdlav-sc; RUN: llc -mtriple=riscv64 -mattr=+m,+c,+v < %s | FileCheck --check-prefix=RV64V %s 34a04dd4bSdlav-sc 44a04dd4bSdlav-scdeclare void @llvm.va_copy.p0(ptr, ptr) 54a04dd4bSdlav-scdeclare void @llvm.va_end.p0(ptr) 64a04dd4bSdlav-sc 74a04dd4bSdlav-scdefine dso_local void @_Z3fooPKcz(ptr noundef %0, ...) "frame-pointer"="all" { 84a04dd4bSdlav-sc; RV64V-LABEL: _Z3fooPKcz: 94a04dd4bSdlav-sc; RV64V: # %bb.0: 104a04dd4bSdlav-sc; RV64V-NEXT: addi sp, sp, -496 114a04dd4bSdlav-sc; RV64V-NEXT: .cfi_def_cfa_offset 496 124a04dd4bSdlav-sc; RV64V-NEXT: sd ra, 424(sp) # 8-byte Folded Spill 134a04dd4bSdlav-sc; RV64V-NEXT: sd s0, 416(sp) # 8-byte Folded Spill 144a04dd4bSdlav-sc; RV64V-NEXT: .cfi_offset ra, -72 154a04dd4bSdlav-sc; RV64V-NEXT: .cfi_offset s0, -80 164a04dd4bSdlav-sc; RV64V-NEXT: addi s0, sp, 432 174a04dd4bSdlav-sc; RV64V-NEXT: .cfi_def_cfa s0, 64 184a04dd4bSdlav-sc; RV64V-NEXT: lui t0, 2 194a04dd4bSdlav-sc; RV64V-NEXT: addiw t0, t0, -576 204a04dd4bSdlav-sc; RV64V-NEXT: sub sp, sp, t0 214a04dd4bSdlav-sc; RV64V-NEXT: sd a5, 40(s0) 224a04dd4bSdlav-sc; RV64V-NEXT: sd a6, 48(s0) 234a04dd4bSdlav-sc; RV64V-NEXT: sd a7, 56(s0) 244a04dd4bSdlav-sc; RV64V-NEXT: sd a1, 8(s0) 254a04dd4bSdlav-sc; RV64V-NEXT: sd a2, 16(s0) 264a04dd4bSdlav-sc; RV64V-NEXT: sd a3, 24(s0) 274a04dd4bSdlav-sc; RV64V-NEXT: sd a4, 32(s0) 284a04dd4bSdlav-sc; RV64V-NEXT: sd a0, -32(s0) 294a04dd4bSdlav-sc; RV64V-NEXT: addi a0, s0, 8 304a04dd4bSdlav-sc; RV64V-NEXT: sd a0, -40(s0) 31*83f92c33Sdlav-sc; RV64V-NEXT: addi sp, s0, -432 3297982a8cSdlav-sc; RV64V-NEXT: .cfi_def_cfa sp, 496 334a04dd4bSdlav-sc; RV64V-NEXT: ld ra, 424(sp) # 8-byte Folded Reload 344a04dd4bSdlav-sc; RV64V-NEXT: ld s0, 416(sp) # 8-byte Folded Reload 3597982a8cSdlav-sc; RV64V-NEXT: .cfi_restore ra 3697982a8cSdlav-sc; RV64V-NEXT: .cfi_restore s0 374a04dd4bSdlav-sc; RV64V-NEXT: addi sp, sp, 496 3897982a8cSdlav-sc; RV64V-NEXT: .cfi_def_cfa_offset 0 394a04dd4bSdlav-sc; RV64V-NEXT: ret 404a04dd4bSdlav-sc %2 = alloca ptr, align 8 414a04dd4bSdlav-sc %3 = alloca ptr, align 8 424a04dd4bSdlav-sc %4 = alloca [8000 x i8], align 1 434a04dd4bSdlav-sc store ptr %0, ptr %2, align 8 444a04dd4bSdlav-sc call void @llvm.va_start.p0(ptr %3) 454a04dd4bSdlav-sc %5 = getelementptr inbounds [8000 x i8], ptr %4, i64 0, i64 0 464a04dd4bSdlav-sc %6 = load ptr, ptr %2, align 8 474a04dd4bSdlav-sc %7 = load ptr, ptr %3, align 8 484a04dd4bSdlav-sc call void @llvm.va_end.p0(ptr %3) 494a04dd4bSdlav-sc ret void 504a04dd4bSdlav-sc} 51