This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] Optimize i386 syscall inlining for GCC 5
- From: Zack Weinberg <zackw at panix dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 12 Aug 2015 19:37:20 -0400
- Subject: Re: [PATCH] Optimize i386 syscall inlining for GCC 5
- Authentication-results: sourceware.org; auth=none
- References: <20150812192001 dot GA12730 at intel dot com> <20150812221203 dot GA4224 at intel dot com>
If I'm reading that right, it's still not quite optimal; there's an
unnecessary register shuffle after the system call... better would be
; set errno and return -1
I think the compiler might've done it the way it did because then it
could hoist the xor %eax,%eax above the comparison, but the branch is
so unlikely that that's not a good choice.
But also, in context, I think it would be more helpful if you could
show the generated assembly for a *six*-argument syscall, ne?