diff options
Diffstat (limited to 'llvm/docs/AMDGPU/gfx9_waitcnt.rst')
-rw-r--r-- | llvm/docs/AMDGPU/gfx9_waitcnt.rst | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/llvm/docs/AMDGPU/gfx9_waitcnt.rst b/llvm/docs/AMDGPU/gfx9_waitcnt.rst new file mode 100644 index 00000000000..5f755fcf48a --- /dev/null +++ b/llvm/docs/AMDGPU/gfx9_waitcnt.rst @@ -0,0 +1,56 @@ +.. + ************************************************** + * * + * Automatically generated file, do not edit! * + * * + ************************************************** + +.. _amdgpu_synid9_waitcnt: + +waitcnt +=========================== + +Counts of outstanding instructions to wait for. + +The bits of this operand have the following meaning: + + ============ ====================================================== + Bits Description + ============ ====================================================== + 3:0 VM_CNT: vector memory operations count, lower bits. + 6:4 EXP_CNT: export count. + 11:8 LGKM_CNT: LDS, GDS, Constant and Message count. + 15:14 VM_CNT: vector memory operations count, upper bits. + ============ ====================================================== + +This operand may be specified as a positive 16-bit :ref:`integer_number<amdgpu_synid_integer_number>` +or as a combination of the following symbolic helpers: + + ====================== ====================================================================== + Syntax Description + ====================== ====================================================================== + vmcnt(<*N*>) VM_CNT value. *N* must not exceed the largest VM_CNT value. + expcnt(<*N*>) EXP_CNT value. *N* must not exceed the largest EXP_CNT value. + lgkmcnt(<*N*>) LGKM_CNT value. *N* must not exceed the largest LGKM_CNT value. + vmcnt_sat(<*N*>) VM_CNT value computed as min(*N*, the largest VM_CNT value). + expcnt_sat(<*N*>) EXP_CNT value computed as min(*N*, the largest EXP_CNT value). + lgkmcnt_sat(<*N*>) LGKM_CNT value computed as min(*N*, the largest LGKM_CNT value). + ====================== ====================================================================== + +These helpers may be specified in any order. Ampersands and commas may be used as optional separators. + +*N* is either an +:ref:`integer number<amdgpu_synid_integer_number>` or an +:ref:`absolute expression<amdgpu_synid_absolute_expression>`. + +Examples: + +.. code-block:: nasm + + s_waitcnt 0 + s_waitcnt vmcnt(1) + s_waitcnt expcnt(2) lgkmcnt(3) + s_waitcnt vmcnt(1) expcnt(2) lgkmcnt(3) + s_waitcnt vmcnt(1), expcnt(2), lgkmcnt(3) + s_waitcnt vmcnt(1) & lgkmcnt_sat(100) & expcnt(2) + |