This is the mail archive of the
mailing list for the GCC project.
Re: gcc Digest 26 Dec 2014 16:51:42 -0000 Issue 7953
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- Cc: GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Tue, 13 Jan 2015 12:28:37 +0100
- Subject: Re: gcc Digest 26 Dec 2014 16:51:42 -0000 Issue 7953
- Authentication-results: sourceware.org; auth=none
- References: <1419612702 dot 12230 dot ezmlm at gcc dot gnu dot org> <CAMXFM3vYMfEmpWZc4oodM-5HN7sjcV5BZ007HyPHVOeLa+dHqA at mail dot gmail dot com> <20150112164640 dot GM1405 at tucnak dot redhat dot com> <CAMXFM3tVe8u4vtrNA+sJ4eGkOCwyxc=V3Hd39iE+CL8HQ+UEVg at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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.