public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* optimization/3436: severe code quality regression when compiling gforth
@ 2001-06-27  2:06 anton
  0 siblings, 0 replies; 2+ messages in thread
From: anton @ 2001-06-27  2:06 UTC (permalink / raw)
  To: gcc-gnats; +Cc: bernd.paysan

>Number:         3436
>Category:       optimization
>Synopsis:       severe code quality regression when compiling gforth
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          pessimizes-code
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 27 02:06:02 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Anton Ertl
>Release:        gcc version 3.0 Configured with: ../gcc-3.0/configure --enable-version-specific-runtime-libs
>Organization:
>Environment:
Linux-Intel 2.4.0-test11
glibc-2.1.3
>Description:
The code produced by gcc-3.0 is 1.5-2.5 times slower on an Athlon than
the code produced by gcc-2.95.1.  The reasons are easy to see when
looking at the assembly output.  Here's what gcc-2.95.1 produces for a
frequently executed code fragment (the Forth primitive "+"):

.L575:
	movl 4(%esi),%eax
	addl $4,%esi
	addl $4,%ebp
	addl %eax,%ebx
	jmp *-4(%ebp)

That's quite close to optimal.  And here's what gcc-3.0 produces:

.L574:
	movl	4(%esi), %eax
	movl	__ctype_toupper, %ecx
	addl	$4, %esi
	leal	(%ebx,%eax), %ebx
	movl	-1476(%ebp), %eax
	addl	$4, %eax
	movl	%eax, -1476(%ebp)
	movl	-1476(%ebp), %eax
	jmp	*-4(%eax)

There are the following suboptimalities here:

1) The "movl __ctype_toupper, %ecx" is not needed here; it is present
in most of the primitives; maybe overly eager code motion?

2) Apparently gcc-3.0 is no longer able to omit the frame pointer in
this code (we may be able to work around that by changing the source
code once we know what causes gcc-3.0 to include the frame pointer);
this is really bad for register allocation.

3) gcc-3.0 spills the variable (ip) that gcc-2.95 could allocate into
ebp (a consequence of 2).

4) The next-to-last instruction is redundant.

5) The "leal (%ebx,%eax), %ebx" could be written as "addl %eax, %ebx"
for smaller code size and faster speed on some processors.

The preprocessed source code for this fragment is:

----
I_plus:


{

Cell n1;
Cell n2;
Cell n;
       ;
n1 = (Cell) sp[1];
n2 = (Cell) TOS;
sp += 1;
{
# 557 "/a5/anton/gforth/prim"
n = n1+n2;
}
(ip++);
TOS = (Cell)n;
({goto **(ip-1);});
}
----

Notes:

Omitting most of the -f options and just compiling with

gcc -O3 -mpentium -S engine.i

made little difference.

gcc-3.0 (as well as 2.95) produces worse code when explicit register
allocation is not used in the source code.

If you want to compile it with gcc-2.95, get gforth-0.5.0 from any GNU
mirror site and configure it with "configure --enable-force-reg".
>How-To-Repeat:
gcc  -I/tmp/gforth-0.5.0/engine/../arch/386 -I. -O3 -Wall -fomit-frame-pointer -fforce-addr -fforce-mem -mpentium -DHAVE_CONFIG_H -DDEFAULTPATH=\".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.5.0:/usr/local/share/gforth/0.5.0\" -fno-defer-pop -fcaller-saves  -S engine.i
>Fix:
Use gcc-2.95
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="engine.i.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="engine.i.gz"

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: optimization/3436: severe code quality regression when compiling gforth
@ 2002-04-02  2:23 rth
  0 siblings, 0 replies; 2+ messages in thread
From: rth @ 2002-04-02  2:23 UTC (permalink / raw)
  To: anton, bernd.paysan, gcc-bugs, gcc-prs, nobody

Synopsis: severe code quality regression when compiling gforth

State-Changed-From-To: open->analyzed
State-Changed-By: rth
State-Changed-When: Tue Apr  2 02:23:47 2002
State-Changed-Why:
    GCSE doesn't interact well with computed gotos;
    workaround with -fno-gcse.
    
    FWIW, 3.1 can omit the frame pointer.

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-04-02 10:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-27  2:06 optimization/3436: severe code quality regression when compiling gforth anton
2002-04-02  2:23 rth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).