This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] S/390: Fix two issues with the IFUNC optimized mem* routines
- From: Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: libc-alpha at sourceware dot org
- Date: Thu, 06 Sep 2012 17:24:23 +0200
- Subject: Re: [PATCH] S/390: Fix two issues with the IFUNC optimized mem* routines
- References: <20120829104421.GA27985@bart> <503F7FCA.40503@twiddle.net> <503F8328.20703@linux.vnet.ibm.com> <503F95A9.8030604@twiddle.net> <5048A075.9040101@linux.vnet.ibm.com> <5048B832.80701@twiddle.net>
On 06/09/12 16:50, Richard Henderson wrote:
> On 09/06/2012 06:09 AM, Andreas Krebbel wrote:
>> I tried this when implementing the z10 support. Unfortunately in most
>> cases using a GOT pointer is faster since all the instructions
>> support the <disp>(r12) address format and therefore can directly
>> deal with the GOT slot. Not having a GOT pointer requires more
>> additional load relatives to be put into the code.
>
> You mean like add, for combining the loaded address with some
> other offset? I'm surprised that happens often enough to have
> a noticeable effect. Unless there's some secondary effect I'm
> not considering?
Sorry I did confuse this with my literal pool experiments. You are right using GOT contents in
arithmetic instructions should be a rare case. I'll have a look.
Thanks.
-Andreas-