Help catching floating point exceptions

Rowan Hughes csrdh at marlin.jcu.edu.au
Sat Jun 8 16:36:08 AEST 1991


In <1991Jun6.032233.10629 at ibmpa.awdpa.ibm.com> jsalter at ibmpa.awdpa.ibm.com writes:

>In article <1991May31.071822.9206 at marlin.jcu.edu.au> csrdh at marlin.jcu.edu.au (Rowan Hughes) writes:
>>In <SDL.91May29181249 at adagio.austin.ibm.com> sdl at adagio.austin.ibm.com (sdl) writes:
>>DEC have released their new f77v3.0 compiler for the DECStations
>>(=R3000) and it traps all floating exceptions; the job aborts
>>with a core dump. I've done some benchmarking between the new and old
>>compilers (with and without fpe) and the performance has dropped by
>>less than 1/2%.  Fpe is enabled ALL the time, irrelevent of
>>compiler options. [...]

>True, it *can* be done on RISC architectures.  That's not the point.
>The point is whether it should be done on the POWER architecture the
>'6000s employ.  I don't believe the R3000 is super-scalar, thereby
>limiting the effects of trapping.  Since the '6000 is, instructions are
>scheduled out-of-order by the compilers to ensure the pipeline remains
>full for as long as possible.

Correct, the R3000 is not super-scalar.

There's still a few points missing. If fpe was used does it mean that
the memory fetches would HAVE to be serial, or would the fpe trap be
uncertain as to the location of the error in super-scalar. If its the
latter case then fpe should be on all the time. If its the former case
then fpe should be allowabel in debug mode, with the resulting
drop in performance.

I consider fpe traps to be essential in all my work. It should be a 
compiler option, even if the performance drop is significant. I'm
getting an IBM540 in a few days, so I hope you IBM'ers are working
on this right now !!! The DECheads have seen the light.

-- 
Rowan Hughes                                James Cook University
Marine Modelling Unit                       Townsville, Australia.
Dept. Civil and Systems Engineering         csrdh at marlin.jcu.edu.au



More information about the Comp.unix.aix mailing list