brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · d5e3beb Raw
133 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -run-pass si-insert-waitcnts -o - %s | FileCheck %s3 4 5# Check storecnt is not eliminated after global_wb/wbinv or6# loadcnt after inv.7---8 9name:            wb_storecnt10body:             |11  ; CHECK-LABEL: name: wb_storecnt12  ; CHECK: bb.0:13  ; CHECK-NEXT:   successors: %bb.2(0x40000000), %bb.1(0x40000000)14  ; CHECK-NEXT: {{  $}}15  ; CHECK-NEXT:   S_WAIT_LOADCNT_DSCNT 016  ; CHECK-NEXT:   S_WAIT_EXPCNT 017  ; CHECK-NEXT:   S_WAIT_SAMPLECNT 018  ; CHECK-NEXT:   S_WAIT_BVHCNT 019  ; CHECK-NEXT:   S_WAIT_KMCNT 020  ; CHECK-NEXT:   S_WAIT_STORECNT 021  ; CHECK-NEXT:   S_CMP_EQ_U32 renamable $sgpr1, 0, implicit-def $scc22  ; CHECK-NEXT:   S_CBRANCH_SCC1 %bb.2, implicit killed $scc23  ; CHECK-NEXT: {{  $}}24  ; CHECK-NEXT: bb.1:25  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)26  ; CHECK-NEXT: {{  $}}27  ; CHECK-NEXT:   GLOBAL_WB 16, implicit $exec28  ; CHECK-NEXT:   S_WAIT_STORECNT 029  ; CHECK-NEXT:   GLOBAL_STORE_DWORD_SADDR renamable $vgpr0, renamable $vgpr1, renamable $sgpr2_sgpr3, 0, 16, implicit $exec30  ; CHECK-NEXT:   S_CBRANCH_SCC0 %bb.1, implicit killed $scc31  ; CHECK-NEXT: {{  $}}32  ; CHECK-NEXT: bb.2:33  ; CHECK-NEXT:   S_ENDPGM 034  bb.0:35    S_WAIT_LOADCNT_soft 036    S_WAIT_STORECNT_soft 037    S_WAIT_DSCNT_soft 038    S_CMP_EQ_U32 renamable $sgpr1, 0, implicit-def $scc39    S_CBRANCH_SCC1 %bb.2, implicit killed $scc40  bb.1:41    GLOBAL_WB 16, implicit $exec42    S_WAIT_LOADCNT_soft 043    S_WAIT_STORECNT_soft 044    GLOBAL_STORE_DWORD_SADDR renamable $vgpr0, renamable $vgpr1, renamable $sgpr2_sgpr3, 0, 16, implicit $exec45    S_CBRANCH_SCC0 %bb.1, implicit killed $scc46  bb.2:47    S_ENDPGM 048...49---50 51name:            wbinv_storecnt52body:             |53  ; CHECK-LABEL: name: wbinv_storecnt54  ; CHECK: bb.0:55  ; CHECK-NEXT:   successors: %bb.2(0x40000000), %bb.1(0x40000000)56  ; CHECK-NEXT: {{  $}}57  ; CHECK-NEXT:   S_WAIT_LOADCNT_DSCNT 058  ; CHECK-NEXT:   S_WAIT_EXPCNT 059  ; CHECK-NEXT:   S_WAIT_SAMPLECNT 060  ; CHECK-NEXT:   S_WAIT_BVHCNT 061  ; CHECK-NEXT:   S_WAIT_KMCNT 062  ; CHECK-NEXT:   S_WAIT_STORECNT 063  ; CHECK-NEXT:   S_CMP_EQ_U32 renamable $sgpr1, 0, implicit-def $scc64  ; CHECK-NEXT:   S_CBRANCH_SCC1 %bb.2, implicit killed $scc65  ; CHECK-NEXT: {{  $}}66  ; CHECK-NEXT: bb.1:67  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)68  ; CHECK-NEXT: {{  $}}69  ; CHECK-NEXT:   GLOBAL_WBINV 16, implicit $exec70  ; CHECK-NEXT:   S_WAIT_STORECNT 071  ; CHECK-NEXT:   GLOBAL_STORE_DWORD_SADDR renamable $vgpr0, renamable $vgpr1, renamable $sgpr2_sgpr3, 0, 16, implicit $exec72  ; CHECK-NEXT:   S_CBRANCH_SCC0 %bb.1, implicit killed $scc73  ; CHECK-NEXT: {{  $}}74  ; CHECK-NEXT: bb.2:75  ; CHECK-NEXT:   S_ENDPGM 076  bb.0:77    S_WAIT_LOADCNT_soft 078    S_WAIT_STORECNT_soft 079    S_WAIT_DSCNT_soft 080    S_CMP_EQ_U32 renamable $sgpr1, 0, implicit-def $scc81    S_CBRANCH_SCC1 %bb.2, implicit killed $scc82  bb.1:83    GLOBAL_WBINV 16, implicit $exec84    S_WAIT_LOADCNT_soft 085    S_WAIT_STORECNT_soft 086    GLOBAL_STORE_DWORD_SADDR renamable $vgpr0, renamable $vgpr1, renamable $sgpr2_sgpr3, 0, 16, implicit $exec87    S_CBRANCH_SCC0 %bb.1, implicit killed $scc88  bb.2:89    S_ENDPGM 090...91---92 93name:            inv_loadcnt94body:             |95  ; CHECK-LABEL: name: inv_loadcnt96  ; CHECK: bb.0:97  ; CHECK-NEXT:   successors: %bb.2(0x40000000), %bb.1(0x40000000)98  ; CHECK-NEXT: {{  $}}99  ; CHECK-NEXT:   S_WAIT_LOADCNT_DSCNT 0100  ; CHECK-NEXT:   S_WAIT_EXPCNT 0101  ; CHECK-NEXT:   S_WAIT_SAMPLECNT 0102  ; CHECK-NEXT:   S_WAIT_BVHCNT 0103  ; CHECK-NEXT:   S_WAIT_KMCNT 0104  ; CHECK-NEXT:   S_WAIT_STORECNT 0105  ; CHECK-NEXT:   S_CMP_EQ_U32 renamable $sgpr1, 0, implicit-def $scc106  ; CHECK-NEXT:   S_CBRANCH_SCC1 %bb.2, implicit killed $scc107  ; CHECK-NEXT: {{  $}}108  ; CHECK-NEXT: bb.1:109  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)110  ; CHECK-NEXT: {{  $}}111  ; CHECK-NEXT:   GLOBAL_INV 16, implicit $exec112  ; CHECK-NEXT:   S_WAIT_LOADCNT 0113  ; CHECK-NEXT:   GLOBAL_STORE_DWORD_SADDR renamable $vgpr0, renamable $vgpr1, renamable $sgpr2_sgpr3, 0, 16, implicit $exec114  ; CHECK-NEXT:   S_CBRANCH_SCC0 %bb.1, implicit killed $scc115  ; CHECK-NEXT: {{  $}}116  ; CHECK-NEXT: bb.2:117  ; CHECK-NEXT:   S_ENDPGM 0118  bb.0:119    S_WAIT_LOADCNT_soft 0120    S_WAIT_STORECNT_soft 0121    S_WAIT_DSCNT_soft 0122    S_CMP_EQ_U32 renamable $sgpr1, 0, implicit-def $scc123    S_CBRANCH_SCC1 %bb.2, implicit killed $scc124  bb.1:125    GLOBAL_INV 16, implicit $exec126    S_WAIT_LOADCNT_soft 0127    S_WAIT_STORECNT_soft 0128    GLOBAL_STORE_DWORD_SADDR renamable $vgpr0, renamable $vgpr1, renamable $sgpr2_sgpr3, 0, 16, implicit $exec129    S_CBRANCH_SCC0 %bb.1, implicit killed $scc130  bb.2:131    S_ENDPGM 0132...133