Changes between Version 19 and Version 20 of GcnInstrsVop1


Ignore:
Timestamp:
05/20/16 22:00:21 (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnInstrsVop1

    v19 v20  
    10971097    F += 1.0
    10981098VDST = F</code></p>
     1099<h4>V_CEIL_F64</h4>
     1100<p>Opcode VOP1: 24 (0x18) for GCN 1.1/1.2<br />
     1101Opcode VOP3A: 408 (0x198) for GCN 1.1; 344 (0x158) for GCN 1.2<br />
     1102Syntax: V_CEIL_F64 VDST(2), SRC0(2)<br />
     1103Description: Truncate double floating point valu from SRC0 with rounding to
     1104positive infinity (ceilling), and store result to VDST. Implemented by flooring.
     1105If SRC0 is infinity or NaN then copy SRC0 to VDST.<br />
     1106Operation:<br />
     1107<code>DOUBLE F = FLOOR(ASDOUBLE(SRC0))
     1108if (ASDOUBLE(SRC0) &gt; 0.0 &amp;&amp; ASDOUBLE(SRC0) != F)
     1109    F += 1.0
     1110VDST = F</code></p>
    10991111<h4>V_CLREXCP</h4>
    11001112<p>Opcode VOP1: 65 (0x41) for GCN 1.0/1.1; 53 (0x35) for GCN 1.2<br />
     
    13471359Operation:<br />
    13481360<code>VDST = FLOOR(ASFLOAT(SRC0))</code></p>
     1361<h4>V_FLOOR_F64</h4>
     1362<p>Opcode VOP1: 26 (0x1a) for GCN 1.1/1.2<br />
     1363Opcode VOP3A: 410 (0x19a) for GCN 1.1; 346 (0x15a) for GCN 1.2<br />
     1364Syntax: V_FLOOR_F64 VDST(2), SRC0(2)<br />
     1365Description: Truncate double floating point value SRC0 with rounding to positive infinity
     1366(flooring), and store result to VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST.<br />
     1367Operation:<br />
     1368<code>VDST = FLOOR(ASDOUBLE(SRC0))</code></p>
    13491369<h4>V_FRACT_F32</h4>
    13501370<p>Opcode VOP1: 32 (0x20) for GCN 1.0/1.1; 27 (0x1b) for GCN 1.2<br />
     
    15891609Description: Round floating point value SRC0 to nearest even integer, and store result to
    15901610VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST.<br />
    1591 Operation:
     1611Operation:<br />
    15921612<code>VDST = RNDNE(ASFLOAT(SRC0))</code></p>
     1613<h4>V_RNDNE_F64</h4>
     1614<p>Opcode VOP1: 25 (0x19) for GCN 1.1/1.2<br />
     1615Opcode VOP3A: 409 (0x199) for GCN 1.1; 345 (0x159) for GCN 1.2<br />
     1616Syntax: V_RNDNE_F64 VDST(2), SRC0(2)<br />
     1617Description: Round double floating point value SRC0 to nearest even integer,
     1618and store result to VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST.<br />
     1619Operation:<br />
     1620<code>VDST = RNDNE(ASDOUBLE(SRC0))</code></p>
    15931621<h4>V_RSQ_CLAMP_F32</h4>
    15941622<p>Opcode VOP1: 44 (0x2c) for GCN 1.0/1.1<br />
     
    16901718Operation:<br />
    16911719<code>VDST = RNDTZ(ASFLOAT(SRC0))</code></p>
     1720<h4>V_TRUNC_F64</h4>
     1721<p>Opcode VOP1: 23 (0x17) for GCN 1.1/1.2<br />
     1722Opcode VOP3A: 407 (0x197) for GCN 1.1; 343 (0x157) for GCN 1.2<br />
     1723Syntax: V_TRUNC_F64 VDST(2), SRC0(2)<br />
     1724Description: Get integer value from double floating point value SRC0, and store (as float)
     1725it to VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST.<br />
     1726Operation:<br />
     1727<code>VDST = RNDTZ(ASDOUBLE(SRC0))</code></p>
    16921728}}}