On 06/04/2018 11:19 AM, Adhemerval Zanella wrote:
Yes, using cortex-strings as the bridge is indeed the preferred way. I am asking which strategy do you see:
Adding ifunc variants and add them as default if system advertise SVE support.
Or adding as an extra option (as Szabolcs has proposed sometime ago for LSE), where one would need to build and extra glibc library and loader will select it if the case.
When bringing them to glibc, I would use ifuncs. SVE is isolatable to a few routines.
LSE becomes scattered throughout libc, which is why an extra binary was proposed. Although for LSE it might work just as well to pull the atomic operations out to helper functions and ifunc those as well. It really all depends on the relative costs.
r~