Lines Matching defs:imm

1916 ///    according to control information in the integer literal \a imm, and
1923 /// k := (imm >> i*2)[1:0] * 32
1932 /// __m256i _mm256_shuffle_epi32(__m256i a, const int imm);
1939 /// \param imm
1941 /// \a imm[1:0] specifies the index in \a a for elements 0 and 4 of the
1942 /// result, \a imm[3:2] specifies the index for elements 1 and 5, and so
1945 #define _mm256_shuffle_epi32(a, imm) \
1946 ((__m256i)__builtin_ia32_pshufd256((__v8si)(__m256i)(a), (int)(imm)))
1949 /// according to control information in the integer literal \a imm, and
1959 /// k := (imm >> i*2)[1:0] * 16 + 64
1968 /// __m256i _mm256_shufflehi_epi16(__m256i a, const int imm);
1975 /// \param imm
1977 /// \a imm[1:0] specifies the index in \a a for elements 4 and 8 of the
1978 /// result, \a imm[3:2] specifies the index for elements 5 and 9, and so
1981 #define _mm256_shufflehi_epi16(a, imm) \
1982 ((__m256i)__builtin_ia32_pshufhw256((__v16hi)(__m256i)(a), (int)(imm)))
1985 /// according to control information in the integer literal \a imm, and
1995 /// k := (imm >> i*2)[1:0] * 16
2004 /// __m256i _mm256_shufflelo_epi16(__m256i a, const int imm);
2012 /// \param imm
2014 /// \a imm[1:0] specifies the index in \a a for elements 0 and 8 of the
2015 /// result, \a imm[3:2] specifies the index for elements 1 and 9, and so
2018 #define _mm256_shufflelo_epi16(a, imm) \
2019 ((__m256i)__builtin_ia32_pshuflw256((__v16hi)(__m256i)(a), (int)(imm)))
2085 /// \a imm bytes, shifting in zero bytes, and returns the result. If \a imm
2091 /// __m256i _mm256_slli_si256(__m256i a, const int imm);
2098 /// \param imm
2101 #define _mm256_slli_si256(a, imm) \
2102 ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v4di)(__m256i)(a), (int)(imm)))
2105 /// \a imm bytes, shifting in zero bytes, and returns the result. If \a imm
2111 /// __m256i _mm256_bslli_epi128(__m256i a, const int imm);
2118 /// \param imm
2121 #define _mm256_bslli_epi128(a, imm) \
2122 ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v4di)(__m256i)(a), (int)(imm)))
2329 /// \a imm bytes, shifting in zero bytes, and returns the result. If
2330 /// \a imm is greater than 15, the returned result is all zeroes.
2335 /// __m256i _mm256_srli_si256(__m256i a, const int imm);
2342 /// \param imm
2345 #define _mm256_srli_si256(a, imm) \
2346 ((__m256i)__builtin_ia32_psrldqi256_byteshift((__m256i)(a), (int)(imm)))
2349 /// \a imm bytes, shifting in zero bytes, and returns the result. If
2350 /// \a imm is greater than 15, the returned result is all zeroes.
2355 /// __m256i _mm256_bsrli_epi128(__m256i a, const int imm);
2362 /// \param imm
2365 #define _mm256_bsrli_epi128(a, imm) \
2366 ((__m256i)__builtin_ia32_psrldqi256_byteshift((__m256i)(a), (int)(imm)))