[llvm-readelf] - Allow dumping dynamic symbols when there is no program headers.
[llvm-complete.git] / docs / AMDGPU / gfx9_hwreg.rst
blob7ebb38b42fe01ffa3bb41a738c87a5bf0a1feb0e
1 ..
2     **************************************************
3     *                                                *
4     *   Automatically generated file, do not edit!   *
5     *                                                *
6     **************************************************
8 .. _amdgpu_synid9_hwreg:
10 hwreg
11 ===========================
13 Bits of a hardware register being accessed.
15 The bits of this operand have the following meaning:
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     ============ ===================================
25 This operand may be specified as a positive 16-bit :ref:`integer_number<amdgpu_synid_integer_number>` or using the syntax described below.
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     ==================================== ============================================================================
36 Register *id*, *offset* and *size* must be specified as positive :ref:`integer numbers<amdgpu_synid_integer_number>`.
38 Defined register *names* include:
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     HW_REG_SH_MEM_BASES Memory aperture.
51     =================== ==========================================
53 Examples:
55 .. parsed-literal::
57     s_getreg_b32 s2, 0x6
58     s_getreg_b32 s2, hwreg(15)
59     s_getreg_b32 s2, hwreg(51, 1, 31)
60     s_getreg_b32 s2, hwreg(HW_REG_LDS_ALLOC, 0, 1)