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