PintS  0.1
Portable Intrinsics for SIMD
 All Data Structures Files Functions Groups
Related Functions
v2i Struct Reference

Type for the manipulation of 2 int32_t packed into one single vector. More...

#include <pints-doc.h>

Related Functions

(Note that these are not member functions.)

v2i v2i_load (const int32_t *p)
 Loads 2 int32_t from memory into a v2i vector. More...
 
v2i v2i_loadu (const int32_t *p)
 Loads 2 int32_t from memory into a v2i vector. More...
 
v2i v2i_load1 (const int32_t *p)
 Loads 1 int32_t from memory and broadcasts it into a v2i vector. More...
 
void v2i_store (int32_t *p, v2i a)
 Stores a v2i vector into memory. More...
 
void v2i_storeu (int32_t *p, v2i a)
 Stores a v2i vector into memory. More...
 
void v2i_store1 (int32_t *p, v2i a)
 Stores the first element of a v2i vector into memory. More...
 
v2i v2i_set (int32_t v0, int32_t v1)
 Sets the elements of a v2i vector. More...
 
v2i v2i_rset (int32_t v1, int32_t v0)
 Sets the elements of a v2i vector (reverse order). More...
 
v2i v2i_set1 (int32_t v)
 Broadcasts a single value into all elements of a v2i vector. More...
 
v2i v2i_zeros ()
 Sets all bits to 0. More...
 
v2i v2i_ones ()
 Sets all bits to 1. More...
 
v2i v2i_zero ()
 Sets all elements to 0. More...
 
v2i v2i_one ()
 Sets all elements to 1. More...
 
m2i m2i_eq (v2i a, v2i b)
 Compares the equality of the two input vectors. More...
 
m2i m2i_neq (v2i a, v2i b)
 Compares the inequality of the two input vectors. More...
 
m2i m2i_gt (v2i a, v2i b)
 Compares if elements of a are greater than those of b. More...
 
m2i m2i_geq (v2i a, v2i b)
 Compares if elements of a are greater than or equal to those of b. More...
 
m2i m2i_lt (v2i a, v2i b)
 Compares if elements of a are less than those of b. More...
 
m2i m2i_leq (v2i a, v2i b)
 Compares if elements of a are less than or equal to those of b. More...
 
m2i m2i_and (m2i a, m2i b)
 Bitwise and ( a & b ) More...
 
m2i m2i_or (m2i a, m2i b)
 Bitwise or ( a | b ) More...
 
m2i m2i_xor (m2i a, m2i b)
 Bitwise xor ( a ^ b ) More...
 
m2i m2i_not (m2i a)
 Bitwise not ( ~a ) More...
 
m2i m2i_nand (m2i a, m2i b)
 Bitwise nand ( ~(a & b) ) More...
 
m2i m2i_nor (m2i a, m2i b)
 Bitwise nor ( ~(a | b) ) More...
 
m2i m2i_nxor (m2i a, m2i b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
m2i m2i_andnot (m2i a, m2i b)
 Bitwise andnot ( a & ~b ) More...
 
m2i m2i_ornot (m2i a, m2i b)
 Bitwise ornot ( a | ~b ) More...
 
v2i v2i_eq (v2i a, v2i b)
 Compares the equality of the two input vectors. More...
 
v2i v2i_neq (v2i a, v2i b)
 Compares the inequality of the two input vectors. More...
 
v2i v2i_gt (v2i a, v2i b)
 Compares if elements of a are greater than those of b. More...
 
v2i v2i_geq (v2i a, v2i b)
 Compares if elements of a are greater than or equal to those of b. More...
 
v2i v2i_lt (v2i a, v2i b)
 Compares if elements of a are less than those of b. More...
 
v2i v2i_leq (v2i a, v2i b)
 Compares if elements of a are less than or equal to those of b. More...
 
v2i v2i_and (v2i a, v2i b)
 Bitwise and ( a & b ) More...
 
v2i v2i_or (v2i a, v2i b)
 Bitwise or ( a | b ) More...
 
v2i v2i_xor (v2i a, v2i b)
 Bitwise xor ( a ^ b ) More...
 
v2i v2i_not (v2i a)
 Bitwise not ( ~a ) More...
 
v2i v2i_nand (v2i a, v2i b)
 Bitwise nand ( ~(a & b) ) More...
 
v2i v2i_nor (v2i a, v2i b)
 Bitwise nor ( ~(a | b) ) More...
 
v2i v2i_nxor (v2i a, v2i b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
v2i v2i_andnot (v2i a, v2i b)
 Bitwise andnot ( a & ~b ) More...
 
v2i v2i_ornot (v2i a, v2i b)
 Bitwise ornot ( a | ~b ) More...
 
v2i v2i_add (v2i a, v2i b)
 Elementwise addition ( a + b ) More...
 
v2i v2i_sub (v2i a, v2i b)
 Elementwise subtraction ( a - b ) More...
 
v2i v2i_neg (v2i a)
 Elementwise negation ( -a ) More...
 
v2i v2i_min (v2i a, v2i b)
 Elementwise min ( a < b ? a : b ) More...
 
v2i v2i_max (v2i a, v2i b)
 Elementwise max ( a > b ? a : b ) More...
 
v2i v2i_abs (v2i a)
 Elementwise absolute value ( a > 0 ? a : -a ) More...
 
v2i v2i_mul (v2i a, v2i b)
 Elementwise multiplication ( a * b ) More...
 
v2i v2i_div (v2i a, v2i b)
 Elementwise division ( a / b ) More...
 
v2i v2i_rcp (v2i a)
 Elementwise reciprocal ( 1 / a ) More...
 
v2i v2i_frcp (v2i a)
 Fast elementwise reciprocal ( 1 / a ) More...
 
v2i v2i_sqrt (v2i a)
 Elementwise square root ( sqrt(a) ) More...
 
v2i v2i_rsqrt (v2i a)
 Elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v2i v2i_frsqrt (v2i a)
 Fast elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v2i v2i_fmadd (v2i a, v2i b, v2i acc)
 Fused Multiply-Add ( (a * b) + acc ) More...
 
v2i v2i_fmsub (v2i a, v2i b, v2i acc)
 Fused Multiply-Sub ( (a * b) - acc ) More...
 
v2i v2i_fnmadd (v2i a, v2i b, v2i acc)
 Fused Multiply-Add ( -(a * b) + acc ) More...
 
v2i v2i_fnmsub (v2i a, v2i b, v2i acc)
 Fused Multiply-Add ( -(a * b) - acc ) More...
 
v2i v2i_merge2_v1i (v1i a0, v1i a1)
 Merges 2 v1i vectors together. More...
 
v2i v2i_rmerge2_v1i (v1i a1, v1i a0)
 Merges 2 v1i vectors together (reverse order). More...
 
v2i v2i_merge_v1i (v1i low, v1i high)
 Merges 2 v1i vectors together. More...
 
v2i v2i_rmerge_v1i (v1i high, v1i low)
 Merges 2 v1i vectors together (reversed order). More...
 
v1i v1i_get_low_v2i (v2i a)
 Gets the low part of a v2i vector. More...
 
v1i v1i_get_high_v2i (v2i a)
 Gets the high part of a v2i vector. More...
 
v1i v1i_get_hilo_v2i (v2i a, int high)
 Conditionnaly gets the low or the high part of a v2i vector. More...
 
v2i v2i_set_low_v1i (v2i src, v1i low)
 Sets the low part of a v2i vector. More...
 
v2i v2i_set_high_v1i (v2i src, v1i high)
 Sets the high part of a v2i vector. More...
 
v2i v2i_set_hilo_v1i (v2i src, v1i a, int high)
 Conditionally sets the low or the high part of a v2i vector. More...
 
v2i v2i_blend1 (v2i a, v2i b, uint_fast8_t mask)
 Creates a new v2i vector whose elements are from a and b choosed by mask. More...
 
v2i v2i_blend2 (v2i a, v2i b, uint_fast8_t mask)
 Creates a new v2i vector whose elements are from a and b choosed by mask. More...
 
v2i v2i_blend1x2 (v2i a, v2i b, uint_fast8_t mask)
 Creates a new v2i vector whose elements are from a and b choosed by mask. More...
 
v2i v2i_blend2x1 (v2i a, v2i b, uint_fast8_t mask)
 Creates a new v2i vector whose elements are from a and b choosed by mask. More...
 
v2i v2i_blend (v2i a, v2i b, uint_fast8_t mask)
 Creates a new v2i vector whose elements are from a and b choosed by mask. More...
 
v2i v2i_hshuffle2 (v2i a, v2i b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v2i v2i_hshuffle2x1 (v2i a, v2i b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v2i v2i_permute2 (v2i a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v2i v2i_permute2x1 (v2i a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v2i v2i_fshuffle2 (v2i a, v2i b, uint_fast8_t rule, uint_fast8_t mask)
 Fully shuffles (outer) a and b using the control in rule, and blends them together using mask. More...
 
v2i v2i_fshuffle2x1 (v2i a, v2i b, uint_fast8_t rule, uint_fast8_t mask)
 Fully shuffles (inner) a and b using the control in rule, and blends them together using mask. More...
 
v2i v2i_hshuffle (v2i a, v2i b, uint_fast8_t rule)
 Shuffles a and b together using the control in rule. More...
 
v2i v2i_permute (v2i a, uint_fast8_t rule)
 Shuffles a using the control in rule. More...
 
v2i v2i_fshuffle (v2i a, v2i b, uint_fast8_t rule, uint_fast8_t mask)
 Fully shuffles (inner) a and b using the control in rule, and blends them together using mask. More...
 
v2i v2i_reduce_add (v2i a)
 Reduction add ( + ) More...
 
v2i v2i_reduce_add_v1i (v1i a)
 Reduction add ( + ) More...
 
v2i v2i_reduce_add_v2i (v2i a)
 Reduction add ( + ) More...
 
v2i v2i_reduce_add_v4i (v4i a)
 Reduction add ( + ) More...
 
v2i v2i_reduce_add_v8i (v8i a)
 Reduction add ( + ) More...
 
v2i v2i_reduce_add_v16i (v16i a)
 Reduction add ( + ) More...
 
v2i si_reduce_add_v2i (v2i a)
 Reduction add ( + ) More...
 
v2i v2i_reduce_mul (v2i a)
 Reduction mul ( * ) More...
 
v2i v2i_reduce_mul_v1i (v1i a)
 Reduction mul ( * ) More...
 
v2i v2i_reduce_mul_v2i (v2i a)
 Reduction mul ( * ) More...
 
v2i v2i_reduce_mul_v4i (v4i a)
 Reduction mul ( * ) More...
 
v2i v2i_reduce_mul_v8i (v8i a)
 Reduction mul ( * ) More...
 
v2i v2i_reduce_mul_v16i (v16i a)
 Reduction mul ( * ) More...
 
v2i si_reduce_mul_v2i (v2i a)
 Reduction mul ( * ) More...
 
v2i v2i_reduce_and (v2i a)
 Reduction and ( & ) More...
 
v2i v2i_reduce_and_v1i (v1i a)
 Reduction and ( & ) More...
 
v2i v2i_reduce_and_v2i (v2i a)
 Reduction and ( & ) More...
 
v2i v2i_reduce_and_v4i (v4i a)
 Reduction and ( & ) More...
 
v2i v2i_reduce_and_v8i (v8i a)
 Reduction and ( & ) More...
 
v2i v2i_reduce_and_v16i (v16i a)
 Reduction and ( & ) More...
 
v2i si_reduce_and_v2i (v2i a)
 Reduction and ( & ) More...
 
v2i v2i_reduce_or (v2i a)
 Reduction or ( | ) More...
 
v2i v2i_reduce_or_v1i (v1i a)
 Reduction or ( | ) More...
 
v2i v2i_reduce_or_v2i (v2i a)
 Reduction or ( | ) More...
 
v2i v2i_reduce_or_v4i (v4i a)
 Reduction or ( | ) More...
 
v2i v2i_reduce_or_v8i (v8i a)
 Reduction or ( | ) More...
 
v2i v2i_reduce_or_v16i (v16i a)
 Reduction or ( | ) More...
 
v2i si_reduce_or_v2i (v2i a)
 Reduction or ( | ) More...
 
v2i v2i_reduce_min (v2i a)
 Reduction min ( min ) More...
 
v2i v2i_reduce_min_v1i (v1i a)
 Reduction min ( min ) More...
 
v2i v2i_reduce_min_v2i (v2i a)
 Reduction min ( min ) More...
 
v2i v2i_reduce_min_v4i (v4i a)
 Reduction min ( min ) More...
 
v2i v2i_reduce_min_v8i (v8i a)
 Reduction min ( min ) More...
 
v2i v2i_reduce_min_v16i (v16i a)
 Reduction min ( min ) More...
 
v2i si_reduce_min_v2i (v2i a)
 Reduction min ( min ) More...
 
v2i v2i_reduce_max (v2i a)
 Reduction max ( max ) More...
 
v2i v2i_reduce_max_v1i (v1i a)
 Reduction max ( max ) More...
 
v2i v2i_reduce_max_v2i (v2i a)
 Reduction max ( max ) More...
 
v2i v2i_reduce_max_v4i (v4i a)
 Reduction max ( max ) More...
 
v2i v2i_reduce_max_v8i (v8i a)
 Reduction max ( max ) More...
 
v2i v2i_reduce_max_v16i (v16i a)
 Reduction max ( max ) More...
 
v2i si_reduce_max_v2i (v2i a)
 Reduction max ( max ) More...
 
v2i v2i_move (v2i a)
 Forwards the input. More...
 
v2i v2i_maskz_move (m2i mask, v2i a)
 Mask the input. More...
 
v2i v2i_mask_move (m2i mask, v2i src, v2i a)
 Mask the input. More...
 
void v2i_fprintf (FILE *file, v2i a, const char *format)
 Prints a v2i vector. More...
 
void v2i_printf (v2i a, const char *format)
 Prints a v2i vector. More...
 
void v2i_fprint (FILE *file, v2i a)
 Prints a v2i vector. More...
 
void v2i_print (v2i a)
 Prints a v2i vector. More...
 
void v2i_rfprintf (FILE *file, v2i a, const char *format)
 Prints a v2i vector (reversed order) More...
 
void v2i_rprintf (v2i a, const char *format)
 Prints a v2i vector (reversed order) More...
 
void v2i_rfprint (FILE *file, v2i a)
 Prints a v2i vector (reversed order) More...
 
void v2i_rprint (v2i a)
 Prints a v2i vector (reversed order) More...
 
v2i v2i_cast_v1d (v1d a)
 Casts a v1d vector into a v2i vector. More...
 
v2i v2i_cast_v1f (v1f a)
 Casts a v1f vector into a v2i vector. More...
 
v2i v2i_cast_v1i (v1i a)
 Casts a v1i vector into a v2i vector. More...
 
v2i v2i_cast_v1l (v1l a)
 Casts a v1l vector into a v2i vector. More...
 
v2i v2i_cast_v2d (v2d a)
 Casts a v2d vector into a v2i vector. More...
 
v2i v2i_cast_v2f (v2f a)
 Casts a v2f vector into a v2i vector. More...
 
v2i v2i_cast_v2i (v2i a)
 Casts a v2i vector into a v2i vector. More...
 
v2i v2i_cast_v2l (v2l a)
 Casts a v2l vector into a v2i vector. More...
 
v2i v2i_cast_v4d (v4d a)
 Casts a v4d vector into a v2i vector. More...
 
v2i v2i_cast_v4f (v4f a)
 Casts a v4f vector into a v2i vector. More...
 
v2i v2i_cast_v4i (v4i a)
 Casts a v4i vector into a v2i vector. More...
 
v2i v2i_cast_v4l (v4l a)
 Casts a v4l vector into a v2i vector. More...
 
v2i v2i_cast_v8d (v8d a)
 Casts a v8d vector into a v2i vector. More...
 
v2i v2i_cast_v8f (v8f a)
 Casts a v8f vector into a v2i vector. More...
 
v2i v2i_cast_v8i (v8i a)
 Casts a v8i vector into a v2i vector. More...
 
v2i v2i_cast_v8l (v8l a)
 Casts a v8l vector into a v2i vector. More...
 
v2i v2i_cast_v16f (v16f a)
 Casts a v16f vector into a v2i vector. More...
 
v2i v2i_cast_v16i (v16i a)
 Casts a v16i vector into a v2i vector. More...
 
m2i m2i_cast_v2i (v2i a)
 Casts a v2i vector into a m2i vector-mask. More...
 
v2i v2i_cast_m2i (m2i a)
 Casts a m2i vector-mask into a v2i vector. More...
 
v2i v2i_cvt_v1d (v1d a)
 Converts a v1d vector into a v2i vector. More...
 
v2i v2i_cvt_v1f (v1f a)
 Converts a v1f vector into a v2i vector. More...
 
v2i v2i_cvt_v1i (v1i a)
 Converts a v1i vector into a v2i vector. More...
 
v2i v2i_cvt_v1l (v1l a)
 Converts a v1l vector into a v2i vector. More...
 
v2i v2i_cvt_v2d (v2d a)
 Converts a v2d vector into a v2i vector. More...
 
v2i v2i_cvt_v2f (v2f a)
 Converts a v2f vector into a v2i vector. More...
 
v2i v2i_cvt_v2i (v2i a)
 Converts a v2i vector into a v2i vector. More...
 
v2i v2i_cvt_v2l (v2l a)
 Converts a v2l vector into a v2i vector. More...
 
v2i v2i_cvt_v4d (v4d a)
 Converts a v4d vector into a v2i vector. More...
 
v2i v2i_cvt_v4f (v4f a)
 Converts a v4f vector into a v2i vector. More...
 
v2i v2i_cvt_v4i (v4i a)
 Converts a v4i vector into a v2i vector. More...
 
v2i v2i_cvt_v4l (v4l a)
 Converts a v4l vector into a v2i vector. More...
 
v2i v2i_cvt_v8d (v8d a)
 Converts a v8d vector into a v2i vector. More...
 
v2i v2i_cvt_v8f (v8f a)
 Converts a v8f vector into a v2i vector. More...
 
v2i v2i_cvt_v8i (v8i a)
 Converts a v8i vector into a v2i vector. More...
 
v2i v2i_cvt_v8l (v8l a)
 Converts a v8l vector into a v2i vector. More...
 
v2i v2i_cvt_v16f (v16f a)
 Converts a v16f vector into a v2i vector. More...
 
v2i v2i_cvt_v16i (v16i a)
 Converts a v16i vector into a v2i vector. More...
 
m2i m2i_cvt_v2i (v2i a)
 Converts a v2i vector into a m2i vector-mask. More...
 
v2i v2i_cvt_m2i (m2i a)
 Converts a m2i vector-mask into a v2i vector. More...
 
m2i m2i_cvt_m2d (m2d a)
 Converts a m2d vector-mask into a m2i vector-mask. More...
 
m2i m2i_cvt_m2f (m2f a)
 Converts a m2f vector-mask into a m2i vector-mask. More...
 
m2i m2i_cvt_m2i (m2i a)
 Converts a m2i vector-mask into a m2i vector-mask. More...
 
m2i m2i_cvt_m2l (m2l a)
 Converts a m2l vector-mask into a m2i vector-mask. More...
 

Detailed Description

Type for the manipulation of 2 int32_t packed into one single vector.

This structure does not actually exist. Depending on the target architecture, it can be:

Sizes of this vector:

Attention
This definition does not correspond to any actual implementation and should never be used directly. Use PintS functions instead.
The actual implementation depends on the target architecture.

The documentation for this struct was generated from the following file: