This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/53134] Request for option to disable excess precision on i387


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53134

--- Comment #2 from Rich Felker <bugdal at aerifal dot cx> 2012-04-27 05:24:45 UTC ---
Thanks for the tip. I was not aware of that option (it's like -ffloat-store but
also applies to casts, so it makes GCC's behavior ISO C conformant), and it
seems some attention has been paid to making it actually correct. For instance,
it disables the intrinsic sqrt function which is non-conformant with excess
precision (the result is not correctly rounded). Overall quite impressive.

With that said, it's still a bit less/different than what I'm asking for. With
-fexcess-precision=standard, GCC on 387 behaves as a standards-conformant ISO C
compiler with FLT_EVAL_METHOD=2. The option I'm asking for would make it behave
as a standards-conformant ISO C compiler with FLT_EVAL_METHOD=0, which has 100%
well-defined bit-exact behavior for all non-transcendental operations. Or,
stated differently, it would give results identical to -msse2 -mfpmath=sse but
without requiring a CPU with sse2 instruction set support.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]