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 * 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