NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-mips/35326 (wrong FPU exception)



The following reply was made to PR port-mips/35326; it has been noted by GNATS.

From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: port-mips/35326 (wrong FPU exception)
Date: Sat, 29 Jan 2011 05:02:04 +0900

 > Synopsis: wrong FPU exception
  :
 > MachEmulateFP() should invoke mips_fpuillinst() or mips_fpuexcept()
 > with proper args rather than fpemul_trapsignal().
 
 It looks if an instruction "mul.d $f0,$f0,$f2" causes underflow
 (as ufl() op in regress/lib/libc/ieeefp/except/except.c does)
 MIPS_FPU_EXCEPTION_UNIMPL occurs instead of MIPS_FPU_EXCEPTION_UNDERFLOW
 so MachEmulateFP() is called from MachFPTrap() in locore.S.
 
 On the other hand overflow caused by the same mul.d proplery triggers
 MIPS_FPU_EXCEPTION_OVERFLOW and MachFPTrap() calls mips_fpuexcept().
 
 I wonder if this is expected behavior on R4400 and R5000 CPUs...
 
 ---
 Izumi Tsutsui
 


Home | Main Index | Thread Index | Old Index