Changes between Version 11 and Version 12 of GcnInstrsSmem


Ignore:
Timestamp:
11/24/17 22:00:27 (6 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnInstrsSmem

    v11 v12  
    13031303Operation:<br />
    13041304<code>SDATA = CLOCKCNT</code></p>
     1305<h4>S_SCRATCH_LOAD_DWORD</h4>
     1306<p>Opcode: 5 (0x5) only for GCN 1.4<br />
     1307Syntax: S_SCRATCH_LOAD_DWORD SDATA, SBASE(2), SGPROFFSET OFFSET:OFFSET<br />
     1308Description: Load single dword from read-only memory through constant cache (kcache).<br />
     1309Operation:<br />
     1310<code>SDATA = *(UINT32*)(SMEM + (OFFSET &amp; ~3) + (SGPROFFSET &amp; ~3)*64)</code></p>
     1311<h4>S_SCRATCH_LOAD_DWORDX2</h4>
     1312<p>Opcode: 6 (0x6) only for GCN 1.4<br />
     1313Syntax: S_SCRATCH_LOAD_DWORDX2 SDATA, SBASE(2), SGPROFFSET OFFSET:OFFSET<br />
     1314Description: Load two dwords from read-only memory through constant cache (kcache).<br />
     1315Operation:<br />
     1316<code>SDATA = *(UINT64*)(SMEM + (OFFSET &amp; ~3) + (SGPROFFSET &amp; ~3)*64)</code></p>
     1317<h4>S_SCRATCH_LOAD_DWORDX4</h4>
     1318<p>Opcode: 7 (0x7) only for GCN 1.4<br />
     1319Syntax: S_SCRATCH_LOAD_DWORDX4 SDATA, SBASE(2), SGPROFFSET OFFSET:OFFSET<br />
     1320Description: Load four dwords from read-only memory through constant cache (kcache).<br />
     1321Operation:<br />
     1322<code>for (BYTE i = 0; i &lt; 4; i++)
     1323    SDATA[i] = *(UINT32*)(SMEM + i*4 + (OFFSET &amp; ~3) + (SGPROFFSET &amp; ~3)*64)</code></p>
     1324<h4>S_SCRATCH_STORE_DWORD</h4>
     1325<p>Opcode: 21 (0x15) only for GCN 1.4<br />
     1326Syntax: S_SCRATCH_STORE_DWORD SDATA, SBASE(2), SGPROFFSET OFFSET:OFFSET<br />
     1327Description: Store single dword to memory.<br />
     1328Operation:<br />
     1329<code>*(UINT32*)(SMEM + (OFFSET &amp; ~3) + (SGPROFFSET &amp; ~3)*64) = SDATA</code></p>
     1330<h4>S_SCRATCH_STORE_DWORDX2</h4>
     1331<p>Opcode: 22 (0x16) only for GCN 1.4<br />
     1332Syntax: S_SCRATCH_STORE_DWORDX2 SDATA(2), SBASE(2), SGPROFFSET OFFSET:OFFSET<br />
     1333Description: Store two dwords to memory.<br />
     1334Operation:<br />
     1335<code>*(UINT64*)(SMEM + (OFFSET &amp; ~3) + (SGPROFFSET &amp; ~3)*64) = SDATA</code></p>
     1336<h4>S_SCRATCH_STORE_DWORDX4</h4>
     1337<p>Opcode: 23 (0x17) only for GCN 1.4<br />
     1338Syntax: S_SCRATCH_STORE_DWORDX4 SDATA(4), SBASE(2), SGPROFFSET OFFSET:OFFSET<br />
     1339Description: Store four dwords to memory.<br />
     1340Operation:<br />
     1341<code>for (BYTE i = 0; i &lt; 4; i++)
     1342    *(UINT32*)(SMEM + i*4 + (OFFSET &amp; ~3) + (SGPROFFSET &amp; ~3)*64) = SDATA[i]</code></p>
    13051343<h4>S_STORE_DWORD</h4>
    13061344<p>Opcode: 16 (0x10)<br />