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
6 name: test_v4f16.nearbyint
10 tracksRegLiveness: true
11 machineFunctionInfo: {}
16 ; CHECK-LABEL: name: test_v4f16.nearbyint
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
29 name: test_v8f16.nearbyint
33 tracksRegLiveness: true
34 machineFunctionInfo: {}
39 ; CHECK-LABEL: name: test_v8f16.nearbyint
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
52 name: test_v2f32.nearbyint
56 tracksRegLiveness: true
57 machineFunctionInfo: {}
62 ; CHECK-LABEL: name: test_v2f32.nearbyint
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
75 name: test_v2f64.nearbyint
79 tracksRegLiveness: true
80 machineFunctionInfo: {}
85 ; CHECK-LABEL: name: test_v2f64.nearbyint
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
98 name: test_f32.nearbyint
101 regBankSelected: true
102 tracksRegLiveness: true
103 machineFunctionInfo: {}
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
117 RET_ReallyLR implicit $s0
121 name: test_f64.nearbyint
124 regBankSelected: true
125 tracksRegLiveness: true
126 machineFunctionInfo: {}
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
140 RET_ReallyLR implicit $d0
144 name: test_f16.nearbyint
147 regBankSelected: true
148 tracksRegLiveness: true
149 machineFunctionInfo: {}
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
163 RET_ReallyLR implicit $h0