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

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

#include <pints-doc.h>

Related Functions

(Note that these are not member functions.)

v8i v8i_load (const int32_t *p)
 Loads 8 int32_t from memory into a v8i vector. More...
 
v8i v8i_loadu (const int32_t *p)
 Loads 8 int32_t from memory into a v8i vector. More...
 
v8i v8i_load1 (const int32_t *p)
 Loads 1 int32_t from memory and broadcasts it into a v8i vector. More...
 
void v8i_store (int32_t *p, v8i a)
 Stores a v8i vector into memory. More...
 
void v8i_storeu (int32_t *p, v8i a)
 Stores a v8i vector into memory. More...
 
void v8i_store1 (int32_t *p, v8i a)
 Stores the first element of a v8i vector into memory. More...
 
v8i v8i_set (int32_t v0, int32_t v1, int32_t v2, int32_t v3, int32_t v4, int32_t v5, int32_t v6, int32_t v7)
 Sets the elements of a v8i vector. More...
 
v8i v8i_rset (int32_t v7, int32_t v6, int32_t v5, int32_t v4, int32_t v3, int32_t v2, int32_t v1, int32_t v0)
 Sets the elements of a v8i vector (reverse order). More...
 
v8i v8i_set1 (int32_t v)
 Broadcasts a single value into all elements of a v8i vector. More...
 
v8i v8i_zeros ()
 Sets all bits to 0. More...
 
v8i v8i_ones ()
 Sets all bits to 1. More...
 
v8i v8i_zero ()
 Sets all elements to 0. More...
 
v8i v8i_one ()
 Sets all elements to 1. More...
 
m8i m8i_eq (v8i a, v8i b)
 Compares the equality of the two input vectors. More...
 
m8i m8i_neq (v8i a, v8i b)
 Compares the inequality of the two input vectors. More...
 
m8i m8i_gt (v8i a, v8i b)
 Compares if elements of a are greater than those of b. More...
 
m8i m8i_geq (v8i a, v8i b)
 Compares if elements of a are greater than or equal to those of b. More...
 
m8i m8i_lt (v8i a, v8i b)
 Compares if elements of a are less than those of b. More...
 
m8i m8i_leq (v8i a, v8i b)
 Compares if elements of a are less than or equal to those of b. More...
 
m8i m8i_and (m8i a, m8i b)
 Bitwise and ( a & b ) More...
 
m8i m8i_or (m8i a, m8i b)
 Bitwise or ( a | b ) More...
 
m8i m8i_xor (m8i a, m8i b)
 Bitwise xor ( a ^ b ) More...
 
m8i m8i_not (m8i a)
 Bitwise not ( ~a ) More...
 
m8i m8i_nand (m8i a, m8i b)
 Bitwise nand ( ~(a & b) ) More...
 
m8i m8i_nor (m8i a, m8i b)
 Bitwise nor ( ~(a | b) ) More...
 
m8i m8i_nxor (m8i a, m8i b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
m8i m8i_andnot (m8i a, m8i b)
 Bitwise andnot ( a & ~b ) More...
 
m8i m8i_ornot (m8i a, m8i b)
 Bitwise ornot ( a | ~b ) More...
 
v8i v8i_eq (v8i a, v8i b)
 Compares the equality of the two input vectors. More...
 
v8i v8i_neq (v8i a, v8i b)
 Compares the inequality of the two input vectors. More...
 
v8i v8i_gt (v8i a, v8i b)
 Compares if elements of a are greater than those of b. More...
 
v8i v8i_geq (v8i a, v8i b)
 Compares if elements of a are greater than or equal to those of b. More...
 
v8i v8i_lt (v8i a, v8i b)
 Compares if elements of a are less than those of b. More...
 
v8i v8i_leq (v8i a, v8i b)
 Compares if elements of a are less than or equal to those of b. More...
 
v8i v8i_and (v8i a, v8i b)
 Bitwise and ( a & b ) More...
 
v8i v8i_or (v8i a, v8i b)
 Bitwise or ( a | b ) More...
 
v8i v8i_xor (v8i a, v8i b)
 Bitwise xor ( a ^ b ) More...
 
v8i v8i_not (v8i a)
 Bitwise not ( ~a ) More...
 
v8i v8i_nand (v8i a, v8i b)
 Bitwise nand ( ~(a & b) ) More...
 
v8i v8i_nor (v8i a, v8i b)
 Bitwise nor ( ~(a | b) ) More...
 
v8i v8i_nxor (v8i a, v8i b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
v8i v8i_andnot (v8i a, v8i b)
 Bitwise andnot ( a & ~b ) More...
 
v8i v8i_ornot (v8i a, v8i b)
 Bitwise ornot ( a | ~b ) More...
 
v8i v8i_add (v8i a, v8i b)
 Elementwise addition ( a + b ) More...
 
v8i v8i_sub (v8i a, v8i b)
 Elementwise subtraction ( a - b ) More...
 
v8i v8i_neg (v8i a)
 Elementwise negation ( -a ) More...
 
v8i v8i_min (v8i a, v8i b)
 Elementwise min ( a < b ? a : b ) More...
 
v8i v8i_max (v8i a, v8i b)
 Elementwise max ( a > b ? a : b ) More...
 
v8i v8i_abs (v8i a)
 Elementwise absolute value ( a > 0 ? a : -a ) More...
 
v8i v8i_mul (v8i a, v8i b)
 Elementwise multiplication ( a * b ) More...
 
v8i v8i_div (v8i a, v8i b)
 Elementwise division ( a / b ) More...
 
v8i v8i_rcp (v8i a)
 Elementwise reciprocal ( 1 / a ) More...
 
v8i v8i_frcp (v8i a)
 Fast elementwise reciprocal ( 1 / a ) More...
 
v8i v8i_sqrt (v8i a)
 Elementwise square root ( sqrt(a) ) More...
 
v8i v8i_rsqrt (v8i a)
 Elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v8i v8i_frsqrt (v8i a)
 Fast elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v8i v8i_fmadd (v8i a, v8i b, v8i acc)
 Fused Multiply-Add ( (a * b) + acc ) More...
 
v8i v8i_fmsub (v8i a, v8i b, v8i acc)
 Fused Multiply-Sub ( (a * b) - acc ) More...
 
v8i v8i_fnmadd (v8i a, v8i b, v8i acc)
 Fused Multiply-Add ( -(a * b) + acc ) More...
 
v8i v8i_fnmsub (v8i a, v8i b, v8i acc)
 Fused Multiply-Add ( -(a * b) - acc ) More...
 
v8i v8i_merge2_v4i (v4i a0, v4i a1)
 Merges 2 v4i vectors together. More...
 
v8i v8i_merge4_v2i (v2i a0, v2i a1, v2i a2, v2i a3)
 Merges 4 v2i vectors together. More...
 
v8i v8i_merge8_v1i (v1i a0, v1i a1, v1i a2, v1i a3, v1i a4, v1i a5, v1i a6, v1i a7)
 Merges 8 v1i vectors together. More...
 
v8i v8i_rmerge2_v4i (v4i a1, v4i a0)
 Merges 2 v4i vectors together (reverse order). More...
 
v8i v8i_rmerge4_v2i (v2i a3, v2i a2, v2i a1, v2i a0)
 Merges 4 v2i vectors together (reverse order). More...
 
v8i v8i_rmerge8_v1i (v1i a7, v1i a6, v1i a5, v1i a4, v1i a3, v1i a2, v1i a1, v1i a0)
 Merges 8 v1i vectors together (reverse order). More...
 
v8i v8i_merge_v4i (v4i low, v4i high)
 Merges 2 v4i vectors together. More...
 
v8i v8i_rmerge_v4i (v4i high, v4i low)
 Merges 2 v4i vectors together (reversed order). More...
 
v4i v4i_get_low_v8i (v8i a)
 Gets the low part of a v8i vector. More...
 
v4i v4i_get_high_v8i (v8i a)
 Gets the high part of a v8i vector. More...
 
v4i v4i_get_hilo_v8i (v8i a, int high)
 Conditionnaly gets the low or the high part of a v8i vector. More...
 
v8i v8i_set_low_v4i (v8i src, v4i low)
 Sets the low part of a v8i vector. More...
 
v8i v8i_set_high_v4i (v8i src, v4i high)
 Sets the high part of a v8i vector. More...
 
v8i v8i_set_hilo_v4i (v8i src, v4i a, int high)
 Conditionally sets the low or the high part of a v8i vector. More...
 
v8i v8i_blend1 (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_blend2 (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_blend4 (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_blend8 (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_blend1x8 (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_blend2x4 (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_blend4x2 (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_blend8x1 (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_blend (v8i a, v8i b, uint_fast8_t mask)
 Creates a new v8i vector whose elements are from a and b choosed by mask. More...
 
v8i v8i_hshuffle2 (v8i a, v8i b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v8i v8i_hshuffle4 (v8i a, v8i b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v8i v8i_hshuffle8 (v8i a, v8i b, uint_fast32_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v8i v8i_hshuffle2x4 (v8i a, v8i b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v8i v8i_hshuffle4x2 (v8i a, v8i b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v8i v8i_hshuffle8x1 (v8i a, v8i b, uint_fast32_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v8i v8i_permute2 (v8i a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v8i v8i_permute4 (v8i a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v8i v8i_permute8 (v8i a, uint_fast32_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v8i v8i_permute2x4 (v8i a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v8i v8i_permute4x2 (v8i a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v8i v8i_permute8x1 (v8i a, uint_fast32_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v8i v8i_fshuffle2 (v8i a, v8i 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...
 
v8i v8i_fshuffle4 (v8i a, v8i 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...
 
v8i v8i_fshuffle8 (v8i a, v8i b, uint_fast32_t rule, uint_fast8_t mask)
 Fully shuffles (outer) a and b using the control in rule, and blends them together using mask. More...
 
v8i v8i_fshuffle2x4 (v8i a, v8i 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...
 
v8i v8i_fshuffle4x2 (v8i a, v8i 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...
 
v8i v8i_fshuffle8x1 (v8i a, v8i b, uint_fast32_t rule, uint_fast8_t mask)
 Fully shuffles (inner) a and b using the control in rule, and blends them together using mask. More...
 
v8i v8i_hshuffle (v8i a, v8i b, uint_fast32_t rule)
 Shuffles a and b together using the control in rule. More...
 
v8i v8i_permute (v8i a, uint_fast32_t rule)
 Shuffles a using the control in rule. More...
 
v8i v8i_fshuffle (v8i a, v8i b, uint_fast32_t rule, uint_fast8_t mask)
 Fully shuffles (inner) a and b using the control in rule, and blends them together using mask. More...
 
v8i v8i_reduce_add (v8i a)
 Reduction add ( + ) More...
 
v8i v8i_reduce_add_v1i (v1i a)
 Reduction add ( + ) More...
 
v8i v8i_reduce_add_v2i (v2i a)
 Reduction add ( + ) More...
 
v8i v8i_reduce_add_v4i (v4i a)
 Reduction add ( + ) More...
 
v8i v8i_reduce_add_v8i (v8i a)
 Reduction add ( + ) More...
 
v8i v8i_reduce_add_v16i (v16i a)
 Reduction add ( + ) More...
 
v8i si_reduce_add_v8i (v8i a)
 Reduction add ( + ) More...
 
v8i v8i_reduce_mul (v8i a)
 Reduction mul ( * ) More...
 
v8i v8i_reduce_mul_v1i (v1i a)
 Reduction mul ( * ) More...
 
v8i v8i_reduce_mul_v2i (v2i a)
 Reduction mul ( * ) More...
 
v8i v8i_reduce_mul_v4i (v4i a)
 Reduction mul ( * ) More...
 
v8i v8i_reduce_mul_v8i (v8i a)
 Reduction mul ( * ) More...
 
v8i v8i_reduce_mul_v16i (v16i a)
 Reduction mul ( * ) More...
 
v8i si_reduce_mul_v8i (v8i a)
 Reduction mul ( * ) More...
 
v8i v8i_reduce_and (v8i a)
 Reduction and ( & ) More...
 
v8i v8i_reduce_and_v1i (v1i a)
 Reduction and ( & ) More...
 
v8i v8i_reduce_and_v2i (v2i a)
 Reduction and ( & ) More...
 
v8i v8i_reduce_and_v4i (v4i a)
 Reduction and ( & ) More...
 
v8i v8i_reduce_and_v8i (v8i a)
 Reduction and ( & ) More...
 
v8i v8i_reduce_and_v16i (v16i a)
 Reduction and ( & ) More...
 
v8i si_reduce_and_v8i (v8i a)
 Reduction and ( & ) More...
 
v8i v8i_reduce_or (v8i a)
 Reduction or ( | ) More...
 
v8i v8i_reduce_or_v1i (v1i a)
 Reduction or ( | ) More...
 
v8i v8i_reduce_or_v2i (v2i a)
 Reduction or ( | ) More...
 
v8i v8i_reduce_or_v4i (v4i a)
 Reduction or ( | ) More...
 
v8i v8i_reduce_or_v8i (v8i a)
 Reduction or ( | ) More...
 
v8i v8i_reduce_or_v16i (v16i a)
 Reduction or ( | ) More...
 
v8i si_reduce_or_v8i (v8i a)
 Reduction or ( | ) More...
 
v8i v8i_reduce_min (v8i a)
 Reduction min ( min ) More...
 
v8i v8i_reduce_min_v1i (v1i a)
 Reduction min ( min ) More...
 
v8i v8i_reduce_min_v2i (v2i a)
 Reduction min ( min ) More...
 
v8i v8i_reduce_min_v4i (v4i a)
 Reduction min ( min ) More...
 
v8i v8i_reduce_min_v8i (v8i a)
 Reduction min ( min ) More...
 
v8i v8i_reduce_min_v16i (v16i a)
 Reduction min ( min ) More...
 
v8i si_reduce_min_v8i (v8i a)
 Reduction min ( min ) More...
 
v8i v8i_reduce_max (v8i a)
 Reduction max ( max ) More...
 
v8i v8i_reduce_max_v1i (v1i a)
 Reduction max ( max ) More...
 
v8i v8i_reduce_max_v2i (v2i a)
 Reduction max ( max ) More...
 
v8i v8i_reduce_max_v4i (v4i a)
 Reduction max ( max ) More...
 
v8i v8i_reduce_max_v8i (v8i a)
 Reduction max ( max ) More...
 
v8i v8i_reduce_max_v16i (v16i a)
 Reduction max ( max ) More...
 
v8i si_reduce_max_v8i (v8i a)
 Reduction max ( max ) More...
 
v8i v8i_move (v8i a)
 Forwards the input. More...
 
v8i v8i_maskz_move (m8i mask, v8i a)
 Mask the input. More...
 
v8i v8i_mask_move (m8i mask, v8i src, v8i a)
 Mask the input. More...
 
void v8i_fprintf (FILE *file, v8i a, const char *format)
 Prints a v8i vector. More...
 
void v8i_printf (v8i a, const char *format)
 Prints a v8i vector. More...
 
void v8i_fprint (FILE *file, v8i a)
 Prints a v8i vector. More...
 
void v8i_print (v8i a)
 Prints a v8i vector. More...
 
void v8i_rfprintf (FILE *file, v8i a, const char *format)
 Prints a v8i vector (reversed order) More...
 
void v8i_rprintf (v8i a, const char *format)
 Prints a v8i vector (reversed order) More...
 
void v8i_rfprint (FILE *file, v8i a)
 Prints a v8i vector (reversed order) More...
 
void v8i_rprint (v8i a)
 Prints a v8i vector (reversed order) More...
 
v8i v8i_cast_v1d (v1d a)
 Casts a v1d vector into a v8i vector. More...
 
v8i v8i_cast_v1f (v1f a)
 Casts a v1f vector into a v8i vector. More...
 
v8i v8i_cast_v1i (v1i a)
 Casts a v1i vector into a v8i vector. More...
 
v8i v8i_cast_v1l (v1l a)
 Casts a v1l vector into a v8i vector. More...
 
v8i v8i_cast_v2d (v2d a)
 Casts a v2d vector into a v8i vector. More...
 
v8i v8i_cast_v2f (v2f a)
 Casts a v2f vector into a v8i vector. More...
 
v8i v8i_cast_v2i (v2i a)
 Casts a v2i vector into a v8i vector. More...
 
v8i v8i_cast_v2l (v2l a)
 Casts a v2l vector into a v8i vector. More...
 
v8i v8i_cast_v4d (v4d a)
 Casts a v4d vector into a v8i vector. More...
 
v8i v8i_cast_v4f (v4f a)
 Casts a v4f vector into a v8i vector. More...
 
v8i v8i_cast_v4i (v4i a)
 Casts a v4i vector into a v8i vector. More...
 
v8i v8i_cast_v4l (v4l a)
 Casts a v4l vector into a v8i vector. More...
 
v8i v8i_cast_v8d (v8d a)
 Casts a v8d vector into a v8i vector. More...
 
v8i v8i_cast_v8f (v8f a)
 Casts a v8f vector into a v8i vector. More...
 
v8i v8i_cast_v8i (v8i a)
 Casts a v8i vector into a v8i vector. More...
 
v8i v8i_cast_v8l (v8l a)
 Casts a v8l vector into a v8i vector. More...
 
v8i v8i_cast_v16f (v16f a)
 Casts a v16f vector into a v8i vector. More...
 
v8i v8i_cast_v16i (v16i a)
 Casts a v16i vector into a v8i vector. More...
 
m8i m8i_cast_v8i (v8i a)
 Casts a v8i vector into a m8i vector-mask. More...
 
v8i v8i_cast_m8i (m8i a)
 Casts a m8i vector-mask into a v8i vector. More...
 
v8i v8i_cvt_v1d (v1d a)
 Converts a v1d vector into a v8i vector. More...
 
v8i v8i_cvt_v1f (v1f a)
 Converts a v1f vector into a v8i vector. More...
 
v8i v8i_cvt_v1i (v1i a)
 Converts a v1i vector into a v8i vector. More...
 
v8i v8i_cvt_v1l (v1l a)
 Converts a v1l vector into a v8i vector. More...
 
v8i v8i_cvt_v2d (v2d a)
 Converts a v2d vector into a v8i vector. More...
 
v8i v8i_cvt_v2f (v2f a)
 Converts a v2f vector into a v8i vector. More...
 
v8i v8i_cvt_v2i (v2i a)
 Converts a v2i vector into a v8i vector. More...
 
v8i v8i_cvt_v2l (v2l a)
 Converts a v2l vector into a v8i vector. More...
 
v8i v8i_cvt_v4d (v4d a)
 Converts a v4d vector into a v8i vector. More...
 
v8i v8i_cvt_v4f (v4f a)
 Converts a v4f vector into a v8i vector. More...
 
v8i v8i_cvt_v4i (v4i a)
 Converts a v4i vector into a v8i vector. More...
 
v8i v8i_cvt_v4l (v4l a)
 Converts a v4l vector into a v8i vector. More...
 
v8i v8i_cvt_v8d (v8d a)
 Converts a v8d vector into a v8i vector. More...
 
v8i v8i_cvt_v8f (v8f a)
 Converts a v8f vector into a v8i vector. More...
 
v8i v8i_cvt_v8i (v8i a)
 Converts a v8i vector into a v8i vector. More...
 
v8i v8i_cvt_v8l (v8l a)
 Converts a v8l vector into a v8i vector. More...
 
v8i v8i_cvt_v16f (v16f a)
 Converts a v16f vector into a v8i vector. More...
 
v8i v8i_cvt_v16i (v16i a)
 Converts a v16i vector into a v8i vector. More...
 
m8i m8i_cvt_v8i (v8i a)
 Converts a v8i vector into a m8i vector-mask. More...
 
v8i v8i_cvt_m8i (m8i a)
 Converts a m8i vector-mask into a v8i vector. More...
 
m8i m8i_cvt_m8d (m8d a)
 Converts a m8d vector-mask into a m8i vector-mask. More...
 
m8i m8i_cvt_m8f (m8f a)
 Converts a m8f vector-mask into a m8i vector-mask. More...
 
m8i m8i_cvt_m8i (m8i a)
 Converts a m8i vector-mask into a m8i vector-mask. More...
 
m8i m8i_cvt_m8l (m8l a)
 Converts a m8l vector-mask into a m8i vector-mask. More...
 

Detailed Description

Type for the manipulation of 8 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: