From owner-cvs-all Fri Dec 4 02:52:09 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA17391 for cvs-all-outgoing; Fri, 4 Dec 1998 02:52:09 -0800 (PST) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA17386; Fri, 4 Dec 1998 02:52:08 -0800 (PST) (envelope-from dfr@FreeBSD.org) From: Doug Rabson Received: (from dfr@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id CAA10885; Fri, 4 Dec 1998 02:52:48 -0800 (PST) Date: Fri, 4 Dec 1998 02:52:48 -0800 (PST) Message-Id: <199812041052.CAA10885@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/alpha/alpha fp_emulate.c ieee_float.c ieee_float.h machdep.c trap.c vm_machdep.c src/sys/alpha/conf files.alpha src/sys/alpha/include fpu.h inst.h pcb.h Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk dfr 1998/12/04 02:52:48 PST Modified files: sys/alpha/alpha machdep.c trap.c vm_machdep.c sys/alpha/conf files.alpha sys/alpha/include pcb.h Added files: sys/alpha/alpha fp_emulate.c ieee_float.c ieee_float.h sys/alpha/include fpu.h inst.h Log: Implement 'software completion' for floating point arithmetic. On the alpha, operations involving non-finite numbers or denormalised numbers or operations which should generate such numbers will cause an arithmetic exception. For programs which follow some strict code generation rules, the kernel trap handler can then 'complete' the operation by emulating the faulting instruction. To use software completion, a program must be compiled with the arguments '-mtrap-precision=i' and '-mfp-trap-mode=su' or '-mfp-trap-mode=sui'. Programs compiled in this way can use non-finite and denormalised numbers at the expense of slightly less efficient code generation of floating point instructions. Programs not compiled with these options will receive a SIGFPE signal when non-finite or denormalised numbers are used or generated. Reviewed by: John Polstra Revision Changes Path 1.25 +10 -5 src/sys/alpha/alpha/machdep.c 1.7 +8 -5 src/sys/alpha/alpha/trap.c 1.5 +13 -1 src/sys/alpha/alpha/vm_machdep.c 1.14 +3 -2 src/sys/alpha/conf/files.alpha 1.2 +2 -1 src/sys/alpha/include/pcb.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message