Changes between Version 18 and Version 19 of GcnInstrsVop1


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

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnInstrsVop1

    v18 v19  
    11161116else if (ABS(SF)==INF)
    11171117    VDST = -NAN
    1118 else if (ABS(SF)==NAN)
     1118else if (ISNAN(SF))
    11191119    VDST = SRC0</code></p>
    11201120<h4>V_CVT_F16_F32</h4>
     
    12201220Operation:<br />
    12211221<code>FLOAT SF = ASFLOAT(SF)
    1222 if (ABS(SF)!=NAN)
     1222if (!ISNAN(SF))
    12231223    VDST = (INT32)MAX(MIN(FLOOR(SF), 2147483647.0), -2147483648.0)
    12241224else
     
    12341234Operation:<br />
    12351235<code>VDST = 0
    1236 if (ABS(ASFLOAT(SRC0))!=NAN)
     1236if (!ISNAN(ASFLOAT(SRC0)))
    12371237    VDST = (INT32)MAX(MIN(RNDTZINT(ASFLOAT(SRC0)), 2147483647.0), -2147483648.0)</code></p>
    12381238<h4>V_CVT_I32_F64</h4>
     
    12461246Operation:<br />
    12471247<code>VDST = 0
    1248 if (ABS(ASDOUBLE(SRC0))!=NAN)
     1248if (!ISNAN(ASDOUBLE(SRC0)))
    12491249    VDST = (INT32)MAX(MIN(RNDTZINT(ASDOUBLE(SRC0)), 2147483647.0), -2147483648.0)</code></p>
    12501250<h4>V_CVT_OFF_F32_I4</h4>
     
    12661266Operation:<br />
    12671267<code>FLOAT SF = ASFLOAT(SRC0)
    1268 if (ABS(SF)!=NAN)
     1268if (!ISNAN(SF))
    12691269    VDST = (INT32)MAX(MIN(FLOOR(SF + 0.5), 2147483647.0), -2147483648.0)
    12701270else
     
    12801280Operation:<br />
    12811281<code>VDST = 0
    1282 if (ABS(ASFLOAT(SRC0))!=NAN)
     1282if (!ISNAN(ASFLOAT(SRC0)))
    12831283    VDST = (UINT32)MIN(RNDTZINT(ASFLOAT(SRC0)), 4294967295.0)</code></p>
    12841284<h4>V_CVT_U32_F64</h4>
     
    12921292Operation:<br />
    12931293<code>VDST = 0
    1294 if (ABS(ASDOUBLE(SRC0))!=NAN)
     1294if (!ISNAN(ASDOUBLE(SRC0)))
    12951295    VDST = (UINT32)MIN(RNDTZINT(ASDOUBLE(SRC0)), 4294967295.0)</code></p>
    12961296<h4>V_EXP_F32</h4>
     
    13561356Operation:<br />
    13571357<code>FLOAT SF = ASFLOAT(SRC0)
    1358 if (ABS(SF)!=NAN &amp;&amp; SF!=-INF &amp;&amp; SF!=INF)
     1358if (!ISNAN(SF) &amp;&amp; SF!=-INF &amp;&amp; SF!=INF)
    13591359    VDST = SF - FLOOR(ASFLOAT(SF))
    13601360else
     
    13691369Operation:<br />
    13701370<code>FLOAT SD = ASDOUBLE(SRC0)
    1371 if (ABS(SD)!=NAN &amp;&amp; SD!=-INF &amp;&amp; SD!=INF)
     1371if (!ISNAN(SD) &amp;&amp; SD!=-INF &amp;&amp; SD!=INF)
    13721372    VDST = SD - FLOOR(ASDOUBLE(SD))
    13731373else
     
    13821382Operation:<br />
    13831383<code>FLOAT SF = ASFLOAT(SRC0)
    1384 if (ABS(SF) != INF || ABS(SF) != NAN)
     1384if (ABS(SF) != INF &amp;&amp; !ISNAN(SF))
    13851385    VDST = FREXP_EXP(SF)
    13861386else
     
    13951395Operation:<br />
    13961396<code>DOUBLE SD = ASDOUBLE(SRC0)
    1397 if (ABS(SD) != INF || ABS(SD) != NAN)
     1397if (ABS(SD) != INF &amp;&amp; !ISNAN(SD))
    13981398    VDST = FREXP_EXP(SD)
    13991399else
     
    14091409if (ABS(SF) == INF)
    14101410    VDST = -NAN
    1411 else if (ABS(SF) != NAN)
     1411else if (!ISNAN(SF))
    14121412    VDST = FREXP_MANT(SF) * SIGN(SF)
    14131413else
     
    14231423if (ABS(SD) == INF)
    14241424    VDST = -NAN
    1425 else if (ABS(SD) != NAN)
     1425else if (!ISNAN(SD))
    14261426    VDST = FREXP_MANT(SD) * SIGN(SD)
    14271427else
     
    16571657else if (ABS(SF)==INF)
    16581658    VDST = -NAN
    1659 else if (ABS(SF)==NAN)
     1659else if (ISNAN(SF))
    16601660    VDST = SRC0</code></p>
    16611661<h4>V_SQRT_F32</h4>