brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 7e8d5e0 Raw
73 lines · plain
1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 < %s | FileCheck -check-prefix=GCN %s2; RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx1250 < %s | FileCheck -check-prefix=MESA %s3 4; GFX1250 supports upto 320 KB configurable LDS memory.5; This test checks the min and max size of LDS that can be allocated.6 7@lds.i8 = addrspace(3) global i8 undef8@lds.array.i8 = addrspace(3) global [327679 x i8] undef9@lds.i16 = addrspace(3) global i16 undef10@lds.array.i16 = addrspace(3) global [163839 x i16] undef11@lds.i32 = addrspace(3) global i32 undef12@lds.array.i32 = addrspace(3) global [81919 x i32] undef13 14; GCN-LABEL: test_lds_i8:15; GCN: .amdhsa_group_segment_fixed_size 116; GCN: ; LDSByteSize: 1 bytes/workgroup17; MESA: granulated_lds_size = 118define amdgpu_kernel void @test_lds_i8(i8 %val) {19  store i8 %val, ptr addrspace(3) @lds.i820  ret void21}22 23; GCN-LABEL: test_lds_i16:24; GCN: .amdhsa_group_segment_fixed_size 225; GCN: ; LDSByteSize: 2 bytes/workgroup26; MESA: granulated_lds_size = 127define amdgpu_kernel void @test_lds_i16(i16 %val) {28  store i16 %val, ptr addrspace(3) @lds.i1629  ret void30}31 32; GCN-LABEL: test_lds_i32:33; GCN: .amdhsa_group_segment_fixed_size 434; GCN: ; LDSByteSize: 4 bytes/workgroup35; MESA: granulated_lds_size = 136define amdgpu_kernel void @test_lds_i32(i32 %val) {37  store i32 %val, ptr addrspace(3) @lds.i3238  ret void39}40 41; GCN-LABEL: test_lds_array_i8:42; GCN: .amdhsa_group_segment_fixed_size 32768043; GCN: ; LDSByteSize: 327680 bytes/workgroup44; MESA: granulated_lds_size = 16045define amdgpu_kernel void @test_lds_array_i8() {46  %gep = getelementptr inbounds [327679 x i8], ptr addrspace(3) @lds.array.i8, i32 0, i32 547  %val = load i8, ptr addrspace(3) %gep48  store i8 %val, ptr addrspace(3) @lds.i849  ret void50}51 52; GCN-LABEL: test_lds_array_i16:53; GCN: .amdhsa_group_segment_fixed_size 32768054; GCN: ; LDSByteSize: 327680 bytes/workgroup55; MESA: granulated_lds_size = 16056define amdgpu_kernel void @test_lds_array_i16() {57  %gep = getelementptr inbounds [163839 x i16], ptr addrspace(3) @lds.array.i16, i32 0, i32 1058  %val = load i16, ptr addrspace(3) %gep59  store i16 %val, ptr addrspace(3) @lds.i1660  ret void61}62 63; GCN-LABEL: test_lds_array_i32:64; GCN: .amdhsa_group_segment_fixed_size 32768065; GCN: ; LDSByteSize: 327680 bytes/workgroup66; MESA: granulated_lds_size = 16067define amdgpu_kernel void @test_lds_array_i32() {68  %gep = getelementptr inbounds [81919 x i32], ptr addrspace(3) @lds.array.i32, i32 0, i32 2069  %val = load i32, ptr addrspace(3) %gep70  store i32 %val, ptr addrspace(3) @lds.i3271  ret void72}73