@@ -480,6 +480,78 @@ body: |
480
480
481
481
...
482
482
483
+ ---
484
+ name : test_sext_inreg_s8_1
485
+ body : |
486
+ bb.0:
487
+ liveins: $vgpr0
488
+
489
+ ; GFX9-LABEL: name: test_sext_inreg_s8_1
490
+ ; GFX9: liveins: $vgpr0
491
+ ; GFX9-NEXT: {{ $}}
492
+ ; GFX9-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
493
+ ; GFX9-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 1
494
+ ; GFX9-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[SEXT_INREG]](s32)
495
+ ; GFX9-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s8)
496
+ ;
497
+ ; GFX8-LABEL: name: test_sext_inreg_s8_1
498
+ ; GFX8: liveins: $vgpr0
499
+ ; GFX8-NEXT: {{ $}}
500
+ ; GFX8-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
501
+ ; GFX8-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 1
502
+ ; GFX8-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[SEXT_INREG]](s32)
503
+ ; GFX8-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s8)
504
+ ;
505
+ ; GFX6-LABEL: name: test_sext_inreg_s8_1
506
+ ; GFX6: liveins: $vgpr0
507
+ ; GFX6-NEXT: {{ $}}
508
+ ; GFX6-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
509
+ ; GFX6-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 1
510
+ ; GFX6-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[SEXT_INREG]](s32)
511
+ ; GFX6-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s8)
512
+ %0:_(s32) = COPY $vgpr0
513
+ %1:_(s8) = G_TRUNC %0
514
+ %2:_(s8) = G_SEXT_INREG %1, 1
515
+ S_ENDPGM 0, implicit %2
516
+
517
+ ...
518
+
519
+ ---
520
+ name : test_sext_inreg_s16_7
521
+ body : |
522
+ bb.0:
523
+ liveins: $vgpr0
524
+
525
+ ; GFX9-LABEL: name: test_sext_inreg_s16_7
526
+ ; GFX9: liveins: $vgpr0
527
+ ; GFX9-NEXT: {{ $}}
528
+ ; GFX9-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
529
+ ; GFX9-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 7
530
+ ; GFX9-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[SEXT_INREG]](s32)
531
+ ; GFX9-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s8)
532
+ ;
533
+ ; GFX8-LABEL: name: test_sext_inreg_s16_7
534
+ ; GFX8: liveins: $vgpr0
535
+ ; GFX8-NEXT: {{ $}}
536
+ ; GFX8-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
537
+ ; GFX8-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 7
538
+ ; GFX8-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[SEXT_INREG]](s32)
539
+ ; GFX8-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s8)
540
+ ;
541
+ ; GFX6-LABEL: name: test_sext_inreg_s16_7
542
+ ; GFX6: liveins: $vgpr0
543
+ ; GFX6-NEXT: {{ $}}
544
+ ; GFX6-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
545
+ ; GFX6-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 7
546
+ ; GFX6-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[SEXT_INREG]](s32)
547
+ ; GFX6-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s8)
548
+ %0:_(s32) = COPY $vgpr0
549
+ %1:_(s8) = G_TRUNC %0
550
+ %2:_(s8) = G_SEXT_INREG %1, 7
551
+ S_ENDPGM 0, implicit %2
552
+
553
+ ...
554
+
483
555
---
484
556
name : test_sext_inreg_s96_8
485
557
body : |
0 commit comments