🔬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_genmask
could 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