Changes between Version 45 and Version 46 of ClrxAsmPseudoOps


Ignore:
Timestamp:
02/15/25 22:21:23 (4 weeks ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ClrxAsmPseudoOps

    v45 v46  
    99<h3>.32bit</h3>
    1010<p>This pseudo-operation should to be at begin of source.
    11 Choose 32-bit binaries (it have meaningful for the AMD Catalyst and GalliumCompute
     11Choose 32-bit binaries (it has meaningful for the AMD Catalyst and GalliumCompute
    1212binary format). For AMD Catalyst OpenCL 1.2 and 2.0 format, it determines
    1313bitness of address. For GalliumCompute, it determines bitness of inner ELF binary.
     
    1515<h3>.64bit</h3>
    1616<p>This pseudo-operation should to be at begin of source.
    17 Choose 64-bit binaries (it have meaningful for the AMD Catalyst and GalliumCompute
     17Choose 64-bit binaries (it has meaningful for the AMD Catalyst and GalliumCompute
    1818binary format). For AMD Catalyst OpenCL 1.2 and 2.0 format, it determines
    1919bitness of address. For GalliumCompute, it determines bitness of inner ELF binary.
     
    7878<p>This pseudo-operation should to be at begin of source. Set GPU architecture.
    7979One of following architecture can be set:
    80 SI, VI, CI, VEGA, VEGA20, GFX6, GFX7, GFX8, GFX9, GFX906, GCN1.0, GCN1.1, GCN1.2,
    81 GCN1.4 and GCN1.4.1.</p>
     80SI, VI, CI, VEGA, VEGA20, Navi, NaviDL, GFX6, GFX7, GFX8, GFX9, GFX906, GFX10, GFX1011,
     81GCN1.0, GCN1.1, GCN1.2, GCN1.4, GCN1.4.1, GCN1.5, GCN1.5.1.</p>
    8282<h3>.ascii</h3>
    8383<p>Syntax: .ascii "STRING",....</p>
     
    9999<h3>.byte</h3>
    100100<p>Syntax: .byte ABS-EXPR,....</p>
    101 <p>Emit byte values. If any expression is empty then an assembler stores
     101<p>Emit byte values. If any expression is empty then the assembler stores
    1021020 and warns about empty expression. If expression will give a value that can not be stored
    103 in byte then an assembler warn about that.</p>
     103in byte then the assembler warn about that.</p>
    104104<h3>.data</h3>
    105105<p>Go to <code>.data</code> section. If this section doesn't exist assembler create it.</p>
     
    107107<p>Syntax: .double DOUBLE-VAL,...</p>
    108108<p>Put double-precision floating point values into current section.
    109 If no value between comma then an assembler stores 0 and warn about no value.
     109If no value between comma then the assembler stores 0 and warn about no value.
    110110This pseudo-operation accepts only double precision floating point literals.</p>
    111111<h3>.else</h3>
     
    292292<td>VEGA20 (GFX906)</td>
    293293</tr>
     294<tr>
     295<td>5</td>
     296<td>NAVI (RX 5700)</td>
     297</tr>
     298<tr>
     299<td>6</td>
     300<td>NAVI DL</td>
     301</tr>
    294302</tbody>
    295303</table>
     
    457465<td>29</td>
    458466<td>gfx907 (Radeon VEGA 20 ???)</td>
     467</tr>
     468<tr>
     469<td>30</td>
     470<td>gfx1000</td>
     471</tr>
     472<tr>
     473<td>31</td>
     474<td>gfx1010</td>
     475</tr>
     476<tr>
     477<td>32</td>
     478<td>gfx1011</td>
    459479</tr>
    460480</tbody>
     
    482502Goose, Hainan, Hawaii, Horse, Iceland, Kalindi, Mullins, Oland, Pitcairn, Polaris10,
    483503Polaris11, Polaris12, Polaris20, Polaris21, Polaris22, Raven, Spectre, Spooky, Stoney,
    484 Tahiti, Tonga, Topaz, Vega10, Vega11, Vega12 and Vega20.</p>
     504Tahiti, Tonga, Topaz, Vega10, Vega11, Vega12, Vega20, GFX1000, GFX1010, GFX1011, Navi10.</p>
    485505<h3>.half</h3>
    486506<p>Syntax: .half HALF-VAL,...</p>
    487507<p>Emit half-precision floating point values.
    488 If no value between comma then an assembler stores 0 and warn about no value.
     508If no value between comma then the assembler stores 0 and warn about no value.
    489509This pseudo-operation accepts only half precision floating point literals.</p>
    490510<h3>.hword, .short</h3>
    491511<p>Syntax: .hword ABS-EXPR,....
    492512Syntax: .short ABS-EXPR,....</p>
    493 <p>Emit 2-byte word values. If any expression is empty then an assembler
     513<p>Emit 2-byte word values. If any expression is empty then the assembler
    494514stores 0 and warns about empty expression. If expression will give a value that can not be
    495 stored in 2-byte word then an assembler warn about that.</p>
     515stored in 2-byte word then the assembler warn about that.</p>
    496516<h3>.ifXXX</h3>
    497517<p>Syntax: .if ABS-EXPR<br />
     
    602622<p>Syntax: .int ABS-EXPR,....<br />
    603623Syntax: .long ABS-EXPR,....</p>
    604 <p>Emit 4-byte word values. If any expression is empty then an assembler
     624<p>Emit 4-byte word values. If any expression is empty then the assembler
    605625stores 0 and warns about empty expression. If expression will give a value that can not be
    606 stored in 4-byte word then an assembler warn about that.</p>
     626stored in 4-byte word then the assembler warn about that.</p>
    607627<h3>.kernel</h3>
    608628<p>Syntax: .kernel KERNELNAME</p>
     
    632652macro1 Linux # define LinuxSymbol=10</code></p>
    633653<p>That substitution is useful to create labels and symbols that can not be redefined.
    634 Value of the argument is string. Optionally, argument can have the default value
     654Value of the argument is string. Optionally, argument can has the default value
    635655which will be used if no argument value is not given in a macro call.</p>
    636656<p>List of the argument definition:</p>
     
    698718<h3>.octa</h3>
    699719<p>Syntax: .octa OCTA-LITERAL,...</p>
    700 <p>Emit 128-bit word values. If no value between comma then an assembler stores 0 and warn
     720<p>Emit 128-bit word values. If no value between comma then the assembler stores 0 and warn
    701721about no value. This pseudo-operation accepts only 128-bit word literals.</p>
    702722<h3>.offset, .struct</h3>
     
    731751<h3>.quad</h3>
    732752<p>Syntax: .quad ABS-EXPR,....</p>
    733 <p>Emit 8-byte word values. If any expression is empty then an assembler
     753<p>Emit 8-byte word values. If any expression is empty then the assembler
    734754stores 0 and warns about empty expression.</p>
    735755<h3>.rawcode</h3>
     
    766786inside scopes and visible inside them. The assembler create always global scope at begin.
    767787If scope doesn't exists then will be created. The nested scopes are allowed even
    768 if parent scope is temporary scope. The opened scope have parent that is previous scope.
     788if parent scope is temporary scope. The opened scope has parent that is previous scope.
    769789Temporary scopes exists until first close.</p>
    770790<h3>.section</h3>
     
    831851<h3>.weak</h3>
    832852<p>Syntax: .weak SYMBOL,...</p>
    833 <p>Indicates that symbols will be a weak. Currently, unused feature of the symbol by
     853<p>Indicates that symbols will be weak. Currently, unused feature of the symbol by
    834854the CLRX assembler.</p>
    835855<h3>.while</h3>
     
    850870<p>Syntax: .word ABS-EXPR,....</p>
    851871<p>Emit processor's word values. If any expression is empty then
    852 an assembler stores 0 and warns about empty expression. If expression will give a value
    853 that can not be stored in processor's word then an assembler warn about that.</p>
    854 <p>Processor's word have always 4 bytes.</p>
     872the assembler stores 0 and warns about empty expression. If expression will give a value
     873that can not be stored in processor's word then the assembler warn about that.</p>
     874<p>Processor's word has always 4 bytes.</p>
    855875}}}