mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-19 08:24:12 +00:00
MIRLangRef: Add documentation for the subregister indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247005 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1fd577388c
commit
0aeea88439
@ -380,7 +380,8 @@ Register Operands
|
||||
The :ref:`register <registers>` primitive is used to represent the register
|
||||
machine operands. The register operands can also have optional
|
||||
:ref:`register flags <register-flags>`,
|
||||
a subregister index, and a reference to the tied register operand.
|
||||
:ref:`a subregister index <subregister-indices>`,
|
||||
and a reference to the tied register operand.
|
||||
The full syntax of a register operand is shown below:
|
||||
|
||||
.. code-block:: llvm
|
||||
@ -435,6 +436,23 @@ corresponding internal ``llvm::RegState`` representation:
|
||||
* - ``debug-use``
|
||||
- ``RegState::Debug``
|
||||
|
||||
.. _subregister-indices:
|
||||
|
||||
Subregister Indices
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The register machine operands can reference a portion of a register by using
|
||||
the subregister indices. The example below shows an instance of the ``COPY``
|
||||
pseudo instruction that uses the X86 ``sub_8bit`` subregister index to copy 8
|
||||
lower bits from the 32-bit virtual register 0 to the 8-bit virtual register 1:
|
||||
|
||||
.. code-block:: llvm
|
||||
|
||||
%1 = COPY %0:sub_8bit
|
||||
|
||||
The names of the subregister indices are target specific, and are typically
|
||||
defined in the target's ``*RegisterInfo.td`` file.
|
||||
|
||||
Global Value Operands
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@ -458,7 +476,6 @@ the '@' prefix, like in the following examples: ``@0``, ``@989``.
|
||||
are missing.
|
||||
.. TODO: Describe the syntax for the bundled instructions.
|
||||
.. TODO: Describe the syntax for virtual register YAML definitions.
|
||||
.. TODO: Describe the syntax of the subregisters.
|
||||
.. TODO: Describe the machine function's YAML flag attributes.
|
||||
.. TODO: Describe the syntax for the external symbol and register
|
||||
mask machine operands.
|
||||
|
Loading…
x
Reference in New Issue
Block a user