Changes between Version 18 and Version 19 of ClrxAsmRocm


Ignore:
Timestamp:
Feb 7, 2018, 10:00:37 PM (3 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ClrxAsmRocm

    v18 v19  
    3737<p>Syntax: .arch_minor ARCH_STEPPING</p>
    3838<p>Set architecture stepping number.</p>
     39<h3>.arg</h3>
     40<p>Syntax arg: .arg [NAME][, "TYPENAME"], SIZE, [ALIGN], VALUEKIND, VALUETYPE[,POINTEEALIGN][, ADDRSPACE][,ACCQUAL][,ACTACCQUAL] [FLAG1] [FLAG2]...</p>
     41<p>This pseudo-op must be inside kernel configuration (<code>.config</code>).
     42Define kernel argument in metadata info. The argument name, type name, alignment are
     43optional. The ADDRSPACE is address space and it present only if value kind is
     44<code>globalbuf</code> or <code>dynshptr</code>. The POINTEEALIGN is pointee alignment in bytes and it present
     45only if value kind is <code>dynshptr</code>. The ACCQUAL defines access qualifier and it present
     46only if value kind is <code>image</code> or <code>pipe</code>. The ACTACCQUAL defines actual access qualifier
     47and it present only if value kind is <code>image</code>, <code>pipe</code> or <code>globalbuf</code>.
     48The FLAGS is list of flags delimited by spaces.</p>
     49<p>The list of value kinds:</p>
     50<ul>
     51<li>complact - hidden competion action</li>
     52<li>defqueue -hidden default command queue</li>
     53<li>dynshptr - dynamic shared pointer (local, private)</li>
     54<li>globalbuf - global buffer</li>
     55<li>gox, globaloffsetx - hidden global offset x</li>
     56<li>goy, globaloffsety - hidden global offset y</li>
     57<li>goz, globaloffsetz - hidden global offset z</li>
     58<li>image - image object</li>
     59<li>none - hidden none to make space between arguments</li>
     60<li>pipe - OpenCL 2.0 pipe object</li>
     61<li>printfbuf - hidden printf buffer</li>
     62<li>queue - command queue</li>
     63<li>sampler - image sampler</li>
     64<li>value - ByValue - argument holds value (integer, floats)</li>
     65</ul>
     66<p>The list of value types:</p>
     67<ul>
     68<li>i8, char - signed 8-bit integer</li>
     69<li>i16, short - signed 16-bit integer</li>
     70<li>i32, int - signed 32-bit integer</li>
     71<li>i64, long - signed 64-bit integer</li>
     72<li>u8, uchar - unsigned 8-bit integer</li>
     73<li>u16, ushort - unsigned 16-bit integer</li>
     74<li>u32, uint - unsigned 32-bit integer</li>
     75<li>u64, ulong - unsigned 64-bit integer</li>
     76<li>f16, half - 16-bit half floating point</li>
     77<li>f32, float - 32-bit single floating point</li>
     78<li>f64, double - 64-bit double floating point</li>
     79<li>struct - structure</li>
     80</ul>
     81<p>The list of address spaces:</p>
     82<ul>
     83<li>constant - constant space (???)</li>
     84<li>generic - generic (global or scratch or local)</li>
     85<li>global - global memory</li>
     86<li>local - local memory</li>
     87<li>private - private memory</li>
     88<li>region - ???</li>
     89</ul>
     90<p>This list of access qualifiers:</p>
     91<ul>
     92<li>default - default access qualifier</li>
     93<li>read_only - read only</li>
     94<li>read_write - read and write</li>
     95<li>write_only - write only</li>
     96</ul>
     97<p>This list of flags:</p>
     98<ul>
     99<li>const - constant value (only for global buffer)</li>
     100<li>restrict - restrict value (only for global buffer)</li>
     101<li>volatile - volatile (only for global buffer)</li>
     102<li>pipe - only for pipe value kind</li>
     103</ul>
    39104<h3>.call_convention</h3>
    40105<p>Syntax: .call_convention CALL_CONV</p>