OpenCloudOS-Kernel/arch/m68k/fpsp040/tbldo.S

554 lines
19 KiB
ArmAsm

|
| 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
|
| For details on the license for this file, please see the
| file, README, in this same directory.
|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