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

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

#include <pints-doc.h>

Related Functions

(Note that these are not member functions.)

v4l v4l_load (const int64_t *p)
 Loads 4 int64_t from memory into a v4l vector. More...
 
v4l v4l_loadu (const int64_t *p)
 Loads 4 int64_t from memory into a v4l vector. More...
 
v4l v4l_load1 (const int64_t *p)
 Loads 1 int64_t from memory and broadcasts it into a v4l vector. More...
 
void v4l_store (int64_t *p, v4l a)
 Stores a v4l vector into memory. More...
 
void v4l_storeu (int64_t *p, v4l a)
 Stores a v4l vector into memory. More...
 
void v4l_store1 (int64_t *p, v4l a)
 Stores the first element of a v4l vector into memory. More...
 
v4l v4l_set (int64_t v0, int64_t v1, int64_t v2, int64_t v3)
 Sets the elements of a v4l vector. More...
 
v4l v4l_rset (int64_t v3, int64_t v2, int64_t v1, int64_t v0)
 Sets the elements of a v4l vector (reverse order). More...
 
v4l v4l_set1 (int64_t v)
 Broadcasts a single value into all elements of a v4l vector. More...
 
v4l v4l_zeros ()
 Sets all bits to 0. More...
 
v4l v4l_ones ()
 Sets all bits to 1. More...
 
v4l v4l_zero ()
 Sets all elements to 0. More...
 
v4l v4l_one ()
 Sets all elements to 1. More...
 
m4l m4l_eq (v4l a, v4l b)
 Compares the equality of the two input vectors. More...
 
m4l m4l_neq (v4l a, v4l b)
 Compares the inequality of the two input vectors. More...
 
m4l m4l_gt (v4l a, v4l b)
 Compares if elements of a are greater than those of b. More...
 
m4l m4l_geq (v4l a, v4l b)
 Compares if elements of a are greater than or equal to those of b. More...
 
m4l m4l_lt (v4l a, v4l b)
 Compares if elements of a are less than those of b. More...
 
m4l m4l_leq (v4l a, v4l b)
 Compares if elements of a are less than or equal to those of b. More...
 
m4l m4l_and (m4l a, m4l b)
 Bitwise and ( a & b ) More...
 
m4l m4l_or (m4l a, m4l b)
 Bitwise or ( a | b ) More...
 
m4l m4l_xor (m4l a, m4l b)
 Bitwise xor ( a ^ b ) More...
 
m4l m4l_not (m4l a)
 Bitwise not ( ~a ) More...
 
m4l m4l_nand (m4l a, m4l b)
 Bitwise nand ( ~(a & b) ) More...
 
m4l m4l_nor (m4l a, m4l b)
 Bitwise nor ( ~(a | b) ) More...
 
m4l m4l_nxor (m4l a, m4l b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
m4l m4l_andnot (m4l a, m4l b)
 Bitwise andnot ( a & ~b ) More...
 
m4l m4l_ornot (m4l a, m4l b)
 Bitwise ornot ( a | ~b ) More...
 
v4l v4l_eq (v4l a, v4l b)
 Compares the equality of the two input vectors. More...
 
v4l v4l_neq (v4l a, v4l b)
 Compares the inequality of the two input vectors. More...
 
v4l v4l_gt (v4l a, v4l b)
 Compares if elements of a are greater than those of b. More...
 
v4l v4l_geq (v4l a, v4l b)
 Compares if elements of a are greater than or equal to those of b. More...
 
v4l v4l_lt (v4l a, v4l b)
 Compares if elements of a are less than those of b. More...
 
v4l v4l_leq (v4l a, v4l b)
 Compares if elements of a are less than or equal to those of b. More...
 
v4l v4l_and (v4l a, v4l b)
 Bitwise and ( a & b ) More...
 
v4l v4l_or (v4l a, v4l b)
 Bitwise or ( a | b ) More...
 
v4l v4l_xor (v4l a, v4l b)
 Bitwise xor ( a ^ b ) More...
 
v4l v4l_not (v4l a)
 Bitwise not ( ~a ) More...
 
v4l v4l_nand (v4l a, v4l b)
 Bitwise nand ( ~(a & b) ) More...
 
v4l v4l_nor (v4l a, v4l b)
 Bitwise nor ( ~(a | b) ) More...
 
v4l v4l_nxor (v4l a, v4l b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
v4l v4l_andnot (v4l a, v4l b)
 Bitwise andnot ( a & ~b ) More...
 
v4l v4l_ornot (v4l a, v4l b)
 Bitwise ornot ( a | ~b ) More...
 
v4l v4l_add (v4l a, v4l b)
 Elementwise addition ( a + b ) More...
 
v4l v4l_sub (v4l a, v4l b)
 Elementwise subtraction ( a - b ) More...
 
v4l v4l_neg (v4l a)
 Elementwise negation ( -a ) More...
 
v4l v4l_min (v4l a, v4l b)
 Elementwise min ( a < b ? a : b ) More...
 
v4l v4l_max (v4l a, v4l b)
 Elementwise max ( a > b ? a : b ) More...
 
v4l v4l_abs (v4l a)
 Elementwise absolute value ( a > 0 ? a : -a ) More...
 
v4l v4l_mul (v4l a, v4l b)
 Elementwise multiplication ( a * b ) More...
 
v4l v4l_div (v4l a, v4l b)
 Elementwise division ( a / b ) More...
 
v4l v4l_rcp (v4l a)
 Elementwise reciprocal ( 1 / a ) More...
 
v4l v4l_frcp (v4l a)
 Fast elementwise reciprocal ( 1 / a ) More...
 
v4l v4l_sqrt (v4l a)
 Elementwise square root ( sqrt(a) ) More...
 
v4l v4l_rsqrt (v4l a)
 Elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v4l v4l_frsqrt (v4l a)
 Fast elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v4l v4l_fmadd (v4l a, v4l b, v4l acc)
 Fused Multiply-Add ( (a * b) + acc ) More...
 
v4l v4l_fmsub (v4l a, v4l b, v4l acc)
 Fused Multiply-Sub ( (a * b) - acc ) More...
 
v4l v4l_fnmadd (v4l a, v4l b, v4l acc)
 Fused Multiply-Add ( -(a * b) + acc ) More...
 
v4l v4l_fnmsub (v4l a, v4l b, v4l acc)
 Fused Multiply-Add ( -(a * b) - acc ) More...
 
v4l v4l_merge2_v2l (v2l a0, v2l a1)
 Merges 2 v2l vectors together. More...
 
v4l v4l_merge4_v1l (v1l a0, v1l a1, v1l a2, v1l a3)
 Merges 4 v1l vectors together. More...
 
v4l v4l_rmerge2_v2l (v2l a1, v2l a0)
 Merges 2 v2l vectors together (reverse order). More...
 
v4l v4l_rmerge4_v1l (v1l a3, v1l a2, v1l a1, v1l a0)
 Merges 4 v1l vectors together (reverse order). More...
 
v4l v4l_merge_v2l (v2l low, v2l high)
 Merges 2 v2l vectors together. More...
 
v4l v4l_rmerge_v2l (v2l high, v2l low)
 Merges 2 v2l vectors together (reversed order). More...
 
v2l v2l_get_low_v4l (v4l a)
 Gets the low part of a v4l vector. More...
 
v2l v2l_get_high_v4l (v4l a)
 Gets the high part of a v4l vector. More...
 
v2l v2l_get_hilo_v4l (v4l a, int high)
 Conditionnaly gets the low or the high part of a v4l vector. More...
 
v4l v4l_set_low_v2l (v4l src, v2l low)
 Sets the low part of a v4l vector. More...
 
v4l v4l_set_high_v2l (v4l src, v2l high)
 Sets the high part of a v4l vector. More...
 
v4l v4l_set_hilo_v2l (v4l src, v2l a, int high)
 Conditionally sets the low or the high part of a v4l vector. More...
 
v4l v4l_blend1 (v4l a, v4l b, uint_fast8_t mask)
 Creates a new v4l vector whose elements are from a and b choosed by mask. More...
 
v4l v4l_blend2 (v4l a, v4l b, uint_fast8_t mask)
 Creates a new v4l vector whose elements are from a and b choosed by mask. More...
 
v4l v4l_blend4 (v4l a, v4l b, uint_fast8_t mask)
 Creates a new v4l vector whose elements are from a and b choosed by mask. More...
 
v4l v4l_blend1x4 (v4l a, v4l b, uint_fast8_t mask)
 Creates a new v4l vector whose elements are from a and b choosed by mask. More...
 
v4l v4l_blend2x2 (v4l a, v4l b, uint_fast8_t mask)
 Creates a new v4l vector whose elements are from a and b choosed by mask. More...
 
v4l v4l_blend4x1 (v4l a, v4l b, uint_fast8_t mask)
 Creates a new v4l vector whose elements are from a and b choosed by mask. More...
 
v4l v4l_blend (v4l a, v4l b, uint_fast8_t mask)
 Creates a new v4l vector whose elements are from a and b choosed by mask. More...
 
v4l v4l_hshuffle2 (v4l a, v4l b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v4l v4l_hshuffle4 (v4l a, v4l b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v4l v4l_hshuffle2x2 (v4l a, v4l b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v4l v4l_hshuffle4x1 (v4l a, v4l b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v4l v4l_permute2 (v4l a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v4l v4l_permute4 (v4l a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v4l v4l_permute2x2 (v4l a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v4l v4l_permute4x1 (v4l a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v4l v4l_fshuffle2 (v4l a, v4l 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...
 
v4l v4l_fshuffle4 (v4l a, v4l 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...
 
v4l v4l_fshuffle2x2 (v4l a, v4l 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...
 
v4l v4l_fshuffle4x1 (v4l a, v4l 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...
 
v4l v4l_hshuffle (v4l a, v4l b, uint_fast8_t rule)
 Shuffles a and b together using the control in rule. More...
 
v4l v4l_permute (v4l a, uint_fast8_t rule)
 Shuffles a using the control in rule. More...
 
v4l v4l_fshuffle (v4l a, v4l 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...
 
v4l v4l_reduce_add (v4l a)
 Reduction add ( + ) More...
 
v4l v4l_reduce_add_v1l (v1l a)
 Reduction add ( + ) More...
 
v4l v4l_reduce_add_v2l (v2l a)
 Reduction add ( + ) More...
 
v4l v4l_reduce_add_v4l (v4l a)
 Reduction add ( + ) More...
 
v4l v4l_reduce_add_v8l (v8l a)
 Reduction add ( + ) More...
 
v4l sl_reduce_add_v4l (v4l a)
 Reduction add ( + ) More...
 
v4l v4l_reduce_mul (v4l a)
 Reduction mul ( * ) More...
 
v4l v4l_reduce_mul_v1l (v1l a)
 Reduction mul ( * ) More...
 
v4l v4l_reduce_mul_v2l (v2l a)
 Reduction mul ( * ) More...
 
v4l v4l_reduce_mul_v4l (v4l a)
 Reduction mul ( * ) More...
 
v4l v4l_reduce_mul_v8l (v8l a)
 Reduction mul ( * ) More...
 
v4l sl_reduce_mul_v4l (v4l a)
 Reduction mul ( * ) More...
 
v4l v4l_reduce_and (v4l a)
 Reduction and ( & ) More...
 
v4l v4l_reduce_and_v1l (v1l a)
 Reduction and ( & ) More...
 
v4l v4l_reduce_and_v2l (v2l a)
 Reduction and ( & ) More...
 
v4l v4l_reduce_and_v4l (v4l a)
 Reduction and ( & ) More...
 
v4l v4l_reduce_and_v8l (v8l a)
 Reduction and ( & ) More...
 
v4l sl_reduce_and_v4l (v4l a)
 Reduction and ( & ) More...
 
v4l v4l_reduce_or (v4l a)
 Reduction or ( | ) More...
 
v4l v4l_reduce_or_v1l (v1l a)
 Reduction or ( | ) More...
 
v4l v4l_reduce_or_v2l (v2l a)
 Reduction or ( | ) More...
 
v4l v4l_reduce_or_v4l (v4l a)
 Reduction or ( | ) More...
 
v4l v4l_reduce_or_v8l (v8l a)
 Reduction or ( | ) More...
 
v4l sl_reduce_or_v4l (v4l a)
 Reduction or ( | ) More...
 
v4l v4l_reduce_min (v4l a)
 Reduction min ( min ) More...
 
v4l v4l_reduce_min_v1l (v1l a)
 Reduction min ( min ) More...
 
v4l v4l_reduce_min_v2l (v2l a)
 Reduction min ( min ) More...
 
v4l v4l_reduce_min_v4l (v4l a)
 Reduction min ( min ) More...
 
v4l v4l_reduce_min_v8l (v8l a)
 Reduction min ( min ) More...
 
v4l sl_reduce_min_v4l (v4l a)
 Reduction min ( min ) More...
 
v4l v4l_reduce_max (v4l a)
 Reduction max ( max ) More...
 
v4l v4l_reduce_max_v1l (v1l a)
 Reduction max ( max ) More...
 
v4l v4l_reduce_max_v2l (v2l a)
 Reduction max ( max ) More...
 
v4l v4l_reduce_max_v4l (v4l a)
 Reduction max ( max ) More...
 
v4l v4l_reduce_max_v8l (v8l a)
 Reduction max ( max ) More...
 
v4l sl_reduce_max_v4l (v4l a)
 Reduction max ( max ) More...
 
v4l v4l_move (v4l a)
 Forwards the input. More...
 
v4l v4l_maskz_move (m4l mask, v4l a)
 Mask the input. More...
 
v4l v4l_mask_move (m4l mask, v4l src, v4l a)
 Mask the input. More...
 
void v4l_fprintf (FILE *file, v4l a, const char *format)
 Prints a v4l vector. More...
 
void v4l_printf (v4l a, const char *format)
 Prints a v4l vector. More...
 
void v4l_fprint (FILE *file, v4l a)
 Prints a v4l vector. More...
 
void v4l_print (v4l a)
 Prints a v4l vector. More...
 
void v4l_rfprintf (FILE *file, v4l a, const char *format)
 Prints a v4l vector (reversed order) More...
 
void v4l_rprintf (v4l a, const char *format)
 Prints a v4l vector (reversed order) More...
 
void v4l_rfprint (FILE *file, v4l a)
 Prints a v4l vector (reversed order) More...
 
void v4l_rprint (v4l a)
 Prints a v4l vector (reversed order) More...
 
v4l v4l_cast_v1d (v1d a)
 Casts a v1d vector into a v4l vector. More...
 
v4l v4l_cast_v1f (v1f a)
 Casts a v1f vector into a v4l vector. More...
 
v4l v4l_cast_v1i (v1i a)
 Casts a v1i vector into a v4l vector. More...
 
v4l v4l_cast_v1l (v1l a)
 Casts a v1l vector into a v4l vector. More...
 
v4l v4l_cast_v2d (v2d a)
 Casts a v2d vector into a v4l vector. More...
 
v4l v4l_cast_v2f (v2f a)
 Casts a v2f vector into a v4l vector. More...
 
v4l v4l_cast_v2i (v2i a)
 Casts a v2i vector into a v4l vector. More...
 
v4l v4l_cast_v2l (v2l a)
 Casts a v2l vector into a v4l vector. More...
 
v4l v4l_cast_v4d (v4d a)
 Casts a v4d vector into a v4l vector. More...
 
v4l v4l_cast_v4f (v4f a)
 Casts a v4f vector into a v4l vector. More...
 
v4l v4l_cast_v4i (v4i a)
 Casts a v4i vector into a v4l vector. More...
 
v4l v4l_cast_v4l (v4l a)
 Casts a v4l vector into a v4l vector. More...
 
v4l v4l_cast_v8d (v8d a)
 Casts a v8d vector into a v4l vector. More...
 
v4l v4l_cast_v8f (v8f a)
 Casts a v8f vector into a v4l vector. More...
 
v4l v4l_cast_v8i (v8i a)
 Casts a v8i vector into a v4l vector. More...
 
v4l v4l_cast_v8l (v8l a)
 Casts a v8l vector into a v4l vector. More...
 
v4l v4l_cast_v16f (v16f a)
 Casts a v16f vector into a v4l vector. More...
 
v4l v4l_cast_v16i (v16i a)
 Casts a v16i vector into a v4l vector. More...
 
m4l m4l_cast_v4l (v4l a)
 Casts a v4l vector into a m4l vector-mask. More...
 
v4l v4l_cast_m4l (m4l a)
 Casts a m4l vector-mask into a v4l vector. More...
 
v4l v4l_cvt_v1d (v1d a)
 Converts a v1d vector into a v4l vector. More...
 
v4l v4l_cvt_v1f (v1f a)
 Converts a v1f vector into a v4l vector. More...
 
v4l v4l_cvt_v1i (v1i a)
 Converts a v1i vector into a v4l vector. More...
 
v4l v4l_cvt_v1l (v1l a)
 Converts a v1l vector into a v4l vector. More...
 
v4l v4l_cvt_v2d (v2d a)
 Converts a v2d vector into a v4l vector. More...
 
v4l v4l_cvt_v2f (v2f a)
 Converts a v2f vector into a v4l vector. More...
 
v4l v4l_cvt_v2i (v2i a)
 Converts a v2i vector into a v4l vector. More...
 
v4l v4l_cvt_v2l (v2l a)
 Converts a v2l vector into a v4l vector. More...
 
v4l v4l_cvt_v4d (v4d a)
 Converts a v4d vector into a v4l vector. More...
 
v4l v4l_cvt_v4f (v4f a)
 Converts a v4f vector into a v4l vector. More...
 
v4l v4l_cvt_v4i (v4i a)
 Converts a v4i vector into a v4l vector. More...
 
v4l v4l_cvt_v4l (v4l a)
 Converts a v4l vector into a v4l vector. More...
 
v4l v4l_cvt_v8d (v8d a)
 Converts a v8d vector into a v4l vector. More...
 
v4l v4l_cvt_v8f (v8f a)
 Converts a v8f vector into a v4l vector. More...
 
v4l v4l_cvt_v8i (v8i a)
 Converts a v8i vector into a v4l vector. More...
 
v4l v4l_cvt_v8l (v8l a)
 Converts a v8l vector into a v4l vector. More...
 
v4l v4l_cvt_v16f (v16f a)
 Converts a v16f vector into a v4l vector. More...
 
v4l v4l_cvt_v16i (v16i a)
 Converts a v16i vector into a v4l vector. More...
 
m4l m4l_cvt_v4l (v4l a)
 Converts a v4l vector into a m4l vector-mask. More...
 
v4l v4l_cvt_m4l (m4l a)
 Converts a m4l vector-mask into a v4l vector. More...
 
m4l m4l_cvt_m4d (m4d a)
 Converts a m4d vector-mask into a m4l vector-mask. More...
 
m4l m4l_cvt_m4f (m4f a)
 Converts a m4f vector-mask into a m4l vector-mask. More...
 
m4l m4l_cvt_m4i (m4i a)
 Converts a m4i vector-mask into a m4l vector-mask. More...
 
m4l m4l_cvt_m4l (m4l a)
 Converts a m4l vector-mask into a m4l vector-mask. More...
 

Detailed Description

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