[x86, 2/n] Replace builtins with vector extensions

Marc Glisse marc.glisse@inria.fr
Tue Nov 4 20:32:00 GMT 2014


Ping?
https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01808.html

On Sat, 18 Oct 2014, Marc Glisse wrote:

> Hello,
>
> this time, +-* for 128 bit integer vectors. I am using an unsigned type so 
> the compiler knows that we expect wrapping. I don't know why Intel's 
> description of mullo insists that the multiplication is signed, that only 
> matters for the high part...
>
> Next parts (waiting for approval for this one) should be:
> - same thing with 256 and 512 bit integer vectors
> - & | ^ (integer only)
>
> Maybe (or it can wait until the next release):
> - < > == abs min max (integer only)
>
>
> 2014-10-20  Marc Glisse  <marc.glisse@inria.fr>
>
> 	* config/i386/emmintrin.h (__v2du, __v4su, __v8hu, __v16qu): New
> 	typedefs.
> 	(_mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
> 	_mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
> 	_mm_mullo_epi16): Use vector extensions instead of builtins.
> 	* config/i386/smmintrin.h (_mm_mullo_epi32): Likewise.
>
>

-- 
Marc Glisse



More information about the Gcc-patches mailing list