1+ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
12; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=instcombine < %s | FileCheck %s
23; --------------------------------------------------------------------
34; llvm.amdgcn.fmed3
67declare float @llvm.amdgcn.fmed3.f32 (float , float , float ) #0
78
89define float @fmed3_f32 (float %x , float %y , float %z ) #1 {
9- ; CHECK-LABEL: @fmed3_f32(
10- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X:%.*]], float [[Y:%.*]], float [[Z:%.*]])
10+ ; CHECK-LABEL: define float @fmed3_f32(
11+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]], float [[Z:%.*]]) #[[ATTR1:[0-9]+]] {
12+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X]], float [[Y]], float [[Z]])
1113; CHECK-NEXT: ret float [[MED3]]
1214;
1315 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float %y , float %z )
1416 ret float %med3
1517}
1618
1719define float @fmed3_canonicalize_x_c0_c1_f32 (float %x ) #1 {
18- ; CHECK-LABEL: @fmed3_canonicalize_x_c0_c1_f32(
19- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X:%.*]], float 0.000000e+00, float 1.000000e+00)
20+ ; CHECK-LABEL: define float @fmed3_canonicalize_x_c0_c1_f32(
21+ ; CHECK-SAME: float [[X:%.*]]) #[[ATTR1]] {
22+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X]], float 0.000000e+00, float 1.000000e+00)
2023; CHECK-NEXT: ret float [[MED3]]
2124;
2225 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float 0 .0 , float 1 .0 )
2326 ret float %med3
2427}
2528
2629define float @fmed3_canonicalize_c0_x_c1_f32 (float %x ) #1 {
27- ; CHECK-LABEL: @fmed3_canonicalize_c0_x_c1_f32(
28- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X:%.*]], float 0.000000e+00, float 1.000000e+00)
30+ ; CHECK-LABEL: define float @fmed3_canonicalize_c0_x_c1_f32(
31+ ; CHECK-SAME: float [[X:%.*]]) #[[ATTR1]] {
32+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X]], float 0.000000e+00, float 1.000000e+00)
2933; CHECK-NEXT: ret float [[MED3]]
3034;
3135 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0 .0 , float %x , float 1 .0 )
3236 ret float %med3
3337}
3438
3539define float @fmed3_canonicalize_c0_c1_x_f32 (float %x ) #1 {
36- ; CHECK-LABEL: @fmed3_canonicalize_c0_c1_x_f32(
37- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X:%.*]], float 0.000000e+00, float 1.000000e+00)
40+ ; CHECK-LABEL: define float @fmed3_canonicalize_c0_c1_x_f32(
41+ ; CHECK-SAME: float [[X:%.*]]) #[[ATTR1]] {
42+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X]], float 0.000000e+00, float 1.000000e+00)
3843; CHECK-NEXT: ret float [[MED3]]
3944;
4045 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0 .0 , float 1 .0 , float %x )
4146 ret float %med3
4247}
4348
4449define float @fmed3_canonicalize_x_y_c_f32 (float %x , float %y ) #1 {
45- ; CHECK-LABEL: @fmed3_canonicalize_x_y_c_f32(
46- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X:%.*]], float [[Y:%.*]], float 1.000000e+00)
50+ ; CHECK-LABEL: define float @fmed3_canonicalize_x_y_c_f32(
51+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
52+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X]], float [[Y]], float 1.000000e+00)
4753; CHECK-NEXT: ret float [[MED3]]
4854;
4955 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float %y , float 1 .0 )
5056 ret float %med3
5157}
5258
5359define float @fmed3_canonicalize_x_c_y_f32 (float %x , float %y ) #1 {
54- ; CHECK-LABEL: @fmed3_canonicalize_x_c_y_f32(
55- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X:%.*]], float [[Y:%.*]], float 1.000000e+00)
60+ ; CHECK-LABEL: define float @fmed3_canonicalize_x_c_y_f32(
61+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
62+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X]], float [[Y]], float 1.000000e+00)
5663; CHECK-NEXT: ret float [[MED3]]
5764;
5865 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float 1 .0 , float %y )
5966 ret float %med3
6067}
6168
6269define float @fmed3_canonicalize_c_x_y_f32 (float %x , float %y ) #1 {
63- ; CHECK-LABEL: @fmed3_canonicalize_c_x_y_f32(
64- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X:%.*]], float [[Y:%.*]], float 1.000000e+00)
70+ ; CHECK-LABEL: define float @fmed3_canonicalize_c_x_y_f32(
71+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
72+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.amdgcn.fmed3.f32(float [[X]], float [[Y]], float 1.000000e+00)
6573; CHECK-NEXT: ret float [[MED3]]
6674;
6775 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 1 .0 , float %x , float %y )
6876 ret float %med3
6977}
7078
7179define float @fmed3_undef_x_y_f32 (float %x , float %y ) #1 {
72- ; CHECK-LABEL: @fmed3_undef_x_y_f32(
73- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
80+ ; CHECK-LABEL: define float @fmed3_undef_x_y_f32(
81+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
82+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X]], float [[Y]])
7483; CHECK-NEXT: ret float [[MED3]]
7584;
7685 %med3 = call float @llvm.amdgcn.fmed3.f32 (float undef , float %x , float %y )
7786 ret float %med3
7887}
7988
8089define float @fmed3_fmf_undef_x_y_f32 (float %x , float %y ) #1 {
81- ; CHECK-LABEL: @fmed3_fmf_undef_x_y_f32(
82- ; CHECK-NEXT: [[MED3:%.*]] = call nnan float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
90+ ; CHECK-LABEL: define float @fmed3_fmf_undef_x_y_f32(
91+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
92+ ; CHECK-NEXT: [[MED3:%.*]] = call nnan float @llvm.minnum.f32(float [[X]], float [[Y]])
8393; CHECK-NEXT: ret float [[MED3]]
8494;
8595 %med3 = call nnan float @llvm.amdgcn.fmed3.f32 (float undef , float %x , float %y )
8696 ret float %med3
8797}
8898
8999define float @fmed3_x_undef_y_f32 (float %x , float %y ) #1 {
90- ; CHECK-LABEL: @fmed3_x_undef_y_f32(
91- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
100+ ; CHECK-LABEL: define float @fmed3_x_undef_y_f32(
101+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
102+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X]], float [[Y]])
92103; CHECK-NEXT: ret float [[MED3]]
93104;
94105 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float undef , float %y )
95106 ret float %med3
96107}
97108
98109define float @fmed3_x_y_undef_f32 (float %x , float %y ) #1 {
99- ; CHECK-LABEL: @fmed3_x_y_undef_f32(
100- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
110+ ; CHECK-LABEL: define float @fmed3_x_y_undef_f32(
111+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
112+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.maxnum.f32(float [[X]], float [[Y]])
101113; CHECK-NEXT: ret float [[MED3]]
102114;
103115 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float %y , float undef )
104116 ret float %med3
105117}
106118
107119define float @fmed3_qnan0_x_y_f32 (float %x , float %y ) #1 {
108- ; CHECK-LABEL: @fmed3_qnan0_x_y_f32(
109- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
120+ ; CHECK-LABEL: define float @fmed3_qnan0_x_y_f32(
121+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
122+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X]], float [[Y]])
110123; CHECK-NEXT: ret float [[MED3]]
111124;
112125 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0x7FF8000000000000 , float %x , float %y )
113126 ret float %med3
114127}
115128
116129define float @fmed3_x_qnan0_y_f32 (float %x , float %y ) #1 {
117- ; CHECK-LABEL: @fmed3_x_qnan0_y_f32(
118- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
130+ ; CHECK-LABEL: define float @fmed3_x_qnan0_y_f32(
131+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
132+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X]], float [[Y]])
119133; CHECK-NEXT: ret float [[MED3]]
120134;
121135 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float 0x7FF8000000000000 , float %y )
122136 ret float %med3
123137}
124138
125139define float @fmed3_x_y_qnan0_f32 (float %x , float %y ) #1 {
126- ; CHECK-LABEL: @fmed3_x_y_qnan0_f32(
127- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
140+ ; CHECK-LABEL: define float @fmed3_x_y_qnan0_f32(
141+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
142+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.maxnum.f32(float [[X]], float [[Y]])
128143; CHECK-NEXT: ret float [[MED3]]
129144;
130145 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float %y , float 0x7FF8000000000000 )
131146 ret float %med3
132147}
133148
134149define float @fmed3_qnan1_x_y_f32 (float %x , float %y ) #1 {
135- ; CHECK-LABEL: @fmed3_qnan1_x_y_f32(
136- ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
150+ ; CHECK-LABEL: define float @fmed3_qnan1_x_y_f32(
151+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
152+ ; CHECK-NEXT: [[MED3:%.*]] = call float @llvm.minnum.f32(float [[X]], float [[Y]])
137153; CHECK-NEXT: ret float [[MED3]]
138154;
139155 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0x7FF8000100000000 , float %x , float %y )
@@ -142,151 +158,170 @@ define float @fmed3_qnan1_x_y_f32(float %x, float %y) #1 {
142158
143159; This can return any of the qnans.
144160define float @fmed3_qnan0_qnan1_qnan2_f32 (float %x , float %y ) #1 {
145- ; CHECK-LABEL: @fmed3_qnan0_qnan1_qnan2_f32(
161+ ; CHECK-LABEL: define float @fmed3_qnan0_qnan1_qnan2_f32(
162+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
146163; CHECK-NEXT: ret float 0x7FF8030000000000
147164;
148165 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0x7FF8000100000000 , float 0x7FF8002000000000 , float 0x7FF8030000000000 )
149166 ret float %med3
150167}
151168
152169define float @fmed3_constant_src0_0_f32 (float %x , float %y ) #1 {
153- ; CHECK-LABEL: @fmed3_constant_src0_0_f32(
170+ ; CHECK-LABEL: define float @fmed3_constant_src0_0_f32(
171+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
154172; CHECK-NEXT: ret float 5.000000e-01
155173;
156174 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0 .5 , float -1 .0 , float 4 .0 )
157175 ret float %med3
158176}
159177
160178define float @fmed3_constant_src0_1_f32 (float %x , float %y ) #1 {
161- ; CHECK-LABEL: @fmed3_constant_src0_1_f32(
179+ ; CHECK-LABEL: define float @fmed3_constant_src0_1_f32(
180+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
162181; CHECK-NEXT: ret float 5.000000e-01
163182;
164183 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0 .5 , float 4 .0 , float -1 .0 )
165184 ret float %med3
166185}
167186
168187define float @fmed3_constant_src1_0_f32 (float %x , float %y ) #1 {
169- ; CHECK-LABEL: @fmed3_constant_src1_0_f32(
188+ ; CHECK-LABEL: define float @fmed3_constant_src1_0_f32(
189+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
170190; CHECK-NEXT: ret float 5.000000e-01
171191;
172192 %med3 = call float @llvm.amdgcn.fmed3.f32 (float -1 .0 , float 0 .5 , float 4 .0 )
173193 ret float %med3
174194}
175195
176196define float @fmed3_constant_src1_1_f32 (float %x , float %y ) #1 {
177- ; CHECK-LABEL: @fmed3_constant_src1_1_f32(
197+ ; CHECK-LABEL: define float @fmed3_constant_src1_1_f32(
198+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
178199; CHECK-NEXT: ret float 5.000000e-01
179200;
180201 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 4 .0 , float 0 .5 , float -1 .0 )
181202 ret float %med3
182203}
183204
184205define float @fmed3_constant_src2_0_f32 (float %x , float %y ) #1 {
185- ; CHECK-LABEL: @fmed3_constant_src2_0_f32(
206+ ; CHECK-LABEL: define float @fmed3_constant_src2_0_f32(
207+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
186208; CHECK-NEXT: ret float 5.000000e-01
187209;
188210 %med3 = call float @llvm.amdgcn.fmed3.f32 (float -1 .0 , float 4 .0 , float 0 .5 )
189211 ret float %med3
190212}
191213
192214define float @fmed3_constant_src2_1_f32 (float %x , float %y ) #1 {
193- ; CHECK-LABEL: @fmed3_constant_src2_1_f32(
215+ ; CHECK-LABEL: define float @fmed3_constant_src2_1_f32(
216+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
194217; CHECK-NEXT: ret float 5.000000e-01
195218;
196219 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 4 .0 , float -1 .0 , float 0 .5 )
197220 ret float %med3
198221}
199222
200223define float @fmed3_x_qnan0_qnan1_f32 (float %x ) #1 {
201- ; CHECK-LABEL: @fmed3_x_qnan0_qnan1_f32(
202- ; CHECK-NEXT: ret float [[X:%.*]]
224+ ; CHECK-LABEL: define float @fmed3_x_qnan0_qnan1_f32(
225+ ; CHECK-SAME: float [[X:%.*]]) #[[ATTR1]] {
226+ ; CHECK-NEXT: ret float [[X]]
203227;
204228 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float 0x7FF8001000000000 , float 0x7FF8002000000000 )
205229 ret float %med3
206230}
207231
208232define float @fmed3_qnan0_x_qnan1_f32 (float %x ) #1 {
209- ; CHECK-LABEL: @fmed3_qnan0_x_qnan1_f32(
210- ; CHECK-NEXT: ret float [[X:%.*]]
233+ ; CHECK-LABEL: define float @fmed3_qnan0_x_qnan1_f32(
234+ ; CHECK-SAME: float [[X:%.*]]) #[[ATTR1]] {
235+ ; CHECK-NEXT: ret float [[X]]
211236;
212237 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0x7FF8001000000000 , float %x , float 0x7FF8002000000000 )
213238 ret float %med3
214239}
215240
216241define float @fmed3_qnan0_qnan1_x_f32 (float %x ) #1 {
217- ; CHECK-LABEL: @fmed3_qnan0_qnan1_x_f32(
218- ; CHECK-NEXT: ret float [[X:%.*]]
242+ ; CHECK-LABEL: define float @fmed3_qnan0_qnan1_x_f32(
243+ ; CHECK-SAME: float [[X:%.*]]) #[[ATTR1]] {
244+ ; CHECK-NEXT: ret float [[X]]
219245;
220246 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0x7FF8001000000000 , float 0x7FF8002000000000 , float %x )
221247 ret float %med3
222248}
223249
224250define float @fmed3_nan_0_1_f32 () #1 {
225- ; CHECK-LABEL: @fmed3_nan_0_1_f32(
251+ ; CHECK-LABEL: define float @fmed3_nan_0_1_f32(
252+ ; CHECK-SAME: ) #[[ATTR1]] {
226253; CHECK-NEXT: ret float 0.000000e+00
227254;
228255 %med3 = call float @llvm.amdgcn.fmed3.f32 (float 0x7FF8001000000000 , float 0 .0 , float 1 .0 )
229256 ret float %med3
230257}
231258
232259define float @fmed3_0_nan_1_f32 () #1 {
233- ; CHECK-LABEL: @fmed3_0_nan_1_f32(
260+ ; CHECK-LABEL: define float @fmed3_0_nan_1_f32(
261+ ; CHECK-SAME: ) #[[ATTR1]] {
234262; CHECK-NEXT: ret float 0.000000e+00
235263;
236264 %med = call float @llvm.amdgcn.fmed3.f32 (float 0 .0 , float 0x7FF8001000000000 , float 1 .0 )
237265 ret float %med
238266}
239267
240268define float @fmed3_0_1_nan_f32 () #1 {
241- ; CHECK-LABEL: @fmed3_0_1_nan_f32(
269+ ; CHECK-LABEL: define float @fmed3_0_1_nan_f32(
270+ ; CHECK-SAME: ) #[[ATTR1]] {
242271; CHECK-NEXT: ret float 1.000000e+00
243272;
244273 %med = call float @llvm.amdgcn.fmed3.f32 (float 0 .0 , float 1 .0 , float 0x7FF8001000000000 )
245274 ret float %med
246275}
247276
248277define float @fmed3_undef_0_1_f32 () #1 {
249- ; CHECK-LABEL: @fmed3_undef_0_1_f32(
278+ ; CHECK-LABEL: define float @fmed3_undef_0_1_f32(
279+ ; CHECK-SAME: ) #[[ATTR1]] {
250280; CHECK-NEXT: ret float 0.000000e+00
251281;
252282 %med3 = call float @llvm.amdgcn.fmed3.f32 (float undef , float 0 .0 , float 1 .0 )
253283 ret float %med3
254284}
255285
256286define float @fmed3_0_undef_1_f32 () #1 {
257- ; CHECK-LABEL: @fmed3_0_undef_1_f32(
287+ ; CHECK-LABEL: define float @fmed3_0_undef_1_f32(
288+ ; CHECK-SAME: ) #[[ATTR1]] {
258289; CHECK-NEXT: ret float 0.000000e+00
259290;
260291 %med = call float @llvm.amdgcn.fmed3.f32 (float 0 .0 , float undef , float 1 .0 )
261292 ret float %med
262293}
263294
264295define float @fmed3_0_1_undef_f32 () #1 {
265- ; CHECK-LABEL: @fmed3_0_1_undef_f32(
296+ ; CHECK-LABEL: define float @fmed3_0_1_undef_f32(
297+ ; CHECK-SAME: ) #[[ATTR1]] {
266298; CHECK-NEXT: ret float 1.000000e+00
267299;
268300 %med = call float @llvm.amdgcn.fmed3.f32 (float 0 .0 , float 1 .0 , float undef )
269301 ret float %med
270302}
271303
272304define float @fmed3_poison_x_y_f32 (float %x , float %y ) #1 {
273- ; CHECK-LABEL: @fmed3_poison_x_y_f32(
305+ ; CHECK-LABEL: define float @fmed3_poison_x_y_f32(
306+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
274307; CHECK-NEXT: ret float poison
275308;
276309 %med3 = call float @llvm.amdgcn.fmed3.f32 (float poison, float %x , float %y )
277310 ret float %med3
278311}
279312
280313define float @fmed3_x_poison_y_f32 (float %x , float %y ) #1 {
281- ; CHECK-LABEL: @fmed3_x_poison_y_f32(
314+ ; CHECK-LABEL: define float @fmed3_x_poison_y_f32(
315+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
282316; CHECK-NEXT: ret float poison
283317;
284318 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float poison, float %y )
285319 ret float %med3
286320}
287321
288322define float @fmed3_x_y_poison_f32 (float %x , float %y ) #1 {
289- ; CHECK-LABEL: @fmed3_x_y_poison_f32(
323+ ; CHECK-LABEL: define float @fmed3_x_y_poison_f32(
324+ ; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]]) #[[ATTR1]] {
290325; CHECK-NEXT: ret float poison
291326;
292327 %med3 = call float @llvm.amdgcn.fmed3.f32 (float %x , float %y , float poison)
0 commit comments