diff options
author | Eric Christopher <echristo@apple.com> | 2010-03-11 23:50:18 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2010-03-11 23:50:18 +0000 |
commit | e486f68b590238bb1fd4c5576b668c34049faebb (patch) | |
tree | f3e75b10939654136a841d756d33b636352cf50c /clang | |
parent | f5c2a6b371e382a5d913805fcd373785d28015b5 (diff) | |
download | bcm5719-llvm-e486f68b590238bb1fd4c5576b668c34049faebb.tar.gz bcm5719-llvm-e486f68b590238bb1fd4c5576b668c34049faebb.zip |
Integer array extraction for sse4.1.
llvm-svn: 98305
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Headers/smmintrin.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Headers/smmintrin.h b/clang/lib/Headers/smmintrin.h index 7bc33293002..29a9c37b45e 100644 --- a/clang/lib/Headers/smmintrin.h +++ b/clang/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 */ |