File tree Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -1390,14 +1390,26 @@ private unsafe static (int utfadjust, int scalaradjust) calculateErrorPathadjust
1390
1390
int localasciirun = 16 ;
1391
1391
if ( processedLength + localasciirun + 64 <= inputLength )
1392
1392
{
1393
- for ( ; processedLength + localasciirun + 16 <= inputLength ; localasciirun += 16 )
1393
+ Vector128 < byte > block = AdvSimd . LoadVector128 ( pInputBuffer + processedLength + localasciirun ) ;
1394
+ if ( AdvSimd . Arm64 . MaxAcross ( Vector128 . AsUInt32 ( AdvSimd . And ( block , v80 ) ) ) . ToScalar ( ) == 0 )
1394
1395
{
1395
- Vector128 < byte > block = AdvSimd . LoadVector128 ( pInputBuffer + processedLength + localasciirun ) ;
1396
- if ( AdvSimd . Arm64 . MaxAcross ( Vector128 . AsUInt32 ( AdvSimd . And ( block , v80 ) ) ) . ToScalar ( ) != 0 )
1396
+ localasciirun += 16 ;
1397
+ for ( ; processedLength + localasciirun + 64 <= inputLength ; localasciirun += 64 )
1397
1398
{
1398
- break ;
1399
+ Vector128 < byte > block1 = AdvSimd . LoadVector128 ( pInputBuffer + processedLength + localasciirun ) ;
1400
+ Vector128 < byte > block2 = AdvSimd . LoadVector128 ( pInputBuffer + processedLength + localasciirun + 16 ) ;
1401
+ Vector128 < byte > block3 = AdvSimd . LoadVector128 ( pInputBuffer + processedLength + localasciirun + 32 ) ;
1402
+ Vector128 < byte > block4 = AdvSimd . LoadVector128 ( pInputBuffer + processedLength + localasciirun + 48 ) ;
1403
+ Vector128 < byte > or = AdvSimd . Or ( AdvSimd . Or ( block1 , block2 ) , AdvSimd . Or ( block3 , block4 ) ) ;
1404
+
1405
+ if ( AdvSimd . Arm64 . MaxAcross ( Vector128 . AsUInt32 ( AdvSimd . And ( or , v80 ) ) ) . ToScalar ( ) != 0 )
1406
+ {
1407
+ break ;
1408
+ }
1399
1409
}
1410
+
1400
1411
}
1412
+
1401
1413
processedLength += localasciirun - 16 ;
1402
1414
}
1403
1415
}
You can’t perform that action at this time.
0 commit comments