diff options
Diffstat (limited to 'crypto/src/runtime/intrinsics/Vector.cs')
-rw-r--r-- | crypto/src/runtime/intrinsics/Vector.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/crypto/src/runtime/intrinsics/Vector.cs b/crypto/src/runtime/intrinsics/Vector.cs new file mode 100644 index 000000000..eff52ef44 --- /dev/null +++ b/crypto/src/runtime/intrinsics/Vector.cs @@ -0,0 +1,24 @@ +#if NETCOREAPP3_0_OR_GREATER +using System; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +#endif + +namespace Org.BouncyCastle.Runtime.Intrinsics +{ + internal static class Vector + { +#if NETCOREAPP3_0_OR_GREATER + internal static bool IsPacked => + Unsafe.SizeOf<Vector64<byte>>() == 8 && + Unsafe.SizeOf<Vector128<byte>>() == 16 && + Unsafe.SizeOf<Vector256<byte>>() == 32; + + internal static bool IsPackedLittleEndian => IsPacked && BitConverter.IsLittleEndian; +#else + internal static bool IsPacked => false; + + internal static bool IsPackedLittleEndian => false; +#endif + } +} |