Mercurial > hg > CbC > CbC_llvm
view llvm/test/CodeGen/AMDGPU/waitcnt-flat.ll @ 266:00f31e85ec16 default tip
Added tag current for changeset 31d058e83c98
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Oct 2023 10:13:55 +0900 |
parents | 1f2b6ac9f198 |
children |
line wrap: on
line source
; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=kaveri < %s | FileCheck -enable-var-scope -check-prefix=GCN %s ; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=fiji -mattr=-flat-for-global < %s | FileCheck -enable-var-scope -check-prefix=GCN %s ; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx900 < %s | FileCheck -enable-var-scope -check-prefixes=GCN,GFX9 %s ; If flat_store_dword and flat_load_dword use different registers for the data ; operand, this test is not broken. It just means it is no longer testing ; for the original bug. ; GCN: {{^}}test: ; XGCN: flat_store_dword v[{{[0-9]+:[0-9]+}}], [[DATA:v[0-9]+]] ; XGCN: s_waitcnt vmcnt(0) lgkmcnt(0) ; XGCN: flat_load_dword [[DATA]], v[{{[0-9]+:[0-9]+}}] define amdgpu_kernel void @test(ptr %out, i32 %in) { store volatile i32 0, ptr %out %val = load volatile i32, ptr %out ret void } ; Make sure lgkmcnt isn't used for global_ addrspace(5)* instructions ; GCN-LABEL: {{^}}test_waitcnt_type_flat_global: ; GFX9: global_load_dword [[LD:v[0-9]+]] ; GFX9-NEXT: s_waitcnt vmcnt(0){{$}} ; GFX9-NEXT: ds_write_b32 [[LD]] define amdgpu_kernel void @test_waitcnt_type_flat_global(ptr addrspace(1) %in) { %val = load volatile i32, ptr addrspace(1) %in store volatile i32 %val, ptr addrspace(3) undef ret void }