using System;
using System.Diagnostics;
namespace Unity.Burst.Intrinsics
{
public unsafe static partial class Arm
{
public unsafe partial class Neon
{
///
/// Evaluates to true at compile time if Armv8.1 Crypto intrinsics (AES, SHA1, SHA2, CRC32) are supported.
///
public static bool IsNeonCryptoSupported { get { return false; } }
/// SHA1 hash update (choose).
///
Equivalent instruction: SHA1C Qd,Sn,Vm.4S
/// 128-bit vector a0
/// UInt32 a1
/// 128-bit vector a2
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha1cq_u32(v128 a0, UInt32 a1, v128 a2)
{
throw new NotImplementedException();
}
/// SHA1 hash update (parity).
///
Equivalent instruction: SHA1P Qd,Sn,Vm.4S
/// 128-bit vector a0
/// UInt32 a1
/// 128-bit vector a2
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha1pq_u32(v128 a0, UInt32 a1, v128 a2)
{
throw new NotImplementedException();
}
/// SHA1 hash update (majority).
///
Equivalent instruction: SHA1M Qd,Sn,Vm.4S
/// 128-bit vector a0
/// UInt32 a1
/// 128-bit vector a2
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha1mq_u32(v128 a0, UInt32 a1, v128 a2)
{
throw new NotImplementedException();
}
/// SHA1 fixed rotate.
///
Equivalent instruction: SHA1H Sd,Sn
/// UInt32 a0
/// UInt32
[DebuggerStepThrough]
public static UInt32 vsha1h_u32(UInt32 a0)
{
throw new NotImplementedException();
}
/// SHA1 schedule update 0.
///
Equivalent instruction: SHA1SU0 Vd.4S,Vn.4S,Vm.4S
/// 128-bit vector a0
/// 128-bit vector a1
/// 128-bit vector a2
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha1su0q_u32(v128 a0, v128 a1, v128 a2)
{
throw new NotImplementedException();
}
/// SHA1 schedule update 1.
///
Equivalent instruction: SHA1SU1 Vd.4S,Vn.4S
/// 128-bit vector a0
/// 128-bit vector a1
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha1su1q_u32(v128 a0, v128 a1)
{
throw new NotImplementedException();
}
/// SHA256 hash update (part 1).
///
Equivalent instruction: SHA256H Qd,Qn,Vm.4S
/// 128-bit vector a0
/// 128-bit vector a1
/// 128-bit vector a2
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha256hq_u32(v128 a0, v128 a1, v128 a2)
{
throw new NotImplementedException();
}
/// SHA256 hash update (part 2).
///
Equivalent instruction: SHA256H2 Qd,Qn,Vm.4S
/// 128-bit vector a0
/// 128-bit vector a1
/// 128-bit vector a2
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha256h2q_u32(v128 a0, v128 a1, v128 a2)
{
throw new NotImplementedException();
}
/// SHA256 schedule update 0.
///
Equivalent instruction: SHA256SU0 Vd.4S,Vn.4S
/// 128-bit vector a0
/// 128-bit vector a1
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha256su0q_u32(v128 a0, v128 a1)
{
throw new NotImplementedException();
}
/// SHA256 schedule update 1.
///
Equivalent instruction: SHA256SU1 Vd.4S,Vn.4S,Vm.4S
/// 128-bit vector a0
/// 128-bit vector a1
/// 128-bit vector a2
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vsha256su1q_u32(v128 a0, v128 a1, v128 a2)
{
throw new NotImplementedException();
}
/// CRC32 checksum performs a cyclic redundancy check (CRC) calculation on a value held in a general-purpose register. It takes an input CRC value in the first source operand, performs a CRC on the input value in the second source operand, and returns the output CRC value. The second source operand can be 8, 16, 32, or 64 bits. To align with common usage, the bit order of the values is reversed as part of the operation, and the polynomial 0x04C11DB7 is used for the CRC calculation.
///
Equivalent instruction: CRC32B Wd,Wn,Wm
/// UInt32 a0
/// Byte a1
/// UInt32
[DebuggerStepThrough]
public static UInt32 __crc32b(UInt32 a0, Byte a1)
{
throw new NotImplementedException();
}
/// CRC32 checksum performs a cyclic redundancy check (CRC) calculation on a value held in a general-purpose register. It takes an input CRC value in the first source operand, performs a CRC on the input value in the second source operand, and returns the output CRC value. The second source operand can be 8, 16, 32, or 64 bits. To align with common usage, the bit order of the values is reversed as part of the operation, and the polynomial 0x04C11DB7 is used for the CRC calculation.
///
Equivalent instruction: CRC32H Wd,Wn,Wm
/// UInt32 a0
/// UInt16 a1
/// UInt32
[DebuggerStepThrough]
public static UInt32 __crc32h(UInt32 a0, UInt16 a1)
{
throw new NotImplementedException();
}
/// CRC32 checksum performs a cyclic redundancy check (CRC) calculation on a value held in a general-purpose register. It takes an input CRC value in the first source operand, performs a CRC on the input value in the second source operand, and returns the output CRC value. The second source operand can be 8, 16, 32, or 64 bits. To align with common usage, the bit order of the values is reversed as part of the operation, and the polynomial 0x04C11DB7 is used for the CRC calculation.
///
Equivalent instruction: CRC32W Wd,Wn,Wm
/// UInt32 a0
/// UInt32 a1
/// UInt32
[DebuggerStepThrough]
public static UInt32 __crc32w(UInt32 a0, UInt32 a1)
{
throw new NotImplementedException();
}
/// CRC32 checksum performs a cyclic redundancy check (CRC) calculation on a value held in a general-purpose register. It takes an input CRC value in the first source operand, performs a CRC on the input value in the second source operand, and returns the output CRC value. The second source operand can be 8, 16, 32, or 64 bits. To align with common usage, the bit order of the values is reversed as part of the operation, and the polynomial 0x04C11DB7 is used for the CRC calculation.
///
Equivalent instruction: CRC32X Wd,Wn,Xm
/// UInt32 a0
/// UInt64 a1
/// UInt32
[DebuggerStepThrough]
public static UInt32 __crc32d(UInt32 a0, UInt64 a1)
{
throw new NotImplementedException();
}
/// CRC32 checksum performs a cyclic redundancy check (CRC) calculation on a value held in a general-purpose register. It takes an input CRC value in the first source operand, performs a CRC on the input value in the second source operand, and returns the output CRC value. The second source operand can be 8, 16, 32, or 64 bits. To align with common usage, the bit order of the values is reversed as part of the operation, and the polynomial 0x04C11DB7 is used for the CRC calculation.
///
Equivalent instruction: CRC32CB Wd,Wn,Wm
/// UInt32 a0
/// Byte a1
/// UInt32
[DebuggerStepThrough]
public static UInt32 __crc32cb(UInt32 a0, Byte a1)
{
throw new NotImplementedException();
}
/// CRC32 checksum performs a cyclic redundancy check (CRC) calculation on a value held in a general-purpose register. It takes an input CRC value in the first source operand, performs a CRC on the input value in the second source operand, and returns the output CRC value. The second source operand can be 8, 16, 32, or 64 bits. To align with common usage, the bit order of the values is reversed as part of the operation, and the polynomial 0x04C11DB7 is used for the CRC calculation.
///
Equivalent instruction: CRC32CH Wd,Wn,Wm
/// UInt32 a0
/// UInt16 a1
/// UInt32
[DebuggerStepThrough]
public static UInt32 __crc32ch(UInt32 a0, UInt16 a1)
{
throw new NotImplementedException();
}
/// CRC32 checksum performs a cyclic redundancy check (CRC) calculation on a value held in a general-purpose register. It takes an input CRC value in the first source operand, performs a CRC on the input value in the second source operand, and returns the output CRC value. The second source operand can be 8, 16, 32, or 64 bits. To align with common usage, the bit order of the values is reversed as part of the operation, and the polynomial 0x04C11DB7 is used for the CRC calculation.
///
Equivalent instruction: CRC32CW Wd,Wn,Wm
/// UInt32 a0
/// UInt32 a1
/// UInt32
[DebuggerStepThrough]
public static UInt32 __crc32cw(UInt32 a0, UInt32 a1)
{
throw new NotImplementedException();
}
/// CRC32 checksum performs a cyclic redundancy check (CRC) calculation on a value held in a general-purpose register. It takes an input CRC value in the first source operand, performs a CRC on the input value in the second source operand, and returns the output CRC value. The second source operand can be 8, 16, 32, or 64 bits. To align with common usage, the bit order of the values is reversed as part of the operation, and the polynomial 0x04C11DB7 is used for the CRC calculation.
///
Equivalent instruction: CRC32CX Wd,Wn,Xm
/// UInt32 a0
/// UInt64 a1
/// UInt32
[DebuggerStepThrough]
public static UInt32 __crc32cd(UInt32 a0, UInt64 a1)
{
throw new NotImplementedException();
}
/// AES single round encryption.
///
Equivalent instruction: AESE Vd.16B,Vn.16B
/// 128-bit vector a0
/// 128-bit vector a1
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vaeseq_u8(v128 a0, v128 a1)
{
throw new NotImplementedException();
}
/// AES single round decryption.
///
Equivalent instruction: AESD Vd.16B,Vn.16B
/// 128-bit vector a0
/// 128-bit vector a1
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vaesdq_u8(v128 a0, v128 a1)
{
throw new NotImplementedException();
}
/// AES mix columns.
///
Equivalent instruction: AESMC Vd.16B,Vn.16B
/// 128-bit vector a0
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vaesmcq_u8(v128 a0)
{
throw new NotImplementedException();
}
/// AES inverse mix columns.
///
Equivalent instruction: AESIMC Vd.16B,Vn.16B
/// 128-bit vector a0
/// 128-bit vector
[DebuggerStepThrough]
public static v128 vaesimcq_u8(v128 a0)
{
throw new NotImplementedException();
}
}
}
}