This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [i386] Replace builtins with vector extensions
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Marc Glisse <marc dot glisse at inria dot fr>
- Cc: Olivier Hainque <hainque at adacore dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 9 Oct 2014 19:56:02 +0200
- Subject: Re: [i386] Replace builtins with vector extensions
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot DEB dot 2 dot 02 dot 1404112137530 dot 19663 at stedding dot saclay dot inria dot fr> <alpine dot DEB dot 2 dot 10 dot 1404281322180 dot 3620 at laptop-mg dot saclay dot inria dot fr> <alpine dot DEB dot 2 dot 10 dot 1405171529460 dot 3642 at laptop-mg dot saclay dot inria dot fr> <alpine dot DEB dot 2 dot 10 dot 1406281230560 dot 9234 at laptop-mg dot saclay dot inria dot fr> <20140703101605 dot GA12583 at msticlxl57 dot ims dot intel dot com> <alpine dot DEB dot 2 dot 10 dot 1407031613450 dot 2526 at laptop-mg dot saclay dot inria dot fr> <20140708111402 dot GB14139 at msticlxl57 dot ims dot intel dot com> <alpine dot DEB dot 2 dot 11 dot 1407261739190 dot 19562 at stedding dot saclay dot inria dot fr> <alpine dot DEB dot 2 dot 11 dot 1410091158301 dot 1624 at laptop-mg dot saclay dot inria dot fr> <7682A86E-125C-46F8-8C67-701A77A34529 at adacore dot com> <alpine dot DEB dot 2 dot 11 dot 1410091918580 dot 8395 at laptop-mg dot saclay dot inria dot fr>
On Thu, Oct 9, 2014 at 7:46 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
>>> If this is accepted, I will gladly prepare patches removing the unused
>>> builtins and extending this to a few more operations (integer vectors in
>>> particular). If this is not the direction we want to go, I'd like to hear it
>>> clearly so I can move on...
>>
>>
>> As we discussed offlist, removing all the builtins would be problematic
>> for
>> Ada as they are the only medium allowing flexible access to vector
>> instructions
>> (aside autovectorization) for users.
>>
>> Today, the model is very simple: people who want to build on top of vector
>> operations just bind to the builtins they need and expose higher level
>> interfaces if they like, provided proper type definitions (see g-sse.ads
>> for
>> example).
>
>
> It is sad that this prevents us from removing the builtins, but I agree that
> we can't just drop ada+sse users like that. Well, less work for me if I
> don't have to remove the builtins, and my main motivation is optimization,
> even if I tried to sell the clean up to convince people.
>
> Uros, is it still ok if I change the intrinsics without removing the
> builtins? (with testcases for HJ and not before Kirill says it is ok)
Given that this will be a substantial work and considering the request
from Kirill, what do you think about separate development branch until
AVXn stuff is finished? This will give a couple of weeks and a
playground to finalize the approach for the conversion. Maybe even ada
can be tested there to not regress with the compatibility stuff.
Uros.