109 lines · plain
1;; Entirely zeroed kernel descriptor (for GFX10).2 3; RUN: llvm-mc %s --triple=amdgcn-amd-amdhsa -mcpu=gfx1010 -mattr=-xnack -filetype=obj -o %t4; RUN: llvm-objdump -s -d -j .text %t | FileCheck --check-prefix=OBJDUMP %s5 6;; TODO:7;; This file and kd-zeroed-raw.s should produce the same output for the kernel8;; descriptor - a block of 64 zeroed bytes. But looks like the assembler sets9;; the FWD_PROGRESS bit in COMPUTE_PGM_RSRC1 to 1 even when the directive10;; 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 0000000016; OBJDUMP-NEXT: 0010 00000000 00000000 00000000 0000000017; OBJDUMP-NEXT: 0020 00000000 00000000 00000000 0000000018; OBJDUMP-NEXT: 0030 01000000 00000000 00000000 0000000019; 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_kernel25; OBJDUMP-NEXT: .amdhsa_group_segment_fixed_size 026; OBJDUMP-NEXT: .amdhsa_private_segment_fixed_size 027; OBJDUMP-NEXT: .amdhsa_kernarg_size 028; OBJDUMP-NEXT: .amdhsa_shared_vgpr_count 029; OBJDUMP-NEXT: .amdhsa_next_free_vgpr 830; OBJDUMP-NEXT: .amdhsa_reserve_vcc 031; OBJDUMP-NEXT: .amdhsa_reserve_flat_scratch 032; OBJDUMP-NEXT: .amdhsa_reserve_xnack_mask 033; OBJDUMP-NEXT: .amdhsa_next_free_sgpr 834; OBJDUMP-NEXT: .amdhsa_float_round_mode_32 035; OBJDUMP-NEXT: .amdhsa_float_round_mode_16_64 036; OBJDUMP-NEXT: .amdhsa_float_denorm_mode_32 037; OBJDUMP-NEXT: .amdhsa_float_denorm_mode_16_64 038; OBJDUMP-NEXT: .amdhsa_dx10_clamp 039; OBJDUMP-NEXT: .amdhsa_ieee_mode 040; OBJDUMP-NEXT: .amdhsa_fp16_overflow 041; OBJDUMP-NEXT: .amdhsa_workgroup_processor_mode 042; OBJDUMP-NEXT: .amdhsa_memory_ordered 043; OBJDUMP-NEXT: .amdhsa_forward_progress 044; OBJDUMP-NEXT: .amdhsa_system_sgpr_private_segment_wavefront_offset 045; OBJDUMP-NEXT: .amdhsa_system_sgpr_workgroup_id_x 046; OBJDUMP-NEXT: .amdhsa_system_sgpr_workgroup_id_y 047; OBJDUMP-NEXT: .amdhsa_system_sgpr_workgroup_id_z 048; OBJDUMP-NEXT: .amdhsa_system_sgpr_workgroup_info 049; OBJDUMP-NEXT: .amdhsa_system_vgpr_workitem_id 050; OBJDUMP-NEXT: .amdhsa_exception_fp_ieee_invalid_op 051; OBJDUMP-NEXT: .amdhsa_exception_fp_denorm_src 052; OBJDUMP-NEXT: .amdhsa_exception_fp_ieee_div_zero 053; OBJDUMP-NEXT: .amdhsa_exception_fp_ieee_overflow 054; OBJDUMP-NEXT: .amdhsa_exception_fp_ieee_underflow 055; OBJDUMP-NEXT: .amdhsa_exception_fp_ieee_inexact 056; OBJDUMP-NEXT: .amdhsa_exception_int_div_zero 057; OBJDUMP-NEXT: .amdhsa_user_sgpr_private_segment_buffer 058; OBJDUMP-NEXT: .amdhsa_user_sgpr_dispatch_ptr 059; OBJDUMP-NEXT: .amdhsa_user_sgpr_queue_ptr 060; OBJDUMP-NEXT: .amdhsa_user_sgpr_kernarg_segment_ptr 061; OBJDUMP-NEXT: .amdhsa_user_sgpr_dispatch_id 062; OBJDUMP-NEXT: .amdhsa_user_sgpr_flat_scratch_init 063; OBJDUMP-NEXT: .amdhsa_user_sgpr_private_segment_size 064; OBJDUMP-NEXT: .amdhsa_wavefront_size32 065; OBJDUMP-NEXT: .amdhsa_uses_dynamic_stack 066; OBJDUMP-NEXT: .end_amdhsa_kernel67 68.amdhsa_code_object_version 569.amdhsa_kernel my_kernel70 .amdhsa_group_segment_fixed_size 071 .amdhsa_private_segment_fixed_size 072 .amdhsa_next_free_vgpr 873 .amdhsa_reserve_vcc 074 .amdhsa_reserve_flat_scratch 075 .amdhsa_reserve_xnack_mask 076 .amdhsa_next_free_sgpr 877 .amdhsa_float_round_mode_32 078 .amdhsa_float_round_mode_16_64 079 .amdhsa_float_denorm_mode_32 080 .amdhsa_float_denorm_mode_16_64 081 .amdhsa_dx10_clamp 082 .amdhsa_ieee_mode 083 .amdhsa_fp16_overflow 084 .amdhsa_workgroup_processor_mode 085 .amdhsa_memory_ordered 086 .amdhsa_forward_progress 087 .amdhsa_system_sgpr_private_segment_wavefront_offset 088 .amdhsa_system_sgpr_workgroup_id_x 089 .amdhsa_system_sgpr_workgroup_id_y 090 .amdhsa_system_sgpr_workgroup_id_z 091 .amdhsa_system_sgpr_workgroup_info 092 .amdhsa_system_vgpr_workitem_id 093 .amdhsa_exception_fp_ieee_invalid_op 094 .amdhsa_exception_fp_denorm_src 095 .amdhsa_exception_fp_ieee_div_zero 096 .amdhsa_exception_fp_ieee_overflow 097 .amdhsa_exception_fp_ieee_underflow 098 .amdhsa_exception_fp_ieee_inexact 099 .amdhsa_exception_int_div_zero 0100 .amdhsa_user_sgpr_private_segment_buffer 0101 .amdhsa_user_sgpr_dispatch_ptr 0102 .amdhsa_user_sgpr_queue_ptr 0103 .amdhsa_user_sgpr_kernarg_segment_ptr 0104 .amdhsa_user_sgpr_dispatch_id 0105 .amdhsa_user_sgpr_flat_scratch_init 0106 .amdhsa_user_sgpr_private_segment_size 0107 .amdhsa_wavefront_size32 0108.end_amdhsa_kernel109