Changes between Version 24 and Version 25 of GcnInstrsDs


Ignore:
Timestamp:
11/28/17 08:00:27 (5 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnInstrsDs

    v24 v25  
    9090<th>GCN 1.1</th>
    9191<th>Mnemonic (GCN 1.0/1.1)</th>
    92 <th>Mnemonic (GCN 1.2)</th>
     92<th>Mnemonic (GCN 1.2/1.4)</th>
    9393</tr>
    9494</thead>
     
    20532053<p>Opcode: 59 (0x3b)<br />
    20542054Syntax: DS_READ_I16 VDST, ADDR [OFFSET:OFFSET]<br />
    2055 Description: Read signed 16-bit word from LDS/GDS at address (ADDR+OFFSET) &amp; ~1,
    2056 store into VDST. The value's sign will be extended to higher bits.<br />
    2057 Operation:<br />
    2058 <code>VDST = (INT32)*(INT16*)(DS + ((ADDR+OFFSET)&amp;~1))</code></p>
     2055Description: Read signed 16-bit word from LDS/GDS at address (ADDR+OFFSET) &amp; ~1 or
     2056(ADDR+OFFSET) for GCN 1.4, store into VDST. The value's sign will be extended to higher bits.<br />
     2057Operation:<br />
     2058<code>if (GCN14)
     2059    VDST = (INT32)*(INT16*)(DS + (ADDR+OFFSET))
     2060else
     2061    VDST = (INT32)*(INT16*)(DS + ((ADDR+OFFSET)&amp;~1))</code></p>
    20592062<h4>DS_READ_I8</h4>
    20602063<p>Opcode: 57 (0x39)<br />
     
    20672070<p>Opcode: 60 (0x3c)<br />
    20682071Syntax: DS_READ_U16 VDST, ADDR [OFFSET:OFFSET]<br />
    2069 Description: Read unsigned 16-bit word from LDS/GDS at address (ADDR+OFFSET) &amp; ~1,
    2070 store into VDST.<br />
    2071 Operation:<br />
    2072 <code>VDST = *(UINT16*)(DS + ((ADDR+OFFSET)&amp;~1))</code></p>
     2072Description: Read unsigned 16-bit word from LDS/GDS at address (ADDR+OFFSET) &amp; ~1 or
     2073(ADDR+OFFSET) for GCN 1.4, store into VDST.<br />
     2074Operation:<br />
     2075<code>if (GCN14)
     2076    VDST = *(UINT16*)(DS + (ADDR+OFFSET))
     2077else
     2078    VDST = *(UINT16*)(DS + ((ADDR+OFFSET)&amp;~1))</code></p>
    20732079<h4>DS_READ_U8</h4>
    20742080<p>Opcode: 58 (0x3a)<br />
     
    22782284<p>Opcode: 31 (0x1f)<br />
    22792285Syntax: DS_WRITE_B16 ADDR, VDATA0 [OFFSET:OFFSET]<br />
    2280 Description: Store low 16 bits from VDATA0 into LDS/GDS at address (ADDR+OFFSET) &amp; 1.<br />
    2281 Operation:<br />
    2282 <code>UINT16* V = (UINT16*)(DS + (ADDR+OFFSET)&amp;~1)
     2286Description: Store low 16 bits from VDATA0 into LDS/GDS at address (ADDR+OFFSET) &amp; 1
     2287or (ADDR+OFFSET) for GCN 1.4.<br />
     2288Operation:<br />
     2289<code>UINT16* V
     2290if (GCN14)
     2291    V = (UINT16*)(DS + ADDR+OFFSET)
     2292else
     2293    V = (UINT16*)(DS + (ADDR+OFFSET)&amp;~1)
    22832294*V = VDATA0&amp;0xffff</code></p>
    22842295<h4>DS_WRITE_B32</h4>