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