Changes between Version 42 and Version 43 of ClrxAsmAmdCl2


Ignore:
Timestamp:
06/29/18 20:00:43 (6 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ClrxAsmAmdCl2

    v42 v43  
    4141<p>The CLRX assembler allow to use one of two ways to configure kernel setup:
    4242for human (<code>.config</code>) and for quick recompilation (kernel setup, stub, metadata content).</p>
     43<p>In HSA layout mode the kernel codes in single main code section and no code section
     44for each kernel.</p>
    4345<h2>Register usage setup</h2>
    4446<p>The CLRX assembler automatically sets number of used VGPRs and number of used SGPRs.
     
    238240<p>This pseudo-operation must be inside kernel. Go to ISA metadata content
    239241(only older driver binaries).</p>
     242<h3>.kcode</h3>
     243<p>Syntax: .kcode KERNEL1,....<br />
     244Syntax: .kcode +</p>
     245<p>Open code that will be belonging to specified kernels. By default any code between
     246two consecutive kernel labels belongs to the kernel with first label name.
     247This pseudo-operation can change membership of the code to specified kernels.
     248You can nest this <code>.kcode</code> any times. Just next .kcode adds or remove membership code
     249to kernels. The most important reason why this feature has been added is register usage
     250calculation. Any kernel given in this pseudo-operation must be already defined.</p>
     251<p>Sample usage:</p>
     252<p><code>.kcode + # this code belongs to all kernels
     253.kcodeend
     254.kcode kernel1, kernel2 #  this code belongs to kernel1, kernel2
     255    .kcode -kernel1 #  this code belongs only to kernel2 (kernel1 removed)
     256    .kcodeend
     257.kcodeend</code></p>
     258<h3>.kcodeend</h3>
     259<p>Close <code>.kcode</code> clause. Refer to <code>.kcode</code>.</p>
    240260<h3>.kernarg_segment_align</h3>
    241261<p>Syntax: .kernarg_segment_align ALIGN</p>
     
    528548....
    529549/*bf810000         */ s_endpgm
    530 .p2align
     550.p2align 8
    531551DCT2:
    532552.skip 256   # setup kernel skip