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