🔬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_ char Experimental 
- s390x-specific 128-bit wide vector mask of sixteen packed elements
- vector_bool_ int Experimental 
- s390x-specific 128-bit wide vector mask of four packed elements
- vector_bool_ long_ long Experimental 
- s390x-specific 128-bit wide vector mask of two packed elements
- vector_bool_ short Experimental 
- s390x-specific 128-bit wide vector mask of eight packed elements
- vector_double Experimental 
- s390x-specific 128-bit wide vector of two packed f64
- vector_float Experimental 
- s390x-specific 128-bit wide vector of four packed f32
- vector_signed_ char Experimental 
- s390x-specific 128-bit wide vector of sixteen packed i8
- vector_signed_ int Experimental 
- s390x-specific 128-bit wide vector of four packed i32
- vector_signed_ long_ long Experimental 
- s390x-specific 128-bit wide vector of two packed i64
- vector_signed_ short Experimental 
- s390x-specific 128-bit wide vector of eight packed i16
- vector_unsigned_ char Experimental 
- s390x-specific 128-bit wide vector of sixteen packed u8
- vector_unsigned_ int Experimental 
- s390x-specific 128-bit wide vector of four packed u32
- vector_unsigned_ long_ long Experimental 
- s390x-specific 128-bit wide vector of two packed u64
- vector_unsigned_ short Experimental 
- s390x-specific 128-bit wide vector of eight packed u16
Functions§
- vec_abs⚠Experimental vector
- Vector abs.
- vec_add⚠Experimental vector
- Vector element-wise addition.
- vec_and⚠Experimental vector
- Vector and
- vec_andc ⚠Experimental vector
- Vector andc.
- vec_ceil ⚠Experimental vector
- Vector ceil.
- vec_cntlz ⚠Experimental vector
- Vector Count Leading Zeros
- vec_cnttz ⚠Experimental vector
- Vector Count Trailing Zeros
- vec_eqv⚠Experimental vector
- Vector xnor
- vec_find_ ⚠any_ eq Experimental vector
- vec_find_ ⚠any_ eq_ cc Experimental vector
- vec_find_ ⚠any_ eq_ idx Experimental vector
- vec_find_ ⚠any_ eq_ idx_ cc Experimental vector
- vec_find_ ⚠any_ eq_ or_ 0_ idx Experimental vector
- vec_find_ ⚠any_ eq_ or_ 0_ idx_ cc Experimental vector
- vec_find_ ⚠any_ ne Experimental vector
- vec_find_ ⚠any_ ne_ cc Experimental vector
- vec_find_ ⚠any_ ne_ idx Experimental vector
- vec_find_ ⚠any_ ne_ idx_ cc Experimental vector
- vec_find_ ⚠any_ ne_ or_ 0_ idx Experimental vector
- vec_find_ ⚠any_ ne_ or_ 0_ idx_ cc Experimental vector
- vec_floor ⚠Experimental vector
- Vector floor.
- vec_genmask ⚠Experimental vector
- 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 Experimental vector
- Vector Generate Mask (Byte)
- vec_genmasks_ ⚠16 Experimental vector
- Vector Generate Mask (Halfword)
- vec_genmasks_ ⚠32 Experimental vector
- Vector Generate Mask (Word)
- vec_genmasks_ ⚠64 Experimental vector
- Vector Generate Mask (Doubleword)
- vec_max⚠Experimental vector
- Vector element-wise maximum.
- vec_mergeh ⚠Experimental vector
- Merges the most significant (“high”) halves of two vectors.
- vec_mergel ⚠Experimental vector
- Merges the least significant (“low”) halves of two vectors.
- vec_min⚠Experimental vector
- Vector element-wise minimum.
- vec_mul⚠Experimental vector
- Vector element-wise multiplication.
- vec_nabs ⚠Experimental vector
- Vector negative abs.
- vec_nand ⚠Experimental vector
- Vector nand
- vec_nor⚠Experimental vector
- Vector nor
- vec_or⚠Experimental vector
- Vector or
- vec_orc⚠Experimental vector
- Vector OR with Complement
- vec_perm ⚠Experimental vector
- 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_genmaskcould help generate the mask c.
- vec_popcnt ⚠Experimental vector
- Vector Population Count
- vec_revb ⚠Experimental vector
- Returns a vector where each vector element contains the corresponding byte-reversed vector element of the input vector.
- vec_reve ⚠Experimental vector
- Returns a vector with the elements of the input vector in reversed order.
- vec_rint ⚠Experimental vector
- Returns a vector by using the current rounding mode to round every floating-point element in the given vector to integer.
- vec_rl⚠Experimental vector
- Vector Element Rotate Left
- vec_rli⚠Experimental vector
- 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 ⚠Experimental vector
- 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 ⚠Experimental vector
- Returns a vector by using the current rounding mode to round every floating-point element in the given vector to integer.
- vec_roundm ⚠Experimental vector
- 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 ⚠Experimental vector
- 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 ⚠Experimental vector
- 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⚠Experimental vector
- Vector Shift Left
- vec_slb⚠Experimental vector
- Vector Shift Left by Byte
- vec_sll⚠Experimental vector
- 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 ⚠Experimental vector
- Vector Splat
- vec_splat_ ⚠i8 Experimental vector
- Vector Splat Signed Byte
- vec_splat_ ⚠i16 Experimental vector
- Vector Splat Signed Halfword
- vec_splat_ ⚠i32 Experimental vector
- Vector Splat Signed Word
- vec_splat_ ⚠i64 Experimental vector
- Vector Splat Signed Doubleword
- vec_splat_ ⚠u8 Experimental vector
- Vector Splat Unsigned Byte
- vec_splat_ ⚠u16 Experimental vector
- Vector Splat Unsigned Halfword
- vec_splat_ ⚠u32 Experimental vector
- Vector Splat Unsigned Word
- vec_splat_ ⚠u64 Experimental vector
- Vector Splat Unsigned Doubleword
- vec_splats ⚠Experimental vector
- Vector splats.
- vec_sqrt ⚠Experimental vector
- Vector square root.
- vec_sr⚠Experimental vector
- Vector Shift Right
- vec_sra⚠Experimental vector
- Vector Shift Right Algebraic
- vec_srab ⚠Experimental vector
- Vector Shift Right Algebraic by Byte
- vec_sral ⚠Experimental vector
- 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⚠Experimental vector
- Vector Shift Right by Byte
- vec_srl⚠Experimental vector
- 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⚠Experimental vector
- Vector element-wise subtraction.
- vec_sub_ ⚠u128 Experimental vector
- Vector Subtract unsigned 128-bits
- vec_subc ⚠Experimental vector
- Vector Subtract Carryout
- vec_subc_ ⚠u128 Experimental vector
- 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 Experimental vector
- Subtracts unsigned quadword values with carry bit from a previous operation.
- vec_subec_ ⚠u128 Experimental vector
- Vector Subtract with Carryout, Carryout
- vec_sum2 ⚠Experimental vector
- Vector Sum Across Doubleword
- vec_sum4 ⚠Experimental vector
- Vector Sum Across Word
- vec_sum_ ⚠u128 Experimental vector
- Vector Sum Across Quadword
- vec_trunc ⚠Experimental vector
- 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⚠Experimental vector
- Vector xor