1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple aarch64-unknown-unknown -run-pass=regbankselect -mattr=+fullfp16 -verify-machineinstrs %s -o - | FileCheck %s 3 4... 5--- 6name: test_v4f16.nearbyint 7alignment: 4 8legalized: true 9tracksRegLiveness: true 10machineFunctionInfo: {} 11body: | 12 bb.0: 13 liveins: $d0 14 15 ; CHECK-LABEL: name: test_v4f16.nearbyint 16 ; CHECK: liveins: $d0 17 ; CHECK: [[COPY:%[0-9]+]]:fpr(<4 x s16>) = COPY $d0 18 ; CHECK: [[FNEARBYINT:%[0-9]+]]:fpr(<4 x s16>) = G_FNEARBYINT [[COPY]] 19 ; CHECK: $d0 = COPY [[FNEARBYINT]](<4 x s16>) 20 ; CHECK: RET_ReallyLR implicit $d0 21 %0:_(<4 x s16>) = COPY $d0 22 %1:_(<4 x s16>) = G_FNEARBYINT %0 23 $d0 = COPY %1(<4 x s16>) 24 RET_ReallyLR implicit $d0 25 26... 27--- 28name: test_v8f16.nearbyint 29alignment: 4 30legalized: true 31tracksRegLiveness: true 32machineFunctionInfo: {} 33body: | 34 bb.0: 35 liveins: $q0 36 37 ; CHECK-LABEL: name: test_v8f16.nearbyint 38 ; CHECK: liveins: $q0 39 ; CHECK: [[COPY:%[0-9]+]]:fpr(<8 x s16>) = COPY $q0 40 ; CHECK: [[FNEARBYINT:%[0-9]+]]:fpr(<8 x s16>) = G_FNEARBYINT [[COPY]] 41 ; CHECK: $q0 = COPY [[FNEARBYINT]](<8 x s16>) 42 ; CHECK: RET_ReallyLR implicit $q0 43 %0:_(<8 x s16>) = COPY $q0 44 %1:_(<8 x s16>) = G_FNEARBYINT %0 45 $q0 = COPY %1(<8 x s16>) 46 RET_ReallyLR implicit $q0 47 48... 49--- 50name: test_v2f32.nearbyint 51alignment: 4 52legalized: true 53tracksRegLiveness: true 54machineFunctionInfo: {} 55body: | 56 bb.0: 57 liveins: $d0 58 59 ; CHECK-LABEL: name: test_v2f32.nearbyint 60 ; CHECK: liveins: $d0 61 ; CHECK: [[COPY:%[0-9]+]]:fpr(<2 x s32>) = COPY $d0 62 ; CHECK: [[FNEARBYINT:%[0-9]+]]:fpr(<2 x s32>) = G_FNEARBYINT [[COPY]] 63 ; CHECK: $d0 = COPY [[FNEARBYINT]](<2 x s32>) 64 ; CHECK: RET_ReallyLR implicit $d0 65 %0:_(<2 x s32>) = COPY $d0 66 %1:_(<2 x s32>) = G_FNEARBYINT %0 67 $d0 = COPY %1(<2 x s32>) 68 RET_ReallyLR implicit $d0 69 70... 71--- 72name: test_v2f64.nearbyint 73alignment: 4 74legalized: true 75tracksRegLiveness: true 76machineFunctionInfo: {} 77body: | 78 bb.0: 79 liveins: $q0 80 81 ; CHECK-LABEL: name: test_v2f64.nearbyint 82 ; CHECK: liveins: $q0 83 ; CHECK: [[COPY:%[0-9]+]]:fpr(<2 x s64>) = COPY $q0 84 ; CHECK: [[FNEARBYINT:%[0-9]+]]:fpr(<2 x s64>) = G_FNEARBYINT [[COPY]] 85 ; CHECK: $q0 = COPY [[FNEARBYINT]](<2 x s64>) 86 ; CHECK: RET_ReallyLR implicit $q0 87 %0:_(<2 x s64>) = COPY $q0 88 %1:_(<2 x s64>) = G_FNEARBYINT %0 89 $q0 = COPY %1(<2 x s64>) 90 RET_ReallyLR implicit $q0 91 92... 93--- 94name: test_f32.nearbyint 95alignment: 4 96legalized: true 97tracksRegLiveness: true 98machineFunctionInfo: {} 99body: | 100 bb.0: 101 liveins: $s0 102 103 ; CHECK-LABEL: name: test_f32.nearbyint 104 ; CHECK: liveins: $s0 105 ; CHECK: [[COPY:%[0-9]+]]:fpr(s32) = COPY $s0 106 ; CHECK: [[FNEARBYINT:%[0-9]+]]:fpr(s32) = G_FNEARBYINT [[COPY]] 107 ; CHECK: $s0 = COPY [[FNEARBYINT]](s32) 108 ; CHECK: RET_ReallyLR implicit $s0 109 %0:_(s32) = COPY $s0 110 %1:_(s32) = G_FNEARBYINT %0 111 $s0 = COPY %1(s32) 112 RET_ReallyLR implicit $s0 113 114... 115--- 116name: test_f64.nearbyint 117alignment: 4 118legalized: true 119tracksRegLiveness: true 120machineFunctionInfo: {} 121body: | 122 bb.0: 123 liveins: $d0 124 125 ; CHECK-LABEL: name: test_f64.nearbyint 126 ; CHECK: liveins: $d0 127 ; CHECK: [[COPY:%[0-9]+]]:fpr(s64) = COPY $d0 128 ; CHECK: [[FNEARBYINT:%[0-9]+]]:fpr(s64) = G_FNEARBYINT [[COPY]] 129 ; CHECK: $d0 = COPY [[FNEARBYINT]](s64) 130 ; CHECK: RET_ReallyLR implicit $d0 131 %0:_(s64) = COPY $d0 132 %1:_(s64) = G_FNEARBYINT %0 133 $d0 = COPY %1(s64) 134 RET_ReallyLR implicit $d0 135 136... 137--- 138name: test_f16.nearbyint 139alignment: 4 140legalized: true 141tracksRegLiveness: true 142machineFunctionInfo: {} 143body: | 144 bb.0: 145 liveins: $h0 146 147 ; CHECK-LABEL: name: test_f16.nearbyint 148 ; CHECK: liveins: $h0 149 ; CHECK: [[COPY:%[0-9]+]]:fpr(s16) = COPY $h0 150 ; CHECK: [[FNEARBYINT:%[0-9]+]]:fpr(s16) = G_FNEARBYINT [[COPY]] 151 ; CHECK: $h0 = COPY [[FNEARBYINT]](s16) 152 ; CHECK: RET_ReallyLR implicit $h0 153 %0:_(s16) = COPY $h0 154 %1:_(s16) = G_FNEARBYINT %0 155 $h0 = COPY %1(s16) 156 RET_ReallyLR implicit $h0 157 158... 159