Mercurial > hg > CbC > CbC_llvm
comparison llvm/docs/AMDGPU/gfx10_waitcnt.rst @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 2e18cbf3894f |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
1 .. | |
2 ************************************************** | |
3 * * | |
4 * Automatically generated file, do not edit! * | |
5 * * | |
6 ************************************************** | |
7 | |
8 .. _amdgpu_synid10_waitcnt: | |
9 | |
10 waitcnt | |
11 =========================== | |
12 | |
13 Counts of outstanding instructions to wait for. | |
14 | |
15 The bits of this operand have the following meaning: | |
16 | |
17 ========== ========= ================================================ ============ | |
18 High Bits Low Bits Description Value Range | |
19 ========== ========= ================================================ ============ | |
20 15:14 3:0 VM_CNT: vector memory operations count. 0..63 | |
21 \- 6:4 EXP_CNT: export count. 0..7 | |
22 \- 11:8 LGKM_CNT: LDS, GDS, Constant and Message count. 0..15 | |
23 ========== ========= ================================================ ============ | |
24 | |
25 This operand may be specified as one of the following: | |
26 | |
27 * An :ref:`integer_number<amdgpu_synid_integer_number>` or an :ref:`absolute_expression<amdgpu_synid_absolute_expression>`. The value must be in the range 0..0xFFFF. | |
28 * A combination of *vmcnt*, *expcnt*, *lgkmcnt* and other values described below. | |
29 | |
30 ====================== ====================================================================== | |
31 Syntax Description | |
32 ====================== ====================================================================== | |
33 vmcnt(<*N*>) A VM_CNT value. *N* must not exceed the largest VM_CNT value. | |
34 expcnt(<*N*>) An EXP_CNT value. *N* must not exceed the largest EXP_CNT value. | |
35 lgkmcnt(<*N*>) An LGKM_CNT value. *N* must not exceed the largest LGKM_CNT value. | |
36 vmcnt_sat(<*N*>) A VM_CNT value computed as min(*N*, the largest VM_CNT value). | |
37 expcnt_sat(<*N*>) An EXP_CNT value computed as min(*N*, the largest EXP_CNT value). | |
38 lgkmcnt_sat(<*N*>) An LGKM_CNT value computed as min(*N*, the largest LGKM_CNT value). | |
39 ====================== ====================================================================== | |
40 | |
41 These values may be specified in any order. Spaces, ampersands and commas may be used as optional separators. | |
42 | |
43 *N* is either an | |
44 :ref:`integer number<amdgpu_synid_integer_number>` or an | |
45 :ref:`absolute expression<amdgpu_synid_absolute_expression>`. | |
46 | |
47 Examples: | |
48 | |
49 .. parsed-literal:: | |
50 | |
51 vm_cnt = 1 | |
52 exp_cnt = 2 | |
53 lgkm_cnt = 3 | |
54 cnt = vm_cnt | (exp_cnt << 4) | (lgkm_cnt << 8) | |
55 | |
56 s_waitcnt cnt | |
57 s_waitcnt 1 | (2 << 4) | (3 << 8) // the same as above | |
58 s_waitcnt vmcnt(1) expcnt(2) lgkmcnt(3) // the same as above | |
59 s_waitcnt vmcnt(vm_cnt) expcnt(exp_cnt) lgkmcnt(lgkm_cnt) // the same as above | |
60 | |
61 s_waitcnt vmcnt(1) | |
62 s_waitcnt expcnt(2) lgkmcnt(3) | |
63 s_waitcnt vmcnt(1), expcnt(2), lgkmcnt(3) | |
64 s_waitcnt vmcnt(1) & lgkmcnt_sat(100) & expcnt(2) | |
65 |