Skip to content

Commit 59fca0a

Browse files
committed
Add test with Windows triple
1 parent 122832e commit 59fca0a

File tree

1 file changed

+118
-0
lines changed

1 file changed

+118
-0
lines changed
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2+
; RUN: llc < %s -mtriple=aarch64-windows-pc-msvc -aarch64-stack-hazard-size=0 | FileCheck %s --check-prefixes=CHECK0
3+
; RUN: llc < %s -mtriple=aarch64-windows-pc-msvc -aarch64-stack-hazard-size=64 | FileCheck %s --check-prefixes=CHECK64
4+
; RUN: llc < %s -mtriple=aarch64-windows-pc-msvc -aarch64-stack-hazard-size=1024 | FileCheck %s --check-prefixes=CHECK1024
5+
6+
define i32 @fpr_csr_stackobj(double %x) "aarch64_pstate_sm_compatible" "frame-pointer"="all" {
7+
; CHECK0-LABEL: fpr_csr_stackobj:
8+
; CHECK0: .seh_proc fpr_csr_stackobj
9+
; CHECK0-NEXT: // %bb.0: // %entry
10+
; CHECK0-NEXT: str x23, [sp, #-48]! // 8-byte Folded Spill
11+
; CHECK0-NEXT: .seh_save_reg_x x23, 48
12+
; CHECK0-NEXT: stp x29, x30, [sp, #8] // 16-byte Folded Spill
13+
; CHECK0-NEXT: .seh_save_fplr 8
14+
; CHECK0-NEXT: stp d9, d10, [sp, #24] // 16-byte Folded Spill
15+
; CHECK0-NEXT: .seh_save_fregp d9, 24
16+
; CHECK0-NEXT: add x29, sp, #8
17+
; CHECK0-NEXT: .seh_add_fp 8
18+
; CHECK0-NEXT: .seh_endprologue
19+
; CHECK0-NEXT: mov w0, wzr
20+
; CHECK0-NEXT: //APP
21+
; CHECK0-NEXT: //NO_APP
22+
; CHECK0-NEXT: str d0, [x29, #32]
23+
; CHECK0-NEXT: .seh_startepilogue
24+
; CHECK0-NEXT: ldp d9, d10, [sp, #24] // 16-byte Folded Reload
25+
; CHECK0-NEXT: .seh_save_fregp d9, 24
26+
; CHECK0-NEXT: ldp x29, x30, [sp, #8] // 16-byte Folded Reload
27+
; CHECK0-NEXT: .seh_save_fplr 8
28+
; CHECK0-NEXT: ldr x23, [sp], #48 // 8-byte Folded Reload
29+
; CHECK0-NEXT: .seh_save_reg_x x23, 48
30+
; CHECK0-NEXT: .seh_endepilogue
31+
; CHECK0-NEXT: ret
32+
; CHECK0-NEXT: .seh_endfunclet
33+
; CHECK0-NEXT: .seh_endproc
34+
;
35+
; CHECK64-LABEL: fpr_csr_stackobj:
36+
; CHECK64: .seh_proc fpr_csr_stackobj
37+
; CHECK64-NEXT: // %bb.0: // %entry
38+
; CHECK64-NEXT: sub sp, sp, #192
39+
; CHECK64-NEXT: .seh_stackalloc 192
40+
; CHECK64-NEXT: str x23, [sp, #80] // 8-byte Folded Spill
41+
; CHECK64-NEXT: .seh_save_reg x23, 80
42+
; CHECK64-NEXT: str x29, [sp, #88] // 8-byte Folded Spill
43+
; CHECK64-NEXT: .seh_save_reg x29, 88
44+
; CHECK64-NEXT: str x30, [sp, #96] // 8-byte Folded Spill
45+
; CHECK64-NEXT: .seh_save_reg x30, 96
46+
; CHECK64-NEXT: str d9, [sp, #168] // 8-byte Folded Spill
47+
; CHECK64-NEXT: .seh_save_freg d9, 168
48+
; CHECK64-NEXT: str d10, [sp, #176] // 8-byte Folded Spill
49+
; CHECK64-NEXT: .seh_save_freg d10, 176
50+
; CHECK64-NEXT: add x29, sp, #88
51+
; CHECK64-NEXT: .seh_add_fp 88
52+
; CHECK64-NEXT: .seh_endprologue
53+
; CHECK64-NEXT: mov w0, wzr
54+
; CHECK64-NEXT: //APP
55+
; CHECK64-NEXT: //NO_APP
56+
; CHECK64-NEXT: stur d0, [x29, #-16]
57+
; CHECK64-NEXT: .seh_startepilogue
58+
; CHECK64-NEXT: ldr d10, [sp, #176] // 8-byte Folded Reload
59+
; CHECK64-NEXT: .seh_save_freg d10, 176
60+
; CHECK64-NEXT: ldr d9, [sp, #168] // 8-byte Folded Reload
61+
; CHECK64-NEXT: .seh_save_freg d9, 168
62+
; CHECK64-NEXT: ldr x30, [sp, #96] // 8-byte Folded Reload
63+
; CHECK64-NEXT: .seh_save_reg x30, 96
64+
; CHECK64-NEXT: ldr x29, [sp, #88] // 8-byte Folded Reload
65+
; CHECK64-NEXT: .seh_save_reg x29, 88
66+
; CHECK64-NEXT: ldr x23, [sp, #80] // 8-byte Folded Reload
67+
; CHECK64-NEXT: .seh_save_reg x23, 80
68+
; CHECK64-NEXT: add sp, sp, #192
69+
; CHECK64-NEXT: .seh_stackalloc 192
70+
; CHECK64-NEXT: .seh_endepilogue
71+
; CHECK64-NEXT: ret
72+
; CHECK64-NEXT: .seh_endfunclet
73+
; CHECK64-NEXT: .seh_endproc
74+
;
75+
; CHECK1024-LABEL: fpr_csr_stackobj:
76+
; CHECK1024: .seh_proc fpr_csr_stackobj
77+
; CHECK1024-NEXT: // %bb.0: // %entry
78+
; CHECK1024-NEXT: sub sp, sp, #1072
79+
; CHECK1024-NEXT: str x23, [sp] // 8-byte Folded Spill
80+
; CHECK1024-NEXT: str x29, [sp, #8] // 8-byte Folded Spill
81+
; CHECK1024-NEXT: .seh_save_reg x29, 8
82+
; CHECK1024-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
83+
; CHECK1024-NEXT: .seh_save_reg x30, 16
84+
; CHECK1024-NEXT: str d9, [sp, #1048] // 8-byte Folded Spill
85+
; CHECK1024-NEXT: .seh_save_freg d9, 1048
86+
; CHECK1024-NEXT: str d10, [sp, #1056] // 8-byte Folded Spill
87+
; CHECK1024-NEXT: .seh_save_freg d10, 1056
88+
; CHECK1024-NEXT: add x29, sp, #8
89+
; CHECK1024-NEXT: .seh_add_fp 8
90+
; CHECK1024-NEXT: .seh_endprologue
91+
; CHECK1024-NEXT: sub sp, sp, #1040
92+
; CHECK1024-NEXT: mov w0, wzr
93+
; CHECK1024-NEXT: //APP
94+
; CHECK1024-NEXT: //NO_APP
95+
; CHECK1024-NEXT: stur d0, [x29, #-16]
96+
; CHECK1024-NEXT: .seh_startepilogue
97+
; CHECK1024-NEXT: add sp, sp, #1040
98+
; CHECK1024-NEXT: .seh_stackalloc 1040
99+
; CHECK1024-NEXT: ldr d10, [sp, #1056] // 8-byte Folded Reload
100+
; CHECK1024-NEXT: .seh_save_freg d10, 1056
101+
; CHECK1024-NEXT: ldr d9, [sp, #1048] // 8-byte Folded Reload
102+
; CHECK1024-NEXT: .seh_save_freg d9, 1048
103+
; CHECK1024-NEXT: ldr x30, [sp, #16] // 8-byte Folded Reload
104+
; CHECK1024-NEXT: .seh_save_reg x30, 16
105+
; CHECK1024-NEXT: ldr x29, [sp, #8] // 8-byte Folded Reload
106+
; CHECK1024-NEXT: .seh_save_reg x29, 8
107+
; CHECK1024-NEXT: ldr x23, [sp] // 8-byte Folded Reload
108+
; CHECK1024-NEXT: add sp, sp, #1072
109+
; CHECK1024-NEXT: .seh_endepilogue
110+
; CHECK1024-NEXT: ret
111+
; CHECK1024-NEXT: .seh_endfunclet
112+
; CHECK1024-NEXT: .seh_endproc
113+
entry:
114+
%a = alloca double
115+
tail call void asm sideeffect "", "~{x23},~{d9},~{d10}"()
116+
store double %x, ptr %a
117+
ret i32 0
118+
}

0 commit comments

Comments
 (0)