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
14 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
15 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %arg
16 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
17 %arg:_(s32) = COPY $vgpr0
18 %shiftamt:_(s32) = G_CONSTANT i32 0
19 %shift:_(s32) = G_LSHR %arg, %shiftamt
20 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
25 name: cvt_f32_ubyte0_lshr_8
26 tracksRegLiveness: true
31 ; CHECK-LABEL: name: cvt_f32_ubyte0_lshr_8
32 ; CHECK: liveins: $vgpr0
34 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
35 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %arg
36 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
37 %arg:_(s32) = COPY $vgpr0
38 %shiftamt:_(s32) = G_CONSTANT i32 8
39 %shift:_(s32) = G_LSHR %arg, %shiftamt
40 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
45 name: cvt_f32_ubyte0_lshr_16
46 tracksRegLiveness: true
51 ; CHECK-LABEL: name: cvt_f32_ubyte0_lshr_16
52 ; CHECK: liveins: $vgpr0
54 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
55 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
56 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
57 %arg:_(s32) = COPY $vgpr0
58 %shiftamt:_(s32) = G_CONSTANT i32 16
59 %shift:_(s32) = G_LSHR %arg, %shiftamt
60 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
65 name: cvt_f32_ubyte0_lshr_24
66 tracksRegLiveness: true
71 ; CHECK-LABEL: name: cvt_f32_ubyte0_lshr_24
72 ; CHECK: liveins: $vgpr0
74 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
75 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %arg
76 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
77 %arg:_(s32) = COPY $vgpr0
78 %shiftamt:_(s32) = G_CONSTANT i32 24
79 %shift:_(s32) = G_LSHR %arg, %shiftamt
80 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
85 name: cvt_f32_ubyte1_lshr_8
86 tracksRegLiveness: true
91 ; CHECK-LABEL: name: cvt_f32_ubyte1_lshr_8
92 ; CHECK: liveins: $vgpr0
94 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
95 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
96 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
97 %arg:_(s32) = COPY $vgpr0
98 %shiftamt:_(s32) = G_CONSTANT i32 8
99 %shift:_(s32) = G_LSHR %arg, %shiftamt
100 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
101 $vgpr0 = COPY %result
105 name: cvt_f32_ubyte1_lshr_16
106 tracksRegLiveness: true
111 ; CHECK-LABEL: name: cvt_f32_ubyte1_lshr_16
112 ; CHECK: liveins: $vgpr0
114 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
115 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %arg
116 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
117 %arg:_(s32) = COPY $vgpr0
118 %shiftamt:_(s32) = G_CONSTANT i32 16
119 %shift:_(s32) = G_LSHR %arg, %shiftamt
120 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
121 $vgpr0 = COPY %result
125 name: cvt_f32_ubyte1_lshr_24
126 tracksRegLiveness: true
131 ; CHECK-LABEL: name: cvt_f32_ubyte1_lshr_24
132 ; CHECK: liveins: $vgpr0
134 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
135 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 24
136 ; CHECK-NEXT: %shift:_(s32) = G_LSHR %arg, %shiftamt(s32)
137 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
138 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
139 %arg:_(s32) = COPY $vgpr0
140 %shiftamt:_(s32) = G_CONSTANT i32 24
141 %shift:_(s32) = G_LSHR %arg, %shiftamt
142 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
143 $vgpr0 = COPY %result
147 name: cvt_f32_ubyte2_lshr_8
148 tracksRegLiveness: true
153 ; CHECK-LABEL: name: cvt_f32_ubyte2_lshr_8
154 ; CHECK: liveins: $vgpr0
156 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
157 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %arg
158 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
159 %arg:_(s32) = COPY $vgpr0
160 %shiftamt:_(s32) = G_CONSTANT i32 8
161 %shift:_(s32) = G_LSHR %arg, %shiftamt
162 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
163 $vgpr0 = COPY %result
167 name: cvt_f32_ubyte2_lshr_16
168 tracksRegLiveness: true
173 ; CHECK-LABEL: name: cvt_f32_ubyte2_lshr_16
174 ; CHECK: liveins: $vgpr0
176 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
177 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 16
178 ; CHECK-NEXT: %shift:_(s32) = G_LSHR %arg, %shiftamt(s32)
179 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
180 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
181 %arg:_(s32) = COPY $vgpr0
182 %shiftamt:_(s32) = G_CONSTANT i32 16
183 %shift:_(s32) = G_LSHR %arg, %shiftamt
184 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
185 $vgpr0 = COPY %result
189 name: cvt_f32_ubyte2_lshr_24
190 tracksRegLiveness: true
195 ; CHECK-LABEL: name: cvt_f32_ubyte2_lshr_24
196 ; CHECK: liveins: $vgpr0
198 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
199 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 24
200 ; CHECK-NEXT: %shift:_(s32) = G_LSHR %arg, %shiftamt(s32)
201 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
202 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
203 %arg:_(s32) = COPY $vgpr0
204 %shiftamt:_(s32) = G_CONSTANT i32 24
205 %shift:_(s32) = G_LSHR %arg, %shiftamt
206 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
207 $vgpr0 = COPY %result
211 name: cvt_f32_ubyte3_lshr_8
212 tracksRegLiveness: true
217 ; CHECK-LABEL: name: cvt_f32_ubyte3_lshr_8
218 ; CHECK: liveins: $vgpr0
220 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
221 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 8
222 ; CHECK-NEXT: %shift:_(s32) = G_LSHR %arg, %shiftamt(s32)
223 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
224 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
225 %arg:_(s32) = COPY $vgpr0
226 %shiftamt:_(s32) = G_CONSTANT i32 8
227 %shift:_(s32) = G_LSHR %arg, %shiftamt
228 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
229 $vgpr0 = COPY %result
233 name: cvt_f32_ubyte0_zext_lshr_8
234 tracksRegLiveness: true
239 ; CHECK-LABEL: name: cvt_f32_ubyte0_zext_lshr_8
240 ; CHECK: liveins: $vgpr0
242 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
243 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %arg
244 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
245 %arg:_(s32) = COPY $vgpr0
246 %trunc:_(s16) = G_TRUNC %arg
247 %shiftamt:_(s32) = G_CONSTANT i32 8
248 %shift:_(s16) = G_LSHR %trunc, %shiftamt
249 %zext:_(s32) = G_ZEXT %shift
250 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %zext
251 $vgpr0 = COPY %result
255 name: cvt_f32_ubyte0_zext_lshr_16
256 tracksRegLiveness: true
261 ; CHECK-LABEL: name: cvt_f32_ubyte0_zext_lshr_16
262 ; CHECK: liveins: $vgpr0
264 ; CHECK-NEXT: %shift:_(s16) = G_IMPLICIT_DEF
265 ; CHECK-NEXT: %zext:_(s32) = G_ZEXT %shift(s16)
266 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %zext
267 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
268 %arg:_(s32) = COPY $vgpr0
269 %trunc:_(s16) = G_TRUNC %arg
270 %shiftamt:_(s32) = G_CONSTANT i32 16
271 %shift:_(s16) = G_LSHR %trunc, %shiftamt
272 %zext:_(s32) = G_ZEXT %shift
273 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %zext
274 $vgpr0 = COPY %result
278 name: cvt_f32_ubyte0_zext_lshr_24
279 tracksRegLiveness: true
284 ; CHECK-LABEL: name: cvt_f32_ubyte0_zext_lshr_24
285 ; CHECK: liveins: $vgpr0
287 ; CHECK-NEXT: %shift:_(s16) = G_IMPLICIT_DEF
288 ; CHECK-NEXT: %zext:_(s32) = G_ZEXT %shift(s16)
289 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %zext
290 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
291 %arg:_(s32) = COPY $vgpr0
292 %trunc:_(s16) = G_TRUNC %arg
293 %shiftamt:_(s32) = G_CONSTANT i32 24
294 %shift:_(s16) = G_LSHR %trunc, %shiftamt
295 %zext:_(s32) = G_ZEXT %shift
296 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %zext
297 $vgpr0 = COPY %result
301 name: cvt_f32_ubyte1_zext_lshr_8
302 tracksRegLiveness: true
307 ; CHECK-LABEL: name: cvt_f32_ubyte1_zext_lshr_8
308 ; CHECK: liveins: $vgpr0
310 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
311 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
312 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
313 %arg:_(s32) = COPY $vgpr0
314 %trunc:_(s16) = G_TRUNC %arg
315 %shiftamt:_(s32) = G_CONSTANT i32 8
316 %shift:_(s16) = G_LSHR %trunc, %shiftamt
317 %zext:_(s32) = G_ZEXT %shift
318 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %zext
319 $vgpr0 = COPY %result
323 name: cvt_f32_ubyte0_shl_8
324 tracksRegLiveness: true
329 ; CHECK-LABEL: name: cvt_f32_ubyte0_shl_8
330 ; CHECK: liveins: $vgpr0
332 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
333 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 8
334 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
335 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
336 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
337 %arg:_(s32) = COPY $vgpr0
338 %shiftamt:_(s32) = G_CONSTANT i32 8
339 %shift:_(s32) = G_SHL %arg, %shiftamt
340 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
341 $vgpr0 = COPY %result
345 name: cvt_f32_ubyte1_shl_8
346 tracksRegLiveness: true
351 ; CHECK-LABEL: name: cvt_f32_ubyte1_shl_8
352 ; CHECK: liveins: $vgpr0
354 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
355 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 8
356 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
357 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
358 ; CHECK-NEXT: $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_UBYTE1 %shift
363 $vgpr0 = COPY %result
367 name: cvt_f32_ubyte2_shl_8
368 tracksRegLiveness: true
373 ; CHECK-LABEL: name: cvt_f32_ubyte2_shl_8
374 ; CHECK: liveins: $vgpr0
376 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
377 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %arg
378 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
379 %arg:_(s32) = COPY $vgpr0
380 %shiftamt:_(s32) = G_CONSTANT i32 8
381 %shift:_(s32) = G_SHL %arg, %shiftamt
382 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
383 $vgpr0 = COPY %result
387 name: cvt_f32_ubyte3_shl_8
388 tracksRegLiveness: true
393 ; CHECK-LABEL: name: cvt_f32_ubyte3_shl_8
394 ; CHECK: liveins: $vgpr0
396 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
397 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %arg
398 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
399 %arg:_(s32) = COPY $vgpr0
400 %shiftamt:_(s32) = G_CONSTANT i32 8
401 %shift:_(s32) = G_SHL %arg, %shiftamt
402 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
403 $vgpr0 = COPY %result
407 name: cvt_f32_ubyte0_shl_16
408 tracksRegLiveness: true
413 ; CHECK-LABEL: name: cvt_f32_ubyte0_shl_16
414 ; CHECK: liveins: $vgpr0
416 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
417 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 16
418 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
419 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
420 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
421 %arg:_(s32) = COPY $vgpr0
422 %shiftamt:_(s32) = G_CONSTANT i32 16
423 %shift:_(s32) = G_SHL %arg, %shiftamt
424 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
425 $vgpr0 = COPY %result
429 name: cvt_f32_ubyte1_shl_16
430 tracksRegLiveness: true
435 ; CHECK-LABEL: name: cvt_f32_ubyte1_shl_16
436 ; CHECK: liveins: $vgpr0
438 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
439 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 16
440 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
441 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
442 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
443 %arg:_(s32) = COPY $vgpr0
444 %shiftamt:_(s32) = G_CONSTANT i32 16
445 %shift:_(s32) = G_SHL %arg, %shiftamt
446 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
447 $vgpr0 = COPY %result
451 name: cvt_f32_ubyte2_shl_16
452 tracksRegLiveness: true
457 ; CHECK-LABEL: name: cvt_f32_ubyte2_shl_16
458 ; CHECK: liveins: $vgpr0
460 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
461 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 16
462 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
463 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
464 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
465 %arg:_(s32) = COPY $vgpr0
466 %shiftamt:_(s32) = G_CONSTANT i32 16
467 %shift:_(s32) = G_SHL %arg, %shiftamt
468 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
469 $vgpr0 = COPY %result
473 name: cvt_f32_ubyte3_shl_16
474 tracksRegLiveness: true
479 ; CHECK-LABEL: name: cvt_f32_ubyte3_shl_16
480 ; CHECK: liveins: $vgpr0
482 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
483 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %arg
484 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
485 %arg:_(s32) = COPY $vgpr0
486 %shiftamt:_(s32) = G_CONSTANT i32 16
487 %shift:_(s32) = G_SHL %arg, %shiftamt
488 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
489 $vgpr0 = COPY %result
493 name: cvt_f32_ubyte0_shl_24
494 tracksRegLiveness: true
499 ; CHECK-LABEL: name: cvt_f32_ubyte0_shl_24
500 ; CHECK: liveins: $vgpr0
502 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
503 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 24
504 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
505 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
506 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
507 %arg:_(s32) = COPY $vgpr0
508 %shiftamt:_(s32) = G_CONSTANT i32 24
509 %shift:_(s32) = G_SHL %arg, %shiftamt
510 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE0 %shift
511 $vgpr0 = COPY %result
515 name: cvt_f32_ubyte1_shl_24
516 tracksRegLiveness: true
521 ; CHECK-LABEL: name: cvt_f32_ubyte1_shl_24
522 ; CHECK: liveins: $vgpr0
524 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
525 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 24
526 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
527 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
528 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
529 %arg:_(s32) = COPY $vgpr0
530 %shiftamt:_(s32) = G_CONSTANT i32 24
531 %shift:_(s32) = G_SHL %arg, %shiftamt
532 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
533 $vgpr0 = COPY %result
537 name: cvt_f32_ubyte2_shl_24
538 tracksRegLiveness: true
543 ; CHECK-LABEL: name: cvt_f32_ubyte2_shl_24
544 ; CHECK: liveins: $vgpr0
546 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
547 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 24
548 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
549 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
550 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
551 %arg:_(s32) = COPY $vgpr0
552 %shiftamt:_(s32) = G_CONSTANT i32 24
553 %shift:_(s32) = G_SHL %arg, %shiftamt
554 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE2 %shift
555 $vgpr0 = COPY %result
559 name: cvt_f32_ubyte3_shl_24
560 tracksRegLiveness: true
565 ; CHECK-LABEL: name: cvt_f32_ubyte3_shl_24
566 ; CHECK: liveins: $vgpr0
568 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
569 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 24
570 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
571 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
572 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
573 %arg:_(s32) = COPY $vgpr0
574 %shiftamt:_(s32) = G_CONSTANT i32 24
575 %shift:_(s32) = G_SHL %arg, %shiftamt
576 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
577 $vgpr0 = COPY %result
580 # Shift amount is wrong
582 name: cvt_f32_ubyte1_shl_7
583 tracksRegLiveness: true
588 ; CHECK-LABEL: name: cvt_f32_ubyte1_shl_7
589 ; CHECK: liveins: $vgpr0
591 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
592 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 7
593 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
594 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
595 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
596 %arg:_(s32) = COPY $vgpr0
597 %shiftamt:_(s32) = G_CONSTANT i32 7
598 %shift:_(s32) = G_SHL %arg, %shiftamt
599 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE1 %shift
600 $vgpr0 = COPY %result
604 name: cvt_f32_ubyte3_shl_17
605 tracksRegLiveness: true
610 ; CHECK-LABEL: name: cvt_f32_ubyte3_shl_17
611 ; CHECK: liveins: $vgpr0
613 ; CHECK-NEXT: %arg:_(s32) = COPY $vgpr0
614 ; CHECK-NEXT: %shiftamt:_(s32) = G_CONSTANT i32 17
615 ; CHECK-NEXT: %shift:_(s32) = G_SHL %arg, %shiftamt(s32)
616 ; CHECK-NEXT: %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
617 ; CHECK-NEXT: $vgpr0 = COPY %result(s32)
618 %arg:_(s32) = COPY $vgpr0
619 %shiftamt:_(s32) = G_CONSTANT i32 17
620 %shift:_(s32) = G_SHL %arg, %shiftamt
621 %result:_(s32) = G_AMDGPU_CVT_F32_UBYTE3 %shift
622 $vgpr0 = COPY %result