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 --check-prefix=GFX8 %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 --check-prefix=GFX8 %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; GFX8-NEXT: - .offset: 21688; GFX8-NEXT: .size: 489; GFX8-NEXT: .value_kind: hidden_private_base90; GFX8-NEXT: - .offset: 22091; GFX8-NEXT: .size: 492; GFX8-NEXT: .value_kind: hidden_shared_base93; CHECK: - .offset: 22494; CHECK-NEXT: .size: 895; CHECK-NEXT: .value_kind: hidden_queue_ptr96 97; CHECK: .name: test_v598; CHECK: .symbol: test_v5.kd99 100; CHECK: amdhsa.version:101; CHECK-NEXT: - 1102; CHECK-NEXT: - 2103@lds = external hidden addrspace(3) global [0 x i32], align 4104define 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 store i32 1234, ptr addrspacecast (ptr addrspace(3) @lds to ptr), align 4114 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