Tim Renouf | 65df683 | 2019-07-04 17:38:24 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple amdgcn-amd-- -mcpu=bonaire -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s |
| 2 | |
| 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. |
| 5 | |
| 6 | ; GCN-LABEL: store_v3i32: |
Mirko Brkusanin | f363e47 | 2020-08-21 11:51:06 +0200 | [diff] [blame] | 7 | ; GCN: ds_read_b96 |
| 8 | ; GCN: ds_write_b96 |
Tim Renouf | 65df683 | 2019-07-04 17:38:24 +0000 | [diff] [blame] | 9 | ; GCN: ScratchSize: 0 |
Nikita Popov | ee8670b | 2022-12-19 12:39:01 +0100 | [diff] [blame] | 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 |
Tim Renouf | 65df683 | 2019-07-04 17:38:24 +0000 | [diff] [blame] | 12 | %val.1 = add <3 x i32> %a, %val |
Nikita Popov | ee8670b | 2022-12-19 12:39:01 +0100 | [diff] [blame] | 13 | store <3 x i32> %val.1, ptr addrspace(3) %out, align 16 |
Tim Renouf | 65df683 | 2019-07-04 17:38:24 +0000 | [diff] [blame] | 14 | ret void |
| 15 | } |
| 16 | |
| 17 | ; GCN-LABEL: store_v5i32: |
Matt Arsenault | 2e23618 | 2020-04-01 16:46:10 -0400 | [diff] [blame] | 18 | ; GCN: ds_read_b128 |
Austin Kerbow | 8c52182 | 2021-11-10 09:59:31 -0800 | [diff] [blame] | 19 | ; GCN: ds_read_b32 |
Tim Renouf | 65df683 | 2019-07-04 17:38:24 +0000 | [diff] [blame] | 20 | ; GCN: ds_write_b32 |
Matt Arsenault | 2e23618 | 2020-04-01 16:46:10 -0400 | [diff] [blame] | 21 | ; GCN: ds_write_b128 |
Tim Renouf | 65df683 | 2019-07-04 17:38:24 +0000 | [diff] [blame] | 22 | ; GCN: ScratchSize: 0 |
Nikita Popov | ee8670b | 2022-12-19 12:39:01 +0100 | [diff] [blame] | 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 |
Tim Renouf | 65df683 | 2019-07-04 17:38:24 +0000 | [diff] [blame] | 25 | %val.1 = add <5 x i32> %a, %val |
Nikita Popov | ee8670b | 2022-12-19 12:39:01 +0100 | [diff] [blame] | 26 | store <5 x i32> %val.1, ptr addrspace(3) %out, align 16 |
Tim Renouf | 65df683 | 2019-07-04 17:38:24 +0000 | [diff] [blame] | 27 | ret void |
| 28 | } |