52 references to Subtract
System.Linq (1)
System\Linq\Range.cs (1)
93ref T oneVectorFromEnd = ref Unsafe.Subtract(ref end, Vector<T>.Count);
System.Private.CoreLib (46)
src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Helper\Base64DecoderHelper.cs (1)
558if (decoder.IsValidPadding(Unsafe.Subtract(ref ptrToLastElement, 1)))
src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Url\Base64UrlDecoder.cs (1)
315if (decoder.IsValidPadding(Unsafe.Subtract(ref ptrToLastElement, 1)))
src\libraries\System.Private.CoreLib\src\System\Convert.cs (6)
2504src = ref Unsafe.Subtract(ref src, 32); 2505dest = ref Unsafe.Subtract(ref dest, 32); 2520src = ref Unsafe.Subtract(ref src, 16); 2521dest = ref Unsafe.Subtract(ref dest, 16); 2534dest = ref Unsafe.Subtract(ref dest, 4); 2535src = ref Unsafe.Subtract(ref src, 4);
src\libraries\System.Private.CoreLib\src\System\SearchValues\IndexOfAnyAsciiSearcher.cs (12)
461currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, 2 * Vector256<short>.Count); 482? ref Unsafe.Subtract(ref currentSearchSpace, Vector256<short>.Count) 512currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, 2 * Vector128<short>.Count); 533? ref Unsafe.Subtract(ref currentSearchSpace, Vector128<short>.Count) 737currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, Vector256<byte>.Count); 757? ref Unsafe.Subtract(ref currentSearchSpace, Vector128<byte>.Count) 786currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, Vector128<byte>.Count); 806? ref Unsafe.Subtract(ref currentSearchSpace, sizeof(ulong)) 1012currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, Vector256<byte>.Count); 1032? ref Unsafe.Subtract(ref currentSearchSpace, Vector128<byte>.Count) 1064currentSearchSpace = ref Unsafe.Subtract(ref currentSearchSpace, Vector128<byte>.Count); 1084? ref Unsafe.Subtract(ref currentSearchSpace, sizeof(ulong))
src\libraries\System.Private.CoreLib\src\System\SearchValues\ProbabilisticMap.cs (11)
437ref char lastStartVector = ref Unsafe.Subtract(ref searchSpaceEnd, 64); 471Vector512<byte> result = ContainsMask64CharsAvx512(charMap512, ref searchSpace, ref Unsafe.Subtract(ref searchSpaceEnd, Vector512<ushort>.Count)); 488Vector256<byte> result = ContainsMask32CharsAvx512(charMap256, ref searchSpace, ref Unsafe.Subtract(ref searchSpaceEnd, Vector256<ushort>.Count)); 523ref char lastStartVectorAvx2 = ref Unsafe.Subtract(ref searchSpaceEnd, 32); 556cur = ref Unsafe.Subtract(ref searchSpaceEnd, 16); 563ref char lastStartVector = ref Unsafe.Subtract(ref searchSpaceEnd, 16); 617cur = ref Unsafe.Subtract(ref cur, 64); 648Vector512<byte> result = ContainsMask64CharsAvx512(charMap512, ref searchSpace, ref Unsafe.Subtract(ref cur, Vector512<ushort>.Count)); 666Vector256<byte> result = ContainsMask32CharsAvx512(charMap256, ref searchSpace, ref Unsafe.Subtract(ref cur, Vector256<ushort>.Count)); 706cur = ref Unsafe.Subtract(ref cur, 32); 748cur = ref Unsafe.Subtract(ref cur, 16);
src\libraries\System.Private.CoreLib\src\System\SpanHelpers.cs (2)
336ref T last = ref Unsafe.Subtract(ref Unsafe.Add(ref first, length), 1); 343last = ref Unsafe.Subtract(ref last, 1);
src\libraries\System.Private.CoreLib\src\System\SpanHelpers.T.cs (3)
3788ref T oneVectorAwayFromEnd = ref Unsafe.Subtract(ref end, Vector512<T>.Count); 3803ref T oneVectorAwayFromEnd = ref Unsafe.Subtract(ref end, Vector256<T>.Count); 3818ref T oneVectorAwayFromEnd = ref Unsafe.Subtract(ref end, Vector128<T>.Count);
src\libraries\System.Private.CoreLib\src\System\Text\Ascii.cs (7)
103Unsafe.ReadUnaligned<ulong>(ref Unsafe.Subtract(ref Unsafe.As<T, byte>(ref Unsafe.Add(ref searchSpace, length)), sizeof(ulong)))); 113Vector128.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, Vector128<T>.Count))); 123Vector256.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, Vector256<T>.Count))); 173Vector256.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, 2 * Vector256<T>.Count)) | 174Vector256.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, Vector256<T>.Count))); 225Vector128.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, 2 * Vector128<T>.Count)) | 226Vector128.LoadUnsafe(ref Unsafe.Subtract(ref searchSpaceEnd, Vector128<T>.Count)));
src\System\Runtime\CompilerServices\RuntimeHelpers.CoreCLR.cs (2)
1074return ref Unsafe.Subtract(ref Unsafe.As<MethodTableAuxiliaryData, DynamicStaticsInfo>(ref this), 1); 1082return ref Unsafe.Subtract(ref Unsafe.As<MethodTableAuxiliaryData, ThreadStaticsInfo>(ref this), 1);
src\System\Runtime\CompilerServices\StaticsHelpers.cs (1)
91return ref Unsafe.Subtract(ref RuntimeHelpers.GetRawData(obj), sizeof(MethodTable*));
System.Runtime.Numerics (5)
System\Number.BigInteger.cs (1)
1243MemoryMarshal.CreateReadOnlySpan(ref Unsafe.Subtract(ref lastWholeBlockStart, i * TParser.DigitsPerBlock), TParser.DigitsPerBlock),
System\Numerics\BigInteger.cs (4)
3692address = ref Unsafe.Subtract(ref address, sizeof(uint)); 3717address = ref Unsafe.Subtract(ref address, sizeof(uint)); 3734address = ref Unsafe.Subtract(ref address, sizeof(uint)); 3849Debug.Assert(Unsafe.AreSame(ref lastAddress, ref Unsafe.Subtract(ref address, sizeof(uint))));