------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-31 
15:33 -------
<L0>:;
  f (i <= 99999999);
  D.1141 = (unsigned int) i + 1;
  i = (int) D.1141;
  if (D.1141 != 100000000) goto <L0>; else goto <L2>;

But note on x86 I get the same and the extra compare:
.L2:
        xorl    %eax, %eax
        cmpl    $99999999, %ebx  <--- here
        setle   %al
        movl    %eax, (%esp)
        call    f
        leal    1(%ebx), %eax
        cmpl    $100000000, %eax
        movl    %eax, %ebx
        jne     .L2

I have no idea what is going wrong.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |NEW


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

Reply via email to