@@ -501,12 +501,12 @@ private static void Scale16X16To8X8Vectorized(ref Block8x8F destination, ReadOnl
501
501
ref Vector256 < float > in1 = ref Unsafe . As < Block8x8F , Vector256 < float > > ( ref Unsafe . Add ( ref MemoryMarshal . GetReference ( source ) , 2 * i ) ) ;
502
502
ref Vector256 < float > in2 = ref Unsafe . As < Block8x8F , Vector256 < float > > ( ref Unsafe . Add ( ref MemoryMarshal . GetReference ( source ) , ( 2 * i ) + 1 ) ) ;
503
503
504
- for ( int j = 0 ; j < 4 ; j ++ )
504
+ for ( int j = 0 ; j < 8 ; j += 2 )
505
505
{
506
- Vector256 < float > a = in1 ;
507
- Vector256 < float > b = Unsafe . Add ( ref in1 , 1 ) ;
508
- Vector256 < float > c = in2 ;
509
- Vector256 < float > d = Unsafe . Add ( ref in2 , 1 ) ;
506
+ Vector256 < float > a = Unsafe . Add ( ref in1 , j ) ;
507
+ Vector256 < float > b = Unsafe . Add ( ref in1 , j + 1 ) ;
508
+ Vector256 < float > c = Unsafe . Add ( ref in2 , j ) ;
509
+ Vector256 < float > d = Unsafe . Add ( ref in2 , j + 1 ) ;
510
510
511
511
Vector256 < float > calc1 = Avx . Shuffle ( a , c , 0b10_00_10_00 ) ;
512
512
Vector256 < float > calc2 = Avx . Shuffle ( a , c , 0b11_01_11_01 ) ;
@@ -519,9 +519,6 @@ private static void Scale16X16To8X8Vectorized(ref Block8x8F destination, ReadOnl
519
519
520
520
destRef = Avx2 . PermuteVar8x32 ( res , switchInnerDoubleWords ) ;
521
521
destRef = ref Unsafe . Add ( ref destRef , 1 ) ;
522
-
523
- in1 = ref Unsafe . Add ( ref in1 , 2 ) ;
524
- in2 = ref Unsafe . Add ( ref in2 , 2 ) ;
525
522
}
526
523
}
527
524
#endif
0 commit comments