Home | History | Annotate | Line # | Download | only in fpsp
      1  1.2      cgd *	$NetBSD: DYADIC.CI5,v 1.2 1994/10/26 07:48:26 cgd Exp $
      2  1.2      cgd 
      3  1.1  mycroft *	MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
      4  1.1  mycroft *	M68000 Hi-Performance Microprocessor Division
      5  1.1  mycroft *	M68040 Software Package 
      6  1.1  mycroft *
      7  1.1  mycroft *	M68040 Software Package Copyright (c) 1993, 1994 Motorola Inc.
      8  1.1  mycroft *	All rights reserved.
      9  1.1  mycroft *
     10  1.1  mycroft *	THE SOFTWARE is provided on an "AS IS" basis and without warranty.
     11  1.1  mycroft *	To the maximum extent permitted by applicable law,
     12  1.1  mycroft *	MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
     13  1.1  mycroft *	INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
     14  1.1  mycroft *	PARTICULAR PURPOSE and any warranty against infringement with
     15  1.1  mycroft *	regard to the SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)
     16  1.1  mycroft *	and any accompanying written materials. 
     17  1.1  mycroft *
     18  1.1  mycroft *	To the maximum extent permitted by applicable law,
     19  1.1  mycroft *	IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER
     20  1.1  mycroft *	(INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
     21  1.1  mycroft *	PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR
     22  1.1  mycroft *	OTHER PECUNIARY LOSS) ARISING OF THE USE OR INABILITY TO USE THE
     23  1.1  mycroft *	SOFTWARE.  Motorola assumes no responsibility for the maintenance
     24  1.1  mycroft *	and support of the SOFTWARE.  
     25  1.1  mycroft *
     26  1.1  mycroft *	You are hereby granted a copyright license to use, modify, and
     27  1.1  mycroft *	distribute the SOFTWARE so long as this entire notice is retained
     28  1.1  mycroft *	without alteration in any modified and/or redistributed versions,
     29  1.1  mycroft *	and that such modified versions are clearly identified as such.
     30  1.1  mycroft *	No licenses are granted by implication, estoppel or otherwise
     31  1.1  mycroft *	under any patents or trademarks of Motorola, Inc.
     32  1.1  mycroft 
     33  1.1  mycroft *
     34  1.1  mycroft *	DYADIC.CI5 1.2 4/30/91
     35  1.1  mycroft *
     36  1.1  mycroft *	DYADIC.CI5 --- DYADIC template for CI5 compiler
     37  1.1  mycroft *
     38  1.1  mycroft 
     39  1.1  mycroft 	xref	_OPa_
     40  1.1  mycroft 	xref	tag
     41  1.1  mycroft 
     42  1.1  mycroft 	xdef	_OPd_
     43  1.1  mycroft _OPd_:
     44  1.1  mycroft 	link	a6,#-LOCAL_SIZE
     45  1.1  mycroft 	fmovem.x fp2-fp3,USER_FP2(a6)
     46  1.1  mycroft 	fmovem.l fpsr/fpcr,USER_FPSR(a6) ; user's rounding mode/precision
     47  1.1  mycroft 	fmove.l	#0,fpcr		; force rounding mode/prec to extended,rn
     48  1.1  mycroft *
     49  1.1  mycroft *	copy, convert and tag input arguments
     50  1.1  mycroft *
     51  1.1  mycroft 	fmove.d	8(a6),fp0
     52  1.1  mycroft 	fmove.x	fp0,FPTEMP(a6)
     53  1.1  mycroft 	lea	FPTEMP(a6),a0
     54  1.1  mycroft 	bsr	tag
     55  1.1  mycroft 	move.b	d0,DTAG(a6)
     56  1.1  mycroft 
     57  1.1  mycroft 	fmove.d	16(a6),fp0
     58  1.1  mycroft 	fmove.x	fp0,ETEMP(a6)
     59  1.1  mycroft 	lea	ETEMP(a6),a0
     60  1.1  mycroft 	bsr	tag
     61  1.1  mycroft 	move.b	d0,STAG(a6)
     62  1.1  mycroft 
     63  1.1  mycroft 	bsr	_OPa_
     64  1.1  mycroft 
     65  1.1  mycroft 	fmove.l	fpsr,d0		; update status register
     66  1.1  mycroft 	or.b	FPSR_AEXCEPT(a6),d0	;add previously accrued exceptions
     67  1.1  mycroft 	swap.w	d0
     68  1.1  mycroft 	or.b	FPSR_QBYTE(a6),d0	; pickup sign of quotient byte
     69  1.1  mycroft 	swap.w	d0
     70  1.1  mycroft 	fmove.l	d0,fpsr		
     71  1.1  mycroft *
     72  1.1  mycroft *	Result is now in FP0
     73  1.1  mycroft *
     74  1.1  mycroft 	fmovem.x USER_FP2(a6),fp2-fp3	; note: FP0/FP1 not restored
     75  1.1  mycroft 	unlk	a6
     76  1.1  mycroft 	rts
     77  1.1  mycroft 
     78