[machinst x64]: implement packed pmin/pmax

This commit is contained in:
Andrew Brown
2020-10-28 11:19:41 -07:00
parent 6725b6b129
commit 6c6d958f38
2 changed files with 22 additions and 5 deletions

View File

@@ -199,9 +199,11 @@ fn experimental_x64_should_panic(testsuite: &str, testname: &str, strategy: &str
("simd", "simd_f32x4") => return false,
("simd", "simd_f32x4_arith") => return false,
("simd", "simd_f32x4_cmp") => return false,
("simd", "simd_f32x4_pmin_pmax") => return false,
("simd", "simd_f64x2") => return false,
("simd", "simd_f64x2_arith") => return false,
("simd", "simd_f64x2_cmp") => return false,
("simd", "simd_f64x2_pmin_pmax") => return false,
("simd", "simd_lane") => return false,
("simd", "simd_load_splat") => return false,
("simd", "simd_store") => return false,
@@ -231,16 +233,15 @@ fn ignore(testsuite: &str, testname: &str, strategy: &str) -> bool {
}
// These are only implemented on aarch64 and x64.
("simd", "simd_boolean") => {
("simd", "simd_boolean")
| ("simd", "simd_f32x4_pmin_pmax")
| ("simd", "simd_f64x2_pmin_pmax") => {
return !(cfg!(feature = "experimental_x64")
|| env::var("CARGO_CFG_TARGET_ARCH").unwrap() == "aarch64")
}
// These are only implemented on aarch64.
("simd", "simd_f32x4_pmin_pmax")
| ("simd", "simd_f32x4_rounding")
| ("simd", "simd_f64x2_pmin_pmax")
| ("simd", "simd_f64x2_rounding") => {
("simd", "simd_f32x4_rounding") | ("simd", "simd_f64x2_rounding") => {
return env::var("CARGO_CFG_TARGET_ARCH").unwrap() != "aarch64";
}