https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88240

--- Comment #7 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> ---
As discussed, the load instructions should never raise underflow 
exceptions, and having traps enabled for the nonstandard denormal operand 
exception is clearly outside the scope of what code generation should 
support.  So the underflow exception being raised by a load seems like 
some kind of issue with the instruction implementation (but you should 
test the instruction directly on hardware without qemu involved).

*But* the issue definitely exists with loads of signaling NaNs converting 
them to quiet NaNs and raising "invalid", so modifying data (if the result 
gets stored back) as well as raising spurious exceptions.  See bug 58416 
(which as discussed there, is an issue even with -fno-signaling-nans, 
because it's perfectly valid to have the sNaN patterns in a union with 
-fno-signaling-nans if you don't actually access them as float/double).

So I think any bug here is a combination of a duplicate of bug 58416, 
possibly with some kind of qemu bug resulting in "underflow" being raised 
when "denormal operand" should actually be raised instead.

Reply via email to