about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2022-03-16 20:27:32 -0400
committerRalf Jung <post@ralfj.de>2022-03-16 20:28:18 -0400
commit50fbfa4ebab8c8754d625163f4fba8a1ca0ab676 (patch)
tree407840125bbeefb9adb1a2348b46af003768d13b
parent72df4c45056a8bc0d1b3f06fdc828722177f0763 (diff)
downloadrust-50fbfa4ebab8c8754d625163f4fba8a1ca0ab676.tar.gz
rust-50fbfa4ebab8c8754d625163f4fba8a1ca0ab676.zip
add bitmask roundtrip test for vector length below 8
-rw-r--r--crates/core_simd/tests/masks.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/crates/core_simd/tests/masks.rs b/crates/core_simd/tests/masks.rs
index 3aec36ca7b7..1c587630a36 100644
--- a/crates/core_simd/tests/masks.rs
+++ b/crates/core_simd/tests/masks.rs
@@ -80,6 +80,18 @@ macro_rules! test_mask_api {
                 assert_eq!(bitmask, 0b1000001101001001);
                 assert_eq!(core_simd::Mask::<$type, 16>::from_bitmask(bitmask), mask);
             }
+
+            #[test]
+            fn roundtrip_bitmask_conversion_short() {
+                use core_simd::ToBitMask;
+                let values = [
+                    false, false, false, true,
+                ];
+                let mask = core_simd::Mask::<$type, 4>::from_array(values);
+                let bitmask = mask.to_bitmask();
+                assert_eq!(bitmask, 0b1000);
+                assert_eq!(core_simd::Mask::<$type, 4>::from_bitmask(bitmask), mask);
+            }
         }
     }
 }