NetBSD-Bugs archive

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

Re: port-mips/57680: printf("%.1f") shows wrong results on R3000mipseb



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

From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: rvp%SDF.ORG@localhost
Cc: gnats-bugs%netbsd.org@localhost, tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: port-mips/57680: printf("%.1f") shows wrong results on R3000mipseb
Date: Tue, 7 Nov 2023 00:39:32 +0900

 >  > It looks these inline functions make gcc optimization confused,
 >  >
 >  
 >  Don't see how...
 
 On mips, fpgetround() is defined in <mips/fenv.h> so it's always
 available even without libm.  I'm not sure how
 '#define fegetround()' line in src/lib/libc/gdtoa/gdtoaimp.h
 is handled, though..
 
 >  Don't get this either. With both -DHonor_FLT_ROUNDS and -DTrust_FLT_ROUNDS
 >  defined `int Rounding' should get set to `1'--exactly the same as with
 >  -DHonor_FLT_ROUNDS alone.
 
 It looks the problem is not a (expected) value of "Rounding",
 but unexpected optimization around inlined fegetround().
 (but not sure)
 
 ---
 Izumi Tsutsui
 


Home | Main Index | Thread Index | Old Index