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

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

#include <pints-doc.h>

Related Functions

(Note that these are not member functions.)

v8d v8d_load (const double *p)
 Loads 8 double from memory into a v8d vector. More...
 
v8d v8d_loadu (const double *p)
 Loads 8 double from memory into a v8d vector. More...
 
v8d v8d_load1 (const double *p)
 Loads 1 double from memory and broadcasts it into a v8d vector. More...
 
void v8d_store (double *p, v8d a)
 Stores a v8d vector into memory. More...
 
void v8d_storeu (double *p, v8d a)
 Stores a v8d vector into memory. More...
 
void v8d_store1 (double *p, v8d a)
 Stores the first element of a v8d vector into memory. More...
 
v8d v8d_set (double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7)
 Sets the elements of a v8d vector. More...
 
v8d v8d_rset (double v7, double v6, double v5, double v4, double v3, double v2, double v1, double v0)
 Sets the elements of a v8d vector (reverse order). More...
 
v8d v8d_set1 (double v)
 Broadcasts a single value into all elements of a v8d vector. More...
 
v8d v8d_zeros ()
 Sets all bits to 0. More...
 
v8d v8d_ones ()
 Sets all bits to 1. More...
 
v8d v8d_zero ()
 Sets all elements to 0. More...
 
v8d v8d_one ()
 Sets all elements to 1. More...
 
m8d m8d_eq (v8d a, v8d b)
 Compares the equality of the two input vectors. More...
 
m8d m8d_neq (v8d a, v8d b)
 Compares the inequality of the two input vectors. More...
 
m8d m8d_gt (v8d a, v8d b)
 Compares if elements of a are greater than those of b. More...
 
m8d m8d_geq (v8d a, v8d b)
 Compares if elements of a are greater than or equal to those of b. More...
 
m8d m8d_lt (v8d a, v8d b)
 Compares if elements of a are less than those of b. More...
 
m8d m8d_leq (v8d a, v8d b)
 Compares if elements of a are less than or equal to those of b. More...
 
m8d m8d_and (m8d a, m8d b)
 Bitwise and ( a & b ) More...
 
m8d m8d_or (m8d a, m8d b)
 Bitwise or ( a | b ) More...
 
m8d m8d_xor (m8d a, m8d b)
 Bitwise xor ( a ^ b ) More...
 
m8d m8d_not (m8d a)
 Bitwise not ( ~a ) More...
 
m8d m8d_nand (m8d a, m8d b)
 Bitwise nand ( ~(a & b) ) More...
 
m8d m8d_nor (m8d a, m8d b)
 Bitwise nor ( ~(a | b) ) More...
 
m8d m8d_nxor (m8d a, m8d b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
m8d m8d_andnot (m8d a, m8d b)
 Bitwise andnot ( a & ~b ) More...
 
m8d m8d_ornot (m8d a, m8d b)
 Bitwise ornot ( a | ~b ) More...
 
v8d v8d_eq (v8d a, v8d b)
 Compares the equality of the two input vectors. More...
 
v8d v8d_neq (v8d a, v8d b)
 Compares the inequality of the two input vectors. More...
 
v8d v8d_gt (v8d a, v8d b)
 Compares if elements of a are greater than those of b. More...
 
v8d v8d_geq (v8d a, v8d b)
 Compares if elements of a are greater than or equal to those of b. More...
 
v8d v8d_lt (v8d a, v8d b)
 Compares if elements of a are less than those of b. More...
 
v8d v8d_leq (v8d a, v8d b)
 Compares if elements of a are less than or equal to those of b. More...
 
v8d v8d_and (v8d a, v8d b)
 Bitwise and ( a & b ) More...
 
v8d v8d_or (v8d a, v8d b)
 Bitwise or ( a | b ) More...
 
v8d v8d_xor (v8d a, v8d b)
 Bitwise xor ( a ^ b ) More...
 
v8d v8d_not (v8d a)
 Bitwise not ( ~a ) More...
 
v8d v8d_nand (v8d a, v8d b)
 Bitwise nand ( ~(a & b) ) More...
 
v8d v8d_nor (v8d a, v8d b)
 Bitwise nor ( ~(a | b) ) More...
 
v8d v8d_nxor (v8d a, v8d b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
v8d v8d_andnot (v8d a, v8d b)
 Bitwise andnot ( a & ~b ) More...
 
v8d v8d_ornot (v8d a, v8d b)
 Bitwise ornot ( a | ~b ) More...
 
v8d v8d_add (v8d a, v8d b)
 Elementwise addition ( a + b ) More...
 
v8d v8d_sub (v8d a, v8d b)
 Elementwise subtraction ( a - b ) More...
 
v8d v8d_neg (v8d a)
 Elementwise negation ( -a ) More...
 
v8d v8d_min (v8d a, v8d b)
 Elementwise min ( a < b ? a : b ) More...
 
v8d v8d_max (v8d a, v8d b)
 Elementwise max ( a > b ? a : b ) More...
 
v8d v8d_abs (v8d a)
 Elementwise absolute value ( a > 0 ? a : -a ) More...
 
v8d v8d_mul (v8d a, v8d b)
 Elementwise multiplication ( a * b ) More...
 
v8d v8d_div (v8d a, v8d b)
 Elementwise division ( a / b ) More...
 
v8d v8d_rcp (v8d a)
 Elementwise reciprocal ( 1 / a ) More...
 
v8d v8d_frcp (v8d a)
 Fast elementwise reciprocal ( 1 / a ) More...
 
v8d v8d_sqrt (v8d a)
 Elementwise square root ( sqrt(a) ) More...
 
v8d v8d_rsqrt (v8d a)
 Elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v8d v8d_frsqrt (v8d a)
 Fast elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v8d v8d_fmadd (v8d a, v8d b, v8d acc)
 Fused Multiply-Add ( (a * b) + acc ) More...
 
v8d v8d_fmsub (v8d a, v8d b, v8d acc)
 Fused Multiply-Sub ( (a * b) - acc ) More...
 
v8d v8d_fnmadd (v8d a, v8d b, v8d acc)
 Fused Multiply-Add ( -(a * b) + acc ) More...
 
v8d v8d_fnmsub (v8d a, v8d b, v8d acc)
 Fused Multiply-Add ( -(a * b) - acc ) More...
 
v8d v8d_merge2_v4d (v4d a0, v4d a1)
 Merges 2 v4d vectors together. More...
 
v8d v8d_merge4_v2d (v2d a0, v2d a1, v2d a2, v2d a3)
 Merges 4 v2d vectors together. More...
 
v8d v8d_merge8_v1d (v1d a0, v1d a1, v1d a2, v1d a3, v1d a4, v1d a5, v1d a6, v1d a7)
 Merges 8 v1d vectors together. More...
 
v8d v8d_rmerge2_v4d (v4d a1, v4d a0)
 Merges 2 v4d vectors together (reverse order). More...
 
v8d v8d_rmerge4_v2d (v2d a3, v2d a2, v2d a1, v2d a0)
 Merges 4 v2d vectors together (reverse order). More...
 
v8d v8d_rmerge8_v1d (v1d a7, v1d a6, v1d a5, v1d a4, v1d a3, v1d a2, v1d a1, v1d a0)
 Merges 8 v1d vectors together (reverse order). More...
 
v8d v8d_merge_v4d (v4d low, v4d high)
 Merges 2 v4d vectors together. More...
 
v8d v8d_rmerge_v4d (v4d high, v4d low)
 Merges 2 v4d vectors together (reversed order). More...
 
v4d v4d_get_low_v8d (v8d a)
 Gets the low part of a v8d vector. More...
 
v4d v4d_get_high_v8d (v8d a)
 Gets the high part of a v8d vector. More...
 
v4d v4d_get_hilo_v8d (v8d a, int high)
 Conditionnaly gets the low or the high part of a v8d vector. More...
 
v8d v8d_set_low_v4d (v8d src, v4d low)
 Sets the low part of a v8d vector. More...
 
v8d v8d_set_high_v4d (v8d src, v4d high)
 Sets the high part of a v8d vector. More...
 
v8d v8d_set_hilo_v4d (v8d src, v4d a, int high)
 Conditionally sets the low or the high part of a v8d vector. More...
 
v8d v8d_blend1 (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_blend2 (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_blend4 (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_blend8 (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_blend1x8 (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_blend2x4 (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_blend4x2 (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_blend8x1 (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_blend (v8d a, v8d b, uint_fast8_t mask)
 Creates a new v8d vector whose elements are from a and b choosed by mask. More...
 
v8d v8d_hshuffle2 (v8d a, v8d b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v8d v8d_hshuffle4 (v8d a, v8d b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v8d v8d_hshuffle8 (v8d a, v8d b, uint_fast32_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v8d v8d_hshuffle2x4 (v8d a, v8d b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v8d v8d_hshuffle4x2 (v8d a, v8d b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v8d v8d_hshuffle8x1 (v8d a, v8d b, uint_fast32_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v8d v8d_permute2 (v8d a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v8d v8d_permute4 (v8d a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v8d v8d_permute8 (v8d a, uint_fast32_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v8d v8d_permute2x4 (v8d a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v8d v8d_permute4x2 (v8d a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v8d v8d_permute8x1 (v8d a, uint_fast32_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v8d v8d_fshuffle2 (v8d a, v8d 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...
 
v8d v8d_fshuffle4 (v8d a, v8d 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...
 
v8d v8d_fshuffle8 (v8d a, v8d 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...
 
v8d v8d_fshuffle2x4 (v8d a, v8d 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...
 
v8d v8d_fshuffle4x2 (v8d a, v8d 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...
 
v8d v8d_fshuffle8x1 (v8d a, v8d 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...
 
v8d v8d_hshuffle (v8d a, v8d b, uint_fast32_t rule)
 Shuffles a and b together using the control in rule. More...
 
v8d v8d_permute (v8d a, uint_fast32_t rule)
 Shuffles a using the control in rule. More...
 
v8d v8d_fshuffle (v8d a, v8d 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...
 
v8d v8d_reduce_add (v8d a)
 Reduction add ( + ) More...
 
v8d v8d_reduce_add_v1d (v1d a)
 Reduction add ( + ) More...
 
v8d v8d_reduce_add_v2d (v2d a)
 Reduction add ( + ) More...
 
v8d v8d_reduce_add_v4d (v4d a)
 Reduction add ( + ) More...
 
v8d v8d_reduce_add_v8d (v8d a)
 Reduction add ( + ) More...
 
v8d sd_reduce_add_v8d (v8d a)
 Reduction add ( + ) More...
 
v8d v8d_reduce_mul (v8d a)
 Reduction mul ( * ) More...
 
v8d v8d_reduce_mul_v1d (v1d a)
 Reduction mul ( * ) More...
 
v8d v8d_reduce_mul_v2d (v2d a)
 Reduction mul ( * ) More...
 
v8d v8d_reduce_mul_v4d (v4d a)
 Reduction mul ( * ) More...
 
v8d v8d_reduce_mul_v8d (v8d a)
 Reduction mul ( * ) More...
 
v8d sd_reduce_mul_v8d (v8d a)
 Reduction mul ( * ) More...
 
v8d v8d_reduce_and (v8d a)
 Reduction and ( & ) More...
 
v8d v8d_reduce_and_v1d (v1d a)
 Reduction and ( & ) More...
 
v8d v8d_reduce_and_v2d (v2d a)
 Reduction and ( & ) More...
 
v8d v8d_reduce_and_v4d (v4d a)
 Reduction and ( & ) More...
 
v8d v8d_reduce_and_v8d (v8d a)
 Reduction and ( & ) More...
 
v8d sd_reduce_and_v8d (v8d a)
 Reduction and ( & ) More...
 
v8d v8d_reduce_or (v8d a)
 Reduction or ( | ) More...
 
v8d v8d_reduce_or_v1d (v1d a)
 Reduction or ( | ) More...
 
v8d v8d_reduce_or_v2d (v2d a)
 Reduction or ( | ) More...
 
v8d v8d_reduce_or_v4d (v4d a)
 Reduction or ( | ) More...
 
v8d v8d_reduce_or_v8d (v8d a)
 Reduction or ( | ) More...
 
v8d sd_reduce_or_v8d (v8d a)
 Reduction or ( | ) More...
 
v8d v8d_reduce_min (v8d a)
 Reduction min ( min ) More...
 
v8d v8d_reduce_min_v1d (v1d a)
 Reduction min ( min ) More...
 
v8d v8d_reduce_min_v2d (v2d a)
 Reduction min ( min ) More...
 
v8d v8d_reduce_min_v4d (v4d a)
 Reduction min ( min ) More...
 
v8d v8d_reduce_min_v8d (v8d a)
 Reduction min ( min ) More...
 
v8d sd_reduce_min_v8d (v8d a)
 Reduction min ( min ) More...
 
v8d v8d_reduce_max (v8d a)
 Reduction max ( max ) More...
 
v8d v8d_reduce_max_v1d (v1d a)
 Reduction max ( max ) More...
 
v8d v8d_reduce_max_v2d (v2d a)
 Reduction max ( max ) More...
 
v8d v8d_reduce_max_v4d (v4d a)
 Reduction max ( max ) More...
 
v8d v8d_reduce_max_v8d (v8d a)
 Reduction max ( max ) More...
 
v8d sd_reduce_max_v8d (v8d a)
 Reduction max ( max ) More...
 
v8d v8d_move (v8d a)
 Forwards the input. More...
 
v8d v8d_maskz_move (m8d mask, v8d a)
 Mask the input. More...
 
v8d v8d_mask_move (m8d mask, v8d src, v8d a)
 Mask the input. More...
 
void v8d_fprintf (FILE *file, v8d a, const char *format)
 Prints a v8d vector. More...
 
void v8d_printf (v8d a, const char *format)
 Prints a v8d vector. More...
 
void v8d_fprint (FILE *file, v8d a)
 Prints a v8d vector. More...
 
void v8d_print (v8d a)
 Prints a v8d vector. More...
 
void v8d_rfprintf (FILE *file, v8d a, const char *format)
 Prints a v8d vector (reversed order) More...
 
void v8d_rprintf (v8d a, const char *format)
 Prints a v8d vector (reversed order) More...
 
void v8d_rfprint (FILE *file, v8d a)
 Prints a v8d vector (reversed order) More...
 
void v8d_rprint (v8d a)
 Prints a v8d vector (reversed order) More...
 
v8d v8d_cast_v1d (v1d a)
 Casts a v1d vector into a v8d vector. More...
 
v8d v8d_cast_v1f (v1f a)
 Casts a v1f vector into a v8d vector. More...
 
v8d v8d_cast_v1i (v1i a)
 Casts a v1i vector into a v8d vector. More...
 
v8d v8d_cast_v1l (v1l a)
 Casts a v1l vector into a v8d vector. More...
 
v8d v8d_cast_v2d (v2d a)
 Casts a v2d vector into a v8d vector. More...
 
v8d v8d_cast_v2f (v2f a)
 Casts a v2f vector into a v8d vector. More...
 
v8d v8d_cast_v2i (v2i a)
 Casts a v2i vector into a v8d vector. More...
 
v8d v8d_cast_v2l (v2l a)
 Casts a v2l vector into a v8d vector. More...
 
v8d v8d_cast_v4d (v4d a)
 Casts a v4d vector into a v8d vector. More...
 
v8d v8d_cast_v4f (v4f a)
 Casts a v4f vector into a v8d vector. More...
 
v8d v8d_cast_v4i (v4i a)
 Casts a v4i vector into a v8d vector. More...
 
v8d v8d_cast_v4l (v4l a)
 Casts a v4l vector into a v8d vector. More...
 
v8d v8d_cast_v8d (v8d a)
 Casts a v8d vector into a v8d vector. More...
 
v8d v8d_cast_v8f (v8f a)
 Casts a v8f vector into a v8d vector. More...
 
v8d v8d_cast_v8i (v8i a)
 Casts a v8i vector into a v8d vector. More...
 
v8d v8d_cast_v8l (v8l a)
 Casts a v8l vector into a v8d vector. More...
 
v8d v8d_cast_v16f (v16f a)
 Casts a v16f vector into a v8d vector. More...
 
v8d v8d_cast_v16i (v16i a)
 Casts a v16i vector into a v8d vector. More...
 
m8d m8d_cast_v8d (v8d a)
 Casts a v8d vector into a m8d vector-mask. More...
 
v8d v8d_cast_m8d (m8d a)
 Casts a m8d vector-mask into a v8d vector. More...
 
v8d v8d_cvt_v1d (v1d a)
 Converts a v1d vector into a v8d vector. More...
 
v8d v8d_cvt_v1f (v1f a)
 Converts a v1f vector into a v8d vector. More...
 
v8d v8d_cvt_v1i (v1i a)
 Converts a v1i vector into a v8d vector. More...
 
v8d v8d_cvt_v1l (v1l a)
 Converts a v1l vector into a v8d vector. More...
 
v8d v8d_cvt_v2d (v2d a)
 Converts a v2d vector into a v8d vector. More...
 
v8d v8d_cvt_v2f (v2f a)
 Converts a v2f vector into a v8d vector. More...
 
v8d v8d_cvt_v2i (v2i a)
 Converts a v2i vector into a v8d vector. More...
 
v8d v8d_cvt_v2l (v2l a)
 Converts a v2l vector into a v8d vector. More...
 
v8d v8d_cvt_v4d (v4d a)
 Converts a v4d vector into a v8d vector. More...
 
v8d v8d_cvt_v4f (v4f a)
 Converts a v4f vector into a v8d vector. More...
 
v8d v8d_cvt_v4i (v4i a)
 Converts a v4i vector into a v8d vector. More...
 
v8d v8d_cvt_v4l (v4l a)
 Converts a v4l vector into a v8d vector. More...
 
v8d v8d_cvt_v8d (v8d a)
 Converts a v8d vector into a v8d vector. More...
 
v8d v8d_cvt_v8f (v8f a)
 Converts a v8f vector into a v8d vector. More...
 
v8d v8d_cvt_v8i (v8i a)
 Converts a v8i vector into a v8d vector. More...
 
v8d v8d_cvt_v8l (v8l a)
 Converts a v8l vector into a v8d vector. More...
 
v8d v8d_cvt_v16f (v16f a)
 Converts a v16f vector into a v8d vector. More...
 
v8d v8d_cvt_v16i (v16i a)
 Converts a v16i vector into a v8d vector. More...
 
m8d m8d_cvt_v8d (v8d a)
 Converts a v8d vector into a m8d vector-mask. More...
 
v8d v8d_cvt_m8d (m8d a)
 Converts a m8d vector-mask into a v8d vector. More...
 
m8d m8d_cvt_m8d (m8d a)
 Converts a m8d vector-mask into a m8d vector-mask. More...
 
m8d m8d_cvt_m8f (m8f a)
 Converts a m8f vector-mask into a m8d vector-mask. More...
 
m8d m8d_cvt_m8i (m8i a)
 Converts a m8i vector-mask into a m8d vector-mask. More...
 
m8d m8d_cvt_m8l (m8l a)
 Converts a m8l vector-mask into a m8d vector-mask. More...
 

Detailed Description

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