Changes between Version 21 and Version 22 of GcnOperands


Ignore:
Timestamp:
12/29/17 08:00:29 (6 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnOperands

    v21 v22  
    44<h3>Operand encoding</h3>
    55<p>The GCN1.0/1.1 delivers maximum 104 registers (with VCC). Basic list of destination
    6 scalar operands have 128 entries. Source operands codes is in range 0-255.</p>
     6scalar operands have 128 entries. The source operands codes is in range 0-255.</p>
    77<p><strong>Important</strong>: Two SGPR's must be aligned to 2. Four or more SGPR's must be aligned to 4.
    8 This rule do not apply to vector instruction where is more complex rule:
    9 SGPR's can be unaligned only if SGPR register range do not cross line (4 SGPR registers).</p>
     8This rule do not apply to the vector instruction where is more complex rule:
     9SGPR's can be unaligned only if SGPR register range do not cross a line (4 SGPR registers).</p>
    1010<p>Following list describes all operand codes values:</p>
    1111<table>
     
    296296</table>
    297297<h3>Operand syntax</h3>
    298 <p>Single operands can be given by their name: <code>s0</code>, <code>v54</code>. CLRX assemblers accepts syntax with
     298<p>THe Single operands can be given by their name: <code>s0</code>, <code>v54</code>.
     299CLRX assembler accepts the syntax with
    299300brackets: <code>s[0]</code>, <code>s[z]</code>, <code>v[66]</code>. In many instructions operands are
    30030164-bit, 96-bit or even 128-bit. These operands consists several registers that can be
    301302expressed by ranges: <code>v[3:4]</code>, <code>s[8:11]</code>, <code>s[16:23]</code>, where second value is
    302303last register's number.</p>
    303 <p>Names of the registers are case-insensitive.</p>
    304 <p>Constant values are automatically resolved if expression have already value.
     304<p>The names of the registers are case-insensitive.</p>
     305<p>The constant values are automatically resolved if an expression have already value.
    305306The 1/(2*PI), 1.0, -2.0 and other floating point constant values will be
    306307resolved if that accurate floating point value will be given.</p>