------- Comment #8 from hp at gcc dot gnu dot org 2007-03-10 22:04 ------- Created an attachment (id=13186) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13186&action=view) Preprocessed code
cc1 -fpreprocessed strtod.i -melf -quiet -dumpbase strtod.c -auxbase-strip nrblib_a-strtod.o -g -O2 -O2 -O2 -version -fno-builtin -fno-reorder-blocks -fno-inline -fdump-tree-vrp -o strtod.s It seems that in this code: ... e1 = -e1; if ( (i = e1 & 15) !=0) ((U*)&rv)->d /= __mprec_tens[i]; if (e1 >>= 4) { if (e1 >= 1 << 5) goto undfl; if (e1 & 0x10) scale = 2*53; ... that the if (e1 >= 1 << 5) goto undfl; is optimized away. Not sure though. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31115