| ; RUN: llc -O0 -march=amdgcn -verify-machineinstrs < %s | FileCheck %s |
| |
| ; Test that the alignment of kernel arguments does not impact the |
| ; alignment of the stack |
| |
| ; CHECK-LABEL: {{^}}no_args: |
| ; CHECK: ScratchSize: 5{{$}} |
| define amdgpu_kernel void @no_args() { |
| %alloca = alloca i8, addrspace(5) |
| store volatile i8 0, i8 addrspace(5)* %alloca |
| ret void |
| } |
| |
| ; CHECK-LABEL: {{^}}force_align32: |
| ; CHECK: ScratchSize: 5{{$}} |
| define amdgpu_kernel void @force_align32(<8 x i32>) { |
| %alloca = alloca i8, addrspace(5) |
| store volatile i8 0, i8 addrspace(5)* %alloca |
| ret void |
| } |
| |
| ; CHECK-LABEL: {{^}}force_align64: |
| ; CHECK: ScratchSize: 5{{$}} |
| define amdgpu_kernel void @force_align64(<16 x i32>) { |
| %alloca = alloca i8, addrspace(5) |
| store volatile i8 0, i8 addrspace(5)* %alloca |
| ret void |
| } |
| |
| ; CHECK-LABEL: {{^}}force_align128: |
| ; CHECK: ScratchSize: 5{{$}} |
| define amdgpu_kernel void @force_align128(<32 x i32>) { |
| %alloca = alloca i8, addrspace(5) |
| store volatile i8 0, i8 addrspace(5)* %alloca |
| ret void |
| } |
| |
| ; CHECK-LABEL: {{^}}force_align256: |
| ; CHECK: ScratchSize: 5{{$}} |
| define amdgpu_kernel void @force_align256(<64 x i32>) { |
| %alloca = alloca i8, addrspace(5) |
| store volatile i8 0, i8 addrspace(5)* %alloca |
| ret void |
| } |