VirtualBox

Changeset 94678 in vbox for trunk/src


Ignore:
Timestamp:
Apr 21, 2022 11:53:49 PM (3 years ago)
Author:
vboxsync
Message:

libs/softfloat: Implemented a 387-style fscale function. bugref:9898

Location:
trunk/src/libs/softfloat-3e
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/softfloat-3e/Makefile.kmk

    r94638 r94678  
    269269        source/extF80_partialRem.c \
    270270        source/extF80_sqrt.c \
     271        source/extF80_scale_extF80.c \
    271272        source/extF80_eq.c \
    272273        source/extF80_le.c \
  • trunk/src/libs/softfloat-3e/source/include/internals.h

    r94558 r94678  
    4949#ifdef SOFTFLOAT_FAST_INT64
    5050union extF80M_extF80 { struct extFloat80M fM; extFloat80_t f; };
     51# define EXTF80M_EXTF80_INIT( a_signExp, a_signif )        { EXTFLOAT80M_INIT( a_signExp, a_signif ) }         /* VBox */
     52# define EXTF80M_EXTF80_INIT3( a_sign, a_signif, a_exp )   { EXTFLOAT80M_INIT3( a_sign, a_signif, a_exp ) }    /* VBox */
     53# define EXTF80M_EXTF80_INIT_C( a_signExp, a_signif )      { EXTFLOAT80M_INIT_C( a_signExp, a_signif ) }       /* VBox */
     54# define EXTF80M_EXTF80_INIT3_C( a_sign, a_signif, a_exp ) { EXTFLOAT80M_INIT3_C( a_sign, a_signif, a_exp ) }  /* VBox */
    5155union ui128_f128 { struct uint128 ui; float128_t f; };
    5256#endif
  • trunk/src/libs/softfloat-3e/source/include/softfloat.h

    r94638 r94678  
    106106#else /* VBox: Match X86_FSW_?E */
    107107    softfloat_flag_invalid   = 1<<0 /**< X86_FSW_IE */,
    108     //softfloat_flag_ X86_FSW_DE          RT_BIT_32(1)
     108    softfloat_flag_denormal  = 1<<1 /**< X86_FSW_DE - only returned by some VBox specific functions */,
    109109    softfloat_flag_infinite  = 1<<2 /**< X86_FSW_ZE */,
    110110    softfloat_flag_overflow  = 1<<3 /**< X86_FSW_OE */,
     
    300300                                uint16_t *pfCxFlags, softfloat_state_t *pState );                       /* VBox: FPREM/FPREM1 */
    301301extFloat80_t extF80_sqrt( extFloat80_t SOFTFLOAT_STATE_DECL_COMMA );
     302extFloat80_t extF80_scale_extF80( extFloat80_t, extFloat80_t SOFTFLOAT_STATE_DECL_COMMA );
    302303bool extF80_eq( extFloat80_t, extFloat80_t SOFTFLOAT_STATE_DECL_COMMA );
    303304bool extF80_le( extFloat80_t, extFloat80_t SOFTFLOAT_STATE_DECL_COMMA );
  • trunk/src/libs/softfloat-3e/source/include/softfloat_types.h

    r94606 r94678  
    6060#ifdef LITTLEENDIAN
    6161struct extFloat80M { uint64_t signif; uint16_t signExp; };
     62# define EXTFLOAT80M_INIT( a_signExp, a_signif )    { a_signif, a_signExp }                             /* VBox */
    6263#else
    6364struct extFloat80M { uint16_t signExp; uint64_t signif; };
     65# define EXTFLOAT80M_INIT( a_signExp, a_signif )    { a_signExp, a_signif }                             /* VBox */
    6466#endif
     67#define EXTFLOAT80M_INIT_C( a_signExp, a_signif )   EXTFLOAT80M_INIT( a_signExp, UINT64_C( a_signif ) ) /* VBox */
     68#define EXTFLOAT80M_INIT3( a_sign, a_signif, a_exp ) \
     69    EXTFLOAT80M_INIT( packToExtF80UI64( a_sign, a_exp ), a_signif)                                      /* VBox */
     70#define EXTFLOAT80M_INIT3_C( a_sign, a_signif, a_exp ) \
     71    EXTFLOAT80M_INIT3( a_sign, UINT64_C( a_signif ), a_exp )                                            /* VBox */
    6572
    6673/*----------------------------------------------------------------------------
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