Fixing @llvm.memcpy not honoring volatile.
[llvm-core.git] / docs / AMDGPU / gfx10_msg.rst
blobd56daa5c240dcee6096b76e906e4a76bb1d7d4f0
1 ..
2     **************************************************
3     *                                                *
4     *   Automatically generated file, do not edit!   *
5     *                                                *
6     **************************************************
8 .. _amdgpu_synid10_msg:
10 msg
11 ===========================
13 A 16-bit message code. The bits of this operand have the following meaning:
15     ============ ======================================================
16     Bits         Description
17     ============ ======================================================
18     3:0          Message *type*.
19     6:4          Optional *operation*.
20     9:7          Optional *parameters*.
21     15:10        Unused.
22     ============ ======================================================
24 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     Syntax                                   Description
28     ======================================== ========================================================================
29     sendmsg(<*type*>)                        A message identified by its *type*.
30     sendmsg(<*type*>, <*op*>)                A message identified by its *type* and *operation*.
31     sendmsg(<*type*>, <*op*>, <*stream*>)    A message identified by its *type* and *operation* with a stream *id*.
32     ======================================== ========================================================================
34 *Type* may be specified using message *name* or message *id*.
36 *Op* may be specified using operation *name* or operation *id*.
38 Stream *id* is an integer in the range 0..3.
40 Message *id*, operation *id* and stream *id* must be specified as positive :ref:`integer numbers<amdgpu_synid_integer_number>`.
42 Each message type supports specific operations:
44     ================= ========== ============================== ============ ==========
45     Message name      Message Id Supported Operations           Operation Id Stream Id
46     ================= ========== ============================== ============ ==========
47     MSG_INTERRUPT     1          \-                             \-           \-
48     MSG_GS            2          GS_OP_CUT                      1            Optional
49     \                            GS_OP_EMIT                     2            Optional
50     \                            GS_OP_EMIT_CUT                 3            Optional
51     MSG_GS_DONE       3          GS_OP_NOP                      0            \-
52     \                            GS_OP_CUT                      1            Optional
53     \                            GS_OP_EMIT                     2            Optional
54     \                            GS_OP_EMIT_CUT                 3            Optional
55     MSG_GS_ALLOC_REQ  9          \-                             \-           \-
56     MSG_SYSMSG        15         SYSMSG_OP_ECC_ERR_INTERRUPT    1            \-
57     \                            SYSMSG_OP_REG_RD               2            \-
58     \                            SYSMSG_OP_HOST_TRAP_ACK        3            \-
59     \                            SYSMSG_OP_TTRACE_PC            4            \-
60     ================= ========== ============================== ============ ==========
62 Examples:
64 .. parsed-literal::
66     s_sendmsg 0x12
67     s_sendmsg sendmsg(MSG_INTERRUPT)
68     s_sendmsg sendmsg(2, GS_OP_CUT)
69     s_sendmsg sendmsg(MSG_GS, GS_OP_EMIT)
70     s_sendmsg sendmsg(MSG_GS, 2)
71     s_sendmsg sendmsg(MSG_GS_DONE, GS_OP_EMIT_CUT, 1)
72     s_sendmsg sendmsg(MSG_SYSMSG, SYSMSG_OP_TTRACE_PC)