@@ -419,28 +419,26 @@ body: |
419419 ; GFX9-NEXT: {{ $}}
420420 ; GFX9-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
421421 ; GFX9-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 1
422- ; GFX9-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[SEXT_INREG]](s32)
423- ; GFX9-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s16)
422+ ; GFX9-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
424423 ;
425424 ; GFX8-LABEL: name: test_sext_inreg_s16_1
426425 ; GFX8: liveins: $vgpr0
427426 ; GFX8-NEXT: {{ $}}
428427 ; GFX8-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
429428 ; GFX8-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 1
430- ; GFX8-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[SEXT_INREG]](s32)
431- ; GFX8-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s16)
429+ ; GFX8-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
432430 ;
433431 ; GFX6-LABEL: name: test_sext_inreg_s16_1
434432 ; GFX6: liveins: $vgpr0
435433 ; GFX6-NEXT: {{ $}}
436434 ; GFX6-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
437435 ; GFX6-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 1
438- ; GFX6-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[SEXT_INREG]](s32)
439- ; GFX6-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s16)
436+ ; GFX6-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
440437 %0:_(s32) = COPY $vgpr0
441438 %1:_(s16) = G_TRUNC %0
442439 %2:_(s16) = G_SEXT_INREG %1, 1
443- S_ENDPGM 0, implicit %2
440+ %3:_(s32) = G_ANYEXT %2
441+ $vgpr0 = COPY %3
444442
445443 ...
446444
@@ -455,28 +453,26 @@ body: |
455453 ; GFX9-NEXT: {{ $}}
456454 ; GFX9-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
457455 ; GFX9-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 15
458- ; GFX9-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[SEXT_INREG]](s32)
459- ; GFX9-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s16)
456+ ; GFX9-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
460457 ;
461458 ; GFX8-LABEL: name: test_sext_inreg_s16_15
462459 ; GFX8: liveins: $vgpr0
463460 ; GFX8-NEXT: {{ $}}
464461 ; GFX8-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
465462 ; GFX8-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 15
466- ; GFX8-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[SEXT_INREG]](s32)
467- ; GFX8-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s16)
463+ ; GFX8-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
468464 ;
469465 ; GFX6-LABEL: name: test_sext_inreg_s16_15
470466 ; GFX6: liveins: $vgpr0
471467 ; GFX6-NEXT: {{ $}}
472468 ; GFX6-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
473469 ; GFX6-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[COPY]], 15
474- ; GFX6-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[SEXT_INREG]](s32)
475- ; GFX6-NEXT: S_ENDPGM 0, implicit [[TRUNC]](s16)
470+ ; GFX6-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
476471 %0:_(s32) = COPY $vgpr0
477472 %1:_(s16) = G_TRUNC %0
478473 %2:_(s16) = G_SEXT_INREG %1, 15
479- S_ENDPGM 0, implicit %2
474+ %3:_(s32) = G_ANYEXT %2
475+ $vgpr0 = COPY %3
480476
481477 ...
482478
@@ -491,28 +487,26 @@ body: |
491487 ; GFX9-NEXT: {{ $}}
492488 ; GFX9-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
493489 ; 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)
490+ ; GFX9-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
496491 ;
497492 ; GFX8-LABEL: name: test_sext_inreg_s8_1
498493 ; GFX8: liveins: $vgpr0
499494 ; GFX8-NEXT: {{ $}}
500495 ; GFX8-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
501496 ; 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)
497+ ; GFX8-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
504498 ;
505499 ; GFX6-LABEL: name: test_sext_inreg_s8_1
506500 ; GFX6: liveins: $vgpr0
507501 ; GFX6-NEXT: {{ $}}
508502 ; GFX6-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
509503 ; 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)
504+ ; GFX6-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
512505 %0:_(s32) = COPY $vgpr0
513506 %1:_(s8) = G_TRUNC %0
514507 %2:_(s8) = G_SEXT_INREG %1, 1
515- S_ENDPGM 0, implicit %2
508+ %3:_(s32) = G_ANYEXT %2
509+ $vgpr0 = COPY %3
516510
517511 ...
518512
@@ -527,28 +521,26 @@ body: |
527521 ; GFX9-NEXT: {{ $}}
528522 ; GFX9-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
529523 ; 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)
524+ ; GFX9-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
532525 ;
533526 ; GFX8-LABEL: name: test_sext_inreg_s16_7
534527 ; GFX8: liveins: $vgpr0
535528 ; GFX8-NEXT: {{ $}}
536529 ; GFX8-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
537530 ; 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)
531+ ; GFX8-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
540532 ;
541533 ; GFX6-LABEL: name: test_sext_inreg_s16_7
542534 ; GFX6: liveins: $vgpr0
543535 ; GFX6-NEXT: {{ $}}
544536 ; GFX6-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
545537 ; 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)
538+ ; GFX6-NEXT: $vgpr0 = COPY [[SEXT_INREG]](s32)
548539 %0:_(s32) = COPY $vgpr0
549540 %1:_(s8) = G_TRUNC %0
550541 %2:_(s8) = G_SEXT_INREG %1, 7
551- S_ENDPGM 0, implicit %2
542+ %3:_(s32) = G_ANYEXT %2
543+ $vgpr0 = COPY %3
552544
553545 ...
554546
0 commit comments