1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=fiji -run-pass=amdgpu-postlegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s
5 name: cvt_f32_ubyte0_lshr_0
6 tracksRegLiveness: true
11 ; CHECK-LABEL: name: cvt_f32_ubyte0_lshr_0
12 ; CHECK: liveins: $vgpr0
13 ; CHECK: %arg:_(s32) = COPY $vgpr0
14 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %arg
15 ; CHECK: $vgpr0 = COPY %result(s32)
16 %arg:_(s32) = COPY $vgpr0
17 %shiftamt:_(s32) = G_CONSTANT i32 0
18 %shift:_(s32) = G_LSHR %arg, %shiftamt
19 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
24 name: cvt_f32_ubyte0_lshr_8
25 tracksRegLiveness: true
30 ; CHECK-LABEL: name: cvt_f32_ubyte0_lshr_8
31 ; CHECK: liveins: $vgpr0
32 ; CHECK: %arg:_(s32) = COPY $vgpr0
33 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %arg
34 ; CHECK: $vgpr0 = COPY %result(s32)
35 %arg:_(s32) = COPY $vgpr0
36 %shiftamt:_(s32) = G_CONSTANT i32 8
37 %shift:_(s32) = G_LSHR %arg, %shiftamt
38 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
43 name: cvt_f32_ubyte0_lshr_16
44 tracksRegLiveness: true
49 ; CHECK-LABEL: name: cvt_f32_ubyte0_lshr_16
50 ; CHECK: liveins: $vgpr0
51 ; CHECK: %arg:_(s32) = COPY $vgpr0
52 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
53 ; CHECK: $vgpr0 = COPY %result(s32)
54 %arg:_(s32) = COPY $vgpr0
55 %shiftamt:_(s32) = G_CONSTANT i32 16
56 %shift:_(s32) = G_LSHR %arg, %shiftamt
57 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
62 name: cvt_f32_ubyte0_lshr_24
63 tracksRegLiveness: true
68 ; CHECK-LABEL: name: cvt_f32_ubyte0_lshr_24
69 ; CHECK: liveins: $vgpr0
70 ; CHECK: %arg:_(s32) = COPY $vgpr0
71 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %arg
72 ; CHECK: $vgpr0 = COPY %result(s32)
73 %arg:_(s32) = COPY $vgpr0
74 %shiftamt:_(s32) = G_CONSTANT i32 24
75 %shift:_(s32) = G_LSHR %arg, %shiftamt
76 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
81 name: cvt_f32_ubyte1_lshr_8
82 tracksRegLiveness: true
87 ; CHECK-LABEL: name: cvt_f32_ubyte1_lshr_8
88 ; CHECK: liveins: $vgpr0
89 ; CHECK: %arg:_(s32) = COPY $vgpr0
90 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
91 ; CHECK: $vgpr0 = COPY %result(s32)
92 %arg:_(s32) = COPY $vgpr0
93 %shiftamt:_(s32) = G_CONSTANT i32 8
94 %shift:_(s32) = G_LSHR %arg, %shiftamt
95 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
100 name: cvt_f32_ubyte1_lshr_16
101 tracksRegLiveness: true
106 ; CHECK-LABEL: name: cvt_f32_ubyte1_lshr_16
107 ; CHECK: liveins: $vgpr0
108 ; CHECK: %arg:_(s32) = COPY $vgpr0
109 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %arg
110 ; CHECK: $vgpr0 = COPY %result(s32)
111 %arg:_(s32) = COPY $vgpr0
112 %shiftamt:_(s32) = G_CONSTANT i32 16
113 %shift:_(s32) = G_LSHR %arg, %shiftamt
114 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
115 $vgpr0 = COPY %result
119 name: cvt_f32_ubyte1_lshr_24
120 tracksRegLiveness: true
125 ; CHECK-LABEL: name: cvt_f32_ubyte1_lshr_24
126 ; CHECK: liveins: $vgpr0
127 ; CHECK: %arg:_(s32) = COPY $vgpr0
128 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 24
129 ; CHECK: %shift:_(s32) = G_LSHR %arg, %shiftamt(s32)
130 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
131 ; CHECK: $vgpr0 = COPY %result(s32)
132 %arg:_(s32) = COPY $vgpr0
133 %shiftamt:_(s32) = G_CONSTANT i32 24
134 %shift:_(s32) = G_LSHR %arg, %shiftamt
135 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
136 $vgpr0 = COPY %result
140 name: cvt_f32_ubyte2_lshr_8
141 tracksRegLiveness: true
146 ; CHECK-LABEL: name: cvt_f32_ubyte2_lshr_8
147 ; CHECK: liveins: $vgpr0
148 ; CHECK: %arg:_(s32) = COPY $vgpr0
149 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %arg
150 ; CHECK: $vgpr0 = COPY %result(s32)
151 %arg:_(s32) = COPY $vgpr0
152 %shiftamt:_(s32) = G_CONSTANT i32 8
153 %shift:_(s32) = G_LSHR %arg, %shiftamt
154 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
155 $vgpr0 = COPY %result
159 name: cvt_f32_ubyte2_lshr_16
160 tracksRegLiveness: true
165 ; CHECK-LABEL: name: cvt_f32_ubyte2_lshr_16
166 ; CHECK: liveins: $vgpr0
167 ; CHECK: %arg:_(s32) = COPY $vgpr0
168 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 16
169 ; CHECK: %shift:_(s32) = G_LSHR %arg, %shiftamt(s32)
170 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
171 ; CHECK: $vgpr0 = COPY %result(s32)
172 %arg:_(s32) = COPY $vgpr0
173 %shiftamt:_(s32) = G_CONSTANT i32 16
174 %shift:_(s32) = G_LSHR %arg, %shiftamt
175 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
176 $vgpr0 = COPY %result
180 name: cvt_f32_ubyte2_lshr_24
181 tracksRegLiveness: true
186 ; CHECK-LABEL: name: cvt_f32_ubyte2_lshr_24
187 ; CHECK: liveins: $vgpr0
188 ; CHECK: %arg:_(s32) = COPY $vgpr0
189 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 24
190 ; CHECK: %shift:_(s32) = G_LSHR %arg, %shiftamt(s32)
191 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
192 ; CHECK: $vgpr0 = COPY %result(s32)
193 %arg:_(s32) = COPY $vgpr0
194 %shiftamt:_(s32) = G_CONSTANT i32 24
195 %shift:_(s32) = G_LSHR %arg, %shiftamt
196 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
197 $vgpr0 = COPY %result
201 name: cvt_f32_ubyte3_lshr_8
202 tracksRegLiveness: true
207 ; CHECK-LABEL: name: cvt_f32_ubyte3_lshr_8
208 ; CHECK: liveins: $vgpr0
209 ; CHECK: %arg:_(s32) = COPY $vgpr0
210 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 8
211 ; CHECK: %shift:_(s32) = G_LSHR %arg, %shiftamt(s32)
212 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
213 ; CHECK: $vgpr0 = COPY %result(s32)
214 %arg:_(s32) = COPY $vgpr0
215 %shiftamt:_(s32) = G_CONSTANT i32 8
216 %shift:_(s32) = G_LSHR %arg, %shiftamt
217 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
218 $vgpr0 = COPY %result
222 name: cvt_f32_ubyte0_zext_lshr_8
223 tracksRegLiveness: true
228 ; CHECK-LABEL: name: cvt_f32_ubyte0_zext_lshr_8
229 ; CHECK: liveins: $vgpr0
230 ; CHECK: %arg:_(s32) = COPY $vgpr0
231 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %arg
232 ; CHECK: $vgpr0 = COPY %result(s32)
233 %arg:_(s32) = COPY $vgpr0
234 %trunc:_(s16) = G_TRUNC %arg
235 %shiftamt:_(s32) = G_CONSTANT i32 8
236 %shift:_(s16) = G_LSHR %trunc, %shiftamt
237 %zext:_(s32) = G_ZEXT %shift
238 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %zext
239 $vgpr0 = COPY %result
243 name: cvt_f32_ubyte0_zext_lshr_16
244 tracksRegLiveness: true
249 ; CHECK-LABEL: name: cvt_f32_ubyte0_zext_lshr_16
250 ; CHECK: liveins: $vgpr0
251 ; CHECK: %arg:_(s32) = COPY $vgpr0
252 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
253 ; CHECK: $vgpr0 = COPY %result(s32)
254 %arg:_(s32) = COPY $vgpr0
255 %trunc:_(s16) = G_TRUNC %arg
256 %shiftamt:_(s32) = G_CONSTANT i32 16
257 %shift:_(s16) = G_LSHR %trunc, %shiftamt
258 %zext:_(s32) = G_ZEXT %shift
259 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %zext
260 $vgpr0 = COPY %result
264 name: cvt_f32_ubyte0_zext_lshr_24
265 tracksRegLiveness: true
270 ; CHECK-LABEL: name: cvt_f32_ubyte0_zext_lshr_24
271 ; CHECK: liveins: $vgpr0
272 ; CHECK: %arg:_(s32) = COPY $vgpr0
273 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %arg
274 ; CHECK: $vgpr0 = COPY %result(s32)
275 %arg:_(s32) = COPY $vgpr0
276 %trunc:_(s16) = G_TRUNC %arg
277 %shiftamt:_(s32) = G_CONSTANT i32 24
278 %shift:_(s16) = G_LSHR %trunc, %shiftamt
279 %zext:_(s32) = G_ZEXT %shift
280 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %zext
281 $vgpr0 = COPY %result
285 name: cvt_f32_ubyte1_zext_lshr_8
286 tracksRegLiveness: true
291 ; CHECK-LABEL: name: cvt_f32_ubyte1_zext_lshr_8
292 ; CHECK: liveins: $vgpr0
293 ; CHECK: %arg:_(s32) = COPY $vgpr0
294 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
295 ; CHECK: $vgpr0 = COPY %result(s32)
296 %arg:_(s32) = COPY $vgpr0
297 %trunc:_(s16) = G_TRUNC %arg
298 %shiftamt:_(s32) = G_CONSTANT i32 8
299 %shift:_(s16) = G_LSHR %trunc, %shiftamt
300 %zext:_(s32) = G_ZEXT %shift
301 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %zext
302 $vgpr0 = COPY %result
306 name: cvt_f32_ubyte0_shl_8
307 tracksRegLiveness: true
312 ; CHECK-LABEL: name: cvt_f32_ubyte0_shl_8
313 ; CHECK: liveins: $vgpr0
314 ; CHECK: %arg:_(s32) = COPY $vgpr0
315 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 8
316 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
317 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
318 ; CHECK: $vgpr0 = COPY %result(s32)
319 %arg:_(s32) = COPY $vgpr0
320 %shiftamt:_(s32) = G_CONSTANT i32 8
321 %shift:_(s32) = G_SHL %arg, %shiftamt
322 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
323 $vgpr0 = COPY %result
327 name: cvt_f32_ubyte1_shl_8
328 tracksRegLiveness: true
333 ; CHECK-LABEL: name: cvt_f32_ubyte1_shl_8
334 ; CHECK: liveins: $vgpr0
335 ; CHECK: %arg:_(s32) = COPY $vgpr0
336 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 8
337 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
338 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
339 ; CHECK: $vgpr0 = COPY %result(s32)
340 %arg:_(s32) = COPY $vgpr0
341 %shiftamt:_(s32) = G_CONSTANT i32 8
342 %shift:_(s32) = G_SHL %arg, %shiftamt
343 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
344 $vgpr0 = COPY %result
348 name: cvt_f32_ubyte2_shl_8
349 tracksRegLiveness: true
354 ; CHECK-LABEL: name: cvt_f32_ubyte2_shl_8
355 ; CHECK: liveins: $vgpr0
356 ; CHECK: %arg:_(s32) = COPY $vgpr0
357 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %arg
358 ; CHECK: $vgpr0 = COPY %result(s32)
359 %arg:_(s32) = COPY $vgpr0
360 %shiftamt:_(s32) = G_CONSTANT i32 8
361 %shift:_(s32) = G_SHL %arg, %shiftamt
362 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
363 $vgpr0 = COPY %result
367 name: cvt_f32_ubyte3_shl_8
368 tracksRegLiveness: true
373 ; CHECK-LABEL: name: cvt_f32_ubyte3_shl_8
374 ; CHECK: liveins: $vgpr0
375 ; CHECK: %arg:_(s32) = COPY $vgpr0
376 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
377 ; CHECK: $vgpr0 = COPY %result(s32)
378 %arg:_(s32) = COPY $vgpr0
379 %shiftamt:_(s32) = G_CONSTANT i32 8
380 %shift:_(s32) = G_SHL %arg, %shiftamt
381 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
382 $vgpr0 = COPY %result
386 name: cvt_f32_ubyte0_shl_16
387 tracksRegLiveness: true
392 ; CHECK-LABEL: name: cvt_f32_ubyte0_shl_16
393 ; CHECK: liveins: $vgpr0
394 ; CHECK: %arg:_(s32) = COPY $vgpr0
395 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 16
396 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
397 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
398 ; CHECK: $vgpr0 = COPY %result(s32)
399 %arg:_(s32) = COPY $vgpr0
400 %shiftamt:_(s32) = G_CONSTANT i32 16
401 %shift:_(s32) = G_SHL %arg, %shiftamt
402 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
403 $vgpr0 = COPY %result
407 name: cvt_f32_ubyte1_shl_16
408 tracksRegLiveness: true
413 ; CHECK-LABEL: name: cvt_f32_ubyte1_shl_16
414 ; CHECK: liveins: $vgpr0
415 ; CHECK: %arg:_(s32) = COPY $vgpr0
416 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 16
417 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
418 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
419 ; CHECK: $vgpr0 = COPY %result(s32)
420 %arg:_(s32) = COPY $vgpr0
421 %shiftamt:_(s32) = G_CONSTANT i32 16
422 %shift:_(s32) = G_SHL %arg, %shiftamt
423 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
424 $vgpr0 = COPY %result
428 name: cvt_f32_ubyte2_shl_16
429 tracksRegLiveness: true
434 ; CHECK-LABEL: name: cvt_f32_ubyte2_shl_16
435 ; CHECK: liveins: $vgpr0
436 ; CHECK: %arg:_(s32) = COPY $vgpr0
437 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 16
438 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
439 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
440 ; CHECK: $vgpr0 = COPY %result(s32)
441 %arg:_(s32) = COPY $vgpr0
442 %shiftamt:_(s32) = G_CONSTANT i32 16
443 %shift:_(s32) = G_SHL %arg, %shiftamt
444 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
445 $vgpr0 = COPY %result
449 name: cvt_f32_ubyte3_shl_16
450 tracksRegLiveness: true
455 ; CHECK-LABEL: name: cvt_f32_ubyte3_shl_16
456 ; CHECK: liveins: $vgpr0
457 ; CHECK: %arg:_(s32) = COPY $vgpr0
458 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %arg
459 ; CHECK: $vgpr0 = COPY %result(s32)
460 %arg:_(s32) = COPY $vgpr0
461 %shiftamt:_(s32) = G_CONSTANT i32 16
462 %shift:_(s32) = G_SHL %arg, %shiftamt
463 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
464 $vgpr0 = COPY %result
468 name: cvt_f32_ubyte0_shl_24
469 tracksRegLiveness: true
474 ; CHECK-LABEL: name: cvt_f32_ubyte0_shl_24
475 ; CHECK: liveins: $vgpr0
476 ; CHECK: %arg:_(s32) = COPY $vgpr0
477 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 24
478 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
479 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
480 ; CHECK: $vgpr0 = COPY %result(s32)
481 %arg:_(s32) = COPY $vgpr0
482 %shiftamt:_(s32) = G_CONSTANT i32 24
483 %shift:_(s32) = G_SHL %arg, %shiftamt
484 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
485 $vgpr0 = COPY %result
489 name: cvt_f32_ubyte1_shl_24
490 tracksRegLiveness: true
495 ; CHECK-LABEL: name: cvt_f32_ubyte1_shl_24
496 ; CHECK: liveins: $vgpr0
497 ; CHECK: %arg:_(s32) = COPY $vgpr0
498 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 24
499 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
500 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
501 ; CHECK: $vgpr0 = COPY %result(s32)
502 %arg:_(s32) = COPY $vgpr0
503 %shiftamt:_(s32) = G_CONSTANT i32 24
504 %shift:_(s32) = G_SHL %arg, %shiftamt
505 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
506 $vgpr0 = COPY %result
510 name: cvt_f32_ubyte2_shl_24
511 tracksRegLiveness: true
516 ; CHECK-LABEL: name: cvt_f32_ubyte2_shl_24
517 ; CHECK: liveins: $vgpr0
518 ; CHECK: %arg:_(s32) = COPY $vgpr0
519 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 24
520 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
521 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
522 ; CHECK: $vgpr0 = COPY %result(s32)
523 %arg:_(s32) = COPY $vgpr0
524 %shiftamt:_(s32) = G_CONSTANT i32 24
525 %shift:_(s32) = G_SHL %arg, %shiftamt
526 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
527 $vgpr0 = COPY %result
531 name: cvt_f32_ubyte3_shl_24
532 tracksRegLiveness: true
537 ; CHECK-LABEL: name: cvt_f32_ubyte3_shl_24
538 ; CHECK: liveins: $vgpr0
539 ; CHECK: %arg:_(s32) = COPY $vgpr0
540 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 24
541 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
542 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
543 ; CHECK: $vgpr0 = COPY %result(s32)
544 %arg:_(s32) = COPY $vgpr0
545 %shiftamt:_(s32) = G_CONSTANT i32 24
546 %shift:_(s32) = G_SHL %arg, %shiftamt
547 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
548 $vgpr0 = COPY %result
551 # Shift amount is wrong
553 name: cvt_f32_ubyte1_shl_7
554 tracksRegLiveness: true
559 ; CHECK-LABEL: name: cvt_f32_ubyte1_shl_7
560 ; CHECK: liveins: $vgpr0
561 ; CHECK: %arg:_(s32) = COPY $vgpr0
562 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 7
563 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
564 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
565 ; CHECK: $vgpr0 = COPY %result(s32)
566 %arg:_(s32) = COPY $vgpr0
567 %shiftamt:_(s32) = G_CONSTANT i32 7
568 %shift:_(s32) = G_SHL %arg, %shiftamt
569 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
570 $vgpr0 = COPY %result
574 name: cvt_f32_ubyte3_shl_17
575 tracksRegLiveness: true
580 ; CHECK-LABEL: name: cvt_f32_ubyte3_shl_17
581 ; CHECK: liveins: $vgpr0
582 ; CHECK: %arg:_(s32) = COPY $vgpr0
583 ; CHECK: %shiftamt:_(s32) = G_CONSTANT i32 17
584 ; CHECK: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
585 ; CHECK: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
586 ; CHECK: $vgpr0 = COPY %result(s32)
587 %arg:_(s32) = COPY $vgpr0
588 %shiftamt:_(s32) = G_CONSTANT i32 17
589 %shift:_(s32) = G_SHL %arg, %shiftamt
590 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
591 $vgpr0 = COPY %result