[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / AMDGPU / fp-atomic-to-s_denormmode.mir
blobf1b5ee3524d95222f4df096890dd1309fb9a5e10
1 # RUN: llc -march=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefix=GCN %s
3 # GCN-LABEL: name: flat_atomic_fcmpswap_to_s_denorm_mode
4 # GCN:      FLAT_ATOMIC_FCMPSWAP
5 # GCN-NEXT: S_NOP 0
6 # GCN-NEXT: S_NOP 0
7 # GCN-NEXT: S_NOP 0
8 # GCN-NEXT: S_DENORM_MODE
9 ---
10 name:            flat_atomic_fcmpswap_to_s_denorm_mode
11 body:            |
12   bb.0:
13     FLAT_ATOMIC_FCMPSWAP undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
14     S_DENORM_MODE 0
15 ...
17 # GCN-LABEL: name: flat_atomic_fcmpswap_x2_to_s_denorm_mode
18 # GCN:      FLAT_ATOMIC_FCMPSWAP_X2
19 # GCN-NEXT: S_NOP 0
20 # GCN-NEXT: S_NOP 0
21 # GCN-NEXT: S_NOP 0
22 # GCN-NEXT: S_DENORM_MODE
23 ---
24 name:            flat_atomic_fcmpswap_x2_to_s_denorm_mode
25 body:            |
26   bb.0:
27     FLAT_ATOMIC_FCMPSWAP_X2 undef %0:vreg_64, undef %1:vreg_128, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
28     S_DENORM_MODE 0
29 ...
31 # GCN-LABEL: name: flat_atomic_fmax_to_s_denorm_mode
32 # GCN:      FLAT_ATOMIC_FMAX
33 # GCN-NEXT: S_NOP 0
34 # GCN-NEXT: S_NOP 0
35 # GCN-NEXT: S_NOP 0
36 # GCN-NEXT: S_DENORM_MODE
37 ---
38 name:            flat_atomic_fmax_to_s_denorm_mode
39 body:            |
40   bb.0:
41     FLAT_ATOMIC_FMAX undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
42     S_DENORM_MODE 0
43 ...
45 # GCN-LABEL: name: flat_atomic_fmax_x2_to_s_denorm_mode
46 # GCN:      FLAT_ATOMIC_FMAX_X2
47 # GCN-NEXT: S_NOP 0
48 # GCN-NEXT: S_NOP 0
49 # GCN-NEXT: S_NOP 0
50 # GCN-NEXT: S_DENORM_MODE
51 ---
52 name:            flat_atomic_fmax_x2_to_s_denorm_mode
53 body:            |
54   bb.0:
55     FLAT_ATOMIC_FMAX_X2 undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
56     S_DENORM_MODE 0
57 ...
59 # GCN-LABEL: name: flat_atomic_fmin_to_s_denorm_mode
60 # GCN:      FLAT_ATOMIC_FMIN
61 # GCN-NEXT: S_NOP 0
62 # GCN-NEXT: S_NOP 0
63 # GCN-NEXT: S_NOP 0
64 # GCN-NEXT: S_DENORM_MODE
65 ---
66 name:            flat_atomic_fmin_to_s_denorm_mode
67 body:            |
68   bb.0:
69     FLAT_ATOMIC_FMIN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
70     S_DENORM_MODE 0
71 ...
73 # GCN-LABEL: name: flat_atomic_fmin_x2_to_s_denorm_mode
74 # GCN:      FLAT_ATOMIC_FMIN_X2
75 # GCN-NEXT: S_NOP 0
76 # GCN-NEXT: S_NOP 0
77 # GCN-NEXT: S_NOP 0
78 # GCN-NEXT: S_DENORM_MODE
79 ---
80 name:            flat_atomic_fmin_x2_to_s_denorm_mode
81 body:            |
82   bb.0:
83     FLAT_ATOMIC_FMIN_X2 undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
84     S_DENORM_MODE 0
85 ...
87 # GCN-LABEL: name: flat_atomic_fcmpswap_x2_rtn_to_s_denorm_mode
88 # GCN:      FLAT_ATOMIC_FCMPSWAP_X2_RTN
89 # GCN-NEXT: S_NOP 0
90 # GCN-NEXT: S_NOP 0
91 # GCN-NEXT: S_NOP 0
92 # GCN-NEXT: S_DENORM_MODE
93 ---
94 name:            flat_atomic_fcmpswap_x2_rtn_to_s_denorm_mode
95 body:            |
96   bb.0:
97     %2:vreg_64 = FLAT_ATOMIC_FCMPSWAP_X2_RTN undef %0:vreg_64, undef %1:vreg_128, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
98     S_DENORM_MODE 0
99 ...
101 # GCN-LABEL: name: flat_atomic_fmax_rtn_to_s_denorm_mode
102 # GCN:      FLAT_ATOMIC_FMAX_RTN
103 # GCN-NEXT: S_NOP 0
104 # GCN-NEXT: S_NOP 0
105 # GCN-NEXT: S_NOP 0
106 # GCN-NEXT: S_DENORM_MODE
108 name:            flat_atomic_fmax_rtn_to_s_denorm_mode
109 body:            |
110   bb.0:
111     %2:vgpr_32 = FLAT_ATOMIC_FMAX_RTN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
112     S_DENORM_MODE 0
115 # GCN-LABEL: name: flat_atomic_fmax_x2_rtn_to_s_denorm_mode
116 # GCN:      FLAT_ATOMIC_FMAX_X2_RTN
117 # GCN-NEXT: S_NOP 0
118 # GCN-NEXT: S_NOP 0
119 # GCN-NEXT: S_NOP 0
120 # GCN-NEXT: S_DENORM_MODE
122 name:            flat_atomic_fmax_x2_rtn_to_s_denorm_mode
123 body:            |
124   bb.0:
125     %2:vreg_64 = FLAT_ATOMIC_FMAX_X2_RTN undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
126     S_DENORM_MODE 0
129 # GCN-LABEL: name: flat_atomic_fmin_rtn_to_s_denorm_mode
130 # GCN:      FLAT_ATOMIC_FMIN_RTN
131 # GCN-NEXT: S_NOP 0
132 # GCN-NEXT: S_NOP 0
133 # GCN-NEXT: S_NOP 0
134 # GCN-NEXT: S_DENORM_MODE
136 name:            flat_atomic_fmin_rtn_to_s_denorm_mode
137 body:            |
138   bb.0:
139     %2:vgpr_32 = FLAT_ATOMIC_FMIN_RTN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
140     S_DENORM_MODE 0
143 # GCN-LABEL: name: flat_atomic_fmin_x2_rtn_to_s_denorm_mode
144 # GCN:      FLAT_ATOMIC_FMIN_X2_RTN
145 # GCN-NEXT: S_NOP 0
146 # GCN-NEXT: S_NOP 0
147 # GCN-NEXT: S_NOP 0
148 # GCN-NEXT: S_DENORM_MODE
150 name:            flat_atomic_fmin_x2_rtn_to_s_denorm_mode
151 body:            |
152   bb.0:
153     %2:vreg_64 = FLAT_ATOMIC_FMIN_X2_RTN undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
154     S_DENORM_MODE 0
157 # GCN-LABEL: name: flat_atomic_fcmpswap_rtn_to_s_denorm_mode
158 # GCN:      FLAT_ATOMIC_FCMPSWAP_RTN
159 # GCN-NEXT: S_NOP 0
160 # GCN-NEXT: S_NOP 0
161 # GCN-NEXT: S_NOP 0
162 # GCN-NEXT: S_DENORM_MODE
164 name:            flat_atomic_fcmpswap_rtn_to_s_denorm_mode
165 body:            |
166   bb.0:
167     %2:vgpr_32 = FLAT_ATOMIC_FCMPSWAP_RTN undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
168     S_DENORM_MODE 0
171 # GCN-LABEL: name: global_atomic_fcmpswap_to_s_denorm_mode
172 # GCN:      GLOBAL_ATOMIC_FCMPSWAP
173 # GCN-NEXT: S_NOP 0
174 # GCN-NEXT: S_NOP 0
175 # GCN-NEXT: S_NOP 0
176 # GCN-NEXT: S_DENORM_MODE
178 name:            global_atomic_fcmpswap_to_s_denorm_mode
179 body:            |
180   bb.0:
181     GLOBAL_ATOMIC_FCMPSWAP undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
182     S_DENORM_MODE 0
185 # GCN-LABEL: name: global_atomic_fcmpswap_x2_to_s_denorm_mode
186 # GCN:      GLOBAL_ATOMIC_FCMPSWAP_X2
187 # GCN-NEXT: S_NOP 0
188 # GCN-NEXT: S_NOP 0
189 # GCN-NEXT: S_NOP 0
190 # GCN-NEXT: S_DENORM_MODE
192 name:            global_atomic_fcmpswap_x2_to_s_denorm_mode
193 body:            |
194   bb.0:
195     GLOBAL_ATOMIC_FCMPSWAP_X2 undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
196     S_DENORM_MODE 0
199 # GCN-LABEL: name: global_atomic_fmax_to_s_denorm_mode
200 # GCN:      GLOBAL_ATOMIC_FMAX
201 # GCN-NEXT: S_NOP 0
202 # GCN-NEXT: S_NOP 0
203 # GCN-NEXT: S_NOP 0
204 # GCN-NEXT: S_DENORM_MODE
206 name:            global_atomic_fmax_to_s_denorm_mode
207 body:            |
208   bb.0:
209     GLOBAL_ATOMIC_FMAX undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
210     S_DENORM_MODE 0
213 # GCN-LABEL: name: global_atomic_fmax_x2_to_s_denorm_mode
214 # GCN:      GLOBAL_ATOMIC_FMAX_X2
215 # GCN-NEXT: S_NOP 0
216 # GCN-NEXT: S_NOP 0
217 # GCN-NEXT: S_NOP 0
218 # GCN-NEXT: S_DENORM_MODE
220 name:            global_atomic_fmax_x2_to_s_denorm_mode
221 body:            |
222   bb.0:
223     GLOBAL_ATOMIC_FMAX_X2 undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
224     S_DENORM_MODE 0
227 # GCN-LABEL: name: global_atomic_fmin_to_s_denorm_mode
228 # GCN:      GLOBAL_ATOMIC_FMIN
229 # GCN-NEXT: S_NOP 0
230 # GCN-NEXT: S_NOP 0
231 # GCN-NEXT: S_NOP 0
232 # GCN-NEXT: S_DENORM_MODE
234 name:            global_atomic_fmin_to_s_denorm_mode
235 body:            |
236   bb.0:
237     GLOBAL_ATOMIC_FMIN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
238     S_DENORM_MODE 0
241 # GCN-LABEL: name: global_atomic_fmin_x2_to_s_denorm_mode
242 # GCN:      GLOBAL_ATOMIC_FMIN_X2
243 # GCN-NEXT: S_NOP 0
244 # GCN-NEXT: S_NOP 0
245 # GCN-NEXT: S_NOP 0
246 # GCN-NEXT: S_DENORM_MODE
248 name:            global_atomic_fmin_x2_to_s_denorm_mode
249 body:            |
250   bb.0:
251     GLOBAL_ATOMIC_FMIN_X2 undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
252     S_DENORM_MODE 0
255 # GCN-LABEL: name: global_atomic_fcmpswap_rtn_to_s_denorm_mode
256 # GCN:      GLOBAL_ATOMIC_FCMPSWAP_RTN
257 # GCN-NEXT: S_NOP 0
258 # GCN-NEXT: S_NOP 0
259 # GCN-NEXT: S_NOP 0
260 # GCN-NEXT: S_DENORM_MODE
262 name:            global_atomic_fcmpswap_rtn_to_s_denorm_mode
263 body:            |
264   bb.0:
265     %2:vgpr_32 = GLOBAL_ATOMIC_FCMPSWAP_RTN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
266     S_DENORM_MODE 0
269 # GCN-LABEL: name: global_atomic_fcmpswap_x2_rtn_to_s_denorm_mode
270 # GCN:      GLOBAL_ATOMIC_FCMPSWAP_X2_RTN
271 # GCN-NEXT: S_NOP 0
272 # GCN-NEXT: S_NOP 0
273 # GCN-NEXT: S_NOP 0
274 # GCN-NEXT: S_DENORM_MODE
276 name:            global_atomic_fcmpswap_x2_rtn_to_s_denorm_mode
277 body:            |
278   bb.0:
279     %2:vreg_64 = GLOBAL_ATOMIC_FCMPSWAP_X2_RTN undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
280     S_DENORM_MODE 0
283 # GCN-LABEL: name: global_atomic_fmax_rtn_to_s_denorm_mode
284 # GCN:      GLOBAL_ATOMIC_FMAX_RTN
285 # GCN-NEXT: S_NOP 0
286 # GCN-NEXT: S_NOP 0
287 # GCN-NEXT: S_NOP 0
288 # GCN-NEXT: S_DENORM_MODE
290 name:            global_atomic_fmax_rtn_to_s_denorm_mode
291 body:            |
292   bb.0:
293     %2:vgpr_32 = GLOBAL_ATOMIC_FMAX_RTN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
294     S_DENORM_MODE 0
297 # GCN-LABEL: name: global_atomic_fmax_x2_rtn_to_s_denorm_mode
298 # GCN:      GLOBAL_ATOMIC_FMAX_X2_RTN
299 # GCN-NEXT: S_NOP 0
300 # GCN-NEXT: S_NOP 0
301 # GCN-NEXT: S_NOP 0
302 # GCN-NEXT: S_DENORM_MODE
304 name:            global_atomic_fmax_x2_rtn_to_s_denorm_mode
305 body:            |
306   bb.0:
307     %2:vreg_64 = GLOBAL_ATOMIC_FMAX_X2_RTN undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
308     S_DENORM_MODE 0
311 # GCN-LABEL: name: global_atomic_fmin_rtn_to_s_denorm_mode
312 # GCN:      GLOBAL_ATOMIC_FMIN_RTN
313 # GCN-NEXT: S_NOP 0
314 # GCN-NEXT: S_NOP 0
315 # GCN-NEXT: S_NOP 0
316 # GCN-NEXT: S_DENORM_MODE
318 name:            global_atomic_fmin_rtn_to_s_denorm_mode
319 body:            |
320   bb.0:
321     %2:vgpr_32 = GLOBAL_ATOMIC_FMIN_RTN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
322     S_DENORM_MODE 0
325 # GCN-LABEL: name: global_atomic_fmin_x2_rtn_to_s_denorm_mode
326 # GCN:      GLOBAL_ATOMIC_FMIN_X2_RTN
327 # GCN-NEXT: S_NOP 0
328 # GCN-NEXT: S_NOP 0
329 # GCN-NEXT: S_NOP 0
330 # GCN-NEXT: S_DENORM_MODE
332 name:            global_atomic_fmin_x2_rtn_to_s_denorm_mode
333 body:            |
334   bb.0:
335     %2:vreg_64 = GLOBAL_ATOMIC_FMIN_X2_RTN undef %0:vreg_64, undef %1:vreg_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
336     S_DENORM_MODE 0
339 # GCN-LABEL: name: global_atomic_fcmpswap_saddr_to_s_denorm_mode
340 # GCN:      GLOBAL_ATOMIC_FCMPSWAP_SADDR
341 # GCN-NEXT: S_NOP 0
342 # GCN-NEXT: S_NOP 0
343 # GCN-NEXT: S_NOP 0
344 # GCN-NEXT: S_DENORM_MODE
346 name:            global_atomic_fcmpswap_saddr_to_s_denorm_mode
347 body:            |
348   bb.0:
349     GLOBAL_ATOMIC_FCMPSWAP_SADDR undef %0:vreg_64, undef %1:vgpr_32, undef %3:sgpr_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
350     S_DENORM_MODE 0
353 # GCN-LABEL: name: global_atomic_fcmpswap_x2_saddr_rtn_to_s_denorm_mode
354 # GCN:      GLOBAL_ATOMIC_FCMPSWAP_X2_SADDR_RTN
355 # GCN-NEXT: S_NOP 0
356 # GCN-NEXT: S_NOP 0
357 # GCN-NEXT: S_NOP 0
358 # GCN-NEXT: S_DENORM_MODE
360 name:            global_atomic_fcmpswap_x2_saddr_rtn_to_s_denorm_mode
361 body:            |
362   bb.0:
363     %2:vreg_64 = GLOBAL_ATOMIC_FCMPSWAP_X2_SADDR_RTN undef %0:vreg_64, undef %1:vreg_64, undef %3:sgpr_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
364     S_DENORM_MODE 0
367 # GCN-LABEL: name: global_atomic_fmax_saddr_rtn_to_s_denorm_mode
368 # GCN:      GLOBAL_ATOMIC_FMAX_SADDR_RTN
369 # GCN-NEXT: S_NOP 0
370 # GCN-NEXT: S_NOP 0
371 # GCN-NEXT: S_NOP 0
372 # GCN-NEXT: S_DENORM_MODE
374 name:            global_atomic_fmax_saddr_rtn_to_s_denorm_mode
375 body:            |
376   bb.0:
377     %2:vgpr_32 = GLOBAL_ATOMIC_FMAX_SADDR_RTN undef %0:vreg_64, undef %1:vgpr_32, undef %3:sgpr_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
378     S_DENORM_MODE 0
381 # GCN-LABEL: name: global_atomic_fmax_x2_saddr_rtn_to_s_denorm_mode
382 # GCN:      GLOBAL_ATOMIC_FMAX_X2_SADDR_RTN
383 # GCN-NEXT: S_NOP 0
384 # GCN-NEXT: S_NOP 0
385 # GCN-NEXT: S_NOP 0
386 # GCN-NEXT: S_DENORM_MODE
388 name:            global_atomic_fmax_x2_saddr_rtn_to_s_denorm_mode
389 body:            |
390   bb.0:
391     %2:vreg_64 = GLOBAL_ATOMIC_FMAX_X2_SADDR_RTN undef %0:vreg_64, undef %1:vreg_64, undef %3:sgpr_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
392     S_DENORM_MODE 0
395 # GCN-LABEL: name: global_atomic_fmin_saddr_rtn_to_s_denorm_mode
396 # GCN:      GLOBAL_ATOMIC_FMIN_SADDR_RTN
397 # GCN-NEXT: S_NOP 0
398 # GCN-NEXT: S_NOP 0
399 # GCN-NEXT: S_NOP 0
400 # GCN-NEXT: S_DENORM_MODE
402 name:            global_atomic_fmin_saddr_rtn_to_s_denorm_mode
403 body:            |
404   bb.0:
405     %2:vgpr_32 = GLOBAL_ATOMIC_FMIN_SADDR_RTN undef %0:vreg_64, undef %1:vgpr_32, undef %3:sgpr_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
406     S_DENORM_MODE 0
409 # GCN-LABEL: name: global_atomic_fmin_x2_saddr_rtn_to_s_denorm_mode
410 # GCN:      GLOBAL_ATOMIC_FMIN_X2_SADDR_RTN
411 # GCN-NEXT: S_NOP 0
412 # GCN-NEXT: S_NOP 0
413 # GCN-NEXT: S_NOP 0
414 # GCN-NEXT: S_DENORM_MODE
416 name:            global_atomic_fmin_x2_saddr_rtn_to_s_denorm_mode
417 body:            |
418   bb.0:
419     %2:vreg_64 = GLOBAL_ATOMIC_FMIN_X2_SADDR_RTN undef %0:vreg_64, undef %1:vreg_64, undef %3:sgpr_64, 0, 0, implicit $exec :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
420     S_DENORM_MODE 0
423 # GCN-LABEL: name: flat_fp_atomic_to_s_denorm_mode_waitcnt
424 # GCN:      FLAT_ATOMIC_FMIN
425 # GCN-NEXT: S_WAITCNT
426 # GCN-NEXT: S_DENORM_MODE
428 name:            flat_fp_atomic_to_s_denorm_mode_waitcnt
429 body:            |
430   bb.0:
431     FLAT_ATOMIC_FMIN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
432     S_WAITCNT 0
433     S_DENORM_MODE 0
436 # GCN-LABEL: name: flat_fp_atomic_to_s_denorm_mode_valu
437 # GCN:      FLAT_ATOMIC_FMIN
438 # GCN-NEXT: V_ADD_F32_e32
439 # GCN-NEXT: S_DENORM_MODE
441 name:            flat_fp_atomic_to_s_denorm_mode_valu
442 body:            |
443   bb.0:
444     FLAT_ATOMIC_FMIN undef %0:vreg_64, undef %1:vgpr_32, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store seq_cst seq_cst 4 on `float addrspace(1)* undef`)
445     %2:vgpr_32 = V_ADD_F32_e32 undef %1:vgpr_32, undef %1:vgpr_32, implicit $exec
446     S_DENORM_MODE 0