| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py |
| # RUN: llc -mtriple=aarch64-unknown-unknown -verify-machineinstrs -O0 -run-pass=regbankselect %s -o - | FileCheck %s |
| --- |
| name: extract_s64_s128 |
| alignment: 4 |
| legalized: true |
| tracksRegLiveness: true |
| body: | |
| bb.1: |
| liveins: $q0 |
| |
| ; CHECK-LABEL: name: extract_s64_s128 |
| ; CHECK: liveins: $q0 |
| ; CHECK: [[COPY:%[0-9]+]]:fpr(s128) = COPY $q0 |
| ; CHECK: [[EXTRACT:%[0-9]+]]:fpr(s64) = G_EXTRACT [[COPY]](s128), 0 |
| ; CHECK: $d2 = COPY [[EXTRACT]](s64) |
| ; CHECK: RET_ReallyLR implicit $d2 |
| %0:_(s128) = COPY $q0 |
| %1:_(s64) = G_EXTRACT %0(s128), 0 |
| $d2 = COPY %1(s64) |
| |
| RET_ReallyLR implicit $d2 |
| |
| ... |
| --- |
| name: extract_s64_s128_gpr |
| alignment: 4 |
| legalized: true |
| tracksRegLiveness: true |
| body: | |
| bb.1: |
| liveins: $x0_x1, $x1 |
| |
| ; CHECK-LABEL: name: extract_s64_s128_gpr |
| ; CHECK: liveins: $x0_x1, $x1 |
| ; CHECK: [[CASPX:%[0-9]+]]:xseqpairsclass(s128) = CASPX $x0_x1, $x0_x1, $x0 |
| ; CHECK: [[EXTRACT:%[0-9]+]]:gpr(s64) = G_EXTRACT [[CASPX]](s128), 0 |
| ; CHECK: RET_ReallyLR |
| %0:xseqpairsclass = CASPX $x0_x1, $x0_x1, $x0 |
| %1:_(s64) = G_EXTRACT %0:xseqpairsclass(s128), 0 |
| |
| RET_ReallyLR |
| |
| ... |