1bc82cfb3SEmma Pilkington// RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx904 -mattr=+xnack < %s | FileCheck --check-prefix=ASM %s 2bc82cfb3SEmma Pilkington// RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx904 -mattr=+xnack -filetype=obj < %s > %t 33d9f011aSAbinav Puthan Purayil// RUN: llvm-readelf -S -r -s %t | FileCheck --check-prefix=READOBJ %s 43d9f011aSAbinav Puthan Purayil// RUN: llvm-objdump -s -j .rodata %t | FileCheck --check-prefix=OBJDUMP %s 53d9f011aSAbinav Puthan Purayil 6500846d2SPierre van Houtryve// RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx904 --amdhsa-code-object-version=6 -mattr=+xnack < %s | FileCheck --check-prefix=ASM %s 7500846d2SPierre van Houtryve// RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx904 --amdhsa-code-object-version=6 -mattr=+xnack -filetype=obj < %s > %t 8500846d2SPierre van Houtryve// RUN: llvm-readelf -S -r -s %t | FileCheck --check-prefix=READOBJ %s 9500846d2SPierre van Houtryve// RUN: llvm-objdump -s -j .rodata %t | FileCheck --check-prefix=OBJDUMP %s 10500846d2SPierre van Houtryve 113d9f011aSAbinav Puthan Purayil// READOBJ: Section Headers 123d9f011aSAbinav Puthan Purayil// READOBJ: .text PROGBITS {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9]+}} AX {{[0-9]+}} {{[0-9]+}} 256 133d9f011aSAbinav Puthan Purayil// READOBJ: .rodata PROGBITS {{[0-9a-f]+}} {{[0-9a-f]+}} 000100 {{[0-9]+}} A {{[0-9]+}} {{[0-9]+}} 64 143d9f011aSAbinav Puthan Purayil 153d9f011aSAbinav Puthan Purayil// READOBJ: Relocation section '.rela.rodata' at offset 163d9f011aSAbinav Puthan Purayil// READOBJ: 0000000000000010 {{[0-9a-f]+}}00000005 R_AMDGPU_REL64 0000000000000000 .text + 10 173d9f011aSAbinav Puthan Purayil// READOBJ: 0000000000000050 {{[0-9a-f]+}}00000005 R_AMDGPU_REL64 0000000000000000 .text + 110 183d9f011aSAbinav Puthan Purayil// READOBJ: 0000000000000090 {{[0-9a-f]+}}00000005 R_AMDGPU_REL64 0000000000000000 .text + 210 193d9f011aSAbinav Puthan Purayil// READOBJ: 00000000000000d0 {{[0-9a-f]+}}00000005 R_AMDGPU_REL64 0000000000000000 .text + 310 203d9f011aSAbinav Puthan Purayil 213d9f011aSAbinav Puthan Purayil// READOBJ: Symbol table '.symtab' contains {{[0-9]+}} entries: 223d9f011aSAbinav Puthan Purayil// READOBJ: 0000000000000000 0 FUNC LOCAL PROTECTED 2 minimal 233d9f011aSAbinav Puthan Purayil// READOBJ-NEXT: 0000000000000100 0 FUNC LOCAL PROTECTED 2 complete 243d9f011aSAbinav Puthan Purayil// READOBJ-NEXT: 0000000000000200 0 FUNC LOCAL PROTECTED 2 special_sgpr 253d9f011aSAbinav Puthan Purayil// READOBJ-NEXT: 0000000000000300 0 FUNC LOCAL PROTECTED 2 disabled_user_sgpr 263d9f011aSAbinav Puthan Purayil// READOBJ-NEXT: 0000000000000000 64 OBJECT LOCAL DEFAULT 3 minimal.kd 273d9f011aSAbinav Puthan Purayil// READOBJ-NEXT: 0000000000000040 64 OBJECT LOCAL DEFAULT 3 complete.kd 283d9f011aSAbinav Puthan Purayil// READOBJ-NEXT: 0000000000000080 64 OBJECT LOCAL DEFAULT 3 special_sgpr.kd 293d9f011aSAbinav Puthan Purayil// READOBJ-NEXT: 00000000000000c0 64 OBJECT LOCAL DEFAULT 3 disabled_user_sgpr.kd 303d9f011aSAbinav Puthan Purayil 313d9f011aSAbinav Puthan Purayil// OBJDUMP: Contents of section .rodata 323d9f011aSAbinav Puthan Purayil// Note, relocation for KERNEL_CODE_ENTRY_BYTE_OFFSET is not resolved here. 333d9f011aSAbinav Puthan Purayil// minimal 343d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0000 00000000 00000000 00000000 00000000 353d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0010 00000000 00000000 00000000 00000000 363d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0020 00000000 00000000 00000000 00000000 373d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0030 0000ac00 80000000 00000000 00000000 383d9f011aSAbinav Puthan Purayil// complete 393d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0040 01000000 01000000 08000000 00000000 403d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0050 00000000 00000000 00000000 00000000 413d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0060 00000000 00000000 00000000 00000000 423d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0070 c2500104 1f0f007f 7f080000 00000000 433d9f011aSAbinav Puthan Purayil// special_sgpr 443d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0080 00000000 00000000 00000000 00000000 453d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 0090 00000000 00000000 00000000 00000000 463d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 00a0 00000000 00000000 00000000 00000000 473d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 00b0 00010000 80000000 00000000 00000000 483d9f011aSAbinav Puthan Purayil// disabled_user_sgpr 493d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 00c0 00000000 00000000 00000000 00000000 503d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 00d0 00000000 00000000 00000000 00000000 513d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 00e0 00000000 00000000 00000000 00000000 523d9f011aSAbinav Puthan Purayil// OBJDUMP-NEXT: 00f0 0000ac00 80000000 00000000 00000000 533d9f011aSAbinav Puthan Purayil 543d9f011aSAbinav Puthan Purayil.amdgcn_target "amdgcn-amd-amdhsa--gfx904:xnack+" 553d9f011aSAbinav Puthan Purayil// ASM: .amdgcn_target "amdgcn-amd-amdhsa--gfx904:xnack+" 563d9f011aSAbinav Puthan Purayil 57bc82cfb3SEmma Pilkington.amdhsa_code_object_version 5 58bc82cfb3SEmma Pilkington// ASM: .amdhsa_code_object_version 5 59bc82cfb3SEmma Pilkington 603d9f011aSAbinav Puthan Purayil.p2align 8 613d9f011aSAbinav Puthan Purayil.type minimal,@function 623d9f011aSAbinav Puthan Purayilminimal: 633d9f011aSAbinav Puthan Purayil s_endpgm 643d9f011aSAbinav Puthan Purayil 653d9f011aSAbinav Puthan Purayil.p2align 8 663d9f011aSAbinav Puthan Purayil.type complete,@function 673d9f011aSAbinav Puthan Purayilcomplete: 683d9f011aSAbinav Puthan Purayil s_endpgm 693d9f011aSAbinav Puthan Purayil 703d9f011aSAbinav Puthan Purayil.p2align 8 713d9f011aSAbinav Puthan Purayil.type special_sgpr,@function 723d9f011aSAbinav Puthan Purayilspecial_sgpr: 733d9f011aSAbinav Puthan Purayil s_endpgm 743d9f011aSAbinav Puthan Purayil 753d9f011aSAbinav Puthan Purayil.p2align 8 763d9f011aSAbinav Puthan Purayil.type disabled_user_sgpr,@function 773d9f011aSAbinav Puthan Purayildisabled_user_sgpr: 783d9f011aSAbinav Puthan Purayil s_endpgm 793d9f011aSAbinav Puthan Purayil 803d9f011aSAbinav Puthan Purayil.rodata 813d9f011aSAbinav Puthan Purayil// ASM: .rodata 823d9f011aSAbinav Puthan Purayil 833d9f011aSAbinav Puthan Purayil// Test that only specifying required directives is allowed, and that defaulted 843d9f011aSAbinav Puthan Purayil// values are omitted. 853d9f011aSAbinav Puthan Purayil.p2align 6 863d9f011aSAbinav Puthan Purayil.amdhsa_kernel minimal 873d9f011aSAbinav Puthan Purayil .amdhsa_next_free_vgpr 0 883d9f011aSAbinav Puthan Purayil .amdhsa_next_free_sgpr 0 893d9f011aSAbinav Puthan Purayil.end_amdhsa_kernel 903d9f011aSAbinav Puthan Purayil 913d9f011aSAbinav Puthan Purayil// ASM: .amdhsa_kernel minimal 923d9f011aSAbinav Puthan Purayil// ASM: .amdhsa_next_free_vgpr 0 933d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_next_free_sgpr 0 943d9f011aSAbinav Puthan Purayil// ASM: .end_amdhsa_kernel 953d9f011aSAbinav Puthan Purayil 963d9f011aSAbinav Puthan Purayil// Test that we can specify all available directives with non-default values. 973d9f011aSAbinav Puthan Purayil.p2align 6 983d9f011aSAbinav Puthan Purayil.amdhsa_kernel complete 993d9f011aSAbinav Puthan Purayil .amdhsa_group_segment_fixed_size 1 1003d9f011aSAbinav Puthan Purayil .amdhsa_private_segment_fixed_size 1 1013d9f011aSAbinav Puthan Purayil .amdhsa_kernarg_size 8 1023d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_count 15 1033d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_private_segment_buffer 1 1043d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_dispatch_ptr 1 1053d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_queue_ptr 1 1063d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_kernarg_segment_ptr 1 1073d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_dispatch_id 1 1083d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_flat_scratch_init 1 1093d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_private_segment_size 1 1103d9f011aSAbinav Puthan Purayil .amdhsa_uses_dynamic_stack 1 1113d9f011aSAbinav Puthan Purayil .amdhsa_system_sgpr_private_segment_wavefront_offset 1 1123d9f011aSAbinav Puthan Purayil .amdhsa_system_sgpr_workgroup_id_x 0 1133d9f011aSAbinav Puthan Purayil .amdhsa_system_sgpr_workgroup_id_y 1 1143d9f011aSAbinav Puthan Purayil .amdhsa_system_sgpr_workgroup_id_z 1 1153d9f011aSAbinav Puthan Purayil .amdhsa_system_sgpr_workgroup_info 1 1163d9f011aSAbinav Puthan Purayil .amdhsa_system_vgpr_workitem_id 1 1173d9f011aSAbinav Puthan Purayil .amdhsa_next_free_vgpr 9 1183d9f011aSAbinav Puthan Purayil .amdhsa_next_free_sgpr 27 1193d9f011aSAbinav Puthan Purayil .amdhsa_reserve_vcc 0 1203d9f011aSAbinav Puthan Purayil .amdhsa_reserve_flat_scratch 0 1213d9f011aSAbinav Puthan Purayil .amdhsa_reserve_xnack_mask 1 1223d9f011aSAbinav Puthan Purayil .amdhsa_float_round_mode_32 1 1233d9f011aSAbinav Puthan Purayil .amdhsa_float_round_mode_16_64 1 1243d9f011aSAbinav Puthan Purayil .amdhsa_float_denorm_mode_32 1 1253d9f011aSAbinav Puthan Purayil .amdhsa_float_denorm_mode_16_64 0 1263d9f011aSAbinav Puthan Purayil .amdhsa_dx10_clamp 0 1273d9f011aSAbinav Puthan Purayil .amdhsa_ieee_mode 0 1283d9f011aSAbinav Puthan Purayil .amdhsa_fp16_overflow 1 1293d9f011aSAbinav Puthan Purayil .amdhsa_exception_fp_ieee_invalid_op 1 1303d9f011aSAbinav Puthan Purayil .amdhsa_exception_fp_denorm_src 1 1313d9f011aSAbinav Puthan Purayil .amdhsa_exception_fp_ieee_div_zero 1 1323d9f011aSAbinav Puthan Purayil .amdhsa_exception_fp_ieee_overflow 1 1333d9f011aSAbinav Puthan Purayil .amdhsa_exception_fp_ieee_underflow 1 1343d9f011aSAbinav Puthan Purayil .amdhsa_exception_fp_ieee_inexact 1 1353d9f011aSAbinav Puthan Purayil .amdhsa_exception_int_div_zero 1 1363d9f011aSAbinav Puthan Purayil.end_amdhsa_kernel 1373d9f011aSAbinav Puthan Purayil 1383d9f011aSAbinav Puthan Purayil// ASM: .amdhsa_kernel complete 1393d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_group_segment_fixed_size 1 1403d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_private_segment_fixed_size 1 1413d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_kernarg_size 8 1423d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_user_sgpr_count 15 1433d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_user_sgpr_private_segment_buffer 1 1443d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_user_sgpr_dispatch_ptr 1 1453d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_user_sgpr_queue_ptr 1 1463d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_user_sgpr_kernarg_segment_ptr 1 1473d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_user_sgpr_dispatch_id 1 1483d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_user_sgpr_flat_scratch_init 1 1493d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_user_sgpr_private_segment_size 1 1503d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_uses_dynamic_stack 1 1513d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_system_sgpr_private_segment_wavefront_offset 1 1523d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_system_sgpr_workgroup_id_x 0 1533d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_system_sgpr_workgroup_id_y 1 1543d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_system_sgpr_workgroup_id_z 1 1553d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_system_sgpr_workgroup_info 1 1563d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_system_vgpr_workitem_id 1 1573d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_next_free_vgpr 9 1583d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_next_free_sgpr 27 1593d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_reserve_vcc 0 1603d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_reserve_flat_scratch 0 1613d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_reserve_xnack_mask 1 1623d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_float_round_mode_32 1 1633d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_float_round_mode_16_64 1 1643d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_float_denorm_mode_32 1 1653d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_float_denorm_mode_16_64 0 1663d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_dx10_clamp 0 1673d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_ieee_mode 0 1683d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_fp16_overflow 1 1693d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_exception_fp_ieee_invalid_op 1 1703d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_exception_fp_denorm_src 1 1713d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_exception_fp_ieee_div_zero 1 1723d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_exception_fp_ieee_overflow 1 1733d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_exception_fp_ieee_underflow 1 1743d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_exception_fp_ieee_inexact 1 1753d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_exception_int_div_zero 1 1763d9f011aSAbinav Puthan Purayil// ASM-NEXT: .end_amdhsa_kernel 1773d9f011aSAbinav Puthan Purayil 1783d9f011aSAbinav Puthan Purayil// Test that we are including special SGPR usage in the granulated count. 1793d9f011aSAbinav Puthan Purayil.p2align 6 1803d9f011aSAbinav Puthan Purayil.amdhsa_kernel special_sgpr 1813d9f011aSAbinav Puthan Purayil // Same next_free_sgpr as "complete", but... 1823d9f011aSAbinav Puthan Purayil .amdhsa_next_free_sgpr 27 1833d9f011aSAbinav Puthan Purayil // ...on GFX9 this should require an additional 6 SGPRs, pushing us from 1843d9f011aSAbinav Puthan Purayil // 3 granules to 4 1853d9f011aSAbinav Puthan Purayil .amdhsa_reserve_flat_scratch 1 1863d9f011aSAbinav Puthan Purayil 1873d9f011aSAbinav Puthan Purayil .amdhsa_reserve_vcc 0 1883d9f011aSAbinav Puthan Purayil .amdhsa_reserve_xnack_mask 1 1893d9f011aSAbinav Puthan Purayil 1903d9f011aSAbinav Puthan Purayil .amdhsa_float_denorm_mode_16_64 0 1913d9f011aSAbinav Puthan Purayil .amdhsa_dx10_clamp 0 1923d9f011aSAbinav Puthan Purayil .amdhsa_ieee_mode 0 1933d9f011aSAbinav Puthan Purayil .amdhsa_next_free_vgpr 0 1943d9f011aSAbinav Puthan Purayil.end_amdhsa_kernel 1953d9f011aSAbinav Puthan Purayil 1963d9f011aSAbinav Puthan Purayil// ASM: .amdhsa_kernel special_sgpr 1973d9f011aSAbinav Puthan Purayil// ASM: .amdhsa_next_free_vgpr 0 1983d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_next_free_sgpr 27 1993d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_reserve_vcc 0 200*17eaa23fSJanek van Oirschot// ASM-NEXT: .amdhsa_reserve_flat_scratch 1 2013d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_reserve_xnack_mask 1 2023d9f011aSAbinav Puthan Purayil// ASM: .amdhsa_float_denorm_mode_16_64 0 2033d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_dx10_clamp 0 2043d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_ieee_mode 0 2053d9f011aSAbinav Puthan Purayil// ASM: .end_amdhsa_kernel 2063d9f011aSAbinav Puthan Purayil 2073d9f011aSAbinav Puthan Purayil// Test that explicitly disabling user_sgpr's does not affect the user_sgpr 2083d9f011aSAbinav Puthan Purayil// count, i.e. this should produce the same descriptor as minimal. 2093d9f011aSAbinav Puthan Purayil.p2align 6 2103d9f011aSAbinav Puthan Purayil.amdhsa_kernel disabled_user_sgpr 2113d9f011aSAbinav Puthan Purayil .amdhsa_user_sgpr_private_segment_buffer 0 2123d9f011aSAbinav Puthan Purayil .amdhsa_next_free_vgpr 0 2133d9f011aSAbinav Puthan Purayil .amdhsa_next_free_sgpr 0 2143d9f011aSAbinav Puthan Purayil.end_amdhsa_kernel 2153d9f011aSAbinav Puthan Purayil 2163d9f011aSAbinav Puthan Purayil// ASM: .amdhsa_kernel disabled_user_sgpr 2173d9f011aSAbinav Puthan Purayil// ASM: .amdhsa_next_free_vgpr 0 2183d9f011aSAbinav Puthan Purayil// ASM-NEXT: .amdhsa_next_free_sgpr 0 2193d9f011aSAbinav Puthan Purayil// ASM: .end_amdhsa_kernel 2203d9f011aSAbinav Puthan Purayil 2213d9f011aSAbinav Puthan Purayil.section .foo 2223d9f011aSAbinav Puthan Purayil 2233d9f011aSAbinav Puthan Purayil.byte .amdgcn.gfx_generation_number 2243d9f011aSAbinav Puthan Purayil// ASM: .byte 9 2253d9f011aSAbinav Puthan Purayil 2263d9f011aSAbinav Puthan Purayil.byte .amdgcn.gfx_generation_minor 2273d9f011aSAbinav Puthan Purayil// ASM: .byte 0 2283d9f011aSAbinav Puthan Purayil 2293d9f011aSAbinav Puthan Purayil.byte .amdgcn.gfx_generation_stepping 2303d9f011aSAbinav Puthan Purayil// ASM: .byte 4 2313d9f011aSAbinav Puthan Purayil 2323d9f011aSAbinav Puthan Purayil.byte .amdgcn.next_free_vgpr 2333d9f011aSAbinav Puthan Purayil// ASM: .byte 0 2343d9f011aSAbinav Puthan Purayil.byte .amdgcn.next_free_sgpr 2353d9f011aSAbinav Puthan Purayil// ASM: .byte 0 2363d9f011aSAbinav Puthan Purayil 2373d9f011aSAbinav Puthan Purayilv_mov_b32_e32 v7, s10 2383d9f011aSAbinav Puthan Purayil 2393d9f011aSAbinav Puthan Purayil.byte .amdgcn.next_free_vgpr 2403d9f011aSAbinav Puthan Purayil// ASM: .byte 8 2413d9f011aSAbinav Puthan Purayil.byte .amdgcn.next_free_sgpr 2423d9f011aSAbinav Puthan Purayil// ASM: .byte 11 2433d9f011aSAbinav Puthan Purayil 2443d9f011aSAbinav Puthan Purayil.set .amdgcn.next_free_vgpr, 0 2453d9f011aSAbinav Puthan Purayil.set .amdgcn.next_free_sgpr, 0 2463d9f011aSAbinav Puthan Purayil 2473d9f011aSAbinav Puthan Purayil.byte .amdgcn.next_free_vgpr 2483d9f011aSAbinav Puthan Purayil// ASM: .byte 0 2493d9f011aSAbinav Puthan Purayil.byte .amdgcn.next_free_sgpr 2503d9f011aSAbinav Puthan Purayil// ASM: .byte 0 2513d9f011aSAbinav Puthan Purayil 2523d9f011aSAbinav Puthan Purayilv_mov_b32_e32 v16, s3 2533d9f011aSAbinav Puthan Purayil 2543d9f011aSAbinav Puthan Purayil.byte .amdgcn.next_free_vgpr 2553d9f011aSAbinav Puthan Purayil// ASM: .byte 17 2563d9f011aSAbinav Puthan Purayil.byte .amdgcn.next_free_sgpr 2573d9f011aSAbinav Puthan Purayil// ASM: .byte 4 2583d9f011aSAbinav Puthan Purayil 2593d9f011aSAbinav Puthan Purayil// Metadata 2603d9f011aSAbinav Puthan Purayil 2613d9f011aSAbinav Puthan Purayil.amdgpu_metadata 2623d9f011aSAbinav Puthan Purayil amdhsa.version: 2633d9f011aSAbinav Puthan Purayil - 3 2643d9f011aSAbinav Puthan Purayil - 0 2653d9f011aSAbinav Puthan Purayil amdhsa.kernels: 2663d9f011aSAbinav Puthan Purayil - .name: amd_kernel_code_t_test_all 2673d9f011aSAbinav Puthan Purayil .symbol: amd_kernel_code_t_test_all@kd 2683d9f011aSAbinav Puthan Purayil .kernarg_segment_size: 8 2693d9f011aSAbinav Puthan Purayil .group_segment_fixed_size: 16 2703d9f011aSAbinav Puthan Purayil .private_segment_fixed_size: 32 2713d9f011aSAbinav Puthan Purayil .uses_dynamic_stack: true 2723d9f011aSAbinav Puthan Purayil .kernarg_segment_align: 64 2733d9f011aSAbinav Puthan Purayil .wavefront_size: 128 2743d9f011aSAbinav Puthan Purayil .sgpr_count: 14 2753d9f011aSAbinav Puthan Purayil .vgpr_count: 40 2763d9f011aSAbinav Puthan Purayil .max_flat_workgroup_size: 256 2773d9f011aSAbinav Puthan Purayil - .name: amd_kernel_code_t_minimal 2783d9f011aSAbinav Puthan Purayil .symbol: amd_kernel_code_t_minimal@kd 2793d9f011aSAbinav Puthan Purayil .kernarg_segment_size: 8 2803d9f011aSAbinav Puthan Purayil .group_segment_fixed_size: 16 2813d9f011aSAbinav Puthan Purayil .private_segment_fixed_size: 32 2823d9f011aSAbinav Puthan Purayil .uses_dynamic_stack: true 2833d9f011aSAbinav Puthan Purayil .kernarg_segment_align: 64 2843d9f011aSAbinav Puthan Purayil .wavefront_size: 128 2853d9f011aSAbinav Puthan Purayil .sgpr_count: 14 2863d9f011aSAbinav Puthan Purayil .vgpr_count: 40 2873d9f011aSAbinav Puthan Purayil .max_flat_workgroup_size: 256 2883d9f011aSAbinav Puthan Purayil.end_amdgpu_metadata 2893d9f011aSAbinav Puthan Purayil 2903d9f011aSAbinav Puthan Purayil// ASM: .amdgpu_metadata 2913d9f011aSAbinav Puthan Purayil// ASM: amdhsa.kernels: 2923d9f011aSAbinav Puthan Purayil// ASM: - .group_segment_fixed_size: 16 2933d9f011aSAbinav Puthan Purayil// ASM: .kernarg_segment_align: 64 2943d9f011aSAbinav Puthan Purayil// ASM: .kernarg_segment_size: 8 2953d9f011aSAbinav Puthan Purayil// ASM: .max_flat_workgroup_size: 256 2963d9f011aSAbinav Puthan Purayil// ASM: .name: amd_kernel_code_t_test_all 2973d9f011aSAbinav Puthan Purayil// ASM: .private_segment_fixed_size: 32 2983d9f011aSAbinav Puthan Purayil// ASM: .sgpr_count: 14 2993d9f011aSAbinav Puthan Purayil// ASM: .symbol: 'amd_kernel_code_t_test_all@kd' 3003d9f011aSAbinav Puthan Purayil// ASM: .uses_dynamic_stack: true 3013d9f011aSAbinav Puthan Purayil// ASM: .vgpr_count: 40 3023d9f011aSAbinav Puthan Purayil// ASM: .wavefront_size: 128 3033d9f011aSAbinav Puthan Purayil// ASM: - .group_segment_fixed_size: 16 3043d9f011aSAbinav Puthan Purayil// ASM: .kernarg_segment_align: 64 3053d9f011aSAbinav Puthan Purayil// ASM: .kernarg_segment_size: 8 3063d9f011aSAbinav Puthan Purayil// ASM: .max_flat_workgroup_size: 256 3073d9f011aSAbinav Puthan Purayil// ASM: .name: amd_kernel_code_t_minimal 3083d9f011aSAbinav Puthan Purayil// ASM: .private_segment_fixed_size: 32 3093d9f011aSAbinav Puthan Purayil// ASM: .sgpr_count: 14 3103d9f011aSAbinav Puthan Purayil// ASM: .symbol: 'amd_kernel_code_t_minimal@kd' 3113d9f011aSAbinav Puthan Purayil// ASM: .uses_dynamic_stack: true 3123d9f011aSAbinav Puthan Purayil// ASM: .vgpr_count: 40 3133d9f011aSAbinav Puthan Purayil// ASM: .wavefront_size: 128 3143d9f011aSAbinav Puthan Purayil// ASM: amdhsa.version: 3153d9f011aSAbinav Puthan Purayil// ASM-NEXT: - 3 3163d9f011aSAbinav Puthan Purayil// ASM-NEXT: - 0 3173d9f011aSAbinav Puthan Purayil// ASM: .end_amdgpu_metadata 318