File tree 6 files changed +46
-0
lines changed
6 files changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -124,6 +124,10 @@ case ${TARGET} in
124
124
export RUSTFLAGS=" ${RUSTFLAGS} -C target-feature=+msa"
125
125
cargo_test " ${PROFILE} "
126
126
;;
127
+ s390x* )
128
+ export RUSTFLAGS=" ${RUSTFLAGS} -C target-feature=+vector"
129
+ cargo_test " ${PROFILE} "
130
+ ;;
127
131
powerpc64* )
128
132
# We don't build the ppc 32-bit targets with these - these targets
129
133
# are mostly unsupported for now.
Original file line number Diff line number Diff line change 25
25
avx512_target_feature,
26
26
mips_target_feature,
27
27
powerpc_target_feature,
28
+ s390x_target_feature,
28
29
loongarch_target_feature,
29
30
wasm_target_feature,
30
31
abi_unadjusted,
69
70
feature(
70
71
stdarch_arm_feature_detection,
71
72
stdarch_powerpc_feature_detection,
73
+ stdarch_s390x_feature_detection,
72
74
stdarch_loongarch_feature_detection
73
75
)
74
76
) ]
Original file line number Diff line number Diff line change @@ -278,6 +278,16 @@ pub mod arch {
278
278
pub mod loongarch64 {
279
279
pub use crate :: core_arch:: loongarch64:: * ;
280
280
}
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
+ }
281
291
}
282
292
283
293
#[ cfg( any( target_arch = "x86" , target_arch = "x86_64" , doc) ) ]
@@ -325,3 +335,7 @@ mod nvptx;
325
335
#[ cfg( any( target_arch = "loongarch64" , doc) ) ]
326
336
#[ doc( cfg( target_arch = "loongarch64" ) ) ]
327
337
mod 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(
79
79
"is_mips64_feature_detected"
80
80
}
81
81
"loongarch64" => "is_loongarch_feature_detected" ,
82
+ "s390x" => "is_s390x_feature_detected" ,
82
83
t => panic ! ( "unknown target: {t}" ) ,
83
84
} ;
84
85
let macro_test = Ident :: new ( macro_test, Span :: call_site ( ) ) ;
You can’t perform that action at this time.
0 commit comments