[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / regbank-extract.mir
blobcf3614e5d74825362518e360aefbc25584fcf4fa
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=aarch64-unknown-unknown -mattr=+lse -verify-machineinstrs -O0 -run-pass=regbankselect %s -o - | FileCheck %s
3 ---
4 name:            extract_s64_s128
5 alignment:       4
6 legalized:       true
7 tracksRegLiveness: true
8 body:             |
9   bb.1:
10     liveins: $q0
12     ; CHECK-LABEL: name: extract_s64_s128
13     ; CHECK: liveins: $q0
14     ; CHECK: [[COPY:%[0-9]+]]:fpr(s128) = COPY $q0
15     ; CHECK: [[EXTRACT:%[0-9]+]]:fpr(s64) = G_EXTRACT [[COPY]](s128), 0
16     ; CHECK: $d2 = COPY [[EXTRACT]](s64)
17     ; CHECK: RET_ReallyLR implicit $d2
18     %0:_(s128) = COPY $q0
19     %1:_(s64) = G_EXTRACT %0(s128), 0
20     $d2 = COPY %1(s64)
22     RET_ReallyLR implicit $d2
24 ...
25 ---
26 name:            extract_s64_s128_gpr
27 alignment:       4
28 legalized:       true
29 tracksRegLiveness: true
30 body:             |
31   bb.1:
32     liveins: $x0_x1, $x1
34     ; CHECK-LABEL: name: extract_s64_s128_gpr
35     ; CHECK: liveins: $x0_x1, $x1
36     ; CHECK: [[CASPX:%[0-9]+]]:xseqpairsclass(s128) = CASPX $x0_x1, $x0_x1, $x0
37     ; CHECK: [[EXTRACT:%[0-9]+]]:gpr(s64) = G_EXTRACT [[CASPX]](s128), 0
38     ; CHECK: RET_ReallyLR
39     %0:xseqpairsclass = CASPX $x0_x1, $x0_x1, $x0
40     %1:_(s64) = G_EXTRACT %0:xseqpairsclass(s128), 0
42     RET_ReallyLR
44 ...