Changes between Version 24 and Version 25 of GcnInstrsDs
- Timestamp:
- 11/28/17 08:00:27 (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GcnInstrsDs
v24 v25 90 90 <th>GCN 1.1</th> 91 91 <th>Mnemonic (GCN 1.0/1.1)</th> 92 <th>Mnemonic (GCN 1.2 )</th>92 <th>Mnemonic (GCN 1.2/1.4)</th> 93 93 </tr> 94 94 </thead> … … 2053 2053 <p>Opcode: 59 (0x3b)<br /> 2054 2054 Syntax: DS_READ_I16 VDST, ADDR [OFFSET:OFFSET]<br /> 2055 Description: Read signed 16-bit word from LDS/GDS at address (ADDR+OFFSET) & ~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)&~1))</code></p> 2055 Description: Read signed 16-bit word from LDS/GDS at address (ADDR+OFFSET) & ~1 or 2056 (ADDR+OFFSET) for GCN 1.4, store into VDST. The value's sign will be extended to higher bits.<br /> 2057 Operation:<br /> 2058 <code>if (GCN14) 2059 VDST = (INT32)*(INT16*)(DS + (ADDR+OFFSET)) 2060 else 2061 VDST = (INT32)*(INT16*)(DS + ((ADDR+OFFSET)&~1))</code></p> 2059 2062 <h4>DS_READ_I8</h4> 2060 2063 <p>Opcode: 57 (0x39)<br /> … … 2067 2070 <p>Opcode: 60 (0x3c)<br /> 2068 2071 Syntax: DS_READ_U16 VDST, ADDR [OFFSET:OFFSET]<br /> 2069 Description: Read unsigned 16-bit word from LDS/GDS at address (ADDR+OFFSET) & ~1, 2070 store into VDST.<br /> 2071 Operation:<br /> 2072 <code>VDST = *(UINT16*)(DS + ((ADDR+OFFSET)&~1))</code></p> 2072 Description: Read unsigned 16-bit word from LDS/GDS at address (ADDR+OFFSET) & ~1 or 2073 (ADDR+OFFSET) for GCN 1.4, store into VDST.<br /> 2074 Operation:<br /> 2075 <code>if (GCN14) 2076 VDST = *(UINT16*)(DS + (ADDR+OFFSET)) 2077 else 2078 VDST = *(UINT16*)(DS + ((ADDR+OFFSET)&~1))</code></p> 2073 2079 <h4>DS_READ_U8</h4> 2074 2080 <p>Opcode: 58 (0x3a)<br /> … … 2278 2284 <p>Opcode: 31 (0x1f)<br /> 2279 2285 Syntax: DS_WRITE_B16 ADDR, VDATA0 [OFFSET:OFFSET]<br /> 2280 Description: Store low 16 bits from VDATA0 into LDS/GDS at address (ADDR+OFFSET) & 1.<br /> 2281 Operation:<br /> 2282 <code>UINT16* V = (UINT16*)(DS + (ADDR+OFFSET)&~1) 2286 Description: Store low 16 bits from VDATA0 into LDS/GDS at address (ADDR+OFFSET) & 1 2287 or (ADDR+OFFSET) for GCN 1.4.<br /> 2288 Operation:<br /> 2289 <code>UINT16* V 2290 if (GCN14) 2291 V = (UINT16*)(DS + ADDR+OFFSET) 2292 else 2293 V = (UINT16*)(DS + (ADDR+OFFSET)&~1) 2283 2294 *V = VDATA0&0xffff</code></p> 2284 2295 <h4>DS_WRITE_B32</h4>