Lines Matching refs:__m256i
27 __m256i v;
32 inline int16x16_m256i to_int16x16_m256i(__m256i w) { in to_int16x16_m256i()
39 struct FixedPointRawTypeTraits<__m256i> {
53 inline __m256i BitAnd(__m256i a, __m256i b) {
63 inline __m256i BitOr(__m256i a, __m256i b) {
73 inline __m256i BitXor(__m256i a, __m256i b) {
83 inline __m256i BitNot(__m256i a) {
93 inline __m256i Add(__m256i a, __m256i b) {
103 inline __m256i Mul(__m256i a, __m256i b) {
113 inline __m256i Sub(__m256i a, __m256i b) {
123 inline __m256i Neg(__m256i a) {
133 inline __m256i ShiftLeft(__m256i a, int offset) {
143 inline __m256i ShiftRight(__m256i a, int offset) {
153 inline __m256i SelectUsingMask(__m256i if_mask, __m256i then_val,
154 __m256i else_val) {
171 inline __m256i MaskIfEqual(__m256i a, __m256i b) {
181 inline __m256i MaskIfNotEqual(__m256i a, __m256i b) {
191 inline __m256i MaskIfZero(__m256i a) {
201 inline __m256i MaskIfNonZero(__m256i a) {
211 inline __m256i MaskIfGreaterThan(__m256i a, __m256i b) {
221 inline __m256i MaskIfLessThan(__m256i a, __m256i b) {
231 inline __m256i MaskIfGreaterThanOrEqual(__m256i a, __m256i b) {
242 inline __m256i MaskIfLessThanOrEqual(__m256i a, __m256i b) {
259 inline bool All(__m256i a) {
269 inline bool Any(__m256i a) {
279 inline __m256i RoundingHalfSum(__m256i a, __m256i b) {
293 __m256i one, sign_bit_mask, sum, rounded_half_sum, overflow, result;
308 __m256i constant_neg_32768 = _mm256_set1_epi16(-32768);
309 __m256i a_unsigned = _mm256_sub_epi16(a.v, constant_neg_32768);
310 __m256i b_unsigned = _mm256_sub_epi16(b.v, constant_neg_32768);
311 __m256i avg_unsigned = _mm256_avg_epu16(a_unsigned, b_unsigned);
312 __m256i avg = _mm256_add_epi16(avg_unsigned, constant_neg_32768);
317 inline __m256i SaturatingRoundingDoublingHighMul(__m256i a, __m256i b) {
318 __m256i min, saturation_mask, a0_a2, a1_a3, b0_b2, b1_b3;
319 __m256i a0b0_a2b2, a1b1_a3b3, a0b0_a2b2_rounded, a1b1_a3b3_rounded;
320 __m256i a0b0_a2b2_rounded_2x, a1b1_a3b3_rounded_2x, result;
321 __m256i nudge;
359 __m256i result_unsaturated = _mm256_mulhrs_epi16(a.v, b.v);
360 __m256i saturation_mask =
362 __m256i result = _mm256_xor_si256(result_unsaturated, saturation_mask);
367 inline __m256i Dup<__m256i>(std::int32_t x) {