@@ -480,6 +480,78 @@ body: |
480480
481481 ...
482482
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+
483555---
484556name : test_sext_inreg_s96_8
485557body : |
0 commit comments