1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readobj -amdgpu-code-object-metadata -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 -amdgpu-code-object-metadata -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 -amdgpu-code-object-metadata -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: CodeProps: 11; CHECK: KernargSegmentSize: 24 12; GFX700: WavefrontNumSGPRs: 6 13; GFX800: WavefrontNumSGPRs: 96 14; GFX900: WavefrontNumSGPRs: 6 15; GFX700: WorkitemNumVGPRs: 4 16; GFX800: WorkitemNumVGPRs: 6 17; GFX900: WorkitemNumVGPRs: 6 18; CHECK: KernargSegmentAlign: 4 19; CHECK: GroupSegmentAlign: 4 20; CHECK: PrivateSegmentAlign: 4 21; CHECK: WavefrontSize: 6 22define amdgpu_kernel void @test( 23 half addrspace(1)* %r, 24 half addrspace(1)* %a, 25 half addrspace(1)* %b) { 26entry: 27 %a.val = load half, half addrspace(1)* %a 28 %b.val = load half, half addrspace(1)* %b 29 %r.val = fadd half %a.val, %b.val 30 store half %r.val, half addrspace(1)* %r 31 ret void 32} 33