Changes between Version 10 and Version 11 of GcnInstrsVop1


Ignore:
Timestamp:
11/29/15 17:00:16 (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnInstrsVop1

    v10 v11  
    10721072<h3>Instruction set</h3>
    10731073<p>Alphabetically sorted instruction list:</p>
     1074<h4>V_BFREV_B32</h4>
     1075<p>Opcode VOP1: 56 (0x38) for GCN 1.0/1.1; 44 (0x2c) for GCN 1.2<br />
     1076Opcode VOP3A: 440 (0x1b8) for GCN 1.0/1.1; 364 (0x16c) for GCN 1.2<br />
     1077Syntax: V_BFREV_B32 VDST, SRC0<br />
     1078Reverse bits in SRC0 and store result to VDST.<br />
     1079Operation:<br />
     1080<code>VDST = REVBIT(SRC0)</code></p>
    10741081<h4>V_CEIL_F32</h4>
    10751082<p>Opcode VOP1: 34 (0x22) for GCN 1.0/1.1; 29 (0x1d) for GCN 1.2<br />
     
    12871294else
    12881295    VDST = 0.0</code></p>
     1296<h4>V_FFBH_U32</h4>
     1297<p>Opcode VOP1: 57 (0x39) for GCN 1.0/1.1; 45 (0x2d) for GCN 1.2<br />
     1298Opcode VOP3A: 441 (0x1b9) for GCN 1.0/1.1; 365 (0x16d) for GCN 1.2<br />
     1299Syntax: V_FFBH_U32 VDST, SRC0<br />
     1300Description: Find last one bit in SRC0. If found, store number of skipped bits to VDST,
     1301otherwise set VDST to -1.<br />
     1302Operation:<br />
     1303<code>VDST = -1
     1304for (INT8 i = 31; i &gt;= 0; i--)
     1305    if ((1U&lt;&lt;i) &amp; SRC0) != 0)
     1306    { VDST = 31-i; break; }</code></p>
     1307<h4>V_FFBL_B32</h4>
     1308<p>Opcode VOP1: 58 (0x3a) for GCN 1.0/1.1; 46 (0x2e) for GCN 1.2<br />
     1309Opcode VOP3A: 442 (0x1ba) for GCN 1.0/1.1; 366 (0x16e) for GCN 1.2<br />
     1310Syntax: V_FFBL_B32 VDST, SRC0<br />
     1311Description: Find first one bit in SRC0. If found, store number of bit to VDST,
     1312otherwise set VDST to -1.<br />
     1313Operation:<br />
     1314<code>VDST = -1
     1315for (UINT8 i = 0; i &lt; 32; i++)
     1316    if ((1U&lt;&lt;i) &amp; SRC0) != 0)
     1317    { VDST = i; break; }</code></p>
     1318<h4>V_FFBH_I32</h4>
     1319<p>Opcode VOP1: 59 (0x3b) for GCN 1.0/1.1; 47 (0x2f) for GCN 1.2<br />
     1320Opcode VOP3A: 443 (0x1bb) for GCN 1.0/1.1; 367 (0x16f) for GCN 1.2<br />
     1321Syntax: V_FFBH_I32 VDST, SRC0<br />
     1322Description: Find last opposite bit to sign in SRC0. If found, store number of skipped bits
     1323to VDST, otherwise set VDST to -1.<br />
     1324Operation:<br />
     1325<code>VDST = -1
     1326UINT32 bitval = (INT32)SRC0&gt;=0 ? 1 : 0
     1327for (INT8 i = 31; i &gt;= 0; i--)
     1328    if ((1U&lt;&lt;i) &amp; SRC0) == (bitval&lt;&lt;i))
     1329    { VDST = 31-i; break; }</code></p>
    12891330<h4>V_FLOOR_F32</h4>
    12901331<p>Opcode VOP1: 36 (0x24) for GCN 1.0/1.1; 31 (0x1f) for GCN 1.2<br />
     
    13611402Syntax: V_NOP<br />
    13621403Description: Do nothing.</p>
     1404<h4>V_NOT_B32</h4>
     1405<p>Opcode VOP1: 55 (0x37) for GCN 1.0/1.1; 43 (0x2b) for GCN 1.2<br />
     1406Opcode VOP3A: 439 (0x1b7) for GCN 1.0/1.1; 363 (0x16b) for GCN 1.2<br />
     1407Syntax: V_NOT_B32 VDST, SRC0<br />
     1408Description: Do bitwise negation on 32-bit SRC0, and store result to VDST.
     1409Operation:<br />
     1410<code>VDST = ~SRC0</code></p>
    13631411<h4>V_RCP_CLAMP_F32</h4>
    13641412<p>Opcode VOP1: 40 (0x28) for GCN 1.0/1.1<br />