Changes between Version 9 and Version 10 of GcnInstrsSmrd
- Timestamp:
- 07/19/17 20:00:27 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GcnInstrsSmrd
v9 v10 148 148 SBASE is buffer descriptor.<br /> 149 149 Operation:<br /> 150 <code>SDST = *(UINT32*)(SMRD + (OFFSET & 3))</code></p>150 <code>SDST = *(UINT32*)(SMRD + (OFFSET & ~3))</code></p> 151 151 <h4>S_BUFFER_LOAD_DWORDX16</h4> 152 152 <p>Opcode: 12 (0xc)<br /> … … 156 156 Operation:<br /> 157 157 <code>for (BYTE i = 0; i < 16; i++) 158 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & 3))</code></p>158 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & ~3))</code></p> 159 159 <h4>S_BUFFER_LOAD_DWORDX2</h4> 160 160 <p>Opcode: 9 (0x9)<br /> … … 163 163 SBASE is buffer descriptor.<br /> 164 164 Operation:<br /> 165 <code>SDST = *(UINT64*)(SMRD + (OFFSET & 3))</code></p>165 <code>SDST = *(UINT64*)(SMRD + (OFFSET & ~3))</code></p> 166 166 <h4>S_BUFFER_LOAD_DWORDX4</h4> 167 167 <p>Opcode: 10 (0xa)<br /> … … 171 171 Operation:<br /> 172 172 <code>for (BYTE i = 0; i < 4; i++) 173 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & 3))</code></p>173 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & ~3))</code></p> 174 174 <h4>S_BUFFER_LOAD_DWORDX8</h4> 175 175 <p>Opcode: 11 (0xb)<br /> … … 179 179 Operation:<br /> 180 180 <code>for (BYTE i = 0; i < 8; i++) 181 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & 3))</code></p>181 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & ~3))</code></p> 182 182 <h4>S_DCACHE_INV</h4> 183 183 <p>Opcode: 31 (0x1f)<br /> … … 193 193 Description: Load single dword from read-only memory through constant cache (kcache).<br /> 194 194 Operation:<br /> 195 <code>SDST = *(UINT32*)(SMRD + (OFFSET & 3))</code></p>195 <code>SDST = *(UINT32*)(SMRD + (OFFSET & ~3))</code></p> 196 196 <h4>S_LOAD_DWORDX16</h4> 197 197 <p>Opcode: 4 (0x4)<br /> … … 200 200 Operation:<br /> 201 201 <code>for (BYTE i = 0; i < 16; i++) 202 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & 3))</code></p>202 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & ~3))</code></p> 203 203 <h4>S_LOAD_DWORDX2</h4> 204 204 <p>Opcode: 1 (0x1)<br /> 205 205 Syntax: S_LOAD_DWORDX2 SDST(2), SBASE(2), OFFSET<br /> 206 206 Description: Load two dwords from read-only memory through constant cache (kcache).<br /> 207 <code>SDST = *(UINT64*)(SMRD + (OFFSET & 3))</code></p>207 <code>SDST = *(UINT64*)(SMRD + (OFFSET & ~3))</code></p> 208 208 <h4>S_LOAD_DWORDX4</h4> 209 209 <p>Opcode: 2 (0x2)<br /> … … 212 212 Operation:<br /> 213 213 <code>for (BYTE i = 0; i < 4; i++) 214 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & 3))</code></p>214 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & ~3))</code></p> 215 215 <h4>S_LOAD_DWORDX8</h4> 216 216 <p>Opcode: 3 (0x3)<br /> … … 219 219 Operation:<br /> 220 220 <code>for (BYTE i = 0; i < 8; i++) 221 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & 3))</code></p>221 SDST[i] = *(UINT32*)(SMRD + i*4 + (OFFSET & ~3))</code></p> 222 222 <h4>S_MEMTIME</h4> 223 223 <p>Opcode: 30 (0x1e)<br />