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

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

#include <pints-doc.h>

Related Functions

(Note that these are not member functions.)

v2l v2l_load (const int64_t *p)
 Loads 2 int64_t from memory into a v2l vector. More...
 
v2l v2l_loadu (const int64_t *p)
 Loads 2 int64_t from memory into a v2l vector. More...
 
v2l v2l_load1 (const int64_t *p)
 Loads 1 int64_t from memory and broadcasts it into a v2l vector. More...
 
void v2l_store (int64_t *p, v2l a)
 Stores a v2l vector into memory. More...
 
void v2l_storeu (int64_t *p, v2l a)
 Stores a v2l vector into memory. More...
 
void v2l_store1 (int64_t *p, v2l a)
 Stores the first element of a v2l vector into memory. More...
 
v2l v2l_set (int64_t v0, int64_t v1)
 Sets the elements of a v2l vector. More...
 
v2l v2l_rset (int64_t v1, int64_t v0)
 Sets the elements of a v2l vector (reverse order). More...
 
v2l v2l_set1 (int64_t v)
 Broadcasts a single value into all elements of a v2l vector. More...
 
v2l v2l_zeros ()
 Sets all bits to 0. More...
 
v2l v2l_ones ()
 Sets all bits to 1. More...
 
v2l v2l_zero ()
 Sets all elements to 0. More...
 
v2l v2l_one ()
 Sets all elements to 1. More...
 
m2l m2l_eq (v2l a, v2l b)
 Compares the equality of the two input vectors. More...
 
m2l m2l_neq (v2l a, v2l b)
 Compares the inequality of the two input vectors. More...
 
m2l m2l_gt (v2l a, v2l b)
 Compares if elements of a are greater than those of b. More...
 
m2l m2l_geq (v2l a, v2l b)
 Compares if elements of a are greater than or equal to those of b. More...
 
m2l m2l_lt (v2l a, v2l b)
 Compares if elements of a are less than those of b. More...
 
m2l m2l_leq (v2l a, v2l b)
 Compares if elements of a are less than or equal to those of b. More...
 
m2l m2l_and (m2l a, m2l b)
 Bitwise and ( a & b ) More...
 
m2l m2l_or (m2l a, m2l b)
 Bitwise or ( a | b ) More...
 
m2l m2l_xor (m2l a, m2l b)
 Bitwise xor ( a ^ b ) More...
 
m2l m2l_not (m2l a)
 Bitwise not ( ~a ) More...
 
m2l m2l_nand (m2l a, m2l b)
 Bitwise nand ( ~(a & b) ) More...
 
m2l m2l_nor (m2l a, m2l b)
 Bitwise nor ( ~(a | b) ) More...
 
m2l m2l_nxor (m2l a, m2l b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
m2l m2l_andnot (m2l a, m2l b)
 Bitwise andnot ( a & ~b ) More...
 
m2l m2l_ornot (m2l a, m2l b)
 Bitwise ornot ( a | ~b ) More...
 
v2l v2l_eq (v2l a, v2l b)
 Compares the equality of the two input vectors. More...
 
v2l v2l_neq (v2l a, v2l b)
 Compares the inequality of the two input vectors. More...
 
v2l v2l_gt (v2l a, v2l b)
 Compares if elements of a are greater than those of b. More...
 
v2l v2l_geq (v2l a, v2l b)
 Compares if elements of a are greater than or equal to those of b. More...
 
v2l v2l_lt (v2l a, v2l b)
 Compares if elements of a are less than those of b. More...
 
v2l v2l_leq (v2l a, v2l b)
 Compares if elements of a are less than or equal to those of b. More...
 
v2l v2l_and (v2l a, v2l b)
 Bitwise and ( a & b ) More...
 
v2l v2l_or (v2l a, v2l b)
 Bitwise or ( a | b ) More...
 
v2l v2l_xor (v2l a, v2l b)
 Bitwise xor ( a ^ b ) More...
 
v2l v2l_not (v2l a)
 Bitwise not ( ~a ) More...
 
v2l v2l_nand (v2l a, v2l b)
 Bitwise nand ( ~(a & b) ) More...
 
v2l v2l_nor (v2l a, v2l b)
 Bitwise nor ( ~(a | b) ) More...
 
v2l v2l_nxor (v2l a, v2l b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
v2l v2l_andnot (v2l a, v2l b)
 Bitwise andnot ( a & ~b ) More...
 
v2l v2l_ornot (v2l a, v2l b)
 Bitwise ornot ( a | ~b ) More...
 
v2l v2l_add (v2l a, v2l b)
 Elementwise addition ( a + b ) More...
 
v2l v2l_sub (v2l a, v2l b)
 Elementwise subtraction ( a - b ) More...
 
v2l v2l_neg (v2l a)
 Elementwise negation ( -a ) More...
 
v2l v2l_min (v2l a, v2l b)
 Elementwise min ( a < b ? a : b ) More...
 
v2l v2l_max (v2l a, v2l b)
 Elementwise max ( a > b ? a : b ) More...
 
v2l v2l_abs (v2l a)
 Elementwise absolute value ( a > 0 ? a : -a ) More...
 
v2l v2l_mul (v2l a, v2l b)
 Elementwise multiplication ( a * b ) More...
 
v2l v2l_div (v2l a, v2l b)
 Elementwise division ( a / b ) More...
 
v2l v2l_rcp (v2l a)
 Elementwise reciprocal ( 1 / a ) More...
 
v2l v2l_frcp (v2l a)
 Fast elementwise reciprocal ( 1 / a ) More...
 
v2l v2l_sqrt (v2l a)
 Elementwise square root ( sqrt(a) ) More...
 
v2l v2l_rsqrt (v2l a)
 Elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v2l v2l_frsqrt (v2l a)
 Fast elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v2l v2l_fmadd (v2l a, v2l b, v2l acc)
 Fused Multiply-Add ( (a * b) + acc ) More...
 
v2l v2l_fmsub (v2l a, v2l b, v2l acc)
 Fused Multiply-Sub ( (a * b) - acc ) More...
 
v2l v2l_fnmadd (v2l a, v2l b, v2l acc)
 Fused Multiply-Add ( -(a * b) + acc ) More...
 
v2l v2l_fnmsub (v2l a, v2l b, v2l acc)
 Fused Multiply-Add ( -(a * b) - acc ) More...
 
v2l v2l_merge2_v1l (v1l a0, v1l a1)
 Merges 2 v1l vectors together. More...
 
v2l v2l_rmerge2_v1l (v1l a1, v1l a0)
 Merges 2 v1l vectors together (reverse order). More...
 
v2l v2l_merge_v1l (v1l low, v1l high)
 Merges 2 v1l vectors together. More...
 
v2l v2l_rmerge_v1l (v1l high, v1l low)
 Merges 2 v1l vectors together (reversed order). More...
 
v1l v1l_get_low_v2l (v2l a)
 Gets the low part of a v2l vector. More...
 
v1l v1l_get_high_v2l (v2l a)
 Gets the high part of a v2l vector. More...
 
v1l v1l_get_hilo_v2l (v2l a, int high)
 Conditionnaly gets the low or the high part of a v2l vector. More...
 
v2l v2l_set_low_v1l (v2l src, v1l low)
 Sets the low part of a v2l vector. More...
 
v2l v2l_set_high_v1l (v2l src, v1l high)
 Sets the high part of a v2l vector. More...
 
v2l v2l_set_hilo_v1l (v2l src, v1l a, int high)
 Conditionally sets the low or the high part of a v2l vector. More...
 
v2l v2l_blend1 (v2l a, v2l b, uint_fast8_t mask)
 Creates a new v2l vector whose elements are from a and b choosed by mask. More...
 
v2l v2l_blend2 (v2l a, v2l b, uint_fast8_t mask)
 Creates a new v2l vector whose elements are from a and b choosed by mask. More...
 
v2l v2l_blend1x2 (v2l a, v2l b, uint_fast8_t mask)
 Creates a new v2l vector whose elements are from a and b choosed by mask. More...
 
v2l v2l_blend2x1 (v2l a, v2l b, uint_fast8_t mask)
 Creates a new v2l vector whose elements are from a and b choosed by mask. More...
 
v2l v2l_blend (v2l a, v2l b, uint_fast8_t mask)
 Creates a new v2l vector whose elements are from a and b choosed by mask. More...
 
v2l v2l_hshuffle2 (v2l a, v2l b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v2l v2l_hshuffle2x1 (v2l a, v2l b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v2l v2l_permute2 (v2l a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v2l v2l_permute2x1 (v2l a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v2l v2l_fshuffle2 (v2l a, v2l 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...
 
v2l v2l_fshuffle2x1 (v2l a, v2l 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...
 
v2l v2l_hshuffle (v2l a, v2l b, uint_fast8_t rule)
 Shuffles a and b together using the control in rule. More...
 
v2l v2l_permute (v2l a, uint_fast8_t rule)
 Shuffles a using the control in rule. More...
 
v2l v2l_fshuffle (v2l a, v2l 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...
 
v2l v2l_reduce_add (v2l a)
 Reduction add ( + ) More...
 
v2l v2l_reduce_add_v1l (v1l a)
 Reduction add ( + ) More...
 
v2l v2l_reduce_add_v2l (v2l a)
 Reduction add ( + ) More...
 
v2l v2l_reduce_add_v4l (v4l a)
 Reduction add ( + ) More...
 
v2l v2l_reduce_add_v8l (v8l a)
 Reduction add ( + ) More...
 
v2l sl_reduce_add_v2l (v2l a)
 Reduction add ( + ) More...
 
v2l v2l_reduce_mul (v2l a)
 Reduction mul ( * ) More...
 
v2l v2l_reduce_mul_v1l (v1l a)
 Reduction mul ( * ) More...
 
v2l v2l_reduce_mul_v2l (v2l a)
 Reduction mul ( * ) More...
 
v2l v2l_reduce_mul_v4l (v4l a)
 Reduction mul ( * ) More...
 
v2l v2l_reduce_mul_v8l (v8l a)
 Reduction mul ( * ) More...
 
v2l sl_reduce_mul_v2l (v2l a)
 Reduction mul ( * ) More...
 
v2l v2l_reduce_and (v2l a)
 Reduction and ( & ) More...
 
v2l v2l_reduce_and_v1l (v1l a)
 Reduction and ( & ) More...
 
v2l v2l_reduce_and_v2l (v2l a)
 Reduction and ( & ) More...
 
v2l v2l_reduce_and_v4l (v4l a)
 Reduction and ( & ) More...
 
v2l v2l_reduce_and_v8l (v8l a)
 Reduction and ( & ) More...
 
v2l sl_reduce_and_v2l (v2l a)
 Reduction and ( & ) More...
 
v2l v2l_reduce_or (v2l a)
 Reduction or ( | ) More...
 
v2l v2l_reduce_or_v1l (v1l a)
 Reduction or ( | ) More...
 
v2l v2l_reduce_or_v2l (v2l a)
 Reduction or ( | ) More...
 
v2l v2l_reduce_or_v4l (v4l a)
 Reduction or ( | ) More...
 
v2l v2l_reduce_or_v8l (v8l a)
 Reduction or ( | ) More...
 
v2l sl_reduce_or_v2l (v2l a)
 Reduction or ( | ) More...
 
v2l v2l_reduce_min (v2l a)
 Reduction min ( min ) More...
 
v2l v2l_reduce_min_v1l (v1l a)
 Reduction min ( min ) More...
 
v2l v2l_reduce_min_v2l (v2l a)
 Reduction min ( min ) More...
 
v2l v2l_reduce_min_v4l (v4l a)
 Reduction min ( min ) More...
 
v2l v2l_reduce_min_v8l (v8l a)
 Reduction min ( min ) More...
 
v2l sl_reduce_min_v2l (v2l a)
 Reduction min ( min ) More...
 
v2l v2l_reduce_max (v2l a)
 Reduction max ( max ) More...
 
v2l v2l_reduce_max_v1l (v1l a)
 Reduction max ( max ) More...
 
v2l v2l_reduce_max_v2l (v2l a)
 Reduction max ( max ) More...
 
v2l v2l_reduce_max_v4l (v4l a)
 Reduction max ( max ) More...
 
v2l v2l_reduce_max_v8l (v8l a)
 Reduction max ( max ) More...
 
v2l sl_reduce_max_v2l (v2l a)
 Reduction max ( max ) More...
 
v2l v2l_move (v2l a)
 Forwards the input. More...
 
v2l v2l_maskz_move (m2l mask, v2l a)
 Mask the input. More...
 
v2l v2l_mask_move (m2l mask, v2l src, v2l a)
 Mask the input. More...
 
void v2l_fprintf (FILE *file, v2l a, const char *format)
 Prints a v2l vector. More...
 
void v2l_printf (v2l a, const char *format)
 Prints a v2l vector. More...
 
void v2l_fprint (FILE *file, v2l a)
 Prints a v2l vector. More...
 
void v2l_print (v2l a)
 Prints a v2l vector. More...
 
void v2l_rfprintf (FILE *file, v2l a, const char *format)
 Prints a v2l vector (reversed order) More...
 
void v2l_rprintf (v2l a, const char *format)
 Prints a v2l vector (reversed order) More...
 
void v2l_rfprint (FILE *file, v2l a)
 Prints a v2l vector (reversed order) More...
 
void v2l_rprint (v2l a)
 Prints a v2l vector (reversed order) More...
 
v2l v2l_cast_v1d (v1d a)
 Casts a v1d vector into a v2l vector. More...
 
v2l v2l_cast_v1f (v1f a)
 Casts a v1f vector into a v2l vector. More...
 
v2l v2l_cast_v1i (v1i a)
 Casts a v1i vector into a v2l vector. More...
 
v2l v2l_cast_v1l (v1l a)
 Casts a v1l vector into a v2l vector. More...
 
v2l v2l_cast_v2d (v2d a)
 Casts a v2d vector into a v2l vector. More...
 
v2l v2l_cast_v2f (v2f a)
 Casts a v2f vector into a v2l vector. More...
 
v2l v2l_cast_v2i (v2i a)
 Casts a v2i vector into a v2l vector. More...
 
v2l v2l_cast_v2l (v2l a)
 Casts a v2l vector into a v2l vector. More...
 
v2l v2l_cast_v4d (v4d a)
 Casts a v4d vector into a v2l vector. More...
 
v2l v2l_cast_v4f (v4f a)
 Casts a v4f vector into a v2l vector. More...
 
v2l v2l_cast_v4i (v4i a)
 Casts a v4i vector into a v2l vector. More...
 
v2l v2l_cast_v4l (v4l a)
 Casts a v4l vector into a v2l vector. More...
 
v2l v2l_cast_v8d (v8d a)
 Casts a v8d vector into a v2l vector. More...
 
v2l v2l_cast_v8f (v8f a)
 Casts a v8f vector into a v2l vector. More...
 
v2l v2l_cast_v8i (v8i a)
 Casts a v8i vector into a v2l vector. More...
 
v2l v2l_cast_v8l (v8l a)
 Casts a v8l vector into a v2l vector. More...
 
v2l v2l_cast_v16f (v16f a)
 Casts a v16f vector into a v2l vector. More...
 
v2l v2l_cast_v16i (v16i a)
 Casts a v16i vector into a v2l vector. More...
 
m2l m2l_cast_v2l (v2l a)
 Casts a v2l vector into a m2l vector-mask. More...
 
v2l v2l_cast_m2l (m2l a)
 Casts a m2l vector-mask into a v2l vector. More...
 
v2l v2l_cvt_v1d (v1d a)
 Converts a v1d vector into a v2l vector. More...
 
v2l v2l_cvt_v1f (v1f a)
 Converts a v1f vector into a v2l vector. More...
 
v2l v2l_cvt_v1i (v1i a)
 Converts a v1i vector into a v2l vector. More...
 
v2l v2l_cvt_v1l (v1l a)
 Converts a v1l vector into a v2l vector. More...
 
v2l v2l_cvt_v2d (v2d a)
 Converts a v2d vector into a v2l vector. More...
 
v2l v2l_cvt_v2f (v2f a)
 Converts a v2f vector into a v2l vector. More...
 
v2l v2l_cvt_v2i (v2i a)
 Converts a v2i vector into a v2l vector. More...
 
v2l v2l_cvt_v2l (v2l a)
 Converts a v2l vector into a v2l vector. More...
 
v2l v2l_cvt_v4d (v4d a)
 Converts a v4d vector into a v2l vector. More...
 
v2l v2l_cvt_v4f (v4f a)
 Converts a v4f vector into a v2l vector. More...
 
v2l v2l_cvt_v4i (v4i a)
 Converts a v4i vector into a v2l vector. More...
 
v2l v2l_cvt_v4l (v4l a)
 Converts a v4l vector into a v2l vector. More...
 
v2l v2l_cvt_v8d (v8d a)
 Converts a v8d vector into a v2l vector. More...
 
v2l v2l_cvt_v8f (v8f a)
 Converts a v8f vector into a v2l vector. More...
 
v2l v2l_cvt_v8i (v8i a)
 Converts a v8i vector into a v2l vector. More...
 
v2l v2l_cvt_v8l (v8l a)
 Converts a v8l vector into a v2l vector. More...
 
v2l v2l_cvt_v16f (v16f a)
 Converts a v16f vector into a v2l vector. More...
 
v2l v2l_cvt_v16i (v16i a)
 Converts a v16i vector into a v2l vector. More...
 
m2l m2l_cvt_v2l (v2l a)
 Converts a v2l vector into a m2l vector-mask. More...
 
v2l v2l_cvt_m2l (m2l a)
 Converts a m2l vector-mask into a v2l vector. More...
 
m2l m2l_cvt_m2d (m2d a)
 Converts a m2d vector-mask into a m2l vector-mask. More...
 
m2l m2l_cvt_m2f (m2f a)
 Converts a m2f vector-mask into a m2l vector-mask. More...
 
m2l m2l_cvt_m2i (m2i a)
 Converts a m2i vector-mask into a m2l vector-mask. More...
 
m2l m2l_cvt_m2l (m2l a)
 Converts a m2l vector-mask into a m2l vector-mask. More...
 

Detailed Description

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