This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: multiple problems with SSE / cmpunordps, QNaNs and -ffast-math
- From: tbp <tbptbp at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Sat, 11 Dec 2004 12:08:10 +0100
- Subject: Re: multiple problems with SSE / cmpunordps, QNaNs and -ffast-math
- References: <4fc48eb1041211024878d72b6a@mail.gmail.com>
- Reply-to: tbp <tbptbp at gmail dot com>
I should get some cofffee before posting.
_mm_cmpord_ps / _mm_cmpunord_ss are immune to this problem at least on
gcc 4.0.0 20041205.
_mm_cmpunord_ss triggers even more ICE:
gcc -O2 -Wall -march=pentium4 -ffast-math sse.cpp && ./a.exe; echo $?
sse.cpp: In function `int main()':
sse.cpp:7: warning: division by zero in `1.0e+0 / 0.'
sse.cpp:13: internal compiler error: in simplify_ternary_operation, at
simplify-rtx.c:2321
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/specs
Configured with: /gcc/gcc-3.3.3-3/configure --verbose --prefix=/usr
--exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info
--enable-languages=c,ada,c++,d,f77,java,objc,pascal --enable-nls
--without-included-gettext --enable-libgcj --with-system-zlib
--enable-interpreter --enable-threads=posix --enable-java-gc=boehm
--enable-sjlj-exceptions --disable-version-specific-runtime-libs
--disable-win32-registry
Thread model: posix
gcc version 3.3.3 (cygwin special)
etc... really fishy.