mediaop.isa (8588:ef28ed90449d) | mediaop.isa (8946:fb6c89334b86) |
---|---|
1/// Copyright (c) 2009 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 1390 unchanged lines hidden (view full) --- 1399 doubleInt di; 1400 di.i = arg1Bits; 1401 arg1 = di.d; 1402 di.i = arg2Bits; 1403 arg2 = di.d; 1404 } 1405 1406 uint64_t resBits = 0; | 1/// Copyright (c) 2009 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 1390 unchanged lines hidden (view full) --- 1399 doubleInt di; 1400 di.i = arg1Bits; 1401 arg1 = di.d; 1402 di.i = arg2Bits; 1403 arg2 = di.d; 1404 } 1405 1406 uint64_t resBits = 0; |
1407 bool nanop = isnan(arg1) || isnan(arg2); | 1407 bool nanop = std::isnan(arg1) || std::isnan(arg2); |
1408 switch (ext & mask(3)) { 1409 case 0: 1410 if (arg1 == arg2 && !nanop) 1411 resBits = mask(sizeBits); 1412 break; 1413 case 1: 1414 if (arg1 < arg2 && !nanop) 1415 resBits = mask(sizeBits); --- 71 unchanged lines hidden (view full) --- 1487 // ZF PF CF 1488 // Unordered 1 1 1 1489 // Greater than 0 0 0 1490 // Less than 0 0 1 1491 // Equal 1 0 0 1492 // OF = SF = AF = 0 1493 ccFlagBits = ccFlagBits & ~(OFBit | SFBit | AFBit | 1494 ZFBit | PFBit | CFBit); | 1408 switch (ext & mask(3)) { 1409 case 0: 1410 if (arg1 == arg2 && !nanop) 1411 resBits = mask(sizeBits); 1412 break; 1413 case 1: 1414 if (arg1 < arg2 && !nanop) 1415 resBits = mask(sizeBits); --- 71 unchanged lines hidden (view full) --- 1487 // ZF PF CF 1488 // Unordered 1 1 1 1489 // Greater than 0 0 0 1490 // Less than 0 0 1 1491 // Equal 1 0 0 1492 // OF = SF = AF = 0 1493 ccFlagBits = ccFlagBits & ~(OFBit | SFBit | AFBit | 1494 ZFBit | PFBit | CFBit); |
1495 if (isnan(arg1) || isnan(arg2)) | 1495 if (std::isnan(arg1) || std::isnan(arg2)) |
1496 ccFlagBits = ccFlagBits | (ZFBit | PFBit | CFBit); 1497 else if(arg1 < arg2) 1498 ccFlagBits = ccFlagBits | CFBit; 1499 else if(arg1 == arg2) 1500 ccFlagBits = ccFlagBits | ZFBit; 1501 ''' 1502}}; | 1496 ccFlagBits = ccFlagBits | (ZFBit | PFBit | CFBit); 1497 else if(arg1 < arg2) 1498 ccFlagBits = ccFlagBits | CFBit; 1499 else if(arg1 == arg2) 1500 ccFlagBits = ccFlagBits | ZFBit; 1501 ''' 1502}}; |