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