[libc] implement unistd/getentropy (#122692)
[llvm-project.git] / llvm / test / CodeGen / Thumb2 / mve-stacksplot.mir
blobfecd8e799657d1dfee85ba6dcb567d74c200cc21
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -o - %s -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve.fp -run-pass=stack-protector -run-pass=prologepilog | FileCheck %s
3 ---
4 name: func0
5 tracksRegLiveness: true
6 stack:
7   - { id: 0, name: '', type: default, offset: 0, size: 16, alignment: 4,
8       stack-id: default, callee-saved-register: '', callee-saved-restored: true,
9       local-offset: -16, debug-info-variable: '', debug-info-expression: '',
10       debug-info-location: '' }
11 body: |
12   bb.0:
13     ; CHECK-LABEL: name: func0
14     ; CHECK: liveins: $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11, $lr
15     ; CHECK: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $r7, killed $r8, killed $r9, killed $r10, killed $r11, killed $lr
16     ; CHECK: frame-setup CFI_INSTRUCTION def_cfa_offset 36
17     ; CHECK: frame-setup CFI_INSTRUCTION offset $lr, -4
18     ; CHECK: frame-setup CFI_INSTRUCTION offset $r11, -8
19     ; CHECK: frame-setup CFI_INSTRUCTION offset $r10, -12
20     ; CHECK: frame-setup CFI_INSTRUCTION offset $r9, -16
21     ; CHECK: frame-setup CFI_INSTRUCTION offset $r8, -20
22     ; CHECK: frame-setup CFI_INSTRUCTION offset $r7, -24
23     ; CHECK: frame-setup CFI_INSTRUCTION offset $r6, -28
24     ; CHECK: frame-setup CFI_INSTRUCTION offset $r5, -32
25     ; CHECK: frame-setup CFI_INSTRUCTION offset $r4, -36
26     ; CHECK: $sp = frame-setup tSUBspi $sp, 5, 14 /* CC::al */, $noreg
27     ; CHECK: frame-setup CFI_INSTRUCTION def_cfa_offset 56
28     ; CHECK: $r0 = IMPLICIT_DEF
29     ; CHECK: $r1 = IMPLICIT_DEF
30     ; CHECK: $r2 = IMPLICIT_DEF
31     ; CHECK: $r3 = IMPLICIT_DEF
32     ; CHECK: $r4 = IMPLICIT_DEF
33     ; CHECK: $r5 = IMPLICIT_DEF
34     ; CHECK: $r6 = IMPLICIT_DEF
35     ; CHECK: $r7 = IMPLICIT_DEF
36     ; CHECK: $r8 = IMPLICIT_DEF
37     ; CHECK: $r9 = IMPLICIT_DEF
38     ; CHECK: $r10 = IMPLICIT_DEF
39     ; CHECK: $r11 = IMPLICIT_DEF
40     ; CHECK: $r12 = IMPLICIT_DEF
41     ; CHECK: $lr = IMPLICIT_DEF
42     ; CHECK: t2STRi12 killed $r0, $sp, 0, 14 /* CC::al */, $noreg :: (store (s32) into %stack.1)
43     ; CHECK: $r0 = tMOVr killed $sp, 14 /* CC::al */, $noreg
44     ; CHECK: renamable $q2 = MVE_VLDRBU32 killed $r0, 16, 0, $noreg, $noreg :: (load (s32) from %stack.0 + 12)
45     ; CHECK: $r0 = t2LDRi12 $sp, 0, 14 /* CC::al */, $noreg :: (load (s32) from %stack.1)
46     ; CHECK: KILL $r0
47     ; CHECK: KILL $r1
48     ; CHECK: KILL $r2
49     ; CHECK: KILL $r3
50     ; CHECK: KILL $r4
51     ; CHECK: KILL $r5
52     ; CHECK: KILL $r6
53     ; CHECK: KILL $r7
54     ; CHECK: KILL $r8
55     ; CHECK: KILL $r9
56     ; CHECK: KILL $r10
57     ; CHECK: KILL $r11
58     ; CHECK: KILL $r12
59     ; CHECK: KILL $lr
60     $r0 = IMPLICIT_DEF
61     $r1 = IMPLICIT_DEF
62     $r2 = IMPLICIT_DEF
63     $r3 = IMPLICIT_DEF
64     $r4 = IMPLICIT_DEF
65     $r5 = IMPLICIT_DEF
66     $r6 = IMPLICIT_DEF
67     $r7 = IMPLICIT_DEF
68     $r8 = IMPLICIT_DEF
69     $r9 = IMPLICIT_DEF
70     $r10 = IMPLICIT_DEF
71     $r11 = IMPLICIT_DEF
72     $r12 = IMPLICIT_DEF
73     $lr = IMPLICIT_DEF
75     renamable $q2 = MVE_VLDRBU32 %stack.0, 12, 0, $noreg, $noreg :: (load (s32) from %stack.0 + 12)
77     KILL $r0
78     KILL $r1
79     KILL $r2
80     KILL $r3
81     KILL $r4
82     KILL $r5
83     KILL $r6
84     KILL $r7
85     KILL $r8
86     KILL $r9
87     KILL $r10
88     KILL $r11
89     KILL $r12
90     KILL $lr
91 ...
92 ---
93 name: func1
94 tracksRegLiveness: true
95 stack:
96   - { id: 0, name: '', type: default, offset: 0, size: 16, alignment: 4,
97       stack-id: default, callee-saved-register: '', callee-saved-restored: true,
98       local-offset: -1200, debug-info-variable: '', debug-info-expression: '',
99       debug-info-location: '' }
100   - { id: 1, name: '', type: default, offset: 0, size: 1200, alignment: 4,
101       stack-id: default, callee-saved-register: '', callee-saved-restored: true,
102       local-offset: -1200, debug-info-variable: '', debug-info-expression: '',
103       debug-info-location: '' }
104 body: |
105   bb.0:
106     ; CHECK-LABEL: name: func1
107     ; CHECK: liveins: $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11, $lr
108     ; CHECK: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $r7, killed $r8, killed $r9, killed $r10, killed $r11, killed $lr
109     ; CHECK: frame-setup CFI_INSTRUCTION def_cfa_offset 36
110     ; CHECK: frame-setup CFI_INSTRUCTION offset $lr, -4
111     ; CHECK: frame-setup CFI_INSTRUCTION offset $r11, -8
112     ; CHECK: frame-setup CFI_INSTRUCTION offset $r10, -12
113     ; CHECK: frame-setup CFI_INSTRUCTION offset $r9, -16
114     ; CHECK: frame-setup CFI_INSTRUCTION offset $r8, -20
115     ; CHECK: frame-setup CFI_INSTRUCTION offset $r7, -24
116     ; CHECK: frame-setup CFI_INSTRUCTION offset $r6, -28
117     ; CHECK: frame-setup CFI_INSTRUCTION offset $r5, -32
118     ; CHECK: frame-setup CFI_INSTRUCTION offset $r4, -36
119     ; CHECK: $sp = frame-setup t2SUBspImm12 killed $sp, 1220, 14 /* CC::al */, $noreg
120     ; CHECK: frame-setup CFI_INSTRUCTION def_cfa_offset 1256
121     ; CHECK: $r0 = IMPLICIT_DEF
122     ; CHECK: $r1 = IMPLICIT_DEF
123     ; CHECK: $r2 = IMPLICIT_DEF
124     ; CHECK: $r3 = IMPLICIT_DEF
125     ; CHECK: $r4 = IMPLICIT_DEF
126     ; CHECK: $r5 = IMPLICIT_DEF
127     ; CHECK: $r6 = IMPLICIT_DEF
128     ; CHECK: $r7 = IMPLICIT_DEF
129     ; CHECK: $r8 = IMPLICIT_DEF
130     ; CHECK: $r9 = IMPLICIT_DEF
131     ; CHECK: $r10 = IMPLICIT_DEF
132     ; CHECK: $r11 = IMPLICIT_DEF
133     ; CHECK: $r12 = IMPLICIT_DEF
134     ; CHECK: $lr = IMPLICIT_DEF
135     ; CHECK: t2STRi12 killed $r0, $sp, 0, 14 /* CC::al */, $noreg :: (store (s32) into %stack.2)
136     ; CHECK: $r0 = t2ADDri killed $sp, 1152, 14 /* CC::al */, $noreg, $noreg
137     ; CHECK: renamable $q2 = MVE_VLDRBU8 killed $r0, 52, 0, $noreg, $noreg :: (load (s32) from %stack.0)
138     ; CHECK: $r0 = t2LDRi12 $sp, 0, 14 /* CC::al */, $noreg :: (load (s32) from %stack.2)
139     ; CHECK: KILL $r0
140     ; CHECK: KILL $r1
141     ; CHECK: KILL $r2
142     ; CHECK: KILL $r3
143     ; CHECK: KILL $r4
144     ; CHECK: KILL $r5
145     ; CHECK: KILL $r6
146     ; CHECK: KILL $r7
147     ; CHECK: KILL $r8
148     ; CHECK: KILL $r9
149     ; CHECK: KILL $r10
150     ; CHECK: KILL $r11
151     ; CHECK: KILL $r12
152     ; CHECK: KILL $lr
153     $r0 = IMPLICIT_DEF
154     $r1 = IMPLICIT_DEF
155     $r2 = IMPLICIT_DEF
156     $r3 = IMPLICIT_DEF
157     $r4 = IMPLICIT_DEF
158     $r5 = IMPLICIT_DEF
159     $r6 = IMPLICIT_DEF
160     $r7 = IMPLICIT_DEF
161     $r8 = IMPLICIT_DEF
162     $r9 = IMPLICIT_DEF
163     $r10 = IMPLICIT_DEF
164     $r11 = IMPLICIT_DEF
165     $r12 = IMPLICIT_DEF
166     $lr = IMPLICIT_DEF
168     renamable $q2 = MVE_VLDRBU8 %stack.0, 0, 0, $noreg, $noreg :: (load (s32) from %stack.0)
170     KILL $r0
171     KILL $r1
172     KILL $r2
173     KILL $r3
174     KILL $r4
175     KILL $r5
176     KILL $r6
177     KILL $r7
178     KILL $r8
179     KILL $r9
180     KILL $r10
181     KILL $r11
182     KILL $r12
183     KILL $lr