brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.9 KiB · 21372c0 Raw
120 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx942 -verify-machineinstrs -run-pass si-insert-waitcnts -o - %s | FileCheck -check-prefix=GCN %s2 3# GCN-LABEL: name: buffer_load_dword_lds_ds_read4# GCN:      BUFFER_LOAD_DWORD_LDS_IDXEN5# GCN-NEXT: S_WAITCNT 39526#                     vmcnt(0)7# GCN-NEXT: DS_READ_B32_gfx98---9name: buffer_load_dword_lds_ds_read10body:             |11  bb.0:12    $m0 = S_MOV_B32 013    BUFFER_LOAD_DWORD_LDS_IDXEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 4, 0, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(1) poison` + 4), (store (s32) into `ptr addrspace(3) poison` + 4)14    $vgpr0 = DS_READ_B32_gfx9 $vgpr1, 0, 0, implicit $m0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)15    S_ENDPGM 016 17...18 19# GCN-LABEL: name: buffer_load_dword_lds_vmcnt_120# GCN:      BUFFER_LOAD_DWORD_LDS_IDXEN21# GCN-NEXT: BUFFER_LOAD_DWORD_IDXEN22# GCN-NEXT: S_WAITCNT 395323#                     vmcnt(1)24# GCN-NEXT: DS_READ_B32_gfx925---26name: buffer_load_dword_lds_vmcnt_127body:             |28  bb.0:29    $m0 = S_MOV_B32 030    BUFFER_LOAD_DWORD_LDS_IDXEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 4, 0, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(1) poison`), (store (s32) into `ptr addrspace(3) poison`)31    $vgpr10 = BUFFER_LOAD_DWORD_IDXEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 4, 0, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(1) poison`)32    $vgpr0 = DS_READ_B32_gfx9 $vgpr1, 0, 0, implicit $m0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)33    S_ENDPGM 034 35...36 37# GCN-LABEL: name: buffer_load_dword_lds_flat_read38# GCN:      BUFFER_LOAD_DWORD_LDS_IDXEN39# GCN-NEXT: S_WAITCNT 395240#                     vmcnt(0)41# GCN-NEXT: FLAT_LOAD_DWORD42---43name: buffer_load_dword_lds_flat_read44body:             |45  bb.0:46    $m0 = S_MOV_B32 047    BUFFER_LOAD_DWORD_LDS_IDXEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 4, 0, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(1) poison`), (store (s32) into `ptr addrspace(3) poison`)48    $vgpr0 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (load (s32) from `ptr poison`)49 50    S_ENDPGM 051 52...53 54# GCN-LABEL: name: global_load_lds_dword_ds_read55# GCN:      GLOBAL_LOAD_LDS_DWORD56# GCN-NEXT: S_WAITCNT 395257#                     vmcnt(0)58# GCN-NEXT: DS_READ_B32_gfx959---60name: global_load_lds_dword_ds_read61body:             |62  bb.0:63    $m0 = S_MOV_B32 064    GLOBAL_LOAD_LDS_DWORD $vgpr0_vgpr1, 4, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(1) poison` + 4), (store (s32) into `ptr addrspace(3) poison` + 4)65    $vgpr0 = DS_READ_B32_gfx9 $vgpr1, 0, 0, implicit $m0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)66    S_ENDPGM 067 68...69 70# GCN-LABEL: name: scratch_load_lds_dword_ds_read71# GCN:      SCRATCH_LOAD_LDS_DWORD72# GCN-NEXT: S_WAITCNT 395273#                     vmcnt(0)74# GCN-NEXT: DS_READ_B32_gfx975---76name: scratch_load_lds_dword_ds_read77body:             |78  bb.0:79    $m0 = S_MOV_B32 080    SCRATCH_LOAD_LDS_DWORD $vgpr0, 4, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(5) poison` + 4), (store (s32) into `ptr addrspace(3) poison` + 4)81    $vgpr0 = DS_READ_B32_gfx9 $vgpr1, 0, 0, implicit $m0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)82    S_ENDPGM 083 84...85 86# GCN-LABEL: name: buffer_store_lds_dword_ds_read87# GCN:      BUFFER_STORE_LDS_DWORD88# GCN-NEXT: DS_READ_B32_gfx989---90name: buffer_store_lds_dword_ds_read91body:             |92  bb.0:93    $m0 = S_MOV_B32 094    BUFFER_STORE_LDS_DWORD $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 4, 0, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(3) poison` + 4), (store (s32) into `ptr addrspace(1) poison` + 4)95    $vgpr0 = DS_READ_B32_gfx9 $vgpr1, 0, 0, implicit $m0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)96    S_ENDPGM 097 98...99 100# No need to wait before load from VMEM to LDS.101# GCN-LABEL: name: series_of_buffer_load_dword_lds_ds_read102# GCN:      BUFFER_LOAD_DWORD_LDS_IDXEN103# GCN-NEXT: BUFFER_LOAD_DWORD_LDS_IDXEN104# GCN-NEXT: BUFFER_LOAD_DWORD_LDS_IDXEN105# GCN-NEXT: S_WAITCNT 3952106#                     vmcnt(0)107# GCN-NEXT: DS_READ_B32_gfx9108---109name: series_of_buffer_load_dword_lds_ds_read110body:             |111  bb.0:112    $m0 = S_MOV_B32 0113    BUFFER_LOAD_DWORD_LDS_IDXEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 0, 0, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(1) poison`), (store (s32) into `ptr addrspace(3) poison`)114    BUFFER_LOAD_DWORD_LDS_IDXEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 4, 0, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(1) poison` + 4), (store (s32) into `ptr addrspace(3) poison` + 4)115    BUFFER_LOAD_DWORD_LDS_IDXEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr4, 8, 0, 0, implicit $exec, implicit $m0 :: (load (s32) from `ptr addrspace(1) poison` + 8), (store (s32) into `ptr addrspace(3) poison` + 8)116    $vgpr0 = DS_READ_B32_gfx9 $vgpr1, 0, 0, implicit $m0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)117    S_ENDPGM 0118 119...120