1# Copyright (c) 1985, 1993 2# The Regents of the University of California. All rights reserved. 3# 4# %sccs.include.redist.sh% 5# 6# @(#)infnan.s 8.1 (Berkeley) 06/04/93 7# 8 .data 9 .align 2 10_sccsid: 11.asciz "@(#)infnan.s 8.1 (ucb.elefunt) 06/04/93" 12 13/* 14 * double infnan(arg) 15 * int arg; 16 * where arg := EDOM if result is NaN 17 * := ERANGE if result is +INF 18 * := -ERANGE if result is -INF 19 * 20 * The Reserved Operand Fault is generated inside of this routine. 21 */ 22 .globl _infnan 23 .set EDOM,33 24 .set ERANGE,34 25 .text 26 .align 2 27_infnan: 28 .word 0x0000 # save nothing 29 cmpl 4(fp),$ERANGE 30 bneq 1f 31 movl $ERANGE,_errno 32 brb 2f 331: movl $EDOM,_errno 342: cmpf2 $0x80000000,$0x80000000 # generates the reserved operand fault 35 ret 36