Lines Matching +full:0 +full:x19

16 define void @f16_arg(half %arg, ptr %ptr) #0 {
18 ; NOFP16: // %bb.0:
19 ; NOFP16-NEXT: stp x30, x19, [sp, #-16]! // 16-byte Folded Spill
23 ; NOFP16-NEXT: and w0, w0, #0xffff
24 ; NOFP16-NEXT: mov x19, x1
26 ; NOFP16-NEXT: str w0, [x19]
27 ; NOFP16-NEXT: ldp x30, x19, [sp], #16 // 16-byte Folded Reload
34 define void @v2f16_arg(<2 x half> %arg, ptr %ptr) #0 {
36 ; NOFP16: // %bb.0:
38 ; NOFP16-NEXT: stp x20, x19, [sp, #16] // 16-byte Folded Spill
44 ; NOFP16-NEXT: and w0, w0, #0xffff
45 ; NOFP16-NEXT: mov x19, x2
49 ; NOFP16-NEXT: and w0, w20, #0xffff
51 ; NOFP16-NEXT: stp w21, w0, [x19]
52 ; NOFP16-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload
60 define void @v3f16_arg(<3 x half> %arg, ptr %ptr) #0 {
62 ; NOFP16: // %bb.0:
65 ; NOFP16-NEXT: stp x20, x19, [sp, #32] // 16-byte Folded Spill
73 ; NOFP16-NEXT: and w0, w1, #0xffff
74 ; NOFP16-NEXT: mov x19, x3
78 ; NOFP16-NEXT: and w0, w21, #0xffff
81 ; NOFP16-NEXT: and w0, w20, #0xffff
84 ; NOFP16-NEXT: str x21, [x19]
86 ; NOFP16-NEXT: str w0, [x19, #8]
87 ; NOFP16-NEXT: ldp x20, x19, [sp, #32] // 16-byte Folded Reload
95 define void @v4f16_arg(<4 x half> %arg, ptr %ptr) #0 {
97 ; NOFP16: // %bb.0:
100 ; NOFP16-NEXT: stp x20, x19, [sp, #32] // 16-byte Folded Spill
108 ; NOFP16-NEXT: and w0, w0, #0xffff
109 ; NOFP16-NEXT: mov x19, x4
115 ; NOFP16-NEXT: and w0, w22, #0xffff
118 ; NOFP16-NEXT: and w0, w21, #0xffff
121 ; NOFP16-NEXT: and w0, w20, #0xffff
123 ; NOFP16-NEXT: stp w21, w0, [x19, #8]
124 ; NOFP16-NEXT: stp w23, w22, [x19]
125 ; NOFP16-NEXT: ldp x20, x19, [sp, #32] // 16-byte Folded Reload
134 define half @f16_return(float %arg) #0 {
136 ; NOFP16: // %bb.0:
147 define <2 x half> @v2f16_return(<2 x float> %arg) #0 {
149 ; NOFP16: // %bb.0:
151 ; NOFP16-NEXT: stp x20, x19, [sp, #16] // 16-byte Folded Spill
163 ; NOFP16-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload
170 define <3 x half> @v3f16_return(<3 x float> %arg) #0 {
172 ; NOFP16: // %bb.0:
174 ; NOFP16-NEXT: stp x20, x19, [sp, #16] // 16-byte Folded Spill
191 ; NOFP16-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload
199 define <4 x half> @v4f16_return(<4 x float> %arg) #0 {
201 ; NOFP16: // %bb.0:
204 ; NOFP16-NEXT: stp x20, x19, [sp, #32] // 16-byte Folded Spill
228 ; NOFP16-NEXT: ldp x20, x19, [sp, #32] // 16-byte Folded Reload
237 ; define void @outgoing_f16_arg(ptr %ptr) #0 {
243 ; define void @outgoing_v2f16_arg(ptr %ptr) #0 {
249 ; define void @outgoing_f16_return(ptr %ptr) #0 {
255 ; define void @outgoing_v2f16_return(ptr %ptr) #0 {
261 define void @outgoing_v4f16_return(ptr %ptr) #0 {
263 ; NOFP16: // %bb.0:
264 ; NOFP16-NEXT: stp x30, x19, [sp, #-16]! // 16-byte Folded Spill
268 ; NOFP16-NEXT: mov x19, x0
270 ; NOFP16-NEXT: strh w2, [x19, #4]
271 ; NOFP16-NEXT: strh w3, [x19, #6]
272 ; NOFP16-NEXT: strh w1, [x19, #2]
273 ; NOFP16-NEXT: strh w0, [x19]
274 ; NOFP16-NEXT: ldp x30, x19, [sp], #16 // 16-byte Folded Reload
276 %val = call <4 x half> @v4f16_result() #0
281 define void @outgoing_v8f16_return(ptr %ptr) #0 {
283 ; NOFP16: // %bb.0:
284 ; NOFP16-NEXT: stp x30, x19, [sp, #-16]! // 16-byte Folded Spill
288 ; NOFP16-NEXT: mov x19, x0
290 ; NOFP16-NEXT: strh w5, [x19, #10]
291 ; NOFP16-NEXT: strh w7, [x19, #14]
292 ; NOFP16-NEXT: strh w6, [x19, #12]
293 ; NOFP16-NEXT: strh w4, [x19, #8]
294 ; NOFP16-NEXT: strh w3, [x19, #6]
295 ; NOFP16-NEXT: strh w2, [x19, #4]
296 ; NOFP16-NEXT: strh w1, [x19, #2]
297 ; NOFP16-NEXT: strh w0, [x19]
298 ; NOFP16-NEXT: ldp x30, x19, [sp], #16 // 16-byte Folded Reload
300 %val = call <8 x half> @v8f16_result() #0
305 define half @call_split_type_used_outside_block_v8f16() #0 {
307 ; NOFP16: // %bb.0: // %bb0
315 %split.ret.type = call <8 x half> @v8f16_result() #0
319 %extract = extractelement <8 x half> %split.ret.type, i32 0
323 declare float @llvm.experimental.constrained.fpext.f32.f16(half, metadata) #0
324 declare <2 x float> @llvm.experimental.constrained.fpext.v2f32.v2f16(<2 x half>, metadata) #0
325 declare <3 x float> @llvm.experimental.constrained.fpext.v3f32.v3f16(<3 x half>, metadata) #0
326 declare <4 x float> @llvm.experimental.constrained.fpext.v4f32.v4f16(<4 x half>, metadata) #0
328 declare half @llvm.experimental.constrained.fptrunc.f16.f32(float, metadata, metadata) #0
329 …e <2 x half> @llvm.experimental.constrained.fptrunc.v2f16.v2f32(<2 x float>, metadata, metadata) #0
330 …e <3 x half> @llvm.experimental.constrained.fptrunc.v3f16.v3f32(<3 x float>, metadata, metadata) #0
331 …e <4 x half> @llvm.experimental.constrained.fptrunc.v4f16.v4f32(<4 x float>, metadata, metadata) #0
333 attributes #0 = { strictfp }