[clang] Fix crashes when passing VLA to va_arg (#119563)
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / insert-subvector-unused-scratch.ll
blob0623110564b4850bd265f3bf875fd0a61f731338
1 ; RUN: llc -mtriple amdgcn-amd-- -mcpu=bonaire -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
3 ; Before the fix that this test was committed with, this code would leave
4 ; an unused stack slot, causing ScratchSize to be non-zero.
6 ; GCN-LABEL: store_v3i32:
7 ; GCN:        ds_read_b96
8 ; GCN:        ds_write_b96
9 ; GCN: ScratchSize: 0
10 define amdgpu_kernel void @store_v3i32(ptr addrspace(3) %out, <3 x i32> %a) nounwind {
11   %val = load <3 x i32>, ptr addrspace(3) %out
12   %val.1 = add <3 x i32> %a, %val
13   store <3 x i32> %val.1, ptr addrspace(3) %out, align 16
14   ret void
17 ; GCN-LABEL: store_v5i32:
18 ; GCN:        ds_read_b128
19 ; GCN:        ds_read_b32
20 ; GCN:        ds_write_b32
21 ; GCN:        ds_write_b128
22 ; GCN: ScratchSize: 0
23 define amdgpu_kernel void @store_v5i32(ptr addrspace(3) %out, <5 x i32> %a) nounwind {
24   %val = load <5 x i32>, ptr addrspace(3) %out
25   %val.1 = add <5 x i32> %a, %val
26   store <5 x i32> %val.1, ptr addrspace(3) %out, align 16
27   ret void