optimization/9218: gcc 3.2.1 generates wrong code with -O2 on x86

ebotcazou@gcc.gnu.org ebotcazou@gcc.gnu.org
Mon Jan 13 05:17:00 GMT 2003


Synopsis: gcc 3.2.1 generates wrong code with -O2 on x86

Responsible-Changed-From-To: unassigned->ebotcazou
Responsible-Changed-By: ebotcazou
Responsible-Changed-When: Tue Jan  7 11:08:55 2003
Responsible-Changed-Why:
    Looks like a well-known pattern...
State-Changed-From-To: open->feedback
State-Changed-By: ebotcazou
State-Changed-When: Tue Jan  7 11:08:55 2003
State-Changed-Why:
    Very probably a duplicate of PR opt/8988, which is fixed in gcc 3.2.2 prerelease.
    
    The code generated by gcc 3.2.2 prerelease looks indeed correct now:
    
    .L160:
    	movb	(%ebx), %dl
    	testb	%dl, %dl
    	je	.L163
    	cmpb	$58, -1(%ebx)
    	je	.L163
    	leal	1(%ebx), %eax
    .L167:
    	cmpb	$98, %dl
    	je	.L416
    .L166:
    	movl	%eax, -176(%ebp)
    	incl	%eax
    	movb	-1(%eax), %dl
    
    Could you try to compile Vim6.1 with the current 3.2 branch ?

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9218



More information about the Gcc-bugs mailing list