File tree Expand file tree Collapse file tree 6 files changed +46
-0
lines changed Expand file tree Collapse file tree 6 files changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -124,6 +124,10 @@ case ${TARGET} in
124124 export RUSTFLAGS=" ${RUSTFLAGS} -C target-feature=+msa"
125125 cargo_test " ${PROFILE} "
126126 ;;
127+ s390x* )
128+ export RUSTFLAGS=" ${RUSTFLAGS} -C target-feature=+vector"
129+ cargo_test " ${PROFILE} "
130+ ;;
127131 powerpc64* )
128132 # We don't build the ppc 32-bit targets with these - these targets
129133 # are mostly unsupported for now.
Original file line number Diff line number Diff line change 2525 avx512_target_feature,
2626 mips_target_feature,
2727 powerpc_target_feature,
28+ s390x_target_feature,
2829 loongarch_target_feature,
2930 wasm_target_feature,
3031 abi_unadjusted,
6970 feature(
7071 stdarch_arm_feature_detection,
7172 stdarch_powerpc_feature_detection,
73+ stdarch_s390x_feature_detection,
7274 stdarch_loongarch_feature_detection
7375 )
7476) ]
Original file line number Diff line number Diff line change @@ -278,6 +278,16 @@ pub mod arch {
278278 pub mod loongarch64 {
279279 pub use crate :: core_arch:: loongarch64:: * ;
280280 }
281+
282+ /// Platform-specific intrinsics for the `s390x` platform.
283+ ///
284+ /// See the [module documentation](../index.html) for more details.
285+ #[ cfg( any( target_arch = "s390x" , doc) ) ]
286+ #[ doc( cfg( target_arch = "s390x" ) ) ]
287+ #[ unstable( feature = "stdarch_s390x" , issue = "1" ) ]
288+ pub mod s390x {
289+ pub use crate :: core_arch:: s390x:: * ;
290+ }
281291}
282292
283293#[ cfg( any( target_arch = "x86" , target_arch = "x86_64" , doc) ) ]
@@ -325,3 +335,7 @@ mod nvptx;
325335#[ cfg( any( target_arch = "loongarch64" , doc) ) ]
326336#[ doc( cfg( target_arch = "loongarch64" ) ) ]
327337mod loongarch64;
338+
339+ #[ cfg( any( target_arch = "s390x" , doc) ) ]
340+ #[ doc( cfg( target_arch = "s390x" ) ) ]
341+ mod s390x;
Original file line number Diff line number Diff line change 1+ //! `SystemZ` intrinsics
2+
3+ mod vector;
4+ #[ unstable( feature = "stdarch_s390x" , issue = "130869" ) ]
5+ pub use self :: vector:: * ;
Original file line number Diff line number Diff line change 1+ #![ allow( non_camel_case_types) ]
2+ #![ allow( unused_imports) ]
3+
4+ use crate :: { intrinsics:: simd:: * , mem:: transmute} ;
5+
6+ #[ cfg( test) ]
7+ use stdarch_test:: assert_instr;
8+
9+ #[ cfg( test) ]
10+ mod tests {
11+ use super :: * ;
12+
13+ use std:: mem:: transmute;
14+
15+ use crate :: core_arch:: simd:: * ;
16+ use stdarch_test:: simd_test;
17+
18+ #[ simd_test( enable = "vector" ) ]
19+ unsafe fn dummy ( ) { }
20+ }
Original file line number Diff line number Diff line change @@ -79,6 +79,7 @@ pub fn simd_test(
7979 "is_mips64_feature_detected"
8080 }
8181 "loongarch64" => "is_loongarch_feature_detected" ,
82+ "s390x" => "is_s390x_feature_detected" ,
8283 t => panic ! ( "unknown target: {t}" ) ,
8384 } ;
8485 let macro_test = Ident :: new ( macro_test, Span :: call_site ( ) ) ;
You can’t perform that action at this time.
0 commit comments