Lines Matching full:base
2 … -mtriple armv8.6a-arm-none-eabi -o - %s | FileCheck %s --check-prefix=BASE --check-prefix=BASE-ARM
3 …riple thumbv8.6a-arm-none-eabi -o - %s | FileCheck %s --check-prefix=BASE --check-prefix=BASE-THUMB
8 ; BASE-LABEL: bf_load_soft:
9 ; BASE: @ %bb.0:
10 ; BASE-NEXT: ldrh r0, [r0]
11 ; BASE-NEXT: bx lr
23 ; BASE-LABEL: bf_load_hard:
24 ; BASE: @ %bb.0:
25 ; BASE-NEXT: ldrh r0, [r0]
26 ; BASE-NEXT: vmov s0, r0
27 ; BASE-NEXT: bx lr
38 ; BASE-LABEL: bf_store_soft:
39 ; BASE: @ %bb.0:
40 ; BASE-NEXT: strh r1, [r0]
41 ; BASE-NEXT: bx lr
53 ; BASE-LABEL: bf_store_hard:
54 ; BASE: @ %bb.0:
55 ; BASE-NEXT: vmov r1, s0
56 ; BASE-NEXT: strh r1, [r0]
57 ; BASE-NEXT: bx lr
68 ; BASE-LABEL: bf_to_int_soft:
69 ; BASE: @ %bb.0:
70 ; BASE-NEXT: uxth r0, r0
71 ; BASE-NEXT: bx lr
84 ; BASE-LABEL: bf_to_int_hard:
85 ; BASE: @ %bb.0:
86 ; BASE-NEXT: vmov r0, s0
87 ; BASE-NEXT: uxth r0, r0
88 ; BASE-NEXT: bx lr
100 ; BASE-ARM-LABEL: bf_from_int_soft:
101 ; BASE-ARM: @ %bb.0:
102 ; BASE-ARM-NEXT: .pad #4
103 ; BASE-ARM-NEXT: sub sp, sp, #4
104 ; BASE-ARM-NEXT: strh r0, [sp, #2]
105 ; BASE-ARM-NEXT: ldrh r0, [sp, #2]
106 ; BASE-ARM-NEXT: add sp, sp, #4
107 ; BASE-ARM-NEXT: bx lr
109 ; BASE-THUMB-LABEL: bf_from_int_soft:
110 ; BASE-THUMB: @ %bb.0:
111 ; BASE-THUMB-NEXT: .pad #4
112 ; BASE-THUMB-NEXT: sub sp, #4
113 ; BASE-THUMB-NEXT: strh.w r0, [sp, #2]
114 ; BASE-THUMB-NEXT: ldrh.w r0, [sp, #2]
115 ; BASE-THUMB-NEXT: add sp, #4
116 ; BASE-THUMB-NEXT: bx lr
129 ; BASE-ARM-LABEL: bf_from_int_hard:
130 ; BASE-ARM: @ %bb.0:
131 ; BASE-ARM-NEXT: .pad #4
132 ; BASE-ARM-NEXT: sub sp, sp, #4
133 ; BASE-ARM-NEXT: strh r0, [sp, #2]
134 ; BASE-ARM-NEXT: ldrh r0, [sp, #2]
135 ; BASE-ARM-NEXT: vmov s0, r0
136 ; BASE-ARM-NEXT: add sp, sp, #4
137 ; BASE-ARM-NEXT: bx lr
139 ; BASE-THUMB-LABEL: bf_from_int_hard:
140 ; BASE-THUMB: @ %bb.0:
141 ; BASE-THUMB-NEXT: .pad #4
142 ; BASE-THUMB-NEXT: sub sp, #4
143 ; BASE-THUMB-NEXT: strh.w r0, [sp, #2]
144 ; BASE-THUMB-NEXT: ldrh.w r0, [sp, #2]
145 ; BASE-THUMB-NEXT: vmov s0, r0
146 ; BASE-THUMB-NEXT: add sp, #4
147 ; BASE-THUMB-NEXT: bx lr
159 ; BASE-ARM-LABEL: test_fncall_soft:
160 ; BASE-ARM: @ %bb.0:
161 ; BASE-ARM-NEXT: .save {r4, r5, r11, lr}
162 ; BASE-ARM-NEXT: push {r4, r5, r11, lr}
163 ; BASE-ARM-NEXT: .pad #8
164 ; BASE-ARM-NEXT: sub sp, sp, #8
165 ; BASE-ARM-NEXT: uxth r5, r0
166 ; BASE-ARM-NEXT: mov r4, r1
167 ; BASE-ARM-NEXT: mov r0, r5
168 ; BASE-ARM-NEXT: mov r1, r5
169 ; BASE-ARM-NEXT: blx r4
170 ; BASE-ARM-NEXT: strh r0, [sp, #6]
171 ; BASE-ARM-NEXT: uxth r1, r0
172 ; BASE-ARM-NEXT: mov r0, r5
173 ; BASE-ARM-NEXT: blx r4
174 ; BASE-ARM-NEXT: ldrh r0, [sp, #6]
175 ; BASE-ARM-NEXT: add sp, sp, #8
176 ; BASE-ARM-NEXT: pop {r4, r5, r11, pc}
178 ; BASE-THUMB-LABEL: test_fncall_soft:
179 ; BASE-THUMB: @ %bb.0:
180 ; BASE-THUMB-NEXT: .save {r4, r5, r7, lr}
181 ; BASE-THUMB-NEXT: push {r4, r5, r7, lr}
182 ; BASE-THUMB-NEXT: .pad #8
183 ; BASE-THUMB-NEXT: sub sp, #8
184 ; BASE-THUMB-NEXT: uxth r5, r0
185 ; BASE-THUMB-NEXT: mov r4, r1
186 ; BASE-THUMB-NEXT: mov r0, r5
187 ; BASE-THUMB-NEXT: mov r1, r5
188 ; BASE-THUMB-NEXT: blx r4
189 ; BASE-THUMB-NEXT: uxth r1, r0
190 ; BASE-THUMB-NEXT: strh.w r0, [sp, #6]
191 ; BASE-THUMB-NEXT: mov r0, r5
192 ; BASE-THUMB-NEXT: blx r4
193 ; BASE-THUMB-NEXT: ldrh.w r0, [sp, #6]
194 ; BASE-THUMB-NEXT: add sp, #8
195 ; BASE-THUMB-NEXT: pop {r4, r5, r7, pc}
242 ; BASE-ARM-LABEL: test_fncall_hard:
243 ; BASE-ARM: @ %bb.0:
244 ; BASE-ARM-NEXT: .save {r4, lr}
245 ; BASE-ARM-NEXT: push {r4, lr}
246 ; BASE-ARM-NEXT: .vsave {d8}
247 ; BASE-ARM-NEXT: vpush {d8}
248 ; BASE-ARM-NEXT: .pad #8
249 ; BASE-ARM-NEXT: sub sp, sp, #8
250 ; BASE-ARM-NEXT: mov r4, r0
251 ; BASE-ARM-NEXT: vmov r0, s0
252 ; BASE-ARM-NEXT: uxth r0, r0
253 ; BASE-ARM-NEXT: vmov s16, r0
254 ; BASE-ARM-NEXT: vmov.f32 s0, s16
255 ; BASE-ARM-NEXT: vmov.f32 s1, s16
256 ; BASE-ARM-NEXT: blx r4
257 ; BASE-ARM-NEXT: vmov r0, s0
258 ; BASE-ARM-NEXT: vmov.f32 s0, s16
259 ; BASE-ARM-NEXT: strh r0, [sp, #6]
260 ; BASE-ARM-NEXT: uxth r0, r0
261 ; BASE-ARM-NEXT: vmov s1, r0
262 ; BASE-ARM-NEXT: blx r4
263 ; BASE-ARM-NEXT: ldrh r0, [sp, #6]
264 ; BASE-ARM-NEXT: vmov s0, r0
265 ; BASE-ARM-NEXT: add sp, sp, #8
266 ; BASE-ARM-NEXT: vpop {d8}
267 ; BASE-ARM-NEXT: pop {r4, pc}
269 ; BASE-THUMB-LABEL: test_fncall_hard:
270 ; BASE-THUMB: @ %bb.0:
271 ; BASE-THUMB-NEXT: .save {r4, lr}
272 ; BASE-THUMB-NEXT: push {r4, lr}
273 ; BASE-THUMB-NEXT: .vsave {d8}
274 ; BASE-THUMB-NEXT: vpush {d8}
275 ; BASE-THUMB-NEXT: .pad #8
276 ; BASE-THUMB-NEXT: sub sp, #8
277 ; BASE-THUMB-NEXT: mov r4, r0
278 ; BASE-THUMB-NEXT: vmov r0, s0
279 ; BASE-THUMB-NEXT: uxth r0, r0
280 ; BASE-THUMB-NEXT: vmov s16, r0
281 ; BASE-THUMB-NEXT: vmov.f32 s0, s16
282 ; BASE-THUMB-NEXT: vmov.f32 s1, s16
283 ; BASE-THUMB-NEXT: blx r4
284 ; BASE-THUMB-NEXT: vmov r0, s0
285 ; BASE-THUMB-NEXT: vmov.f32 s0, s16
286 ; BASE-THUMB-NEXT: strh.w r0, [sp, #6]
287 ; BASE-THUMB-NEXT: uxth r0, r0
288 ; BASE-THUMB-NEXT: vmov s1, r0
289 ; BASE-THUMB-NEXT: blx r4
290 ; BASE-THUMB-NEXT: ldrh.w r0, [sp, #6]
291 ; BASE-THUMB-NEXT: vmov s0, r0
292 ; BASE-THUMB-NEXT: add sp, #8
293 ; BASE-THUMB-NEXT: vpop {d8}
294 ; BASE-THUMB-NEXT: pop {r4, pc}