Changes between Version 18 and Version 19 of GcnInstrsVop1
- Timestamp:
- 12/06/15 00:00:16 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GcnInstrsVop1
v18 v19 1116 1116 else if (ABS(SF)==INF) 1117 1117 VDST = -NAN 1118 else if ( ABS(SF)==NAN)1118 else if (ISNAN(SF)) 1119 1119 VDST = SRC0</code></p> 1120 1120 <h4>V_CVT_F16_F32</h4> … … 1220 1220 Operation:<br /> 1221 1221 <code>FLOAT SF = ASFLOAT(SF) 1222 if ( ABS(SF)!=NAN)1222 if (!ISNAN(SF)) 1223 1223 VDST = (INT32)MAX(MIN(FLOOR(SF), 2147483647.0), -2147483648.0) 1224 1224 else … … 1234 1234 Operation:<br /> 1235 1235 <code>VDST = 0 1236 if ( ABS(ASFLOAT(SRC0))!=NAN)1236 if (!ISNAN(ASFLOAT(SRC0))) 1237 1237 VDST = (INT32)MAX(MIN(RNDTZINT(ASFLOAT(SRC0)), 2147483647.0), -2147483648.0)</code></p> 1238 1238 <h4>V_CVT_I32_F64</h4> … … 1246 1246 Operation:<br /> 1247 1247 <code>VDST = 0 1248 if ( ABS(ASDOUBLE(SRC0))!=NAN)1248 if (!ISNAN(ASDOUBLE(SRC0))) 1249 1249 VDST = (INT32)MAX(MIN(RNDTZINT(ASDOUBLE(SRC0)), 2147483647.0), -2147483648.0)</code></p> 1250 1250 <h4>V_CVT_OFF_F32_I4</h4> … … 1266 1266 Operation:<br /> 1267 1267 <code>FLOAT SF = ASFLOAT(SRC0) 1268 if ( ABS(SF)!=NAN)1268 if (!ISNAN(SF)) 1269 1269 VDST = (INT32)MAX(MIN(FLOOR(SF + 0.5), 2147483647.0), -2147483648.0) 1270 1270 else … … 1280 1280 Operation:<br /> 1281 1281 <code>VDST = 0 1282 if ( ABS(ASFLOAT(SRC0))!=NAN)1282 if (!ISNAN(ASFLOAT(SRC0))) 1283 1283 VDST = (UINT32)MIN(RNDTZINT(ASFLOAT(SRC0)), 4294967295.0)</code></p> 1284 1284 <h4>V_CVT_U32_F64</h4> … … 1292 1292 Operation:<br /> 1293 1293 <code>VDST = 0 1294 if ( ABS(ASDOUBLE(SRC0))!=NAN)1294 if (!ISNAN(ASDOUBLE(SRC0))) 1295 1295 VDST = (UINT32)MIN(RNDTZINT(ASDOUBLE(SRC0)), 4294967295.0)</code></p> 1296 1296 <h4>V_EXP_F32</h4> … … 1356 1356 Operation:<br /> 1357 1357 <code>FLOAT SF = ASFLOAT(SRC0) 1358 if ( ABS(SF)!=NAN&& SF!=-INF && SF!=INF)1358 if (!ISNAN(SF) && SF!=-INF && SF!=INF) 1359 1359 VDST = SF - FLOOR(ASFLOAT(SF)) 1360 1360 else … … 1369 1369 Operation:<br /> 1370 1370 <code>FLOAT SD = ASDOUBLE(SRC0) 1371 if ( ABS(SD)!=NAN&& SD!=-INF && SD!=INF)1371 if (!ISNAN(SD) && SD!=-INF && SD!=INF) 1372 1372 VDST = SD - FLOOR(ASDOUBLE(SD)) 1373 1373 else … … 1382 1382 Operation:<br /> 1383 1383 <code>FLOAT SF = ASFLOAT(SRC0) 1384 if (ABS(SF) != INF || ABS(SF) != NAN)1384 if (ABS(SF) != INF && !ISNAN(SF)) 1385 1385 VDST = FREXP_EXP(SF) 1386 1386 else … … 1395 1395 Operation:<br /> 1396 1396 <code>DOUBLE SD = ASDOUBLE(SRC0) 1397 if (ABS(SD) != INF || ABS(SD) != NAN)1397 if (ABS(SD) != INF && !ISNAN(SD)) 1398 1398 VDST = FREXP_EXP(SD) 1399 1399 else … … 1409 1409 if (ABS(SF) == INF) 1410 1410 VDST = -NAN 1411 else if ( ABS(SF) != NAN)1411 else if (!ISNAN(SF)) 1412 1412 VDST = FREXP_MANT(SF) * SIGN(SF) 1413 1413 else … … 1423 1423 if (ABS(SD) == INF) 1424 1424 VDST = -NAN 1425 else if ( ABS(SD) != NAN)1425 else if (!ISNAN(SD)) 1426 1426 VDST = FREXP_MANT(SD) * SIGN(SD) 1427 1427 else … … 1657 1657 else if (ABS(SF)==INF) 1658 1658 VDST = -NAN 1659 else if ( ABS(SF)==NAN)1659 else if (ISNAN(SF)) 1660 1660 VDST = SRC0</code></p> 1661 1661 <h4>V_SQRT_F32</h4>