brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.0 KiB · 84ecc59 Raw
349 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN,GFX10 %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN %s3 4# GCN-LABEL: name: vmem_write_sgpr5# GCN:        BUFFER_LOAD_DWORD_OFFEN6# GFX10-NEXT: S_WAITCNT_DEPCTR 652837# GCN-NEXT:   S_MOV_B328---9name:            vmem_write_sgpr10body:             |11  bb.0:12    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF13    $sgpr4 = IMPLICIT_DEF14    $vgpr0 = IMPLICIT_DEF15    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec16    $sgpr0 = S_MOV_B32 017...18# GCN-LABEL: name: vmem_write_exec19# GCN:        BUFFER_STORE_DWORD_OFFEN_exact20# GFX10-NEXT: S_WAITCNT_DEPCTR 6528321# GCN-NEXT:   S_MOV_B3222---23name:            vmem_write_exec24body:             |25  bb.0:26    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF27    $sgpr4 = IMPLICIT_DEF28    $vgpr0 = IMPLICIT_DEF29    $vgpr1 = IMPLICIT_DEF30    BUFFER_STORE_DWORD_OFFEN_exact killed renamable $vgpr0, renamable $vgpr1, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec31    $exec_lo = S_MOV_B32 -132...33# GCN-LABEL: name: vmem_write_sgpr_chain34# GCN:        BUFFER_LOAD_DWORD_OFFEN35# GCN-NEXT:   S_MOV_B3236# GCN-NEXT:   S_MOV_B3237# GCN-NEXT:   S_MOV_B3238# GCN-NEXT:   S_MOV_B3239# GFX10-NEXT: S_WAITCNT_DEPCTR 6528340# GCN-NEXT:   S_MOV_B3241---42name:            vmem_write_sgpr_chain43body:             |44  bb.0:45    successors:46    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF47    $sgpr4 = IMPLICIT_DEF48    $vgpr0 = IMPLICIT_DEF49    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec50    $sgpr5 = S_MOV_B32 $sgpr051    $sgpr6 = S_MOV_B32 $sgpr152    $sgpr7 = S_MOV_B32 $sgpr253    $sgpr8 = S_MOV_B32 $sgpr354    $sgpr0 = S_MOV_B32 055...56# GCN-LABEL: name: vmem_smem_write_sgpr57# GCN:        BUFFER_LOAD_DWORD_OFFEN58# GFX10-NEXT: S_WAITCNT_DEPCTR 6528359# GCN-NEXT:   S_LOAD_DWORD_IMM60---61name:            vmem_smem_write_sgpr62body:             |63  bb.0:64    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF65    $sgpr4 = IMPLICIT_DEF66    $vgpr0 = IMPLICIT_DEF67    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec68    $sgpr0 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 069...70# GCN-LABEL: name: vmem_snop_write_sgpr71# GCN:        BUFFER_LOAD_DWORD_OFFEN72# GCN-NEXT:   S_NOP73# GFX10-NEXT: S_WAITCNT_DEPCTR 6528374# GCN-NEXT:   S_MOV_B3275---76name:            vmem_snop_write_sgpr77body:             |78  bb.0:79    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF80    $sgpr4 = IMPLICIT_DEF81    $vgpr0 = IMPLICIT_DEF82    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec83    S_NOP 084    $sgpr0 = S_MOV_B32 085...86# GCN-LABEL: name: vmem_valu_write_sgpr87# GCN:      BUFFER_LOAD_DWORD_OFFEN88# GCN-NEXT: V_ADD_F3289# GCN-NEXT: S_MOV_B3290---91name:            vmem_valu_write_sgpr92body:             |93  bb.0:94    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF95    $sgpr4 = IMPLICIT_DEF96    $vgpr0 = IMPLICIT_DEF97    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec98    $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec99    $sgpr0 = S_MOV_B32 0100...101# GCN-LABEL: name: vmem_swait0_write_sgpr102# GCN:      BUFFER_LOAD_DWORD_OFFEN103# GCN-NEXT: S_WAITCNT104# GCN-NEXT: S_MOV_B32105---106name:            vmem_swait0_write_sgpr107body:             |108  bb.0:109    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF110    $sgpr4 = IMPLICIT_DEF111    $vgpr0 = IMPLICIT_DEF112    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec113    S_WAITCNT 0114    $sgpr0 = S_MOV_B32 0115...116# GCN-LABEL: name: vmem_swait_any_write_sgpr117# GCN:        BUFFER_LOAD_DWORD_OFFEN118# GCN-NEXT:   S_WAITCNT119# GFX10-NEXT: S_WAITCNT_DEPCTR 65283120# GCN-NEXT:   S_MOV_B32121---122name:            vmem_swait_any_write_sgpr123body:             |124  bb.0:125    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF126    $sgpr4 = IMPLICIT_DEF127    $vgpr0 = IMPLICIT_DEF128    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec129    S_WAITCNT 1130    $sgpr0 = S_MOV_B32 0131...132# GCN-LABEL: name: vmem_write_exec_impread133# GCN:        BUFFER_LOAD_DWORD_OFFEN134# GFX10-NEXT: S_WAITCNT_DEPCTR 65283135# GCN-NEXT:   S_MOV_B64136---137name:            vmem_write_exec_impread138body:             |139  bb.0:140    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF141    $sgpr4 = IMPLICIT_DEF142    $vgpr0 = IMPLICIT_DEF143    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec144    $exec = S_MOV_B64 7145...146# GCN-LABEL: name: vmem_write_exec_expread147# GCN:        BUFFER_LOAD_DWORD_OFFEN148# GFX10-NEXT: S_WAITCNT_DEPCTR 65283149# GCN-NEXT:   S_MOV_B64150---151name:            vmem_write_exec_expread152body:             |153  bb.0:154    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF155    $vgpr0 = IMPLICIT_DEF156    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $exec_lo, 0, 0, 0, implicit $exec157    $exec = S_MOV_B64 7158...159# GCN-LABEL: name: ds_write_m0160# GCN:        DS_READ_B32161# GFX10-NEXT: S_WAITCNT_DEPCTR 65283162# GCN-NEXT:   S_MOV_B32163---164name:            ds_write_m0165body:             |166  bb.0:167    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF168    $sgpr4 = IMPLICIT_DEF169    $vgpr0 = IMPLICIT_DEF170    $vgpr1 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec171    $m0 = S_MOV_B32 7172...173# GCN-LABEL: name: vmem_write_sgpr_fall_through174# GCN:        BUFFER_LOAD_DWORD_OFFEN175# GCN:        bb.1:176# GFX10-NEXT: S_WAITCNT_DEPCTR 65283177# GCN-NEXT:   S_MOV_B32178---179name:            vmem_write_sgpr_fall_through180body:             |181  bb.0:182    successors: %bb.1183    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF184    $sgpr4 = IMPLICIT_DEF185    $vgpr0 = IMPLICIT_DEF186    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec187 188  bb.1:189    $sgpr0 = S_MOV_B32 0190...191# GCN-LABEL: name: vmem_write_sgpr_branch192# GCN:        BUFFER_LOAD_DWORD_OFFEN193# GCN-NEXT:   S_BRANCH194# GCN:        bb.1:195# GFX10-NEXT: S_WAITCNT_DEPCTR 65283196# GCN-NEXT:   S_MOV_B32197---198name:            vmem_write_sgpr_branch199body:             |200  bb.0:201    successors: %bb.1202    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF203    $sgpr4 = IMPLICIT_DEF204    $vgpr0 = IMPLICIT_DEF205    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec206    S_BRANCH %bb.1207 208  bb.1:209    $sgpr0 = S_MOV_B32 0210...211# GCN-LABEL: name: vmem_write_sgpr_branch_around212# GCN:        BUFFER_LOAD_DWORD_OFFEN213# GCN-NEXT:   S_BRANCH214# GCN:        bb.2:215# GFX10-NEXT: S_WAITCNT_DEPCTR 65283216# GCN-NEXT:   S_MOV_B32217---218name:            vmem_write_sgpr_branch_around219body:             |220  bb.0:221    successors: %bb.2222    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF223    $sgpr4 = IMPLICIT_DEF224    $vgpr0 = IMPLICIT_DEF225    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec226    S_BRANCH %bb.2227 228  bb.1:229    successors: %bb.2230    S_WAITCNT 0231 232  bb.2:233    $sgpr0 = S_MOV_B32 0234...235# GCN-LABEL: name: vmem_write_sgpr_cbranch_around236# GCN:        BUFFER_LOAD_DWORD_OFFEN237# GCN-NEXT:   S_CBRANCH238# GCN-NEXT:   S_BRANCH239# GCN:        bb.1:240# GCN:        S_WAITCNT241# GCN:        V_ADD_CO_U32242# GCN:        bb.2:243# GFX10-NEXT: S_WAITCNT_DEPCTR 65283244# GCN-NEXT:   S_MOV_B32245---246name:            vmem_write_sgpr_cbranch_around247body:             |248  bb.0:249    successors: %bb.1, %bb.2250    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF251    $sgpr4 = IMPLICIT_DEF252    $vgpr0 = IMPLICIT_DEF253    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec254    S_CBRANCH_SCC0 %bb.2, implicit $scc255    S_BRANCH %bb.1256 257  bb.1:258    successors: %bb.2259    S_WAITCNT 0260    $vgpr2, $vcc_lo = V_ADD_CO_U32_e64 $vgpr1, $vgpr1, 0, implicit $exec261    S_BRANCH %bb.2262 263  bb.2:264    $sgpr0 = S_MOV_B32 0265...266# GCN-LABEL: name: vmem_write_sgpr_branch_backedge267# GCN:        $vgpr0 = IMPLICIT_DEF268# GFX10-NEXT: S_WAITCNT_DEPCTR 65283269# GCN-NEXT:   S_MOV_B32270---271name:            vmem_write_sgpr_branch_backedge272body:             |273  bb.0:274    successors: %bb.1275    $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF276    $sgpr4 = IMPLICIT_DEF277    $vgpr0 = IMPLICIT_DEF278    $sgpr0 = S_MOV_B32 0279 280  bb.1:281    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec282    S_BRANCH %bb.0283...284# GCN-LABEL: name: ds_write_exec285# GCN:        DS_WRITE_B32_gfx9286# GFX10-NEXT: S_WAITCNT_DEPCTR 65283287# GCN-NEXT:   S_MOV_B32288---289name:            ds_write_exec290body:             |291  bb.0:292    $vgpr0 = IMPLICIT_DEF293    $vgpr1 = IMPLICIT_DEF294    DS_WRITE_B32_gfx9 $vgpr0, $vgpr1, 0, 0, implicit $exec295    $exec_lo = S_MOV_B32 -1296...297# GCN-LABEL: name: vmem_scratch_exec298# GCN:        SCRATCH_LOAD_DWORD299# GFX10-NEXT: S_WAITCNT_DEPCTR 65283300# GCN-NEXT:   S_MOV_B32301---302name:            vmem_scratch_exec303body:             |304  bb.0:305    $vgpr0 = IMPLICIT_DEF306    $vgpr1 = SCRATCH_LOAD_DWORD undef $vgpr0, 0, 0, implicit $exec, implicit $flat_scr307    $exec_lo = S_MOV_B32 -1308...309# GCN-LABEL: name: vmem_flat_exec310# GCN:        FLAT_LOAD_DWORD311# GFX10-NEXT: S_WAITCNT_DEPCTR 65283312# GCN-NEXT:   S_MOV_B32313---314name:            vmem_flat_exec315body:             |316  bb.0:317    $vgpr0 = IMPLICIT_DEF318    $vgpr1 = IMPLICIT_DEF319    $vgpr2 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec, implicit $flat_scr320    $exec_lo = S_MOV_B32 -1321...322# GCN-LABEL: name: vmem_global_exec323# GCN:        GLOBAL_LOAD_DWORD324# GFX10-NEXT: S_WAITCNT_DEPCTR 65283325# GCN-NEXT:   S_MOV_B32326---327name:            vmem_global_exec328body:             |329  bb.0:330    $vgpr0 = IMPLICIT_DEF331    $vgpr1 = IMPLICIT_DEF332    $vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec333    $exec_lo = S_MOV_B32 -1334...335# GCN-LABEL: name: vmem_global_atomic_exec336# GCN:        GLOBAL_ATOMIC_ADD_RTN337# GFX10-NEXT: S_WAITCNT_DEPCTR 65283338# GCN-NEXT:   S_MOV_B32339---340name:            vmem_global_atomic_exec341body:             |342  bb.0:343    $vgpr0 = IMPLICIT_DEF344    $vgpr1 = IMPLICIT_DEF345    $vgpr2 = IMPLICIT_DEF346    $vgpr3 = GLOBAL_ATOMIC_ADD_RTN $vgpr0_vgpr1, $vgpr2, 0, 1, implicit $exec :: (load store syncscope("agent") seq_cst (s32), addrspace 1)347    $exec_lo = S_MOV_B32 -1348...349