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

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

#include <pints-doc.h>

Related Functions

(Note that these are not member functions.)

v4i v4i_load (const int32_t *p)
 Loads 4 int32_t from memory into a v4i vector. More...
 
v4i v4i_loadu (const int32_t *p)
 Loads 4 int32_t from memory into a v4i vector. More...
 
v4i v4i_load1 (const int32_t *p)
 Loads 1 int32_t from memory and broadcasts it into a v4i vector. More...
 
void v4i_store (int32_t *p, v4i a)
 Stores a v4i vector into memory. More...
 
void v4i_storeu (int32_t *p, v4i a)
 Stores a v4i vector into memory. More...
 
void v4i_store1 (int32_t *p, v4i a)
 Stores the first element of a v4i vector into memory. More...
 
v4i v4i_set (int32_t v0, int32_t v1, int32_t v2, int32_t v3)
 Sets the elements of a v4i vector. More...
 
v4i v4i_rset (int32_t v3, int32_t v2, int32_t v1, int32_t v0)
 Sets the elements of a v4i vector (reverse order). More...
 
v4i v4i_set1 (int32_t v)
 Broadcasts a single value into all elements of a v4i vector. More...
 
v4i v4i_zeros ()
 Sets all bits to 0. More...
 
v4i v4i_ones ()
 Sets all bits to 1. More...
 
v4i v4i_zero ()
 Sets all elements to 0. More...
 
v4i v4i_one ()
 Sets all elements to 1. More...
 
m4i m4i_eq (v4i a, v4i b)
 Compares the equality of the two input vectors. More...
 
m4i m4i_neq (v4i a, v4i b)
 Compares the inequality of the two input vectors. More...
 
m4i m4i_gt (v4i a, v4i b)
 Compares if elements of a are greater than those of b. More...
 
m4i m4i_geq (v4i a, v4i b)
 Compares if elements of a are greater than or equal to those of b. More...
 
m4i m4i_lt (v4i a, v4i b)
 Compares if elements of a are less than those of b. More...
 
m4i m4i_leq (v4i a, v4i b)
 Compares if elements of a are less than or equal to those of b. More...
 
m4i m4i_and (m4i a, m4i b)
 Bitwise and ( a & b ) More...
 
m4i m4i_or (m4i a, m4i b)
 Bitwise or ( a | b ) More...
 
m4i m4i_xor (m4i a, m4i b)
 Bitwise xor ( a ^ b ) More...
 
m4i m4i_not (m4i a)
 Bitwise not ( ~a ) More...
 
m4i m4i_nand (m4i a, m4i b)
 Bitwise nand ( ~(a & b) ) More...
 
m4i m4i_nor (m4i a, m4i b)
 Bitwise nor ( ~(a | b) ) More...
 
m4i m4i_nxor (m4i a, m4i b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
m4i m4i_andnot (m4i a, m4i b)
 Bitwise andnot ( a & ~b ) More...
 
m4i m4i_ornot (m4i a, m4i b)
 Bitwise ornot ( a | ~b ) More...
 
v4i v4i_eq (v4i a, v4i b)
 Compares the equality of the two input vectors. More...
 
v4i v4i_neq (v4i a, v4i b)
 Compares the inequality of the two input vectors. More...
 
v4i v4i_gt (v4i a, v4i b)
 Compares if elements of a are greater than those of b. More...
 
v4i v4i_geq (v4i a, v4i b)
 Compares if elements of a are greater than or equal to those of b. More...
 
v4i v4i_lt (v4i a, v4i b)
 Compares if elements of a are less than those of b. More...
 
v4i v4i_leq (v4i a, v4i b)
 Compares if elements of a are less than or equal to those of b. More...
 
v4i v4i_and (v4i a, v4i b)
 Bitwise and ( a & b ) More...
 
v4i v4i_or (v4i a, v4i b)
 Bitwise or ( a | b ) More...
 
v4i v4i_xor (v4i a, v4i b)
 Bitwise xor ( a ^ b ) More...
 
v4i v4i_not (v4i a)
 Bitwise not ( ~a ) More...
 
v4i v4i_nand (v4i a, v4i b)
 Bitwise nand ( ~(a & b) ) More...
 
v4i v4i_nor (v4i a, v4i b)
 Bitwise nor ( ~(a | b) ) More...
 
v4i v4i_nxor (v4i a, v4i b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
v4i v4i_andnot (v4i a, v4i b)
 Bitwise andnot ( a & ~b ) More...
 
v4i v4i_ornot (v4i a, v4i b)
 Bitwise ornot ( a | ~b ) More...
 
v4i v4i_add (v4i a, v4i b)
 Elementwise addition ( a + b ) More...
 
v4i v4i_sub (v4i a, v4i b)
 Elementwise subtraction ( a - b ) More...
 
v4i v4i_neg (v4i a)
 Elementwise negation ( -a ) More...
 
v4i v4i_min (v4i a, v4i b)
 Elementwise min ( a < b ? a : b ) More...
 
v4i v4i_max (v4i a, v4i b)
 Elementwise max ( a > b ? a : b ) More...
 
v4i v4i_abs (v4i a)
 Elementwise absolute value ( a > 0 ? a : -a ) More...
 
v4i v4i_mul (v4i a, v4i b)
 Elementwise multiplication ( a * b ) More...
 
v4i v4i_div (v4i a, v4i b)
 Elementwise division ( a / b ) More...
 
v4i v4i_rcp (v4i a)
 Elementwise reciprocal ( 1 / a ) More...
 
v4i v4i_frcp (v4i a)
 Fast elementwise reciprocal ( 1 / a ) More...
 
v4i v4i_sqrt (v4i a)
 Elementwise square root ( sqrt(a) ) More...
 
v4i v4i_rsqrt (v4i a)
 Elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v4i v4i_frsqrt (v4i a)
 Fast elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v4i v4i_fmadd (v4i a, v4i b, v4i acc)
 Fused Multiply-Add ( (a * b) + acc ) More...
 
v4i v4i_fmsub (v4i a, v4i b, v4i acc)
 Fused Multiply-Sub ( (a * b) - acc ) More...
 
v4i v4i_fnmadd (v4i a, v4i b, v4i acc)
 Fused Multiply-Add ( -(a * b) + acc ) More...
 
v4i v4i_fnmsub (v4i a, v4i b, v4i acc)
 Fused Multiply-Add ( -(a * b) - acc ) More...
 
v4i v4i_merge2_v2i (v2i a0, v2i a1)
 Merges 2 v2i vectors together. More...
 
v4i v4i_merge4_v1i (v1i a0, v1i a1, v1i a2, v1i a3)
 Merges 4 v1i vectors together. More...
 
v4i v4i_rmerge2_v2i (v2i a1, v2i a0)
 Merges 2 v2i vectors together (reverse order). More...
 
v4i v4i_rmerge4_v1i (v1i a3, v1i a2, v1i a1, v1i a0)
 Merges 4 v1i vectors together (reverse order). More...
 
v4i v4i_merge_v2i (v2i low, v2i high)
 Merges 2 v2i vectors together. More...
 
v4i v4i_rmerge_v2i (v2i high, v2i low)
 Merges 2 v2i vectors together (reversed order). More...
 
v2i v2i_get_low_v4i (v4i a)
 Gets the low part of a v4i vector. More...
 
v2i v2i_get_high_v4i (v4i a)
 Gets the high part of a v4i vector. More...
 
v2i v2i_get_hilo_v4i (v4i a, int high)
 Conditionnaly gets the low or the high part of a v4i vector. More...
 
v4i v4i_set_low_v2i (v4i src, v2i low)
 Sets the low part of a v4i vector. More...
 
v4i v4i_set_high_v2i (v4i src, v2i high)
 Sets the high part of a v4i vector. More...
 
v4i v4i_set_hilo_v2i (v4i src, v2i a, int high)
 Conditionally sets the low or the high part of a v4i vector. More...
 
v4i v4i_blend1 (v4i a, v4i b, uint_fast8_t mask)
 Creates a new v4i vector whose elements are from a and b choosed by mask. More...
 
v4i v4i_blend2 (v4i a, v4i b, uint_fast8_t mask)
 Creates a new v4i vector whose elements are from a and b choosed by mask. More...
 
v4i v4i_blend4 (v4i a, v4i b, uint_fast8_t mask)
 Creates a new v4i vector whose elements are from a and b choosed by mask. More...
 
v4i v4i_blend1x4 (v4i a, v4i b, uint_fast8_t mask)
 Creates a new v4i vector whose elements are from a and b choosed by mask. More...
 
v4i v4i_blend2x2 (v4i a, v4i b, uint_fast8_t mask)
 Creates a new v4i vector whose elements are from a and b choosed by mask. More...
 
v4i v4i_blend4x1 (v4i a, v4i b, uint_fast8_t mask)
 Creates a new v4i vector whose elements are from a and b choosed by mask. More...
 
v4i v4i_blend (v4i a, v4i b, uint_fast8_t mask)
 Creates a new v4i vector whose elements are from a and b choosed by mask. More...
 
v4i v4i_hshuffle2 (v4i a, v4i b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v4i v4i_hshuffle4 (v4i a, v4i b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v4i v4i_hshuffle2x2 (v4i a, v4i b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v4i v4i_hshuffle4x1 (v4i a, v4i b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v4i v4i_permute2 (v4i a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v4i v4i_permute4 (v4i a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v4i v4i_permute2x2 (v4i a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v4i v4i_permute4x1 (v4i a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v4i v4i_fshuffle2 (v4i a, v4i 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...
 
v4i v4i_fshuffle4 (v4i a, v4i 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...
 
v4i v4i_fshuffle2x2 (v4i a, v4i 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...
 
v4i v4i_fshuffle4x1 (v4i a, v4i 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...
 
v4i v4i_hshuffle (v4i a, v4i b, uint_fast8_t rule)
 Shuffles a and b together using the control in rule. More...
 
v4i v4i_permute (v4i a, uint_fast8_t rule)
 Shuffles a using the control in rule. More...
 
v4i v4i_fshuffle (v4i a, v4i 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...
 
v4i v4i_reduce_add (v4i a)
 Reduction add ( + ) More...
 
v4i v4i_reduce_add_v1i (v1i a)
 Reduction add ( + ) More...
 
v4i v4i_reduce_add_v2i (v2i a)
 Reduction add ( + ) More...
 
v4i v4i_reduce_add_v4i (v4i a)
 Reduction add ( + ) More...
 
v4i v4i_reduce_add_v8i (v8i a)
 Reduction add ( + ) More...
 
v4i v4i_reduce_add_v16i (v16i a)
 Reduction add ( + ) More...
 
v4i si_reduce_add_v4i (v4i a)
 Reduction add ( + ) More...
 
v4i v4i_reduce_mul (v4i a)
 Reduction mul ( * ) More...
 
v4i v4i_reduce_mul_v1i (v1i a)
 Reduction mul ( * ) More...
 
v4i v4i_reduce_mul_v2i (v2i a)
 Reduction mul ( * ) More...
 
v4i v4i_reduce_mul_v4i (v4i a)
 Reduction mul ( * ) More...
 
v4i v4i_reduce_mul_v8i (v8i a)
 Reduction mul ( * ) More...
 
v4i v4i_reduce_mul_v16i (v16i a)
 Reduction mul ( * ) More...
 
v4i si_reduce_mul_v4i (v4i a)
 Reduction mul ( * ) More...
 
v4i v4i_reduce_and (v4i a)
 Reduction and ( & ) More...
 
v4i v4i_reduce_and_v1i (v1i a)
 Reduction and ( & ) More...
 
v4i v4i_reduce_and_v2i (v2i a)
 Reduction and ( & ) More...
 
v4i v4i_reduce_and_v4i (v4i a)
 Reduction and ( & ) More...
 
v4i v4i_reduce_and_v8i (v8i a)
 Reduction and ( & ) More...
 
v4i v4i_reduce_and_v16i (v16i a)
 Reduction and ( & ) More...
 
v4i si_reduce_and_v4i (v4i a)
 Reduction and ( & ) More...
 
v4i v4i_reduce_or (v4i a)
 Reduction or ( | ) More...
 
v4i v4i_reduce_or_v1i (v1i a)
 Reduction or ( | ) More...
 
v4i v4i_reduce_or_v2i (v2i a)
 Reduction or ( | ) More...
 
v4i v4i_reduce_or_v4i (v4i a)
 Reduction or ( | ) More...
 
v4i v4i_reduce_or_v8i (v8i a)
 Reduction or ( | ) More...
 
v4i v4i_reduce_or_v16i (v16i a)
 Reduction or ( | ) More...
 
v4i si_reduce_or_v4i (v4i a)
 Reduction or ( | ) More...
 
v4i v4i_reduce_min (v4i a)
 Reduction min ( min ) More...
 
v4i v4i_reduce_min_v1i (v1i a)
 Reduction min ( min ) More...
 
v4i v4i_reduce_min_v2i (v2i a)
 Reduction min ( min ) More...
 
v4i v4i_reduce_min_v4i (v4i a)
 Reduction min ( min ) More...
 
v4i v4i_reduce_min_v8i (v8i a)
 Reduction min ( min ) More...
 
v4i v4i_reduce_min_v16i (v16i a)
 Reduction min ( min ) More...
 
v4i si_reduce_min_v4i (v4i a)
 Reduction min ( min ) More...
 
v4i v4i_reduce_max (v4i a)
 Reduction max ( max ) More...
 
v4i v4i_reduce_max_v1i (v1i a)
 Reduction max ( max ) More...
 
v4i v4i_reduce_max_v2i (v2i a)
 Reduction max ( max ) More...
 
v4i v4i_reduce_max_v4i (v4i a)
 Reduction max ( max ) More...
 
v4i v4i_reduce_max_v8i (v8i a)
 Reduction max ( max ) More...
 
v4i v4i_reduce_max_v16i (v16i a)
 Reduction max ( max ) More...
 
v4i si_reduce_max_v4i (v4i a)
 Reduction max ( max ) More...
 
v4i v4i_move (v4i a)
 Forwards the input. More...
 
v4i v4i_maskz_move (m4i mask, v4i a)
 Mask the input. More...
 
v4i v4i_mask_move (m4i mask, v4i src, v4i a)
 Mask the input. More...
 
void v4i_fprintf (FILE *file, v4i a, const char *format)
 Prints a v4i vector. More...
 
void v4i_printf (v4i a, const char *format)
 Prints a v4i vector. More...
 
void v4i_fprint (FILE *file, v4i a)
 Prints a v4i vector. More...
 
void v4i_print (v4i a)
 Prints a v4i vector. More...
 
void v4i_rfprintf (FILE *file, v4i a, const char *format)
 Prints a v4i vector (reversed order) More...
 
void v4i_rprintf (v4i a, const char *format)
 Prints a v4i vector (reversed order) More...
 
void v4i_rfprint (FILE *file, v4i a)
 Prints a v4i vector (reversed order) More...
 
void v4i_rprint (v4i a)
 Prints a v4i vector (reversed order) More...
 
v4i v4i_cast_v1d (v1d a)
 Casts a v1d vector into a v4i vector. More...
 
v4i v4i_cast_v1f (v1f a)
 Casts a v1f vector into a v4i vector. More...
 
v4i v4i_cast_v1i (v1i a)
 Casts a v1i vector into a v4i vector. More...
 
v4i v4i_cast_v1l (v1l a)
 Casts a v1l vector into a v4i vector. More...
 
v4i v4i_cast_v2d (v2d a)
 Casts a v2d vector into a v4i vector. More...
 
v4i v4i_cast_v2f (v2f a)
 Casts a v2f vector into a v4i vector. More...
 
v4i v4i_cast_v2i (v2i a)
 Casts a v2i vector into a v4i vector. More...
 
v4i v4i_cast_v2l (v2l a)
 Casts a v2l vector into a v4i vector. More...
 
v4i v4i_cast_v4d (v4d a)
 Casts a v4d vector into a v4i vector. More...
 
v4i v4i_cast_v4f (v4f a)
 Casts a v4f vector into a v4i vector. More...
 
v4i v4i_cast_v4i (v4i a)
 Casts a v4i vector into a v4i vector. More...
 
v4i v4i_cast_v4l (v4l a)
 Casts a v4l vector into a v4i vector. More...
 
v4i v4i_cast_v8d (v8d a)
 Casts a v8d vector into a v4i vector. More...
 
v4i v4i_cast_v8f (v8f a)
 Casts a v8f vector into a v4i vector. More...
 
v4i v4i_cast_v8i (v8i a)
 Casts a v8i vector into a v4i vector. More...
 
v4i v4i_cast_v8l (v8l a)
 Casts a v8l vector into a v4i vector. More...
 
v4i v4i_cast_v16f (v16f a)
 Casts a v16f vector into a v4i vector. More...
 
v4i v4i_cast_v16i (v16i a)
 Casts a v16i vector into a v4i vector. More...
 
m4i m4i_cast_v4i (v4i a)
 Casts a v4i vector into a m4i vector-mask. More...
 
v4i v4i_cast_m4i (m4i a)
 Casts a m4i vector-mask into a v4i vector. More...
 
v4i v4i_cvt_v1d (v1d a)
 Converts a v1d vector into a v4i vector. More...
 
v4i v4i_cvt_v1f (v1f a)
 Converts a v1f vector into a v4i vector. More...
 
v4i v4i_cvt_v1i (v1i a)
 Converts a v1i vector into a v4i vector. More...
 
v4i v4i_cvt_v1l (v1l a)
 Converts a v1l vector into a v4i vector. More...
 
v4i v4i_cvt_v2d (v2d a)
 Converts a v2d vector into a v4i vector. More...
 
v4i v4i_cvt_v2f (v2f a)
 Converts a v2f vector into a v4i vector. More...
 
v4i v4i_cvt_v2i (v2i a)
 Converts a v2i vector into a v4i vector. More...
 
v4i v4i_cvt_v2l (v2l a)
 Converts a v2l vector into a v4i vector. More...
 
v4i v4i_cvt_v4d (v4d a)
 Converts a v4d vector into a v4i vector. More...
 
v4i v4i_cvt_v4f (v4f a)
 Converts a v4f vector into a v4i vector. More...
 
v4i v4i_cvt_v4i (v4i a)
 Converts a v4i vector into a v4i vector. More...
 
v4i v4i_cvt_v4l (v4l a)
 Converts a v4l vector into a v4i vector. More...
 
v4i v4i_cvt_v8d (v8d a)
 Converts a v8d vector into a v4i vector. More...
 
v4i v4i_cvt_v8f (v8f a)
 Converts a v8f vector into a v4i vector. More...
 
v4i v4i_cvt_v8i (v8i a)
 Converts a v8i vector into a v4i vector. More...
 
v4i v4i_cvt_v8l (v8l a)
 Converts a v8l vector into a v4i vector. More...
 
v4i v4i_cvt_v16f (v16f a)
 Converts a v16f vector into a v4i vector. More...
 
v4i v4i_cvt_v16i (v16i a)
 Converts a v16i vector into a v4i vector. More...
 
m4i m4i_cvt_v4i (v4i a)
 Converts a v4i vector into a m4i vector-mask. More...
 
v4i v4i_cvt_m4i (m4i a)
 Converts a m4i vector-mask into a v4i vector. More...
 
m4i m4i_cvt_m4d (m4d a)
 Converts a m4d vector-mask into a m4i vector-mask. More...
 
m4i m4i_cvt_m4f (m4f a)
 Converts a m4f vector-mask into a m4i vector-mask. More...
 
m4i m4i_cvt_m4i (m4i a)
 Converts a m4i vector-mask into a m4i vector-mask. More...
 
m4i m4i_cvt_m4l (m4l a)
 Converts a m4l vector-mask into a m4i vector-mask. More...
 

Detailed Description

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