pulp/core_arch/x86/
sse41.rs1use super::*;
2
3impl Sse4_1 {
4 delegate!({
5 fn _mm_blendv_epi8(a: __m128i, b: __m128i, mask: __m128i) -> __m128i;
6 fn _mm_blend_epi16<const IMM8: i32>(a: __m128i, b: __m128i) -> __m128i;
7 fn _mm_blendv_pd(a: __m128d, b: __m128d, mask: __m128d) -> __m128d;
8 fn _mm_blendv_ps(a: __m128, b: __m128, mask: __m128) -> __m128;
9 fn _mm_blend_pd<const IMM2: i32>(a: __m128d, b: __m128d) -> __m128d;
10 fn _mm_blend_ps<const IMM4: i32>(a: __m128, b: __m128) -> __m128;
11 fn _mm_extract_ps<const IMM8: i32>(a: __m128) -> i32;
12 fn _mm_extract_epi8<const IMM8: i32>(a: __m128i) -> i32;
13 fn _mm_extract_epi32<const IMM8: i32>(a: __m128i) -> i32;
14 fn _mm_insert_ps<const IMM8: i32>(a: __m128, b: __m128) -> __m128;
15 fn _mm_insert_epi8<const IMM8: i32>(a: __m128i, i: i32) -> __m128i;
16 fn _mm_insert_epi32<const IMM8: i32>(a: __m128i, i: i32) -> __m128i;
17 fn _mm_max_epi8(a: __m128i, b: __m128i) -> __m128i;
18 fn _mm_max_epu16(a: __m128i, b: __m128i) -> __m128i;
19 fn _mm_max_epi32(a: __m128i, b: __m128i) -> __m128i;
20 fn _mm_max_epu32(a: __m128i, b: __m128i) -> __m128i;
21 fn _mm_min_epi8(a: __m128i, b: __m128i) -> __m128i;
22 fn _mm_min_epu16(a: __m128i, b: __m128i) -> __m128i;
23 fn _mm_min_epi32(a: __m128i, b: __m128i) -> __m128i;
24 fn _mm_min_epu32(a: __m128i, b: __m128i) -> __m128i;
25 fn _mm_packus_epi32(a: __m128i, b: __m128i) -> __m128i;
26 fn _mm_cmpeq_epi64(a: __m128i, b: __m128i) -> __m128i;
27 fn _mm_cvtepi8_epi16(a: __m128i) -> __m128i;
28 fn _mm_cvtepi8_epi32(a: __m128i) -> __m128i;
29 fn _mm_cvtepi8_epi64(a: __m128i) -> __m128i;
30 fn _mm_cvtepi16_epi32(a: __m128i) -> __m128i;
31 fn _mm_cvtepi16_epi64(a: __m128i) -> __m128i;
32 fn _mm_cvtepi32_epi64(a: __m128i) -> __m128i;
33 fn _mm_cvtepu8_epi16(a: __m128i) -> __m128i;
34 fn _mm_cvtepu8_epi32(a: __m128i) -> __m128i;
35 fn _mm_cvtepu8_epi64(a: __m128i) -> __m128i;
36 fn _mm_cvtepu16_epi32(a: __m128i) -> __m128i;
37 fn _mm_cvtepu16_epi64(a: __m128i) -> __m128i;
38 fn _mm_cvtepu32_epi64(a: __m128i) -> __m128i;
39 fn _mm_dp_pd<const IMM8: i32>(a: __m128d, b: __m128d) -> __m128d;
40 fn _mm_dp_ps<const IMM8: i32>(a: __m128, b: __m128) -> __m128;
41 fn _mm_floor_pd(a: __m128d) -> __m128d;
42 fn _mm_floor_ps(a: __m128) -> __m128;
43 fn _mm_floor_sd(a: __m128d, b: __m128d) -> __m128d;
44 fn _mm_floor_ss(a: __m128, b: __m128) -> __m128;
45 fn _mm_ceil_pd(a: __m128d) -> __m128d;
46 fn _mm_ceil_ps(a: __m128) -> __m128;
47 fn _mm_ceil_sd(a: __m128d, b: __m128d) -> __m128d;
48 fn _mm_ceil_ss(a: __m128, b: __m128) -> __m128;
49 fn _mm_round_pd<const ROUNDING: i32>(a: __m128d) -> __m128d;
50 fn _mm_round_ps<const ROUNDING: i32>(a: __m128) -> __m128;
51 fn _mm_round_sd<const ROUNDING: i32>(a: __m128d, b: __m128d) -> __m128d;
52 fn _mm_round_ss<const ROUNDING: i32>(a: __m128, b: __m128) -> __m128;
53 fn _mm_minpos_epu16(a: __m128i) -> __m128i;
54 fn _mm_mul_epi32(a: __m128i, b: __m128i) -> __m128i;
55 fn _mm_mullo_epi32(a: __m128i, b: __m128i) -> __m128i;
56 fn _mm_mpsadbw_epu8<const IMM8: i32>(a: __m128i, b: __m128i) -> __m128i;
57 fn _mm_testz_si128(a: __m128i, mask: __m128i) -> i32;
58 fn _mm_testc_si128(a: __m128i, mask: __m128i) -> i32;
59 fn _mm_testnzc_si128(a: __m128i, mask: __m128i) -> i32;
60 fn _mm_test_all_zeros(a: __m128i, mask: __m128i) -> i32;
61 fn _mm_test_all_ones(a: __m128i) -> i32;
62 fn _mm_test_mix_ones_zeros(a: __m128i, mask: __m128i) -> i32;
63 });
64}