This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Useless %esp manipulation; omitting "l" suffix in assembly output; getting the address of a label from another function.
- From: Mark J Roberts <mjr at znex dot org>
- To: Richard Henderson <rth at redhat dot com>, gcc at gcc dot gnu dot org
- Date: Thu, 10 Apr 2003 20:30:58 -0500
- Subject: Re: Useless %esp manipulation; omitting "l" suffix in assembly output; getting the address of a label from another function.
- References: <20030410225000.GA12733@znex> <20030410234848.GG4350@redhat.com>
Richard Henderson:
> I disagree about legibility. And, you've no idea how this
> affects various legacy assemblers.
Maybe this could be an option? I imagine many people don't use the
suffixes and would naturally prefer to see more familiar output.
If it's too ugly to implement this in gcc, I guess I'll throw a perl
script together and stick that in my compile scripts.
> No thanks. There are several other solutions you can use here.
Nothing quite as simple though. There's
goto *(void *[]){&&i0, &&i1, &&i2, &&i3}[n];
which is generic and also the more limited
goto *(addr ?: &&l0); /* special case */
that I can think of, and I suppose I'll end up doing the latter as
it seems a little quicker.