Changes between Version 31 and Version 32 of ClrxAsmGallium


Ignore:
Timestamp:
Feb 3, 2018, 5:00:31 PM (3 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ClrxAsmGallium

    v31 v32  
    2222<p>Order of these parts doesn't matter.</p>
    2323<p>Kernel function should to be aligned to 256 byte boundary.</p>
     24<h2>Relocations</h2>
     25<p>A CLRX assembler handles relocations to scratch symbol (<code>.scratchsym</code> pseudo-op).
     26These relocations can be applied to places that accepts
     2732-bit literal immediates. Only two types of relocations is allowed:</p>
     28<ul>
     29<li><code>place</code>, <code>place&amp;0xffffffff</code>, <code>place%0x10000000</code>, <code>place%%0x10000000</code> -
     30low 32 bits of value</li>
     31<li><code>place&gt;&gt;32</code>, <code>place/0x100000000</code>, <code>place//0x100000000</code> - high 32 bits of value</li>
     32</ul>
     33<p>The <code>place</code> indicates an expression with scratch symbol. Additional offsets
     34are not accepted (only same scratch symbol).</p>
     35<p>Examples:</p>
     36<p><code>s_mov_b32       s13, scratchsym&gt;&gt;32
     37s_mov_b32       s12, scratchsym&amp;0xffffffff</code></p>
    2438<h2>Register usage setup</h2>
    2539<p>The CLRX assembler automatically sets number of used VGPRs and number of used SGPRs.