brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · f5161bb Raw
58 lines · plain
1# RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s2# RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s3 4# readlane, readfirstlane is always uniform5 6---7name:            readlane8machineFunctionInfo:9  isEntryFunction: true10body:             |11  bb.0:12    ; CHECK-LABEL: MachineUniformityInfo for function:  @readlane13    ; CHECK-NEXT: ALL VALUES UNIFORM14    %0:vgpr_32 = IMPLICIT_DEF15    %1:vgpr_32 = IMPLICIT_DEF16    %2:sreg_32_xm0 = V_READFIRSTLANE_B32 %0, implicit $exec17    %3:sgpr_32 = V_READLANE_B32 %1, 0, implicit $exec18    $sgpr0 = V_READFIRSTLANE_B32 $vgpr0, implicit $exec19    $sgpr1 = V_READLANE_B32 $vgpr1, $sgpr0, implicit $exec20    S_ENDPGM 021...22 23# Readlane with physical register as operand24---25name:            readlane226machineFunctionInfo:27  isEntryFunction: true28body:             |29  bb.0:30    ; CHECK-LABEL: MachineUniformityInfo for function:  @readlane231    ; CHECK-NEXT: ALL VALUES UNIFORM32    %0:vgpr_32 = IMPLICIT_DEF33    %1:vgpr_32 = IMPLICIT_DEF34    %4:sgpr_32 = V_READLANE_B32 $vgpr0, 0, implicit $exec35    $sgpr0 = V_READFIRSTLANE_B32 $vgpr0, implicit $exec36    $sgpr1 = V_READLANE_B32 $vgpr1, $sgpr0, implicit $exec37    %5:sreg_32_xm0 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec38    S_ENDPGM 039...40 41 42 43# for copy operand src = sgpr -> uniform44---45name:            sgprcopy46tracksRegLiveness: true47machineFunctionInfo:48  isEntryFunction: true49body:             |50  bb.0:51    ; CHECK-LABEL: MachineUniformityInfo for function:  @sgprcopy52    ; CHECK-NEXT: ALL VALUES UNIFORM53    liveins: $sgpr0,$sgpr1,$vgpr054    %0:sgpr_32 = COPY $sgpr055    %1:vgpr_32 = COPY $sgpr156    S_ENDPGM 057...58