108 lines · plain
1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 < %s | FileCheck --check-prefixes=ALL-ASM,OSABI-AMDHSA-ASM %s2; RUN: llc -filetype=obj -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 < %s | llvm-readelf -S -r -s --notes - | FileCheck --check-prefix=OSABI-AMDHSA-ELF %s3 4; ALL-ASM-LABEL: {{^}}fadd:5 6; OSABI-AMDHSA-ASM-NOT: .hsa_code_object_version7; OSABI-AMDHSA-ASM-NOT: .hsa_code_object_isa8; OSABI-AMDHSA-ASM-NOT: .amdgpu_hsa_kernel9; OSABI-AMDHSA-ASM-NOT: .amd_kernel_code_t10 11; OSABI-AMDHSA-ASM: s_endpgm12; OSABI-AMDHSA-ASM: .section .rodata,"a"13; OSABI-AMDHSA-ASM: .p2align 614; OSABI-AMDHSA-ASM: .amdhsa_kernel fadd15; OSABI-AMDHSA-ASM: .amdhsa_user_sgpr_count 1216; OSABI-AMDHSA-ASM: .amdhsa_user_sgpr_private_segment_buffer 117; OSABI-AMDHSA-ASM: .amdhsa_user_sgpr_kernarg_segment_ptr 118; OSABI-AMDHSA-ASM: .amdhsa_next_free_vgpr 319; OSABI-AMDHSA-ASM: .amdhsa_next_free_sgpr 1020; OSABI-AMDHSA-ASM: .amdhsa_reserve_vcc 021; OSABI-AMDHSA-ASM: .amdhsa_reserve_flat_scratch 022; OSABI-AMDHSA-ASM: .end_amdhsa_kernel23; OSABI-AMDHSA-ASM: .text24 25; ALL-ASM-LABEL: {{^}}fsub:26 27; OSABI-AMDHSA-ASM-NOT: .amdgpu_hsa_kernel28; OSABI-AMDHSA-ASM-NOT: .amd_kernel_code_t29 30; OSABI-AMDHSA-ASM: s_endpgm31; OSABI-AMDHSA-ASM: .section .rodata,"a"32; OSABI-AMDHSA-ASM: .p2align 633; OSABI-AMDHSA-ASM: .amdhsa_kernel fsub34; OSABI-AMDHSA-ASM: .amdhsa_user_sgpr_count 1235; OSABI-AMDHSA-ASM: .amdhsa_user_sgpr_private_segment_buffer 136; OSABI-AMDHSA-ASM: .amdhsa_user_sgpr_kernarg_segment_ptr 137; OSABI-AMDHSA-ASM: .amdhsa_next_free_vgpr 338; OSABI-AMDHSA-ASM: .amdhsa_next_free_sgpr 1039; OSABI-AMDHSA-ASM: .amdhsa_reserve_vcc 040; OSABI-AMDHSA-ASM: .amdhsa_reserve_flat_scratch 041; OSABI-AMDHSA-ASM: .end_amdhsa_kernel42; OSABI-AMDHSA-ASM: .text43 44; OSABI-AMDHSA-ASM-NOT: .hsa_code_object_version45; OSABI-AMDHSA-ASM-NOT: .hsa_code_object_isa46; OSABI-AMDHSA-ASM-NOT: .amd_amdgpu_isa47; OSABI-AMDHSA-ASM-NOT: .amd_amdgpu_hsa_metadata48; OSABI-AMDHSA-ASM-NOT: .amd_amdgpu_pal_metadata49 50; OSABI-AMDHSA-ELF: Section Headers51; OSABI-AMDHSA-ELF: .text PROGBITS {{[0-9]+}} {{[0-9]+}} {{[0-9a-f]+}} {{[0-9]+}} AX {{[0-9]+}} {{[0-9]+}} 25652; OSABI-AMDHSA-ELF: .rodata PROGBITS {{[0-9]+}} {{[0-9]+}} {{[0-9a-f]+}} {{[0-9]+}} A {{[0-9]+}} {{[0-9]+}} 6453 54; OSABI-AMDHSA-ELF: Relocation section '.rela.rodata' at offset55; OSABI-AMDHSA-ELF: R_AMDGPU_REL64 0000000000000000 fadd + 1056; OSABI-AMDHSA-ELF: R_AMDGPU_REL64 0000000000000100 fsub + 1057; OSABI-AMDHSA-ELF: R_AMDGPU_REL64 0000000000000200 empty + 1058 59; OSABI-AMDHSA-ELF: Symbol table '.symtab' contains {{[0-9]+}} entries60; OSABI-AMDHSA-ELF: {{[0-9]+}}: 0000000000000000 {{[0-9]+}} FUNC GLOBAL PROTECTED {{[0-9]+}} fadd61; OSABI-AMDHSA-ELF: {{[0-9]+}}: 0000000000000000 64 OBJECT GLOBAL DEFAULT {{[0-9]+}} fadd.kd62; OSABI-AMDHSA-ELF: {{[0-9]+}}: 0000000000000100 {{[0-9]+}} FUNC GLOBAL PROTECTED {{[0-9]+}} fsub63; OSABI-AMDHSA-ELF: {{[0-9]+}}: 0000000000000040 64 OBJECT GLOBAL DEFAULT {{[0-9]+}} fsub.kd64 65; OSABI-AMDHSA-ELF: Displaying notes found in: .note66; OSABI-AMDHSA-ELF: AMDGPU 0x{{[0-9a-f]+}} NT_AMDGPU_METADATA (AMDGPU Metadata)67 68define amdgpu_kernel void @fadd(69 ptr addrspace(1) %r,70 ptr addrspace(1) %a,71 ptr addrspace(1) %b) #0 {72entry:73 %a.val = load float, ptr addrspace(1) %a74 %b.val = load float, ptr addrspace(1) %b75 %r.val = fadd float %a.val, %b.val76 store float %r.val, ptr addrspace(1) %r77 ret void78}79 80define amdgpu_kernel void @fsub(81 ptr addrspace(1) %r,82 ptr addrspace(1) %a,83 ptr addrspace(1) %b) #0 {84entry:85 %a.val = load float, ptr addrspace(1) %a86 %b.val = load float, ptr addrspace(1) %b87 %r.val = fsub float %a.val, %b.val88 store float %r.val, ptr addrspace(1) %r89 ret void90}91 92; Make sure kernel arguments do not count towards the number of93; registers used.94;95; ALL-ASM-LABEL: {{^}}empty:96; ALL-ASM: .amdhsa_next_free_vgpr 197; ALL-ASM: .amdhsa_next_free_sgpr 198define amdgpu_kernel void @empty(99 i32 %i,100 ptr addrspace(1) %r,101 ptr addrspace(1) %a,102 ptr addrspace(1) %b) #0 {103entry:104 ret void105}106 107attributes #0 = { "amdgpu-no-flat-scratch-init" }108