Module s390x

Source
🔬This is a nightly-only experimental API. (stdarch_s390x #135681)
Available on s390x only.
Expand description

Platform-specific intrinsics for the s390x platform.

See the module documentation for more details.

Structs§

vector_bool_charExperimental
s390x-specific 128-bit wide vector mask of sixteen packed elements
vector_bool_intExperimental
s390x-specific 128-bit wide vector mask of four packed elements
vector_bool_long_longExperimental
s390x-specific 128-bit wide vector mask of two packed elements
vector_bool_shortExperimental
s390x-specific 128-bit wide vector mask of eight packed elements
vector_doubleExperimental
s390x-specific 128-bit wide vector of two packed f64
vector_floatExperimental
s390x-specific 128-bit wide vector of four packed f32
vector_signed_charExperimental
s390x-specific 128-bit wide vector of sixteen packed i8
vector_signed_intExperimental
s390x-specific 128-bit wide vector of four packed i32
vector_signed_long_longExperimental
s390x-specific 128-bit wide vector of two packed i64
vector_signed_shortExperimental
s390x-specific 128-bit wide vector of eight packed i16
vector_unsigned_charExperimental
s390x-specific 128-bit wide vector of sixteen packed u8
vector_unsigned_intExperimental
s390x-specific 128-bit wide vector of four packed u32
vector_unsigned_long_longExperimental
s390x-specific 128-bit wide vector of two packed u64
vector_unsigned_shortExperimental
s390x-specific 128-bit wide vector of eight packed u16

Functions§

vec_abs⚠Experimentalvector
Vector abs.
vec_add⚠Experimentalvector
Vector element-wise addition.
vec_and⚠Experimentalvector
Vector and
vec_andc⚠Experimentalvector
Vector andc.
vec_ceil⚠Experimentalvector
Vector ceil.
vec_cntlz⚠Experimentalvector
Vector Count Leading Zeros
vec_cnttz⚠Experimentalvector
Vector Count Trailing Zeros
vec_eqv⚠Experimentalvector
Vector xnor
vec_find_any_eq⚠Experimentalvector
vec_find_any_eq_cc⚠Experimentalvector
vec_find_any_eq_idx⚠Experimentalvector
vec_find_any_eq_idx_cc⚠Experimentalvector
vec_find_any_eq_or_0_idx⚠Experimentalvector
vec_find_any_eq_or_0_idx_cc⚠Experimentalvector
vec_find_any_ne⚠Experimentalvector
vec_find_any_ne_cc⚠Experimentalvector
vec_find_any_ne_idx⚠Experimentalvector
vec_find_any_ne_idx_cc⚠Experimentalvector
vec_find_any_ne_or_0_idx⚠Experimentalvector
vec_find_any_ne_or_0_idx_cc⚠Experimentalvector
vec_floor⚠Experimentalvector
Vector floor.
vec_genmask⚠Experimentalvector
Generates byte masks for elements in the return vector. For each bit in a, if the bit is one, all bit positions in the corresponding byte element of d are set to ones. Otherwise, if the bit is zero, the corresponding byte element is set to zero.
vec_genmasks_8⚠Experimentalvector
Vector Generate Mask (Byte)
vec_genmasks_16⚠Experimentalvector
Vector Generate Mask (Halfword)
vec_genmasks_32⚠Experimentalvector
Vector Generate Mask (Word)
vec_genmasks_64⚠Experimentalvector
Vector Generate Mask (Doubleword)
vec_max⚠Experimentalvector
Vector element-wise maximum.
vec_mergeh⚠Experimentalvector
Merges the most significant (“high”) halves of two vectors.
vec_mergel⚠Experimentalvector
Merges the least significant (“low”) halves of two vectors.
vec_min⚠Experimentalvector
Vector element-wise minimum.
vec_mul⚠Experimentalvector
Vector element-wise multiplication.
vec_nabs⚠Experimentalvector
Vector negative abs.
vec_nand⚠Experimentalvector
Vector nand
vec_nor⚠Experimentalvector
Vector nor
vec_or⚠Experimentalvector
Vector or
vec_orc⚠Experimentalvector
Vector OR with Complement
vec_perm⚠Experimentalvector
Returns a vector that contains some elements of two vectors, in the order specified by a third vector. Each byte of the result is selected by using the least significant 5 bits of the corresponding byte of c as an index into the concatenated bytes of a and b. Note: The vector generate mask built-in function vec_genmask could help generate the mask c.
vec_popcnt⚠Experimentalvector
Vector Population Count
vec_revb⚠Experimentalvector
Returns a vector where each vector element contains the corresponding byte-reversed vector element of the input vector.
vec_reve⚠Experimentalvector
Returns a vector with the elements of the input vector in reversed order.
vec_rint⚠Experimentalvector
Returns a vector by using the current rounding mode to round every floating-point element in the given vector to integer.
vec_rl⚠Experimentalvector
Vector Element Rotate Left
vec_rli⚠Experimentalvector
Rotates each element of a vector left by a given number of bits. Each element of the result is obtained by rotating the corresponding element of a left by the number of bits specified by b, modulo the number of bits in the element.
vec_round⚠Experimentalvector
Returns a vector containing the rounded values to the nearest representable floating-point integer, using IEEE round-to-nearest rounding, of the corresponding elements of the given vector
vec_roundc⚠Experimentalvector
Returns a vector by using the current rounding mode to round every floating-point element in the given vector to integer.
vec_roundm⚠Experimentalvector
Returns a vector containing the largest representable floating-point integral values less than or equal to the values of the corresponding elements of the given vector.
vec_roundp⚠Experimentalvector
Returns a vector containing the smallest representable floating-point integral values greater than or equal to the values of the corresponding elements of the given vector.
vec_roundz⚠Experimentalvector
Returns a vector containing the truncated values of the corresponding elements of the given vector. Each element of the result contains the value of the corresponding element of a, truncated to an integral value.
vec_sl⚠Experimentalvector
Vector Shift Left
vec_slb⚠Experimentalvector
Vector Shift Left by Byte
vec_sll⚠Experimentalvector
Performs a left shift for a vector by a given number of bits. Each element of the result is obtained by shifting the corresponding element of a left by the number of bits specified by the last 3 bits of every byte of b. The bits that are shifted out are replaced by zeros.
vec_splat⚠Experimentalvector
Vector Splat
vec_splat_i8⚠Experimentalvector
Vector Splat Signed Byte
vec_splat_i16⚠Experimentalvector
Vector Splat Signed Halfword
vec_splat_i32⚠Experimentalvector
Vector Splat Signed Word
vec_splat_i64⚠Experimentalvector
Vector Splat Signed Doubleword
vec_splat_u8⚠Experimentalvector
Vector Splat Unsigned Byte
vec_splat_u16⚠Experimentalvector
Vector Splat Unsigned Halfword
vec_splat_u32⚠Experimentalvector
Vector Splat Unsigned Word
vec_splat_u64⚠Experimentalvector
Vector Splat Unsigned Doubleword
vec_splats⚠Experimentalvector
Vector splats.
vec_sqrt⚠Experimentalvector
Vector square root.
vec_sr⚠Experimentalvector
Vector Shift Right
vec_sra⚠Experimentalvector
Vector Shift Right Algebraic
vec_srab⚠Experimentalvector
Vector Shift Right Algebraic by Byte
vec_sral⚠Experimentalvector
Performs an algebraic right shift for a vector by a given number of bits. Each element of the result is obtained by shifting the corresponding element of a right by the number of bits specified by the last 3 bits of every byte of b. The bits that are shifted out are replaced by copies of the most significant bit of the element of a.
vec_srb⚠Experimentalvector
Vector Shift Right by Byte
vec_srl⚠Experimentalvector
Performs a right shift for a vector by a given number of bits. Each element of the result is obtained by shifting the corresponding element of a right by the number of bits specified by the last 3 bits of every byte of b. The bits that are shifted out are replaced by zeros.
vec_sub⚠Experimentalvector
Vector element-wise subtraction.
vec_sub_u128⚠Experimentalvector
Vector Subtract unsigned 128-bits
vec_subc⚠Experimentalvector
Vector Subtract Carryout
vec_subc_u128⚠Experimentalvector
Gets the carry bit of the 128-bit subtraction of two quadword values. This function operates on the vectors as 128-bit unsigned integers. It returns a vector containing the borrow produced by subtracting b from a, as unsigned 128-bits integers. If no borrow occurred, the bit 127 of d is 1; otherwise it is set to 0. All other bits of d are 0.
vec_sube_u128⚠Experimentalvector
Subtracts unsigned quadword values with carry bit from a previous operation.
vec_subec_u128⚠Experimentalvector
Vector Subtract with Carryout, Carryout
vec_sum2⚠Experimentalvector
Vector Sum Across Doubleword
vec_sum4⚠Experimentalvector
Vector Sum Across Word
vec_sum_u128⚠Experimentalvector
Vector Sum Across Quadword
vec_trunc⚠Experimentalvector
Returns a vector containing the truncated values of the corresponding elements of the given vector. Each element of the result contains the value of the corresponding element of a, truncated to an integral value.
vec_xor⚠Experimentalvector
Vector xor