xref: /llvm-project/llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s (revision 4eb0810922a8d6ad9a32fbf09326166317dc5c08)
1;; Entirely zeroed kernel descriptor (for GFX10).
2
3; RUN: llvm-mc %s --triple=amdgcn-amd-amdhsa -mcpu=gfx1010 -mattr=-xnack -filetype=obj -o %t
4; RUN: llvm-objdump -s -d -j .text %t | FileCheck --check-prefix=OBJDUMP %s
5
6;; TODO:
7;; This file and kd-zeroed-raw.s should produce the same output for the kernel
8;; descriptor - a block of 64 zeroed bytes. But looks like the assembler sets
9;; the FWD_PROGRESS bit in COMPUTE_PGM_RSRC1 to 1 even when the directive
10;; mentions 0 (see line 36).
11
12;; Check the raw bytes right now.
13
14; OBJDUMP-LABEL: Contents of section .text:
15; OBJDUMP-NEXT: 0000 00000000 00000000 00000000 00000000
16; OBJDUMP-NEXT: 0010 00000000 00000000 00000000 00000000
17; OBJDUMP-NEXT: 0020 00000000 00000000 00000000 00000000
18; OBJDUMP-NEXT: 0030 01000000 00000000 00000000 00000000
19; OBJDUMP-EMPTY:
20
21; OBJDUMP-LABEL: Disassembly of section .text:
22; OBJDUMP-EMPTY:
23; OBJDUMP-NEXT: 0000000000000000 <my_kernel.kd>:
24; OBJDUMP-NEXT: .amdhsa_kernel my_kernel
25; OBJDUMP-NEXT:         .amdhsa_group_segment_fixed_size 0
26; OBJDUMP-NEXT:         .amdhsa_private_segment_fixed_size 0
27; OBJDUMP-NEXT:         .amdhsa_kernarg_size 0
28; OBJDUMP-NEXT:         .amdhsa_shared_vgpr_count 0
29; OBJDUMP-NEXT:         .amdhsa_next_free_vgpr 8
30; OBJDUMP-NEXT:         .amdhsa_reserve_vcc 0
31; OBJDUMP-NEXT:         .amdhsa_reserve_flat_scratch 0
32; OBJDUMP-NEXT:         .amdhsa_reserve_xnack_mask 0
33; OBJDUMP-NEXT:         .amdhsa_next_free_sgpr 8
34; OBJDUMP-NEXT:         .amdhsa_float_round_mode_32 0
35; OBJDUMP-NEXT:         .amdhsa_float_round_mode_16_64 0
36; OBJDUMP-NEXT:         .amdhsa_float_denorm_mode_32 0
37; OBJDUMP-NEXT:         .amdhsa_float_denorm_mode_16_64 0
38; OBJDUMP-NEXT:         .amdhsa_dx10_clamp 0
39; OBJDUMP-NEXT:         .amdhsa_ieee_mode 0
40; OBJDUMP-NEXT:         .amdhsa_fp16_overflow 0
41; OBJDUMP-NEXT:         .amdhsa_workgroup_processor_mode 0
42; OBJDUMP-NEXT:         .amdhsa_memory_ordered 0
43; OBJDUMP-NEXT:         .amdhsa_forward_progress 0
44; OBJDUMP-NEXT:         .amdhsa_system_sgpr_private_segment_wavefront_offset 0
45; OBJDUMP-NEXT:         .amdhsa_system_sgpr_workgroup_id_x 0
46; OBJDUMP-NEXT:         .amdhsa_system_sgpr_workgroup_id_y 0
47; OBJDUMP-NEXT:         .amdhsa_system_sgpr_workgroup_id_z 0
48; OBJDUMP-NEXT:         .amdhsa_system_sgpr_workgroup_info 0
49; OBJDUMP-NEXT:         .amdhsa_system_vgpr_workitem_id 0
50; OBJDUMP-NEXT:         .amdhsa_exception_fp_ieee_invalid_op 0
51; OBJDUMP-NEXT:         .amdhsa_exception_fp_denorm_src 0
52; OBJDUMP-NEXT:         .amdhsa_exception_fp_ieee_div_zero 0
53; OBJDUMP-NEXT:         .amdhsa_exception_fp_ieee_overflow 0
54; OBJDUMP-NEXT:         .amdhsa_exception_fp_ieee_underflow 0
55; OBJDUMP-NEXT:         .amdhsa_exception_fp_ieee_inexact 0
56; OBJDUMP-NEXT:         .amdhsa_exception_int_div_zero 0
57; OBJDUMP-NEXT:         .amdhsa_user_sgpr_private_segment_buffer 0
58; OBJDUMP-NEXT:         .amdhsa_user_sgpr_dispatch_ptr 0
59; OBJDUMP-NEXT:         .amdhsa_user_sgpr_queue_ptr 0
60; OBJDUMP-NEXT:         .amdhsa_user_sgpr_kernarg_segment_ptr 0
61; OBJDUMP-NEXT:         .amdhsa_user_sgpr_dispatch_id 0
62; OBJDUMP-NEXT:         .amdhsa_user_sgpr_flat_scratch_init 0
63; OBJDUMP-NEXT:         .amdhsa_user_sgpr_private_segment_size 0
64; OBJDUMP-NEXT:         .amdhsa_wavefront_size32 0
65; OBJDUMP-NEXT:         .amdhsa_uses_dynamic_stack 0
66; OBJDUMP-NEXT: .end_amdhsa_kernel
67
68.amdhsa_code_object_version 5
69.amdhsa_kernel my_kernel
70  .amdhsa_group_segment_fixed_size 0
71  .amdhsa_private_segment_fixed_size 0
72  .amdhsa_next_free_vgpr 8
73  .amdhsa_reserve_vcc 0
74  .amdhsa_reserve_flat_scratch 0
75  .amdhsa_reserve_xnack_mask 0
76  .amdhsa_next_free_sgpr 8
77  .amdhsa_float_round_mode_32 0
78  .amdhsa_float_round_mode_16_64 0
79  .amdhsa_float_denorm_mode_32 0
80  .amdhsa_float_denorm_mode_16_64 0
81  .amdhsa_dx10_clamp 0
82  .amdhsa_ieee_mode 0
83  .amdhsa_fp16_overflow 0
84  .amdhsa_workgroup_processor_mode 0
85  .amdhsa_memory_ordered 0
86  .amdhsa_forward_progress 0
87  .amdhsa_system_sgpr_private_segment_wavefront_offset 0
88  .amdhsa_system_sgpr_workgroup_id_x 0
89  .amdhsa_system_sgpr_workgroup_id_y 0
90  .amdhsa_system_sgpr_workgroup_id_z 0
91  .amdhsa_system_sgpr_workgroup_info 0
92  .amdhsa_system_vgpr_workitem_id 0
93  .amdhsa_exception_fp_ieee_invalid_op 0
94  .amdhsa_exception_fp_denorm_src 0
95  .amdhsa_exception_fp_ieee_div_zero 0
96  .amdhsa_exception_fp_ieee_overflow 0
97  .amdhsa_exception_fp_ieee_underflow 0
98  .amdhsa_exception_fp_ieee_inexact 0
99  .amdhsa_exception_int_div_zero 0
100  .amdhsa_user_sgpr_private_segment_buffer 0
101  .amdhsa_user_sgpr_dispatch_ptr 0
102  .amdhsa_user_sgpr_queue_ptr 0
103  .amdhsa_user_sgpr_kernarg_segment_ptr 0
104  .amdhsa_user_sgpr_dispatch_id 0
105  .amdhsa_user_sgpr_flat_scratch_init 0
106  .amdhsa_user_sgpr_private_segment_size 0
107  .amdhsa_wavefront_size32 0
108.end_amdhsa_kernel
109