1e935f05aSMatt Arsenault; RUN: llc -O0 -march=amdgcn -verify-machineinstrs < %s | FileCheck %s 2e935f05aSMatt Arsenault 3e935f05aSMatt Arsenault; Test that the alignment of kernel arguments does not impact the 4e935f05aSMatt Arsenault; alignment of the stack 5e935f05aSMatt Arsenault 6e935f05aSMatt Arsenault; CHECK-LABEL: {{^}}no_args: 7707780b4SMatt Arsenault; CHECK: ScratchSize: 5{{$}} 83dbeefa9SMatt Arsenaultdefine amdgpu_kernel void @no_args() { 9*2a22c5deSYaxun Liu %alloca = alloca i8, addrspace(5) 10*2a22c5deSYaxun Liu store volatile i8 0, i8 addrspace(5)* %alloca 11e935f05aSMatt Arsenault ret void 12e935f05aSMatt Arsenault} 13e935f05aSMatt Arsenault 14e935f05aSMatt Arsenault; CHECK-LABEL: {{^}}force_align32: 15707780b4SMatt Arsenault; CHECK: ScratchSize: 5{{$}} 163dbeefa9SMatt Arsenaultdefine amdgpu_kernel void @force_align32(<8 x i32>) { 17*2a22c5deSYaxun Liu %alloca = alloca i8, addrspace(5) 18*2a22c5deSYaxun Liu store volatile i8 0, i8 addrspace(5)* %alloca 19e935f05aSMatt Arsenault ret void 20e935f05aSMatt Arsenault} 21e935f05aSMatt Arsenault 22e935f05aSMatt Arsenault; CHECK-LABEL: {{^}}force_align64: 23707780b4SMatt Arsenault; CHECK: ScratchSize: 5{{$}} 243dbeefa9SMatt Arsenaultdefine amdgpu_kernel void @force_align64(<16 x i32>) { 25*2a22c5deSYaxun Liu %alloca = alloca i8, addrspace(5) 26*2a22c5deSYaxun Liu store volatile i8 0, i8 addrspace(5)* %alloca 27e935f05aSMatt Arsenault ret void 28e935f05aSMatt Arsenault} 29e935f05aSMatt Arsenault 30e935f05aSMatt Arsenault; CHECK-LABEL: {{^}}force_align128: 31707780b4SMatt Arsenault; CHECK: ScratchSize: 5{{$}} 323dbeefa9SMatt Arsenaultdefine amdgpu_kernel void @force_align128(<32 x i32>) { 33*2a22c5deSYaxun Liu %alloca = alloca i8, addrspace(5) 34*2a22c5deSYaxun Liu store volatile i8 0, i8 addrspace(5)* %alloca 35e935f05aSMatt Arsenault ret void 36e935f05aSMatt Arsenault} 37e935f05aSMatt Arsenault 38e935f05aSMatt Arsenault; CHECK-LABEL: {{^}}force_align256: 39707780b4SMatt Arsenault; CHECK: ScratchSize: 5{{$}} 403dbeefa9SMatt Arsenaultdefine amdgpu_kernel void @force_align256(<64 x i32>) { 41*2a22c5deSYaxun Liu %alloca = alloca i8, addrspace(5) 42*2a22c5deSYaxun Liu store volatile i8 0, i8 addrspace(5)* %alloca 43e935f05aSMatt Arsenault ret void 44e935f05aSMatt Arsenault} 45