@@ -324,7 +324,7 @@ where
324
324
+ core:: ops:: Add < <T as SimdElement >:: Mask , Output = <T as SimdElement >:: Mask > ,
325
325
Simd < <T as SimdElement >:: Mask , N > : SimdPartialOrd ,
326
326
Mask < <T as SimdElement >:: Mask , N > : core:: ops:: BitAnd < Output = Mask < <T as SimdElement >:: Mask , N > >
327
- + core:: convert:: From < < Simd < < T as SimdElement > :: Mask , N > as SimdPartialEq > :: Mask > ,
327
+ + core:: convert:: From < Mask < i8 , N > > ,
328
328
{
329
329
Self :: load_or ( slice, Default :: default ( ) )
330
330
}
@@ -339,7 +339,7 @@ where
339
339
+ core:: ops:: Add < <T as SimdElement >:: Mask , Output = <T as SimdElement >:: Mask > ,
340
340
Simd < <T as SimdElement >:: Mask , N > : SimdPartialOrd ,
341
341
Mask < <T as SimdElement >:: Mask , N > : core:: ops:: BitAnd < Output = Mask < <T as SimdElement >:: Mask , N > >
342
- + core:: convert:: From < < Simd < < T as SimdElement > :: Mask , N > as SimdPartialEq > :: Mask > ,
342
+ + core:: convert:: From < Mask < i8 , N > > ,
343
343
{
344
344
Self :: load_select ( slice, Mask :: splat ( true ) , or)
345
345
}
@@ -355,7 +355,7 @@ where
355
355
+ core:: ops:: Add < <T as SimdElement >:: Mask , Output = <T as SimdElement >:: Mask > ,
356
356
Simd < <T as SimdElement >:: Mask , N > : SimdPartialOrd ,
357
357
Mask < <T as SimdElement >:: Mask , N > : core:: ops:: BitAnd < Output = Mask < <T as SimdElement >:: Mask , N > >
358
- + core:: convert:: From < < Simd < < T as SimdElement > :: Mask , N > as SimdPartialEq > :: Mask > ,
358
+ + core:: convert:: From < Mask < i8 , N > > ,
359
359
{
360
360
Self :: load_select ( slice, enable, Default :: default ( ) )
361
361
}
@@ -370,7 +370,7 @@ where
370
370
+ core:: ops:: Add < <T as SimdElement >:: Mask , Output = <T as SimdElement >:: Mask > ,
371
371
Simd < <T as SimdElement >:: Mask , N > : SimdPartialOrd ,
372
372
Mask < <T as SimdElement >:: Mask , N > : core:: ops:: BitAnd < Output = Mask < <T as SimdElement >:: Mask , N > >
373
- + core:: convert:: From < < Simd < < T as SimdElement > :: Mask , N > as SimdPartialEq > :: Mask > ,
373
+ + core:: convert:: From < Mask < i8 , N > > ,
374
374
{
375
375
if USE_BRANCH {
376
376
if core:: intrinsics:: likely ( enable. all ( ) && slice. len ( ) > N ) {
@@ -599,7 +599,7 @@ where
599
599
+ core:: ops:: Add < <T as SimdElement >:: Mask , Output = <T as SimdElement >:: Mask > ,
600
600
Simd < <T as SimdElement >:: Mask , N > : SimdPartialOrd ,
601
601
Mask < <T as SimdElement >:: Mask , N > : core:: ops:: BitAnd < Output = Mask < <T as SimdElement >:: Mask , N > >
602
- + core:: convert:: From < < Simd < < T as SimdElement > :: Mask , N > as SimdPartialEq > :: Mask > ,
602
+ + core:: convert:: From < Mask < i8 , N > > ,
603
603
{
604
604
if USE_BRANCH {
605
605
if core:: intrinsics:: likely ( enable. all ( ) && slice. len ( ) > N ) {
@@ -1143,14 +1143,10 @@ where
1143
1143
M : MaskElement + Default + core:: convert:: From < i8 > + core:: ops:: Add < M , Output = M > ,
1144
1144
Simd < M , N > : SimdPartialOrd ,
1145
1145
// <Simd<M, N> as SimdPartialEq>::Mask: Mask<M, N>,
1146
- Mask < M , N > : core:: ops:: BitAnd < Output = Mask < M , N > >
1147
- + core:: convert:: From < <Simd < M , N > as SimdPartialEq >:: Mask > ,
1146
+ Mask < M , N > : core:: ops:: BitAnd < Output = Mask < M , N > > + core:: convert:: From < Mask < i8 , N > > ,
1148
1147
{
1149
- let index = index :: < M , N > ( ) ;
1150
- enable
1151
- & Mask :: < M , N > :: from (
1152
- index. simd_lt ( Simd :: splat ( M :: from ( i8:: try_from ( len) . unwrap_or ( i8:: MAX ) ) ) ) ,
1153
- )
1148
+ let index = index :: < i8 , N > ( ) ;
1149
+ enable & Mask :: < M , N > :: from ( index. simd_lt ( Simd :: splat ( i8:: try_from ( len) . unwrap_or ( i8:: MAX ) ) ) )
1154
1150
}
1155
1151
1156
1152
// This function matches the semantics of the `bzhi` instruction on x86 BMI2
0 commit comments