------- Comment #5 from jakub at gcc dot gnu dot org  2007-11-16 14:50 -------
/usr/src/gcc/obj35/gcc/xgcc -B /usr/src/gcc/obj35/gcc/ -v 2>&1 | tail -n 1;
/usr/src/gcc/obj35/gcc/xgcc -B /usr/src/gcc/obj35/gcc/ -m32 -O2 -ffloat-store
-o pr33088{,.c} -lm; ./pr33088; echo $?
gcc version 4.3.0 20071115 (experimental) (GCC) 
Aborted
134

And I doubt any CCP changes would have anything to do with this.  The problem
is that the hole complex number is one gimple register and if either __real__
and
__imag__ setting isn't close enough to each other, or if -ffloat-store is used,
then this means GCC reads the unitialized value from memory using floating
point load and if there is a signalling NaN on the stack, already the load
signals.
And fill_stack fills the stack with 0x7ff000007ff00000, which is IEEE double
signalling NaN.

At -O0 this testcase doesn't trigger the abort, because the moves are done
using integer registers rather than FPU.


-- 


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

Reply via email to