[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT/INTEL-INTRINSICS PATCH v2 2/3] _mm_alignr_epi8 to use compiler builtin
Hey Felipe, The patch looks great, thanks! Vlad Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> On 6/16/19 12:29 AM, Felipe Huici wrote: > From: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> > > _mm_alignr_epi8 uses the __builtin_ia32_palignr128 function for its > implementation. The builtin function has a different signature on > gcc vs llvm. We provide compiler guards to use the appropriate builtin > function. > > Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx> > Signed-off-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> > --- > include/tmmintrin.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/include/tmmintrin.h b/include/tmmintrin.h > index 7a94096..7c9ece6 100644 > --- a/include/tmmintrin.h > +++ b/include/tmmintrin.h > @@ -163,9 +163,15 @@ _mm_abs_epi32(__m128i __a) > /// An immediate operand specifying how many bytes to right-shift the > result. > /// \returns A 128-bit integer vector containing the concatenated > right-shifted > /// value. > +#ifdef __GNUC__ > +#define _mm_alignr_epi8(a, b, n) \ > + (__m128i)__builtin_ia32_palignr128((__v2di)(__m128i)(a), \ > + (__v2di)(__m128i)(b), (n)) > +#else > #define _mm_alignr_epi8(a, b, n) \ > (__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \ > (__v16qi)(__m128i)(b), (n)) > +#endif > > /// Concatenates the two 64-bit integer vector operands, and right-shifts > /// the result by the number of bytes specified in the immediate operand. _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |