[i386] Replace builtins with vector extensions
Marc Glisse
marc.glisse@inria.fr
Sat Jun 28 10:42:00 GMT 2014
Ping,
nobody has an opinion on this? Or some explanation why I am mistaken to
believe that #pragma target makes it safer now?
It would enable a number of optimizations, like constant propagation, FMA
contraction, etc. It would also allow us to remove several builtins.
On Sat, 17 May 2014, Marc Glisse wrote:
> Ping
>
> On Mon, 28 Apr 2014, Marc Glisse wrote:
>
>> Ping
>> http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00590.html
>>
>> (note that ARM seems to be doing the same thing for their neon intrinsics,
>> see Ramana's patch series posted today)
>>
>> On Fri, 11 Apr 2014, Marc Glisse wrote:
>>
>>> Hello,
>>>
>>> the previous discussion on the topic was before we added all those #pragma
>>> target in *mmintrin.h:
>>>
>>> http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00374.html
>>>
>>> I believe that removes a large part of the arguments against it. Note that
>>> I only did a few of the more obvious intrinsics, I am waiting to see if
>>> this patch is accepted before doing more.
>>>
>>> Bootstrap+testsuite on x86_64-linux-gnu.
>>>
>>> 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
>>>
>>> * config/i386/xmmintrin.h (_mm_add_ps, _mm_sub_ps, _mm_mul_ps,
>>> _mm_div_ps, _mm_store_ss, _mm_cvtss_f32): Use vector extensions
>>> instead of builtins.
>>> * config/i386/emmintrin.h (_mm_store_sd, _mm_cvtsd_f64, _mm_storeh_pd,
>>> _mm_cvtsi128_si64, _mm_cvtsi128_si64x, _mm_add_pd, _mm_sub_pd,
>>> _mm_mul_pd, _mm_div_pd, _mm_storel_epi64, _mm_movepi64_pi64,
>>> _mm_loadh_pd, _mm_loadl_pd): Likewise.
>>> (_mm_sqrt_sd): Fix comment.
--
Marc Glisse
More information about the Gcc-patches
mailing list