brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.4 KiB · 4d8fb8d Raw
165 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -simplify-mir -start-before=greedy,2 -stress-regalloc=3 -stop-after=postrapseudos -o - -verify-regalloc %s | FileCheck %s3 4# Compare results of using V_MOV_B32 vs. AV_MOV_B32_IMM_PSEUDO during5# allocation.6 7---8name: av_mov_b32_split9tracksRegLiveness: true10machineFunctionInfo:11  isEntryFunction: true12  scratchRSrcReg:  '$sgpr72_sgpr73_sgpr74_sgpr75'13  stackPtrOffsetReg: '$sgpr32'14  occupancy:       715body:             |16  bb.0:17    liveins: $vgpr0, $sgpr4_sgpr518 19    ; CHECK-LABEL: name: av_mov_b32_split20    ; CHECK: liveins: $agpr3, $agpr4, $vgpr0, $sgpr4_sgpr521    ; CHECK-NEXT: {{  $}}22    ; CHECK-NEXT: renamable $agpr0 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec23    ; CHECK-NEXT: renamable $agpr1 = V_ACCVGPR_WRITE_B32_e64 1, implicit $exec24    ; CHECK-NEXT: renamable $agpr2 = V_ACCVGPR_WRITE_B32_e64 2, implicit $exec25    ; CHECK-NEXT: renamable $vgpr0 = V_MOV_B32_e32 3, implicit $exec26    ; CHECK-NEXT: $agpr3 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr0, implicit $exec27    ; CHECK-NEXT: renamable $vgpr0 = V_MOV_B32_e32 4, implicit $exec28    ; CHECK-NEXT: $agpr4 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr0, implicit $exec29    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr030    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr131    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr232    ; CHECK-NEXT: $vgpr0 = V_ACCVGPR_READ_B32_e64 $agpr3, implicit $exec33    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $vgpr034    ; CHECK-NEXT: $vgpr0 = V_ACCVGPR_READ_B32_e64 $agpr4, implicit $exec35    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $vgpr036    %0:vgpr_32 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec37    %1:vgpr_32 = AV_MOV_B32_IMM_PSEUDO 1, implicit $exec38    %2:vgpr_32 = AV_MOV_B32_IMM_PSEUDO 2, implicit $exec39    %3:vgpr_32 = AV_MOV_B32_IMM_PSEUDO 3, implicit $exec40    %4:vgpr_32 = AV_MOV_B32_IMM_PSEUDO 4, implicit $exec41 42    %5:agpr_32 = COPY %043    %6:agpr_32 = COPY %144    %7:agpr_32 = COPY %245    %8:agpr_32 = COPY %346    %9:agpr_32 = COPY %447 48    S_NOP 0, implicit %549    S_NOP 0, implicit %650    S_NOP 0, implicit %751    S_NOP 0, implicit %852    S_NOP 0, implicit %953 54...55 56---57name: v_mov_b32_split58tracksRegLiveness: true59machineFunctionInfo:60  isEntryFunction: true61  scratchRSrcReg:  '$sgpr72_sgpr73_sgpr74_sgpr75'62  stackPtrOffsetReg: '$sgpr32'63  occupancy:       764body:             |65  bb.0:66    liveins: $vgpr0, $sgpr4_sgpr567 68    ; CHECK-LABEL: name: v_mov_b32_split69    ; CHECK: liveins: $agpr3, $agpr4, $vgpr0, $sgpr4_sgpr570    ; CHECK-NEXT: {{  $}}71    ; CHECK-NEXT: renamable $vgpr0 = V_MOV_B32_e32 0, implicit $exec72    ; CHECK-NEXT: renamable $vgpr1 = V_MOV_B32_e32 1, implicit $exec73    ; CHECK-NEXT: renamable $vgpr2 = V_MOV_B32_e32 2, implicit $exec74    ; CHECK-NEXT: $agpr0 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr0, implicit $exec, implicit $exec75    ; CHECK-NEXT: $agpr1 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr1, implicit $exec, implicit $exec76    ; CHECK-NEXT: $agpr2 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr2, implicit $exec, implicit $exec77    ; CHECK-NEXT: renamable $vgpr0 = V_MOV_B32_e32 3, implicit $exec78    ; CHECK-NEXT: $agpr3 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr0, implicit $exec79    ; CHECK-NEXT: renamable $vgpr0 = V_MOV_B32_e32 4, implicit $exec80    ; CHECK-NEXT: $agpr4 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr0, implicit $exec81    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr082    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr183    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr284    ; CHECK-NEXT: $vgpr0 = V_ACCVGPR_READ_B32_e64 $agpr3, implicit $exec85    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $vgpr086    ; CHECK-NEXT: $vgpr0 = V_ACCVGPR_READ_B32_e64 $agpr4, implicit $exec87    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $vgpr088    %0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec89    %1:vgpr_32 = V_MOV_B32_e32 1, implicit $exec90    %2:vgpr_32 = V_MOV_B32_e32 2, implicit $exec91    %3:vgpr_32 = V_MOV_B32_e32 3, implicit $exec92    %4:vgpr_32 = V_MOV_B32_e32 4, implicit $exec93 94    %5:agpr_32 = COPY %095    %6:agpr_32 = COPY %196    %7:agpr_32 = COPY %297    %8:agpr_32 = COPY %398    %9:agpr_32 = COPY %499 100    S_NOP 0, implicit %5101    S_NOP 0, implicit %6102    S_NOP 0, implicit %7103    S_NOP 0, implicit %8104    S_NOP 0, implicit %9105 106...107 108---109name: av_mov_b64_split110tracksRegLiveness: true111machineFunctionInfo:112  isEntryFunction: true113  scratchRSrcReg:  '$sgpr72_sgpr73_sgpr74_sgpr75'114  stackPtrOffsetReg: '$sgpr32'115  occupancy:       7116body:             |117  bb.0:118    liveins: $vgpr0, $sgpr4_sgpr5119 120    ; CHECK-LABEL: name: av_mov_b64_split121    ; CHECK: liveins: $agpr6, $agpr7, $agpr8, $agpr9, $vgpr0, $sgpr4_sgpr5122    ; CHECK-NEXT: {{  $}}123    ; CHECK-NEXT: $agpr0 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec, implicit-def $agpr0_agpr1124    ; CHECK-NEXT: $agpr1 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec, implicit-def $agpr0_agpr1125    ; CHECK-NEXT: $agpr2 = V_ACCVGPR_WRITE_B32_e64 1, implicit $exec, implicit-def $agpr2_agpr3126    ; CHECK-NEXT: $agpr3 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec, implicit-def $agpr2_agpr3127    ; CHECK-NEXT: $agpr4 = V_ACCVGPR_WRITE_B32_e64 2, implicit $exec, implicit-def $agpr4_agpr5128    ; CHECK-NEXT: $agpr5 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec, implicit-def $agpr4_agpr5129    ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 3, implicit $exec, implicit-def $vgpr0_vgpr1130    ; CHECK-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec, implicit-def $vgpr0_vgpr1131    ; CHECK-NEXT: $agpr7 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr0, implicit $exec, implicit-def $vgpr0_vgpr1, implicit $vgpr0_vgpr1132    ; CHECK-NEXT: $agpr6 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr1, implicit $exec, implicit killed $vgpr0_vgpr1133    ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 4, implicit $exec, implicit-def $vgpr0_vgpr1134    ; CHECK-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec, implicit-def $vgpr0_vgpr1135    ; CHECK-NEXT: $agpr9 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr0, implicit $exec, implicit-def $vgpr0_vgpr1, implicit $vgpr0_vgpr1136    ; CHECK-NEXT: $agpr8 = V_ACCVGPR_WRITE_B32_e64 killed $vgpr1, implicit $exec, implicit killed $vgpr0_vgpr1137    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr0_agpr1138    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr2_agpr3139    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $agpr4_agpr5140    ; CHECK-NEXT: $vgpr0 = V_ACCVGPR_READ_B32_e64 $agpr7, implicit $exec, implicit-def $vgpr0_vgpr1141    ; CHECK-NEXT: $vgpr1 = V_ACCVGPR_READ_B32_e64 $agpr6, implicit $exec, implicit $vgpr0_vgpr1142    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $vgpr0_vgpr1143    ; CHECK-NEXT: $vgpr0 = V_ACCVGPR_READ_B32_e64 $agpr9, implicit $exec, implicit-def $vgpr0_vgpr1144    ; CHECK-NEXT: $vgpr1 = V_ACCVGPR_READ_B32_e64 $agpr8, implicit $exec, implicit $vgpr0_vgpr1145    ; CHECK-NEXT: S_NOP 0, implicit killed renamable $vgpr0_vgpr1146    %0:vreg_64_align2 = AV_MOV_B64_IMM_PSEUDO 0, implicit $exec147    %1:vreg_64_align2 = AV_MOV_B64_IMM_PSEUDO 1, implicit $exec148    %2:vreg_64_align2 = AV_MOV_B64_IMM_PSEUDO 2, implicit $exec149    %3:vreg_64_align2 = AV_MOV_B64_IMM_PSEUDO 3, implicit $exec150    %4:vreg_64_align2 = AV_MOV_B64_IMM_PSEUDO 4, implicit $exec151 152    %5:areg_64_align2 = COPY %0153    %6:areg_64_align2 = COPY %1154    %7:areg_64_align2 = COPY %2155    %8:areg_64_align2 = COPY %3156    %9:areg_64_align2 = COPY %4157 158    S_NOP 0, implicit %5159    S_NOP 0, implicit %6160    S_NOP 0, implicit %7161    S_NOP 0, implicit %8162    S_NOP 0, implicit %9163 164...165