FD.io VPP  v16.06
Vector Packet Processing
vector_sse2.h File Reference
+ Include dependency graph for vector_sse2.h:

Go to the source code of this file.

Macros

#define i64x2_splat   u64x2_splat
 
#define i32x4_splat   u32x4_splat
 
#define i16x8_splat   u16x8_splat
 
#define i8x16_splat   u8x16_splat
 
#define i32x2_splat   u32x2_splat
 
#define i16x4_splat   u16x4_splat
 
#define i8x8_splat   u8x8_splat
 
#define u8x16_word_shift_left(a, n)   (u8x16) _mm_slli_si128((__m128i) a, n)
 
#define u8x16_word_shift_right(a, n)   (u8x16) _mm_srli_si128((__m128i) a, n)
 
#define i8x16_word_shift_left(a, n)   ((i8x16) u8x16_word_shift_left((u8x16) (a), (n)))
 
#define i8x16_word_shift_right(a, n)   ((i8x16) u8x16_word_shift_right((u8x16) (a), (n)))
 
#define u16x8_word_shift_left(a, n)   ((u16x8) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u16)))
 
#define i16x8_word_shift_left(a, n)   ((u16x8) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u16)))
 
#define u16x8_word_shift_right(a, n)   ((u16x8) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u16)))
 
#define i16x8_word_shift_right(a, n)   ((i16x8) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u16)))
 
#define u32x4_word_shift_left(a, n)   ((u32x4) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u32)))
 
#define i32x4_word_shift_left(a, n)   ((u32x4) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u32)))
 
#define u32x4_word_shift_right(a, n)   ((u32x4) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u32)))
 
#define i32x4_word_shift_right(a, n)   ((i32x4) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u32)))
 
#define u64x2_word_shift_left(a, n)   ((u64x2) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u64)))
 
#define i64x2_word_shift_left(a, n)   ((u64x2) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u64)))
 
#define u64x2_word_shift_right(a, n)   ((u64x2) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u64)))
 
#define i64x2_word_shift_right(a, n)   ((i64x2) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u64)))
 
#define u32x4_select(A, MASK)
 
#define u32x4_splat_word(x, i)
 

Functions

always_inline u8x16 u8x16_interleave_hi (u8x16 a, u8x16 b)
 
always_inline u8x16 u8x16_interleave_lo (u8x16 a, u8x16 b)
 
always_inline u16x8 u16x8_interleave_hi (u16x8 a, u16x8 b)
 
always_inline u16x8 u16x8_interleave_lo (u16x8 a, u16x8 b)
 
always_inline u32x4 u32x4_interleave_hi (u32x4 a, u32x4 b)
 
always_inline u32x4 u32x4_interleave_lo (u32x4 a, u32x4 b)
 
always_inline u64x2 u64x2_interleave_hi (u64x2 a, u64x2 b)
 
always_inline u64x2 u64x2_interleave_lo (u64x2 a, u64x2 b)
 
always_inline u8x8 u8x8_interleave_hi (u8x8 a, u8x8 b)
 
always_inline u8x8 u8x8_interleave_lo (u8x8 a, u8x8 b)
 
always_inline u16x4 u16x4_interleave_hi (u16x4 a, u16x4 b)
 
always_inline u16x4 u16x4_interleave_lo (u16x4 a, u16x4 b)
 
always_inline u32x2 u32x2_interleave_hi (u32x2 a, u32x2 b)
 
always_inline u32x2 u32x2_interleave_lo (u32x2 a, u32x2 b)
 
always_inline u8x16 u16x8_pack (u16x8 lo, u16x8 hi)
 
always_inline i8x16 i16x8_pack (i16x8 lo, i16x8 hi)
 
always_inline u16x8 u32x4_pack (u32x4 lo, u32x4 hi)
 
always_inline u8x8 u16x4_pack (u16x4 lo, u16x4 hi)
 
always_inline i8x8 i16x4_pack (i16x4 lo, i16x4 hi)
 
always_inline u16x4 u32x2_pack (u32x2 lo, u32x2 hi)
 
always_inline i16x4 i32x2_pack (i32x2 lo, i32x2 hi)
 
always_inline u64x2 u64x2_splat (u64 a)
 
always_inline u32x4 u32x4_splat (u32 a)
 
always_inline u16x8 u16x8_splat (u16 a)
 
always_inline u8x16 u8x16_splat (u8 a)
 
always_inline u32x2 u32x2_splat (u32 a)
 
always_inline u16x4 u16x4_splat (u16 a)
 
always_inline u8x8 u8x8_splat (u8 a)
 
always_inline u64x2 u64x2_read_lo (u64x2 x, u64 *a)
 
always_inline u64x2 u64x2_read_hi (u64x2 x, u64 *a)
 
always_inline void u64x2_write_lo (u64x2 x, u64 *a)
 
always_inline void u64x2_write_hi (u64x2 x, u64 *a)
 
always_inline u16x8 u16x8_mul_lo (u16x8 x, u16x8 y)
 
always_inline i16x8 i16x8_mul_hi (i16x8 x, i16x8 y)
 
always_inline u16x8 u16x8_mul_hi (u16x8 x, u16x8 y)
 
always_inline u32x2 u32x2_shift_left (u32x2 x, u32x2 i)
 
always_inline u16x4 u16x4_shift_right (u16x4 x, u16x4 i)
 
always_inline u32x2 u32x2_shift_right (u32x2 x, u32x2 i)
 
always_inline i16x4 i16x4_shift_left (i16x4 x, i16x4 i)
 
always_inline i32x2 i32x2_shift_left (i32x2 x, i32x2 i)
 
always_inline i16x4 i16x4_shift_right (i16x4 x, i16x4 i)
 
always_inline i32x2 i32x2_shift_right (i32x2 x, i32x2 i)
 
always_inline u8x16 u8x16_is_equal (u8x16 x, u8x16 y)
 
always_inline i8x16 i8x16_is_equal (i8x16 x, i8x16 y)
 
always_inline u16x8 u16x8_is_equal (u16x8 x, u16x8 y)
 
always_inline i16x8 i16x8_is_equal (i16x8 x, i16x8 y)
 
always_inline u32x4 u32x4_is_equal (u32x4 x, u32x4 y)
 
always_inline i32x4 i32x4_is_equal (i32x4 x, i32x4 y)
 
always_inline u8x16 i8x16_is_greater (i8x16 x, i8x16 y)
 
always_inline u16x8 i16x8_is_greater (i16x8 x, i16x8 y)
 
always_inline u32x4 i32x4_is_greater (i32x4 x, i32x4 y)
 
always_inline u8x16 u8x16_is_zero (u8x16 x)
 
always_inline u16x8 u16x8_is_zero (u16x8 x)
 
always_inline u32x4 u32x4_is_zero (u32x4 x)
 
always_inline u32 u32x4_get0 (u32x4 x)
 
always_inline u32x4 u32x4_set0 (u32 x)
 
always_inline i32x4 i32x4_set0 (i32 x)
 
always_inline i32 i32x4_get0 (i32x4 x)
 
always_inline u32 u8x16_compare_byte_mask (u8x16 x)
 
always_inline u32 u32x4_compare_word_mask (u32x4 x)
 
always_inline u32 u8x16_zero_byte_mask (u8x16 x)
 
always_inline u32 u16x8_zero_byte_mask (u16x8 x)
 
always_inline u32 u32x4_zero_byte_mask (u32x4 x)
 
always_inline u8x16 u8x16_max (u8x16 x, u8x16 y)
 
always_inline u32 u8x16_max_scalar (u8x16 x)
 
always_inline u8x16 u8x16_min (u8x16 x, u8x16 y)
 
always_inline u8 u8x16_min_scalar (u8x16 x)
 
always_inline i16x8 i16x8_max (i16x8 x, i16x8 y)
 
always_inline i16 i16x8_max_scalar (i16x8 x)
 
always_inline i16x8 i16x8_min (i16x8 x, i16x8 y)
 
always_inline i16 i16x8_min_scalar (i16x8 x)
 

Variables

 add
 
add_epi add_epi sub
 
add_epi add_epi sub_epi sub_epi add_saturate
 
add_epi add_epi sub_epi sub_epi adds_epu sub_saturate
 
add_epi add_epi sub_epi sub_epi adds_epu subs_epu i16x8 y { return (i16x8) _mm_mullo_epi16 ((__m128i) x, (__m128i) y)
 
 left
 
sll right
 
sll srl srl sll sra u16x4 i { return (u16x4) _m_psllw ((__m64) x, (__m64) i)
 
u8 u32x4_compare_word_mask_table [256]
 

Macro Definition Documentation

#define i16x4_splat   u16x4_splat

Definition at line 165 of file vector_sse2.h.

#define i16x8_splat   u16x8_splat

Definition at line 162 of file vector_sse2.h.

#define i16x8_word_shift_left (   a,
 
)    ((u16x8) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u16)))

Definition at line 300 of file vector_sse2.h.

#define i16x8_word_shift_right (   a,
 
)    ((i16x8) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u16)))

Definition at line 304 of file vector_sse2.h.

#define i32x2_splat   u32x2_splat

Definition at line 164 of file vector_sse2.h.

#define i32x4_splat   u32x4_splat

Definition at line 161 of file vector_sse2.h.

#define i32x4_word_shift_left (   a,
 
)    ((u32x4) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u32)))

Definition at line 309 of file vector_sse2.h.

#define i32x4_word_shift_right (   a,
 
)    ((i32x4) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u32)))

Definition at line 313 of file vector_sse2.h.

#define i64x2_splat   u64x2_splat

Definition at line 160 of file vector_sse2.h.

#define i64x2_word_shift_left (   a,
 
)    ((u64x2) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u64)))

Definition at line 318 of file vector_sse2.h.

#define i64x2_word_shift_right (   a,
 
)    ((i64x2) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u64)))

Definition at line 322 of file vector_sse2.h.

#define i8x16_splat   u8x16_splat

Definition at line 163 of file vector_sse2.h.

#define i8x16_word_shift_left (   a,
 
)    ((i8x16) u8x16_word_shift_left((u8x16) (a), (n)))

Definition at line 293 of file vector_sse2.h.

#define i8x16_word_shift_right (   a,
 
)    ((i8x16) u8x16_word_shift_right((u8x16) (a), (n)))

Definition at line 295 of file vector_sse2.h.

#define i8x8_splat   u8x8_splat

Definition at line 166 of file vector_sse2.h.

#define u16x8_word_shift_left (   a,
 
)    ((u16x8) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u16)))

Definition at line 298 of file vector_sse2.h.

#define u16x8_word_shift_right (   a,
 
)    ((u16x8) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u16)))

Definition at line 302 of file vector_sse2.h.

#define u32x4_select (   A,
  MASK 
)
Value:
({ \
u32x4 _x, _y; \
_x = (A); \
asm volatile ("pshufd %[mask], %[x], %[y]" \
: /* outputs */ [y] "=x" (_y) \
: /* inputs */ [x] "x" (_x), [mask] "i" (MASK)); \
_y; \
})
add_epi add_epi sub_epi sub_epi adds_epu subs_epu i16x8 y
Definition: vector_sse2.h:231

Definition at line 428 of file vector_sse2.h.

#define u32x4_splat_word (   x,
  i 
)
Value:
u32x4_select ((x), (((i) << (2*0)) \
| ((i) << (2*1)) \
| ((i) << (2*2)) \
| ((i) << (2*3))))
sll srl srl sll sra u16x4 i
Definition: vector_sse2.h:267
#define u32x4_select(A, MASK)
Definition: vector_sse2.h:428

Definition at line 438 of file vector_sse2.h.

#define u32x4_word_shift_left (   a,
 
)    ((u32x4) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u32)))

Definition at line 307 of file vector_sse2.h.

#define u32x4_word_shift_right (   a,
 
)    ((u32x4) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u32)))

Definition at line 311 of file vector_sse2.h.

#define u64x2_word_shift_left (   a,
 
)    ((u64x2) u8x16_word_shift_left((u8x16) (a), (n) * sizeof (u64)))

Definition at line 316 of file vector_sse2.h.

#define u64x2_word_shift_right (   a,
 
)    ((u64x2) u8x16_word_shift_right((u8x16) (a), (n) * sizeof (u64)))

Definition at line 320 of file vector_sse2.h.

#define u8x16_word_shift_left (   a,
 
)    (u8x16) _mm_slli_si128((__m128i) a, n)

Definition at line 290 of file vector_sse2.h.

#define u8x16_word_shift_right (   a,
 
)    (u8x16) _mm_srli_si128((__m128i) a, n)

Definition at line 291 of file vector_sse2.h.

Function Documentation

always_inline i8x8 i16x4_pack ( i16x4  lo,
i16x4  hi 
)

Definition at line 102 of file vector_sse2.h.

always_inline i16x4 i16x4_shift_left ( i16x4  x,
i16x4  i 
)

Definition at line 278 of file vector_sse2.h.

always_inline i16x4 i16x4_shift_right ( i16x4  x,
i16x4  i 
)

Definition at line 284 of file vector_sse2.h.

always_inline i16x8 i16x8_is_equal ( i16x8  x,
i16x8  y 
)

Definition at line 389 of file vector_sse2.h.

always_inline u16x8 i16x8_is_greater ( i16x8  x,
i16x8  y 
)

Definition at line 403 of file vector_sse2.h.

always_inline i16x8 i16x8_max ( i16x8  x,
i16x8  y 
)

Definition at line 528 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline i16 i16x8_max_scalar ( i16x8  x)

Definition at line 531 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline i16x8 i16x8_min ( i16x8  x,
i16x8  y 
)

Definition at line 539 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline i16 i16x8_min_scalar ( i16x8  x)

Definition at line 542 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline i16x8 i16x8_mul_hi ( i16x8  x,
i16x8  y 
)

Definition at line 236 of file vector_sse2.h.

always_inline i8x16 i16x8_pack ( i16x8  lo,
i16x8  hi 
)

Definition at line 92 of file vector_sse2.h.

always_inline i16x4 i32x2_pack ( i32x2  lo,
i32x2  hi 
)

Definition at line 108 of file vector_sse2.h.

always_inline i32x2 i32x2_shift_left ( i32x2  x,
i32x2  i 
)

Definition at line 281 of file vector_sse2.h.

always_inline i32x2 i32x2_shift_right ( i32x2  x,
i32x2  i 
)

Definition at line 287 of file vector_sse2.h.

always_inline i32 i32x4_get0 ( i32x4  x)

Definition at line 470 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline i32x4 i32x4_is_equal ( i32x4  x,
i32x4  y 
)

Definition at line 395 of file vector_sse2.h.

always_inline u32x4 i32x4_is_greater ( i32x4  x,
i32x4  y 
)

Definition at line 407 of file vector_sse2.h.

always_inline i32x4 i32x4_set0 ( i32  x)

Definition at line 466 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline i8x16 i8x16_is_equal ( i8x16  x,
i8x16  y 
)

Definition at line 383 of file vector_sse2.h.

always_inline u8x16 i8x16_is_greater ( i8x16  x,
i8x16  y 
)

Definition at line 399 of file vector_sse2.h.

always_inline u16x4 u16x4_interleave_hi ( u16x4  a,
u16x4  b 
)

Definition at line 76 of file vector_sse2.h.

always_inline u16x4 u16x4_interleave_lo ( u16x4  a,
u16x4  b 
)

Definition at line 79 of file vector_sse2.h.

always_inline u8x8 u16x4_pack ( u16x4  lo,
u16x4  hi 
)

Definition at line 99 of file vector_sse2.h.

always_inline u16x4 u16x4_shift_right ( u16x4  x,
u16x4  i 
)

Definition at line 272 of file vector_sse2.h.

always_inline u16x4 u16x4_splat ( u16  a)

Definition at line 147 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u16x8 u16x8_interleave_hi ( u16x8  a,
u16x8  b 
)

Definition at line 51 of file vector_sse2.h.

always_inline u16x8 u16x8_interleave_lo ( u16x8  a,
u16x8  b 
)

Definition at line 54 of file vector_sse2.h.

always_inline u16x8 u16x8_is_equal ( u16x8  x,
u16x8  y 
)

Definition at line 386 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u16x8 u16x8_is_zero ( u16x8  x)

Definition at line 416 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u16x8 u16x8_mul_hi ( u16x8  x,
u16x8  y 
)

Definition at line 239 of file vector_sse2.h.

always_inline u16x8 u16x8_mul_lo ( u16x8  x,
u16x8  y 
)

Definition at line 233 of file vector_sse2.h.

always_inline u8x16 u16x8_pack ( u16x8  lo,
u16x8  hi 
)

Definition at line 89 of file vector_sse2.h.

always_inline u16x8 u16x8_splat ( u16  a)

Definition at line 127 of file vector_sse2.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline u32 u16x8_zero_byte_mask ( u16x8  x)

Definition at line 492 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u32x2 u32x2_interleave_hi ( u32x2  a,
u32x2  b 
)

Definition at line 82 of file vector_sse2.h.

always_inline u32x2 u32x2_interleave_lo ( u32x2  a,
u32x2  b 
)

Definition at line 85 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u16x4 u32x2_pack ( u32x2  lo,
u32x2  hi 
)

Definition at line 105 of file vector_sse2.h.

always_inline u32x2 u32x2_shift_left ( u32x2  x,
u32x2  i 
)

Definition at line 269 of file vector_sse2.h.

always_inline u32x2 u32x2_shift_right ( u32x2  x,
u32x2  i 
)

Definition at line 275 of file vector_sse2.h.

always_inline u32x2 u32x2_splat ( u32  a)

Definition at line 140 of file vector_sse2.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline u32 u32x4_compare_word_mask ( u32x4  x)

Definition at line 479 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u32 u32x4_get0 ( u32x4  x)

Definition at line 446 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u32x4 u32x4_interleave_hi ( u32x4  a,
u32x4  b 
)

Definition at line 57 of file vector_sse2.h.

always_inline u32x4 u32x4_interleave_lo ( u32x4  a,
u32x4  b 
)

Definition at line 60 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u32x4 u32x4_is_equal ( u32x4  x,
u32x4  y 
)

Definition at line 392 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u32x4 u32x4_is_zero ( u32x4  x)

Definition at line 422 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u16x8 u32x4_pack ( u32x4  lo,
u32x4  hi 
)

Definition at line 95 of file vector_sse2.h.

always_inline u32x4 u32x4_set0 ( u32  x)

Definition at line 456 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u32x4 u32x4_splat ( u32  a)

Definition at line 119 of file vector_sse2.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline u32 u32x4_zero_byte_mask ( u32x4  x)

Definition at line 498 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u64x2 u64x2_interleave_hi ( u64x2  a,
u64x2  b 
)

Definition at line 63 of file vector_sse2.h.

always_inline u64x2 u64x2_interleave_lo ( u64x2  a,
u64x2  b 
)

Definition at line 66 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u64x2 u64x2_read_hi ( u64x2  x,
u64 a 
)

Definition at line 172 of file vector_sse2.h.

always_inline u64x2 u64x2_read_lo ( u64x2  x,
u64 a 
)

Definition at line 169 of file vector_sse2.h.

always_inline u64x2 u64x2_splat ( u64  a)

Definition at line 112 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline void u64x2_write_hi ( u64x2  x,
u64 a 
)

Definition at line 178 of file vector_sse2.h.

always_inline void u64x2_write_lo ( u64x2  x,
u64 a 
)

Definition at line 175 of file vector_sse2.h.

always_inline u32 u8x16_compare_byte_mask ( u8x16  x)

Definition at line 474 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u8x16 u8x16_interleave_hi ( u8x16  a,
u8x16  b 
)

Definition at line 45 of file vector_sse2.h.

always_inline u8x16 u8x16_interleave_lo ( u8x16  a,
u8x16  b 
)

Definition at line 48 of file vector_sse2.h.

always_inline u8x16 u8x16_is_equal ( u8x16  x,
u8x16  y 
)

Definition at line 380 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u8x16 u8x16_is_zero ( u8x16  x)

Definition at line 410 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u8x16 u8x16_max ( u8x16  x,
u8x16  y 
)

Definition at line 504 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u32 u8x16_max_scalar ( u8x16  x)

Definition at line 507 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u8x16 u8x16_min ( u8x16  x,
u8x16  y 
)

Definition at line 516 of file vector_sse2.h.

+ Here is the caller graph for this function:

always_inline u8 u8x16_min_scalar ( u8x16  x)

Definition at line 519 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u8x16 u8x16_splat ( u8  a)

Definition at line 133 of file vector_sse2.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline u32 u8x16_zero_byte_mask ( u8x16  x)

Definition at line 486 of file vector_sse2.h.

+ Here is the call graph for this function:

always_inline u8x8 u8x8_interleave_hi ( u8x8  a,
u8x8  b 
)

Definition at line 70 of file vector_sse2.h.

always_inline u8x8 u8x8_interleave_lo ( u8x8  a,
u8x8  b 
)

Definition at line 73 of file vector_sse2.h.

always_inline u8x8 u8x8_splat ( u8  a)

Definition at line 153 of file vector_sse2.h.

+ Here is the call graph for this function:

Variable Documentation

add_epi add

Definition at line 213 of file vector_sse2.h.

add_epi add_epi sub_epi sub_epi add_saturate

Definition at line 224 of file vector_sse2.h.

sll srl srl sll sra u16x4 i { return (u16x4) _m_psllw ((__m64) x, (__m64) i)

Definition at line 267 of file vector_sse2.h.

sll srl srl left

Definition at line 252 of file vector_sse2.h.

sll srl srl sll right

Definition at line 254 of file vector_sse2.h.

add_epi add_epi sub_epi sub

Definition at line 217 of file vector_sse2.h.

add_epi add_epi sub_epi sub_epi adds_epu sub_saturate

Definition at line 226 of file vector_sse2.h.

u8 u32x4_compare_word_mask_table[256]
add_epi add_epi sub_epi sub_epi adds_epu subs_epu i16x8 y { return (i16x8) _mm_mullo_epi16 ((__m128i) x, (__m128i) y)

Definition at line 231 of file vector_sse2.h.