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