From 6fa43e3aaf98afc3b337968429523e80f6e08d91 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Thu, 11 Mar 2010 23:36:29 +0000 Subject: [PATCH] Add packed integer array insertion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98299 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Headers/smmintrin.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/Headers/smmintrin.h b/lib/Headers/smmintrin.h index b3bdac6885..7bc3329300 100644 --- a/lib/Headers/smmintrin.h +++ b/lib/Headers/smmintrin.h @@ -199,6 +199,19 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) /* Extract a float from X at index N into the first index of the return. */ #define _MM_PICK_OUT_PS(X, N) _mm_insert_ps (_mm_setzero_ps(), (X), \ _MM_MK_INSERTPS_NDX((N), 0, 0x0e)) + +/* Insert int into packed integer array at index. */ +#define _mm_insert_epi8(X, I, N) (__extension__ ({ __v16qi __a = (__v16qi)X; \ + __a[N] = I; \ + __a;})) +#define _mm_insert_epi32(X, I, N) (__extension__ ({ __v4si __a = (__v4si)X; \ + __a[N] = I; \ + __a;})) +#ifdef __x86_64__ +#define _mm_insert_epi64(X, I, N) (__extension__ ({ __v2di __a = (__v2di)X; \ + __a[N] = I; \ + __a;})) +#endif /* __x86_64__ */ #endif /* __SSE4_1__ */ -- 2.40.0