blob: 570498e86564ce5c12a8c77bfc35bd25ed92312b [file] [log] [blame]
Matt Arsenaulte935f052016-06-18 05:15:53 +00001; 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:
Matt Arsenault707780b2017-02-22 21:05:25 +00007; CHECK: ScratchSize: 5{{$}}
Matt Arsenault3dbeefa2017-03-21 21:39:51 +00008define amdgpu_kernel void @no_args() {
Yaxun Liu2a22c5d2018-02-02 16:07:16 +00009 %alloca = alloca i8, addrspace(5)
10 store volatile i8 0, i8 addrspace(5)* %alloca
Matt Arsenaulte935f052016-06-18 05:15:53 +000011 ret void
12}
13
14; CHECK-LABEL: {{^}}force_align32:
Matt Arsenault707780b2017-02-22 21:05:25 +000015; CHECK: ScratchSize: 5{{$}}
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000016define amdgpu_kernel void @force_align32(<8 x i32>) {
Yaxun Liu2a22c5d2018-02-02 16:07:16 +000017 %alloca = alloca i8, addrspace(5)
18 store volatile i8 0, i8 addrspace(5)* %alloca
Matt Arsenaulte935f052016-06-18 05:15:53 +000019 ret void
20}
21
22; CHECK-LABEL: {{^}}force_align64:
Matt Arsenault707780b2017-02-22 21:05:25 +000023; CHECK: ScratchSize: 5{{$}}
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000024define amdgpu_kernel void @force_align64(<16 x i32>) {
Yaxun Liu2a22c5d2018-02-02 16:07:16 +000025 %alloca = alloca i8, addrspace(5)
26 store volatile i8 0, i8 addrspace(5)* %alloca
Matt Arsenaulte935f052016-06-18 05:15:53 +000027 ret void
28}
29
30; CHECK-LABEL: {{^}}force_align128:
Matt Arsenault707780b2017-02-22 21:05:25 +000031; CHECK: ScratchSize: 5{{$}}
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000032define amdgpu_kernel void @force_align128(<32 x i32>) {
Yaxun Liu2a22c5d2018-02-02 16:07:16 +000033 %alloca = alloca i8, addrspace(5)
34 store volatile i8 0, i8 addrspace(5)* %alloca
Matt Arsenaulte935f052016-06-18 05:15:53 +000035 ret void
36}
37
38; CHECK-LABEL: {{^}}force_align256:
Matt Arsenault707780b2017-02-22 21:05:25 +000039; CHECK: ScratchSize: 5{{$}}
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000040define amdgpu_kernel void @force_align256(<64 x i32>) {
Yaxun Liu2a22c5d2018-02-02 16:07:16 +000041 %alloca = alloca i8, addrspace(5)
42 store volatile i8 0, i8 addrspace(5)* %alloca
Matt Arsenaulte935f052016-06-18 05:15:53 +000043 ret void
44}