On Tue, Jan 13, 2015 at 02:14:30PM +0300, Andrew Senkevich wrote: > >> Consensus is required to commit x86_64 vector math functions by Glibc > >> maintainer. > > > > With the difference that b stands for SSE2, not SSE4, and the fact > > that those functions do not use the __regcall calling conventions, but > > normal psABI calling conventions after replacing the arguments/return values > > with the vectors documented in the 0.9.5 pdf (and/or adding the vector mask > > arg) it describes what has been implemented, yes. > > But which name use for SSE4? > Gcc generates the same as for SSE2, and we now have SSE4 implementations.
You probably need to use IFUNC for that. The problem is that the _Z*b* symbol can be called even in code that requires only SSE2 HW, so you can't assume that because somebody called you through this symbol you have SSE4 available. You know you have at least SSE2 or higher available. Jakub