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
23; CHECK:        MaxFlatWorkGroupSize:    256
24define amdgpu_kernel void @test(
25    half addrspace(1)* %r,
26    half addrspace(1)* %a,
27    half addrspace(1)* %b) {
28entry:
29  %a.val = load half, half addrspace(1)* %a
30  %b.val = load half, half addrspace(1)* %b
31  %r.val = fadd half %a.val, %b.val
32  store half %r.val, half addrspace(1)* %r
33  ret void
34}
35