public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: regmove fix
  1999-01-31 23:58 ` Marc Espie
@ 1999-01-31 23:58   ` Jeffrey A Law
  0 siblings, 0 replies; 3+ messages in thread
From: Jeffrey A Law @ 1999-01-31 23:58 UTC (permalink / raw)
  To: Marc.Espie; +Cc: egcs

  In message < 199901200015.BAA01622@quatramaran.ens.fr >you write:
  > It may be a few days before I can tell you the result, from my point
  > of view.
  > Basically, it seems that egcs-current is more aggressive, and broke a
  > few asm statements, that were probably badly formed, e.g.,
  > 
  > __asm __volatile("cld\n\trepne\n\toutsl"  :
  > : "d" (port), "S" (addr), "c" (cnt) : "%esi", "%ecx");
  > 
  > Since I don't know enough about i386 assembler, I'm getting some other
  > developpers to fix them... I hope to have some relevant statistics right
  > after that...
That asm is bogus.  It explicitly clobbers registers which overlap with inputs
and/or outputs.

This asm was wrong regardless of what regmove may have been doing.

jeff

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

* regmove fix
@ 1999-01-31 23:58 Jeffrey A Law
  1999-01-31 23:58 ` Marc Espie
  0 siblings, 1 reply; 3+ messages in thread
From: Jeffrey A Law @ 1999-01-31 23:58 UTC (permalink / raw)
  To: egcs

I just checked in a bugfix to regmove that may (or may not) have a positive
effect on the global register allocator.

Basically regmove could incorrectly update the live length of a register,
which is one of the 3 key components which drive what registers have allocation
priority in the global register allocation phase.

regmove should now keep that data more accurate, which should in turn improve
allocation.  The difference may (or may not) be noticable.

jeff

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

* Re: regmove fix
  1999-01-31 23:58 regmove fix Jeffrey A Law
@ 1999-01-31 23:58 ` Marc Espie
  1999-01-31 23:58   ` Jeffrey A Law
  0 siblings, 1 reply; 3+ messages in thread
From: Marc Espie @ 1999-01-31 23:58 UTC (permalink / raw)
  To: egcs

It may be a few days before I can tell you the result, from my point
of view.
Basically, it seems that egcs-current is more aggressive, and broke a
few asm statements, that were probably badly formed, e.g.,

__asm __volatile("cld\n\trepne\n\toutsl"  :
: "d" (port), "S" (addr), "c" (cnt) : "%esi", "%ecx");

Since I don't know enough about i386 assembler, I'm getting some other
developpers to fix them... I hope to have some relevant statistics right
after that...

In article < 11604.916626751@hurl.cygnus.com > you write:

>I just checked in a bugfix to regmove that may (or may not) have a positive
>effect on the global register allocator.

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

end of thread, other threads:[~1999-01-31 23:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-01-31 23:58 regmove fix Jeffrey A Law
1999-01-31 23:58 ` Marc Espie
1999-01-31 23:58   ` Jeffrey A Law

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).