| 154 | <h4>S_AND_B32</h4> |
| 155 | <p>Opcode: 14 (0xe)<br /> |
| 156 | Syntax: S_AND_B32 SDST, SSRC0, SSRC1<br /> |
| 157 | Description: Do bitwise AND operation on SSRC0 and SSRC1 and store it to SDST, and store |
| 158 | 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 159 | Operation: |
| 160 | <code>SDST = SSRC0 & SSRC1 |
| 161 | SCC = (SSRC0 & SSRC1)!=0</code></p> |
| 162 | <h4>S_AND_B64</h4> |
| 163 | <p>Opcode: 15 (0xf)<br /> |
| 164 | Syntax: S_AND_B64 SDST(2), SSRC0(2), SSRC1(2)<br /> |
| 165 | Description: Do bitwise AND operation on SSRC0 and SSRC1 and store it to SDST, and store |
| 166 | 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 167 | Operation: |
| 168 | <code>SDST = SSRC0 & SSRC1 |
| 169 | SCC = (SSRC0 & SSRC1)!=0</code></p> |
| 170 | <h4>S_ANDN2_B32</h4> |
| 171 | <p>Opcode: 20 (0x14)<br /> |
| 172 | Syntax: S_ANDN2_B32 SDST, SSRC0, SSRC1<br /> |
| 173 | Description: Do bitwise AND operation on SSRC0 and negated SSRC1 and store it to SDST, |
| 174 | and store 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 175 | Operation: |
| 176 | <code>SDST = SSRC0 & ~SSRC1 |
| 177 | SCC = (SSRC0 & ~SSRC1)!=0</code></p> |
| 178 | <h4>S_ANDN2_B64</h4> |
| 179 | <p>Opcode: 21 (0x15)<br /> |
| 180 | Syntax: S_ANDN2_B64 SDST(2), SSRC0(2), SSRC1(2)<br /> |
| 181 | Description: Do bitwise AND operation on SSRC0 and bitwise negated SSRC1 and store |
| 182 | it to SDST, and store 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 183 | Operation: |
| 184 | <code>SDST = SSRC0 & ~SSRC1 |
| 185 | SCC = (SSRC0 & ~SSRC1)!=0</code></p> |
| 186 | <h4>S_CSELECT_B32</h4> |
| 187 | <p>Opcode: 10 (0xa)<br /> |
| 188 | Syntax: S_CSELECT_B32 SDST, SSRC0, SSRC1<br /> |
| 189 | Description: If SCC is 1 then store SSRC0 into SDST, otherwise store SSRC1 into SDST. |
| 190 | SCC has not been changed.<br /> |
| 191 | Operation: |
| 192 | <code>SDST = SCC ? SSRC0 : SSRC1</code></p> |
| 193 | <h4>S_CSELECT_B64</h4> |
| 194 | <p>Opcode: 11 (0xb)<br /> |
| 195 | Syntax: S_CSELECT_B32 SDST(2), SSRC0(2), SSRC1(2)<br /> |
| 196 | Description: If SCC is 1 then store 64-bit SSRC0 into SDST, otherwise store |
| 197 | 64-bit SSRC1 into SDST. SCC has not been changed.<br /> |
| 198 | Operation: |
| 199 | <code>SDST = SCC ? SSRC0 : SSRC1</code></p> |
| 216 | <h4>S_MAX_I32</h4> |
| 217 | <p>Opcode: 8 (0x9) |
| 218 | Syntax: S_MIN_I32 SDST, SSRC0, SSRC1<br /> |
| 219 | Description: Choose largest signed value value from SSRC0 and SSRC1 and store its into SDST, |
| 220 | and store 1 to SCC if SSSRC0 value has been choosen, otherwise store 0 to SCC<br /> |
| 221 | Operation:<br /> |
| 222 | <code>SDST = (INT32)SSSRC0>(INT32)SSSRC1 ? SSSRC0 : SSSRC1 |
| 223 | SCC = (INT32)SSSRC0>(INT32)SSSRC1</code></p> |
| 224 | <h4>S_MAX_U32</h4> |
| 225 | <p>Opcode: 9 (0x9)<br /> |
| 226 | Syntax: S_MAX_U32 SDST, SSRC0, SSRC1<br /> |
| 227 | Description: Choose largest unsigned value value from SSRC0 and SSRC1 and store its into SDST, |
| 228 | and store 1 to SCC if SSSRC0 value has been choosen, otherwise store 0 to SCC<br /> |
| 229 | Operation:<br /> |
| 230 | <code>SDST = (UINT32)SSSRC0>(UINT32)SSSRC1 ? SSSRC0 : SSSRC1 |
| 231 | SCC = (UINT32)SSSRC0>(UINT32)SSSRC1</code></p> |
| 232 | <h4>S_OR_B32</h4> |
| 233 | <p>Opcode: 16 (0x10)<br /> |
| 234 | Syntax: S_OR_B32 SDST, SSRC0, SSRC1<br /> |
| 235 | Description: Do bitwise OR operation on SSRC0 and SSRC1 and store it to SDST, and store |
| 236 | 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 237 | Operation: |
| 238 | <code>SDST = SSRC0 | SSRC1 |
| 239 | SCC = (SSRC0 | SSRC1)!=0</code></p> |
| 240 | <h4>S_OR_B64</h4> |
| 241 | <p>Opcode: 17 (0x11)<br /> |
| 242 | Syntax: S_OR_B64 SDST(2), SSRC0(2), SSRC1(2)<br /> |
| 243 | Description: Do bitwise OR operation on SSRC0 and SSRC1 and store it to SDST, and store |
| 244 | 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 245 | Operation: |
| 246 | <code>SDST = SSRC0 | SSRC1 |
| 247 | SCC = (SSRC0 | SSRC1)!=0</code></p> |
| 248 | <h4>S_ORN2_B32</h4> |
| 249 | <p>Opcode: 22 (0x16)<br /> |
| 250 | Syntax: S_ORN2_B32 SDST, SSRC0, SSRC1<br /> |
| 251 | Description: Do bitwise OR operation on SSRC0 and negated SSRC1 and store it to SDST, |
| 252 | and store 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 253 | Operation: |
| 254 | <code>SDST = SSRC0 | ~SSRC1 |
| 255 | SCC = (SSRC0 | ~SSRC1)!=0</code></p> |
| 256 | <h4>S_ORN2_B64</h4> |
| 257 | <p>Opcode: 23 (0x17)<br /> |
| 258 | Syntax: S_ORN2_B64 SDST(2), SSRC0(2), SSRC1(2)<br /> |
| 259 | Description: Do bitwise OR operation on SSRC0 and negated SSRC1 and store it to SDST, |
| 260 | and store 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 261 | Operation: |
| 262 | <code>SDST = SSRC0 | ~SSRC1 |
| 263 | SCC = (SSRC0 | ~SSRC1)!=0</code></p> |
| 290 | <h4>S_XOR_B32</h4> |
| 291 | <p>Opcode: 18 (0x12)<br /> |
| 292 | Syntax: S_XOR_B32 SDST, SSRC0, SSRC1<br /> |
| 293 | Description: Do bitwise XOR operation on SSRC0 and SSRC1 and store it to SDST, and store |
| 294 | 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 295 | Operation:<br /> |
| 296 | <code>SDST = SSRC0 ^ SSRC1 |
| 297 | SCC = (SSRC0 ^ SSRC1)!=0</code></p> |
| 298 | <h4>S_XOR_B64</h4> |
| 299 | <p>Opcode: 19 (0x13)<br /> |
| 300 | Syntax: S_XOR_B64 SDST(2), SSRC0(2), SSRC1(2)<br /> |
| 301 | Description: Do bitwise XOR operation on SSRC0 and SSRC1 and store it to SDST, and store |
| 302 | 1 to SCC if result is not zero, otherwise store 0 to SCC.<br /> |
| 303 | Operation:<br /> |
| 304 | <code>SDST = SSRC0 ^ SSRC1 |
| 305 | SCC = (SSRC0 ^ SSRC1)!=0</code></p> |