1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX700 --check-prefix=NOTES %s
2; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx800 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX800 --check-prefix=NOTES %s
3; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX900 --check-prefix=NOTES %s
4
5; CHECK: ---
6; CHECK:  Version: [ 1, 0 ]
7
8; CHECK:  Kernels:
9; CHECK:    - Name:       test
10; CHECK:      SymbolName: 'test@kd'
11; CHECK:      CodeProps:
12; CHECK:        KernargSegmentSize:  24
13; CHECK:        GroupSegmentFixedSize: 0
14; CHECK:        PrivateSegmentFixedSize: 0
15; CHECK:        KernargSegmentAlign: 8
16; CHECK:        WavefrontSize: 64
17; GFX700:       NumSGPRs: 6
18; GFX800:       NumSGPRs: 96
19; GFX900:       NumSGPRs: 6
20; GFX700:       NumVGPRs: 4
21; GFX800:       NumVGPRs: 6
22; GFX900:       NumVGPRs: 6
23define amdgpu_kernel void @test(
24    half addrspace(1)* %r,
25    half addrspace(1)* %a,
26    half addrspace(1)* %b) {
27entry:
28  %a.val = load half, half addrspace(1)* %a
29  %b.val = load half, half addrspace(1)* %b
30  %r.val = fadd half %a.val, %b.val
31  store half %r.val, half addrspace(1)* %r
32  ret void
33}
34