1; RUN: llc -march=amdgcn -mcpu=gfx1010 -asm-verbose=0 < %s | FileCheck -check-prefixes=GCN,GCN-ASM,GFX10,GFX10-ASM %s 2; RUN: llc -march=amdgcn -mcpu=gfx1010 -filetype=obj < %s | llvm-objdump -arch=amdgcn -mcpu=gfx1010 -disassemble - | FileCheck -check-prefixes=GCN,GCN-OBJ,GFX10,GFX10-OBJ %s 3 4; GCN: a_kernel1: 5; GCN-NEXT: s_endpgm 6; GCN-ASM-NEXT: [[END_LABEL1:\.Lfunc_end.*]]: 7; GCN-ASM-NEXT: .size a_kernel1, [[END_LABEL1]]-a_kernel1 8; GCN-ASM: .section .AMDGPU.config 9 10; GCN-OBJ-NEXT: s_nop 0 11 12define amdgpu_kernel void @a_kernel1() { 13 ret void 14} 15 16; GCN: a_kernel2: 17; GCN-NEXT: s_endpgm 18; GCN-ASM-NEXT: [[END_LABEL2:\.Lfunc_end.*]]: 19; GCN-ASM-NEXT: .size a_kernel2, [[END_LABEL2]]-a_kernel2 20; GCN-ASM: .section .AMDGPU.config 21 22; GCN-OBJ-NEXT: {{^$}} 23 24define amdgpu_kernel void @a_kernel2() { 25 ret void 26} 27 28; GCN-ASM: .text 29; GCN-ASM-NEXT: .globl a_function 30; GCN-ASM-NEXT: .p2align 2 31; GCN-ASM-NEXT: .type a_function,@function 32 33; GCN-NEXT: a_function: 34; GCN: s_setpc_b64 35; GCN-ASM-NEXT: [[END_LABEL3:\.Lfunc_end.*]]: 36; GCN-ASM-NEXT: .size a_function, [[END_LABEL3]]-a_function 37; GFX10-ASM: .p2alignl 6, 3214868480 38; GFX10-ASM-NEXT: .fill 32, 4, 3214868480 39 40; GFX10-OBJ-NEXT: s_code_end 41 42; GFX10-OBJ: s_code_end // 000000000140: 43; GFX10-OBJ-NEXT: s_code_end 44; GFX10-OBJ-NEXT: s_code_end 45; GFX10-OBJ-NEXT: s_code_end 46; GFX10-OBJ-NEXT: s_code_end 47; GFX10-OBJ-NEXT: s_code_end 48; GFX10-OBJ-NEXT: s_code_end 49; GFX10-OBJ-NEXT: s_code_end 50 51; GFX10-OBJ-NEXT: s_code_end 52; GFX10-OBJ-NEXT: s_code_end 53; GFX10-OBJ-NEXT: s_code_end 54; GFX10-OBJ-NEXT: s_code_end 55; GFX10-OBJ-NEXT: s_code_end 56; GFX10-OBJ-NEXT: s_code_end 57; GFX10-OBJ-NEXT: s_code_end 58; GFX10-OBJ-NEXT: s_code_end 59 60; GFX10-OBJ-NEXT: s_code_end 61; GFX10-OBJ-NEXT: s_code_end 62; GFX10-OBJ-NEXT: s_code_end 63; GFX10-OBJ-NEXT: s_code_end 64; GFX10-OBJ-NEXT: s_code_end 65; GFX10-OBJ-NEXT: s_code_end 66; GFX10-OBJ-NEXT: s_code_end 67; GFX10-OBJ-NEXT: s_code_end 68 69; GFX10-OBJ-NEXT: s_code_end 70; GFX10-OBJ-NEXT: s_code_end 71; GFX10-OBJ-NEXT: s_code_end 72; GFX10-OBJ-NEXT: s_code_end 73; GFX10-OBJ-NEXT: s_code_end 74; GFX10-OBJ-NEXT: s_code_end 75; GFX10-OBJ-NEXT: s_code_end 76; GFX10-OBJ-NEXT: s_code_end 77 78define void @a_function() { 79 ret void 80} 81