@@ -4602,7 +4602,7 @@ pub fn _kortestz_mask8_u8(a: __mmask8, b: __mmask8) -> u8 {
4602
4602
#[ rustc_legacy_const_generics( 1 ) ]
4603
4603
#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
4604
4604
pub fn _kshiftli_mask8 < const COUNT : u32 > ( a : __mmask8 ) -> __mmask8 {
4605
- a << COUNT
4605
+ a. unbounded_shl ( COUNT )
4606
4606
}
4607
4607
4608
4608
/// Shift 8-bit mask a right by count bits while shifting in zeros, and store the result in dst.
@@ -4613,7 +4613,7 @@ pub fn _kshiftli_mask8<const COUNT: u32>(a: __mmask8) -> __mmask8 {
4613
4613
#[ rustc_legacy_const_generics( 1 ) ]
4614
4614
#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
4615
4615
pub fn _kshiftri_mask8 < const COUNT : u32 > ( a : __mmask8 ) -> __mmask8 {
4616
- a >> COUNT
4616
+ a. unbounded_shr ( COUNT )
4617
4617
}
4618
4618
4619
4619
/// Compute the bitwise AND of 16-bit masks a and b, and if the result is all zeros, store 1 in dst,
@@ -9856,13 +9856,37 @@ mod tests {
9856
9856
let r = _kshiftli_mask8 :: < 3 > ( a) ;
9857
9857
let e: __mmask8 = 0b01001000 ;
9858
9858
assert_eq ! ( r, e) ;
9859
+
9860
+ let r = _kshiftli_mask8 :: < 7 > ( a) ;
9861
+ let e: __mmask8 = 0b10000000 ;
9862
+ assert_eq ! ( r, e) ;
9863
+
9864
+ let r = _kshiftli_mask8 :: < 8 > ( a) ;
9865
+ let e: __mmask8 = 0b00000000 ;
9866
+ assert_eq ! ( r, e) ;
9867
+
9868
+ let r = _kshiftli_mask8 :: < 9 > ( a) ;
9869
+ let e: __mmask8 = 0b00000000 ;
9870
+ assert_eq ! ( r, e) ;
9859
9871
}
9860
9872
9861
9873
#[ simd_test( enable = "avx512dq" ) ]
9862
9874
unsafe fn test_kshiftri_mask8 ( ) {
9863
- let a: __mmask8 = 0b01101001 ;
9875
+ let a: __mmask8 = 0b10101001 ;
9864
9876
let r = _kshiftri_mask8 :: < 3 > ( a) ;
9865
- let e: __mmask8 = 0b00001101 ;
9877
+ let e: __mmask8 = 0b00010101 ;
9878
+ assert_eq ! ( r, e) ;
9879
+
9880
+ let r = _kshiftri_mask8 :: < 7 > ( a) ;
9881
+ let e: __mmask8 = 0b00000001 ;
9882
+ assert_eq ! ( r, e) ;
9883
+
9884
+ let r = _kshiftri_mask8 :: < 8 > ( a) ;
9885
+ let e: __mmask8 = 0b00000000 ;
9886
+ assert_eq ! ( r, e) ;
9887
+
9888
+ let r = _kshiftri_mask8 :: < 9 > ( a) ;
9889
+ let e: __mmask8 = 0b00000000 ;
9866
9890
assert_eq ! ( r, e) ;
9867
9891
}
9868
9892
0 commit comments