71 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-unknown-unknown -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3---4name: test_128_fpr_truncation5alignment: 46legalized: true7regBankSelected: true8tracksRegLiveness: true9body: |10 ; CHECK-LABEL: name: test_128_fpr_truncation11 ; CHECK: bb.0:12 ; CHECK-NEXT: successors: %bb.1(0x80000000)13 ; CHECK-NEXT: liveins: $x014 ; CHECK-NEXT: {{ $}}15 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x016 ; CHECK-NEXT: [[LDRQui:%[0-9]+]]:fpr128 = LDRQui [[COPY]], 0 :: (load (s128))17 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32all = COPY [[LDRQui]].ssub18 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY [[COPY1]]19 ; CHECK-NEXT: TBNZW [[COPY2]], 0, %bb.120 ; CHECK-NEXT: {{ $}}21 ; CHECK-NEXT: bb.1:22 ; CHECK-NEXT: RET_ReallyLR23 bb.0:24 liveins: $x025 %1:gpr(p0) = COPY $x026 %3:gpr(s64) = G_CONSTANT i64 127 %5:gpr(s64) = G_CONSTANT i64 028 %0:fpr(s128) = G_LOAD %1:gpr(p0) :: (load (s128))29 %2:fpr(s64) = G_TRUNC %0:fpr(s128)30 %8:gpr(s64) = COPY %2:fpr(s64)31 %4:gpr(s64) = G_AND %8:gpr, %3:gpr32 %7:gpr(s32) = G_ICMP intpred(ne), %4:gpr(s64), %5:gpr33 G_BRCOND %7, %bb.134 35 bb.1:36 RET_ReallyLR37...38---39name: no_trunc40alignment: 441legalized: true42regBankSelected: true43tracksRegLiveness: true44body: |45 ; CHECK-LABEL: name: no_trunc46 ; CHECK: bb.0:47 ; CHECK-NEXT: successors: %bb.1(0x80000000)48 ; CHECK-NEXT: liveins: $x049 ; CHECK-NEXT: {{ $}}50 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x051 ; CHECK-NEXT: [[LDRQui:%[0-9]+]]:fpr128 = LDRQui [[COPY]], 0 :: (load (s128))52 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64all = COPY [[LDRQui]].dsub53 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr64 = COPY [[COPY1]]54 ; CHECK-NEXT: TBNZX [[COPY2]], 33, %bb.155 ; CHECK-NEXT: {{ $}}56 ; CHECK-NEXT: bb.1:57 ; CHECK-NEXT: RET_ReallyLR58 bb.0:59 liveins: $x060 %1:gpr(p0) = COPY $x061 %3:gpr(s64) = G_CONSTANT i64 858993459262 %5:gpr(s64) = G_CONSTANT i64 063 %0:fpr(s128) = G_LOAD %1:gpr(p0) :: (load (s128))64 %2:fpr(s64) = G_TRUNC %0:fpr(s128)65 %8:gpr(s64) = COPY %2:fpr(s64)66 %4:gpr(s64) = G_AND %8:gpr, %3:gpr67 %7:gpr(s32) = G_ICMP intpred(ne), %4:gpr(s64), %5:gpr68 G_BRCOND %7, %bb.169 bb.1:70 RET_ReallyLR71