From ff8aeaa9827188f9fc360cb4e0a6c8b6331edc8a Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Thu, 11 Mar 2010 23:50:18 +0000 Subject: [PATCH] Integer array extraction for sse4.1. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98305 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Headers/smmintrin.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/Headers/smmintrin.h b/lib/Headers/smmintrin.h index 7bc3329300..29a9c37b45 100644 --- a/lib/Headers/smmintrin.h +++ b/lib/Headers/smmintrin.h @@ -213,6 +213,16 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) __a;})) #endif /* __x86_64__ */ +/* Extract int from packed integer array at index. */ +#define _mm_extract_epi8(X, N) (__extension__ ({ __v16qi __a = (__v16qi)X; \ + __a[N];})) +#define _mm_extract_epi32(X, N) (__extension__ ({ __v4si __a = (__v4si)X; \ + __a[N];})) +#ifdef __x86_64__ +#define _mm_extract_epi64(X, N) (__extension__ ({ __v2di __a = (__v2di)X; \ + __a[N];})) +#endif /* __x86_64 */ + #endif /* __SSE4_1__ */ #endif /* _SMMINTRIN_H */ -- 2.40.0