Build and test memory functions in glibc-2.25
Lu, Hongjiu
hongjiu.lu@intel.com
Mon Mar 27 16:01:00 GMT 2017
Hi hongjiu and glibc developers,
I was investigating whether a few memory functions(memcpy, memset, memmove) with various versions(sse4, ssse3, avx2, avx512) in glibc-2.25 could have performance gain for our server programs in Linux(glibc 2.12). I put the detailed question on stackoverflow(http://stackoverflow.com/questions/42999511/port-glibc-2-25-and-test-memory-functions). In short, my questions are as follows:
1. I built glibc-2.25 on my dev machine and run my application under newly built glibc. Then did the glibc select the most suitable version of memory functions automatically for me according to the cpu/os/memory?
That is correct.
H.J.
----
2. If #1’s answer is no, do I need to tweak a few options for ./configuration and make to achieve that?
3. If #2 is impossible, I was wondering if I need to dispatch the memcpy/memset/memmove calls to the appropriate version of functions with __attribute__((ifunc))( https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40528 ) manually according to the corresponding boolean test of the cpu(Built-in Function: int __builtin_cpu_supports (const char *feature))?
I reviewed changelog and the related links above and put hongjiu on the list explicitly. Please help take a look and I’m looking forward to your replies.
Thanks in advance.
________________________________________
wentingli(李文亭)
More information about the Libc-help
mailing list