Skip to content

Commit 7d7d023

Browse files
committed
opt
1 parent 87105f6 commit 7d7d023

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

BitFaster.Caching/Lfu/CmSketchCore.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -383,17 +383,14 @@ private unsafe void IncrementArm(T value)
383383

384384
var one = Vector128.Create(1L);
385385
Vector128<long> incA = AdvSimd.And(maskedA, AdvSimd.ShiftArithmetic(one, longOffA.AsInt64()));
386-
Vector128<long> incB = AdvSimd.And(maskedA, AdvSimd.ShiftArithmetic(one, longOffB.AsInt64()));
386+
Vector128<long> incB = AdvSimd.And(maskedB, AdvSimd.ShiftArithmetic(one, longOffB.AsInt64()));
387387

388388
tablePtr[t0] += AdvSimd.Extract(incA, 0);
389389
tablePtr[t1] += AdvSimd.Extract(incA, 1);
390390
tablePtr[t2] += AdvSimd.Extract(incB, 0);
391391
tablePtr[t3] += AdvSimd.Extract(incB, 1);
392392

393-
var maxA = AdvSimd.Arm64.MaxAcross(incA.AsInt32());
394-
var maxB = AdvSimd.Arm64.MaxAcross(incB.AsInt32());
395-
maxA = AdvSimd.Arm64.InsertSelectedScalar(maxA, 1, maxB, 0);
396-
var max = AdvSimd.Arm64.MaxAcross(maxA.AsInt16());
393+
var max = AdvSimd.Arm64.MaxAcross(AdvSimd.Arm64.InsertSelectedScalar(AdvSimd.Arm64.MaxAcross(incA.AsInt32()), 1, AdvSimd.Arm64.MaxAcross(incB.AsInt32()), 0).AsInt16());
397394

398395
if (max.ToScalar() != 0 && (++size == sampleSize))
399396
{

0 commit comments

Comments
 (0)