Tracking Issue for stdarch_s390x
#135681
Labels
C-tracking-issue
Category: An issue tracking the progress of sth. like the implementation of an RFC
O-SystemZ
Target: SystemZ processors (s390x)
T-libs-api
Relevant to the library API team, which will review and decide on the PR/issue.
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).
__lcbb
s390x: another batch of intrinsics stdarch#1738vec_any_eq
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_ge
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_gt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_le
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_lt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_ne
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_nge
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_ngt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_nle
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_nlt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_eq
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_ge
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_gt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_le
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_lt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_ne
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_nge
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_ngt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_nle
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_nlt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_nan
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_all_numeric
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_nan
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_any_numeric
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_genmask
s390x: add more intrinsics stdarch#1728vec_genmasks_8
s390x: add more intrinsics stdarch#1728vec_genmasks_16
s390x: add more intrinsics stdarch#1728vec_genmasks_32
s390x: add more intrinsics stdarch#1728vec_genmasks_64
s390x: add more intrinsics stdarch#1728vec_splat_u8
s390x: add more intrinsics stdarch#1728vec_splat_s8
s390x: add more intrinsics stdarch#1728vec_splat_u16
s390x: add more intrinsics stdarch#1728vec_splat_s16
s390x: add more intrinsics stdarch#1728vec_splat_u32
s390x: add more intrinsics stdarch#1728vec_splat_s32
s390x: add more intrinsics stdarch#1728vec_splat_u64
s390x: add more intrinsics stdarch#1728vec_splat_s64
s390x: add more intrinsics stdarch#1728vec_checksum
s390x: another batch of intrinsics stdarch#1738vec_gfmsum_128
s390x: another batch of intrinsics stdarch#1738vec_gfmsum_accum_128
s390x: another batch of intrinsics stdarch#1738vec_ceil
S390x float rounding stdarch#1712vec_roundp
S390x float rounding stdarch#1712vec_floor
S390x float rounding stdarch#1712vec_roundm
S390x float rounding stdarch#1712vec_trunc
S390x float rounding stdarch#1712vec_roundz
S390x float rounding stdarch#1712vec_rint
S390x float rounding stdarch#1712vec_roundc
S390x float rounding stdarch#1712vec_round
S390x float rounding stdarch#1712vec_doublee
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_floate
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_abs
s390x
: addvec_sub
,vec_mul
,vec_min
,vec_max
,vec_abs
andvec_splats
stdarch#1704vec_add_u128
s390x: another batch of intrinsics stdarch#1738vec_addc_u128
s390x: another batch of intrinsics stdarch#1738vec_adde_u128
s390x: another batch of intrinsics stdarch#1738vec_addec_u128
s390x: another batch of intrinsics stdarch#1738vec_and
S390x vector bitwise operations stdarch#1709vec_andc
S390x vector bitwise operations stdarch#1709vec_avg
s390x: another batch of intrinsics stdarch#1738vec_bperm_u128
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpeq
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpeq_idx
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpeq_idx_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpeq_or_0_idx
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpeq_or_0_idx_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpge
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpgt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmple
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmplt
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpne_idx
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpne_idx_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpne_or_0_idx
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpne_or_0_idx_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpnrg
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpnrg_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpnrg_idx
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpnrg_idx_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpnrg_or_0_idx
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmpnrg_or_0_idx_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmprg
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmprg_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmprg_idx
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmprg_idx_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmprg_or_0_idx
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cmprg_or_0_idx_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cntlz
S390x vector bitwise operations stdarch#1709vec_cnttz
S390x vector bitwise operations stdarch#1709vec_cp_until_zero
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_cp_until_zero_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_double
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_eqv
S390x vector bitwise operations stdarch#1709vec_extend_s64
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_find_any_eq
s390x: add more intrinsics stdarch#1728vec_find_any_eq_cc
s390x: add more intrinsics stdarch#1728vec_find_any_eq_idx
s390x: add more intrinsics stdarch#1728vec_find_any_eq_idx_cc
s390x: add more intrinsics stdarch#1728vec_find_any_eq_or_0_idx
s390x: add more intrinsics stdarch#1728vec_find_any_eq_or_0_idx_cc
s390x: add more intrinsics stdarch#1728vec_find_any_ne
s390x: add more intrinsics stdarch#1728vec_find_any_ne_cc
s390x: add more intrinsics stdarch#1728vec_find_any_ne_idx
s390x: add more intrinsics stdarch#1728vec_find_any_ne_idx_cc
s390x: add more intrinsics stdarch#1728vec_find_any_ne_or_0_idx
s390x: add more intrinsics stdarch#1728vec_find_any_ne_or_0_idx_cc
s390x: add more intrinsics stdarch#1728vec_float
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_fp_test_data_class
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_gather_element
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_gfmsum
s390x: another batch of intrinsics stdarch#1738vec_gfmsum_accum
s390x: another batch of intrinsics stdarch#1738vec_load_bndry
s390x: another batch of intrinsics stdarch#1738vec_load_len
s390x: another batch of intrinsics stdarch#1738vec_load_len_r
s390x: another batch of intrinsics stdarch#1738vec_load_pair
s390x: another batch of intrinsics stdarch#1738vec_madd
s390x: another batch of intrinsics stdarch#1738vec_max
s390x
: addvec_sub
,vec_mul
,vec_min
,vec_max
,vec_abs
andvec_splats
stdarch#1704vec_meadd
vec_mergeh
s390x: add more intrinsics stdarch#1728vec_mergel
s390x: add more intrinsics stdarch#1728vec_mhadd
vec_min
s390x
: addvec_sub
,vec_mul
,vec_min
,vec_max
,vec_abs
andvec_splats
stdarch#1704vec_mladd
vec_moadd
vec_msub
s390x: another batch of intrinsics stdarch#1738vec_msum_u128
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_mule
s390x: another batch of intrinsics stdarch#1738vec_mulh
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_mulo
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_nabs
s390x: add more intrinsics stdarch#1728vec_nand
S390x vector bitwise operations stdarch#1709vec_nmadd
s390x: another batch of intrinsics stdarch#1738vec_nmsub
s390x: another batch of intrinsics stdarch#1738vec_nor
S390x vector bitwise operations stdarch#1709vec_or
S390x vector bitwise operations stdarch#1709vec_orc
S390x vector bitwise operations stdarch#1709vec_pack
s390x: another batch of intrinsics stdarch#1738vec_packs
s390x: another batch of intrinsics stdarch#1738vec_packs_cc
s390x: another batch of intrinsics stdarch#1738vec_packsu
s390x: another batch of intrinsics stdarch#1738vec_packsu_cc
s390x: another batch of intrinsics stdarch#1738vec_perm
s390x: add more intrinsics stdarch#1728vec_popcnt
S390x vector bitwise operations stdarch#1709vec_revb
s390x: add more intrinsics stdarch#1728vec_reve
s390x: add more intrinsics stdarch#1728vec_rl
s390x: add more intrinsics stdarch#1728vec_rl_mask
s390x: add more intrinsics stdarch#1728vec_rli
s390x: add more intrinsics stdarch#1728vec_scatter_element
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_search_string_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_search_string_until_zero_cc
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_sel
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_signed
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_slb
s390x: add more intrinsics stdarch#1728vec_sld
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_sldb
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_sldw
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_sll
s390x: add more intrinsics stdarch#1728vec_splat
s390x: add more intrinsics stdarch#1728vec_splats
s390x
: addvec_sub
,vec_mul
,vec_min
,vec_max
,vec_abs
andvec_splats
stdarch#1704vec_sqrt
s390x: add more intrinsics stdarch#1728vec_srab
s390x: add more intrinsics stdarch#1728vec_sral
s390x: add more intrinsics stdarch#1728vec_srb
s390x: add more intrinsics stdarch#1728vec_srdb
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_srl
s390x: add more intrinsics stdarch#1728vec_store_len
s390x: another batch of intrinsics stdarch#1738vec_store_len_r
s390x: another batch of intrinsics stdarch#1738vec_sub_u128
s390x: add more intrinsics stdarch#1728vec_subc_u128
s390x: add more intrinsics stdarch#1728vec_sube_u128
s390x: add more intrinsics stdarch#1728vec_subec_u128
s390x: add more intrinsics stdarch#1728vec_sum2
s390x: add more intrinsics stdarch#1728vec_sum4
s390x: add more intrinsics stdarch#1728vec_sum_u128
s390x: add more intrinsics stdarch#1728vec_test_mask
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_unpackh
s390x: another batch of intrinsics stdarch#1738vec_unpackl
s390x: another batch of intrinsics stdarch#1738vec_unsigned
s390x: yet another batch of intrinsics folkertdev/stdarch#1vec_xl
s390x: another batch of intrinsics stdarch#1738vec_xor
S390x vector bitwise operations stdarch#1709vec_xst
s390x: another batch of intrinsics stdarch#1738blocked on #137447
vec_promote
vec_extract
vec_insert
vec_insert_and_zero
from
nnp-assist
, current qemu traps on thesevec_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
Unresolved Questions
@rustbot label O-SystemZ
general s390x vector/intrinsics progress is tracked at #130869
cc @taiki-e
Footnotes
https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html ↩
The text was updated successfully, but these errors were encountered: