Description
Feature gate: #![feature(stdarch_s390x)]
This is a tracking issue for the s390x (aka SystemZ) intrinsics in core::arch::s390x
.
Public API
Everything in core::arch::s390x
.
Missing instructions
based on the clang vecintrin.h (roungly similar to the linkable GCC vecintrin.h).
-
vec_any_nge
s390x: final batch of intrinsics stdarch#1743 -
vec_any_ngt
s390x: final batch of intrinsics stdarch#1743 -
vec_any_nle
s390x: final batch of intrinsics stdarch#1743 -
vec_any_nlt
s390x: final batch of intrinsics stdarch#1743 -
vec_all_nge
s390x: final batch of intrinsics stdarch#1743 -
vec_all_ngt
s390x: final batch of intrinsics stdarch#1743 -
vec_all_nle
s390x: final batch of intrinsics stdarch#1743 -
vec_all_nlt
s390x: final batch of intrinsics stdarch#1743 -
vec_all_nan
s390x: final batch of intrinsics stdarch#1743 -
vec_all_numeric
s390x: final batch of intrinsics stdarch#1743 -
vec_any_nan
s390x: final batch of intrinsics stdarch#1743 -
vec_any_numeric
s390x: final batch of intrinsics stdarch#1743 -
vec_genmask
s390x: add more intrinsics stdarch#1728 -
vec_genmasks_8
s390x: add more intrinsics stdarch#1728 -
vec_genmasks_16
s390x: add more intrinsics stdarch#1728 -
vec_genmasks_32
s390x: add more intrinsics stdarch#1728 -
vec_genmasks_64
s390x: add more intrinsics stdarch#1728 -
vec_splat_u8
s390x: add more intrinsics stdarch#1728 -
vec_splat_s8
s390x: add more intrinsics stdarch#1728 -
vec_splat_u16
s390x: add more intrinsics stdarch#1728 -
vec_splat_s16
s390x: add more intrinsics stdarch#1728 -
vec_splat_u32
s390x: add more intrinsics stdarch#1728 -
vec_splat_s32
s390x: add more intrinsics stdarch#1728 -
vec_splat_u64
s390x: add more intrinsics stdarch#1728 -
vec_splat_s64
s390x: add more intrinsics stdarch#1728 -
vec_checksum
s390x: another batch of intrinsics stdarch#1738 -
vec_gfmsum_128
s390x: another batch of intrinsics stdarch#1738 -
vec_gfmsum_accum_128
s390x: another batch of intrinsics stdarch#1738 -
vec_ceil
S390x float rounding stdarch#1712 -
vec_roundp
S390x float rounding stdarch#1712 -
vec_floor
S390x float rounding stdarch#1712 -
vec_roundm
S390x float rounding stdarch#1712 -
vec_trunc
S390x float rounding stdarch#1712 -
vec_roundz
S390x float rounding stdarch#1712 -
vec_rint
S390x float rounding stdarch#1712 -
vec_roundc
S390x float rounding stdarch#1712 -
vec_round
S390x float rounding stdarch#1712 -
vec_doublee
s390x: final batch of intrinsics stdarch#1743 -
vec_abs
s390x
: addvec_sub
,vec_mul
,vec_min
,vec_max
,vec_abs
andvec_splats
stdarch#1704 -
vec_add_u128
s390x: another batch of intrinsics stdarch#1738 -
vec_addc_u128
s390x: another batch of intrinsics stdarch#1738 -
vec_adde_u128
s390x: another batch of intrinsics stdarch#1738 -
vec_addec_u128
s390x: another batch of intrinsics stdarch#1738 -
vec_bperm_u128
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpeq_idx
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpeq_idx_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpeq_or_0_idx
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpeq_or_0_idx_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpne_idx
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpne_idx_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpne_or_0_idx
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpne_or_0_idx_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpnrg_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpnrg_idx
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpnrg_idx_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpnrg_or_0_idx
s390x: final batch of intrinsics stdarch#1743 -
vec_cmpnrg_or_0_idx_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmprg_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmprg_idx
s390x: final batch of intrinsics stdarch#1743 -
vec_cmprg_idx_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cmprg_or_0_idx
s390x: final batch of intrinsics stdarch#1743 -
vec_cmprg_or_0_idx_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_cp_until_zero
s390x: final batch of intrinsics stdarch#1743 -
vec_cp_until_zero_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_extend_s64
s390x: final batch of intrinsics stdarch#1743 -
vec_find_any_eq
s390x: add more intrinsics stdarch#1728 -
vec_find_any_eq_cc
s390x: add more intrinsics stdarch#1728 -
vec_find_any_eq_idx
s390x: add more intrinsics stdarch#1728 -
vec_find_any_eq_idx_cc
s390x: add more intrinsics stdarch#1728 -
vec_find_any_eq_or_0_idx
s390x: add more intrinsics stdarch#1728 -
vec_find_any_eq_or_0_idx_cc
s390x: add more intrinsics stdarch#1728 -
vec_find_any_ne
s390x: add more intrinsics stdarch#1728 -
vec_find_any_ne_cc
s390x: add more intrinsics stdarch#1728 -
vec_find_any_ne_idx
s390x: add more intrinsics stdarch#1728 -
vec_find_any_ne_idx_cc
s390x: add more intrinsics stdarch#1728 -
vec_find_any_ne_or_0_idx
s390x: add more intrinsics stdarch#1728 -
vec_find_any_ne_or_0_idx_cc
s390x: add more intrinsics stdarch#1728 -
vec_fp_test_data_class
s390x: final batch of intrinsics stdarch#1743 -
vec_gather_element
s390x: final batch of intrinsics stdarch#1743 -
vec_gfmsum_accum
s390x: another batch of intrinsics stdarch#1738 -
vec_load_bndry
s390x: another batch of intrinsics stdarch#1738 -
vec_load_len
s390x: another batch of intrinsics stdarch#1738 -
vec_load_len_r
s390x: another batch of intrinsics stdarch#1738 -
vec_load_pair
s390x: another batch of intrinsics stdarch#1738 -
vec_max
s390x
: addvec_sub
,vec_mul
,vec_min
,vec_max
,vec_abs
andvec_splats
stdarch#1704 -
vec_mergeh
s390x: add more intrinsics stdarch#1728 -
vec_mergel
s390x: add more intrinsics stdarch#1728 -
vec_min
s390x
: addvec_sub
,vec_mul
,vec_min
,vec_max
,vec_abs
andvec_splats
stdarch#1704 -
vec_msum_u128
s390x: final batch of intrinsics stdarch#1743 -
vec_packs_cc
s390x: another batch of intrinsics stdarch#1738 -
vec_packsu_cc
s390x: another batch of intrinsics stdarch#1738 -
vec_popcnt
S390x vector bitwise operations stdarch#1709 -
vec_rl_mask
s390x: add more intrinsics stdarch#1728 -
vec_scatter_element
s390x: final batch of intrinsics stdarch#1743 -
vec_search_string_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_search_string_until_zero_cc
s390x: final batch of intrinsics stdarch#1743 -
vec_splat
s390x: add more intrinsics stdarch#1728 -
vec_splats
s390x
: addvec_sub
,vec_mul
,vec_min
,vec_max
,vec_abs
andvec_splats
stdarch#1704 -
vec_store_len
s390x: another batch of intrinsics stdarch#1738 -
vec_store_len_r
s390x: another batch of intrinsics stdarch#1738 -
vec_sub_u128
s390x: add more intrinsics stdarch#1728 -
vec_subc_u128
s390x: add more intrinsics stdarch#1728 -
vec_sube_u128
s390x: add more intrinsics stdarch#1728 -
vec_subec_u128
s390x: add more intrinsics stdarch#1728 -
vec_sum_u128
s390x: add more intrinsics stdarch#1728 -
vec_test_mask
s390x: final batch of intrinsics stdarch#1743 -
vec_unpackh
s390x: another batch of intrinsics stdarch#1738 -
vec_unpackl
s390x: another batch of intrinsics stdarch#1738 -
vec_unsigned
s390x: final batch of intrinsics stdarch#1743
blocked on #137447
-
vec_promote
addvec_extract
,vec_insert
,vec_promote
andvec_insert_and_zero
stdarch#1772 -
vec_extract
addvec_extract
,vec_insert
,vec_promote
andvec_insert_and_zero
stdarch#1772 -
vec_insert
addvec_extract
,vec_insert
,vec_promote
andvec_insert_and_zero
stdarch#1772 -
vec_insert_and_zero
addvec_extract
,vec_insert
,vec_promote
andvec_insert_and_zero
stdarch#1772
from nnp-assist
, current qemu traps on these
-
vec_extend_to_fp32_hi
-
vec_extend_to_fp32_lo
-
vec_round_from_fp32
-
vec_convert_to_fp16
-
vec_convert_from_fp16
deprecated functions
-
vec_ctd
-
vec_ctd_s64
-
vec_ctd_u64
-
vec_ctsl
-
vec_ctul
-
vec_ld2f
-
vec_st2f
-
vec_xstd2
-
vec_xstw4
-
vec_xld2
-
vec_xlw4
-
vec_permi
Steps / History
- Implementation: #...
- Final comment period (FCP)1
- Stabilization PR
Unresolved Questions
- None yet.
@rustbot label O-SystemZ
general s390x vector/intrinsics progress is tracked at #130869
cc @taiki-e