1200 references to Count
GenerateDocumentationAndConfigFiles (14)
src\roslyn\src\Compilers\Core\Portable\Hashing\XxHashShared.cs (14)
495
for (int i = 0; i < SecretLengthBytes; i += Vector256<byte>.
Count
)
531
Vector256<ulong> acc2 = Vector256.Load(accumulators + Vector256<ulong>.
Count
);
540
source += Vector256<byte>.
Count
;
542
secretVal = Vector256.Load((uint*)secret + Vector256<uint>.
Count
);
544
source += Vector256<byte>.
Count
;
552
acc2 = ScrambleAccumulator256(acc2, Vector256.Load((ulong*)secretForScramble + Vector256<ulong>.
Count
));
557
Vector256.Store(acc2, accumulators + Vector256<ulong>.
Count
);
635
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
640
accumulators += Vector256<ulong>.
Count
;
641
secret += Vector256<byte>.
Count
;
642
source += Vector256<byte>.
Count
;
729
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
734
accumulators += Vector256<ulong>.
Count
;
735
secret += Vector256<byte>.
Count
;
Microsoft.AspNetCore.Razor.Utilities.Shared (14)
Utilities\Hashing\XxHashShared.cs (14)
494
for (int i = 0; i < SecretLengthBytes; i += Vector256<byte>.
Count
)
530
Vector256<ulong> acc2 = Vector256.Load(accumulators + Vector256<ulong>.
Count
);
539
source += Vector256<byte>.
Count
;
541
secretVal = Vector256.Load((uint*)secret + Vector256<uint>.
Count
);
543
source += Vector256<byte>.
Count
;
551
acc2 = ScrambleAccumulator256(acc2, Vector256.Load((ulong*)secretForScramble + Vector256<ulong>.
Count
));
556
Vector256.Store(acc2, accumulators + Vector256<ulong>.
Count
);
634
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
639
accumulators += Vector256<ulong>.
Count
;
640
secret += Vector256<byte>.
Count
;
641
source += Vector256<byte>.
Count
;
728
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
733
accumulators += Vector256<ulong>.
Count
;
734
secret += Vector256<byte>.
Count
;
Microsoft.CodeAnalysis (14)
Hashing\XxHashShared.cs (14)
495
for (int i = 0; i < SecretLengthBytes; i += Vector256<byte>.
Count
)
531
Vector256<ulong> acc2 = Vector256.Load(accumulators + Vector256<ulong>.
Count
);
540
source += Vector256<byte>.
Count
;
542
secretVal = Vector256.Load((uint*)secret + Vector256<uint>.
Count
);
544
source += Vector256<byte>.
Count
;
552
acc2 = ScrambleAccumulator256(acc2, Vector256.Load((ulong*)secretForScramble + Vector256<ulong>.
Count
));
557
Vector256.Store(acc2, accumulators + Vector256<ulong>.
Count
);
635
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
640
accumulators += Vector256<ulong>.
Count
;
641
secret += Vector256<byte>.
Count
;
642
source += Vector256<byte>.
Count
;
729
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
734
accumulators += Vector256<ulong>.
Count
;
735
secret += Vector256<byte>.
Count
;
Microsoft.CodeAnalysis.Workspaces (14)
src\roslyn\src\Compilers\Core\Portable\Hashing\XxHashShared.cs (14)
495
for (int i = 0; i < SecretLengthBytes; i += Vector256<byte>.
Count
)
531
Vector256<ulong> acc2 = Vector256.Load(accumulators + Vector256<ulong>.
Count
);
540
source += Vector256<byte>.
Count
;
542
secretVal = Vector256.Load((uint*)secret + Vector256<uint>.
Count
);
544
source += Vector256<byte>.
Count
;
552
acc2 = ScrambleAccumulator256(acc2, Vector256.Load((ulong*)secretForScramble + Vector256<ulong>.
Count
));
557
Vector256.Store(acc2, accumulators + Vector256<ulong>.
Count
);
635
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
640
accumulators += Vector256<ulong>.
Count
;
641
secret += Vector256<byte>.
Count
;
642
source += Vector256<byte>.
Count
;
729
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
734
accumulators += Vector256<ulong>.
Count
;
735
secret += Vector256<byte>.
Count
;
System.IO.Hashing (17)
System\IO\Hashing\Adler32.cs (3)
205
if (Vector256.IsHardwareAccelerated && Avx2.IsSupported && source.Length >= Vector256<byte>.
Count
)
365
Debug.Assert(source.Length >= Vector256<byte>.
Count
);
475
if (length >= Vector256<byte>.
Count
)
System\IO\Hashing\XxHashShared.cs (14)
487
for (int i = 0; i < SecretLengthBytes; i += Vector256<byte>.
Count
)
523
Vector256<ulong> acc2 = Vector256.Load(accumulators + Vector256<ulong>.
Count
);
532
source += Vector256<byte>.
Count
;
534
secretVal = Vector256.Load((uint*)secret + Vector256<uint>.
Count
);
536
source += Vector256<byte>.
Count
;
544
acc2 = ScrambleAccumulator256(acc2, Vector256.Load((ulong*)secretForScramble + Vector256<ulong>.
Count
));
549
Vector256.Store(acc2, accumulators + Vector256<ulong>.
Count
);
627
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
632
accumulators += Vector256<ulong>.
Count
;
633
secret += Vector256<byte>.
Count
;
634
source += Vector256<byte>.
Count
;
734
for (int i = 0; i < AccumulatorCount / Vector256<ulong>.
Count
; i++)
739
accumulators += Vector256<ulong>.
Count
;
740
secret += Vector256<byte>.
Count
;
System.Numerics.Tensors (776)
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IAggregationOperator.cs (83)
96
if (remainder >= (uint)Vector256<T>.
Count
)
338
Vector256<T> end = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
342
if (remainder > (uint)(Vector256<T>.
Count
* 8))
382
misalignment = (uint)Vector256<T>.
Count
;
394
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
398
vector1 = transform.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)));
399
vector2 = transform.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)));
400
vector3 = transform.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)));
401
vector4 = transform.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)));
410
vector1 = transform.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)));
411
vector2 = transform.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)));
412
vector3 = transform.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)));
413
vector4 = transform.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)));
423
xPtr += (uint)(Vector256<T>.
Count
* 8);
425
remainder -= (uint)(Vector256<T>.
Count
* 8);
446
(nuint blocks, nuint trailing) = Math.DivRem(remainder, (nuint)Vector256<T>.
Count
);
454
Vector256<T> vector = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 7)));
461
Vector256<T> vector = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 6)));
468
Vector256<T> vector = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 5)));
475
Vector256<T> vector = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 4)));
482
Vector256<T> vector = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 3)));
489
Vector256<T> vector = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 2)));
496
Vector256<T> vector = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 1)));
761
Vector256<T> end = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
763
end = Vector256.ConditionalSelect(CreateRemainderMaskVector256<T>((int)(remainder % (uint)Vector256<T>.
Count
)), end, Vector256.Create(TAggregationOperator.IdentityValue));
916
Vector256<T> end = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
918
end = Vector256.ConditionalSelect(CreateRemainderMaskVector256<T>((int)(remainder % (uint)Vector256<T>.
Count
)), end, Vector256.Create(TAggregationOperator.IdentityValue));
1022
Vector256<T> end = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
1024
end = Vector256.ConditionalSelect(CreateRemainderMaskVector256<T>((int)(remainder % (uint)Vector256<T>.
Count
)), end, Vector256.Create(TAggregationOperator.IdentityValue));
1107
Vector256<T> end = transform.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
1109
end = Vector256.ConditionalSelect(CreateRemainderMaskVector256<T>((int)(remainder % (uint)Vector256<T>.
Count
)), end, Vector256.Create(TAggregationOperator.IdentityValue));
1215
if (remainder >= (uint)Vector256<T>.
Count
)
1485
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1486
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
1490
if (remainder > (uint)(Vector256<T>.
Count
* 8))
1533
misalignment = (uint)Vector256<T>.
Count
;
1548
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
1552
vector1 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
1553
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 0)));
1554
vector2 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
1555
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 1)));
1556
vector3 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
1557
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 2)));
1558
vector4 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
1559
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 3)));
1568
vector1 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
1569
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 4)));
1570
vector2 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
1571
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 5)));
1572
vector3 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
1573
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 6)));
1574
vector4 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
1575
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 7)));
1585
xPtr += (uint)(Vector256<T>.
Count
* 8);
1586
yPtr += (uint)(Vector256<T>.
Count
* 8);
1588
remainder -= (uint)(Vector256<T>.
Count
* 8);
1610
(nuint blocks, nuint trailing) = Math.DivRem(remainder, (nuint)Vector256<T>.
Count
);
1618
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 7)),
1619
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 7)));
1626
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 6)),
1627
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 6)));
1634
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 5)),
1635
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 5)));
1642
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 4)),
1643
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 4)));
1650
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 3)),
1651
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 3)));
1658
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 2)),
1659
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 2)));
1666
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 1)),
1667
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 1)));
1958
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1959
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
1961
end = Vector256.ConditionalSelect(CreateRemainderMaskVector256<T>((int)(remainder % (uint)Vector256<T>.
Count
)), end, Vector256.Create(TAggregationOperator.IdentityValue));
2119
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
2120
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
2122
end = Vector256.ConditionalSelect(CreateRemainderMaskVector256<T>((int)(remainder % (uint)Vector256<T>.
Count
)), end, Vector256.Create(TAggregationOperator.IdentityValue));
2231
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
2232
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
2234
end = Vector256.ConditionalSelect(CreateRemainderMaskVector256<T>((int)(remainder % (uint)Vector256<T>.
Count
)), end, Vector256.Create(TAggregationOperator.IdentityValue));
2324
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
2325
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
2327
end = Vector256.ConditionalSelect(CreateRemainderMaskVector256<T>((int)(remainder % (uint)Vector256<T>.
Count
)), end, Vector256.Create(TAggregationOperator.IdentityValue));
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IBinaryOperator.cs (168)
105
if (remainder >= (uint)Vector256<T>.
Count
)
404
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
405
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
407
if (remainder > (uint)(Vector256<T>.
Count
* 8))
455
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
459
vector1 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
460
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 0)));
461
vector2 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
462
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 1)));
463
vector3 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
464
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 2)));
465
vector4 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
466
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 3)));
468
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 0));
469
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 1));
470
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 2));
471
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 3));
475
vector1 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
476
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 4)));
477
vector2 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
478
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 5)));
479
vector3 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
480
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 6)));
481
vector4 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
482
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 7)));
484
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 4));
485
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 5));
486
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 6));
487
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 7));
492
xPtr += (uint)(Vector256<T>.
Count
* 8);
493
yPtr += (uint)(Vector256<T>.
Count
* 8);
494
dPtr += (uint)(Vector256<T>.
Count
* 8);
496
remainder -= (uint)(Vector256<T>.
Count
* 8);
501
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
505
vector1 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
506
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 0)));
507
vector2 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
508
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 1)));
509
vector3 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
510
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 2)));
511
vector4 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
512
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 3)));
514
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 0));
515
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 1));
516
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 2));
517
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 3));
521
vector1 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
522
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 4)));
523
vector2 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
524
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 5)));
525
vector3 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
526
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 6)));
527
vector4 = TBinaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
528
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 7)));
530
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 4));
531
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 5));
532
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 6));
533
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 7));
538
xPtr += (uint)(Vector256<T>.
Count
* 8);
539
yPtr += (uint)(Vector256<T>.
Count
* 8);
540
dPtr += (uint)(Vector256<T>.
Count
* 8);
542
remainder -= (uint)(Vector256<T>.
Count
* 8);
562
remainder = (remainder + (uint)(Vector256<T>.
Count
- 1)) & (nuint)(-Vector256<T>.
Count
);
564
switch (remainder / (uint)Vector256<T>.
Count
)
568
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 8)),
569
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 8)));
570
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 8));
576
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 7)),
577
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 7)));
578
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 7));
584
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 6)),
585
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 6)));
586
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 6));
592
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 5)),
593
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 5)));
594
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 5));
600
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 4)),
601
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 4)));
602
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 4));
608
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 3)),
609
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 3)));
610
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 3));
616
Vector256<T> vector = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 2)),
617
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 2)));
618
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 2));
625
end.StoreUnsafe(ref dRef, endIndex - (uint)Vector256<T>.
Count
);
946
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
947
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
950
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1118
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1119
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
1122
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1233
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1234
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
1237
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1323
Vector256<T> end = TBinaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1324
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
));
1327
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1437
if (remainder >= (uint)Vector256<T>.
Count
)
1734
Vector256<T> end = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
)),
1737
if (remainder > (uint)(Vector256<T>.
Count
* 8))
1782
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
1786
vector1 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0))),
1788
vector2 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1))),
1790
vector3 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2))),
1792
vector4 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3))),
1795
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 0));
1796
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 1));
1797
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 2));
1798
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 3));
1802
vector1 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4))),
1804
vector2 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5))),
1806
vector3 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6))),
1808
vector4 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7))),
1811
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 4));
1812
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 5));
1813
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 6));
1814
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 7));
1819
xPtr += (uint)(Vector256<T>.
Count
* 8);
1820
dPtr += (uint)(Vector256<T>.
Count
* 8);
1822
remainder -= (uint)(Vector256<T>.
Count
* 8);
1827
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
1831
vector1 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0))),
1833
vector2 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1))),
1835
vector3 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2))),
1837
vector4 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3))),
1840
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 0));
1841
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 1));
1842
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 2));
1843
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 3));
1847
vector1 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4))),
1849
vector2 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5))),
1851
vector3 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6))),
1853
vector4 = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7))),
1856
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 4));
1857
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 5));
1858
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 6));
1859
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 7));
1864
xPtr += (uint)(Vector256<T>.
Count
* 8);
1865
dPtr += (uint)(Vector256<T>.
Count
* 8);
1867
remainder -= (uint)(Vector256<T>.
Count
* 8);
1886
remainder = (remainder + (uint)(Vector256<T>.
Count
- 1)) & (nuint)(-Vector256<T>.
Count
);
1888
switch (remainder / (uint)Vector256<T>.
Count
)
1892
Vector256<T> vector = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 8))),
1894
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 8));
1900
Vector256<T> vector = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 7))),
1902
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 7));
1908
Vector256<T> vector = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 6))),
1910
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 6));
1916
Vector256<T> vector = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 5))),
1918
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 5));
1924
Vector256<T> vector = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 4))),
1926
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 4));
1932
Vector256<T> vector = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 3))),
1934
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 3));
1940
Vector256<T> vector = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 2))),
1942
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 2));
1949
end.StoreUnsafe(ref dRef, endIndex - (uint)Vector256<T>.
Count
);
2268
Vector256<T> end = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
)),
2272
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
2444
Vector256<T> end = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
)),
2448
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
2563
Vector256<T> end = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
)),
2567
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
2657
Vector256<T> end = TBinaryOperator.Invoke(TTransformOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
)),
2661
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IBooleanUnaryOperator.cs (26)
113
oneVectorFromEnd = x.Length - Vector256<T>.
Count
;
124
i += Vector256<T>.
Count
;
130
TAnyAll.ShouldEarlyExit(TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(x.Length - Vector256<T>.
Count
)))))
250
int vectorFromEnd = x.Length - Vector256<T>.
Count
;
257
i += Vector256<T>.
Count
;
264
i = x.Length - Vector256<T>.
Count
;
361
int vectorsFromEnd = x.Length - (Vector256<T>.
Count
* sizeof(T));
368
i += Vector256<T>.
Count
* sizeof(T);
375
i = x.Length - (Vector256<T>.
Count
* sizeof(T));
386
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + Vector256<T>.
Count
))).AsUInt16());
482
int vectorsFromEnd = x.Length - (Vector256<T>.
Count
* sizeof(T));
489
i += Vector256<T>.
Count
* sizeof(T);
496
i = x.Length - (Vector256<T>.
Count
* sizeof(T));
508
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + Vector256<T>.
Count
))).AsUInt32()),
510
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + (2 * Vector256<T>.
Count
)))).AsUInt32(),
511
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + (3 * Vector256<T>.
Count
)))).AsUInt32()));
621
int vectorsFromEnd = x.Length - (Vector256<T>.
Count
* sizeof(T));
628
i += Vector256<T>.
Count
* sizeof(T);
635
i = x.Length - (Vector256<T>.
Count
* sizeof(T));
648
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + Vector256<T>.
Count
))).AsUInt64()),
650
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + (2 * Vector256<T>.
Count
)))).AsUInt64(),
651
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + (3 * Vector256<T>.
Count
)))).AsUInt64())),
654
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + (4 * Vector256<T>.
Count
)))).AsUInt64(),
655
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + (5 * Vector256<T>.
Count
)))).AsUInt64()),
657
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + (6 * Vector256<T>.
Count
)))).AsUInt64(),
658
TOperator.Invoke(Vector256.LoadUnsafe(ref xRef, (uint)(i + (7 * Vector256<T>.
Count
)))).AsUInt64())));
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IIndexOfMinMaxOperator.cs (16)
39
if (Vector256.IsHardwareAccelerated && Vector256<T>.IsSupported && x.Length >= Vector256<T>.
Count
)
335
Vector256<TInt> indexIncrement = Vector256.Create(TInt.CreateTruncating(Vector256<TInt>.
Count
));
338
ReadOnlySpan<T> span = x.Slice(Vector256<T>.
Count
);
343
if (span.Length >= Vector256<T>.
Count
)
346
span = span.Slice(Vector256<T>.
Count
);
351
int start = x.Length - Vector256<T>.
Count
;
402
Vector256<uint> indexIncrement = Vector256.Create((uint)Vector256<uint>.
Count
);
406
ReadOnlySpan<T> span = x.Slice(Vector256<T>.
Count
);
411
if (span.Length >= Vector256<T>.
Count
)
414
span = span.Slice(Vector256<T>.
Count
);
419
int start = x.Length - Vector256<T>.
Count
;
477
Vector256<uint> indexIncrement = Vector256.Create((uint)Vector256<uint>.
Count
);
483
ReadOnlySpan<T> span = x.Slice(Vector256<T>.
Count
);
488
if (span.Length >= Vector256<T>.
Count
)
491
span = span.Slice(Vector256<T>.
Count
);
496
int start = x.Length - Vector256<T>.
Count
;
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IStatefulUnaryOperator.cs (69)
71
if (remainder >= (uint)Vector256<T>.
Count
)
337
Vector256<T> end = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
339
if (remainder > (uint)(Vector256<T>.
Count
* 8))
384
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
388
vector1 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)));
389
vector2 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)));
390
vector3 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)));
391
vector4 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)));
393
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 0));
394
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 1));
395
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 2));
396
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 3));
400
vector1 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)));
401
vector2 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)));
402
vector3 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)));
403
vector4 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)));
405
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 4));
406
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 5));
407
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 6));
408
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 7));
413
xPtr += (uint)(Vector256<T>.
Count
* 8);
414
dPtr += (uint)(Vector256<T>.
Count
* 8);
416
remainder -= (uint)(Vector256<T>.
Count
* 8);
421
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
425
vector1 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)));
426
vector2 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)));
427
vector3 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)));
428
vector4 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)));
430
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 0));
431
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 1));
432
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 2));
433
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 3));
437
vector1 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)));
438
vector2 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)));
439
vector3 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)));
440
vector4 = op.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)));
442
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 4));
443
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 5));
444
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 6));
445
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 7));
450
xPtr += (uint)(Vector256<T>.
Count
* 8);
451
dPtr += (uint)(Vector256<T>.
Count
* 8);
453
remainder -= (uint)(Vector256<T>.
Count
* 8);
472
remainder = (remainder + (uint)(Vector256<T>.
Count
- 1)) & (nuint)(-Vector256<T>.
Count
);
474
switch (remainder / (uint)Vector256<T>.
Count
)
478
Vector256<T> vector = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 8)));
479
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 8));
485
Vector256<T> vector = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 7)));
486
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 7));
492
Vector256<T> vector = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 6)));
493
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 6));
499
Vector256<T> vector = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 5)));
500
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 5));
506
Vector256<T> vector = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 4)));
507
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 4));
513
Vector256<T> vector = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 3)));
514
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 3));
520
Vector256<T> vector = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 2)));
521
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 2));
528
end.StoreUnsafe(ref dRef, endIndex - (uint)Vector256<T>.
Count
);
817
Vector256<T> end = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
820
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
969
Vector256<T> end = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
972
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1072
Vector256<T> end = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
1075
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1154
Vector256<T> end = op.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
));
1157
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
System\Numerics\Tensors\netcore\Common\TensorPrimitives.ITernaryOperator.cs (297)
92
if (remainder >= (uint)Vector256<T>.
Count
)
424
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
425
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
426
Vector256.LoadUnsafe(ref zRef, remainder - (uint)Vector256<T>.
Count
));
428
if (remainder > (uint)(Vector256<T>.
Count
* 8))
479
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
483
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
484
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 0)),
485
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 0)));
486
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
487
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 1)),
488
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 1)));
489
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
490
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 2)),
491
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 2)));
492
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
493
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 3)),
494
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 3)));
496
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 0));
497
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 1));
498
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 2));
499
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 3));
503
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
504
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 4)),
505
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 4)));
506
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
507
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 5)),
508
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 5)));
509
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
510
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 6)),
511
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 6)));
512
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
513
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 7)),
514
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 7)));
516
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 4));
517
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 5));
518
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 6));
519
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 7));
524
xPtr += (uint)(Vector256<T>.
Count
* 8);
525
yPtr += (uint)(Vector256<T>.
Count
* 8);
526
zPtr += (uint)(Vector256<T>.
Count
* 8);
527
dPtr += (uint)(Vector256<T>.
Count
* 8);
529
remainder -= (uint)(Vector256<T>.
Count
* 8);
534
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
538
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
539
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 0)),
540
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 0)));
541
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
542
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 1)),
543
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 1)));
544
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
545
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 2)),
546
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 2)));
547
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
548
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 3)),
549
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 3)));
551
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 0));
552
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 1));
553
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 2));
554
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 3));
558
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
559
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 4)),
560
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 4)));
561
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
562
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 5)),
563
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 5)));
564
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
565
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 6)),
566
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 6)));
567
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
568
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 7)),
569
Vector256.Load(zPtr + (uint)(Vector256<T>.
Count
* 7)));
571
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 4));
572
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 5));
573
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 6));
574
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 7));
579
xPtr += (uint)(Vector256<T>.
Count
* 8);
580
yPtr += (uint)(Vector256<T>.
Count
* 8);
581
zPtr += (uint)(Vector256<T>.
Count
* 8);
582
dPtr += (uint)(Vector256<T>.
Count
* 8);
584
remainder -= (uint)(Vector256<T>.
Count
* 8);
605
remainder = (remainder + (uint)(Vector256<T>.
Count
- 1)) & (nuint)(-Vector256<T>.
Count
);
607
switch (remainder / (uint)Vector256<T>.
Count
)
611
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 8)),
612
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 8)),
613
Vector256.LoadUnsafe(ref zRef, remainder - (uint)(Vector256<T>.
Count
* 8)));
614
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 8));
620
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 7)),
621
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 7)),
622
Vector256.LoadUnsafe(ref zRef, remainder - (uint)(Vector256<T>.
Count
* 7)));
623
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 7));
629
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 6)),
630
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 6)),
631
Vector256.LoadUnsafe(ref zRef, remainder - (uint)(Vector256<T>.
Count
* 6)));
632
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 6));
638
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 5)),
639
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 5)),
640
Vector256.LoadUnsafe(ref zRef, remainder - (uint)(Vector256<T>.
Count
* 5)));
641
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 5));
647
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 4)),
648
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 4)),
649
Vector256.LoadUnsafe(ref zRef, remainder - (uint)(Vector256<T>.
Count
* 4)));
650
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 4));
656
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 3)),
657
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 3)),
658
Vector256.LoadUnsafe(ref zRef, remainder - (uint)(Vector256<T>.
Count
* 3)));
659
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 3));
665
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 2)),
666
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 2)),
667
Vector256.LoadUnsafe(ref zRef, remainder - (uint)(Vector256<T>.
Count
* 2)));
668
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 2));
675
end.StoreUnsafe(ref dRef, endIndex - (uint)Vector256<T>.
Count
);
1028
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1029
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
1030
Vector256.LoadUnsafe(ref zRef, remainder - (uint)Vector256<T>.
Count
));
1033
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1220
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1221
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
1222
Vector256.LoadUnsafe(ref zRef, remainder - (uint)Vector256<T>.
Count
));
1225
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1347
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1348
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
1349
Vector256.LoadUnsafe(ref zRef, remainder - (uint)Vector256<T>.
Count
));
1352
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1445
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1446
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
1447
Vector256.LoadUnsafe(ref zRef, remainder - (uint)Vector256<T>.
Count
));
1450
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
1567
if (remainder >= (uint)Vector256<T>.
Count
)
1897
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
1898
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
1901
if (remainder > (uint)(Vector256<T>.
Count
* 8))
1949
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
1953
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
1954
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 0)),
1956
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
1957
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 1)),
1959
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
1960
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 2)),
1962
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
1963
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 3)),
1966
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 0));
1967
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 1));
1968
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 2));
1969
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 3));
1973
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
1974
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 4)),
1976
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
1977
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 5)),
1979
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
1980
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 6)),
1982
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
1983
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 7)),
1986
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 4));
1987
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 5));
1988
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 6));
1989
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 7));
1994
xPtr += (uint)(Vector256<T>.
Count
* 8);
1995
yPtr += (uint)(Vector256<T>.
Count
* 8);
1996
dPtr += (uint)(Vector256<T>.
Count
* 8);
1998
remainder -= (uint)(Vector256<T>.
Count
* 8);
2003
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
2007
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
2008
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 0)),
2010
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
2011
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 1)),
2013
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
2014
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 2)),
2016
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
2017
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 3)),
2020
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 0));
2021
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 1));
2022
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 2));
2023
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 3));
2027
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
2028
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 4)),
2030
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
2031
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 5)),
2033
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
2034
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 6)),
2036
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
2037
Vector256.Load(yPtr + (uint)(Vector256<T>.
Count
* 7)),
2040
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 4));
2041
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 5));
2042
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 6));
2043
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 7));
2048
xPtr += (uint)(Vector256<T>.
Count
* 8);
2049
yPtr += (uint)(Vector256<T>.
Count
* 8);
2050
dPtr += (uint)(Vector256<T>.
Count
* 8);
2052
remainder -= (uint)(Vector256<T>.
Count
* 8);
2072
remainder = (remainder + (uint)(Vector256<T>.
Count
- 1)) & (nuint)(-Vector256<T>.
Count
);
2074
switch (remainder / (uint)Vector256<T>.
Count
)
2078
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 8)),
2079
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 8)),
2081
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 8));
2087
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 7)),
2088
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 7)),
2090
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 7));
2096
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 6)),
2097
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 6)),
2099
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 6));
2105
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 5)),
2106
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 5)),
2108
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 5));
2114
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 4)),
2115
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 4)),
2117
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 4));
2123
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 3)),
2124
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 3)),
2126
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 3));
2132
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 2)),
2133
Vector256.LoadUnsafe(ref yRef, remainder - (uint)(Vector256<T>.
Count
* 2)),
2135
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 2));
2142
end.StoreUnsafe(ref dRef, endIndex - (uint)Vector256<T>.
Count
);
2493
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
2494
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
2498
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
2689
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
2690
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
2694
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
2820
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
2821
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
2825
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
2922
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
2923
Vector256.LoadUnsafe(ref yRef, remainder - (uint)Vector256<T>.
Count
),
2927
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
3053
if (remainder >= (uint)Vector256<T>.
Count
)
3379
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
3383
if (remainder > (uint)(Vector256<T>.
Count
* 8))
3428
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
3432
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
3435
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
3438
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
3441
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
3445
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 0));
3446
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 1));
3447
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 2));
3448
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 3));
3452
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
3455
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
3458
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
3461
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
3465
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 4));
3466
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 5));
3467
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 6));
3468
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<T>.
Count
* 7));
3473
xPtr += (uint)(Vector256<T>.
Count
* 8);
3474
dPtr += (uint)(Vector256<T>.
Count
* 8);
3476
remainder -= (uint)(Vector256<T>.
Count
* 8);
3481
while (remainder >= (uint)(Vector256<T>.
Count
* 8))
3485
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 0)),
3488
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 1)),
3491
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 2)),
3494
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 3)),
3498
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 0));
3499
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 1));
3500
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 2));
3501
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 3));
3505
vector1 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 4)),
3508
vector2 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 5)),
3511
vector3 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 6)),
3514
vector4 = TTernaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<T>.
Count
* 7)),
3518
vector1.Store(dPtr + (uint)(Vector256<T>.
Count
* 4));
3519
vector2.Store(dPtr + (uint)(Vector256<T>.
Count
* 5));
3520
vector3.Store(dPtr + (uint)(Vector256<T>.
Count
* 6));
3521
vector4.Store(dPtr + (uint)(Vector256<T>.
Count
* 7));
3526
xPtr += (uint)(Vector256<T>.
Count
* 8);
3527
dPtr += (uint)(Vector256<T>.
Count
* 8);
3529
remainder -= (uint)(Vector256<T>.
Count
* 8);
3548
remainder = (remainder + (uint)(Vector256<T>.
Count
- 1)) & (nuint)(-Vector256<T>.
Count
);
3550
switch (remainder / (uint)Vector256<T>.
Count
)
3554
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 8)),
3557
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 8));
3563
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 7)),
3566
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 7));
3572
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 6)),
3575
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 6));
3581
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 5)),
3584
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 5));
3590
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 4)),
3593
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 4));
3599
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 3)),
3602
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 3));
3608
Vector256<T> vector = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<T>.
Count
* 2)),
3611
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<T>.
Count
* 2));
3618
end.StoreUnsafe(ref dRef, endIndex - (uint)Vector256<T>.
Count
);
3965
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
3970
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
4163
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
4168
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
4296
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
4301
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
4400
Vector256<T> end = TTernaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<T>.
Count
),
4405
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<T>.
Count
);
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IUnaryInputBinaryOutput.cs (9)
102
oneVectorFromEnd = x.Length - Vector256<T>.
Count
;
112
i += Vector256<T>.
Count
;
119
i = x.Length - Vector256<T>.
Count
;
255
oneVectorFromEnd = x.Length - Vector256<T>.
Count
;
265
i += Vector256<T>.
Count
;
274
i = x.Length - Vector256<T>.
Count
;
438
oneVectorFromEnd = x.Length - Vector256<T>.
Count
;
450
i += Vector256<T>.
Count
;
459
i = x.Length - Vector256<T>.
Count
;
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IUnaryOneToFourOperator.cs (9)
86
oneVectorFromEnd = x.Length - Vector256<TInput>.
Count
;
94
results.Item2.StoreUnsafe(ref destinationRef, (uint)(i + Vector256<TOutput>.
Count
));
95
results.Item3.StoreUnsafe(ref destinationRef, (uint)(i + (Vector256<TOutput>.
Count
* 2)));
96
results.Item4.StoreUnsafe(ref destinationRef, (uint)(i + (Vector256<TOutput>.
Count
* 3)));
98
i += Vector256<TInput>.
Count
;
105
i = x.Length - Vector256<TInput>.
Count
;
109
results.Item2.StoreUnsafe(ref destinationRef, (uint)(i + Vector256<TOutput>.
Count
));
110
results.Item3.StoreUnsafe(ref destinationRef, (uint)(i + (Vector256<TOutput>.
Count
* 2)));
111
results.Item4.StoreUnsafe(ref destinationRef, (uint)(i + (Vector256<TOutput>.
Count
* 3)));
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IUnaryOneToTwoOperator.cs (5)
82
oneVectorFromEnd = x.Length - Vector256<TInput>.
Count
;
90
upper.StoreUnsafe(ref destinationRef, (uint)(i + Vector256<TOutput>.
Count
));
92
i += Vector256<TInput>.
Count
;
99
i = x.Length - Vector256<TInput>.
Count
;
103
upper.StoreUnsafe(ref destinationRef, (uint)(i + Vector256<TOutput>.
Count
));
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IUnaryOperator.cs (69)
111
if (remainder >= (uint)Vector256<TInput>.
Count
)
377
Vector256<TOutput> end = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<TInput>.
Count
));
379
if (remainder > (uint)(Vector256<TInput>.
Count
* 8))
424
while (remainder >= (uint)(Vector256<TInput>.
Count
* 8))
428
vector1 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 0)));
429
vector2 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 1)));
430
vector3 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 2)));
431
vector4 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 3)));
433
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<TOutput>.
Count
* 0));
434
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<TOutput>.
Count
* 1));
435
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<TOutput>.
Count
* 2));
436
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<TOutput>.
Count
* 3));
440
vector1 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 4)));
441
vector2 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 5)));
442
vector3 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 6)));
443
vector4 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 7)));
445
vector1.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<TOutput>.
Count
* 4));
446
vector2.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<TOutput>.
Count
* 5));
447
vector3.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<TOutput>.
Count
* 6));
448
vector4.StoreAlignedNonTemporal(dPtr + (uint)(Vector256<TOutput>.
Count
* 7));
453
xPtr += (uint)(Vector256<TInput>.
Count
* 8);
454
dPtr += (uint)(Vector256<TOutput>.
Count
* 8);
456
remainder -= (uint)(Vector256<TInput>.
Count
* 8);
461
while (remainder >= (uint)(Vector256<TInput>.
Count
* 8))
465
vector1 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 0)));
466
vector2 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 1)));
467
vector3 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 2)));
468
vector4 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 3)));
470
vector1.Store(dPtr + (uint)(Vector256<TOutput>.
Count
* 0));
471
vector2.Store(dPtr + (uint)(Vector256<TOutput>.
Count
* 1));
472
vector3.Store(dPtr + (uint)(Vector256<TOutput>.
Count
* 2));
473
vector4.Store(dPtr + (uint)(Vector256<TOutput>.
Count
* 3));
477
vector1 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 4)));
478
vector2 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 5)));
479
vector3 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 6)));
480
vector4 = TUnaryOperator.Invoke(Vector256.Load(xPtr + (uint)(Vector256<TInput>.
Count
* 7)));
482
vector1.Store(dPtr + (uint)(Vector256<TOutput>.
Count
* 4));
483
vector2.Store(dPtr + (uint)(Vector256<TOutput>.
Count
* 5));
484
vector3.Store(dPtr + (uint)(Vector256<TOutput>.
Count
* 6));
485
vector4.Store(dPtr + (uint)(Vector256<TOutput>.
Count
* 7));
490
xPtr += (uint)(Vector256<TInput>.
Count
* 8);
491
dPtr += (uint)(Vector256<TOutput>.
Count
* 8);
493
remainder -= (uint)(Vector256<TInput>.
Count
* 8);
512
remainder = (remainder + (uint)(Vector256<TInput>.
Count
- 1)) & (nuint)(-Vector256<TInput>.
Count
);
514
switch (remainder / (uint)Vector256<TInput>.
Count
)
518
Vector256<TOutput> vector = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<TInput>.
Count
* 8)));
519
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<TOutput>.
Count
* 8));
525
Vector256<TOutput> vector = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<TInput>.
Count
* 7)));
526
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<TOutput>.
Count
* 7));
532
Vector256<TOutput> vector = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<TInput>.
Count
* 6)));
533
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<TOutput>.
Count
* 6));
539
Vector256<TOutput> vector = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<TInput>.
Count
* 5)));
540
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<TOutput>.
Count
* 5));
546
Vector256<TOutput> vector = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<TInput>.
Count
* 4)));
547
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<TOutput>.
Count
* 4));
553
Vector256<TOutput> vector = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<TInput>.
Count
* 3)));
554
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<TOutput>.
Count
* 3));
560
Vector256<TOutput> vector = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)(Vector256<TInput>.
Count
* 2)));
561
vector.StoreUnsafe(ref dRef, remainder - (uint)(Vector256<TOutput>.
Count
* 2));
568
end.StoreUnsafe(ref dRef, endIndex - (uint)Vector256<TOutput>.
Count
);
857
Vector256<TOutput> end = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<TInput>.
Count
));
860
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<TOutput>.
Count
);
1009
Vector256<TOutput> end = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<TInput>.
Count
));
1012
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<TOutput>.
Count
);
1112
Vector256<TOutput> end = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<TInput>.
Count
));
1115
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<TOutput>.
Count
);
1194
Vector256<TOutput> end = TUnaryOperator.Invoke(Vector256.LoadUnsafe(ref xRef, remainder - (uint)Vector256<TInput>.
Count
));
1197
end.StoreUnsafe(ref dRef, remainder - (uint)Vector256<TOutput>.
Count
);
System\Numerics\Tensors\netcore\Common\TensorPrimitives.IUnaryTwoToOneOperator.cs (5)
82
twoVectorsFromEnd = x.Length - (Vector256<TInput>.
Count
* 2);
90
Vector256.LoadUnsafe(ref xRef, (uint)(i + Vector256<TInput>.
Count
))).StoreUnsafe(ref destinationRef, (uint)i);
92
i += Vector256<TInput>.
Count
* 2;
99
i = x.Length - (Vector256<TInput>.
Count
* 2);
103
Vector256.LoadUnsafe(ref xRef, (uint)(i + Vector256<TInput>.
Count
))).StoreUnsafe(ref destinationRef, (uint)i);
System\Numerics\Tensors\netcore\TensorPrimitives.CosineSimilarity.cs (10)
98
if (Vector256.IsHardwareAccelerated && Vector256<T>.IsSupported && x.Length >= Vector256<T>.
Count
)
108
int oneVectorFromEnd = x.Length - Vector256<T>.
Count
;
117
i += Vector256<T>.
Count
;
127
Vector256.LoadUnsafe(ref xRef, (uint)(x.Length - Vector256<T>.
Count
)) & remainderMask,
128
Vector256.LoadUnsafe(ref yRef, (uint)(x.Length - Vector256<T>.
Count
)) & remainderMask,
243
if (Vector256.IsHardwareAccelerated && x.Length >= Vector256<short>.
Count
)
254
int oneVectorFromEnd = x.Length - Vector256<short>.
Count
;
264
i += Vector256<short>.
Count
;
274
Vector256.LoadUnsafe(ref xRef, (uint)(x.Length - Vector256<short>.
Count
)) & remainderMask);
276
Vector256.LoadUnsafe(ref yRef, (uint)(x.Length - Vector256<short>.
Count
)) & remainderMask);
System\Numerics\Tensors\netcore\TensorPrimitives.HammingDistance.cs (5)
77
if (Vector256.IsHardwareAccelerated && Vector256<T>.IsSupported && x.Length >= Vector256<T>.
Count
)
116
int oneVectorFromEnd = x.Length - Vector256<T>.
Count
;
125
i += Vector256<T>.
Count
;
132
Vector256<T> xVec = Vector256.LoadUnsafe(ref xRef, (uint)(x.Length - Vector256<T>.
Count
));
133
Vector256<T> yVec = Vector256.LoadUnsafe(ref yRef, (uint)(x.Length - Vector256<T>.
Count
));
System\Numerics\Tensors\netcore\TensorPrimitives.Max.cs (5)
205
if (Vector256.IsHardwareAccelerated && Vector256<T>.IsSupported && x.Length >= Vector256<T>.
Count
)
225
int oneVectorFromEnd = x.Length - Vector256<T>.
Count
;
226
int i = Vector256<T>.
Count
;
245
i += Vector256<T>.
Count
;
251
current = Vector256.LoadUnsafe(ref xRef, (uint)(x.Length - Vector256<T>.
Count
));
System.Private.CoreLib (342)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.ReverseEndianness.cs (4)
310
while (i <= source.Length - Vector256<T>.
Count
)
313
i += Vector256<T>.
Count
;
342
while (i >= Vector256<T>.
Count
)
344
i -= Vector256<T>.
Count
;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Collections\BitArray.cs (7)
218
if (!BitConverter.IsLittleEndian || values.Length < Vector256<byte>.
Count
)
244
while (valuesAsBytes.Length >= Vector256<byte>.
Count
)
251
i += (uint)Vector256<byte>.
Count
;
252
valuesAsBytes = valuesAsBytes.Slice(Vector256<byte>.
Count
);
862
else if (Vector256.IsHardwareAccelerated && (uint)_bitLength >= Vector256<byte>.
Count
)
870
for (; (i + Vector256<byte>.
Count
) <= (uint)_bitLength; i += (uint)Vector256<byte>.
Count
)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Globalization\Ordinal.cs (5)
171
if (Vector256.IsHardwareAccelerated && length >= Vector256<ushort>.
Count
)
456
if (Vector256.IsHardwareAccelerated && searchSpaceMinusValueTailLength - Vector256<ushort>.
Count
>= 0)
462
nint searchSpaceMinusValueTailLengthAndVector = searchSpaceMinusValueTailLength - (nint)Vector256<ushort>.
Count
;
466
Debug.Assert(offset + ch1ch2Distance + Vector256<ushort>.
Count
<= source.Length);
481
offset += Vector256<ushort>.
Count
;
src\runtime\src\libraries\System.Private.CoreLib\src\System\MemoryExtensions.MinMax.cs (5)
257
if (!Vector256.IsHardwareAccelerated || span.Length < Vector256<T>.
Count
)
274
data = data.Slice(Vector256<T>.
Count
);
276
while (data.Length > Vector256<T>.
Count
)
279
data = data.Slice(Vector256<T>.
Count
);
281
best = TMinMax.Compare(best, Vector256.Create(span.Slice(span.Length - Vector256<T>.
Count
)));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\Vector.cs (18)
474
else if (Vector<double>.Count == Vector256<double>.
Count
)
497
else if (Vector<double>.Count == Vector256<double>.
Count
)
605
else if (Vector<float>.Count == Vector256<float>.
Count
)
768
else if (Vector<T>.Count == Vector256<T>.
Count
)
887
else if (Vector<T>.Count == Vector256<T>.
Count
)
942
else if (Vector<T>.Count == Vector256<T>.
Count
)
966
else if (Vector<T>.Count == Vector256<T>.
Count
)
990
else if (Vector<T>.Count == Vector256<T>.
Count
)
1014
else if (Vector<T>.Count == Vector256<T>.
Count
)
1038
else if (Vector<T>.Count == Vector256<T>.
Count
)
1062
else if (Vector<T>.Count == Vector256<T>.
Count
)
1095
else if (Vector<T>.Count == Vector256<T>.
Count
)
1119
else if (Vector<T>.Count == Vector256<T>.
Count
)
1151
else if (Vector<T>.Count == Vector256<T>.
Count
)
1705
else if (Vector<T>.Count == Vector256<T>.
Count
)
1943
else if (Vector<T>.Count == Vector256<T>.
Count
)
2985
else if (Vector<uint>.Count == Vector256<uint>.
Count
)
3011
else if (Vector<ulong>.Count == Vector256<ulong>.
Count
)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector256_1.cs (4)
67
for (int i = 0; i <
Count
; i++)
421
for (int i = 0; i <
Count
; i++)
445
for (int i = 1; i <
Count
; i++)
464
static int ISimdVector<Vector256<T>, T>.ElementCount => Vector256<T>.
Count
;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector256.cs (36)
372
if (Vector<T>.Count >= Vector256<T>.
Count
)
396
if (Vector256<T>.
Count
>= Vector<T>.Count)
749
/// <exception cref="ArgumentException">The length of <paramref name="destination" /> is less than <see cref="Vector256{T}.
Count
" />.</exception>
757
if (destination.Length < Vector256<T>.
Count
)
770
/// <exception cref="ArgumentException">The length of <paramref name="destination" /> is less than <see cref="Vector256{T}.
Count
" />.</exception>
784
if ((destination.Length - startIndex) < Vector256<T>.
Count
)
796
/// <exception cref="ArgumentException">The length of <paramref name="destination" /> is less than <see cref="Vector256{T}.
Count
" />.</exception>
801
if (destination.Length < Vector256<T>.
Count
)
1017
/// <returns>A new <see cref="Vector256{T}" /> with its elements set to the first <see cref="Vector256{T}.
Count
" /> elements from <paramref name="values" />.</returns>
1018
/// <exception cref="ArgumentOutOfRangeException">The length of <paramref name="values" /> is less than <see cref="Vector256{T}.
Count
" />.</exception>
1026
if (values.Length < Vector256<T>.
Count
)
1039
/// <exception cref="ArgumentOutOfRangeException">The length of <paramref name="values" />, starting from <paramref name="index" />, is less than <see cref="Vector256{T}.
Count
" />.</exception>
1047
if ((index < 0) || ((values.Length - index) < Vector256<T>.
Count
))
1058
/// <returns>A new <see cref="Vector256{T}" /> with its elements set to the first <see cref="Vector256{T}.
Count
" /> elements from <paramref name="values" />.</returns>
1059
/// <exception cref="ArgumentOutOfRangeException">The length of <paramref name="values" /> is less than <see cref="Vector256{T}.
Count
" />.</exception>
1064
if (values.Length < Vector256<T>.
Count
)
1667
for (int index = 0; index < Vector256<T>.
Count
; index++)
1679
for (int index = 1; index < Vector256<T>.
Count
; index++)
2059
if ((uint)(index) >= (uint)(Vector256<T>.
Count
))
2986
for (int i = 0; i < Vector256<TSource>.
Count
; i++)
2992
for (int i = Vector256<TSource>.
Count
; i < Vector256<TResult>.
Count
; i++)
2994
TResult value = TResult.CreateTruncating(upper.GetElementUnsafe(i - Vector256<TSource>.
Count
));
3055
for (int i = 0; i < Vector256<TSource>.
Count
; i++)
3061
for (int i = Vector256<TSource>.
Count
; i < Vector256<TResult>.
Count
; i++)
3063
TResult value = TResult.CreateSaturating(upper.GetElementUnsafe(i - Vector256<TSource>.
Count
));
3461
Debug.Assert(Vector256<T>.
Count
== Vector256<TIndex>.
Count
);
3464
for (int index = 0; index < Vector256<T>.
Count
; index++)
3468
if ((uint)selectedIndex < (uint)Vector256<T>.
Count
)
3900
/// <returns><c>true</c> if <paramref name="vector" /> was successfully copied to <paramref name="destination" />; otherwise, <c>false</c> if the length of <paramref name="destination" /> is less than <see cref="Vector256{T}.
Count
" />.</returns>
3905
if (destination.Length < Vector256<T>.
Count
)
4188
if ((uint)(index) >= (uint)(Vector256<T>.
Count
))
4258
Debug.Assert((index >= 0) && (index < Vector256<T>.
Count
));
4307
Debug.Assert((index >= 0) && (index < Vector256<T>.
Count
));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector256DebugView_1.cs (12)
21
var items = new byte[Vector256<byte>.
Count
];
31
var items = new double[Vector256<double>.
Count
];
41
var items = new short[Vector256<short>.
Count
];
51
var items = new int[Vector256<int>.
Count
];
61
var items = new long[Vector256<long>.
Count
];
71
var items = new nint[Vector256<nint>.
Count
];
81
var items = new nuint[Vector256<nuint>.
Count
];
91
var items = new sbyte[Vector256<sbyte>.
Count
];
101
var items = new float[Vector256<float>.
Count
];
111
var items = new ushort[Vector256<ushort>.
Count
];
121
var items = new uint[Vector256<uint>.
Count
];
131
var items = new ulong[Vector256<ulong>.
Count
];
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector512.cs (5)
934
/// <returns>A new <see cref="Vector512{T}" /> with its elements set to the first <see cref="Vector256{T}.
Count
" /> elements from <paramref name="values" />.</returns>
1750
T upperStart = Scalar<T>.Add(start, Scalar<T>.Multiply(Scalar<T>.Convert(Vector256<T>.
Count
), step));
2029
result |= (ulong)(vector._upper.ExtractMostSignificantBits()) << Vector256<T>.
Count
;
4260
return result + ((result >= 0) ? Vector256<T>.
Count
: 0);
4277
return result + Vector256<T>.
Count
;
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\IndexOfAnyAsciiSearcher.cs (29)
318
if (searchSpaceLength > 2 * Vector256<short>.
Count
)
326
ref short twoVectorsAwayFromEnd = ref Unsafe.Add(ref searchSpace, searchSpaceLength - (2 * Vector256<short>.
Count
));
331
Vector256<short> source1 = Vector256.LoadUnsafe(ref currentSearchSpace, (nuint)Vector256<short>.
Count
);
339
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, 2 * Vector256<short>.
Count
);
346
Debug.Assert(searchSpaceLength >= Vector256<short>.
Count
, "We expect that the input is long enough for us to load a whole vector.");
348
ref short oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, searchSpaceLength - Vector256<short>.
Count
);
450
if (searchSpaceLength > 2 * Vector256<short>.
Count
)
458
ref short twoVectorsAfterStart = ref Unsafe.Add(ref searchSpace, 2 * Vector256<short>.
Count
);
462
currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, 2 * Vector256<short>.
Count
);
465
Vector256<short> source1 = Vector256.LoadUnsafe(ref currentSearchSpace, (nuint)Vector256<short>.
Count
);
478
Debug.Assert(searchSpaceLength >= Vector256<short>.
Count
, "We expect that the input is long enough for us to load a whole vector.");
480
ref short oneVectorAfterStart = ref Unsafe.Add(ref searchSpace, Vector256<short>.
Count
);
483
? ref Unsafe.Subtract(ref currentSearchSpace, Vector256<short>.
Count
)
603
if (searchSpaceLength > Vector256<byte>.
Count
)
609
ref byte vectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, searchSpaceLength - Vector256<byte>.
Count
);
621
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, Vector256<byte>.
Count
);
728
if (searchSpaceLength > Vector256<byte>.
Count
)
734
ref byte vectorAfterStart = ref Unsafe.Add(ref searchSpace, Vector256<byte>.
Count
);
738
currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, Vector256<byte>.
Count
);
875
if (searchSpaceLength > Vector256<byte>.
Count
)
881
ref byte vectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, searchSpaceLength - Vector256<byte>.
Count
);
893
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, Vector256<byte>.
Count
);
1003
if (searchSpaceLength > Vector256<byte>.
Count
)
1009
ref byte vectorAfterStart = ref Unsafe.Add(ref searchSpace, Vector256<byte>.
Count
);
1013
currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, Vector256<byte>.
Count
);
1301
if (offsetInVector < Vector256<short>.
Count
)
1307
return offsetInVector - Vector256<short>.
Count
+ (int)((nuint)Unsafe.ByteOffset(ref searchSpace, ref secondVector) / (nuint)sizeof(T));
1537
if (offsetInVector >= Vector256<short>.
Count
)
1541
offsetInVector -= Vector256<short>.
Count
;
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\ProbabilisticMap.cs (7)
187
Vector256<ushort> source1 = Vector256.LoadUnsafe(ref searchSpace, (nuint)Vector256<ushort>.
Count
);
494
Vector256<byte> result = ContainsMask32CharsAvx512(charMap256, ref searchSpace, ref Unsafe.Subtract(ref searchSpaceEnd, Vector256<ushort>.
Count
));
673
Vector256<byte> result = ContainsMask32CharsAvx512(charMap256, ref searchSpace, ref Unsafe.Subtract(ref cur, Vector256<ushort>.
Count
));
816
if (index >= Vector256<ushort>.
Count
)
820
index += searchSpaceLength - (2 * Vector256<ushort>.
Count
);
918
if (index >= Vector256<ushort>.
Count
)
922
index += searchSpaceLength - (2 * Vector256<ushort>.
Count
);
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\Helpers\TeddyHelper.cs (1)
259
Vector256<ushort> source1 = Vector256.LoadUnsafe(ref source, (nuint)Vector256<ushort>.
Count
);
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\SingleStringSearchValuesPackedThreeChars.cs (8)
138
else if (Vector256.IsHardwareAccelerated && Avx2.IsSupported && searchSpaceMinusValueTailLength - Vector256<byte>.
Count
>= 0)
144
ref char lastSearchSpace = ref Unsafe.Add(ref searchSpace, searchSpaceMinusValueTailLength - Vector256<byte>.
Count
);
148
ValidateReadPosition(ref searchSpaceStart, searchSpaceLength, ref searchSpace, Vector256<byte>.
Count
);
149
ValidateReadPosition(ref searchSpaceStart, searchSpaceLength, ref searchSpace, Vector256<byte>.
Count
+ (int)(_ch2ByteOffset / sizeof(char)));
150
ValidateReadPosition(ref searchSpaceStart, searchSpaceLength, ref searchSpace, Vector256<byte>.
Count
+ (int)(_ch3ByteOffset / sizeof(char)));
161
searchSpace = ref Unsafe.Add(ref searchSpace, Vector256<byte>.
Count
);
165
if (Unsafe.AreSame(ref searchSpace, ref Unsafe.Add(ref lastSearchSpace, Vector256<byte>.
Count
)))
408
Vector256.LoadUnsafe(ref Unsafe.AddByteOffset(ref searchSpace, byteOffset + (uint)Vector256<byte>.
Count
)).AsInt16());
src\runtime\src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\SingleStringSearchValuesThreeChars.cs (7)
138
else if (Vector256.IsHardwareAccelerated && searchSpaceMinusValueTailLength - Vector256<ushort>.
Count
>= 0)
144
ref char lastSearchSpace = ref Unsafe.Add(ref searchSpace, searchSpaceMinusValueTailLength - Vector256<ushort>.
Count
);
148
ValidateReadPosition(ref searchSpaceStart, searchSpaceLength, ref searchSpace, Vector256<ushort>.
Count
);
149
ValidateReadPosition(ref searchSpaceStart, searchSpaceLength, ref searchSpace, Vector256<ushort>.
Count
+ (int)(_ch2ByteOffset / sizeof(char)));
150
ValidateReadPosition(ref searchSpaceStart, searchSpaceLength, ref searchSpace, Vector256<ushort>.
Count
+ (int)(_ch3ByteOffset / sizeof(char)));
161
searchSpace = ref Unsafe.Add(ref searchSpace, Vector256<ushort>.
Count
);
165
if (Unsafe.AreSame(ref searchSpace, ref Unsafe.Add(ref lastSearchSpace, Vector256<ushort>.
Count
)))
src\runtime\src\libraries\System.Private.CoreLib\src\System\SpanHelpers.Byte.cs (25)
127
else if (Vector256.IsHardwareAccelerated && searchSpaceMinusValueTailLength - Vector256<byte>.
Count
>= 0)
140
searchSpaceMinusValueTailLength - (nint)Vector256<byte>.
Count
;
146
Debug.Assert(offset + ch1ch2Distance + Vector256<byte>.
Count
<= searchSpaceLength);
159
offset += Vector256<byte>.
Count
;
346
else if (Vector256.IsHardwareAccelerated && searchSpaceMinusValueTailLength >= Vector256<byte>.
Count
)
348
offset = searchSpaceMinusValueTailLength - Vector256<byte>.
Count
;
385
offset -= Vector256<byte>.
Count
;
386
if (offset == -Vector256<byte>.
Count
)
524
if ((((nuint)(uint)searchSpace + offset) & (nuint)(Vector256<byte>.
Count
- 1)) != 0)
559
offset += (nuint)Vector256<byte>.
Count
;
598
offset += (nuint)Vector256<byte>.
Count
;
637
if ((((nuint)(uint)searchSpace + offset) & (nuint)(Vector256<byte>.
Count
- 1)) != 0)
671
offset += (nuint)Vector256<byte>.
Count
;
853
else if (Vector256.IsHardwareAccelerated && length >= (nuint)Vector256<byte>.
Count
)
856
nuint lengthToExamine = length - (nuint)Vector256<byte>.
Count
;
868
offset += (nuint)Vector256<byte>.
Count
;
1019
if (lengthToExamine >= (nuint)Vector256<byte>.
Count
)
1021
lengthToExamine -= (nuint)Vector256<byte>.
Count
;
1033
offset += (nuint)Vector256<byte>.
Count
;
1286
=> (nuint)(uint)((length - (int)offset) & ~(Vector256<byte>.
Count
- 1));
1344
else if (Avx2.IsSupported && remainder >= (nint)(Vector256<byte>.
Count
* 1.5))
1350
nint lastOffset = remainder - Vector256<byte>.
Count
;
1385
offset += Vector256<byte>.
Count
;
1386
lastOffset -= Vector256<byte>.
Count
;
1389
remainder = lastOffset + Vector256<byte>.
Count
- offset;
src\runtime\src\libraries\System.Private.CoreLib\src\System\SpanHelpers.Char.cs (22)
139
else if (Vector256.IsHardwareAccelerated && searchSpaceMinusValueTailLength - Vector256<ushort>.
Count
>= 0)
152
searchSpaceMinusValueTailLength - (nint)Vector256<ushort>.
Count
;
157
Debug.Assert(offset + ch1ch2Distance + Vector256<ushort>.
Count
<= searchSpaceLength);
170
offset += Vector256<ushort>.
Count
;
364
else if (Vector256.IsHardwareAccelerated && searchSpaceMinusValueTailLength >= Vector256<ushort>.
Count
)
366
offset = searchSpaceMinusValueTailLength - Vector256<ushort>.
Count
;
406
offset -= Vector256<ushort>.
Count
;
407
if (offset == -Vector256<ushort>.
Count
)
587
if (((nint)(searchSpace + (nint)offset) & (nint)(Vector256<byte>.
Count
- 1)) != 0)
633
offset += Vector256<ushort>.
Count
;
676
Debug.Assert(lengthToExamine >= Vector256<ushort>.
Count
);
685
offset += Vector256<ushort>.
Count
;
731
if (((nint)(searchSpace + (nint)offset) & (nint)(Vector256<byte>.
Count
- 1)) != 0)
764
Debug.Assert(lengthToExamine >= Vector256<ushort>.
Count
);
773
offset += Vector256<ushort>.
Count
;
774
lengthToExamine -= Vector256<ushort>.
Count
;
875
=> (length - offset) & ~(Vector256<ushort>.
Count
- 1);
930
else if (Avx2.IsSupported && remainder >= (nint)(Vector256<ushort>.
Count
* 1.5))
936
nint lastOffset = remainder - Vector256<ushort>.
Count
;
967
offset += Vector256<ushort>.
Count
;
968
lastOffset -= Vector256<ushort>.
Count
;
971
remainder = (lastOffset + Vector256<ushort>.
Count
- offset);
src\runtime\src\libraries\System.Private.CoreLib\src\System\SpanHelpers.cs (10)
125
else if (Avx2.IsSupported && remainder >= Vector256<int>.
Count
* 2)
127
nint lastOffset = remainder - Vector256<int>.
Count
;
149
offset += Vector256<int>.
Count
;
150
lastOffset -= Vector256<int>.
Count
;
153
remainder = lastOffset + Vector256<int>.
Count
- offset;
230
else if (Avx2.IsSupported && remainder >= Vector256<long>.
Count
* 2)
232
nint lastOffset = remainder - Vector256<long>.
Count
;
254
offset += Vector256<long>.
Count
;
255
lastOffset -= Vector256<long>.
Count
;
258
remainder = lastOffset + Vector256<long>.
Count
- offset;
src\runtime\src\libraries\System.Private.CoreLib\src\System\SpanHelpers.Packed.cs (32)
198
else if (Avx2.IsSupported && length > Vector256<short>.
Count
)
203
if (length > 2 * Vector256<short>.
Count
)
209
ref short twoVectorsAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - (2 * Vector256<short>.
Count
));
214
Vector256<short> source1 = Vector256.LoadUnsafe(ref currentSearchSpace, (nuint)Vector256<short>.
Count
);
223
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, 2 * Vector256<short>.
Count
);
231
ref short oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<short>.
Count
);
397
else if (Avx2.IsSupported && length > Vector256<short>.
Count
)
402
if (length > 2 * Vector256<short>.
Count
)
408
ref short twoVectorsAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - (2 * Vector256<short>.
Count
));
413
Vector256<short> source1 = Vector256.LoadUnsafe(ref currentSearchSpace, (nuint)Vector256<short>.
Count
);
423
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, 2 * Vector256<short>.
Count
);
431
ref short oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<short>.
Count
);
609
else if (Avx2.IsSupported && length > Vector256<short>.
Count
)
615
if (length > 2 * Vector256<short>.
Count
)
621
ref short twoVectorsAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - (2 * Vector256<short>.
Count
));
626
Vector256<short> source1 = Vector256.LoadUnsafe(ref currentSearchSpace, (nuint)Vector256<short>.
Count
);
636
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, 2 * Vector256<short>.
Count
);
644
ref short oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<short>.
Count
);
825
else if (Avx2.IsSupported && length > Vector256<short>.
Count
)
832
if (length > 2 * Vector256<short>.
Count
)
838
ref short twoVectorsAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - (2 * Vector256<short>.
Count
));
843
Vector256<short> source1 = Vector256.LoadUnsafe(ref currentSearchSpace, (nuint)Vector256<short>.
Count
);
853
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, 2 * Vector256<short>.
Count
);
861
ref short oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<short>.
Count
);
1022
else if (Avx2.IsSupported && length > Vector256<short>.
Count
)
1028
if (length > 2 * Vector256<short>.
Count
)
1034
ref short twoVectorsAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - (2 * Vector256<short>.
Count
));
1039
Vector256<short> source1 = Vector256.LoadUnsafe(ref currentSearchSpace, (nuint)Vector256<short>.
Count
);
1049
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, 2 * Vector256<short>.
Count
);
1057
ref short oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<short>.
Count
);
1275
if (offsetInVector >= Vector256<short>.
Count
)
1279
offsetInVector -= Vector256<short>.
Count
;
src\runtime\src\libraries\System.Private.CoreLib\src\System\SpanHelpers.T.cs (49)
1558
else if (Vector256.IsHardwareAccelerated && length >= Vector256<T>.
Count
)
1562
ref T oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, (uint)(length - Vector256<T>.
Count
));
1570
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, Vector256<T>.
Count
);
1579
if ((uint)length % Vector256<T>.
Count
!= 0)
1777
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
1781
ref TValue oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<TValue>.
Count
);
1789
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, Vector256<TValue>.
Count
);
1798
if ((uint)length % Vector256<TValue>.
Count
!= 0)
2041
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
2045
ref TValue oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<TValue>.
Count
);
2054
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, Vector256<TValue>.
Count
);
2063
if ((uint)length % Vector256<TValue>.
Count
!= 0)
2282
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
2286
ref TValue oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<TValue>.
Count
);
2295
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, Vector256<TValue>.
Count
);
2304
if ((uint)length % Vector256<TValue>.
Count
!= 0)
2451
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
2455
ref TValue oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, length - Vector256<TValue>.
Count
);
2465
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, Vector256<TValue>.
Count
);
2474
if ((uint)length % Vector256<TValue>.
Count
!= 0)
2625
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
2630
ref TValue oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, (uint)(length - Vector256<TValue>.
Count
));
2640
currentSearchSpace = ref Unsafe.Add(ref currentSearchSpace, Vector256<TValue>.
Count
);
2649
if ((uint)length % Vector256<TValue>.
Count
!= 0)
2800
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
2999
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
3002
nint offset = length - Vector256<TValue>.
Count
;
3012
offset -= Vector256<TValue>.
Count
;
3215
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
3218
nint offset = length - Vector256<TValue>.
Count
;
3228
offset -= Vector256<TValue>.
Count
;
3373
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
3376
nint offset = length - Vector256<TValue>.
Count
;
3386
offset -= Vector256<TValue>.
Count
;
3470
if (!Vector256.IsHardwareAccelerated || length < (uint)Vector256<T>.
Count
)
3500
nuint lastVectorIndex = length - (uint)Vector256<T>.
Count
;
3512
idx += (uint)Vector256<T>.
Count
;
3645
else if (Vector256.IsHardwareAccelerated && length >= Vector256<TValue>.
Count
)
3649
nint offset = length - Vector256<TValue>.
Count
;
3659
offset -= Vector256<TValue>.
Count
;
3901
else if (!Vector256.IsHardwareAccelerated || length < Vector256<T>.
Count
)
3937
ref T oneVectorAwayFromEnd = ref Unsafe.Add(ref searchSpace, (uint)(length - Vector256<T>.
Count
));
3948
current = ref Unsafe.Add(ref current, Vector256<T>.
Count
);
4048
else if (!Vector256.IsHardwareAccelerated || length < Vector256<T>.
Count
)
4081
nint offset = length - Vector256<T>.
Count
;
4092
offset -= Vector256<T>.
Count
;
4188
else if (Vector256.IsHardwareAccelerated && length >= Vector256<T>.
Count
)
4191
ref T oneVectorAwayFromEnd = ref Unsafe.Subtract(ref end, Vector256<T>.
Count
);
4195
current = ref Unsafe.Add(ref current, Vector256<T>.
Count
);
src\runtime\src\libraries\System.Private.CoreLib\src\System\String.Manipulation.cs (16)
1326
else if (Vector256.IsHardwareAccelerated && length >= (uint)Vector256<ushort>.
Count
)
1328
nuint adjust = (length - remainingLength) & ((uint)Vector256<ushort>.
Count
- 1);
2222
else if (Vector256.IsHardwareAccelerated && (uint)remaining.Length >= (uint)Vector256<ushort>.
Count
*2)
2237
while ((uint)remaining.Length >= (uint)Vector256<ushort>.
Count
*2)
2240
Vector256<ushort> vector2 = Vector256.Create(remaining.Slice(Vector256<ushort>.
Count
));
2261
sepListBuilder.Append(baseIndex + (int)bitPos + Vector256<ushort>.
Count
);
2268
baseIndex += Vector256<ushort>.
Count
*2;
2269
remaining = remaining.Slice(Vector256<ushort>.
Count
*2);
2274
baseIndex += Vector256<ushort>.
Count
*2;
2275
remaining = remaining.Slice(Vector256<ushort>.
Count
*2);
2279
while ((uint)remaining.Length >= (uint)Vector256<ushort>.
Count
)
2296
baseIndex += Vector256<ushort>.
Count
;
2297
remaining = remaining.Slice(Vector256<ushort>.
Count
);
2304
Vector256<ushort> vector = Vector256.Create(sourceSpanUInt16.Slice(sourceSpanUInt16.Length - Vector256<ushort>.
Count
));
2306
int finalIndex = sourceSpanUInt16.Length - Vector256<ushort>.
Count
;
2307
uint mask = cmp.ExtractMostSignificantBits() & 0x55555555 & ~((1u << (Vector256<byte>.
Count
- remaining.Length * sizeof(char))) - 1);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Ascii.cs (17)
119
if (length <= 2 * Vector256<T>.
Count
)
123
Vector256.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, Vector256<T>.
Count
)));
127
if (length > 4 * Vector256<T>.
Count
)
132
Vector256.LoadUnsafe(ref searchSpace, (nuint)Vector256<T>.
Count
) |
133
Vector256.LoadUnsafe(ref searchSpace, 2 * (nuint)Vector256<T>.
Count
) |
134
Vector256.LoadUnsafe(ref searchSpace, 3 * (nuint)Vector256<T>.
Count
)))
139
nuint i = 4 * (nuint)Vector256<T>.
Count
;
144
nuint misalignedElements = Unsafe.OpportunisticMisalignment(ref searchSpace, (uint)Vector256<byte>.
Count
) / (nuint)sizeof(T);
146
Debug.Assert((int)i > 3 * Vector256<T>.
Count
);
148
nuint finalStart = (nuint)length - 4 * (nuint)Vector256<T>.
Count
;
150
for (; i < finalStart; i += 4 * (nuint)Vector256<T>.
Count
)
156
Vector256.LoadUnsafe(ref current, (nuint)Vector256<T>.
Count
) |
157
Vector256.LoadUnsafe(ref current, 2 * (nuint)Vector256<T>.
Count
) |
158
Vector256.LoadUnsafe(ref current, 3 * (nuint)Vector256<T>.
Count
)))
172
Vector256.LoadUnsafe(ref searchSpace, (nuint)Vector256<T>.
Count
) |
173
Vector256.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, 2 * Vector256<T>.
Count
)) |
174
Vector256.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, Vector256<T>.
Count
)));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Equality.cs (19)
95
else if (Avx.IsSupported && length >= (uint)Vector256<TLeft>.
Count
)
101
Debug.Assert(Vector256<TLeft>.
Count
== Vector256<TRight>.
Count
102
|| (typeof(TLoader) == typeof(WideningLoader) && Vector256<TLeft>.
Count
== Vector256<TRight>.
Count
* 2));
103
ref TRight oneVectorAwayFromRightEnd = ref Unsafe.Add(ref currentRightSearchSpace, length - (uint)Vector256<TLeft>.
Count
);
113
currentRightSearchSpace = ref Unsafe.Add(ref currentRightSearchSpace, Vector256<TLeft>.
Count
);
114
currentLeftSearchSpace = ref Unsafe.Add(ref currentLeftSearchSpace, Vector256<TLeft>.
Count
);
119
if (length % (uint)Vector256<TLeft>.
Count
!= 0)
121
ref TLeft oneVectorAwayFromLeftEnd = ref Unsafe.Add(ref left, length - (uint)Vector256<TLeft>.
Count
);
306
else if (Avx.IsSupported && length >= (uint)Vector256<TRight>.
Count
)
309
ref TLeft oneVectorAwayFromLeftEnd = ref Unsafe.Add(ref currentLeftSearchSpace, length - (uint)Vector256<TRight>.
Count
);
311
ref TRight oneVectorAwayFromRightEnd = ref Unsafe.Add(ref currentRightSearchSpace, length - (uint)Vector256<TRight>.
Count
);
346
currentRightSearchSpace = ref Unsafe.Add(ref currentRightSearchSpace, (uint)Vector256<TRight>.
Count
);
347
currentLeftSearchSpace = ref Unsafe.Add(ref currentLeftSearchSpace, (uint)Vector256<TRight>.
Count
);
352
if (length % (uint)Vector256<TRight>.
Count
!= 0)
546
Debug.Assert(Vector256<byte>.
Count
== Vector256<ushort>.
Count
* 2);
556
Vector256<ushort> rightNext = Vector256.LoadUnsafe(ref utf16, (uint)Vector256<ushort>.
Count
);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Utility.cs (4)
180
else if (Vector256.IsHardwareAccelerated && bufferLength >= 2 * (uint)Vector256<byte>.
Count
)
803
else if (Vector256.IsHardwareAccelerated && bufferLength >= 2 * (uint)Vector256<ushort>.
Count
)
1381
else if (Vector256.IsHardwareAccelerated && elementCount >= 2 * (uint)Vector256<byte>.
Count
)
2084
else if (Vector256.IsHardwareAccelerated && (elementCount - currentOffset) >= (uint)Vector256<byte>.
Count
)
System.Runtime.Numerics (9)
System\Numerics\BigIntegerCalculator.ShiftRot.cs (7)
172
while (Vector256.IsHardwareAccelerated && offset >= Vector256<nuint>.
Count
+ 1)
174
Vector256<nuint> current = Vector256.LoadUnsafe(ref start, (nuint)(offset - Vector256<nuint>.
Count
)) << shift;
175
Vector256<nuint> carries = Vector256.LoadUnsafe(ref start, (nuint)(offset - (Vector256<nuint>.
Count
+ 1))) >> back;
179
Vector256.StoreUnsafe(newValue, ref start, (nuint)(offset - Vector256<nuint>.
Count
));
180
offset -= Vector256<nuint>.
Count
;
241
while (Vector256.IsHardwareAccelerated && remaining.Length >= Vector256<nuint>.
Count
+ 1)
249
remaining = remaining.Slice(Vector256<nuint>.
Count
);
System\Numerics\NumericsHelpers.cs (2)
87
while (Vector256.IsHardwareAccelerated && d.Length >= Vector256<nuint>.
Count
)
91
d = d.Slice(Vector256<nuint>.
Count
);