Mircea Trofin | e881a25 | 2021-01-06 10:34:21 -0800 | [diff] [blame] | 1 | ; 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 Song | ecd6d72 | 2020-03-15 16:17:52 -0700 | [diff] [blame] | 5 | ; 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 Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 6 | |
Jay Foad | d93de1a | 2022-06-20 13:13:45 +0100 | [diff] [blame] | 7 | ; 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 Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 10 | ; 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 Song | 71e2ca6 | 2020-03-05 14:18:38 -0800 | [diff] [blame] | 13 | ; GCN: a_kernel1{{>?}}: |
Nicolai Haehnle | ae4fcb9 | 2019-06-17 19:28:43 +0000 | [diff] [blame] | 14 | ; GCN: s_endpgm |
| 15 | ; GCN-ASM: [[END_LABEL1:\.Lfunc_end.*]]: |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 16 | ; GCN-ASM-NEXT: .size a_kernel1, [[END_LABEL1]]-a_kernel1 |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 17 | |
| 18 | ; GCN-OBJ-NEXT: s_nop 0 |
| 19 | |
Stanislav Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 20 | define amdgpu_kernel void @a_kernel1() #0 { |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 21 | ret void |
| 22 | } |
| 23 | |
Fangrui Song | 71e2ca6 | 2020-03-05 14:18:38 -0800 | [diff] [blame] | 24 | ; GCN: a_kernel2{{>?}}: |
Nicolai Haehnle | ae4fcb9 | 2019-06-17 19:28:43 +0000 | [diff] [blame] | 25 | ; GCN: s_endpgm |
| 26 | ; GCN-ASM: [[END_LABEL2:\.Lfunc_end.*]]: |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 27 | ; GCN-ASM-NEXT: .size a_kernel2, [[END_LABEL2]]-a_kernel2 |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 28 | |
Nicolai Haehnle | ae4fcb9 | 2019-06-17 19:28:43 +0000 | [diff] [blame] | 29 | ; GCN-OBJ: {{^$}} |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 30 | |
Stanislav Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 31 | define amdgpu_kernel void @a_kernel2() #0 { |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 32 | ret void |
| 33 | } |
| 34 | |
Nicolai Haehnle | ae4fcb9 | 2019-06-17 19:28:43 +0000 | [diff] [blame] | 35 | ; GCN-ASM: .globl a_function |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 36 | ; GCN-ASM-NEXT: .p2align 2 |
| 37 | ; GCN-ASM-NEXT: .type a_function,@function |
| 38 | |
Fangrui Song | 71e2ca6 | 2020-03-05 14:18:38 -0800 | [diff] [blame] | 39 | ; GCN-NEXT: a_function{{>?}}: |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 40 | ; GCN: s_setpc_b64 |
| 41 | ; GCN-ASM-NEXT: [[END_LABEL3:\.Lfunc_end.*]]: |
| 42 | ; GCN-ASM-NEXT: .size a_function, [[END_LABEL3]]-a_function |
Nicolai Haehnle | ae4fcb9 | 2019-06-17 19:28:43 +0000 | [diff] [blame] | 43 | ; GFX10END-ASM: .p2alignl 6, 3214868480 |
Jay Foad | d7762a3 | 2021-03-10 09:13:43 +0000 | [diff] [blame] | 44 | ; GFX11END-ASM: .p2alignl 7, 3214868480 |
Stanislav Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 45 | ; GFX90AEND-ASM: .p2alignl 6, 3212836864 |
Stanislav Mekhanoshin | c43784ff | 2019-07-24 19:40:13 +0000 | [diff] [blame] | 46 | ; GFX10END-ASM-NEXT: .fill 48, 4, 3214868480 |
Jay Foad | d7762a3 | 2021-03-10 09:13:43 +0000 | [diff] [blame] | 47 | ; GFX11END-ASM-NEXT: .fill 96, 4, 3214868480 |
Stanislav Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 48 | ; GFX90AEND-ASM-NEXT: .fill 256, 4, 3212836864 |
Nicolai Haehnle | ae4fcb9 | 2019-06-17 19:28:43 +0000 | [diff] [blame] | 49 | ; GFX10NOEND-NOT: .fill |
Jay Foad | d93de1a | 2022-06-20 13:13:45 +0100 | [diff] [blame] | 50 | ; GFX11NOEND-NOT: .fill |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 51 | |
Nicolai Haehnle | ae4fcb9 | 2019-06-17 19:28:43 +0000 | [diff] [blame] | 52 | ; GFX10NOEND-OBJ-NOT: s_code_end |
| 53 | ; GFX10END-OBJ-NEXT: s_code_end |
Jay Foad | d93de1a | 2022-06-20 13:13:45 +0100 | [diff] [blame] | 54 | ; GFX11NOEND-OBJ-NOT: s_code_end |
| 55 | ; GFX11END-OBJ-NEXT: s_code_end |
Stanislav Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 56 | ; GFX90AEND-OBJ-NEXT: s_nop 0 |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 57 | |
Nicolai Haehnle | ae4fcb9 | 2019-06-17 19:28:43 +0000 | [diff] [blame] | 58 | ; GFX10END-OBJ: s_code_end // 000000000140: |
Stanislav Mekhanoshin | c43784ff | 2019-07-24 19:40:13 +0000 | [diff] [blame] | 59 | ; GFX10END-OBJ-COUNT-47: s_code_end |
Jay Foad | d93de1a | 2022-06-20 13:13:45 +0100 | [diff] [blame] | 60 | ; GFX11END-OBJ: s_code_end // 000000000140: |
| 61 | ; GFX11END-OBJ-COUNT-47: s_code_end |
Stanislav Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 62 | ; GFX90AEND-OBJ: s_nop 0 // 000000000140: |
| 63 | ; GFX90AEND-OBJ-COUNT-255: s_nop 0 |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 64 | |
Stanislav Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 65 | define void @a_function() #0 { |
Stanislav Mekhanoshin | 41bbe10 | 2019-05-03 21:26:39 +0000 | [diff] [blame] | 66 | ret void |
| 67 | } |
Stanislav Mekhanoshin | a8d9d50 | 2021-02-17 13:37:46 -0800 | [diff] [blame] | 68 | |
| 69 | attributes #0 = { "amdgpu-flat-work-group-size"="1,512" } |