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
6 name: test_v4f16.nearbyint
9 tracksRegLiveness: true
10 machineFunctionInfo: {}
15 ; CHECK-LABEL: name: test_v4f16.nearbyint
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
28 name: test_v8f16.nearbyint
31 tracksRegLiveness: true
32 machineFunctionInfo: {}
37 ; CHECK-LABEL: name: test_v8f16.nearbyint
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
50 name: test_v2f32.nearbyint
53 tracksRegLiveness: true
54 machineFunctionInfo: {}
59 ; CHECK-LABEL: name: test_v2f32.nearbyint
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
72 name: test_v2f64.nearbyint
75 tracksRegLiveness: true
76 machineFunctionInfo: {}
81 ; CHECK-LABEL: name: test_v2f64.nearbyint
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
94 name: test_f32.nearbyint
97 tracksRegLiveness: true
98 machineFunctionInfo: {}
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
110 %1:_(s32) = G_FNEARBYINT %0
112 RET_ReallyLR implicit $s0
116 name: test_f64.nearbyint
119 tracksRegLiveness: true
120 machineFunctionInfo: {}
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
132 %1:_(s64) = G_FNEARBYINT %0
134 RET_ReallyLR implicit $d0
138 name: test_f16.nearbyint
141 tracksRegLiveness: true
142 machineFunctionInfo: {}
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
154 %1:_(s16) = G_FNEARBYINT %0
156 RET_ReallyLR implicit $h0