xref: /csrg-svn/lib/libc/vax/gen/fixunsdfsi.s (revision 61225)
154420Sbostic/*-
2*61225Sbostic * Copyright (c) 1992, 1993
3*61225Sbostic *	The Regents of the University of California.  All rights reserved.
454420Sbostic *
554420Sbostic * %sccs.include.redist.c%
654420Sbostic */
754420Sbostic
854420Sbostic#if defined(LIBC_SCCS) && !defined(lint)
9*61225Sbostic	.asciz "@(#)fixunsdfsi.s	8.1 (Berkeley) 06/04/93"
1054420Sbostic#endif /* LIBC_SCCS and not lint */
1154420Sbostic
1254420Sbostic#include "DEFS.h"
1354420Sbostic
1454420Sbostic	.data
1554420Sbostic	.align	2
1654420SbosticLbig:	.double	0d2.14748364800000000000e+09
1754420Sbostic	.text
1854420Sbostic
1954420Sbostic/*
2054420Sbostic * VAX conversions overflow politely,
2154420Sbostic * but we'll be conservative just in case someone is trapping overflow.
2254420Sbostic */
2354420SbosticENTRY(__fixunsdfsi, 0)
2454420Sbostic	cmpd	4(ap),Lbig
2554420Sbostic	jgeq	1f
2654420Sbostic	cvtdl	4(ap),r0
2754420Sbostic	ret
2854420Sbostic
2954420Sbostic1:	subd3	Lbig,4(ap),r0
3054420Sbostic	cvtdl	r0,r0
3154420Sbostic	addl2	$2147483648,r0
3254420Sbostic	ret
33