[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / select-frint.mir
bloba0856baece9f64affb2981fc4248b26721000fa3
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -verify-machineinstrs -mtriple aarch64-unknown-unknown -run-pass=instruction-select -mattr=+fullfp16 -global-isel %s -o - | FileCheck %s
4 ...
5 ---
6 name:            test_f16.rint
7 alignment:       4
8 legalized:       true
9 regBankSelected: true
10 tracksRegLiveness: true
11 machineFunctionInfo: {}
12 body:             |
13   bb.0:
14     liveins: $h0
16     ; CHECK-LABEL: name: test_f16.rint
17     ; CHECK: liveins: $h0
18     ; CHECK: [[COPY:%[0-9]+]]:fpr16 = COPY $h0
19     ; CHECK: [[FRINTXHr:%[0-9]+]]:fpr16 = nofpexcept FRINTXHr [[COPY]]
20     ; CHECK: $h0 = COPY [[FRINTXHr]]
21     ; CHECK: RET_ReallyLR implicit $h0
22     %0:fpr(s16) = COPY $h0
23     %1:fpr(s16) = G_FRINT %0
24     $h0 = COPY %1(s16)
25     RET_ReallyLR implicit $h0
27 ...
28 ---
29 name:            test_f32.rint
30 alignment:       4
31 legalized:       true
32 regBankSelected: true
33 tracksRegLiveness: true
34 machineFunctionInfo: {}
35 body:             |
36   bb.0:
37     liveins: $s0
39     ; CHECK-LABEL: name: test_f32.rint
40     ; CHECK: liveins: $s0
41     ; CHECK: [[COPY:%[0-9]+]]:fpr32 = COPY $s0
42     ; CHECK: [[FRINTXSr:%[0-9]+]]:fpr32 = nofpexcept FRINTXSr [[COPY]]
43     ; CHECK: $s0 = COPY [[FRINTXSr]]
44     ; CHECK: RET_ReallyLR implicit $s0
45     %0:fpr(s32) = COPY $s0
46     %1:fpr(s32) = G_FRINT %0
47     $s0 = COPY %1(s32)
48     RET_ReallyLR implicit $s0
50 ...
51 ---
52 name:            test_f64.rint
53 alignment:       4
54 legalized:       true
55 regBankSelected: true
56 tracksRegLiveness: true
57 machineFunctionInfo: {}
58 body:             |
59   bb.0:
60     liveins: $d0
62     ; CHECK-LABEL: name: test_f64.rint
63     ; CHECK: liveins: $d0
64     ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
65     ; CHECK: [[FRINTXDr:%[0-9]+]]:fpr64 = nofpexcept FRINTXDr [[COPY]]
66     ; CHECK: $d0 = COPY [[FRINTXDr]]
67     ; CHECK: RET_ReallyLR implicit $d0
68     %0:fpr(s64) = COPY $d0
69     %1:fpr(s64) = G_FRINT %0
70     $d0 = COPY %1(s64)
71     RET_ReallyLR implicit $d0
73 ...
74 ---
75 name:            test_v4f32.rint
76 alignment:       4
77 legalized:       true
78 regBankSelected: true
79 tracksRegLiveness: true
80 machineFunctionInfo: {}
81 body:             |
82   bb.0:
83     liveins: $q0
85     ; CHECK-LABEL: name: test_v4f32.rint
86     ; CHECK: liveins: $q0
87     ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
88     ; CHECK: [[FRINTXv4f32_:%[0-9]+]]:fpr128 = nofpexcept FRINTXv4f32 [[COPY]]
89     ; CHECK: $q0 = COPY [[FRINTXv4f32_]]
90     ; CHECK: RET_ReallyLR implicit $q0
91     %0:fpr(<4 x s32>) = COPY $q0
92     %1:fpr(<4 x s32>) = G_FRINT %0
93     $q0 = COPY %1(<4 x s32>)
94     RET_ReallyLR implicit $q0
96 ...
97 ---
98 name:            test_v2f64.rint
99 alignment:       4
100 legalized:       true
101 regBankSelected: true
102 tracksRegLiveness: true
103 machineFunctionInfo: {}
104 body:             |
105   bb.0:
106     liveins: $q0
108     ; CHECK-LABEL: name: test_v2f64.rint
109     ; CHECK: liveins: $q0
110     ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
111     ; CHECK: [[FRINTXv2f64_:%[0-9]+]]:fpr128 = nofpexcept FRINTXv2f64 [[COPY]]
112     ; CHECK: $q0 = COPY [[FRINTXv2f64_]]
113     ; CHECK: RET_ReallyLR implicit $q0
114     %0:fpr(<2 x s64>) = COPY $q0
115     %1:fpr(<2 x s64>) = G_FRINT %0
116     $q0 = COPY %1(<2 x s64>)
117     RET_ReallyLR implicit $q0
121 name:            test_v4f16.rint
122 alignment:       4
123 legalized:       true
124 regBankSelected: true
125 tracksRegLiveness: true
126 machineFunctionInfo: {}
127 body:             |
128   bb.0:
129     liveins: $d0
131     ; CHECK-LABEL: name: test_v4f16.rint
132     ; CHECK: liveins: $d0
133     ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
134     ; CHECK: [[FRINTXv4f16_:%[0-9]+]]:fpr64 = nofpexcept FRINTXv4f16 [[COPY]]
135     ; CHECK: $d0 = COPY [[FRINTXv4f16_]]
136     ; CHECK: RET_ReallyLR implicit $d0
137     %0:fpr(<4 x s16>) = COPY $d0
138     %1:fpr(<4 x s16>) = G_FRINT %0
139     $d0 = COPY %1(<4 x s16>)
140     RET_ReallyLR implicit $d0
144 name:            test_v8f16.rint
145 alignment:       4
146 legalized:       true
147 regBankSelected: true
148 tracksRegLiveness: true
149 machineFunctionInfo: {}
150 body:             |
151   bb.0:
152     liveins: $q0
154     ; CHECK-LABEL: name: test_v8f16.rint
155     ; CHECK: liveins: $q0
156     ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
157     ; CHECK: [[FRINTXv8f16_:%[0-9]+]]:fpr128 = nofpexcept FRINTXv8f16 [[COPY]]
158     ; CHECK: $q0 = COPY [[FRINTXv8f16_]]
159     ; CHECK: RET_ReallyLR implicit $q0
160     %0:fpr(<8 x s16>) = COPY $q0
161     %1:fpr(<8 x s16>) = G_FRINT %0
162     $q0 = COPY %1(<8 x s16>)
163     RET_ReallyLR implicit $q0
167 name:            test_v2f32.rint
168 alignment:       4
169 legalized:       true
170 regBankSelected: true
171 tracksRegLiveness: true
172 machineFunctionInfo: {}
173 body:             |
174   bb.0:
175     liveins: $d0
177     ; CHECK-LABEL: name: test_v2f32.rint
178     ; CHECK: liveins: $d0
179     ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
180     ; CHECK: [[FRINTXv2f32_:%[0-9]+]]:fpr64 = nofpexcept FRINTXv2f32 [[COPY]]
181     ; CHECK: $d0 = COPY [[FRINTXv2f32_]]
182     ; CHECK: RET_ReallyLR implicit $d0
183     %0:fpr(<2 x s32>) = COPY $d0
184     %1:fpr(<2 x s32>) = G_FRINT %0
185     $d0 = COPY %1(<2 x s32>)
186     RET_ReallyLR implicit $d0