@@ -29090,7 +29090,7 @@ pub fn _kortestz_mask16_u8(a: __mmask16, b: __mmask16) -> u8 {
29090
29090
#[rustc_legacy_const_generics(1)]
29091
29091
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
29092
29092
pub fn _kshiftli_mask16<const COUNT: u32>(a: __mmask16) -> __mmask16 {
29093
- a << COUNT
29093
+ a.unbounded_shl( COUNT)
29094
29094
}
29095
29095
29096
29096
/// Shift 16-bit mask a right by count bits while shifting in zeros, and store the result in dst.
@@ -29101,7 +29101,7 @@ pub fn _kshiftli_mask16<const COUNT: u32>(a: __mmask16) -> __mmask16 {
29101
29101
#[rustc_legacy_const_generics(1)]
29102
29102
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
29103
29103
pub fn _kshiftri_mask16<const COUNT: u32>(a: __mmask16) -> __mmask16 {
29104
- a >> COUNT
29104
+ a.unbounded_shr( COUNT)
29105
29105
}
29106
29106
29107
29107
/// Load 16-bit mask from memory
@@ -56001,13 +56001,37 @@ mod tests {
56001
56001
let r = _kshiftli_mask16::<3>(a);
56002
56002
let e: __mmask16 = 0b1011011000011000;
56003
56003
assert_eq!(r, e);
56004
+
56005
+ let r = _kshiftli_mask16::<15>(a);
56006
+ let e: __mmask16 = 0b1000000000000000;
56007
+ assert_eq!(r, e);
56008
+
56009
+ let r = _kshiftli_mask16::<16>(a);
56010
+ let e: __mmask16 = 0b0000000000000000;
56011
+ assert_eq!(r, e);
56012
+
56013
+ let r = _kshiftli_mask16::<17>(a);
56014
+ let e: __mmask16 = 0b0000000000000000;
56015
+ assert_eq!(r, e);
56004
56016
}
56005
56017
56006
56018
#[simd_test(enable = "avx512dq")]
56007
56019
unsafe fn test_kshiftri_mask16() {
56008
- let a: __mmask16 = 0b0110100100111100 ;
56020
+ let a: __mmask16 = 0b1010100100111100 ;
56009
56021
let r = _kshiftri_mask16::<3>(a);
56010
- let e: __mmask16 = 0b0000110100100111;
56022
+ let e: __mmask16 = 0b0001010100100111;
56023
+ assert_eq!(r, e);
56024
+
56025
+ let r = _kshiftri_mask16::<15>(a);
56026
+ let e: __mmask16 = 0b0000000000000001;
56027
+ assert_eq!(r, e);
56028
+
56029
+ let r = _kshiftri_mask16::<16>(a);
56030
+ let e: __mmask16 = 0b0000000000000000;
56031
+ assert_eq!(r, e);
56032
+
56033
+ let r = _kshiftri_mask16::<17>(a);
56034
+ let e: __mmask16 = 0b0000000000000000;
56011
56035
assert_eq!(r, e);
56012
56036
}
56013
56037
0 commit comments