This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] i386: Assembly Implementation cleanup
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: "H.J. Lu" <hjl dot tools at gmail dot com>, Adhemerval Zanella <adhemerval dot zanella at linaro dot org>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 12 Aug 2015 17:04:36 +0000
- Subject: Re: [PATCH] i386: Assembly Implementation cleanup
- Authentication-results: sourceware.org; auth=none
- References: <5596AD3B dot 1060903 at linaro dot org> <CAMe9rOof5LzNfW_Yd2qgtX2=UMdP-E-ewdneJ9GjiCF9SPyNqQ at mail dot gmail dot com> <55CB3E37 dot 8080006 at linaro dot org> <CAMe9rOr6a+iNtDjx6xT3KWYsyetpDswu8Zm8rQiJWS9CtP5f6w at mail dot gmail dot com> <55CB5FDA dot 9050802 at redhat dot com>
On Wed, 12 Aug 2015, Florian Weimer wrote:
> On 08/12/2015 02:44 PM, H.J. Lu wrote:
>
> > Is there a way to truly inline syscall with 6 arguments, not by calling
> > __libc_do_syscall?
>
> Yes, newer GCC versions are able to spill %ebx just by writing
> appropriate constraints.
I don't think that test is really relevant. What's relevant is an asm
that *uses every register other than %esp as an input*, as part of a
larger function that does more than just have the asm. (Or uses every
register either as an input or as a clobber with some arguments coming
from the stack, but that could be less efficient and this discussion seems
to be about optimal code sequences.)
--
Joseph S. Myers
joseph@codesourcery.com