src\libraries\System.Private.CoreLib\src\System\Array.cs (20)
958=> UnsafeArrayAsSpan<T>(array, adjustedIndex, length).BinarySearch(Unsafe.As<byte, T>(ref value.GetRawData()));
1457=> UnsafeArrayAsSpan<T>(array, adjustedIndex, length).IndexOf(Unsafe.As<byte, T>(ref value.GetRawData()));
1524ref Unsafe.Add(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetArrayDataReference(array)), startIndex),
1525Unsafe.As<T, byte>(ref value),
1532ref Unsafe.Add(ref Unsafe.As<T, short>(ref MemoryMarshal.GetArrayDataReference(array)), startIndex),
1533Unsafe.As<T, short>(ref value),
1540ref Unsafe.Add(ref Unsafe.As<T, int>(ref MemoryMarshal.GetArrayDataReference(array)), startIndex),
1541Unsafe.As<T, int>(ref value),
1548ref Unsafe.Add(ref Unsafe.As<T, long>(ref MemoryMarshal.GetArrayDataReference(array)), startIndex),
1549Unsafe.As<T, long>(ref value),
1687=> UnsafeArrayAsSpan<T>(array, adjustedIndex, length).LastIndexOf(Unsafe.As<byte, T>(ref value.GetRawData()));
1772ref Unsafe.Add(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetArrayDataReference(array)), endIndex),
1773Unsafe.As<T, byte>(ref value),
1782ref Unsafe.Add(ref Unsafe.As<T, short>(ref MemoryMarshal.GetArrayDataReference(array)), endIndex),
1783Unsafe.As<T, short>(ref value),
1792ref Unsafe.Add(ref Unsafe.As<T, int>(ref MemoryMarshal.GetArrayDataReference(array)), endIndex),
1793Unsafe.As<T, int>(ref value),
1802ref Unsafe.Add(ref Unsafe.As<T, long>(ref MemoryMarshal.GetArrayDataReference(array)), endIndex),
1803Unsafe.As<T, long>(ref value),
2692new Span<T>(ref Unsafe.As<byte, T>(ref MemoryMarshal.GetArrayDataReference(array)), array.Length).Slice(adjustedIndex, length);
src\libraries\System.Private.CoreLib\src\System\BitConverter.cs (12)
62Unsafe.As<byte, char>(ref bytes[0]) = value;
89Unsafe.As<byte, short>(ref bytes[0]) = value;
116Unsafe.As<byte, int>(ref bytes[0]) = value;
143Unsafe.As<byte, long>(ref bytes[0]) = value;
170Unsafe.As<byte, Int128>(ref bytes[0]) = value;
198Unsafe.As<byte, ushort>(ref bytes[0]) = value;
227Unsafe.As<byte, uint>(ref bytes[0]) = value;
256Unsafe.As<byte, ulong>(ref bytes[0]) = value;
285Unsafe.As<byte, UInt128>(ref bytes[0]) = value;
313Unsafe.As<byte, Half>(ref bytes[0]) = value;
340Unsafe.As<byte, float>(ref bytes[0]) = value;
367Unsafe.As<byte, double>(ref bytes[0]) = value;
src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Utf8Parser\Utf8Parser.Integer.Signed.cs (4)
59return TryParseByteX(source, out Unsafe.As<sbyte, byte>(ref value), out bytesConsumed);
111return TryParseUInt16X(source, out Unsafe.As<short, ushort>(ref value), out bytesConsumed);
163return TryParseUInt32X(source, out Unsafe.As<int, uint>(ref value), out bytesConsumed);
215return TryParseUInt64X(source, out Unsafe.As<long, ulong>(ref value), out bytesConsumed);
src\libraries\System.Private.CoreLib\src\System\Enum.cs (101)
423ushort flagsValue = Unsafe.As<byte, ushort>(ref pFlagsValue);
424return (Unsafe.As<byte, ushort>(ref pThisValue) & flagsValue) == flagsValue;
430uint flagsValue = Unsafe.As<byte, uint>(ref pFlagsValue);
431return (Unsafe.As<byte, uint>(ref pThisValue) & flagsValue) == flagsValue;
437ulong flagsValue = Unsafe.As<byte, ulong>(ref pFlagsValue);
438return (Unsafe.As<byte, ulong>(ref pThisValue) & flagsValue) == flagsValue;
896if (underlyingType == typeof(sbyte)) return TryParseByValueOrName<sbyte, byte>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, sbyte>(ref result));
897if (underlyingType == typeof(byte)) return TryParseByValueOrName<byte, byte>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, byte>(ref result));
898if (underlyingType == typeof(short)) return TryParseByValueOrName<short, ushort>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, short>(ref result));
899if (underlyingType == typeof(ushort)) return TryParseByValueOrName<ushort, ushort>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, ushort>(ref result));
900if (underlyingType == typeof(int)) return TryParseByValueOrName<int, uint>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, int>(ref result));
901if (underlyingType == typeof(uint)) return TryParseByValueOrName<uint, uint>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, uint>(ref result));
902if (underlyingType == typeof(long)) return TryParseByValueOrName<long, ulong>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, long>(ref result));
903if (underlyingType == typeof(ulong)) return TryParseByValueOrName<ulong, ulong>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, ulong>(ref result));
905if (underlyingType == typeof(nint)) return TryParseRareTypeByValueOrName<nint, nuint>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, nint>(ref result));
906if (underlyingType == typeof(nuint)) return TryParseRareTypeByValueOrName<nuint, nuint>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, nuint>(ref result));
907if (underlyingType == typeof(float)) return TryParseRareTypeByValueOrName<float, float>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, float>(ref result));
908if (underlyingType == typeof(double)) return TryParseRareTypeByValueOrName<double, double>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, double>(ref result));
909if (underlyingType == typeof(char)) return TryParseRareTypeByValueOrName<char, char>(rt, value, ignoreCase, throwOnFailure, out Unsafe.As<TEnum, char>(ref result));
940return TryParseByName(enumType, value, ignoreCase, throwOnFailure, out Unsafe.As<TUnderlying, TStorage>(ref result));
955return TryParseByName(enumType, value, ignoreCase, throwOnFailure, out Unsafe.As<TUnderlying, TStorage>(ref result));
998return TryParseByName(enumType, value, ignoreCase, throwOnFailure, out Unsafe.As<TUnderlying, TStorage>(ref result));
1022return TryParseByName(enumType, value, ignoreCase, throwOnFailure, out Unsafe.As<TUnderlying, TStorage>(ref result));
1171CorElementType.ELEMENT_TYPE_I1 => Unsafe.As<byte, sbyte>(ref data),
1173CorElementType.ELEMENT_TYPE_I2 => Unsafe.As<byte, short>(ref data),
1174CorElementType.ELEMENT_TYPE_U2 => Unsafe.As<byte, ushort>(ref data),
1175CorElementType.ELEMENT_TYPE_I4 => Unsafe.As<byte, int>(ref data),
1176CorElementType.ELEMENT_TYPE_U4 => Unsafe.As<byte, uint>(ref data),
1177CorElementType.ELEMENT_TYPE_I8 => Unsafe.As<byte, long>(ref data),
1178CorElementType.ELEMENT_TYPE_U8 => Unsafe.As<byte, ulong>(ref data),
1180CorElementType.ELEMENT_TYPE_R4 => Unsafe.As<byte, float>(ref data),
1181CorElementType.ELEMENT_TYPE_R8 => Unsafe.As<byte, double>(ref data),
1182CorElementType.ELEMENT_TYPE_I => Unsafe.As<byte, IntPtr>(ref data),
1183CorElementType.ELEMENT_TYPE_U => Unsafe.As<byte, UIntPtr>(ref data),
1184CorElementType.ELEMENT_TYPE_CHAR => Unsafe.As<byte, char>(ref data),
1185CorElementType.ELEMENT_TYPE_BOOLEAN => Unsafe.As<byte, bool>(ref data),
1214return Unsafe.As<byte, ushort>(ref pThisValue) == Unsafe.As<byte, ushort>(ref pOtherValue);
1218return Unsafe.As<byte, uint>(ref pThisValue) == Unsafe.As<byte, uint>(ref pOtherValue);
1222return Unsafe.As<byte, ulong>(ref pThisValue) == Unsafe.As<byte, ulong>(ref pOtherValue);
1261CorElementType.ELEMENT_TYPE_I1 => Unsafe.As<byte, sbyte>(ref data).GetHashCode(),
1263CorElementType.ELEMENT_TYPE_I2 => Unsafe.As<byte, short>(ref data).GetHashCode(),
1264CorElementType.ELEMENT_TYPE_U2 => Unsafe.As<byte, ushort>(ref data).GetHashCode(),
1265CorElementType.ELEMENT_TYPE_I4 => Unsafe.As<byte, int>(ref data).GetHashCode(),
1266CorElementType.ELEMENT_TYPE_U4 => Unsafe.As<byte, uint>(ref data).GetHashCode(),
1267CorElementType.ELEMENT_TYPE_I8 => Unsafe.As<byte, long>(ref data).GetHashCode(),
1268CorElementType.ELEMENT_TYPE_U8 => Unsafe.As<byte, ulong>(ref data).GetHashCode(),
1270CorElementType.ELEMENT_TYPE_R4 => Unsafe.As<byte, float>(ref data).GetHashCode(),
1271CorElementType.ELEMENT_TYPE_R8 => Unsafe.As<byte, double>(ref data).GetHashCode(),
1272CorElementType.ELEMENT_TYPE_I => Unsafe.As<byte, IntPtr>(ref data).GetHashCode(),
1273CorElementType.ELEMENT_TYPE_U => Unsafe.As<byte, UIntPtr>(ref data).GetHashCode(),
1274CorElementType.ELEMENT_TYPE_CHAR => Unsafe.As<byte, char>(ref data).GetHashCode(),
1275CorElementType.ELEMENT_TYPE_BOOLEAN => Unsafe.As<byte, bool>(ref data).GetHashCode(),
1299return Unsafe.As<byte, sbyte>(ref pThisValue).CompareTo(Unsafe.As<byte, sbyte>(ref pTargetValue));
1305return Unsafe.As<byte, short>(ref pThisValue).CompareTo(Unsafe.As<byte, short>(ref pTargetValue));
1308return Unsafe.As<byte, ushort>(ref pThisValue).CompareTo(Unsafe.As<byte, ushort>(ref pTargetValue));
1311return Unsafe.As<byte, int>(ref pThisValue).CompareTo(Unsafe.As<byte, int>(ref pTargetValue));
1314return Unsafe.As<byte, uint>(ref pThisValue).CompareTo(Unsafe.As<byte, uint>(ref pTargetValue));
1317return Unsafe.As<byte, long>(ref pThisValue).CompareTo(Unsafe.As<byte, long>(ref pTargetValue));
1320return Unsafe.As<byte, ulong>(ref pThisValue).CompareTo(Unsafe.As<byte, ulong>(ref pTargetValue));
1324return Unsafe.As<byte, float>(ref pThisValue).CompareTo(Unsafe.As<byte, float>(ref pTargetValue));
1327return Unsafe.As<byte, double>(ref pThisValue).CompareTo(Unsafe.As<byte, double>(ref pTargetValue));
1471TStorage value = Unsafe.As<byte, TStorage>(ref rawData);
1501TStorage value = Unsafe.As<byte, TStorage>(ref rawData);
1568ushort value = Unsafe.As<byte, ushort>(ref data);
1579uint value = Unsafe.As<byte, uint>(ref data);
1592ulong value = Unsafe.As<byte, ulong>(ref data);
1701CorElementType.ELEMENT_TYPE_I2 => TryFormatPrimitiveDefault<short, ushort>(enumType, Unsafe.As<byte, short>(ref rawData), destination, out charsWritten),
1702CorElementType.ELEMENT_TYPE_U2 => TryFormatPrimitiveDefault<ushort, ushort>(enumType, Unsafe.As<byte, ushort>(ref rawData), destination, out charsWritten),
1703CorElementType.ELEMENT_TYPE_I4 => TryFormatPrimitiveDefault<int, uint>(enumType, Unsafe.As<byte, int>(ref rawData), destination, out charsWritten),
1704CorElementType.ELEMENT_TYPE_U4 => TryFormatPrimitiveDefault<uint, uint>(enumType, Unsafe.As<byte, uint>(ref rawData), destination, out charsWritten),
1705CorElementType.ELEMENT_TYPE_I8 => TryFormatPrimitiveDefault<long, ulong>(enumType, Unsafe.As<byte, long>(ref rawData), destination, out charsWritten),
1706CorElementType.ELEMENT_TYPE_U8 => TryFormatPrimitiveDefault<ulong, ulong>(enumType, Unsafe.As<byte, ulong>(ref rawData), destination, out charsWritten),
1708CorElementType.ELEMENT_TYPE_R4 => TryFormatPrimitiveDefault<float, float>(enumType, Unsafe.As<byte, float>(ref rawData), destination, out charsWritten),
1709CorElementType.ELEMENT_TYPE_R8 => TryFormatPrimitiveDefault<double, double>(enumType, Unsafe.As<byte, double>(ref rawData), destination, out charsWritten),
1710CorElementType.ELEMENT_TYPE_I => TryFormatPrimitiveDefault<nint, nuint>(enumType, Unsafe.As<byte, nint>(ref rawData), destination, out charsWritten),
1711CorElementType.ELEMENT_TYPE_U => TryFormatPrimitiveDefault<nuint, nuint>(enumType, Unsafe.As<byte, nuint>(ref rawData), destination, out charsWritten),
1712CorElementType.ELEMENT_TYPE_CHAR => TryFormatPrimitiveDefault<char, char>(enumType, Unsafe.As<byte, char>(ref rawData), destination, out charsWritten),
1723CorElementType.ELEMENT_TYPE_I2 => TryFormatPrimitiveNonDefault<short, ushort>(enumType, Unsafe.As<byte, short>(ref rawData), destination, out charsWritten, format),
1724CorElementType.ELEMENT_TYPE_U2 => TryFormatPrimitiveNonDefault<ushort, ushort>(enumType, Unsafe.As<byte, ushort>(ref rawData), destination, out charsWritten, format),
1725CorElementType.ELEMENT_TYPE_I4 => TryFormatPrimitiveNonDefault<int, uint>(enumType, Unsafe.As<byte, int>(ref rawData), destination, out charsWritten, format),
1726CorElementType.ELEMENT_TYPE_U4 => TryFormatPrimitiveNonDefault<uint, uint>(enumType, Unsafe.As<byte, uint>(ref rawData), destination, out charsWritten, format),
1727CorElementType.ELEMENT_TYPE_I8 => TryFormatPrimitiveNonDefault<long, ulong>(enumType, Unsafe.As<byte, long>(ref rawData), destination, out charsWritten, format),
1728CorElementType.ELEMENT_TYPE_U8 => TryFormatPrimitiveNonDefault<ulong, ulong>(enumType, Unsafe.As<byte, ulong>(ref rawData), destination, out charsWritten, format),
1730CorElementType.ELEMENT_TYPE_R4 => TryFormatPrimitiveNonDefault<float, float>(enumType, Unsafe.As<byte, float>(ref rawData), destination, out charsWritten, format),
1731CorElementType.ELEMENT_TYPE_R8 => TryFormatPrimitiveNonDefault<double, double>(enumType, Unsafe.As<byte, double>(ref rawData), destination, out charsWritten, format),
1732CorElementType.ELEMENT_TYPE_I => TryFormatPrimitiveNonDefault<nint, nuint>(enumType, Unsafe.As<byte, nint>(ref rawData), destination, out charsWritten, format),
1733CorElementType.ELEMENT_TYPE_U => TryFormatPrimitiveNonDefault<nuint, nuint>(enumType, Unsafe.As<byte, nuint>(ref rawData), destination, out charsWritten, format),
1734CorElementType.ELEMENT_TYPE_CHAR => TryFormatPrimitiveNonDefault<char, char>(enumType, Unsafe.As<byte, char>(ref rawData), destination, out charsWritten, format),
1912return TryFormatNumberAsHex<TStorage>(ref Unsafe.As<TUnderlying, byte>(ref value), destination, out charsWritten);
src\libraries\System.Private.CoreLib\src\System\Globalization\Ordinal.cs (8)
96vec1 = TVector.LoadUnsafe(ref Unsafe.As<char, ushort>(ref charA), i);
97vec2 = TVector.LoadUnsafe(ref Unsafe.As<char, ushort>(ref charB), i);
123vec1 = TVector.LoadUnsafe(ref Unsafe.As<char, ushort>(ref charA), i);
124vec2 = TVector.LoadUnsafe(ref Unsafe.As<char, ushort>(ref charB), i);
187valueAu64 = Unsafe.ReadUnaligned<ulong>(ref Unsafe.As<char, byte>(ref Unsafe.AddByteOffset(ref charA, byteOffset)));
188valueBu64 = Unsafe.ReadUnaligned<ulong>(ref Unsafe.As<char, byte>(ref Unsafe.AddByteOffset(ref charB, byteOffset)));
222valueAu32 = Unsafe.ReadUnaligned<uint>(ref Unsafe.As<char, byte>(ref Unsafe.AddByteOffset(ref charA, byteOffset)));
223valueBu32 = Unsafe.ReadUnaligned<uint>(ref Unsafe.As<char, byte>(ref Unsafe.AddByteOffset(ref charB, byteOffset)));
src\libraries\System.Private.CoreLib\src\System\IntPtr.cs (9)
228return nint_t.TryParse(s, out Unsafe.As<nint, nint_t>(ref result));
235return nint_t.TryParse(s, provider, out Unsafe.As<nint, nint_t>(ref result));
241return nint_t.TryParse(s, style, provider, out Unsafe.As<nint, nint_t>(ref result));
247return nint_t.TryParse(s, out Unsafe.As<nint, nint_t>(ref result));
257return nint_t.TryParse(utf8Text, out Unsafe.As<nint, nint_t>(ref result));
268return nint_t.TryParse(s, provider, out Unsafe.As<nint, nint_t>(ref result));
274return nint_t.TryParse(s, style, provider, out Unsafe.As<nint, nint_t>(ref result));
1415return nint_t.TryParse(utf8Text, style, provider, out Unsafe.As<nint, nint_t>(ref result));
1425return nint_t.TryParse(utf8Text, provider, out Unsafe.As<nint, nint_t>(ref result));
src\libraries\System.Private.CoreLib\src\System\MemoryExtensions.cs (156)
325ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
332ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
339ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
346ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
369ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
376ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
383ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
390ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
625ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
631ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
637ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
643ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
663ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
665ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)),
670ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(span)),
672ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(value)),
692ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
699ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
706ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
713ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
735ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
737ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)),
743ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(span)),
745ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(value)),
828ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
835ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
842ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
849ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
875ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
883ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
911ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
920ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
939ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
949ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
996ref byte valuesRef = ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(values));
999ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1009ref short valuesRef = ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(values));
1012ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1025ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(span)),
1027ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(values)),
1137ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1144ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1151ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
1158ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
1184ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1192ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1220ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1229ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1248ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1258ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1306ref byte valuesRef = ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(values));
1309ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1319ref short valuesRef = ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(values));
1322ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1335ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(span)),
1337ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(values)),
1401ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1410ref Unsafe.As<T, ushort>(ref MemoryMarshal.GetReference(span)),
1419ref Unsafe.As<T, uint>(ref MemoryMarshal.GetReference(span)),
1428ref Unsafe.As<T, ulong>(ref MemoryMarshal.GetReference(span)),
1467ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1476ref Unsafe.As<T, ushort>(ref MemoryMarshal.GetReference(span)),
1485ref Unsafe.As<T, uint>(ref MemoryMarshal.GetReference(span)),
1494ref Unsafe.As<T, ulong>(ref MemoryMarshal.GetReference(span)),
1533ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1542ref Unsafe.As<T, ushort>(ref MemoryMarshal.GetReference(span)),
1551ref Unsafe.As<T, uint>(ref MemoryMarshal.GetReference(span)),
1560ref Unsafe.As<T, ulong>(ref MemoryMarshal.GetReference(span)),
1599ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1608ref Unsafe.As<T, ushort>(ref MemoryMarshal.GetReference(span)),
1617ref Unsafe.As<T, uint>(ref MemoryMarshal.GetReference(span)),
1626ref Unsafe.As<T, ulong>(ref MemoryMarshal.GetReference(span)),
1658ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1659ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(other)),
1677ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1679ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(other)),
1684ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(span)),
1686ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(other)),
1704ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1710ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1716ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
1722ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
1742ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1744ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)),
1749ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(span)),
1751ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(value)),
1771ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1778ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1785ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
1792ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
1814ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1816ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)),
1822ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(span)),
1824ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(value)),
1846ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1854ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1879ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1888ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1940ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1948ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
1973ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
1982ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
2005ref byte spanRef = ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span));
2006ref byte valueRef = ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(values));
2053ref short spanRef = ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span));
2054ref short valueRef = ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(values));
2098return ProbabilisticMap.IndexOfAny(ref Unsafe.As<short, char>(ref spanRef), span.Length, ref Unsafe.As<short, char>(ref valueRef), values.Length);
2152ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2160ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
2185ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2194ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
2237ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2245ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
2270ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2279ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
2302ref byte spanRef = ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span));
2303ref byte valueRef = ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(values));
2350ref short spanRef = ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span));
2351ref short valueRef = ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(values));
2395return ProbabilisticMap.LastIndexOfAny(ref Unsafe.As<short, char>(ref spanRef), span.Length, ref Unsafe.As<short, char>(ref valueRef), values.Length);
2433ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2434ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(other)),
2474ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2475ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(other)),
2517ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2519ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(other)),
2524ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(span)),
2526ref Unsafe.As<T, char>(ref MemoryMarshal.GetReference(other)),
2544ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2545ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)),
2564ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
2565ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)),
2585ref Unsafe.As<T, byte>(ref Unsafe.Add(ref MemoryMarshal.GetReference(span), (nint)(uint)(spanLength - valueLength) /* force zero-extension */)),
2586ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)),
2610ref Unsafe.As<T, byte>(ref Unsafe.Add(ref MemoryMarshal.GetReference(span), (nint)(uint)(spanLength - valueLength) /* force zero-extension */)),
2611ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(value)),
3381ref byte src = ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span));
3393ref ushort src = ref Unsafe.As<T, ushort>(ref MemoryMarshal.GetReference(span));
3404ref int src = ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span));
3415ref long src = ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span));
3470ref Unsafe.As<T, byte>(ref src),
3471ref Unsafe.As<T, byte>(ref dst),
3481ref Unsafe.As<T, ushort>(ref src),
3482ref Unsafe.As<T, ushort>(ref dst),
3491ref Unsafe.As<T, int>(ref src),
3492ref Unsafe.As<T, int>(ref dst),
3501ref Unsafe.As<T, long>(ref src),
3502ref Unsafe.As<T, long>(ref dst),
3542ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
3543ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(other)),
3978ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(span)),
3985ref Unsafe.As<T, short>(ref MemoryMarshal.GetReference(span)),
3992ref Unsafe.As<T, int>(ref MemoryMarshal.GetReference(span)),
3999ref Unsafe.As<T, long>(ref MemoryMarshal.GetReference(span)),
src\libraries\System.Private.CoreLib\src\System\Numerics\VectorDebugView_1.cs (11)
33Unsafe.WriteUnaligned(ref Unsafe.As<double, byte>(ref items[0]), _value);
43Unsafe.WriteUnaligned(ref Unsafe.As<short, byte>(ref items[0]), _value);
53Unsafe.WriteUnaligned(ref Unsafe.As<int, byte>(ref items[0]), _value);
63Unsafe.WriteUnaligned(ref Unsafe.As<long, byte>(ref items[0]), _value);
73Unsafe.WriteUnaligned(ref Unsafe.As<nint, byte>(ref items[0]), _value);
83Unsafe.WriteUnaligned(ref Unsafe.As<nuint, byte>(ref items[0]), _value);
93Unsafe.WriteUnaligned(ref Unsafe.As<sbyte, byte>(ref items[0]), _value);
103Unsafe.WriteUnaligned(ref Unsafe.As<float, byte>(ref items[0]), _value);
113Unsafe.WriteUnaligned(ref Unsafe.As<ushort, byte>(ref items[0]), _value);
123Unsafe.WriteUnaligned(ref Unsafe.As<uint, byte>(ref items[0]), _value);
133Unsafe.WriteUnaligned(ref Unsafe.As<ulong, byte>(ref items[0]), _value);
src\libraries\System.Private.CoreLib\src\System\Reflection\FieldAccessor.cs (15)
126return Volatile.Read(ref Unsafe.As<byte, object>(ref Unsafe.AddByteOffset(ref obj.GetRawData(), _addressOrOffset)));
143(void*)Unsafe.As<byte, IntPtr>(ref Unsafe.AddByteOffset(ref obj.GetRawData(), _addressOrOffset)),
147return Volatile.Read(ref Unsafe.As<IntPtr, object>(ref *(IntPtr*)_addressOrOffset));
160ref Unsafe.As<IntPtr, object>(ref *(IntPtr*)_addressOrOffset).GetRawData());
218ref Unsafe.As<byte, object?>(ref Unsafe.AddByteOffset(ref obj.GetRawData(), _addressOrOffset)),
234ref Unsafe.As<byte, short>(ref Unsafe.AddByteOffset(ref obj.GetRawData(), _addressOrOffset)),
235Unsafe.As<byte, short>(ref value!.GetRawData()));
242ref Unsafe.As<byte, int>(ref Unsafe.AddByteOffset(ref obj.GetRawData(), _addressOrOffset)),
243Unsafe.As<byte, int>(ref value!.GetRawData()));
250ref Unsafe.As<byte, long>(ref Unsafe.AddByteOffset(ref obj.GetRawData(), _addressOrOffset)),
251Unsafe.As<byte, long>(ref value!.GetRawData()));
256Volatile.Write(ref Unsafe.As<IntPtr, object?>(ref *(IntPtr*)_addressOrOffset), value);
270Unsafe.As<byte, short>(ref value!.GetRawData()));
277Unsafe.As<byte, int>(ref value!.GetRawData()));
284Unsafe.As<byte, long>(ref value!.GetRawData()));
src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\NFloat.cs (6)
698return NativeType.TryParse(s, out Unsafe.As<NFloat, NativeType>(ref result));
708return NativeType.TryParse(s, out Unsafe.As<NFloat, NativeType>(ref result));
718return NativeType.TryParse(utf8Text, out Unsafe.As<NFloat, NativeType>(ref result));
735return NativeType.TryParse(s, style, provider, out Unsafe.As<NFloat, NativeType>(ref result));
752return NativeType.TryParse(s, style, provider, out Unsafe.As<NFloat, NativeType>(ref result));
1924return NativeType.TryParse(utf8Text, style, provider, out Unsafe.As<NFloat, NativeType>(ref result));
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector128.cs (21)
105return Unsafe.As<Vector128<TFrom>, Vector128<TTo>>(ref vector);
227=> Unsafe.As<Plane, Vector128<float>>(ref value);
235=> Unsafe.As<Quaternion, Vector128<float>>(ref value);
259=> Unsafe.As<Vector4, Vector128<float>>(ref value);
273ref byte address = ref Unsafe.As<Vector<T>, byte>(ref value);
284ref byte address = ref Unsafe.As<Vector128<float>, byte>(ref value);
295ref byte address = ref Unsafe.As<Vector128<float>, byte>(ref value);
305=> Unsafe.As<Vector128<float>, Vector4>(ref value);
320Unsafe.WriteUnaligned(ref Unsafe.As<Vector<T>, byte>(ref result), value);
666Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination[0]), vector);
693Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination[startIndex]), vector);
710Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(destination)), vector);
842return Unsafe.ReadUnaligned<Vector128<T>>(ref Unsafe.As<T, byte>(ref values[0]));
863return Unsafe.ReadUnaligned<Vector128<T>>(ref Unsafe.As<T, byte>(ref values[index]));
880return Unsafe.ReadUnaligned<Vector128<T>>(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(values)));
1893LoadUnsafe(ref Unsafe.As<char, ushort>(ref source));
1901LoadUnsafe(ref Unsafe.As<char, ushort>(ref source), elementOffset);
2757ref byte address = ref Unsafe.As<T, byte>(ref Unsafe.Add(ref destination, elementOffset));
2771ref byte address = ref Unsafe.As<T, byte>(ref destination);
2788Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination), source);
2882Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(destination)), vector);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector128DebugView_1.cs (11)
32Unsafe.WriteUnaligned(ref Unsafe.As<double, byte>(ref items[0]), _value);
42Unsafe.WriteUnaligned(ref Unsafe.As<short, byte>(ref items[0]), _value);
52Unsafe.WriteUnaligned(ref Unsafe.As<int, byte>(ref items[0]), _value);
62Unsafe.WriteUnaligned(ref Unsafe.As<long, byte>(ref items[0]), _value);
72Unsafe.WriteUnaligned(ref Unsafe.As<nint, byte>(ref items[0]), _value);
82Unsafe.WriteUnaligned(ref Unsafe.As<nuint, byte>(ref items[0]), _value);
92Unsafe.WriteUnaligned(ref Unsafe.As<sbyte, byte>(ref items[0]), _value);
102Unsafe.WriteUnaligned(ref Unsafe.As<float, byte>(ref items[0]), _value);
112Unsafe.WriteUnaligned(ref Unsafe.As<ushort, byte>(ref items[0]), _value);
122Unsafe.WriteUnaligned(ref Unsafe.As<uint, byte>(ref items[0]), _value);
132Unsafe.WriteUnaligned(ref Unsafe.As<ulong, byte>(ref items[0]), _value);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector256.cs (14)
110return Unsafe.As<Vector256<TFrom>, Vector256<TTo>>(ref vector);
239Unsafe.WriteUnaligned(ref Unsafe.As<Vector256<T>, byte>(ref result), value);
255ref byte address = ref Unsafe.As<Vector256<T>, byte>(ref value);
575Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination[0]), vector);
602Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination[startIndex]), vector);
619Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(destination)), vector);
751return Unsafe.ReadUnaligned<Vector256<T>>(ref Unsafe.As<T, byte>(ref values[0]));
772return Unsafe.ReadUnaligned<Vector256<T>>(ref Unsafe.As<T, byte>(ref values[index]));
789return Unsafe.ReadUnaligned<Vector256<T>>(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(values)));
1871LoadUnsafe(ref Unsafe.As<char, ushort>(ref source));
1879LoadUnsafe(ref Unsafe.As<char, ushort>(ref source), elementOffset);
2706ref byte address = ref Unsafe.As<T, byte>(ref destination);
2723Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination), source);
2814Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(destination)), vector);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector256DebugView_1.cs (11)
32Unsafe.WriteUnaligned(ref Unsafe.As<double, byte>(ref items[0]), _value);
42Unsafe.WriteUnaligned(ref Unsafe.As<short, byte>(ref items[0]), _value);
52Unsafe.WriteUnaligned(ref Unsafe.As<int, byte>(ref items[0]), _value);
62Unsafe.WriteUnaligned(ref Unsafe.As<long, byte>(ref items[0]), _value);
72Unsafe.WriteUnaligned(ref Unsafe.As<nint, byte>(ref items[0]), _value);
82Unsafe.WriteUnaligned(ref Unsafe.As<nuint, byte>(ref items[0]), _value);
92Unsafe.WriteUnaligned(ref Unsafe.As<sbyte, byte>(ref items[0]), _value);
102Unsafe.WriteUnaligned(ref Unsafe.As<float, byte>(ref items[0]), _value);
112Unsafe.WriteUnaligned(ref Unsafe.As<ushort, byte>(ref items[0]), _value);
122Unsafe.WriteUnaligned(ref Unsafe.As<uint, byte>(ref items[0]), _value);
132Unsafe.WriteUnaligned(ref Unsafe.As<ulong, byte>(ref items[0]), _value);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector512.cs (14)
110return Unsafe.As<Vector512<TFrom>, Vector512<TTo>>(ref vector);
239Unsafe.WriteUnaligned(ref Unsafe.As<Vector512<T>, byte>(ref result), value);
255ref byte address = ref Unsafe.As<Vector512<T>, byte>(ref value);
503Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination[0]), vector);
529Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination[startIndex]), vector);
545Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(destination)), vector);
676return Unsafe.ReadUnaligned<Vector512<T>>(ref Unsafe.As<T, byte>(ref values[0]));
696return Unsafe.ReadUnaligned<Vector512<T>>(ref Unsafe.As<T, byte>(ref values[index]));
713return Unsafe.ReadUnaligned<Vector512<T>>(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(values)));
1918LoadUnsafe(ref Unsafe.As<char, ushort>(ref source));
1926LoadUnsafe(ref Unsafe.As<char, ushort>(ref source), elementOffset);
2752ref byte address = ref Unsafe.As<T, byte>(ref destination);
2769Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination), source);
2826Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(destination)), vector);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector512DebugView_1.cs (11)
32Unsafe.WriteUnaligned(ref Unsafe.As<double, byte>(ref items[0]), _value);
42Unsafe.WriteUnaligned(ref Unsafe.As<short, byte>(ref items[0]), _value);
52Unsafe.WriteUnaligned(ref Unsafe.As<int, byte>(ref items[0]), _value);
62Unsafe.WriteUnaligned(ref Unsafe.As<long, byte>(ref items[0]), _value);
72Unsafe.WriteUnaligned(ref Unsafe.As<nint, byte>(ref items[0]), _value);
82Unsafe.WriteUnaligned(ref Unsafe.As<nuint, byte>(ref items[0]), _value);
92Unsafe.WriteUnaligned(ref Unsafe.As<sbyte, byte>(ref items[0]), _value);
102Unsafe.WriteUnaligned(ref Unsafe.As<float, byte>(ref items[0]), _value);
112Unsafe.WriteUnaligned(ref Unsafe.As<ushort, byte>(ref items[0]), _value);
122Unsafe.WriteUnaligned(ref Unsafe.As<uint, byte>(ref items[0]), _value);
132Unsafe.WriteUnaligned(ref Unsafe.As<ulong, byte>(ref items[0]), _value);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector64.cs (10)
102return Unsafe.As<Vector64<TFrom>, Vector64<TTo>>(ref vector);
546Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination[0]), vector);
573Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination[startIndex]), vector);
590Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(destination)), vector);
723return Unsafe.ReadUnaligned<Vector64<T>>(ref Unsafe.As<T, byte>(ref values[0]));
744return Unsafe.ReadUnaligned<Vector64<T>>(ref Unsafe.As<T, byte>(ref values[index]));
761return Unsafe.ReadUnaligned<Vector64<T>>(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(values)));
2627ref byte address = ref Unsafe.As<T, byte>(ref destination);
2644Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref destination), source);
2738Unsafe.WriteUnaligned(ref Unsafe.As<T, byte>(ref MemoryMarshal.GetReference(destination)), vector);
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector64DebugView_1.cs (11)
32Unsafe.WriteUnaligned(ref Unsafe.As<double, byte>(ref items[0]), _value);
42Unsafe.WriteUnaligned(ref Unsafe.As<short, byte>(ref items[0]), _value);
52Unsafe.WriteUnaligned(ref Unsafe.As<int, byte>(ref items[0]), _value);
62Unsafe.WriteUnaligned(ref Unsafe.As<long, byte>(ref items[0]), _value);
72Unsafe.WriteUnaligned(ref Unsafe.As<nint, byte>(ref items[0]), _value);
82Unsafe.WriteUnaligned(ref Unsafe.As<nuint, byte>(ref items[0]), _value);
92Unsafe.WriteUnaligned(ref Unsafe.As<sbyte, byte>(ref items[0]), _value);
102Unsafe.WriteUnaligned(ref Unsafe.As<float, byte>(ref items[0]), _value);
112Unsafe.WriteUnaligned(ref Unsafe.As<ushort, byte>(ref items[0]), _value);
122Unsafe.WriteUnaligned(ref Unsafe.As<uint, byte>(ref items[0]), _value);
132Unsafe.WriteUnaligned(ref Unsafe.As<ulong, byte>(ref items[0]), _value);
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any1SearchValues.cs (4)
38SpanHelpers.NonPackedIndexOfValueType<TImpl, SpanHelpers.DontNegate<TImpl>>(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, span.Length);
42SpanHelpers.NonPackedIndexOfValueType<TImpl, SpanHelpers.Negate<TImpl>>(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, span.Length);
46SpanHelpers.LastIndexOfValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, span.Length);
50SpanHelpers.LastIndexOfAnyExceptValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, span.Length);
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any2SearchValues.cs (4)
38SpanHelpers.NonPackedIndexOfAnyValueType<TImpl, SpanHelpers.DontNegate<TImpl>>(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, span.Length);
42SpanHelpers.NonPackedIndexOfAnyValueType<TImpl, SpanHelpers.Negate<TImpl>>(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, span.Length);
46SpanHelpers.LastIndexOfAnyValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, span.Length);
50SpanHelpers.LastIndexOfAnyExceptValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, span.Length);
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any3SearchValues.cs (4)
38SpanHelpers.NonPackedIndexOfAnyValueType<TImpl, SpanHelpers.DontNegate<TImpl>>(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, span.Length);
42SpanHelpers.NonPackedIndexOfAnyValueType<TImpl, SpanHelpers.Negate<TImpl>>(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, span.Length);
46SpanHelpers.LastIndexOfAnyValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, span.Length);
50SpanHelpers.LastIndexOfAnyExceptValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, span.Length);
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any4SearchValues.cs (4)
41SpanHelpers.IndexOfAnyValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, _e3, span.Length);
45SpanHelpers.IndexOfAnyExceptValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, _e3, span.Length);
49SpanHelpers.LastIndexOfAnyValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, _e3, span.Length);
53SpanHelpers.LastIndexOfAnyExceptValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, _e3, span.Length);
src\libraries\System.Private.CoreLib\src\System\SearchValues\Any5SearchValues.cs (4)
42SpanHelpers.IndexOfAnyValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, _e3, _e4, span.Length);
46SpanHelpers.IndexOfAnyExceptValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, _e3, _e4, span.Length);
50SpanHelpers.LastIndexOfAnyValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, _e3, _e4, span.Length);
54SpanHelpers.LastIndexOfAnyExceptValueType(ref Unsafe.As<T, TImpl>(ref MemoryMarshal.GetReference(span)), _e0, _e1, _e2, _e3, _e4, span.Length);
src\libraries\System.Private.CoreLib\src\System\SearchValues\AsciiCharSearchValues.cs (6)
33ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)), span.Length, ref _state);
41ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)), span.Length, ref _state);
49ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)), span.Length, ref _state);
57ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)), span.Length, ref _state);
65ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)), span.Length, ref _state);
73ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)), span.Length, ref _state);
src\libraries\System.Private.CoreLib\src\System\SearchValues\IndexOfAnyAsciiSearcher.cs (4)
121TryIndexOfAny<DontNegate>(ref Unsafe.As<char, short>(ref searchSpace), searchSpaceLength, asciiValues, out index);
125TryIndexOfAny<Negate>(ref Unsafe.As<char, short>(ref searchSpace), searchSpaceLength, asciiValues, out index);
129TryLastIndexOfAny<DontNegate>(ref Unsafe.As<char, short>(ref searchSpace), searchSpaceLength, asciiValues, out index);
133TryLastIndexOfAny<Negate>(ref Unsafe.As<char, short>(ref searchSpace), searchSpaceLength, asciiValues, out index);
src\libraries\System.Private.CoreLib\src\System\SearchValues\ProbabilisticMap.cs (9)
82Unsafe.Add(ref Unsafe.As<uint, byte>(ref charMap), value & VectorizedIndexMask) |= (byte)(1u << (value >> VectorizedIndexShift));
92? (Unsafe.Add(ref Unsafe.As<uint, byte>(ref charMap), value & VectorizedIndexMask) & (1u << (value >> VectorizedIndexShift))) != 0
104ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(values)),
410Vector256<byte> charMap256 = Vector256.LoadUnsafe(ref Unsafe.As<ProbabilisticMap, byte>(ref state.Map));
495Vector128<byte> charMapLower = Vector128.LoadUnsafe(ref Unsafe.As<ProbabilisticMap, byte>(ref state.Map));
496Vector128<byte> charMapUpper = Vector128.LoadUnsafe(ref Unsafe.As<ProbabilisticMap, byte>(ref state.Map), (nuint)Vector128<byte>.Count);
585Vector256<byte> charMap256 = Vector256.LoadUnsafe(ref Unsafe.As<ProbabilisticMap, byte>(ref state.Map));
672Vector128<byte> charMapLower = Vector128.LoadUnsafe(ref Unsafe.As<ProbabilisticMap, byte>(ref state.Map));
673Vector128<byte> charMapUpper = Vector128.LoadUnsafe(ref Unsafe.As<ProbabilisticMap, byte>(ref state.Map), (nuint)Vector128<byte>.Count);
src\libraries\System.Private.CoreLib\src\System\SearchValues\ProbabilisticWithAsciiCharSearchValues.cs (6)
60ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)),
70ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)),
109ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)),
159ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)),
169ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)),
198ref Unsafe.As<char, short>(ref MemoryMarshal.GetReference(span)),
src\libraries\System.Private.CoreLib\src\System\SearchValues\RangeCharSearchValues.cs (6)
45ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(span)),
46Unsafe.As<char, ushort>(ref _lowInclusive),
47Unsafe.As<char, ushort>(ref _highInclusive),
55ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(span)),
56Unsafe.As<char, ushort>(ref _lowInclusive),
57Unsafe.As<char, ushort>(ref _highInclusive),
src\libraries\System.Private.CoreLib\src\System\SearchValues\Strings\SingleStringSearchValuesThreeChars.cs (12)
250Vector128<ushort> cmpCh2 = Vector128.Equals(ch2, Vector128.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch2ByteOffset).AsUInt16());
251Vector128<ushort> cmpCh3 = Vector128.Equals(ch3, Vector128.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch3ByteOffset).AsUInt16());
263Vector128<ushort> cmpCh2 = Vector128.Equals(ch2, Vector128.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch2ByteOffset).AsUInt16() & caseConversion);
264Vector128<ushort> cmpCh3 = Vector128.Equals(ch3, Vector128.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch3ByteOffset).AsUInt16() & caseConversion);
278Vector256<ushort> cmpCh2 = Vector256.Equals(ch2, Vector256.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch2ByteOffset).AsUInt16());
279Vector256<ushort> cmpCh3 = Vector256.Equals(ch3, Vector256.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch3ByteOffset).AsUInt16());
287Vector256<ushort> cmpCh2 = Vector256.Equals(ch2, Vector256.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch2ByteOffset).AsUInt16() & caseConversion);
288Vector256<ushort> cmpCh3 = Vector256.Equals(ch3, Vector256.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch3ByteOffset).AsUInt16() & caseConversion);
301Vector512<ushort> cmpCh2 = Vector512.Equals(ch2, Vector512.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch2ByteOffset).AsUInt16());
302Vector512<ushort> cmpCh3 = Vector512.Equals(ch3, Vector512.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch3ByteOffset).AsUInt16());
310Vector512<ushort> cmpCh2 = Vector512.Equals(ch2, Vector512.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch2ByteOffset).AsUInt16() & caseConversion);
311Vector512<ushort> cmpCh3 = Vector512.Equals(ch3, Vector512.LoadUnsafe(ref Unsafe.As<char, byte>(ref searchSpace), ch3ByteOffset).AsUInt16() & caseConversion);
src\libraries\System.Private.CoreLib\src\System\SpanHelpers.Char.cs (30)
37ref byte valueTail = ref Unsafe.As<char, byte>(ref Unsafe.Add(ref value, 1));
56ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, offset + 1)),
122ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, offset + charPos)),
123ref Unsafe.As<char, byte>(ref value), (nuint)(uint)valueLength * 2))
187ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, offset + charPos)),
188ref Unsafe.As<char, byte>(ref value), (nuint)(uint)valueLength * 2))
249ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, offset + charPos)),
250ref Unsafe.As<char, byte>(ref value), (nuint)(uint)valueLength * 2))
274return LastIndexOfValueType(ref Unsafe.As<char, short>(ref searchSpace), (short)value, searchSpaceLength); // for single-char values use plain LastIndexOf
284ref byte valueTail = ref Unsafe.As<char, byte>(ref Unsafe.Add(ref value, 1));
294int relativeIndex = LastIndexOfValueType(ref Unsafe.As<char, short>(ref searchSpace), (short)valueHead, remainingSearchSpaceLength);
300ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, relativeIndex + 1)),
346ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, offset + charPos)),
347ref Unsafe.As<char, byte>(ref value), (nuint)(uint)valueLength * 2))
396ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, offset + charPos)),
397ref Unsafe.As<char, byte>(ref value), (nuint)(uint)valueLength * 2))
446ref Unsafe.As<char, byte>(ref Unsafe.Add(ref searchSpace, offset + charPos)),
447ref Unsafe.As<char, byte>(ref value), (nuint)(uint)valueLength * 2))
485if (Unsafe.ReadUnaligned<Vector<ushort>>(ref Unsafe.As<char, byte>(ref Unsafe.Add(ref first, (nint)i))) !=
486Unsafe.ReadUnaligned<Vector<ushort>>(ref Unsafe.As<char, byte>(ref Unsafe.Add(ref second, (nint)i))))
497if (Unsafe.ReadUnaligned<nuint>(ref Unsafe.As<char, byte>(ref Unsafe.Add(ref first, (nint)i))) !=
498Unsafe.ReadUnaligned<nuint>(ref Unsafe.As<char, byte>(ref Unsafe.Add(ref second, (nint)i))))
509if (Unsafe.ReadUnaligned<int>(ref Unsafe.As<char, byte>(ref Unsafe.Add(ref first, (nint)i))) ==
510Unsafe.ReadUnaligned<int>(ref Unsafe.As<char, byte>(ref Unsafe.Add(ref second, (nint)i))))
899ref ushort first = ref Unsafe.As<char, ushort>(ref Unsafe.Add(ref buf, offset));
900ref ushort last = ref Unsafe.As<char, ushort>(ref Unsafe.Add(ref buf, lastOffset));
938ref byte first = ref Unsafe.As<char, byte>(ref Unsafe.Add(ref buf, offset));
939ref byte last = ref Unsafe.As<char, byte>(ref Unsafe.Add(ref buf, lastOffset));
977ref ushort first = ref Unsafe.As<char, ushort>(ref Unsafe.Add(ref buf, offset));
978ref ushort last = ref Unsafe.As<char, ushort>(ref Unsafe.Add(ref buf, lastOffset));
src\libraries\System.Private.CoreLib\src\System\SpanHelpers.Packed.cs (12)
36IndexOf<SpanHelpers.DontNegate<short>, NopTransform>(ref Unsafe.As<char, short>(ref searchSpace), (short)value, length);
41IndexOf<SpanHelpers.Negate<short>, NopTransform>(ref Unsafe.As<char, short>(ref searchSpace), (short)value, length);
46IndexOfAny<SpanHelpers.DontNegate<short>, NopTransform>(ref Unsafe.As<char, short>(ref searchSpace), (short)value0, (short)value1, length);
51IndexOfAny<SpanHelpers.Negate<short>, NopTransform>(ref Unsafe.As<char, short>(ref searchSpace), (short)value0, (short)value1, length);
56IndexOfAny<SpanHelpers.DontNegate<short>>(ref Unsafe.As<char, short>(ref searchSpace), (short)value0, (short)value1, (short)value2, length);
61IndexOfAny<SpanHelpers.Negate<short>>(ref Unsafe.As<char, short>(ref searchSpace), (short)value0, (short)value1, (short)value2, length);
69return IndexOf<SpanHelpers.DontNegate<short>, Or20Transform>(ref Unsafe.As<char, short>(ref searchSpace), (short)value, length);
78return IndexOf<SpanHelpers.Negate<short>, Or20Transform>(ref Unsafe.As<char, short>(ref searchSpace), (short)value, length);
88return IndexOfAny<SpanHelpers.DontNegate<short>, Or20Transform>(ref Unsafe.As<char, short>(ref searchSpace), (short)value0, (short)value1, length);
98return IndexOfAny<SpanHelpers.Negate<short>, Or20Transform>(ref Unsafe.As<char, short>(ref searchSpace), (short)value0, (short)value1, length);
104IndexOfAnyInRange<SpanHelpers.DontNegate<short>>(ref Unsafe.As<char, short>(ref searchSpace), (short)lowInclusive, (short)rangeInclusive, length);
109IndexOfAnyInRange<SpanHelpers.Negate<short>>(ref Unsafe.As<char, short>(ref searchSpace), (short)lowInclusive, (short)rangeInclusive, length);
src\libraries\System.Private.CoreLib\src\System\SpanHelpers.T.cs (20)
39vector = new Vector<byte>(Unsafe.As<T, byte>(ref tmp));
43vector = (Vector<byte>)(new Vector<ushort>(Unsafe.As<T, ushort>(ref tmp)));
50: (Vector<byte>)(new Vector<uint>(Unsafe.As<T, uint>(ref tmp)));
57: (Vector<byte>)(new Vector<ulong>(Unsafe.As<T, ulong>(ref tmp)));
61Vector128<byte> vec128 = Unsafe.As<T, Vector128<byte>>(ref tmp);
80vector = Unsafe.As<T, Vector256<byte>>(ref tmp).AsVector();
94ref byte refDataAsBytes = ref Unsafe.As<T, byte>(ref refData);
1310return PackedSpanHelpers.Contains(ref Unsafe.As<T, short>(ref searchSpace), Unsafe.BitCast<T, short>(value), length);
1465=> IndexOfValueType(ref Unsafe.As<char, short>(ref searchSpace), (short)value, length);
1469NonPackedIndexOfValueType<short, DontNegate<short>>(ref Unsafe.As<char, short>(ref searchSpace), (short)value, length);
1487? PackedSpanHelpers.IndexOf(ref Unsafe.As<TValue, char>(ref searchSpace), Unsafe.BitCast<TValue, char>(value), length)
1488: PackedSpanHelpers.IndexOfAnyExcept(ref Unsafe.As<TValue, char>(ref searchSpace), Unsafe.BitCast<TValue, char>(value), length);
1656=> IndexOfAnyValueType(ref Unsafe.As<char, short>(ref searchSpace), (short)value0, (short)value1, length);
1686? PackedSpanHelpers.IndexOfAnyIgnoreCase(ref Unsafe.As<TValue, char>(ref searchSpace), lowerCase, length)
1687: PackedSpanHelpers.IndexOfAnyExceptIgnoreCase(ref Unsafe.As<TValue, char>(ref searchSpace), lowerCase, length);
1692? PackedSpanHelpers.IndexOfAny(ref Unsafe.As<TValue, char>(ref searchSpace), char0, char1, length)
1693: PackedSpanHelpers.IndexOfAnyExcept(ref Unsafe.As<TValue, char>(ref searchSpace), char0, char1, length);
1900? PackedSpanHelpers.IndexOfAny(ref Unsafe.As<TValue, char>(ref searchSpace), Unsafe.BitCast<TValue, char>(value0), Unsafe.BitCast<TValue, char>(value1), Unsafe.BitCast<TValue, char>(value2), length)
1901: PackedSpanHelpers.IndexOfAnyExcept(ref Unsafe.As<TValue, char>(ref searchSpace), Unsafe.BitCast<TValue, char>(value0), Unsafe.BitCast<TValue, char>(value1), Unsafe.BitCast<TValue, char>(value2), length);
3483ref char charSearchSpace = ref Unsafe.As<T, char>(ref searchSpace);
src\libraries\System.Private.CoreLib\src\System\String.Comparison.cs (6)
29ref Unsafe.As<char, byte>(ref strA.GetRawStringData()),
30ref Unsafe.As<char, byte>(ref strB.GetRawStringData()),
757return Marvin.ComputeHash32(ref Unsafe.As<char, byte>(ref _firstChar), (uint)_stringLength * 2 /* in bytes, not chars */, (uint)seed, (uint)(seed >> 32));
778return Marvin.ComputeHash32(ref Unsafe.As<char, byte>(ref MemoryMarshal.GetReference(value)), (uint)value.Length * 2 /* in bytes, not chars */, (uint)seed, (uint)(seed >> 32));
986ref Unsafe.As<char, byte>(ref this.GetRawStringData()),
987ref Unsafe.As<char, byte>(ref value.GetRawStringData()),
src\libraries\System.Private.CoreLib\src\System\String.Searching.cs (3)
37=> SpanHelpers.ContainsValueType(ref Unsafe.As<char, short>(ref _firstChar), (short)value, Length);
294=> SpanHelpers.LastIndexOfValueType(ref Unsafe.As<char, short>(ref _firstChar), (short)value, Length);
319int result = SpanHelpers.LastIndexOfValueType(ref Unsafe.As<char, short>(ref Unsafe.Add(ref _firstChar, startSearchAt)), (short)value, count);
src\libraries\System.Private.CoreLib\src\System\Text\Ascii.cs (7)
32IsValidCore(ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(value)), value.Length);
62Unsafe.ReadUnaligned<uint>(ref Unsafe.As<T, byte>(ref searchSpace)) |
63Unsafe.ReadUnaligned<uint>(ref Unsafe.As<T, byte>(ref Unsafe.Add(ref searchSpace, length - sizeof(uint)))));
90Unsafe.ReadUnaligned<ulong>(ref Unsafe.As<T, byte>(ref Unsafe.Add(ref searchSpace, i))) |
91Unsafe.ReadUnaligned<ulong>(ref Unsafe.As<T, byte>(ref Unsafe.Add(ref searchSpace, i + elementsPerUlong)))))
102Unsafe.ReadUnaligned<ulong>(ref Unsafe.As<T, byte>(ref Unsafe.Add(ref searchSpace, i))) |
103Unsafe.ReadUnaligned<ulong>(ref Unsafe.Subtract(ref Unsafe.As<T, byte>(ref Unsafe.Add(ref searchSpace, length)), sizeof(ulong))));
src\libraries\System.Private.CoreLib\src\System\Text\Ascii.Equality.cs (8)
30&& Equals<byte, ushort, WideningLoader>(ref MemoryMarshal.GetReference(left), ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(right)), (uint)right.Length);
39&& Equals<ushort, ushort, PlainLoader<ushort>>(ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(left)), ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(right)), (uint)right.Length);
181&& EqualsIgnoreCase<byte, ushort, WideningLoader>(ref MemoryMarshal.GetReference(left), ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(right)), (uint)right.Length);
190&& EqualsIgnoreCase<ushort, ushort, PlainLoader<ushort>>(ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(left)), ref Unsafe.As<char, ushort>(ref MemoryMarshal.GetReference(right)), (uint)right.Length);
193EqualsIgnoreCase<ushort, ushort, PlainLoader<ushort>>(ref Unsafe.As<char, ushort>(ref left), ref Unsafe.As<char, ushort>(ref right), length);
src\libraries\System.Private.CoreLib\src\System\Threading\Interlocked.cs (24)
40(uint)Add(ref Unsafe.As<uint, int>(ref location), -1);
49(ulong)Add(ref Unsafe.As<ulong, long>(ref location), -1);
62(sbyte)Exchange(ref Unsafe.As<sbyte, byte>(ref location1), (byte)value);
72(short)Exchange(ref Unsafe.As<short, ushort>(ref location1), (ushort)value);
160(uint)Exchange(ref Unsafe.As<uint, int>(ref location1), (int)value);
171(ulong)Exchange(ref Unsafe.As<ulong, long>(ref location1), (long)value);
180=> Unsafe.BitCast<int, float>(Exchange(ref Unsafe.As<float, int>(ref location1), Unsafe.BitCast<float, int>(value)));
189=> Unsafe.BitCast<long, double>(Exchange(ref Unsafe.As<double, long>(ref location1), Unsafe.BitCast<double, long>(value)));
202return (IntPtr)Interlocked.Exchange(ref Unsafe.As<IntPtr, long>(ref location1), (long)value);
220return (UIntPtr)Interlocked.Exchange(ref Unsafe.As<UIntPtr, long>(ref location1), (long)value);
238(sbyte)CompareExchange(ref Unsafe.As<sbyte, byte>(ref location1), (byte)value, (byte)comparand);
249(short)CompareExchange(ref Unsafe.As<short, ushort>(ref location1), (ushort)value, (ushort)comparand);
346(uint)CompareExchange(ref Unsafe.As<uint, int>(ref location1), (int)value, (int)comparand);
358(ulong)CompareExchange(ref Unsafe.As<ulong, long>(ref location1), (long)value, (long)comparand);
368=> Unsafe.BitCast<int, float>(CompareExchange(ref Unsafe.As<float, int>(ref location1), Unsafe.BitCast<float, int>(value), Unsafe.BitCast<float, int>(comparand)));
378=> Unsafe.BitCast<long, double>(CompareExchange(ref Unsafe.As<double, long>(ref location1), Unsafe.BitCast<double, long>(value), Unsafe.BitCast<double, long>(comparand)));
392return (IntPtr)Interlocked.CompareExchange(ref Unsafe.As<IntPtr, long>(ref location1), (long)value, (long)comparand);
411return (UIntPtr)Interlocked.CompareExchange(ref Unsafe.As<UIntPtr, long>(ref location1), (long)value, (long)comparand);
427(uint)Add(ref Unsafe.As<uint, int>(ref location1), (int)value);
437(ulong)Add(ref Unsafe.As<ulong, long>(ref location1), (long)value);
481(uint)And(ref Unsafe.As<uint, int>(ref location1), (int)value);
513(ulong)And(ref Unsafe.As<ulong, long>(ref location1), (long)value);
547(uint)Or(ref Unsafe.As<uint, int>(ref location1), (int)value);
579(ulong)Or(ref Unsafe.As<ulong, long>(ref location1), (long)value);
src\libraries\System.Private.CoreLib\src\System\Threading\Volatile.cs (14)
27Unsafe.As<bool, VolatileBoolean>(ref location).Value = value;
41Unsafe.As<byte, VolatileByte>(ref location).Value = value;
56Write(ref Unsafe.As<double, long>(ref location), BitConverter.DoubleToInt64Bits(value));
70Unsafe.As<short, VolatileInt16>(ref location).Value = value;
84Unsafe.As<int, VolatileInt32>(ref location).Value = value;
102Unsafe.As<long, VolatileIntPtr>(ref location).Value = (nint)value;
120Unsafe.As<IntPtr, VolatileIntPtr>(ref location).Value = value;
136Unsafe.As<sbyte, VolatileSByte>(ref location).Value = value;
150Unsafe.As<float, VolatileSingle>(ref location).Value = value;
166Unsafe.As<ushort, VolatileUInt16>(ref location).Value = value;
182Unsafe.As<uint, VolatileUInt32>(ref location).Value = value;
196Write(ref Unsafe.As<ulong, long>(ref location), (long)value);
212Unsafe.As<UIntPtr, VolatileUIntPtr>(ref location).Value = value;
227Unsafe.As<T, VolatileObject>(ref location).Value = value;
src\libraries\System.Private.CoreLib\src\System\UIntPtr.cs (9)
224return nuint_t.TryParse(s, out Unsafe.As<nuint, nuint_t>(ref result));
235return nuint_t.TryParse(s, provider, out Unsafe.As<nuint, nuint_t>(ref result));
241return nuint_t.TryParse(s, style, provider, out Unsafe.As<nuint, nuint_t>(ref result));
247return nuint_t.TryParse(s, out Unsafe.As<nuint, nuint_t>(ref result));
257return nuint_t.TryParse(utf8Text, out Unsafe.As<nuint, nuint_t>(ref result));
264return nuint_t.TryParse(s, provider, out Unsafe.As<nuint, nuint_t>(ref result));
270return nuint_t.TryParse(s, style, provider, out Unsafe.As<nuint, nuint_t>(ref result));
1237return nuint_t.TryParse(utf8Text, style, provider, out Unsafe.As<nuint, nuint_t>(ref result));
1247return nuint_t.TryParse(utf8Text, provider, out Unsafe.As<nuint, nuint_t>(ref result));
src\System\Array.CoreCLR.cs (63)
161ref object? srcData = ref Unsafe.Add(ref Unsafe.As<byte, object?>(ref MemoryMarshal.GetArrayDataReference(sourceArray)), sourceIndex);
205ref object? destData = ref Unsafe.Add(ref Unsafe.As<byte, object?>(ref MemoryMarshal.GetArrayDataReference(destinationArray)), destinationIndex);
219ref object? srcData = ref Unsafe.Add(ref Unsafe.As<byte, object?>(ref MemoryMarshal.GetArrayDataReference(sourceArray)), sourceIndex);
220ref object? destData = ref Unsafe.Add(ref Unsafe.As<byte, object?>(ref MemoryMarshal.GetArrayDataReference(destinationArray)), destinationIndex);
260Unsafe.As<byte, ushort>(ref destElement) = srcElement; break;
263Unsafe.As<byte, uint>(ref destElement) = srcElement; break;
266Unsafe.As<byte, ulong>(ref destElement) = srcElement; break;
268Unsafe.As<byte, float>(ref destElement) = srcElement; break;
270Unsafe.As<byte, double>(ref destElement) = srcElement; break;
280Unsafe.As<byte, short>(ref destElement) = Unsafe.As<byte, sbyte>(ref srcElement); break;
282Unsafe.As<byte, int>(ref destElement) = Unsafe.As<byte, sbyte>(ref srcElement); break;
284Unsafe.As<byte, long>(ref destElement) = Unsafe.As<byte, sbyte>(ref srcElement); break;
286Unsafe.As<byte, float>(ref destElement) = Unsafe.As<byte, sbyte>(ref srcElement); break;
288Unsafe.As<byte, double>(ref destElement) = Unsafe.As<byte, sbyte>(ref srcElement); break;
301Unsafe.As<byte, ushort>(ref destElement) = Unsafe.As<byte, ushort>(ref srcElement); break;
304Unsafe.As<byte, uint>(ref destElement) = Unsafe.As<byte, ushort>(ref srcElement); break;
307Unsafe.As<byte, ulong>(ref destElement) = Unsafe.As<byte, ushort>(ref srcElement); break;
309Unsafe.As<byte, float>(ref destElement) = Unsafe.As<byte, ushort>(ref srcElement); break;
311Unsafe.As<byte, double>(ref destElement) = Unsafe.As<byte, ushort>(ref srcElement); break;
321Unsafe.As<byte, int>(ref destElement) = Unsafe.As<byte, short>(ref srcElement); break;
323Unsafe.As<byte, long>(ref destElement) = Unsafe.As<byte, short>(ref srcElement); break;
325Unsafe.As<byte, float>(ref destElement) = Unsafe.As<byte, short>(ref srcElement); break;
327Unsafe.As<byte, double>(ref destElement) = Unsafe.As<byte, short>(ref srcElement); break;
338Unsafe.As<byte, ulong>(ref destElement) = Unsafe.As<byte, uint>(ref srcElement); break;
340Unsafe.As<byte, float>(ref destElement) = Unsafe.As<byte, uint>(ref srcElement); break;
342Unsafe.As<byte, double>(ref destElement) = Unsafe.As<byte, uint>(ref srcElement); break;
352Unsafe.As<byte, long>(ref destElement) = Unsafe.As<byte, int>(ref srcElement); break;
354Unsafe.As<byte, float>(ref destElement) = Unsafe.As<byte, int>(ref srcElement); break;
356Unsafe.As<byte, double>(ref destElement) = Unsafe.As<byte, int>(ref srcElement); break;
366Unsafe.As<byte, float>(ref destElement) = Unsafe.As<byte, ulong>(ref srcElement); break;
368Unsafe.As<byte, double>(ref destElement) = Unsafe.As<byte, ulong>(ref srcElement); break;
378Unsafe.As<byte, float>(ref destElement) = Unsafe.As<byte, long>(ref srcElement); break;
380Unsafe.As<byte, double>(ref destElement) = Unsafe.As<byte, long>(ref srcElement); break;
388Unsafe.As<byte, double>(ref destElement) = Unsafe.As<byte, float>(ref srcElement); break;
427SpanHelpers.ClearWithReferences(ref Unsafe.As<byte, IntPtr>(ref pStart), totalByteLength / (nuint)sizeof(IntPtr));
448lowerBound = Unsafe.Add(ref Unsafe.As<byte, int>(ref p), rank);
463SpanHelpers.ClearWithReferences(ref Unsafe.As<byte, IntPtr>(ref ptr), byteLength / (uint)sizeof(IntPtr));
546ref object elementRef = ref Unsafe.As<byte, object>(ref arrayDataRef);