Home | History | Annotate | Download | only in fpe
History log of /src/sys/arch/m68k/fpe/fpu_int.c
RevisionDateAuthorComments
 1.12  19-Mar-2013  isaki Remove 'register'.
 1.11  25-Jun-2012  isaki branches: 1.11.2;
Rewrite fpu_int().
Especially, remove the special treatment when |x| < 1
because it forgets to consider FPCR round mode.
See PR/46627 for the detail. Thanks Y.Sugahara for advice.
 1.10  18-Jul-2011  isaki branches: 1.10.2; 1.10.8;
fix indent again.
- "Second level indents are four spaces." pointed out by tsutsui@
- fold long line.
 1.9  18-Jul-2011  isaki fix indent. no functional changes.
 1.8  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.7  11-Dec-2005  christos branches: 1.7.78; 1.7.86; 1.7.92;
merge ktrace-lwp.
 1.6  15-Jul-2003  lukem __KERNEL_RCSID()
 1.5  30-May-2002  thorpej branches: 1.5.6;
Fix undefined operation (= is not a sequence point).
 1.4  18-Feb-2001  chs branches: 1.4.4; 1.4.8; 1.4.16;
rename round() to fpu_round() to avoid a name conflict with
the "round" assembly function in FPSP when building with ELF.
 1.3  22-Sep-2000  is fpu_emulate.h:
the fmovecr constant table has the internal format
of the constants. So, when changing the mantissa size by a
non-multiple of 32 bits, we'd have to change this table, too. As
all other code changes just chopped of the least significand
32bit word of the mantissa, we correct the mantissa size instead
to (115 - 32 == 83) bits.
fpu_fmovecr.c:
put a safety belt in, to catch the next person who doesn't know this.
fpu_int.c:
in one place, the reduction of the mantissa size was overlooked.
fpu_log.c:
as the most significand 32bit word of the mantissa was changed back to the
old format, change back the table indexing code, too.

This should fix PR 11045.
 1.2  30-May-1999  briggs branches: 1.2.2; 1.2.12;
PR 7220 from Ken Nakata:
I've fixed most (not all) m68k FPE bugs that give bogus
calculation results, esp. fsqrt instruction. Also, the internal FP
representation has been reduced from 115-bit mantissa to 67-bit
mantissa which reduced the required mantissa operation roughly by one
fourth. I've done an extensive (though not exhaustive - it's
impossible!) test on the internal routines by feeding them randomly
generated FP numbers, and found that the new code is more precise than
MC68040 FPU (it seems to have a rounding bug).

[ Only change was to keep fpu_calcea.c's name instead of renaming to
fpu_ea.c in Ken's patch. --akb ]
 1.1  03-Nov-1995  briggs branches: 1.1.24; 1.1.26; 1.1.28;
Still incomplete, but much more complete FPE from Ken Nakata
<kenn@remus.rutgers.edu>. This emulator does not yet emulate
the following functions:
FSINH, FETOXM1, FTANH, FATAN, FASIN, FATANH, FSIN, FTAN,
FETOX, FTWOTOX, FTENTOX, FCOSH, FACOS, FCOS, FSINCOS
It is sufficient, however, to allow programs like df, w, and newfs,
to run to completion with correct results.
Portions of this code were based on the sparc fpe and on initial
work by gwr.
 1.1.28.1  30-Nov-1999  itojun bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code). Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.
 1.1.26.1  21-Jun-1999  thorpej Sync w/ -current.
 1.1.24.2  06-Feb-2000  he Apply patch (requested by is):
Revert floating point emulation software to the version released
as NetBSD 1.4. The upgrade done in 1.4.1 had problems.
 1.1.24.1  21-Jun-1999  perry pullup 1.1->1.2 (briggs): fix FPE
 1.2.12.1  26-Sep-2000  is Pullup from -current, requested by is, approved by thorpej:

fpu_emulate.h 1.7, fpu_log.c 1.7: synchronize mantissa length % 32 with fpu_fmovecr.c table
fpu_fmovecr.c 1.8: cheap compile-time consistency check for this
fpu_int.c 1.3: fix bug introduced when reducing mantissa size
This fixes PR 11045.
 1.2.2.2  12-Mar-2001  bouyer Sync with HEAD.
 1.2.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.16.1  14-Jul-2002  gehenna catch up with -current.
 1.4.8.1  20-Jun-2002  nathanw Catch up to -current.
 1.4.4.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1  03-Aug-2004  skrll Sync with HEAD
 1.7.92.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.86.1  28-Apr-2009  skrll Sync with HEAD.
 1.7.78.1  04-May-2009  yamt sync with head.
 1.10.8.1  04-Jul-2012  jdc Pull up revision 1.11 (requested by isaki in ticket #384).

Rewrite fpu_int().
Especially, remove the special treatment when |x| < 1
because it forgets to consider FPCR round mode.
See PR/46627 for the detail. Thanks Y.Sugahara for advice.
 1.10.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10.2.1  30-Oct-2012  yamt sync with head
 1.11.2.1  23-Jun-2013  tls resync from head

RSS XML Feed