diff options
author | John Hauser <jhauser@eecs.berkeley.edu> | 2015-02-19 14:09:32 -0800 |
---|---|---|
committer | John Hauser <jhauser@eecs.berkeley.edu> | 2015-02-19 14:09:32 -0800 |
commit | c07232ca9ed081c229d03c3c38e10b776d0becf8 (patch) | |
tree | a2482d5229ee7e3873e3e839068d37d3c586b522 | |
parent | 6e7b8b549aa62cc10f85ec08774c13dab74cba7c (diff) | |
download | berkeley-softfloat-3-c07232ca9ed081c229d03c3c38e10b776d0becf8.zip berkeley-softfloat-3-c07232ca9ed081c229d03c3c38e10b776d0becf8.tar.gz berkeley-softfloat-3-c07232ca9ed081c229d03c3c38e10b776d0becf8.tar.bz2 |
Fixed some bugs affecting a few processors. Reboot the official release
date (for the last time) to be 2015 Feb 16.
-rw-r--r-- | COPYING.txt | 2 | ||||
-rw-r--r-- | README.html | 2 | ||||
-rw-r--r-- | README.txt | 2 | ||||
-rw-r--r-- | doc/SoftFloat-history.html | 4 | ||||
-rw-r--r-- | doc/SoftFloat-source.html | 2 | ||||
-rw-r--r-- | doc/SoftFloat.html | 2 | ||||
-rw-r--r-- | source/extF80M_sqrt.c | 10 | ||||
-rw-r--r-- | source/extF80_sqrt.c | 10 | ||||
-rw-r--r-- | source/s_mulAddF128M.c | 10 | ||||
-rw-r--r-- | source/s_roundPackMToExtF80M.c | 12 | ||||
-rw-r--r-- | source/s_roundPackToExtF80.c | 18 | ||||
-rw-r--r-- | source/s_roundPackToF128.c | 13 | ||||
-rw-r--r-- | source/s_roundPackToF32.c | 10 | ||||
-rw-r--r-- | source/s_roundPackToF64.c | 10 | ||||
-rw-r--r-- | source/s_roundPackToI32.c | 10 | ||||
-rw-r--r-- | source/s_roundPackToI64.c | 12 | ||||
-rw-r--r-- | source/s_roundPackToUI32.c | 10 | ||||
-rw-r--r-- | source/s_roundPackToUI64.c | 12 |
18 files changed, 79 insertions, 72 deletions
diff --git a/COPYING.txt b/COPYING.txt index c226ac6..9a58114 100644 --- a/COPYING.txt +++ b/COPYING.txt @@ -2,7 +2,7 @@ License for Berkeley SoftFloat Release 3 John R. Hauser -2015 Jan 9 +2015 February 16 The following applies to the whole of SoftFloat Release 3 as well as to each source file individually. diff --git a/README.html b/README.html index 45fec86..9697cdc 100644 --- a/README.html +++ b/README.html @@ -11,7 +11,7 @@ <P> John R. Hauser<BR> -2015 Jan 9<BR> +2015 February 16<BR> </P> <P> @@ -2,7 +2,7 @@ Package Overview for Berkeley SoftFloat Release 3 John R. Hauser -2015 Jan 9 +2015 February 16 Berkeley SoftFloat is a software implementation of binary floating-point that conforms to the IEEE Standard for Floating-Point Arithmetic. SoftFloat diff --git a/doc/SoftFloat-history.html b/doc/SoftFloat-history.html index dcc11d3..a0ce556 100644 --- a/doc/SoftFloat-history.html +++ b/doc/SoftFloat-history.html @@ -11,11 +11,11 @@ <P> John R. Hauser<BR> -2015 January 31<BR> +2015 February 16<BR> </P> -<H3>Release 3 (2015 January)</H3> +<H3>Release 3 (2015 February)</H3> <UL> diff --git a/doc/SoftFloat-source.html b/doc/SoftFloat-source.html index b0a96b0..87e6c1a 100644 --- a/doc/SoftFloat-source.html +++ b/doc/SoftFloat-source.html @@ -11,7 +11,7 @@ <P> John R. Hauser<BR> -2015 Jan 9<BR> +2015 February 16<BR> </P> diff --git a/doc/SoftFloat.html b/doc/SoftFloat.html index 8e58a44..747046e 100644 --- a/doc/SoftFloat.html +++ b/doc/SoftFloat.html @@ -11,7 +11,7 @@ <P> John R. Hauser<BR> -2015 Jan 9<BR> +2015 February 16<BR> </P> diff --git a/source/extF80M_sqrt.c b/source/extF80M_sqrt.c index b3c0426..bdd849f 100644 --- a/source/extF80M_sqrt.c +++ b/source/extF80M_sqrt.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -135,7 +135,7 @@ void extF80M_sqrt( const extFloat80_t *aPtr, extFloat80_t *zPtr ) /*------------------------------------------------------------------------ *------------------------------------------------------------------------*/ if ( (q & 0xFFFFFF) <= 2 ) { - q &= ~0xFFFF; + q &= ~(uint32_t) 0xFFFF; extSigZ[indexWordLo( 3 )] = q<<7; x64 = sig64Z + (q>>27); term[indexWord( 4, 3 )] = 0; diff --git a/source/extF80_sqrt.c b/source/extF80_sqrt.c index f85e3e7..a73278b 100644 --- a/source/extF80_sqrt.c +++ b/source/extF80_sqrt.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -127,7 +127,7 @@ extFloat80_t extF80_sqrt( extFloat80_t a ) /*------------------------------------------------------------------------ *------------------------------------------------------------------------*/ if ( (q & 0xFFFFFF) <= 2 ) { - q &= ~0xFFFF; + q &= ~(uint_fast64_t) 0xFFFF; sigZExtra = (uint64_t) (q<<39); term = softfloat_mul64ByShifted32To128( x64 + (q>>27), q ); x64 = (uint_fast64_t) (uint32_t) (q<<5) * (uint32_t) q; diff --git a/source/s_mulAddF128M.c b/source/s_mulAddF128M.c index 4fab817..3f74d43 100644 --- a/source/s_mulAddF128M.c +++ b/source/s_mulAddF128M.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -241,7 +241,7 @@ void *----------------------------------------------------------------*/ shiftCount = expDiff & 31; if ( shiftCount ) { - softfloat_shortShiftRight160M( sigX, expDiff, sigX ); + softfloat_shortShiftRight160M( sigX, shiftCount, sigX ); } expDiff >>= 5; extSigPtr = diff --git a/source/s_roundPackMToExtF80M.c b/source/s_roundPackMToExtF80M.c index b475bcb..f4edeee 100644 --- a/source/s_roundPackMToExtF80M.c +++ b/source/s_roundPackMToExtF80M.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -171,7 +171,7 @@ void | extSigPtr[indexWord( 3, 1 )]; if ( doIncrement ) { ++sig; - sig &= ~(! (sigExtra & 0x7FFFFFFF) & roundNearEven); + sig &= ~(uint64_t) (! (sigExtra & 0x7FFFFFFF) & roundNearEven); exp = ((sig & UINT64_C( 0x8000000000000000 )) != 0); } goto packReturn; @@ -211,7 +211,7 @@ void ++exp; sig = UINT64_C( 0x8000000000000000 ); } else { - sig &= ~(! (sigExtra & 0x7FFFFFFF) & roundNearEven); + sig &= ~(uint64_t) (! (sigExtra & 0x7FFFFFFF) & roundNearEven); } } /*------------------------------------------------------------------------ diff --git a/source/s_roundPackToExtF80.c b/source/s_roundPackToExtF80.c index 9e54d8e..4644149 100644 --- a/source/s_roundPackToExtF80.c +++ b/source/s_roundPackToExtF80.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -156,8 +156,9 @@ extFloat80_t if ( doIncrement ) { ++sig; sig &= - ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) - & roundNearEven); + ~(uint_fast64_t) + (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) + & roundNearEven); exp = ((sig & UINT64_C( 0x8000000000000000 )) != 0); } goto packReturn; @@ -194,8 +195,9 @@ extFloat80_t sig = UINT64_C( 0x8000000000000000 ); } else { sig &= - ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) - & roundNearEven); + ~(uint_fast64_t) + (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) + & roundNearEven); } } else { if ( ! sig ) exp = 0; diff --git a/source/s_roundPackToF128.c b/source/s_roundPackToF128.c index f30a51a..3f6395f 100644 --- a/source/s_roundPackToF128.c +++ b/source/s_roundPackToF128.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -130,8 +130,9 @@ float128_t sig64 = sig128.v64; sig0 = sig128.v0 - & ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) - & roundNearEven); + & ~(uint64_t) + (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) + & roundNearEven); } else { if ( ! (sig64 | sig0) ) exp = 0; } diff --git a/source/s_roundPackToF32.c b/source/s_roundPackToF32.c index fbc3e44..3d5c8a0 100644 --- a/source/s_roundPackToF32.c +++ b/source/s_roundPackToF32.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -80,7 +80,7 @@ float32_t } if ( roundBits ) softfloat_exceptionFlags |= softfloat_flag_inexact; sig = (sig + roundIncrement)>>7; - sig &= ~(! (roundBits ^ 0x40) & roundNearEven); + sig &= ~(uint_fast32_t) (! (roundBits ^ 0x40) & roundNearEven); uiZ = packToF32UI( sign, sig ? exp : 0, sig ); uiZ: uZ.ui = uiZ; diff --git a/source/s_roundPackToF64.c b/source/s_roundPackToF64.c index 9c4a2ba..e92e6ec 100644 --- a/source/s_roundPackToF64.c +++ b/source/s_roundPackToF64.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -83,7 +83,7 @@ float64_t } if ( roundBits ) softfloat_exceptionFlags |= softfloat_flag_inexact; sig = (sig + roundIncrement)>>10; - sig &= ~(! (roundBits ^ 0x200) & roundNearEven); + sig &= ~(uint_fast64_t) (! (roundBits ^ 0x200) & roundNearEven); uiZ = packToF64UI( sign, sig ? exp : 0, sig ); uiZ: uZ.ui = uiZ; diff --git a/source/s_roundPackToI32.c b/source/s_roundPackToI32.c index e07dd00..24bf689 100644 --- a/source/s_roundPackToI32.c +++ b/source/s_roundPackToI32.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -60,7 +60,7 @@ int_fast32_t sig += roundIncrement; if ( sig & UINT64_C( 0xFFFFFF8000000000 ) ) goto invalid; sig32 = sig>>7; - sig32 &= ~(! (roundBits ^ 0x40) & roundNearEven); + sig32 &= ~(uint_fast32_t) (! (roundBits ^ 0x40) & roundNearEven); uZ.ui = sign ? -sig32 : sig32; z = uZ.i; if ( z && ((z < 0) ^ sign) ) goto invalid; diff --git a/source/s_roundPackToI64.c b/source/s_roundPackToI64.c index dca0778..e0e24af 100644 --- a/source/s_roundPackToI64.c +++ b/source/s_roundPackToI64.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -62,7 +62,9 @@ int_fast64_t ++sig; if ( ! sig ) goto invalid; sig &= - ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) & roundNearEven); + ~(uint_fast64_t) + (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) + & roundNearEven); } uZ.ui = sign ? -sig : sig; z = uZ.i; diff --git a/source/s_roundPackToUI32.c b/source/s_roundPackToUI32.c index ca45426..79a34b2 100644 --- a/source/s_roundPackToUI32.c +++ b/source/s_roundPackToUI32.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -58,7 +58,7 @@ uint_fast32_t sig += roundIncrement; if ( sig & UINT64_C( 0xFFFFFF8000000000 ) ) goto invalid; z = sig>>7; - z &= ~(! (roundBits ^ 0x40) & roundNearEven); + z &= ~(uint_fast32_t) (! (roundBits ^ 0x40) & roundNearEven); if ( sign && z ) goto invalid; if ( exact && roundBits ) { softfloat_exceptionFlags |= softfloat_flag_inexact; diff --git a/source/s_roundPackToUI64.c b/source/s_roundPackToUI64.c index 4c1e800..7ef5a78 100644 --- a/source/s_roundPackToUI64.c +++ b/source/s_roundPackToUI64.c @@ -4,10 +4,10 @@ This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic Package, Release 3, by John R. Hauser. -Copyright 2011, 2012, 2013, 2014 The Regents of the University of California -(Regents). All Rights Reserved. Redistribution and use in source and binary -forms, with or without modification, are permitted provided that the following -conditions are met: +Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of +California (Regents). All Rights Reserved. Redistribution and use in source +and binary forms, with or without modification, are permitted provided that +the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions, and the following two paragraphs of disclaimer. @@ -60,7 +60,9 @@ uint_fast64_t ++sig; if ( ! sig ) goto invalid; sig &= - ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) & roundNearEven); + ~(uint_fast64_t) + (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) + & roundNearEven); } if ( sign && sig ) goto invalid; if ( exact && sigExtra ) { |