45 lines · plain
1; RUN: llc -O0 -mtriple=amdgcn < %s | FileCheck %s2 3; Test that the alignment of kernel arguments does not impact the4; alignment of the stack5 6; CHECK-LABEL: {{^}}no_args:7; CHECK: ScratchSize: 8{{$}}8define amdgpu_kernel void @no_args() {9 %alloca = alloca i8, addrspace(5)10 store volatile i8 0, ptr addrspace(5) %alloca11 ret void12}13 14; CHECK-LABEL: {{^}}force_align32:15; CHECK: ScratchSize: 8{{$}}16define amdgpu_kernel void @force_align32(<8 x i32>) {17 %alloca = alloca i8, addrspace(5)18 store volatile i8 0, ptr addrspace(5) %alloca19 ret void20}21 22; CHECK-LABEL: {{^}}force_align64:23; CHECK: ScratchSize: 8{{$}}24define amdgpu_kernel void @force_align64(<16 x i32>) {25 %alloca = alloca i8, addrspace(5)26 store volatile i8 0, ptr addrspace(5) %alloca27 ret void28}29 30; CHECK-LABEL: {{^}}force_align128:31; CHECK: ScratchSize: 8{{$}}32define amdgpu_kernel void @force_align128(<32 x i32>) {33 %alloca = alloca i8, addrspace(5)34 store volatile i8 0, ptr addrspace(5) %alloca35 ret void36}37 38; CHECK-LABEL: {{^}}force_align256:39; CHECK: ScratchSize: 8{{$}}40define amdgpu_kernel void @force_align256(<64 x i32>) {41 %alloca = alloca i8, addrspace(5)42 store volatile i8 0, ptr addrspace(5) %alloca43 ret void44}45