1 ; RUN: llc -mattr=+code-object-v3 -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 -mattr=+code-object-v3 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX803 --check-prefix=NOTES %s
3 ; RUN: llc -mattr=+code-object-v3 -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
6 ; CHECK: amdhsa.kernels:
7 ; CHECK: .symbol: test.kd
10 ; CHECK-NEXT: - .value_kind: global_buffer
11 ; CHECK-NEXT: .name: r
12 ; CHECK-NEXT: .offset: 0
13 ; CHECK-NEXT: .size: 8
14 ; CHECK-NEXT: .value_type: f16
15 ; CHECK-NEXT: .address_space: global
16 ; CHECK-NEXT: - .value_kind: global_buffer
17 ; CHECK-NEXT: .name: a
18 ; CHECK-NEXT: .offset: 8
19 ; CHECK-NEXT: .size: 8
20 ; CHECK-NEXT: .value_type: f16
21 ; CHECK-NEXT: .address_space: global
22 ; CHECK-NEXT: - .value_kind: global_buffer
23 ; CHECK-NEXT: .name: b
24 ; CHECK-NEXT: .offset: 16
25 ; CHECK-NEXT: .size: 8
26 ; CHECK-NEXT: .value_type: f16
27 ; CHECK-NEXT: .address_space: global
28 ; CHECK-NEXT: - .value_kind: hidden_global_offset_x
29 ; CHECK-NEXT: .offset: 24
30 ; CHECK-NEXT: .size: 8
31 ; CHECK-NEXT: .value_type: i64
32 ; CHECK-NEXT: - .value_kind: hidden_global_offset_y
33 ; CHECK-NEXT: .offset: 32
34 ; CHECK-NEXT: .size: 8
35 ; CHECK-NEXT: .value_type: i64
36 ; CHECK-NEXT: - .value_kind: hidden_global_offset_z
37 ; CHECK-NEXT: .offset: 40
38 ; CHECK-NEXT: .size: 8
39 ; CHECK-NEXT: .value_type: i64
40 ; CHECK-NEXT: - .value_kind: hidden_none
41 ; CHECK-NEXT: .offset: 48
42 ; CHECK-NEXT: .size: 8
43 ; CHECK-NEXT: .value_type: i8
44 ; CHECK-NEXT: .address_space: global
45 ; CHECK-NEXT: - .value_kind: hidden_none
46 ; CHECK-NEXT: .offset: 56
47 ; CHECK-NEXT: .size: 8
48 ; CHECK-NEXT: .value_type: i8
49 ; CHECK-NEXT: .address_space: global
50 ; CHECK-NEXT: - .value_kind: hidden_none
51 ; CHECK-NEXT: .offset: 64
52 ; CHECK-NEXT: .size: 8
53 ; CHECK-NEXT: .value_type: i8
54 ; CHECK-NEXT: .address_space: global
55 define amdgpu_kernel void @test(
56 half addrspace(1)* %r,
57 half addrspace(1)* %a,
58 half addrspace(1)* %b) {
60 %a.val = load half, half addrspace(1)* %a
61 %b.val = load half, half addrspace(1)* %b
62 %r.val = fadd half %a.val, %b.val
63 store half %r.val, half addrspace(1)* %r
67 ; CHECK: amdhsa.version:
71 !opencl.ocl.version = !{!0}