1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -disable-fp-elim | FileCheck %s
2 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -disable-fp-elim -enable-stackmap-liveness| FileCheck -check-prefix=LIVE %s
4 ; Note: Print verbose stackmaps using -debug-only=stackmaps.
6 ; CHECK-LABEL: .section __LLVM_STACKMAPS,__llvm_stackmaps
7 ; CHECK-NEXT: __LLVM_StackMaps:
14 ; CHECK-LABEL: .long L{{.*}}-_liveness
15 ; CHECK-NEXT: .short 0
16 ; CHECK-NEXT: .short 0
17 ; CHECK-NEXT: .short 0
18 ; LIVE-LABEL: .long L{{.*}}-_liveness
25 ; LIVE-NEXT: .short 19
29 ; CHECK-LABEL: .long L{{.*}}-_liveness
30 ; CHECK-NEXT: .short 0
31 ; CHECK-NEXT: .short 0
32 ; CHECK-NEXT: .short 0
33 ; LIVE-LABEL: .long L{{.*}}-_liveness
46 ; LIVE-NEXT: .short 17
49 ; LIVE-NEXT: .short 18
52 ; LIVE-NEXT: .short 19
56 ; CHECK-LABEL: .long L{{.*}}-_liveness
57 ; CHECK-NEXT: .short 0
58 ; CHECK-NEXT: .short 0
59 ; CHECK-NEXT: .short 0
60 ; LIVE-LABEL: .long L{{.*}}-_liveness
67 ; LIVE-NEXT: .short 19
70 define void @liveness() {
72 %a1 = call <2 x double> asm sideeffect "", "={xmm2}"() nounwind
73 call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 1, i32 5)
74 %a2 = call i64 asm sideeffect "", "={r8}"() nounwind
75 %a3 = call i8 asm sideeffect "", "={ah}"() nounwind
76 %a4 = call <4 x double> asm sideeffect "", "={ymm0}"() nounwind
77 %a5 = call <4 x double> asm sideeffect "", "={ymm1}"() nounwind
78 call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 2, i32 5)
79 call void asm sideeffect "", "{r8},{ah},{ymm0},{ymm1}"(i64 %a2, i8 %a3, <4 x double> %a4, <4 x double> %a5) nounwind
80 call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 3, i32 5)
81 call void asm sideeffect "", "{xmm2}"(<2 x double> %a1) nounwind
85 declare void @llvm.experimental.stackmap(i64, i32, ...)