URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [rtems/] [c/] [src/] [lib/] [libcpu/] [m68k/] [m68040/] [fpsp/] [tbldo.S] - Rev 1765
Compare with Previous | Blame | View Log
//
// $Id: tbldo.S,v 1.2 2001-09-27 12:01:22 chris Exp $
//
// tbldo.sa 3.1 12/10/90
//
// Modified:
// 8/16/90 chinds The table was constructed to use only one level
// of indirection in do_func for monadic
// functions. Dyadic functions require two
// levels, and the tables are still contained
// in do_func. The table is arranged for
// index with a 10-bit index, with the first
// 7 bits the opcode, and the remaining 3
// the stag. For dyadic functions, all
// valid addresses are to the generic entry
// point.
//
// Copyright (C) Motorola, Inc. 1990
// All Rights Reserved
//
// THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA
// The copyright notice above does not evidence any
// actual or intended publication of such source code.
//TBLDO idnt 2,1 | Motorola 040 Floating Point Software Package
|section 8
|xref ld_pinf,ld_pone,ld_ppi2
|xref t_dz2,t_operr
|xref serror,sone,szero,sinf,snzrinx
|xref sopr_inf,spi_2,src_nan,szr_inf
|xref smovcr
|xref pmod,prem,pscale
|xref satanh,satanhd
|xref sacos,sacosd,sasin,sasind,satan,satand
|xref setox,setoxd,setoxm1,setoxm1d,setoxm1i
|xref sgetexp,sgetexpd,sgetman,sgetmand
|xref sint,sintd,sintrz
|xref ssincos,ssincosd,ssincosi,ssincosnan,ssincosz
|xref scos,scosd,ssin,ssind,stan,stand
|xref scosh,scoshd,ssinh,ssinhd,stanh,stanhd
|xref sslog10,sslog2,sslogn,sslognp1
|xref sslog10d,sslog2d,sslognd,slognp1d
|xref stentox,stentoxd,stwotox,stwotoxd
// instruction ;opcode-stag Notes
.global tblpre
tblpre:
.long smovcr //$00-0 fmovecr all
.long smovcr //$00-1 fmovecr all
.long smovcr //$00-2 fmovecr all
.long smovcr //$00-3 fmovecr all
.long smovcr //$00-4 fmovecr all
.long smovcr //$00-5 fmovecr all
.long smovcr //$00-6 fmovecr all
.long smovcr //$00-7 fmovecr all
.long sint //$01-0 fint norm
.long szero //$01-1 fint zero
.long sinf //$01-2 fint inf
.long src_nan //$01-3 fint nan
.long sintd //$01-4 fint denorm inx
.long serror //$01-5 fint ERROR
.long serror //$01-6 fint ERROR
.long serror //$01-7 fint ERROR
.long ssinh //$02-0 fsinh norm
.long szero //$02-1 fsinh zero
.long sinf //$02-2 fsinh inf
.long src_nan //$02-3 fsinh nan
.long ssinhd //$02-4 fsinh denorm
.long serror //$02-5 fsinh ERROR
.long serror //$02-6 fsinh ERROR
.long serror //$02-7 fsinh ERROR
.long sintrz //$03-0 fintrz norm
.long szero //$03-1 fintrz zero
.long sinf //$03-2 fintrz inf
.long src_nan //$03-3 fintrz nan
.long snzrinx //$03-4 fintrz denorm inx
.long serror //$03-5 fintrz ERROR
.long serror //$03-6 fintrz ERROR
.long serror //$03-7 fintrz ERROR
.long serror //$04-0 ERROR - illegal extension
.long serror //$04-1 ERROR - illegal extension
.long serror //$04-2 ERROR - illegal extension
.long serror //$04-3 ERROR - illegal extension
.long serror //$04-4 ERROR - illegal extension
.long serror //$04-5 ERROR - illegal extension
.long serror //$04-6 ERROR - illegal extension
.long serror //$04-7 ERROR - illegal extension
.long serror //$05-0 ERROR - illegal extension
.long serror //$05-1 ERROR - illegal extension
.long serror //$05-2 ERROR - illegal extension
.long serror //$05-3 ERROR - illegal extension
.long serror //$05-4 ERROR - illegal extension
.long serror //$05-5 ERROR - illegal extension
.long serror //$05-6 ERROR - illegal extension
.long serror //$05-7 ERROR - illegal extension
.long sslognp1 //$06-0 flognp1 norm
.long szero //$06-1 flognp1 zero
.long sopr_inf //$06-2 flognp1 inf
.long src_nan //$06-3 flognp1 nan
.long slognp1d //$06-4 flognp1 denorm
.long serror //$06-5 flognp1 ERROR
.long serror //$06-6 flognp1 ERROR
.long serror //$06-7 flognp1 ERROR
.long serror //$07-0 ERROR - illegal extension
.long serror //$07-1 ERROR - illegal extension
.long serror //$07-2 ERROR - illegal extension
.long serror //$07-3 ERROR - illegal extension
.long serror //$07-4 ERROR - illegal extension
.long serror //$07-5 ERROR - illegal extension
.long serror //$07-6 ERROR - illegal extension
.long serror //$07-7 ERROR - illegal extension
.long setoxm1 //$08-0 fetoxm1 norm
.long szero //$08-1 fetoxm1 zero
.long setoxm1i //$08-2 fetoxm1 inf
.long src_nan //$08-3 fetoxm1 nan
.long setoxm1d //$08-4 fetoxm1 denorm
.long serror //$08-5 fetoxm1 ERROR
.long serror //$08-6 fetoxm1 ERROR
.long serror //$08-7 fetoxm1 ERROR
.long stanh //$09-0 ftanh norm
.long szero //$09-1 ftanh zero
.long sone //$09-2 ftanh inf
.long src_nan //$09-3 ftanh nan
.long stanhd //$09-4 ftanh denorm
.long serror //$09-5 ftanh ERROR
.long serror //$09-6 ftanh ERROR
.long serror //$09-7 ftanh ERROR
.long satan //$0a-0 fatan norm
.long szero //$0a-1 fatan zero
.long spi_2 //$0a-2 fatan inf
.long src_nan //$0a-3 fatan nan
.long satand //$0a-4 fatan denorm
.long serror //$0a-5 fatan ERROR
.long serror //$0a-6 fatan ERROR
.long serror //$0a-7 fatan ERROR
.long serror //$0b-0 ERROR - illegal extension
.long serror //$0b-1 ERROR - illegal extension
.long serror //$0b-2 ERROR - illegal extension
.long serror //$0b-3 ERROR - illegal extension
.long serror //$0b-4 ERROR - illegal extension
.long serror //$0b-5 ERROR - illegal extension
.long serror //$0b-6 ERROR - illegal extension
.long serror //$0b-7 ERROR - illegal extension
.long sasin //$0c-0 fasin norm
.long szero //$0c-1 fasin zero
.long t_operr //$0c-2 fasin inf
.long src_nan //$0c-3 fasin nan
.long sasind //$0c-4 fasin denorm
.long serror //$0c-5 fasin ERROR
.long serror //$0c-6 fasin ERROR
.long serror //$0c-7 fasin ERROR
.long satanh //$0d-0 fatanh norm
.long szero //$0d-1 fatanh zero
.long t_operr //$0d-2 fatanh inf
.long src_nan //$0d-3 fatanh nan
.long satanhd //$0d-4 fatanh denorm
.long serror //$0d-5 fatanh ERROR
.long serror //$0d-6 fatanh ERROR
.long serror //$0d-7 fatanh ERROR
.long ssin //$0e-0 fsin norm
.long szero //$0e-1 fsin zero
.long t_operr //$0e-2 fsin inf
.long src_nan //$0e-3 fsin nan
.long ssind //$0e-4 fsin denorm
.long serror //$0e-5 fsin ERROR
.long serror //$0e-6 fsin ERROR
.long serror //$0e-7 fsin ERROR
.long stan //$0f-0 ftan norm
.long szero //$0f-1 ftan zero
.long t_operr //$0f-2 ftan inf
.long src_nan //$0f-3 ftan nan
.long stand //$0f-4 ftan denorm
.long serror //$0f-5 ftan ERROR
.long serror //$0f-6 ftan ERROR
.long serror //$0f-7 ftan ERROR
.long setox //$10-0 fetox norm
.long ld_pone //$10-1 fetox zero
.long szr_inf //$10-2 fetox inf
.long src_nan //$10-3 fetox nan
.long setoxd //$10-4 fetox denorm
.long serror //$10-5 fetox ERROR
.long serror //$10-6 fetox ERROR
.long serror //$10-7 fetox ERROR
.long stwotox //$11-0 ftwotox norm
.long ld_pone //$11-1 ftwotox zero
.long szr_inf //$11-2 ftwotox inf
.long src_nan //$11-3 ftwotox nan
.long stwotoxd //$11-4 ftwotox denorm
.long serror //$11-5 ftwotox ERROR
.long serror //$11-6 ftwotox ERROR
.long serror //$11-7 ftwotox ERROR
.long stentox //$12-0 ftentox norm
.long ld_pone //$12-1 ftentox zero
.long szr_inf //$12-2 ftentox inf
.long src_nan //$12-3 ftentox nan
.long stentoxd //$12-4 ftentox denorm
.long serror //$12-5 ftentox ERROR
.long serror //$12-6 ftentox ERROR
.long serror //$12-7 ftentox ERROR
.long serror //$13-0 ERROR - illegal extension
.long serror //$13-1 ERROR - illegal extension
.long serror //$13-2 ERROR - illegal extension
.long serror //$13-3 ERROR - illegal extension
.long serror //$13-4 ERROR - illegal extension
.long serror //$13-5 ERROR - illegal extension
.long serror //$13-6 ERROR - illegal extension
.long serror //$13-7 ERROR - illegal extension
.long sslogn //$14-0 flogn norm
.long t_dz2 //$14-1 flogn zero
.long sopr_inf //$14-2 flogn inf
.long src_nan //$14-3 flogn nan
.long sslognd //$14-4 flogn denorm
.long serror //$14-5 flogn ERROR
.long serror //$14-6 flogn ERROR
.long serror //$14-7 flogn ERROR
.long sslog10 //$15-0 flog10 norm
.long t_dz2 //$15-1 flog10 zero
.long sopr_inf //$15-2 flog10 inf
.long src_nan //$15-3 flog10 nan
.long sslog10d //$15-4 flog10 denorm
.long serror //$15-5 flog10 ERROR
.long serror //$15-6 flog10 ERROR
.long serror //$15-7 flog10 ERROR
.long sslog2 //$16-0 flog2 norm
.long t_dz2 //$16-1 flog2 zero
.long sopr_inf //$16-2 flog2 inf
.long src_nan //$16-3 flog2 nan
.long sslog2d //$16-4 flog2 denorm
.long serror //$16-5 flog2 ERROR
.long serror //$16-6 flog2 ERROR
.long serror //$16-7 flog2 ERROR
.long serror //$17-0 ERROR - illegal extension
.long serror //$17-1 ERROR - illegal extension
.long serror //$17-2 ERROR - illegal extension
.long serror //$17-3 ERROR - illegal extension
.long serror //$17-4 ERROR - illegal extension
.long serror //$17-5 ERROR - illegal extension
.long serror //$17-6 ERROR - illegal extension
.long serror //$17-7 ERROR - illegal extension
.long serror //$18-0 ERROR - illegal extension
.long serror //$18-1 ERROR - illegal extension
.long serror //$18-2 ERROR - illegal extension
.long serror //$18-3 ERROR - illegal extension
.long serror //$18-4 ERROR - illegal extension
.long serror //$18-5 ERROR - illegal extension
.long serror //$18-6 ERROR - illegal extension
.long serror //$18-7 ERROR - illegal extension
.long scosh //$19-0 fcosh norm
.long ld_pone //$19-1 fcosh zero
.long ld_pinf //$19-2 fcosh inf
.long src_nan //$19-3 fcosh nan
.long scoshd //$19-4 fcosh denorm
.long serror //$19-5 fcosh ERROR
.long serror //$19-6 fcosh ERROR
.long serror //$19-7 fcosh ERROR
.long serror //$1a-0 ERROR - illegal extension
.long serror //$1a-1 ERROR - illegal extension
.long serror //$1a-2 ERROR - illegal extension
.long serror //$1a-3 ERROR - illegal extension
.long serror //$1a-4 ERROR - illegal extension
.long serror //$1a-5 ERROR - illegal extension
.long serror //$1a-6 ERROR - illegal extension
.long serror //$1a-7 ERROR - illegal extension
.long serror //$1b-0 ERROR - illegal extension
.long serror //$1b-1 ERROR - illegal extension
.long serror //$1b-2 ERROR - illegal extension
.long serror //$1b-3 ERROR - illegal extension
.long serror //$1b-4 ERROR - illegal extension
.long serror //$1b-5 ERROR - illegal extension
.long serror //$1b-6 ERROR - illegal extension
.long serror //$1b-7 ERROR - illegal extension
.long sacos //$1c-0 facos norm
.long ld_ppi2 //$1c-1 facos zero
.long t_operr //$1c-2 facos inf
.long src_nan //$1c-3 facos nan
.long sacosd //$1c-4 facos denorm
.long serror //$1c-5 facos ERROR
.long serror //$1c-6 facos ERROR
.long serror //$1c-7 facos ERROR
.long scos //$1d-0 fcos norm
.long ld_pone //$1d-1 fcos zero
.long t_operr //$1d-2 fcos inf
.long src_nan //$1d-3 fcos nan
.long scosd //$1d-4 fcos denorm
.long serror //$1d-5 fcos ERROR
.long serror //$1d-6 fcos ERROR
.long serror //$1d-7 fcos ERROR
.long sgetexp //$1e-0 fgetexp norm
.long szero //$1e-1 fgetexp zero
.long t_operr //$1e-2 fgetexp inf
.long src_nan //$1e-3 fgetexp nan
.long sgetexpd //$1e-4 fgetexp denorm
.long serror //$1e-5 fgetexp ERROR
.long serror //$1e-6 fgetexp ERROR
.long serror //$1e-7 fgetexp ERROR
.long sgetman //$1f-0 fgetman norm
.long szero //$1f-1 fgetman zero
.long t_operr //$1f-2 fgetman inf
.long src_nan //$1f-3 fgetman nan
.long sgetmand //$1f-4 fgetman denorm
.long serror //$1f-5 fgetman ERROR
.long serror //$1f-6 fgetman ERROR
.long serror //$1f-7 fgetman ERROR
.long serror //$20-0 ERROR - illegal extension
.long serror //$20-1 ERROR - illegal extension
.long serror //$20-2 ERROR - illegal extension
.long serror //$20-3 ERROR - illegal extension
.long serror //$20-4 ERROR - illegal extension
.long serror //$20-5 ERROR - illegal extension
.long serror //$20-6 ERROR - illegal extension
.long serror //$20-7 ERROR - illegal extension
.long pmod //$21-0 fmod all
.long pmod //$21-1 fmod all
.long pmod //$21-2 fmod all
.long pmod //$21-3 fmod all
.long pmod //$21-4 fmod all
.long serror //$21-5 fmod ERROR
.long serror //$21-6 fmod ERROR
.long serror //$21-7 fmod ERROR
.long serror //$22-0 ERROR - illegal extension
.long serror //$22-1 ERROR - illegal extension
.long serror //$22-2 ERROR - illegal extension
.long serror //$22-3 ERROR - illegal extension
.long serror //$22-4 ERROR - illegal extension
.long serror //$22-5 ERROR - illegal extension
.long serror //$22-6 ERROR - illegal extension
.long serror //$22-7 ERROR - illegal extension
.long serror //$23-0 ERROR - illegal extension
.long serror //$23-1 ERROR - illegal extension
.long serror //$23-2 ERROR - illegal extension
.long serror //$23-3 ERROR - illegal extension
.long serror //$23-4 ERROR - illegal extension
.long serror //$23-5 ERROR - illegal extension
.long serror //$23-6 ERROR - illegal extension
.long serror //$23-7 ERROR - illegal extension
.long serror //$24-0 ERROR - illegal extension
.long serror //$24-1 ERROR - illegal extension
.long serror //$24-2 ERROR - illegal extension
.long serror //$24-3 ERROR - illegal extension
.long serror //$24-4 ERROR - illegal extension
.long serror //$24-5 ERROR - illegal extension
.long serror //$24-6 ERROR - illegal extension
.long serror //$24-7 ERROR - illegal extension
.long prem //$25-0 frem all
.long prem //$25-1 frem all
.long prem //$25-2 frem all
.long prem //$25-3 frem all
.long prem //$25-4 frem all
.long serror //$25-5 frem ERROR
.long serror //$25-6 frem ERROR
.long serror //$25-7 frem ERROR
.long pscale //$26-0 fscale all
.long pscale //$26-1 fscale all
.long pscale //$26-2 fscale all
.long pscale //$26-3 fscale all
.long pscale //$26-4 fscale all
.long serror //$26-5 fscale ERROR
.long serror //$26-6 fscale ERROR
.long serror //$26-7 fscale ERROR
.long serror //$27-0 ERROR - illegal extension
.long serror //$27-1 ERROR - illegal extension
.long serror //$27-2 ERROR - illegal extension
.long serror //$27-3 ERROR - illegal extension
.long serror //$27-4 ERROR - illegal extension
.long serror //$27-5 ERROR - illegal extension
.long serror //$27-6 ERROR - illegal extension
.long serror //$27-7 ERROR - illegal extension
.long serror //$28-0 ERROR - illegal extension
.long serror //$28-1 ERROR - illegal extension
.long serror //$28-2 ERROR - illegal extension
.long serror //$28-3 ERROR - illegal extension
.long serror //$28-4 ERROR - illegal extension
.long serror //$28-5 ERROR - illegal extension
.long serror //$28-6 ERROR - illegal extension
.long serror //$28-7 ERROR - illegal extension
.long serror //$29-0 ERROR - illegal extension
.long serror //$29-1 ERROR - illegal extension
.long serror //$29-2 ERROR - illegal extension
.long serror //$29-3 ERROR - illegal extension
.long serror //$29-4 ERROR - illegal extension
.long serror //$29-5 ERROR - illegal extension
.long serror //$29-6 ERROR - illegal extension
.long serror //$29-7 ERROR - illegal extension
.long serror //$2a-0 ERROR - illegal extension
.long serror //$2a-1 ERROR - illegal extension
.long serror //$2a-2 ERROR - illegal extension
.long serror //$2a-3 ERROR - illegal extension
.long serror //$2a-4 ERROR - illegal extension
.long serror //$2a-5 ERROR - illegal extension
.long serror //$2a-6 ERROR - illegal extension
.long serror //$2a-7 ERROR - illegal extension
.long serror //$2b-0 ERROR - illegal extension
.long serror //$2b-1 ERROR - illegal extension
.long serror //$2b-2 ERROR - illegal extension
.long serror //$2b-3 ERROR - illegal extension
.long serror //$2b-4 ERROR - illegal extension
.long serror //$2b-5 ERROR - illegal extension
.long serror //$2b-6 ERROR - illegal extension
.long serror //$2b-7 ERROR - illegal extension
.long serror //$2c-0 ERROR - illegal extension
.long serror //$2c-1 ERROR - illegal extension
.long serror //$2c-2 ERROR - illegal extension
.long serror //$2c-3 ERROR - illegal extension
.long serror //$2c-4 ERROR - illegal extension
.long serror //$2c-5 ERROR - illegal extension
.long serror //$2c-6 ERROR - illegal extension
.long serror //$2c-7 ERROR - illegal extension
.long serror //$2d-0 ERROR - illegal extension
.long serror //$2d-1 ERROR - illegal extension
.long serror //$2d-2 ERROR - illegal extension
.long serror //$2d-3 ERROR - illegal extension
.long serror //$2d-4 ERROR - illegal extension
.long serror //$2d-5 ERROR - illegal extension
.long serror //$2d-6 ERROR - illegal extension
.long serror //$2d-7 ERROR - illegal extension
.long serror //$2e-0 ERROR - illegal extension
.long serror //$2e-1 ERROR - illegal extension
.long serror //$2e-2 ERROR - illegal extension
.long serror //$2e-3 ERROR - illegal extension
.long serror //$2e-4 ERROR - illegal extension
.long serror //$2e-5 ERROR - illegal extension
.long serror //$2e-6 ERROR - illegal extension
.long serror //$2e-7 ERROR - illegal extension
.long serror //$2f-0 ERROR - illegal extension
.long serror //$2f-1 ERROR - illegal extension
.long serror //$2f-2 ERROR - illegal extension
.long serror //$2f-3 ERROR - illegal extension
.long serror //$2f-4 ERROR - illegal extension
.long serror //$2f-5 ERROR - illegal extension
.long serror //$2f-6 ERROR - illegal extension
.long serror //$2f-7 ERROR - illegal extension
.long ssincos //$30-0 fsincos norm
.long ssincosz //$30-1 fsincos zero
.long ssincosi //$30-2 fsincos inf
.long ssincosnan //$30-3 fsincos nan
.long ssincosd //$30-4 fsincos denorm
.long serror //$30-5 fsincos ERROR
.long serror //$30-6 fsincos ERROR
.long serror //$30-7 fsincos ERROR
.long ssincos //$31-0 fsincos norm
.long ssincosz //$31-1 fsincos zero
.long ssincosi //$31-2 fsincos inf
.long ssincosnan //$31-3 fsincos nan
.long ssincosd //$31-4 fsincos denorm
.long serror //$31-5 fsincos ERROR
.long serror //$31-6 fsincos ERROR
.long serror //$31-7 fsincos ERROR
.long ssincos //$32-0 fsincos norm
.long ssincosz //$32-1 fsincos zero
.long ssincosi //$32-2 fsincos inf
.long ssincosnan //$32-3 fsincos nan
.long ssincosd //$32-4 fsincos denorm
.long serror //$32-5 fsincos ERROR
.long serror //$32-6 fsincos ERROR
.long serror //$32-7 fsincos ERROR
.long ssincos //$33-0 fsincos norm
.long ssincosz //$33-1 fsincos zero
.long ssincosi //$33-2 fsincos inf
.long ssincosnan //$33-3 fsincos nan
.long ssincosd //$33-4 fsincos denorm
.long serror //$33-5 fsincos ERROR
.long serror //$33-6 fsincos ERROR
.long serror //$33-7 fsincos ERROR
.long ssincos //$34-0 fsincos norm
.long ssincosz //$34-1 fsincos zero
.long ssincosi //$34-2 fsincos inf
.long ssincosnan //$34-3 fsincos nan
.long ssincosd //$34-4 fsincos denorm
.long serror //$34-5 fsincos ERROR
.long serror //$34-6 fsincos ERROR
.long serror //$34-7 fsincos ERROR
.long ssincos //$35-0 fsincos norm
.long ssincosz //$35-1 fsincos zero
.long ssincosi //$35-2 fsincos inf
.long ssincosnan //$35-3 fsincos nan
.long ssincosd //$35-4 fsincos denorm
.long serror //$35-5 fsincos ERROR
.long serror //$35-6 fsincos ERROR
.long serror //$35-7 fsincos ERROR
.long ssincos //$36-0 fsincos norm
.long ssincosz //$36-1 fsincos zero
.long ssincosi //$36-2 fsincos inf
.long ssincosnan //$36-3 fsincos nan
.long ssincosd //$36-4 fsincos denorm
.long serror //$36-5 fsincos ERROR
.long serror //$36-6 fsincos ERROR
.long serror //$36-7 fsincos ERROR
.long ssincos //$37-0 fsincos norm
.long ssincosz //$37-1 fsincos zero
.long ssincosi //$37-2 fsincos inf
.long ssincosnan //$37-3 fsincos nan
.long ssincosd //$37-4 fsincos denorm
.long serror //$37-5 fsincos ERROR
.long serror //$37-6 fsincos ERROR
.long serror //$37-7 fsincos ERROR
|end