125 lines · plain
1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s2; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s3; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s4 5; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 < %s | FileCheck --check-prefix=CHECK %s6; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 < %s | FileCheck --check-prefix=CHECK %s7; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck --check-prefix=CHECK %s8 9 10; CHECK: amdhsa.kernels:11; CHECK-NEXT: - .args:12; CHECK-NEXT: - .address_space: global13; CHECK-NEXT: .name: r14; CHECK-NEXT: .offset: 015; CHECK-NEXT: .size: 816; CHECK-NEXT: .value_kind: global_buffer17; CHECK-NEXT: - .address_space: global18; CHECK-NEXT: .name: a19; CHECK-NEXT: .offset: 820; CHECK-NEXT: .size: 821; CHECK-NEXT: .value_kind: global_buffer22; CHECK-NEXT: - .address_space: global23; CHECK-NEXT: .name: b24; CHECK-NEXT: .offset: 1625; CHECK-NEXT: .size: 826; CHECK-NEXT: .value_kind: global_buffer27; CHECK-NEXT: - .offset: 2428; CHECK-NEXT: .size: 429; CHECK-NEXT: .value_kind: hidden_block_count_x30; CHECK-NEXT: - .offset: 2831; CHECK-NEXT: .size: 432; CHECK-NEXT: .value_kind: hidden_block_count_y33; CHECK-NEXT: - .offset: 3234; CHECK-NEXT: .size: 435; CHECK-NEXT: .value_kind: hidden_block_count_z36; CHECK-NEXT: - .offset: 3637; CHECK-NEXT: .size: 238; CHECK-NEXT: .value_kind: hidden_group_size_x39; CHECK-NEXT: - .offset: 3840; CHECK-NEXT: .size: 241; CHECK-NEXT: .value_kind: hidden_group_size_y42; CHECK-NEXT: - .offset: 4043; CHECK-NEXT: .size: 244; CHECK-NEXT: .value_kind: hidden_group_size_z45; CHECK-NEXT: - .offset: 4246; CHECK-NEXT: .size: 247; CHECK-NEXT: .value_kind: hidden_remainder_x48; CHECK-NEXT: - .offset: 4449; CHECK-NEXT: .size: 250; CHECK-NEXT: .value_kind: hidden_remainder_y51; CHECK-NEXT: - .offset: 4652; CHECK-NEXT: .size: 253; CHECK-NEXT: .value_kind: hidden_remainder_z54; CHECK-NEXT: - .offset: 6455; CHECK-NEXT: .size: 856; CHECK-NEXT: .value_kind: hidden_global_offset_x57; CHECK-NEXT: - .offset: 7258; CHECK-NEXT: .size: 859; CHECK-NEXT: .value_kind: hidden_global_offset_y60; CHECK-NEXT: - .offset: 8061; CHECK-NEXT: .size: 862; CHECK-NEXT: .value_kind: hidden_global_offset_z63; CHECK-NEXT: - .offset: 8864; CHECK-NEXT: .size: 265; CHECK-NEXT: .value_kind: hidden_grid_dims66; CHECK-NEXT: - .offset: 9667; CHECK-NEXT: .size: 868; CHECK-NEXT: .value_kind: hidden_printf_buffer69; CHECK-NEXT: - .offset: 10470; CHECK-NEXT: .size: 871; CHECK-NEXT: .value_kind: hidden_hostcall_buffer72; CHECK-NEXT: - .offset: 11273; CHECK-NEXT: .size: 874; CHECK-NEXT: .value_kind: hidden_multigrid_sync_arg75; CHECK-NEXT: - .offset: 12076; CHECK-NEXT: .size: 877; CHECK-NEXT: .value_kind: hidden_heap_v178; CHECK-NEXT: - .offset: 12879; CHECK-NEXT: .size: 880; CHECK-NEXT: .value_kind: hidden_default_queue81; CHECK-NEXT: - .offset: 13682; CHECK-NEXT: .size: 883; CHECK-NEXT: .value_kind: hidden_completion_action84; CHECK: - .offset: 14485; CHECK-NEXT: .size: 486; CHECK-NEXT: .value_kind: hidden_dynamic_lds_size87; CHECK: - .offset: 22488; CHECK-NEXT: .size: 889; CHECK-NEXT: .value_kind: hidden_queue_ptr90 91; CHECK: .name: test_v592; CHECK: .symbol: test_v5.kd93 94; CHECK: amdhsa.version:95; CHECK-NEXT: - 196; CHECK-NEXT: - 297@lds = external hidden addrspace(3) global [0 x i32], align 498 99define void @funcs_dyn_lds(ptr addrspace(3) %lds_ptr) {100 store i32 1234, ptr addrspace(3) %lds_ptr, align 4101 ret void102}103 104define amdgpu_kernel void @test_v5(105 ptr addrspace(1) %r,106 ptr addrspace(1) %a,107 ptr addrspace(1) %b) #0 {108entry:109 %a.val = load half, ptr addrspace(1) %a110 %b.val = load half, ptr addrspace(1) %b111 %r.val = fadd half %a.val, %b.val112 store half %r.val, ptr addrspace(1) %r113 call void @funcs_dyn_lds(ptr addrspace(3) @lds)114 ret void115}116 117!llvm.module.flags = !{!0}118!0 = !{i32 1, !"amdhsa_code_object_version", i32 500}119!llvm.printf.fmts = !{!1, !2}120!1 = !{!"1:1:4:%d\5Cn"}121!2 = !{!"2:1:8:%g\5Cn"}122 123attributes #0 = { optnone noinline }124 125