1; RUN: llc -O0 -march=amdgcn -verify-machineinstrs < %s | FileCheck %s 2 3; Test that the alignment of kernel arguments does not impact the 4; alignment of the stack 5 6; CHECK-LABEL: {{^}}no_args: 7; CHECK: ScratchSize: 5{{$}} 8define amdgpu_kernel void @no_args() { 9 %alloca = alloca i8, addrspace(5) 10 store volatile i8 0, i8 addrspace(5)* %alloca 11 ret void 12} 13 14; CHECK-LABEL: {{^}}force_align32: 15; CHECK: ScratchSize: 5{{$}} 16define amdgpu_kernel void @force_align32(<8 x i32>) { 17 %alloca = alloca i8, addrspace(5) 18 store volatile i8 0, i8 addrspace(5)* %alloca 19 ret void 20} 21 22; CHECK-LABEL: {{^}}force_align64: 23; CHECK: ScratchSize: 5{{$}} 24define amdgpu_kernel void @force_align64(<16 x i32>) { 25 %alloca = alloca i8, addrspace(5) 26 store volatile i8 0, i8 addrspace(5)* %alloca 27 ret void 28} 29 30; CHECK-LABEL: {{^}}force_align128: 31; CHECK: ScratchSize: 5{{$}} 32define amdgpu_kernel void @force_align128(<32 x i32>) { 33 %alloca = alloca i8, addrspace(5) 34 store volatile i8 0, i8 addrspace(5)* %alloca 35 ret void 36} 37 38; CHECK-LABEL: {{^}}force_align256: 39; CHECK: ScratchSize: 5{{$}} 40define amdgpu_kernel void @force_align256(<64 x i32>) { 41 %alloca = alloca i8, addrspace(5) 42 store volatile i8 0, i8 addrspace(5)* %alloca 43 ret void 44} 45