This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc Digest 26 Dec 2014 16:51:42 -0000 Issue 7953
- From: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Tue, 13 Jan 2015 17:32:15 +0300
- 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> <20150113112837 dot GY1405 at tucnak dot redhat dot com>
2015-01-13 14:28 GMT+03:00 Jakub Jelinek <jakub@redhat.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.
Ok, we can add SSE2 implementations and IFUNC selection and reflect it
in agreement also.
--
WBR,
Andrew