brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.5 KiB · ab4077d Raw
288 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: hazard_lds_branch_buf5# GCN:        bb.1:6# GFX10-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 07# GCN-NEXT:   BUFFER_LOAD_DWORD_OFFEN8---9name:            hazard_lds_branch_buf10body:            |11  bb.0:12    successors: %bb.113    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec14    S_BRANCH %bb.115 16  bb.1:17    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec18    S_ENDPGM 019...20 21# GCN-LABEL: name: hazard_buf_branch_lds22# GCN:        bb.1:23# GFX10-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 024# GCN-NEXT:   DS_READ_B3225---26name:            hazard_buf_branch_lds27body:            |28  bb.0:29    successors: %bb.130    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec31    S_BRANCH %bb.132 33  bb.1:34    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec35    S_ENDPGM 036...37 38# GCN-LABEL: name: no_hazard_lds_branch_lds39# GCN:       bb.1:40# GCN-NEXT:  DS_READ_B3241---42name:            no_hazard_lds_branch_lds43body:            |44  bb.0:45    successors: %bb.146    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec47    S_BRANCH %bb.148 49  bb.1:50    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec51    S_ENDPGM 052...53 54# GCN-LABEL: name: no_hazard_buf_branch_buf55# GCN:      bb.1:56# GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN57---58name:            no_hazard_buf_branch_buf59body:            |60  bb.0:61    successors: %bb.162    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec63    S_BRANCH %bb.164 65  bb.1:66    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec67    S_ENDPGM 068...69 70# GCN-LABEL: name: no_hazard_lds_branch_buf_fallthrough71# GCN:      bb.1:72# GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN73---74name:            no_hazard_lds_branch_buf_fallthrough75body:            |76  bb.0:77    successors: %bb.178    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec79 80  bb.1:81    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec82    S_ENDPGM 083...84 85# GCN-LABEL: name: no_hazard_lds_branch_buf_samebb86# GCN:      DS_READ_B3287# GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN88---89name:            no_hazard_lds_branch_buf_samebb90body:            |91  bb.0:92    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec93    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec94    S_ENDPGM 095...96 97# GCN-LABEL: name: hazard_lds_branch_buf_loop98# GFX10:    S_WAITCNT_VSCNT undef $sgpr_null, 099# GCN:      DS_READ_B32100# GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN101---102name:            hazard_lds_branch_buf_loop103body:            |104  bb.0:105    successors: %bb.0106    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec107    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec108    S_BRANCH %bb.0109...110 111# GCN-LABEL: name: single_hazard_lds_branch_buf112# GCN:        bb.1:113# GFX10-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0114# GCN-NEXT:   BUFFER_LOAD_DWORD_OFFEN115# GCN-NEXT:   BUFFER_LOAD_DWORD_OFFEN116---117name:            single_hazard_lds_branch_buf118body:            |119  bb.0:120    successors: %bb.1121    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec122    S_BRANCH %bb.1123 124  bb.1:125    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec126    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec127    S_ENDPGM 0128...129 130# GCN-LABEL: name: no_hazard_lds_branch_lds_buf131# GCN:      bb.1:132# GCN-NEXT: DS_READ_B32133# GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN134---135name:            no_hazard_lds_branch_lds_buf136body:            |137  bb.0:138    successors: %bb.1139    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec140    S_BRANCH %bb.1141 142  bb.1:143    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec144    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec145    S_ENDPGM 0146...147 148# GCN-LABEL: name: no_hazard_lds_buf_branch_buf149# GCN:      bb.1:150# GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN151---152name:            no_hazard_lds_buf_branch_buf153body:            |154  bb.0:155    successors: %bb.1156    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec157    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec158    S_BRANCH %bb.1159 160  bb.1:161    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec162    S_ENDPGM 0163...164 165# GCN-LABEL: name: hazard_lds_branch_vscnt_1_buf166# GCN:        bb.1:167# GCN-NEXT:   S_WAITCNT_VSCNT undef $sgpr_null, 1168# GFX10-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0169# GCN-NEXT:   BUFFER_LOAD_DWORD_OFFEN170---171name:            hazard_lds_branch_vscnt_1_buf172body:            |173  bb.0:174    successors: %bb.1175    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec176    S_BRANCH %bb.1177 178  bb.1:179    S_WAITCNT_VSCNT undef $sgpr_null, 1180    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec181    S_ENDPGM 0182...183 184# GCN-LABEL: name: no_hazard_lds_branch_vscnt_0_buf185# GCN:      bb.1:186# GCN-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0187# GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN188---189name:            no_hazard_lds_branch_vscnt_0_buf190body:            |191  bb.0:192    successors: %bb.1193    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec194    S_BRANCH %bb.1195 196  bb.1:197    S_WAITCNT_VSCNT undef $sgpr_null, 0198    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec199    S_ENDPGM 0200...201 202# GCN-LABEL: name: hazard_lds_branch_vscnt_s0_buf203# GCN:        bb.1:204# GCN-NEXT:   S_WAITCNT_VSCNT undef $sgpr0, 0205# GFX10-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0206# GCN-NEXT:   BUFFER_LOAD_DWORD_OFFEN207---208name:            hazard_lds_branch_vscnt_s0_buf209body:            |210  bb.0:211    successors: %bb.1212    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec213    S_BRANCH %bb.1214 215  bb.1:216    S_WAITCNT_VSCNT undef $sgpr0, 0217    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec218    S_ENDPGM 0219...220 221# GCN-LABEL: name: no_hazard_lds_vscnt_0_branch_buf222# GCN:      bb.1:223# GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN224---225name:            no_hazard_lds_vscnt_0_branch_buf226body:            |227  bb.0:228    successors: %bb.1229    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec230    S_WAITCNT_VSCNT undef $sgpr_null, 0231    S_BRANCH %bb.1232 233  bb.1:234    $vgpr1 = BUFFER_LOAD_DWORD_OFFEN undef $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec235    S_ENDPGM 0236...237 238# GCN-LABEL: name: hazard_lds_branch_global239# GCN:        bb.1:240# GFX10-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0241# GCN-NEXT:   GLOBAL_LOAD_DWORD242---243name:            hazard_lds_branch_global244body:            |245  bb.0:246    successors: %bb.1247    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec248    S_BRANCH %bb.1249 250  bb.1:251    $vgpr1 = GLOBAL_LOAD_DWORD undef $vgpr0_vgpr1, 0, 0, implicit $exec252    S_ENDPGM 0253...254 255# GCN-LABEL: name: hazard_lds_branch_scratch256# GCN:        bb.1:257# GFX10-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0258# GCN-NEXT:   SCRATCH_LOAD_DWORD259---260name:            hazard_lds_branch_scratch261body:            |262  bb.0:263    successors: %bb.1264    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec265    S_BRANCH %bb.1266 267  bb.1:268    $vgpr1 = SCRATCH_LOAD_DWORD undef $vgpr0, 0, 0, implicit $exec, implicit $flat_scr269    S_ENDPGM 0270...271 272# GCN-LABEL: name: hazard_lds_branch_flat273# GCN:      bb.1:274# GFX10-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0275# GCN-NEXT: FLAT_LOAD_DWORD276---277name:            hazard_lds_branch_flat278body:            |279  bb.0:280    successors: %bb.1281    $vgpr1 = DS_READ_B32 undef $vgpr0, 0, 0, implicit $m0, implicit $exec282    S_BRANCH %bb.1283 284  bb.1:285    $vgpr1 = FLAT_LOAD_DWORD undef $vgpr0_vgpr1, 0, 0, implicit $exec, implicit $flat_scr286    S_ENDPGM 0287...288