blob: ad7d8a14babc193f69e6e77418e49696f6b9389a [file] [log] [blame]
Mircea Trofine881a252021-01-06 10:34:21 -08001; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -asm-verbose=0 < %s | FileCheck -check-prefixes=GCN,GCN-ASM,GFX10END-ASM %s
2; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -filetype=obj < %s | llvm-objdump --arch=amdgcn --mcpu=gfx1010 -d - | FileCheck --check-prefixes=GCN,GCN-OBJ,GFX10END-OBJ %s
3; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx1010 -asm-verbose=0 < %s | FileCheck -check-prefixes=GCN,GCN-ASM,GFX10END-ASM %s
4; RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx1010 -asm-verbose=0 < %s | FileCheck -check-prefixes=GCN,GCN-ASM,GFX10NOEND %s
Fangrui Songecd6d722020-03-15 16:17:52 -07005; RUN: llc -mtriple=amdgcn-- -mcpu=gfx1010 -filetype=obj < %s | llvm-objdump --arch=amdgcn --mcpu=gfx1010 -d - | FileCheck --check-prefixes=GCN,GCN-OBJ,GFX10NOEND,GFX10NOEND-OBJ %s
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +00006
Jay Foadd93de1a2022-06-20 13:13:45 +01007; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -asm-verbose=0 < %s | FileCheck -check-prefixes=GCN,GCN-ASM,GFX11END-ASM %s
8; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -filetype=obj < %s | llvm-objdump --arch=amdgcn --mcpu=gfx1100 -d - | FileCheck --check-prefixes=GCN,GCN-OBJ,GFX11END-OBJ %s
9
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080010; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -asm-verbose=0 < %s | FileCheck -check-prefixes=GCN,GCN-ASM,GFX90AEND-ASM %s
11; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -filetype=obj < %s | llvm-objdump --arch=amdgcn --mcpu=gfx90a --disassemble - | FileCheck -check-prefixes=GCN,GCN-OBJ,GFX90AEND-OBJ %s
12
Fangrui Song71e2ca62020-03-05 14:18:38 -080013; GCN: a_kernel1{{>?}}:
Nicolai Haehnleae4fcb92019-06-17 19:28:43 +000014; GCN: s_endpgm
15; GCN-ASM: [[END_LABEL1:\.Lfunc_end.*]]:
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000016; GCN-ASM-NEXT: .size a_kernel1, [[END_LABEL1]]-a_kernel1
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000017
18; GCN-OBJ-NEXT: s_nop 0
19
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080020define amdgpu_kernel void @a_kernel1() #0 {
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000021 ret void
22}
23
Fangrui Song71e2ca62020-03-05 14:18:38 -080024; GCN: a_kernel2{{>?}}:
Nicolai Haehnleae4fcb92019-06-17 19:28:43 +000025; GCN: s_endpgm
26; GCN-ASM: [[END_LABEL2:\.Lfunc_end.*]]:
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000027; GCN-ASM-NEXT: .size a_kernel2, [[END_LABEL2]]-a_kernel2
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000028
Nicolai Haehnleae4fcb92019-06-17 19:28:43 +000029; GCN-OBJ: {{^$}}
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000030
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080031define amdgpu_kernel void @a_kernel2() #0 {
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000032 ret void
33}
34
Nicolai Haehnleae4fcb92019-06-17 19:28:43 +000035; GCN-ASM: .globl a_function
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000036; GCN-ASM-NEXT: .p2align 2
37; GCN-ASM-NEXT: .type a_function,@function
38
Fangrui Song71e2ca62020-03-05 14:18:38 -080039; GCN-NEXT: a_function{{>?}}:
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000040; GCN: s_setpc_b64
41; GCN-ASM-NEXT: [[END_LABEL3:\.Lfunc_end.*]]:
42; GCN-ASM-NEXT: .size a_function, [[END_LABEL3]]-a_function
Nicolai Haehnleae4fcb92019-06-17 19:28:43 +000043; GFX10END-ASM: .p2alignl 6, 3214868480
Jay Foadd7762a32021-03-10 09:13:43 +000044; GFX11END-ASM: .p2alignl 7, 3214868480
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080045; GFX90AEND-ASM: .p2alignl 6, 3212836864
Stanislav Mekhanoshinc43784ff2019-07-24 19:40:13 +000046; GFX10END-ASM-NEXT: .fill 48, 4, 3214868480
Jay Foadd7762a32021-03-10 09:13:43 +000047; GFX11END-ASM-NEXT: .fill 96, 4, 3214868480
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080048; GFX90AEND-ASM-NEXT: .fill 256, 4, 3212836864
Nicolai Haehnleae4fcb92019-06-17 19:28:43 +000049; GFX10NOEND-NOT: .fill
Jay Foadd93de1a2022-06-20 13:13:45 +010050; GFX11NOEND-NOT: .fill
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000051
Nicolai Haehnleae4fcb92019-06-17 19:28:43 +000052; GFX10NOEND-OBJ-NOT: s_code_end
53; GFX10END-OBJ-NEXT: s_code_end
Jay Foadd93de1a2022-06-20 13:13:45 +010054; GFX11NOEND-OBJ-NOT: s_code_end
55; GFX11END-OBJ-NEXT: s_code_end
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080056; GFX90AEND-OBJ-NEXT: s_nop 0
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000057
Nicolai Haehnleae4fcb92019-06-17 19:28:43 +000058; GFX10END-OBJ: s_code_end // 000000000140:
Stanislav Mekhanoshinc43784ff2019-07-24 19:40:13 +000059; GFX10END-OBJ-COUNT-47: s_code_end
Jay Foadd93de1a2022-06-20 13:13:45 +010060; GFX11END-OBJ: s_code_end // 000000000140:
61; GFX11END-OBJ-COUNT-47: s_code_end
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080062; GFX90AEND-OBJ: s_nop 0 // 000000000140:
63; GFX90AEND-OBJ-COUNT-255: s_nop 0
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000064
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080065define void @a_function() #0 {
Stanislav Mekhanoshin41bbe102019-05-03 21:26:39 +000066 ret void
67}
Stanislav Mekhanoshina8d9d502021-02-17 13:37:46 -080068
69attributes #0 = { "amdgpu-flat-work-group-size"="1,512" }