[TableGen] Fix validateOperandClass for non Phyical Reg (#118146)
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / kernarg-stack-alignment.ll
blob6f611791af668c6e24e4da74f834db1e32663abb
1 ; RUN: llc -O0 -mtriple=amdgcn -verify-machineinstrs < %s | FileCheck %s
3 ; Test that the alignment of kernel arguments does not impact the
4 ; alignment of the stack
6 ; CHECK-LABEL: {{^}}no_args:
7 ; CHECK: ScratchSize: 8{{$}}
8 define amdgpu_kernel void @no_args() {
9   %alloca = alloca i8, addrspace(5)
10   store volatile i8 0, ptr addrspace(5) %alloca
11   ret void
14 ; CHECK-LABEL: {{^}}force_align32:
15 ; CHECK: ScratchSize: 8{{$}}
16 define amdgpu_kernel void @force_align32(<8 x i32>) {
17   %alloca = alloca i8, addrspace(5)
18   store volatile i8 0, ptr addrspace(5) %alloca
19   ret void
22 ; CHECK-LABEL: {{^}}force_align64:
23 ; CHECK: ScratchSize: 8{{$}}
24 define amdgpu_kernel void @force_align64(<16 x i32>) {
25   %alloca = alloca i8, addrspace(5)
26   store volatile i8 0, ptr addrspace(5) %alloca
27   ret void
30 ; CHECK-LABEL: {{^}}force_align128:
31 ; CHECK: ScratchSize: 8{{$}}
32 define amdgpu_kernel void @force_align128(<32 x i32>) {
33   %alloca = alloca i8, addrspace(5)
34   store volatile i8 0, ptr addrspace(5) %alloca
35   ret void
38 ; CHECK-LABEL: {{^}}force_align256:
39 ; CHECK: ScratchSize: 8{{$}}
40 define amdgpu_kernel void @force_align256(<64 x i32>) {
41   %alloca = alloca i8, addrspace(5)
42   store volatile i8 0, ptr addrspace(5) %alloca
43   ret void