This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/57484] 'std::numeric_limits< T >::signaling_NaN()' signaling-bit is incorrect for x86 32-bit.
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 09 Jul 2013 21:52:31 +0000
- Subject: [Bug target/57484] 'std::numeric_limits< T >::signaling_NaN()' signaling-bit is incorrect for x86 32-bit.
- Auto-submitted: auto-generated
- References: <bug-57484-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484
--- Comment #18 from UroÅ Bizjak <ubizjak at gmail dot com> ---
(In reply to Charles L. Wilcox from comment #17)
> Okay... so why not avoid the x87 restriction and use aliasing to load the
> correct value?
Load to x87 stack? The very moment sNaN gets loaded (using fldl or flds) will
be converted to qNaN. You can do some trick here (and the compiler can pass FP
value in integer registers), but there is no guarantee that the value won't
move through x87 stack registers.