fbe312bcd189a4c28655082bf11d3c0b2effc1b5
[oota-llvm.git] / test / CodeGen / AMDGPU / large-alloca.ll
1 ; RUN: llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=SI %s
2 ; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI %s
3
4 ; GCN-LABEL: {{^}}large_alloca:
5 ; GCN: buffer_store_dword v{{[0-9]+}}, v{{[0-9]+}}, s{{\[[0-9]+:[0-9]+\]}}, s{{[0-9]+}} offen
6 ; GCN: buffer_load_dword v{{[0-9]+}}, v{{[0-9]+}}, s{{\[[0-9]+:[0-9]+\]}}, s{{[0-9]+}} offen
7 ; GCN: ScratchSize: 32768
8 define void @large_alloca(i32 addrspace(1)* %out, i32 %x, i32 %y) #0 {
9   %large = alloca [8192 x i32], align 4
10   %gep = getelementptr [8192 x i32], [8192 x i32]* %large, i32 0, i32 8191
11   store i32 %x, i32* %gep
12   %gep1 = getelementptr [8192 x i32], [8192 x i32]* %large, i32 0, i32 %y
13   %load = load i32, i32* %gep1
14   store i32 %load, i32 addrspace(1)* %out
15   ret void
16 }
17
18 attributes #0 = { nounwind }