#![allow(internal_features)] #![cfg_attr( any( target_arch = "arm", target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86", target_arch = "x86_64", target_arch = "powerpc", target_arch = "powerpc64", target_arch = "s390x", target_arch = "riscv32", target_arch = "riscv64", target_arch = "loongarch32", target_arch = "loongarch64" ), feature(stdarch_internal) )] #![cfg_attr(target_arch = "arm", feature(stdarch_arm_feature_detection))] #![cfg_attr( any(target_arch = "aarch64", target_arch = "arm64ec"), feature(stdarch_aarch64_feature_detection) )] #![cfg_attr( any(target_arch = "powerpc", target_arch = "powerpc64"), feature(stdarch_powerpc_feature_detection) )] #![cfg_attr(target_arch = "s390x", feature(stdarch_s390x_feature_detection))] #![cfg_attr( any(target_arch = "riscv32", target_arch = "riscv64"), feature(stdarch_riscv_feature_detection) )] #![cfg_attr( any(target_arch = "loongarch32", target_arch = "loongarch64"), feature(stdarch_loongarch_feature_detection) )] #[cfg(any( target_arch = "arm", target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86", target_arch = "x86_64", target_arch = "powerpc", target_arch = "powerpc64", target_arch = "s390x", target_arch = "riscv32", target_arch = "riscv64", target_arch = "loongarch32", target_arch = "loongarch64" ))] #[macro_use] extern crate std_detect; #[test] #[cfg(target_arch = "arm")] fn arm() { let _ = is_arm_feature_detected!("neon"); let _ = is_arm_feature_detected!("neon",); } #[test] #[cfg(any(target_arch = "aarch64", target_arch = "arm64ec"))] fn aarch64() { let _ = is_aarch64_feature_detected!("fp"); let _ = is_aarch64_feature_detected!("fp",); } #[test] #[cfg(any(target_arch = "loongarch32", target_arch = "loongarch64"))] fn loongarch() { let _ = is_loongarch_feature_detected!("32s"); let _ = is_loongarch_feature_detected!("32s",); let _ = is_loongarch_feature_detected!("lsx"); let _ = is_loongarch_feature_detected!("lsx",); } #[test] #[cfg(target_arch = "powerpc")] fn powerpc() { let _ = is_powerpc_feature_detected!("altivec"); let _ = is_powerpc_feature_detected!("altivec",); } #[test] #[cfg(target_arch = "powerpc64")] fn powerpc64() { let _ = is_powerpc64_feature_detected!("altivec"); let _ = is_powerpc64_feature_detected!("altivec",); } #[test] #[cfg(any(target_arch = "riscv32", target_arch = "riscv64"))] fn riscv() { let _ = is_riscv_feature_detected!("zk"); let _ = is_riscv_feature_detected!("zk",); } #[test] #[cfg(target_arch = "s390x")] fn s390x() { let _ = is_s390x_feature_detected!("vector"); let _ = is_s390x_feature_detected!("vector",); } #[test] #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] fn x86() { let _ = is_x86_feature_detected!("sse"); let _ = is_x86_feature_detected!("sse",); }