Changes between Version 5 and Version 6 of GcnInstrsVop3


Ignore:
Timestamp:
12/06/15 21:00:18 (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnInstrsVop3

    v5 v6  
    11101110        VDST = ASFLOAT(SRC0) * ASFLOAT(SRC1)
    11111111}</code></p>
     1112<h4>V_SAD_HI_U8</h4>
     1113<p>Opcode: 347 (0x15b) for GCN 1.0/1.1; 474 (0x1da) for GCN 1.2<br />
     1114Syntax: V_SAD_HI_U8 VDST, SRC0, SRC1, SRC2<br />
     1115Description: Calculate sum of absolute differences for all four bytes in SRC0 and SRC1,
     1116shift result to high 16-bits, add SRC2 to result, and store result to VDST.<br />
     1117Operation:<br />
     1118<code>VDST = SRC2
     1119for (UINT8 i = 0; i &lt; 4; i++)
     1120    VDST += (ABS(((SRC0 &gt;&gt; (i*8)) &amp; 0xff) - ((SRC1 &gt;&gt; (i*8)) &amp; 0xff)))&lt;&lt;16</code></p>
     1121<h4>V_SAD_U16</h4>
     1122<p>Opcode: 348 (0x15c) for GCN 1.0/1.1; 475 (0x1db) for GCN 1.2<br />
     1123Syntax: V_SAD_U16 VDST, SRC0, SRC1, SRC2<br />
     1124Description: Calculate sum of absolute differences for two 16-bit words in SRC0 and SRC1, add
     1125SRC2 to result, and store result to VDST.<br />
     1126Operation:<br />
     1127<code>VDST = SRC2
     1128VDST += ABS((SRC0 &amp; 0xffff) - (SRC1 &amp; 0xffff))
     1129VDST += ABS((SRC0 &gt;&gt; 16) - (SRC1 &gt;&gt; 16))</code></p>
     1130<h4>V_SAD_U32</h4>
     1131<p>Opcode: 349 (0x15d) for GCN 1.0/1.1; 476 (0x1dc) for GCN 1.2<br />
     1132Syntax: V_SAD_U32 VDST, SRC0, SRC1, SRC2<br />
     1133Description: Calculate sum of absolute difference for SRC0 and SRC1, add
     1134SRC2 to result, and store result to VDST.<br />
     1135Operation:<br />
     1136<code>VDST = SRC2 + ABS(SRC0 - SRC1)</code></p>
     1137<h4>V_SAD_U8</h4>
     1138<p>Opcode: 346 (0x15a) for GCN 1.0/1.1; 473 (0x1d9) for GCN 1.2<br />
     1139Syntax: V_SAD_U8 VDST, SRC0, SRC1, SRC2<br />
     1140Description: Calculate sum of absolute differences for all four bytes in SRC0 and SRC1, add
     1141SRC2 to result, and store result to VDST.<br />
     1142Operation:<br />
     1143<code>VDST = SRC2
     1144for (UINT8 i = 0; i &lt; 4; i++)
     1145    VDST += ABS(((SRC0 &gt;&gt; (i*8)) &amp; 0xff) - ((SRC1 &gt;&gt; (i*8)) &amp; 0xff))</code></p>
    11121146}}}