205 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=regbankselect -mattr=+fullfp16 %s -o - | FileCheck %s3 4# CHECK-NOT: gpr5 6...7---8name: test_f16.round9alignment: 410legalized: true11tracksRegLiveness: true12frameInfo:13 maxCallFrameSize: 014machineFunctionInfo: {}15body: |16 bb.0:17 liveins: $h018 19 ; CHECK-LABEL: name: test_f16.round20 ; CHECK: liveins: $h021 ; CHECK-NEXT: {{ $}}22 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(s16) = COPY $h023 ; CHECK-NEXT: [[INTRINSIC_ROUND:%[0-9]+]]:fpr(s16) = G_INTRINSIC_ROUND [[COPY]]24 ; CHECK-NEXT: $h0 = COPY [[INTRINSIC_ROUND]](s16)25 ; CHECK-NEXT: RET_ReallyLR implicit $h026 %0:_(s16) = COPY $h027 %1:_(s16) = G_INTRINSIC_ROUND %028 $h0 = COPY %1(s16)29 RET_ReallyLR implicit $h030 31...32---33name: test_f32.round34alignment: 435legalized: true36tracksRegLiveness: true37frameInfo:38 maxCallFrameSize: 039machineFunctionInfo: {}40body: |41 bb.0:42 liveins: $s043 44 ; CHECK-LABEL: name: test_f32.round45 ; CHECK: liveins: $s046 ; CHECK-NEXT: {{ $}}47 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(s32) = COPY $s048 ; CHECK-NEXT: [[INTRINSIC_ROUND:%[0-9]+]]:fpr(s32) = G_INTRINSIC_ROUND [[COPY]]49 ; CHECK-NEXT: $s0 = COPY [[INTRINSIC_ROUND]](s32)50 ; CHECK-NEXT: RET_ReallyLR implicit $s051 %0:_(s32) = COPY $s052 %1:_(s32) = G_INTRINSIC_ROUND %053 $s0 = COPY %1(s32)54 RET_ReallyLR implicit $s055 56...57---58name: test_f64.round59alignment: 460legalized: true61tracksRegLiveness: true62frameInfo:63 maxCallFrameSize: 064machineFunctionInfo: {}65body: |66 bb.0:67 liveins: $d068 69 ; CHECK-LABEL: name: test_f64.round70 ; CHECK: liveins: $d071 ; CHECK-NEXT: {{ $}}72 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(s64) = COPY $d073 ; CHECK-NEXT: [[INTRINSIC_ROUND:%[0-9]+]]:fpr(s64) = G_INTRINSIC_ROUND [[COPY]]74 ; CHECK-NEXT: $d0 = COPY [[INTRINSIC_ROUND]](s64)75 ; CHECK-NEXT: RET_ReallyLR implicit $d076 %0:_(s64) = COPY $d077 %1:_(s64) = G_INTRINSIC_ROUND %078 $d0 = COPY %1(s64)79 RET_ReallyLR implicit $d080 81...82---83name: test_v8f16.round84alignment: 485legalized: true86tracksRegLiveness: true87frameInfo:88 maxCallFrameSize: 089machineFunctionInfo: {}90body: |91 bb.0:92 liveins: $q093 94 ; CHECK-LABEL: name: test_v8f16.round95 ; CHECK: liveins: $q096 ; CHECK-NEXT: {{ $}}97 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(<8 x s16>) = COPY $q098 ; CHECK-NEXT: [[INTRINSIC_ROUND:%[0-9]+]]:fpr(<8 x s16>) = G_INTRINSIC_ROUND [[COPY]]99 ; CHECK-NEXT: $q0 = COPY [[INTRINSIC_ROUND]](<8 x s16>)100 ; CHECK-NEXT: RET_ReallyLR implicit $q0101 %0:_(<8 x s16>) = COPY $q0102 %1:_(<8 x s16>) = G_INTRINSIC_ROUND %0103 $q0 = COPY %1(<8 x s16>)104 RET_ReallyLR implicit $q0105 106...107---108name: test_v4f16.round109alignment: 4110legalized: true111tracksRegLiveness: true112frameInfo:113 maxCallFrameSize: 0114machineFunctionInfo: {}115body: |116 bb.0:117 liveins: $d0118 119 ; CHECK-LABEL: name: test_v4f16.round120 ; CHECK: liveins: $d0121 ; CHECK-NEXT: {{ $}}122 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(<4 x s16>) = COPY $d0123 ; CHECK-NEXT: [[INTRINSIC_ROUND:%[0-9]+]]:fpr(<4 x s16>) = G_INTRINSIC_ROUND [[COPY]]124 ; CHECK-NEXT: $d0 = COPY [[INTRINSIC_ROUND]](<4 x s16>)125 ; CHECK-NEXT: RET_ReallyLR implicit $d0126 %0:_(<4 x s16>) = COPY $d0127 %1:_(<4 x s16>) = G_INTRINSIC_ROUND %0128 $d0 = COPY %1(<4 x s16>)129 RET_ReallyLR implicit $d0130 131...132---133name: test_v2f32.round134alignment: 4135legalized: true136tracksRegLiveness: true137frameInfo:138 maxCallFrameSize: 0139machineFunctionInfo: {}140body: |141 bb.0:142 liveins: $d0143 144 ; CHECK-LABEL: name: test_v2f32.round145 ; CHECK: liveins: $d0146 ; CHECK-NEXT: {{ $}}147 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(<2 x s32>) = COPY $d0148 ; CHECK-NEXT: [[INTRINSIC_ROUND:%[0-9]+]]:fpr(<2 x s32>) = G_INTRINSIC_ROUND [[COPY]]149 ; CHECK-NEXT: $d0 = COPY [[INTRINSIC_ROUND]](<2 x s32>)150 ; CHECK-NEXT: RET_ReallyLR implicit $d0151 %0:_(<2 x s32>) = COPY $d0152 %1:_(<2 x s32>) = G_INTRINSIC_ROUND %0153 $d0 = COPY %1(<2 x s32>)154 RET_ReallyLR implicit $d0155 156...157---158name: test_v4f32.round159alignment: 4160legalized: true161tracksRegLiveness: true162frameInfo:163 maxCallFrameSize: 0164machineFunctionInfo: {}165body: |166 bb.0:167 liveins: $q0168 169 ; CHECK-LABEL: name: test_v4f32.round170 ; CHECK: liveins: $q0171 ; CHECK-NEXT: {{ $}}172 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(<4 x s32>) = COPY $q0173 ; CHECK-NEXT: [[INTRINSIC_ROUND:%[0-9]+]]:fpr(<4 x s32>) = G_INTRINSIC_ROUND [[COPY]]174 ; CHECK-NEXT: $q0 = COPY [[INTRINSIC_ROUND]](<4 x s32>)175 ; CHECK-NEXT: RET_ReallyLR implicit $q0176 %0:_(<4 x s32>) = COPY $q0177 %1:_(<4 x s32>) = G_INTRINSIC_ROUND %0178 $q0 = COPY %1(<4 x s32>)179 RET_ReallyLR implicit $q0180 181...182---183name: test_v2f64.round184alignment: 4185legalized: true186tracksRegLiveness: true187frameInfo:188 maxCallFrameSize: 0189machineFunctionInfo: {}190body: |191 bb.0:192 liveins: $q0193 194 ; CHECK-LABEL: name: test_v2f64.round195 ; CHECK: liveins: $q0196 ; CHECK-NEXT: {{ $}}197 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(<2 x s64>) = COPY $q0198 ; CHECK-NEXT: [[INTRINSIC_ROUND:%[0-9]+]]:fpr(<2 x s64>) = G_INTRINSIC_ROUND [[COPY]]199 ; CHECK-NEXT: $q0 = COPY [[INTRINSIC_ROUND]](<2 x s64>)200 ; CHECK-NEXT: RET_ReallyLR implicit $q0201 %0:_(<2 x s64>) = COPY $q0202 %1:_(<2 x s64>) = G_INTRINSIC_ROUND %0203 $q0 = COPY %1(<2 x s64>)204 RET_ReallyLR implicit $q0205