@@ -501,12 +501,12 @@ private static void Scale16X16To8X8Vectorized(ref Block8x8F destination, ReadOnl
501501 ref Vector256 < float > in1 = ref Unsafe . As < Block8x8F , Vector256 < float > > ( ref Unsafe . Add ( ref MemoryMarshal . GetReference ( source ) , 2 * i ) ) ;
502502 ref Vector256 < float > in2 = ref Unsafe . As < Block8x8F , Vector256 < float > > ( ref Unsafe . Add ( ref MemoryMarshal . GetReference ( source ) , ( 2 * i ) + 1 ) ) ;
503503
504- for ( int j = 0 ; j < 4 ; j ++ )
504+ for ( int j = 0 ; j < 8 ; j += 2 )
505505 {
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 ) ;
510510
511511 Vector256 < float > calc1 = Avx . Shuffle ( a , c , 0b10_00_10_00 ) ;
512512 Vector256 < float > calc2 = Avx . Shuffle ( a , c , 0b11_01_11_01 ) ;
@@ -519,9 +519,6 @@ private static void Scale16X16To8X8Vectorized(ref Block8x8F destination, ReadOnl
519519
520520 destRef = Avx2 . PermuteVar8x32 ( res , switchInnerDoubleWords ) ;
521521 destRef = ref Unsafe . Add ( ref destRef , 1 ) ;
522-
523- in1 = ref Unsafe . Add ( ref in1 , 2 ) ;
524- in2 = ref Unsafe . Add ( ref in2 , 2 ) ;
525522 }
526523 }
527524#endif
0 commit comments