@@ -113,7 +113,7 @@ public static void Shuffle4Reduce(
113
113
[ ConstantExpected ] byte control )
114
114
{
115
115
if ( ( Vector512 . IsHardwareAccelerated && Vector512_ . SupportsShuffleNativeByte ) ||
116
- ( Vector256 . IsHardwareAccelerated && Vector256_ . SupportsShuffleByte ) ||
116
+ ( Vector256 . IsHardwareAccelerated && Vector256_ . SupportsShuffleNativeByte ) ||
117
117
( Vector128 . IsHardwareAccelerated && Vector128_ . SupportsShuffleNativeByte ) )
118
118
{
119
119
int remainder = 0 ;
@@ -158,7 +158,7 @@ public static void Shuffle3Reduce(
158
158
ref Span < byte > destination ,
159
159
[ ConstantExpected ] byte control )
160
160
{
161
- if ( Vector128 . IsHardwareAccelerated && Vector128_ . SupportsShuffleNativeByte && Vector128_ . SupportsRightAlign )
161
+ if ( Vector128 . IsHardwareAccelerated && Vector128_ . SupportsShuffleNativeByte && Vector128_ . SupportsAlignRight )
162
162
{
163
163
int remainder = source . Length % ( Vector128 < byte > . Count * 3 ) ;
164
164
@@ -373,7 +373,7 @@ private static void Shuffle4(
373
373
}
374
374
}
375
375
}
376
- else if ( Vector256 . IsHardwareAccelerated && Vector256_ . SupportsShuffleByte )
376
+ else if ( Vector256 . IsHardwareAccelerated && Vector256_ . SupportsShuffleNativeByte )
377
377
{
378
378
Span < byte > temp = stackalloc byte [ Vector256 < byte > . Count ] ;
379
379
Shuffle . MMShuffleSpan ( ref temp , control ) ;
@@ -445,7 +445,9 @@ private static void Shuffle3(
445
445
Span < byte > destination ,
446
446
[ ConstantExpected ] byte control )
447
447
{
448
- if ( Vector128 . IsHardwareAccelerated && Vector128_ . SupportsShuffleNativeByte && Vector128_ . SupportsRightAlign )
448
+ if ( Vector128 . IsHardwareAccelerated &&
449
+ Vector128_ . SupportsShuffleNativeByte &&
450
+ Vector128_ . SupportsAlignRight )
449
451
{
450
452
Vector128 < byte > maskPad4Nx16 = ShuffleMaskPad4Nx16 ( ) ;
451
453
Vector128 < byte > maskSlice4Nx16 = ShuffleMaskSlice4Nx16 ( ) ;
@@ -505,7 +507,10 @@ private static void Pad3Shuffle4(
505
507
Span < byte > destination ,
506
508
[ ConstantExpected ] byte control )
507
509
{
508
- if ( Vector128 . IsHardwareAccelerated && Vector128_ . SupportsShuffleNativeByte && Vector128_ . SupportsShiftByte )
510
+ if ( Vector128 . IsHardwareAccelerated &&
511
+ Vector128_ . SupportsShuffleNativeByte &&
512
+ Vector128_ . SupportsShiftByte &&
513
+ Vector128_ . SupportsAlignRight )
509
514
{
510
515
Vector128 < byte > maskPad4Nx16 = ShuffleMaskPad4Nx16 ( ) ;
511
516
Vector128 < byte > fill = Vector128 . Create ( 0xff000000ff000000ul ) . AsByte ( ) ;
@@ -548,7 +553,10 @@ private static void Shuffle4Slice3(
548
553
Span < byte > destination ,
549
554
[ ConstantExpected ] byte control )
550
555
{
551
- if ( Vector128 . IsHardwareAccelerated && Vector128_ . SupportsShuffleNativeByte && Vector128_ . SupportsShiftByte )
556
+ if ( Vector128 . IsHardwareAccelerated &&
557
+ Vector128_ . SupportsShuffleNativeByte &&
558
+ Vector128_ . SupportsShiftByte &&
559
+ Vector128_ . SupportsAlignRight )
552
560
{
553
561
Vector128 < byte > maskSlice4Nx16 = ShuffleMaskSlice4Nx16 ( ) ;
554
562
Vector128 < byte > maskE = Vector128_ . AlignRight ( maskSlice4Nx16 , maskSlice4Nx16 , 12 ) ;
0 commit comments