brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 039ae1b Raw
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