VirtualBox

Ignore:
Timestamp:
Mar 3, 2011 1:48:16 PM (14 years ago)
Author:
vboxsync
Message:

rem: Re-synced to svn://svn.savannah.nongnu.org/qemu/trunk@5495 (repo UUID c046a42c-6fe2-441c-8c8c-71466251a162).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/fpu/softfloat-native.c

    r21292 r36140  
    77{
    88    STATUS(float_rounding_mode) = val;
    9 #if defined(_BSD) && !defined(__APPLE__) || (defined(HOST_SOLARIS) && (HOST_SOLARIS < 10 || HOST_SOLARIS == 11))
     9#if defined(_BSD) && !defined(__APPLE__) || (defined(HOST_SOLARIS) && (HOST_SOLARIS < 10 || HOST_SOLARIS == 11)) /* VBOX adds sol 11 */
    1010    fpsetround(val);
    1111#elif defined(__arm__)
     
    6161#endif
    6262
    63 #if defined(_ARCH_PPC)
     63#if defined(__powerpc__)
    6464
    6565/* correct (but slow) PowerPC rint() (glibc version is incorrect) */
    66 static double qemu_rint(double x)
     66double qemu_rint(double x)
    6767{
    6868    double y = 4503599627370496.0;
     
    230230{
    231231    if (a < b) {
    232         return float_relation_less;
     232        return -1;
    233233    } else if (a == b) {
    234         return float_relation_equal;
     234        return 0;
    235235    } else if (a > b) {
    236         return float_relation_greater;
    237     } else {
    238         return float_relation_unordered;
     236        return 1;
     237    } else {
     238        return 2;
    239239    }
    240240}
     
    242242{
    243243    if (isless(a, b)) {
    244         return float_relation_less;
     244        return -1;
    245245    } else if (a == b) {
    246         return float_relation_equal;
     246        return 0;
    247247    } else if (isgreater(a, b)) {
    248         return float_relation_greater;
    249     } else {
    250         return float_relation_unordered;
     248        return 1;
     249    } else {
     250        return 2;
    251251    }
    252252}
     
    258258    a = u.i;
    259259    return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF );
    260 }
    261 
    262 int float32_is_nan( float32 a1 )
    263 {
    264     float32u u;
    265     uint64_t a;
    266     u.f = a1;
    267     a = u.i;
    268     return ( 0xFF800000 < ( a<<1 ) );
    269260}
    270261
     
    401392{
    402393    if (a < b) {
    403         return float_relation_less;
     394        return -1;
    404395    } else if (a == b) {
    405         return float_relation_equal;
     396        return 0;
    406397    } else if (a > b) {
    407         return float_relation_greater;
    408     } else {
    409         return float_relation_unordered;
     398        return 1;
     399    } else {
     400        return 2;
    410401    }
    411402}
     
    413404{
    414405    if (isless(a, b)) {
    415         return float_relation_less;
     406        return -1;
    416407    } else if (a == b) {
    417         return float_relation_equal;
     408        return 0;
    418409    } else if (isgreater(a, b)) {
    419         return float_relation_greater;
    420     } else {
    421         return float_relation_unordered;
     410        return 1;
     411    } else {
     412        return 2;
    422413    }
    423414}
     
    441432    a = u.i;
    442433
    443     return ( LIT64( 0xFFF0000000000000 ) < (bits64) ( a<<1 ) );
     434    return ( LIT64( 0xFFE0000000000000 ) < (bits64) ( a<<1 ) );
    444435
    445436}
     
    493484{
    494485    if (a < b) {
    495         return float_relation_less;
     486        return -1;
    496487    } else if (a == b) {
    497         return float_relation_equal;
     488        return 0;
    498489    } else if (a > b) {
    499         return float_relation_greater;
    500     } else {
    501         return float_relation_unordered;
     490        return 1;
     491    } else {
     492        return 2;
    502493    }
    503494}
     
    505496{
    506497    if (isless(a, b)) {
    507         return float_relation_less;
     498        return -1;
    508499    } else if (a == b) {
    509         return float_relation_equal;
     500        return 0;
    510501    } else if (isgreater(a, b)) {
    511         return float_relation_greater;
    512     } else {
    513         return float_relation_unordered;
     502        return 1;
     503    } else {
     504        return 2;
    514505    }
    515506}
    516507int floatx80_is_signaling_nan( floatx80 a1)
    517 {
    518     floatx80u u;
    519     uint64_t aLow;
    520     u.f = a1;
    521 
    522     aLow = u.i.low & ~ LIT64( 0x4000000000000000 );
    523     return
    524            ( ( u.i.high & 0x7FFF ) == 0x7FFF )
    525         && (bits64) ( aLow<<1 )
    526         && ( u.i.low == aLow );
    527 }
    528 
    529 int floatx80_is_nan( floatx80 a1 )
    530508{
    531509    floatx80u u;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette