Changeset 3753 in CLRX


Ignore:
Timestamp:
Feb 7, 2018, 9:21:18 PM (17 months ago)
Author:
matszpk
Message:

CLRadeonExtender: CLRXDocs: Add '.arg' description for ROCm.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/doc/ClrxAsmRocm.md

    r3752 r3753  
    5252
    5353Set architecture stepping number.
     54
     55### .arg
     56
     57Syntax arg: .arg [NAME]\[, "TYPENAME"], SIZE, [ALIGN], VALUEKIND, VALUETYPE[,POINTEEALIGN]\[, ADDRSPACE]\[,ACCQUAL]\[,ACTACCQUAL] \[FLAG1\] \[FLAG2\]...
     58
     59This pseudo-op must be inside kernel configuration (`.config`).
     60Define kernel argument in metadata info. The argument name, type name, alignment are
     61optional. The ADDRSPACE is address space and it present only if value kind is
     62`globalbuf` or `dynshptr`. The POINTEEALIGN is pointee alignment in bytes and it present
     63only if value kind is `dynshptr`. The ACCQUAL defines access qualifier and it present
     64only if value kind is `image` or `pipe`. The ACTACCQUAL defines actual access qualifier
     65and it present only if value kind is `image`, `pipe` or `globalbuf`.
     66The FLAGS is list of flags delimited by spaces.
     67
     68The list of value kinds:
     69
     70* complact - hidden competion action
     71* defqueue -hidden default command queue
     72* dynshptr - dynamic shared pointer (local, private)
     73* globalbuf - global buffer
     74* gox, globaloffsetx - hidden global offset x
     75* goy, globaloffsety - hidden global offset y
     76* goz, globaloffsetz - hidden global offset z
     77* image - image object
     78* none - hidden none to make space between arguments
     79* pipe - OpenCL 2.0 pipe object
     80* printfbuf - hidden printf buffer
     81* queue - command queue
     82* sampler - image sampler
     83* value - ByValue - argument holds value (integer, floats)
     84
     85The list of value types:
     86
     87* i8, char - signed 8-bit integer
     88* i16, short - signed 16-bit integer
     89* i32, int - signed 32-bit integer
     90* i64, long - signed 64-bit integer
     91* u8, uchar - unsigned 8-bit integer
     92* u16, ushort - unsigned 16-bit integer
     93* u32, uint - unsigned 32-bit integer
     94* u64, ulong - unsigned 64-bit integer
     95* f16, half - 16-bit half floating point
     96* f32, float - 32-bit single floating point
     97* f64, double - 64-bit double floating point
     98* struct - structure
     99
     100The list of address spaces:
     101
     102* constant - constant space (???)
     103* generic - generic (global or scratch or local)
     104* global - global memory
     105* local - local memory
     106* private - private memory
     107* region - ???
     108
     109This list of access qualifiers:
     110
     111* default - default access qualifier
     112* read_only - read only
     113* read_write - read and write
     114* write_only - write only
     115
     116This list of flags:
     117
     118* const - constant value (only for global buffer)
     119* restrict - restrict value (only for global buffer)
     120* volatile - volatile (only for global buffer)
     121* pipe - only for pipe value kind
    54122
    55123### .call_convention
Note: See TracChangeset for help on using the changeset viewer.