197 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -verify-machineinstrs -mtriple aarch64-unknown-unknown -run-pass=instruction-select -mattr=+fullfp16 -global-isel %s -o - | FileCheck %s3 4...5---6name: test_f16.rint7alignment: 48legalized: true9regBankSelected: true10tracksRegLiveness: true11machineFunctionInfo: {}12body: |13 bb.0:14 liveins: $h015 16 ; CHECK-LABEL: name: test_f16.rint17 ; CHECK: liveins: $h018 ; CHECK-NEXT: {{ $}}19 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $h020 ; CHECK-NEXT: [[FRINTXHr:%[0-9]+]]:fpr16 = nofpexcept FRINTXHr [[COPY]], implicit $fpcr21 ; CHECK-NEXT: $h0 = COPY [[FRINTXHr]]22 ; CHECK-NEXT: RET_ReallyLR implicit $h023 %0:fpr(s16) = COPY $h024 %1:fpr(s16) = G_FRINT %025 $h0 = COPY %1(s16)26 RET_ReallyLR implicit $h027 28...29---30name: test_f32.rint31alignment: 432legalized: true33regBankSelected: true34tracksRegLiveness: true35machineFunctionInfo: {}36body: |37 bb.0:38 liveins: $s039 40 ; CHECK-LABEL: name: test_f32.rint41 ; CHECK: liveins: $s042 ; CHECK-NEXT: {{ $}}43 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $s044 ; CHECK-NEXT: [[FRINTXSr:%[0-9]+]]:fpr32 = nofpexcept FRINTXSr [[COPY]], implicit $fpcr45 ; CHECK-NEXT: $s0 = COPY [[FRINTXSr]]46 ; CHECK-NEXT: RET_ReallyLR implicit $s047 %0:fpr(s32) = COPY $s048 %1:fpr(s32) = G_FRINT %049 $s0 = COPY %1(s32)50 RET_ReallyLR implicit $s051 52...53---54name: test_f64.rint55alignment: 456legalized: true57regBankSelected: true58tracksRegLiveness: true59machineFunctionInfo: {}60body: |61 bb.0:62 liveins: $d063 64 ; CHECK-LABEL: name: test_f64.rint65 ; CHECK: liveins: $d066 ; CHECK-NEXT: {{ $}}67 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d068 ; CHECK-NEXT: [[FRINTXDr:%[0-9]+]]:fpr64 = nofpexcept FRINTXDr [[COPY]], implicit $fpcr69 ; CHECK-NEXT: $d0 = COPY [[FRINTXDr]]70 ; CHECK-NEXT: RET_ReallyLR implicit $d071 %0:fpr(s64) = COPY $d072 %1:fpr(s64) = G_FRINT %073 $d0 = COPY %1(s64)74 RET_ReallyLR implicit $d075 76...77---78name: test_v4f32.rint79alignment: 480legalized: true81regBankSelected: true82tracksRegLiveness: true83machineFunctionInfo: {}84body: |85 bb.0:86 liveins: $q087 88 ; CHECK-LABEL: name: test_v4f32.rint89 ; CHECK: liveins: $q090 ; CHECK-NEXT: {{ $}}91 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q092 ; CHECK-NEXT: [[FRINTXv4f32_:%[0-9]+]]:fpr128 = nofpexcept FRINTXv4f32 [[COPY]], implicit $fpcr93 ; CHECK-NEXT: $q0 = COPY [[FRINTXv4f32_]]94 ; CHECK-NEXT: RET_ReallyLR implicit $q095 %0:fpr(<4 x s32>) = COPY $q096 %1:fpr(<4 x s32>) = G_FRINT %097 $q0 = COPY %1(<4 x s32>)98 RET_ReallyLR implicit $q099 100...101---102name: test_v2f64.rint103alignment: 4104legalized: true105regBankSelected: true106tracksRegLiveness: true107machineFunctionInfo: {}108body: |109 bb.0:110 liveins: $q0111 112 ; CHECK-LABEL: name: test_v2f64.rint113 ; CHECK: liveins: $q0114 ; CHECK-NEXT: {{ $}}115 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0116 ; CHECK-NEXT: [[FRINTXv2f64_:%[0-9]+]]:fpr128 = nofpexcept FRINTXv2f64 [[COPY]], implicit $fpcr117 ; CHECK-NEXT: $q0 = COPY [[FRINTXv2f64_]]118 ; CHECK-NEXT: RET_ReallyLR implicit $q0119 %0:fpr(<2 x s64>) = COPY $q0120 %1:fpr(<2 x s64>) = G_FRINT %0121 $q0 = COPY %1(<2 x s64>)122 RET_ReallyLR implicit $q0123 124...125---126name: test_v4f16.rint127alignment: 4128legalized: true129regBankSelected: true130tracksRegLiveness: true131machineFunctionInfo: {}132body: |133 bb.0:134 liveins: $d0135 136 ; CHECK-LABEL: name: test_v4f16.rint137 ; CHECK: liveins: $d0138 ; CHECK-NEXT: {{ $}}139 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0140 ; CHECK-NEXT: [[FRINTXv4f16_:%[0-9]+]]:fpr64 = nofpexcept FRINTXv4f16 [[COPY]], implicit $fpcr141 ; CHECK-NEXT: $d0 = COPY [[FRINTXv4f16_]]142 ; CHECK-NEXT: RET_ReallyLR implicit $d0143 %0:fpr(<4 x s16>) = COPY $d0144 %1:fpr(<4 x s16>) = G_FRINT %0145 $d0 = COPY %1(<4 x s16>)146 RET_ReallyLR implicit $d0147 148...149---150name: test_v8f16.rint151alignment: 4152legalized: true153regBankSelected: true154tracksRegLiveness: true155machineFunctionInfo: {}156body: |157 bb.0:158 liveins: $q0159 160 ; CHECK-LABEL: name: test_v8f16.rint161 ; CHECK: liveins: $q0162 ; CHECK-NEXT: {{ $}}163 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0164 ; CHECK-NEXT: [[FRINTXv8f16_:%[0-9]+]]:fpr128 = nofpexcept FRINTXv8f16 [[COPY]], implicit $fpcr165 ; CHECK-NEXT: $q0 = COPY [[FRINTXv8f16_]]166 ; CHECK-NEXT: RET_ReallyLR implicit $q0167 %0:fpr(<8 x s16>) = COPY $q0168 %1:fpr(<8 x s16>) = G_FRINT %0169 $q0 = COPY %1(<8 x s16>)170 RET_ReallyLR implicit $q0171 172...173---174name: test_v2f32.rint175alignment: 4176legalized: true177regBankSelected: true178tracksRegLiveness: true179machineFunctionInfo: {}180body: |181 bb.0:182 liveins: $d0183 184 ; CHECK-LABEL: name: test_v2f32.rint185 ; CHECK: liveins: $d0186 ; CHECK-NEXT: {{ $}}187 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0188 ; CHECK-NEXT: [[FRINTXv2f32_:%[0-9]+]]:fpr64 = nofpexcept FRINTXv2f32 [[COPY]], implicit $fpcr189 ; CHECK-NEXT: $d0 = COPY [[FRINTXv2f32_]]190 ; CHECK-NEXT: RET_ReallyLR implicit $d0191 %0:fpr(<2 x s32>) = COPY $d0192 %1:fpr(<2 x s32>) = G_FRINT %0193 $d0 = COPY %1(<2 x s32>)194 RET_ReallyLR implicit $d0195 196...197