Home | History | Annotate | Download | only in fpe
History log of /src/sys/arch/m68k/fpe/fpu_emulate.h
RevisionDateAuthorComments
 1.26  06-Dec-2016  isaki Remove fpu_cordit2() and atanh_table[] completely.
Since cordit1 (for trigonometric functions) and cordit2 (for
hyperbolic functions) are very similar, so I implemented both
at first, but I didn't use cordit2 after all :(
 1.25  04-Aug-2016  isaki Move fpu_cordit2() to #ifdef CORDIC_BOOTSTRAP section.
This reduces ~2KB text segment.
Reported by Krister Walfridsson on tech-kern two months ago.
 1.24  19-Apr-2013  isaki branches: 1.24.12; 1.24.16;
Introduce the CORDIC algorithm.
o sine and cosine (e.g., FSIN, FCOS and FSINCOS instructions) is now
calculated in the CORDIC instead of Taylor expansion.
o tangent (FTAN) is not touched from a viewpoint of the code size.
o The CORDIC is applicable for hyperbolic functions (e.g., FSINH,
FCOSH, FTANH instructions), but I didn't use it because its working
range is poor.
o The CORDIC is also usable for inverse trigonometric functions,
I will commit it at next phase.
o The code size becomes a bit big. I cannot evaluate speed on m68k
for some reasons, but in test on i386 the CORDIC is approximately
100 times faster in sin/cos.
 1.23  11-Apr-2013  isaki Introduce FPU_CONST_* constants to avoid a magic number.
 1.22  26-Mar-2013  isaki u_int -> uint32_t
 1.21  19-Mar-2013  isaki const-ify.
 1.20  19-Mar-2013  isaki Remove 'register'.
 1.19  15-Oct-2011  tsutsui branches: 1.19.2; 1.19.12;
- remove variable names from function declarations
- some KNF
 1.18  15-Oct-2011  tsutsui Add hyperboric and trigonometric functions to m68k FPE, written by isaki@.
With these emulations (~4KB text) xeyes on XM6i works better.
Discussed with isaki@ at OSC 2011 Hiroshima.
 1.17  09-Oct-2011  tsutsui Use static inline structure assignment for CPYFPN(). From isaki@.
Tested on XM6i.
 1.16  18-Jul-2011  isaki fix indent. no functional changes.
 1.15  14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.14  27-Jan-2009  martin branches: 1.14.2;
fix include path in previous
 1.13  27-Jan-2009  martin Move FPSR_ register bit definitions into their own file
 1.12  11-Dec-2005  christos branches: 1.12.78; 1.12.86; 1.12.88;
merge ktrace-lwp.
 1.11  13-Aug-2005  he Include <sys/time.h> before <sys/signalvar.h> so that copyinout_t is
defined before it is used in the second of these.

Fixes a build problem for several of our m68k ports. I've been
waiting for a better fix, but now my "proper fix timeout" triggered.
 1.10  22-Sep-2003  cl branches: 1.10.16;
SA_SIGINFO support for m68k
 1.9  05-Jul-2001  toshii branches: 1.9.8; 1.9.24;
Fix typo. s/extention/extension/
 1.8  18-Feb-2001  chs rename round() to fpu_round() to avoid a name conflict with
the "round" assembly function in FPSP when building with ELF.
 1.7  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.6  19-Sep-2000  minoura Correct comments.
 1.5  30-May-1999  briggs branches: 1.5.2; 1.5.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.4  30-Apr-1996  briggs branches: 1.4.24; 1.4.26; 1.4.28;
Update for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized.
 1.3  12-Jan-1996  briggs Remove explicit #define of DEBUG, per PR #1931.
 1.2  05-Nov-1995  briggs Fixes from Ken Nakata. Mainly renaming debug_level to fpu_debug_level.
 1.1  03-Nov-1995  briggs 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.4.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.4.26.1  21-Jun-1999  thorpej Sync w/ -current.
 1.4.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.4.24.1  21-Jun-1999  perry pullup 1.4->1.5 (briggs): fix FPE
 1.5.12.2  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.5.12.1  19-Sep-2000  minoura Correct comments.
 1.5.2.2  12-Mar-2001  bouyer Sync with HEAD.
 1.5.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.9.24.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.24.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.24.2  18-Sep-2004  skrll Sync with HEAD.
 1.9.24.1  03-Aug-2004  skrll Sync with HEAD
 1.9.8.2  05-Jul-2001  toshii Fix typo. s/extention/extension/
 1.9.8.1  05-Jul-2001  toshii file fpu_emulate.h was added on branch nathanw_sa on 2001-07-05 08:38:26 +0000
 1.10.16.1  21-Jun-2006  yamt sync with head.
 1.12.88.2  02-Feb-2009  snj Pull up following revision(s) (requested by martin in ticket #332):
sys/arch/m68k/fpe/fpu_emulate.h: revision 1.14
fix include path in previous
 1.12.88.1  02-Feb-2009  snj Pull up following revision(s) (requested by martin in ticket #332):
sys/arch/m68k/fpe/fpu_emulate.h: revision 1.13
sys/arch/m68k/include/fpreg.h: revision 1.1
Move FPSR_ register bit definitions into their own file
 1.12.86.2  28-Apr-2009  skrll Sync with HEAD.
 1.12.86.1  03-Mar-2009  skrll Sync with HEAD.
 1.12.78.1  04-May-2009  yamt sync with head.
 1.14.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.12.2  03-Dec-2017  jdolecek update from HEAD
 1.19.12.1  23-Jun-2013  tls resync from head
 1.19.2.1  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.24.16.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.24.16.1  06-Aug-2016  pgoyette Sync with HEAD
 1.24.12.2  05-Feb-2017  skrll Sync with HEAD
 1.24.12.1  05-Oct-2016  skrll Sync with HEAD

RSS XML Feed