42 lines · plain
1; RUN: llc -mtriple=riscv64 -mattr=+d,+zfh < %s | FileCheck %s2 3; CHECK-LABEL: .section .llvm_stackmaps4; CHECK-NEXT: __LLVM_StackMaps:5; Header6; CHECK-NEXT: .byte 37; CHECK-NEXT: .byte 08; CHECK-NEXT: .half 09; Num Functions10; CHECK-NEXT: .word 111; Num LargeConstants12; CHECK-NEXT: .word 013; Num Callsites14; CHECK-NEXT: .word 115 16; Functions and stack size17; CHECK-NEXT: .quad liveArgs18; CHECK-NEXT: .quad 019; CHECK-NEXT: .quad 120 21; Spilled stack map values.22;23; Verify 3 stack map entries.24;25; CHECK-LABEL: .word .L{{.*}}-liveArgs26; CHECK-NEXT: .half 027; CHECK-NEXT: .half 2528;29; Check that at least one is a spilled entry from SP.30; Location: Indirect SP + ...31; CHECK: .byte 332; CHECK-NEXT: .byte 033; CHECK-NEXT: .half 834; CHECK-NEXT: .half 235; CHECK-NEXT: .half 036; CHECK-NEXT: .word37define void @liveArgs(double %arg0, double %arg1, double %arg2, double %arg3, double %arg4, double %arg5, double %arg6, double %arg7, double %arg8, double %arg9, double %arg10, double %arg11, double %arg12, double %arg13, double %arg14, double %arg15, double %arg16, double %arg17, double %arg18, double %arg19, double %arg20, double %arg21, double %arg22, double %arg23, half %arg24, half %arg25, half %arg26, half %arg27, half %arg28, bfloat %arg29) {38entry:39 call void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 11, i32 28, ptr null, i32 5, double %arg0, double %arg1, double %arg2, double %arg3, double %arg4, double %arg5, double %arg6, double %arg7, double %arg8, double %arg9, double %arg10, double %arg11, double %arg12, double %arg13, double %arg14, double %arg15, double %arg16, double %arg17, double %arg18, double %arg19, double %arg20, double %arg21, double %arg22, double %arg23, half %arg24, half %arg25, half %arg26, half %arg27, half %arg28, bfloat %arg29)40 ret void41}42