Regression in gcc-2.95 19990525

H.J. Lu hjl@varesearch.com
Wed May 26 06:32:00 GMT 1999


With gcc 2.95 19990525, I got this on x86:

# gcc -S -O3 -mcpu=i686 -march=i686 foo.c
foo.c: In function `main':
foo.c:27: Could not split insn
(insn 116 112 61 (set (reg/v:SI 5 %edi)
        (if_then_else:SI (ne:SI (reg/v:SI 3 %ebx)
                (mem/s:SI (plus:SI (mult:SI (reg/v:SI 4 %esi)
                            (const_int 4 [0x4]))
                        (reg:SI 0 %eax)) 3))
            (mem/s:SI (plus:SI (mult:SI (reg/v:SI 4 %esi)
                        (const_int 4 [0x4]))
                    (mem/f:SI (plus:SI (reg:SI 6 %ebp)
                            (const_int 12 [0xc])) 0)) 3)
            (reg/v:SI 5 %edi))) 414 {movsicc+2} (insn_list/j/c 112 (insn_list/j
138 (insn_list/j/c 112 (nil))))
    (expr_list:REG_DEAD (reg:SI 0 %eax)
        (nil)))

egcs 1.1.2 is ok. It is a new bug.


-- 
H.J. Lu (hjl@gnu.org)
---foo.c--
extern int optind;
extern char * foo ();
int main(int argc, char **argv)
{
    int i, c;
    char *cp, *so;
    const char *dir;
	for (i = optind; i < argc; i++)
	{
	    if (!(cp = foo ()))
	    {
		dir = ".";	 
		cp = argv[i];
	    }
	    else
	    {
		if (cp == argv[i])
		    dir = "/";	 
		else
		    dir = argv[i];
		*cp++ = '\0';	 
	    }
	    if (so = foo () )
		error("%s%s%s is not a shared library", dir, so, cp);
	}
}


More information about the Gcc-bugs mailing list