------- 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

Reply via email to