Lines Matching full:be

3 ; RUN: llc --mattr=+sve -aarch64-enable-sink-fold=true < %s -mtriple aarch64_be-unknown-unknown | FileCheck --check-prefix CHECK-BE %s
11 ; CHECK-BE-LABEL: test_ldnp_v4f64:
12 ; CHECK-BE: // %bb.0:
13 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
14 ; CHECK-BE-NEXT: ret
25 ; CHECK-BE-LABEL: test_ldnp_v4i64:
26 ; CHECK-BE: // %bb.0:
27 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
28 ; CHECK-BE-NEXT: ret
39 ; CHECK-BE-LABEL: test_ldnp_v8i32:
40 ; CHECK-BE: // %bb.0:
41 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
42 ; CHECK-BE-NEXT: ret
53 ; CHECK-BE-LABEL: test_ldnp_v8f32:
54 ; CHECK-BE: // %bb.0:
55 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
56 ; CHECK-BE-NEXT: ret
67 ; CHECK-BE-LABEL: test_ldnp_v16i16:
68 ; CHECK-BE: // %bb.0:
69 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
70 ; CHECK-BE-NEXT: ret
81 ; CHECK-BE-LABEL: test_ldnp_v16f16:
82 ; CHECK-BE: // %bb.0:
83 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
84 ; CHECK-BE-NEXT: ret
95 ; CHECK-BE-LABEL: test_ldnp_v32i8:
96 ; CHECK-BE: // %bb.0:
97 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
98 ; CHECK-BE-NEXT: ret
109 ; CHECK-BE-LABEL: test_ldnp_v4i32:
110 ; CHECK-BE: // %bb.0:
111 ; CHECK-BE-NEXT: ldr q0, [x0]
112 ; CHECK-BE-NEXT: ret
123 ; CHECK-BE-LABEL: test_ldnp_v4f32:
124 ; CHECK-BE: // %bb.0:
125 ; CHECK-BE-NEXT: ldr q0, [x0]
126 ; CHECK-BE-NEXT: ret
137 ; CHECK-BE-LABEL: test_ldnp_v8i16:
138 ; CHECK-BE: // %bb.0:
139 ; CHECK-BE-NEXT: ldr q0, [x0]
140 ; CHECK-BE-NEXT: ret
151 ; CHECK-BE-LABEL: test_ldnp_v16i8:
152 ; CHECK-BE: // %bb.0:
153 ; CHECK-BE-NEXT: ldr q0, [x0]
154 ; CHECK-BE-NEXT: ret
164 ; CHECK-BE-LABEL: test_ldnp_v2f64:
165 ; CHECK-BE: // %bb.0:
166 ; CHECK-BE-NEXT: ldr q0, [x0]
167 ; CHECK-BE-NEXT: ret
178 ; CHECK-BE-LABEL: test_ldnp_v2i32:
179 ; CHECK-BE: // %bb.0:
180 ; CHECK-BE-NEXT: ldr d0, [x0]
181 ; CHECK-BE-NEXT: ret
192 ; CHECK-BE-LABEL: test_ldnp_v2f32:
193 ; CHECK-BE: // %bb.0:
194 ; CHECK-BE-NEXT: ldr d0, [x0]
195 ; CHECK-BE-NEXT: ret
206 ; CHECK-BE-LABEL: test_ldnp_v4i16:
207 ; CHECK-BE: // %bb.0:
208 ; CHECK-BE-NEXT: ldr d0, [x0]
209 ; CHECK-BE-NEXT: ret
220 ; CHECK-BE-LABEL: test_ldnp_v8i8:
221 ; CHECK-BE: // %bb.0:
222 ; CHECK-BE-NEXT: ldr d0, [x0]
223 ; CHECK-BE-NEXT: ret
234 ; CHECK-BE-LABEL: test_ldnp_v1f64:
235 ; CHECK-BE: // %bb.0:
236 ; CHECK-BE-NEXT: ldr d0, [x0]
237 ; CHECK-BE-NEXT: ret
248 ; CHECK-BE-LABEL: test_ldnp_v1i64:
249 ; CHECK-BE: // %bb.0:
250 ; CHECK-BE-NEXT: ldr d0, [x0]
251 ; CHECK-BE-NEXT: ret
263 ; CHECK-BE-LABEL: test_ldnp_v32i16:
264 ; CHECK-BE: // %bb.0:
265 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
266 ; CHECK-BE-NEXT: ldp q2, q3, [x0, #32]
267 ; CHECK-BE-NEXT: ret
279 ; CHECK-BE-LABEL: test_ldnp_v32f16:
280 ; CHECK-BE: // %bb.0:
281 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
282 ; CHECK-BE-NEXT: ldp q2, q3, [x0, #32]
283 ; CHECK-BE-NEXT: ret
295 ; CHECK-BE-LABEL: test_ldnp_v16i32:
296 ; CHECK-BE: // %bb.0:
297 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
298 ; CHECK-BE-NEXT: ldp q2, q3, [x0, #32]
299 ; CHECK-BE-NEXT: ret
311 ; CHECK-BE-LABEL: test_ldnp_v16f32:
312 ; CHECK-BE: // %bb.0:
313 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
314 ; CHECK-BE-NEXT: ldp q2, q3, [x0, #32]
315 ; CHECK-BE-NEXT: ret
331 ; CHECK-BE-LABEL: test_ldnp_v17f32:
332 ; CHECK-BE: // %bb.0:
333 ; CHECK-BE-NEXT: add x9, x0, #48
334 ; CHECK-BE-NEXT: ld1 { v0.4s }, [x0]
335 ; CHECK-BE-NEXT: add x10, x0, #32
336 ; CHECK-BE-NEXT: ld1 { v2.4s }, [x9]
337 ; CHECK-BE-NEXT: add x9, x0, #16
338 ; CHECK-BE-NEXT: ldr s1, [x0, #64]
339 ; CHECK-BE-NEXT: ld1 { v3.4s }, [x9]
340 ; CHECK-BE-NEXT: ld1 { v4.4s }, [x10]
341 ; CHECK-BE-NEXT: add x9, x8, #48
342 ; CHECK-BE-NEXT: str s1, [x8, #64]
343 ; CHECK-BE-NEXT: add x10, x8, #32
344 ; CHECK-BE-NEXT: st1 { v0.4s }, [x8]
345 ; CHECK-BE-NEXT: add x8, x8, #16
346 ; CHECK-BE-NEXT: st1 { v2.4s }, [x9]
347 ; CHECK-BE-NEXT: st1 { v4.4s }, [x10]
348 ; CHECK-BE-NEXT: st1 { v3.4s }, [x8]
349 ; CHECK-BE-NEXT: ret
377 ; CHECK-BE-LABEL: test_ldnp_v33f64:
378 ; CHECK-BE: // %bb.0:
379 ; CHECK-BE-NEXT: add x9, x0, #16
380 ; CHECK-BE-NEXT: add x10, x0, #32
381 ; CHECK-BE-NEXT: add x11, x0, #48
382 ; CHECK-BE-NEXT: ld1 { v0.2d }, [x9]
383 ; CHECK-BE-NEXT: add x9, x0, #64
384 ; CHECK-BE-NEXT: ld1 { v1.2d }, [x10]
385 ; CHECK-BE-NEXT: add x10, x0, #80
386 ; CHECK-BE-NEXT: ld1 { v3.2d }, [x9]
387 ; CHECK-BE-NEXT: add x9, x0, #112
388 ; CHECK-BE-NEXT: ld1 { v4.2d }, [x10]
389 ; CHECK-BE-NEXT: add x10, x0, #128
390 ; CHECK-BE-NEXT: ld1 { v6.2d }, [x9]
391 ; CHECK-BE-NEXT: add x9, x0, #160
392 ; CHECK-BE-NEXT: ld1 { v7.2d }, [x10]
393 ; CHECK-BE-NEXT: add x10, x0, #176
394 ; CHECK-BE-NEXT: ld1 { v17.2d }, [x9]
395 ; CHECK-BE-NEXT: add x9, x0, #240
396 ; CHECK-BE-NEXT: ld1 { v2.2d }, [x11]
397 ; CHECK-BE-NEXT: add x11, x0, #96
398 ; CHECK-BE-NEXT: ld1 { v18.2d }, [x10]
399 ; CHECK-BE-NEXT: ld1 { v20.2d }, [x0]
400 ; CHECK-BE-NEXT: ld1 { v22.2d }, [x9]
401 ; CHECK-BE-NEXT: add x10, x0, #224
402 ; CHECK-BE-NEXT: ld1 { v5.2d }, [x11]
403 ; CHECK-BE-NEXT: add x11, x0, #144
404 ; CHECK-BE-NEXT: ldr d21, [x0, #256]
405 ; CHECK-BE-NEXT: add x9, x0, #208
406 ; CHECK-BE-NEXT: ld1 { v24.2d }, [x10]
407 ; CHECK-BE-NEXT: ld1 { v16.2d }, [x11]
408 ; CHECK-BE-NEXT: add x11, x0, #192
409 ; CHECK-BE-NEXT: ld1 { v23.2d }, [x9]
410 ; CHECK-BE-NEXT: add x9, x8, #240
411 ; CHECK-BE-NEXT: ld1 { v19.2d }, [x11]
412 ; CHECK-BE-NEXT: str d21, [x8, #256]
413 ; CHECK-BE-NEXT: st1 { v20.2d }, [x8]
414 ; CHECK-BE-NEXT: st1 { v22.2d }, [x9]
415 ; CHECK-BE-NEXT: add x9, x8, #224
416 ; CHECK-BE-NEXT: st1 { v24.2d }, [x9]
417 ; CHECK-BE-NEXT: add x9, x8, #208
418 ; CHECK-BE-NEXT: st1 { v23.2d }, [x9]
419 ; CHECK-BE-NEXT: add x9, x8, #192
420 ; CHECK-BE-NEXT: st1 { v19.2d }, [x9]
421 ; CHECK-BE-NEXT: add x9, x8, #176
422 ; CHECK-BE-NEXT: st1 { v18.2d }, [x9]
423 ; CHECK-BE-NEXT: add x9, x8, #160
424 ; CHECK-BE-NEXT: st1 { v17.2d }, [x9]
425 ; CHECK-BE-NEXT: add x9, x8, #144
426 ; CHECK-BE-NEXT: st1 { v16.2d }, [x9]
427 ; CHECK-BE-NEXT: add x9, x8, #128
428 ; CHECK-BE-NEXT: st1 { v7.2d }, [x9]
429 ; CHECK-BE-NEXT: add x9, x8, #112
430 ; CHECK-BE-NEXT: st1 { v6.2d }, [x9]
431 ; CHECK-BE-NEXT: add x9, x8, #96
432 ; CHECK-BE-NEXT: st1 { v5.2d }, [x9]
433 ; CHECK-BE-NEXT: add x9, x8, #80
434 ; CHECK-BE-NEXT: st1 { v4.2d }, [x9]
435 ; CHECK-BE-NEXT: add x9, x8, #64
436 ; CHECK-BE-NEXT: st1 { v3.2d }, [x9]
437 ; CHECK-BE-NEXT: add x9, x8, #48
438 ; CHECK-BE-NEXT: st1 { v2.2d }, [x9]
439 ; CHECK-BE-NEXT: add x9, x8, #32
440 ; CHECK-BE-NEXT: add x8, x8, #16
441 ; CHECK-BE-NEXT: st1 { v1.2d }, [x9]
442 ; CHECK-BE-NEXT: st1 { v0.2d }, [x8]
443 ; CHECK-BE-NEXT: ret
458 ; CHECK-BE-LABEL: test_ldnp_v33i8:
459 ; CHECK-BE: // %bb.0:
460 ; CHECK-BE-NEXT: add x9, x0, #16
461 ; CHECK-BE-NEXT: ld1 { v0.16b }, [x0]
462 ; CHECK-BE-NEXT: ldrb w10, [x0, #32]
463 ; CHECK-BE-NEXT: ld1 { v1.16b }, [x9]
464 ; CHECK-BE-NEXT: strb w10, [x8, #32]
465 ; CHECK-BE-NEXT: st1 { v0.16b }, [x8]
466 ; CHECK-BE-NEXT: add x8, x8, #16
467 ; CHECK-BE-NEXT: st1 { v1.16b }, [x8]
468 ; CHECK-BE-NEXT: ret
488 ; CHECK-BE-LABEL: test_ldnp_v4i65:
489 ; CHECK-BE: // %bb.0:
490 ; CHECK-BE-NEXT: ldp x9, x8, [x0]
491 ; CHECK-BE-NEXT: ldrb w12, [x0, #32]
492 ; CHECK-BE-NEXT: ldp x10, x11, [x0, #16]
493 ; CHECK-BE-NEXT: extr x13, x9, x8, #56
494 ; CHECK-BE-NEXT: lsr x14, x9, #56
495 ; CHECK-BE-NEXT: lsr x16, x8, #56
496 ; CHECK-BE-NEXT: extr x15, x8, x10, #56
497 ; CHECK-BE-NEXT: orr x7, x12, x11, lsl #8
498 ; CHECK-BE-NEXT: extr x11, x10, x11, #56
499 ; CHECK-BE-NEXT: lsr x12, x10, #56
500 ; CHECK-BE-NEXT: extr x1, x14, x13, #3
501 ; CHECK-BE-NEXT: lsr x0, x9, #59
502 ; CHECK-BE-NEXT: ubfx x2, x8, #58, #1
503 ; CHECK-BE-NEXT: ubfx x4, x10, #57, #1
504 ; CHECK-BE-NEXT: extr x3, x16, x15, #2
505 ; CHECK-BE-NEXT: extr x5, x12, x11, #1
506 ; CHECK-BE-NEXT: and x6, x11, #0x1
507 ; CHECK-BE-NEXT: ret
525 ; CHECK-BE-LABEL: test_ldnp_v4i63:
526 ; CHECK-BE: // %bb.0:
527 ; CHECK-BE-NEXT: ldp x9, x8, [x0, #8]
528 ; CHECK-BE-NEXT: ldr x11, [x0, #24]
529 ; CHECK-BE-NEXT: ldr x10, [x0]
530 ; CHECK-BE-NEXT: and x3, x11, #0x7fffffffffffffff
531 ; CHECK-BE-NEXT: extr x12, x9, x8, #62
532 ; CHECK-BE-NEXT: extr x8, x8, x11, #63
533 ; CHECK-BE-NEXT: extr x0, x10, x9, #61
534 ; CHECK-BE-NEXT: and x1, x12, #0x7fffffffffffffff
535 ; CHECK-BE-NEXT: and x2, x8, #0x7fffffffffffffff
536 ; CHECK-BE-NEXT: ret
554 ; CHECK-BE-LABEL: test_ldnp_v5f64:
555 ; CHECK-BE: // %bb.0:
556 ; CHECK-BE-NEXT: add x8, x0, #16
557 ; CHECK-BE-NEXT: ld1 { v0.2d }, [x0]
558 ; CHECK-BE-NEXT: ldr d4, [x0, #32]
559 ; CHECK-BE-NEXT: ld1 { v2.2d }, [x8]
560 ; CHECK-BE-NEXT: // kill: def $d4 killed $d4 killed $q4
561 ; CHECK-BE-NEXT: ext v1.16b, v0.16b, v0.16b, #8
562 ; CHECK-BE-NEXT: // kill: def $d0 killed $d0 killed $q0
563 ; CHECK-BE-NEXT: ext v3.16b, v2.16b, v2.16b, #8
564 ; CHECK-BE-NEXT: // kill: def $d1 killed $d1 killed $q1
565 ; CHECK-BE-NEXT: // kill: def $d2 killed $d2 killed $q2
566 ; CHECK-BE-NEXT: // kill: def $d3 killed $d3 killed $q3
567 ; CHECK-BE-NEXT: ret
581 ; CHECK-BE-LABEL: test_ldnp_v16i64:
582 ; CHECK-BE: // %bb.0:
583 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
584 ; CHECK-BE-NEXT: ldp q2, q3, [x0, #32]
585 ; CHECK-BE-NEXT: ldp q4, q5, [x0, #64]
586 ; CHECK-BE-NEXT: ldp q6, q7, [x0, #96]
587 ; CHECK-BE-NEXT: ret
601 ; CHECK-BE-LABEL: test_ldnp_v16f64:
602 ; CHECK-BE: // %bb.0:
603 ; CHECK-BE-NEXT: ldp q0, q1, [x0]
604 ; CHECK-BE-NEXT: ldp q2, q3, [x0, #32]
605 ; CHECK-BE-NEXT: ldp q4, q5, [x0, #64]
606 ; CHECK-BE-NEXT: ldp q6, q7, [x0, #96]
607 ; CHECK-BE-NEXT: ret
623 ; CHECK-BE-LABEL: test_ldnp_v20f32_vscale:
624 ; CHECK-BE: // %bb.0:
625 ; CHECK-BE-NEXT: ptrue p0.s
626 ; CHECK-BE-NEXT: ld1w { z0.s }, p0/z, [x0]
627 ; CHECK-BE-NEXT: ld1w { z1.s }, p0/z, [x0, #1, mul vl]
628 ; CHECK-BE-NEXT: ld1w { z2.s }, p0/z, [x0, #2, mul vl]
629 ; CHECK-BE-NEXT: ld1w { z3.s }, p0/z, [x0, #3, mul vl]
630 ; CHECK-BE-NEXT: ld1w { z4.s }, p0/z, [x0, #4, mul vl]
631 ; CHECK-BE-NEXT: ret