This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Multiarch optimization for strncat on PowerPC64
- From: Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Sat, 08 Mar 2014 15:13:19 -0300
- Subject: Re: [PATCH] Multiarch optimization for strncat on PowerPC64
- Authentication-results: sourceware.org; auth=none
- References: <5310CE87 dot 7040406 at linux dot vnet dot ibm dot com> <5315E8D2 dot 2010201 at linux dot vnet dot ibm dot com> <53184F47 dot 3030307 at linux dot vnet dot ibm dot com> <53186C49 dot 6000006 at linux dot vnet dot ibm dot com> <5318B402 dot 6060703 at linux dot vnet dot ibm dot com>
Vidya,
Revising your patch I found one issue and one improvement. The issue is by doing:
+ beq cr0,L(done)
+
+ mr r31, r4 /* save "s2" in r31 from r4 */
+ bl strlen /* call optimized strlen on s1; goto end of s1 */
You create a PLT branch, since strlen for powerpc64[le] builds are not an IFUNC.
I think you didn't catch it in your tests because the check-localplt test is not
handling it correct (I'll send a patch shortly to fix it).
The improvement is I noted the word read/store is not really helping in mostly
benchmark measurements. So fix both, along with some formatting issues, and pushed
in a user branch azanella/strncat-opt-ppc64. If you are OK with the changes I will
push it.