]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - docs/AMDGPU/gfx8_hwreg.rst
Vendor import of llvm trunk r351319 (just before the release_80 branch
[FreeBSD/FreeBSD.git] / docs / AMDGPU / gfx8_hwreg.rst
1 ..
2     **************************************************
3     *                                                *
4     *   Automatically generated file, do not edit!   *
5     *                                                *
6     **************************************************
7
8 .. _amdgpu_synid8_hwreg:
9
10 hwreg
11 ===========================
12
13 Bits of a hardware register being accessed.
14
15 The bits of this operand have the following meaning:
16
17     ============ ===================================
18     Bits         Description
19     ============ ===================================
20     5:0          Register *id*.
21     10:6         First bit *offset* (0..31).
22     15:11        *Size* in bits (1..32).
23     ============ ===================================
24
25 This operand may be specified as a positive 16-bit :ref:`integer_number<amdgpu_synid_integer_number>` or using the syntax described below.
26
27     ==================================== ============================================================================
28     Syntax                               Description
29     ==================================== ============================================================================
30     hwreg({0..63})                       All bits of a register indicated by its *id*.
31     hwreg(<*name*>)                      All bits of a register indicated by its *name*.
32     hwreg({0..63}, {0..31}, {1..32})     Register bits indicated by register *id*, first bit *offset* and *size*.
33     hwreg(<*name*>, {0..31}, {1..32})    Register bits indicated by register *name*, first bit *offset* and *size*.
34     ==================================== ============================================================================
35
36 Register *id*, *offset* and *size* must be specified as positive :ref:`integer numbers<amdgpu_synid_integer_number>`.
37
38 Defined register *names* include:
39
40     =================== ==========================================
41     Name                Description
42     =================== ==========================================
43     HW_REG_MODE         Shader writeable mode bits.
44     HW_REG_STATUS       Shader read-only status.
45     HW_REG_TRAPSTS      Trap status.
46     HW_REG_HW_ID        Id of wave, simd, compute unit, etc.
47     HW_REG_GPR_ALLOC    Per-wave SGPR and VGPR allocation.
48     HW_REG_LDS_ALLOC    Per-wave LDS allocation.
49     HW_REG_IB_STS       Counters of outstanding instructions.
50     =================== ==========================================
51
52 Examples:
53
54 .. parsed-literal::
55
56     s_getreg_b32 s2, 0x6
57     s_getreg_b32 s2, hwreg(15)
58     s_getreg_b32 s2, hwreg(51, 1, 31)
59     s_getreg_b32 s2, hwreg(HW_REG_LDS_ALLOC, 0, 1)
60