[AMDGPU][GFX90a][DOC][NFC] Update assembler syntax description

Summary of changes:
- Update MUBUF lds syntax (see https://reviews.llvm.org/D124485).
- Update SMEM syntax (see https://reviews.llvm.org/D127314).
- Enable src0=literal for v_madak*, v_madmk* (see https://reviews.llvm.org/D111067).
- Correct src0 operands of v_accvgpr_write_b32.
- Correct description of s_getreg/s_setreg (add TBA/TMA).
- Remove SYSMSG_OP_HOST_TRAP_ACK message.
- Minor bug fixing and improvements.
This commit is contained in:
Dmitry Preobrazhensky 2022-06-27 18:55:53 +03:00
parent 675080a453
commit 1774f2e326
108 changed files with 2110 additions and 2123 deletions

File diff suppressed because it is too large Load Diff

View File

@ -41,18 +41,22 @@ or :ref:`absolute expressions<amdgpu_synid_absolute_expression>`.
Defined register *names* include:
=================== ==========================================
Name Description
=================== ==========================================
HW_REG_MODE Shader writeable mode bits.
HW_REG_STATUS Shader read-only status.
HW_REG_TRAPSTS Trap status.
HW_REG_HW_ID Id of wave, simd, compute unit, etc.
HW_REG_GPR_ALLOC Per-wave SGPR and VGPR allocation.
HW_REG_LDS_ALLOC Per-wave LDS allocation.
HW_REG_IB_STS Counters of outstanding instructions.
HW_REG_SH_MEM_BASES Memory aperture.
=================== ==========================================
============================== ==========================================
Name Description
============================== ==========================================
HW_REG_MODE Shader writeable mode bits.
HW_REG_STATUS Shader read-only status.
HW_REG_TRAPSTS Trap status.
HW_REG_HW_ID Id of wave, simd, compute unit, etc.
HW_REG_GPR_ALLOC Per-wave SGPR and VGPR allocation.
HW_REG_LDS_ALLOC Per-wave LDS allocation.
HW_REG_IB_STS Counters of outstanding instructions.
HW_REG_SH_MEM_BASES Memory aperture.
HW_REG_TBA_LO tba_lo register.
HW_REG_TBA_HI tba_hi register.
HW_REG_TMA_LO tma_lo register.
HW_REG_TMA_HI tma_hi register.
============================== ==========================================
Examples:

View File

@ -1,13 +0,0 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_imm16_2:
imm16
=====
A 16-bit :ref:`integer_number<amdgpu_synid_integer_number>` or an :ref:`absolute_expression<amdgpu_synid_absolute_expression>`. The value must be in the range -32768..65535.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_imm16:
.. _amdgpu_synid_gfx90a_imm16_73139a:
imm16
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_imm16_1:
.. _amdgpu_synid_gfx90a_imm16_a04fb3:
imm16
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_m:
.. _amdgpu_synid_gfx90a_m_254bcb:
m
=

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_m_1:
.. _amdgpu_synid_gfx90a_m_f5d306:
m
=

View File

@ -67,7 +67,6 @@ Each message type supports specific operations:
MSG_GET_DOORBELL 10 \- \- \-
MSG_SYSMSG 15 SYSMSG_OP_ECC_ERR_INTERRUPT 1 \-
\ SYSMSG_OP_REG_RD 2 \-
\ SYSMSG_OP_HOST_TRAP_ACK 3 \-
\ SYSMSG_OP_TTRACE_PC 4 \-
====================== ========== ============================== ============ ==========

View File

@ -0,0 +1,13 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_opt_0d447d:
opt
===
This is an optional operand. It must be used if and only if :ref:`lds<amdgpu_synid_lds>` is omitted.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_opt:
.. _amdgpu_synid_gfx90a_opt_847aed:
opt
===

View File

@ -5,14 +5,14 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_saddr_1:
.. _amdgpu_synid_gfx90a_saddr_6060e5:
saddr
=====
An optional 32-bit flat scratch offset. Must be specified as :ref:`off<amdgpu_synid_off>` if not used.
Either this operand or :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_3>` must be set to :ref:`off<amdgpu_synid_off>`.
Either this operand or :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_76b997>` must be set to :ref:`off<amdgpu_synid_off>`.
*Size:* 1 dword.

View File

@ -5,14 +5,14 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_saddr:
.. _amdgpu_synid_gfx90a_saddr_a37373:
saddr
=====
An optional 64-bit flat global address. Must be specified as :ref:`off<amdgpu_synid_off>` if not used.
See :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_2>` for description of available addressing modes.
See :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_0212e3>` for description of available addressing modes.
*Size:* 2 dwords.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sbase_1:
.. _amdgpu_synid_gfx90a_sbase_010ce0:
sbase
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sbase:
.. _amdgpu_synid_gfx90a_sbase_044055:
sbase
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sbase_2:
.. _amdgpu_synid_gfx90a_sbase_0cd545:
sbase
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdata_3:
.. _amdgpu_synid_gfx90a_sdata_595c25:
sdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdata_5:
.. _amdgpu_synid_gfx90a_sdata_7cbd60:
sdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdata:
.. _amdgpu_synid_gfx90a_sdata_aefe00:
sdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdata_2:
.. _amdgpu_synid_gfx90a_sdata_c6aec1:
sdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdata_4:
.. _amdgpu_synid_gfx90a_sdata_e9f591:
sdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdata_1:
.. _amdgpu_synid_gfx90a_sdata_eb6f2a:
sdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdst_5:
.. _amdgpu_synid_gfx90a_sdst_06b266:
sdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdst_3:
.. _amdgpu_synid_gfx90a_sdst_0804b1:
sdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdst_4:
.. _amdgpu_synid_gfx90a_sdst_362c37:
sdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdst_1:
.. _amdgpu_synid_gfx90a_sdst_3bc700:
sdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdst_7:
.. _amdgpu_synid_gfx90a_sdst_59204c:
sdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdst_2:
.. _amdgpu_synid_gfx90a_sdst_718cc4:
sdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdst:
.. _amdgpu_synid_gfx90a_sdst_94342d:
sdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_sdst_6:
.. _amdgpu_synid_gfx90a_sdst_a319e6:
sdst
====

View File

@ -5,10 +5,10 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_simm32_2:
.. _amdgpu_synid_gfx90a_simm32_6f0844:
simm32
======
A :ref:`floating-point_number<amdgpu_synid_floating-point_number>`, an :ref:`integer_number<amdgpu_synid_integer_number>`, or an :ref:`absolute_expression<amdgpu_synid_absolute_expression>`.
The value is converted to *f32* as described :ref:`here<amdgpu_synid_fp_conv>`.
The value is converted to *f32* as described :ref:`here<amdgpu_synid_conv>`.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_simm32:
.. _amdgpu_synid_gfx90a_simm32_a3e80c:
simm32
======

View File

@ -5,10 +5,10 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_simm32_1:
.. _amdgpu_synid_gfx90a_simm32_be0c1c:
simm32
======
A :ref:`floating-point_number<amdgpu_synid_floating-point_number>`, an :ref:`integer_number<amdgpu_synid_integer_number>`, or an :ref:`absolute_expression<amdgpu_synid_absolute_expression>`.
The value is converted to *f16* as described :ref:`here<amdgpu_synid_fp_conv>`.
The value is converted to *f16* as described :ref:`here<amdgpu_synid_conv>`.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_soffset:
.. _amdgpu_synid_gfx90a_soffset_4318ca:
soffset
=======

View File

@ -5,16 +5,18 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_soffset_1:
.. _amdgpu_synid_gfx90a_soffset_8a17c8:
soffset
=======
An offset added to the base address to get memory address.
An offset from the base address.
* If offset is specified as a register, it supplies an unsigned byte offset.
* If offset is specified as a 21-bit immediate, it supplies a signed byte offset.
Note that an *immediate* offset may be specified using either :ref:`simm21<amdgpu_synid_simm21>` operand or :ref:`offset21s<amdgpu_synid_smem_offset21s>` modifier, but not both.
*Size:* 1 dword.
*Operands:* :ref:`s<amdgpu_synid_s>`, :ref:`flat_scratch<amdgpu_synid_flat_scratch>`, :ref:`xnack_mask<amdgpu_synid_xnack_mask>`, :ref:`vcc<amdgpu_synid_vcc>`, :ref:`ttmp<amdgpu_synid_ttmp>`, :ref:`m0<amdgpu_synid_m0>`, :ref:`simm21<amdgpu_synid_simm21>`

View File

@ -5,12 +5,14 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_soffset_2:
.. _amdgpu_synid_gfx90a_soffset_ba92ce:
soffset
=======
An unsigned 20-bit offset added to the base address to get memory address.
An unsigned offset from the base address. My be specified as either a register or a 20-bit immediate.
Note that an *immediate* offset may be specified using either :ref:`uimm20<amdgpu_synid_uimm20>` operand or :ref:`offset20u<amdgpu_synid_smem_offset20u>` modifier, but not both.
*Size:* 1 dword.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_3:
.. _amdgpu_synid_gfx90a_src_4de5c6:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_2:
.. _amdgpu_synid_gfx90a_src_56ed80:
src
===

View File

@ -1,17 +0,0 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_6:
src
===
Instruction input.
*Size:* 1 dword.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`iconst<amdgpu_synid_iconst>`, :ref:`fconst<amdgpu_synid_fconst>`

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_11:
.. _amdgpu_synid_gfx90a_src_64ea89:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_9:
.. _amdgpu_synid_gfx90a_src_6cfc4e:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_8:
.. _amdgpu_synid_gfx90a_src_a578ba:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_7:
.. _amdgpu_synid_gfx90a_src_af08be:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_1:
.. _amdgpu_synid_gfx90a_src_d578c4:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_4:
.. _amdgpu_synid_gfx90a_src_d95796:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src:
.. _amdgpu_synid_gfx90a_src_e1561c:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_10:
.. _amdgpu_synid_gfx90a_src_e5cc81:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_src_5:
.. _amdgpu_synid_gfx90a_src_f73668:
src
===

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_srsrc:
.. _amdgpu_synid_gfx90a_srsrc_79ffcd:
srsrc
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_srsrc_1:
.. _amdgpu_synid_gfx90a_srsrc_e73d16:
srsrc
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc_8:
.. _amdgpu_synid_gfx90a_ssrc_4db4a9:
ssrc
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc_7:
.. _amdgpu_synid_gfx90a_ssrc_57838b:
ssrc
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc_2:
.. _amdgpu_synid_gfx90a_ssrc_595c25:
ssrc
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc_5:
.. _amdgpu_synid_gfx90a_ssrc_65f041:
ssrc
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc_1:
.. _amdgpu_synid_gfx90a_ssrc_aee59c:
ssrc
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc_4:
.. _amdgpu_synid_gfx90a_ssrc_c31902:
ssrc
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc:
.. _amdgpu_synid_gfx90a_ssrc_c5d631:
ssrc
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc_6:
.. _amdgpu_synid_gfx90a_ssrc_c8a322:
ssrc
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_ssrc_3:
.. _amdgpu_synid_gfx90a_ssrc_e9f591:
ssrc
====

View File

@ -0,0 +1,20 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_vaddr_0212e3:
vaddr
=====
A 64-bit flat global address or a 32-bit offset depending on addressing mode:
* Address = :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_0212e3>` + :ref:`offset13s<amdgpu_synid_flat_offset13s>`. :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_0212e3>` is a 64-bit address. This mode is indicated by :ref:`saddr<amdgpu_synid_gfx90a_saddr_a37373>` set to :ref:`off<amdgpu_synid_off>`.
* Address = :ref:`saddr<amdgpu_synid_gfx90a_saddr_a37373>` + :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_0212e3>` + :ref:`offset13s<amdgpu_synid_flat_offset13s>`. :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_0212e3>` is a 32-bit offset. This mode is used when :ref:`saddr<amdgpu_synid_gfx90a_saddr_a37373>` is not :ref:`off<amdgpu_synid_off>`.
*Size:* 1 or 2 dwords.
*Operands:* :ref:`v<amdgpu_synid_v>`

View File

@ -1,20 +0,0 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_vaddr_2:
vaddr
=====
A 64-bit flat global address or a 32-bit offset depending on addressing mode:
* Address = :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_2>` + :ref:`offset13s<amdgpu_synid_flat_offset13s>`. :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_2>` is a 64-bit address. This mode is indicated by :ref:`saddr<amdgpu_synid_gfx90a_saddr>` set to :ref:`off<amdgpu_synid_off>`.
* Address = :ref:`saddr<amdgpu_synid_gfx90a_saddr>` + :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_2>` + :ref:`offset13s<amdgpu_synid_flat_offset13s>`. :ref:`vaddr<amdgpu_synid_gfx90a_vaddr_2>` is a 32-bit offset. This mode is used when :ref:`saddr<amdgpu_synid_gfx90a_saddr>` is not :ref:`off<amdgpu_synid_off>`.
*Size:* 1 or 2 dwords.
*Operands:* :ref:`v<amdgpu_synid_v>`

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vaddr_4:
.. _amdgpu_synid_gfx90a_vaddr_5d0b42:
vaddr
=====
@ -14,8 +14,8 @@ Image address which includes from one to four dimensional coordinates and other
*Size:* 1, 2, 3, 4, 8 or 16 dwords. Actual size depends on opcode, specific image being handled and :ref:`a16<amdgpu_synid_a16>`.
Note 1. Image format and dimensions are encoded in the image resource constant but not in the instruction.
Note 1. Image format and dimensions are encoded in the image resource constant but not in the instruction.
Note 2. Actually image address size may vary from 1 to 13 dwords, but assembler currently supports a limited range of register sequences.
Note 2. Actually image address size may vary from 1 to 13 dwords, but assembler currently supports a limited range of register sequences.
*Operands:* :ref:`v<amdgpu_synid_v>`

View File

@ -5,14 +5,14 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vaddr_3:
.. _amdgpu_synid_gfx90a_vaddr_76b997:
vaddr
=====
An optional 32-bit flat scratch offset. Must be specified as :ref:`off<amdgpu_synid_off>` if not used.
Either this operand or :ref:`saddr<amdgpu_synid_gfx90a_saddr_1>` must be set to :ref:`off<amdgpu_synid_off>`.
Either this operand or :ref:`saddr<amdgpu_synid_gfx90a_saddr_6060e5>` must be set to :ref:`off<amdgpu_synid_off>`.
*Size:* 1 dword.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vaddr_1:
.. _amdgpu_synid_gfx90a_vaddr_9f7133:
vaddr
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vaddr_5:
.. _amdgpu_synid_gfx90a_vaddr_b73dc0:
vaddr
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vaddr:
.. _amdgpu_synid_gfx90a_vaddr_f20ee4:
vaddr
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata0_1:
.. _amdgpu_synid_gfx90a_vdata0_9ad749:
vdata0
======

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata0:
.. _amdgpu_synid_gfx90a_vdata0_be4895:
vdata0
======

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata1_1:
.. _amdgpu_synid_gfx90a_vdata1_9ad749:
vdata1
======

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata1:
.. _amdgpu_synid_gfx90a_vdata1_be4895:
vdata1
======

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_8:
.. _amdgpu_synid_gfx90a_vdata_2a60db:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_9:
.. _amdgpu_synid_gfx90a_vdata_2d0375:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_2:
.. _amdgpu_synid_gfx90a_vdata_848ff7:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_10:
.. _amdgpu_synid_gfx90a_vdata_8e9b87:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_7:
.. _amdgpu_synid_gfx90a_vdata_929b59:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_1:
.. _amdgpu_synid_gfx90a_vdata_9ad749:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_6:
.. _amdgpu_synid_gfx90a_vdata_a5f23e:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_4:
.. _amdgpu_synid_gfx90a_vdata_af2725:
vdata
=====
@ -16,10 +16,10 @@ Optionally may serve as an output data:
* If :ref:`glc<amdgpu_synid_glc>` is specified, gets the memory value before the operation.
*Size:* depends on :ref:`dmask<amdgpu_synid_dmask>` and :ref:`tfe<amdgpu_synid_tfe>`:
*Size:* depends on :ref:`dmask<amdgpu_synid_dmask>`:
* :ref:`dmask<amdgpu_synid_dmask>` may specify 1 data element for 32-bit-per-pixel surfaces or 2 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword.
* :ref:`tfe<amdgpu_synid_tfe>` adds 1 dword if specified.
Note: the surface data format is indicated in the image resource constant but not in the instruction.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata:
.. _amdgpu_synid_gfx90a_vdata_be4895:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_5:
.. _amdgpu_synid_gfx90a_vdata_ca6e5f:
vdata
=====
@ -16,10 +16,10 @@ Optionally may serve as an output data:
* If :ref:`glc<amdgpu_synid_glc>` is specified, gets the memory value before the operation.
*Size:* depends on :ref:`dmask<amdgpu_synid_dmask>` and :ref:`tfe<amdgpu_synid_tfe>`:
*Size:* depends on :ref:`dmask<amdgpu_synid_dmask>`:
* :ref:`dmask<amdgpu_synid_dmask>` may specify 2 data elements for 32-bit-per-pixel surfaces or 4 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword.
* :ref:`tfe<amdgpu_synid_tfe>` adds 1 dword if specified.
Note: the surface data format is indicated in the image resource constant but not in the instruction.

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdata_3:
.. _amdgpu_synid_gfx90a_vdata_cfb402:
vdata
=====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_1:
.. _amdgpu_synid_gfx90a_vdst_0f48d1:
vdst
====

View File

@ -1,17 +0,0 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_11:
vdst
====
Instruction output: data read from a memory buffer.
*Size:* 4 dwords by default. :ref:`tfe<amdgpu_synid_tfe>` adds 1 dword if specified.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`a<amdgpu_synid_a>`

View File

@ -1,21 +0,0 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_12:
vdst
====
Instruction output: data read from a memory buffer.
If :ref:`lds<amdgpu_synid_lds>` is specified, this operand is ignored by H/W and data are stored directly into LDS.
*Size:* 1 dword by default. :ref:`tfe<amdgpu_synid_tfe>` adds 1 dword if specified.
Note that :ref:`tfe<amdgpu_synid_tfe>` and :ref:`lds<amdgpu_synid_lds>` cannot be used together.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`a<amdgpu_synid_a>`

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_2:
.. _amdgpu_synid_gfx90a_vdst_180bef:
vdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_3:
.. _amdgpu_synid_gfx90a_vdst_260aca:
vdst
====

View File

@ -5,13 +5,15 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_10:
.. _amdgpu_synid_gfx90a_vdst_5258b4:
vdst
====
Instruction output: data read from a memory buffer.
*Size:* 3 dwords by default. :ref:`tfe<amdgpu_synid_tfe>` adds 1 dword if specified.
This is an optional operand. It must be used if and only if :ref:`lds<amdgpu_synid_lds>` is omitted.
*Size:* 1 dword.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`a<amdgpu_synid_a>`

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_16:
.. _amdgpu_synid_gfx90a_vdst_69a144:
vdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_13:
.. _amdgpu_synid_gfx90a_vdst_78dd0a:
vdst
====

View File

@ -5,17 +5,17 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_7:
.. _amdgpu_synid_gfx90a_vdst_7c9848:
vdst
====
Image data to load by an image instruction.
*Size:* depends on :ref:`dmask<amdgpu_synid_dmask>`, :ref:`tfe<amdgpu_synid_tfe>` and :ref:`d16<amdgpu_synid_d16>`:
*Size:* depends on :ref:`dmask<amdgpu_synid_dmask>` and :ref:`d16<amdgpu_synid_d16>`:
* :ref:`dmask<amdgpu_synid_dmask>` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16<amdgpu_synid_d16>`.
* :ref:`d16<amdgpu_synid_d16>` specifies that data elements in registers are packed; each value occupies 16 bits.
* :ref:`tfe<amdgpu_synid_tfe>` adds 1 dword if specified.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`a<amdgpu_synid_a>`

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_14:
.. _amdgpu_synid_gfx90a_vdst_89680f:
vdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_18:
.. _amdgpu_synid_gfx90a_vdst_8c77d4:
vdst
====

View File

@ -5,13 +5,13 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_8:
.. _amdgpu_synid_gfx90a_vdst_a32035:
vdst
====
Instruction output: data read from a memory buffer.
*Size:* 1 dword by default. :ref:`tfe<amdgpu_synid_tfe>` adds 1 dword if specified.
*Size:* 4 dwords.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`a<amdgpu_synid_a>`

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_15:
.. _amdgpu_synid_gfx90a_vdst_bdb32f:
vdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_19:
.. _amdgpu_synid_gfx90a_vdst_c8d317:
vdst
====

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_4:
.. _amdgpu_synid_gfx90a_vdst_c8ee02:
vdst
====

View File

@ -0,0 +1,17 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_d0c0cb:
vdst
====
Instruction output: data read from a memory buffer.
*Size:* 1 dword.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`a<amdgpu_synid_a>`

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_17:
.. _amdgpu_synid_gfx90a_vdst_d6f4bd:
vdst
====

View File

@ -0,0 +1,17 @@
..
**************************************************
* *
* Automatically generated file, do not edit! *
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_d8236e:
vdst
====
Instruction output: data read from a memory buffer.
*Size:* 2 dwords.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`a<amdgpu_synid_a>`

View File

@ -5,13 +5,13 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_9:
.. _amdgpu_synid_gfx90a_vdst_e2898f:
vdst
====
Instruction output: data read from a memory buffer.
*Size:* 2 dwords by default. :ref:`tfe<amdgpu_synid_tfe>` adds 1 dword if specified.
*Size:* 3 dwords.
*Operands:* :ref:`v<amdgpu_synid_v>`, :ref:`a<amdgpu_synid_a>`

View File

@ -5,7 +5,7 @@
* *
**************************************************
.. _amdgpu_synid_gfx90a_vdst_5:
.. _amdgpu_synid_gfx90a_vdst_ef6c94:
vdst
====

Some files were not shown because too many files have changed in this diff Show More