brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 18aeb25 Raw
92 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn --run-pass=livevars -o - %s | FileCheck %s3---4# Check that super register is defined for an sgpr copy.5name:            sgpr_copy6tracksRegLiveness: true7body:             |8  bb.0:9 10    ; CHECK-LABEL: name: sgpr_copy11    ; CHECK: %sval:sreg_32 = S_MOV_B32 012    ; CHECK-NEXT: $sgpr0 = COPY %sval13    ; CHECK-NEXT: $sgpr1 = COPY %sval14    ; CHECK-NEXT: $sgpr2 = COPY %sval15    ; CHECK-NEXT: $sgpr3 = COPY killed %sval16    ; CHECK-NEXT: SI_RETURN implicit killed $sgpr0_sgpr1_sgpr2_sgpr317    %sval:sreg_32 = S_MOV_B32 018 19    $sgpr0 = COPY %sval20    $sgpr1 = COPY %sval21    $sgpr2 = COPY %sval22    $sgpr3 = COPY %sval23    SI_RETURN implicit $sgpr0_sgpr1_sgpr2_sgpr324 25...26---27# Check that super register is defined for a vgpr vector copy.28name:            vgpr_copy29tracksRegLiveness: true30body:             |31  bb.0:32 33    ; CHECK-LABEL: name: vgpr_copy34    ; CHECK: %vval:vgpr_32 = V_MOV_B32_e32 0, implicit $exec35    ; CHECK-NEXT: $vgpr0 = COPY %vval36    ; CHECK-NEXT: $vgpr1 = COPY %vval37    ; CHECK-NEXT: $vgpr2 = COPY %vval38    ; CHECK-NEXT: $vgpr3 = COPY killed %vval39    ; CHECK-NEXT: dead [[COPY:%[0-9]+]]:vgpr_32 = COPY killed $vgpr0_vgpr1_vgpr2_vgpr340    %vval:vgpr_32 = V_MOV_B32_e32 0, implicit $exec41 42    $vgpr0 = COPY %vval43    $vgpr1 = COPY %vval44    $vgpr2 = COPY %vval45    $vgpr3 = COPY %vval46    %0:vgpr_32 = COPY $vgpr0_vgpr1_vgpr2_vgpr347 48...49---50# Check that super register is defined when there is a hole.51name:            sgpr_copy_hole52tracksRegLiveness: true53body:             |54  bb.0:55    ; CHECK-LABEL: name: sgpr_copy_hole56    ; CHECK: %sval:sreg_32 = S_MOV_B32 057    ; CHECK-NEXT: $sgpr0 = COPY %sval58    ; CHECK-NEXT: $sgpr2 = COPY %sval59    ; CHECK-NEXT: $sgpr3 = COPY killed %sval60    ; CHECK-NEXT: SI_RETURN implicit killed $sgpr0_sgpr1_sgpr2_sgpr361    %sval:sreg_32 = S_MOV_B32 062 63    $sgpr0 = COPY %sval64    $sgpr2 = COPY %sval65    $sgpr3 = COPY %sval66    SI_RETURN implicit $sgpr0_sgpr1_sgpr2_sgpr367 68...69---70# Check that super register is defined when a pair interrupts the sequence.71name:            vgpr_copy_pair72tracksRegLiveness: true73body:             |74  bb.0:75    ; CHECK-LABEL: name: vgpr_copy_pair76    ; CHECK: %vval:vgpr_32 = V_MOV_B32_e32 0, implicit $exec77    ; CHECK-NEXT: $vgpr0 = COPY %vval78    ; CHECK-NEXT: $vgpr1 = COPY %vval79    ; CHECK-NEXT: $vgpr2 = COPY %vval80    ; CHECK-NEXT: $vgpr3 = COPY killed %vval81    ; CHECK-NEXT: dead [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr1_vgpr282    ; CHECK-NEXT: dead [[COPY1:%[0-9]+]]:vgpr_32 = COPY killed $vgpr0_vgpr1_vgpr2_vgpr383    %vval:vgpr_32 = V_MOV_B32_e32 0, implicit $exec84 85    $vgpr0 = COPY %vval86    $vgpr1 = COPY %vval87    $vgpr2 = COPY %vval88    $vgpr3 = COPY %vval89    %0:vgpr_32 = COPY $vgpr1_vgpr290    %1:vgpr_32 = COPY $vgpr0_vgpr1_vgpr2_vgpr391...92