Edit

Share via


Avx10v1.TernaryLogic Method

Definition

Overloads

TernaryLogic(Vector256<Int16>, Vector256<Int16>, Vector256<Int16>, Byte)

__m256i _mm256_ternarylogic_si256 (__m256i a, __m256i b, __m256i c, short imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector256<Double>, Vector256<Double>, Vector256<Double>, Byte)

__m256d _mm256_ternarylogic_pd (__m256d a, __m256d b, __m256d c, int imm)

VPTERNLOGQ ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector256<Int32>, Vector256<Int32>, Vector256<Int32>, Byte)

__m256i _mm256_ternarylogic_epi32 (__m256i a, __m256i b, __m256i c, int imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256/m32bcst, imm8

TernaryLogic(Vector256<Byte>, Vector256<Byte>, Vector256<Byte>, Byte)

__m256i _mm256_ternarylogic_si256 (__m256i a, __m256i b, __m256i c, byte imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector256<SByte>, Vector256<SByte>, Vector256<SByte>, Byte)

__m256i _mm256_ternarylogic_si256 (__m256i a, __m256i b, __m256i c, byte imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector256<Single>, Vector256<Single>, Vector256<Single>, Byte)

__m256 _mm256_ternarylogic_ps (__m256 a, __m256 b, __m256 c, int imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256/m32bcst, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector256<UInt16>, Vector256<UInt16>, Vector256<UInt16>, Byte)

__m256i _mm256_ternarylogic_si256 (__m256i a, __m256i b, __m256i c, short imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector256<Int64>, Vector256<Int64>, Vector256<Int64>, Byte)

__m256i _mm256_ternarylogic_epi64 (__m256i a, __m256i b, __m256i c, int imm)

VPTERNLOGQ ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst, imm8

TernaryLogic(Vector128<UInt64>, Vector128<UInt64>, Vector128<UInt64>, Byte)

__m128i _mm_ternarylogic_epi64 (__m128i a, __m128i b, __m128i c, int imm)

VPTERNLOGQ xmm1 {k1}{z}, xmm2, xmm3/m128/m64bcst, imm8

TernaryLogic(Vector256<UInt32>, Vector256<UInt32>, Vector256<UInt32>, Byte)

__m256i _mm256_ternarylogic_epi32 (__m256i a, __m256i b, __m256i c, int imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256/m32bcst, imm8

TernaryLogic(Vector128<UInt16>, Vector128<UInt16>, Vector128<UInt16>, Byte)

__m128i _mm_ternarylogic_si128 (__m128i a, __m128i b, __m128i c, short imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector128<Single>, Vector128<Single>, Vector128<Single>, Byte)

__m128 _mm_ternarylogic_ps (__m128 a, __m128 b, __m128 c, int imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128/m32bcst, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector128<SByte>, Vector128<SByte>, Vector128<SByte>, Byte)

__m128i _mm_ternarylogic_si128 (__m128i a, __m128i b, __m128i c, byte imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector128<Int64>, Vector128<Int64>, Vector128<Int64>, Byte)

__m128i _mm_ternarylogic_epi64 (__m128i a, __m128i b, __m128i c, int imm)

VPTERNLOGQ xmm1 {k1}{z}, xmm2, xmm3/m128/m64bcst, imm8

TernaryLogic(Vector128<Int32>, Vector128<Int32>, Vector128<Int32>, Byte)

__m128i _mm_ternarylogic_epi32 (__m128i a, __m128i b, __m128i c, int imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128/m32bcst, imm8

TernaryLogic(Vector128<Int16>, Vector128<Int16>, Vector128<Int16>, Byte)

__m128i _mm_ternarylogic_si128 (__m128i a, __m128i b, __m128i c, short imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector128<Double>, Vector128<Double>, Vector128<Double>, Byte)

__m128d _mm_ternarylogic_pd (__m128d a, __m128d b, __m128d c, int imm)

VPTERNLOGQ xmm1 {k1}{z}, xmm2, xmm3/m128/m64bcst, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector128<Byte>, Vector128<Byte>, Vector128<Byte>, Byte)

__m128i _mm_ternarylogic_si128 (__m128i a, __m128i b, __m128i c, byte imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

TernaryLogic(Vector128<UInt32>, Vector128<UInt32>, Vector128<UInt32>, Byte)

__m128i _mm_ternarylogic_epi32 (__m128i a, __m128i b, __m128i c, int imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128/m32bcst, imm8

TernaryLogic(Vector256<UInt64>, Vector256<UInt64>, Vector256<UInt64>, Byte)

__m256i _mm256_ternarylogic_epi64 (__m256i a, __m256i b, __m256i c, int imm)

VPTERNLOGQ ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst, imm8

TernaryLogic(Vector256<Int16>, Vector256<Int16>, Vector256<Int16>, Byte)

__m256i _mm256_ternarylogic_si256 (__m256i a, __m256i b, __m256i c, short imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector256<short> TernaryLogic(System::Runtime::Intrinsics::Vector256<short> a, System::Runtime::Intrinsics::Vector256<short> b, System::Runtime::Intrinsics::Vector256<short> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<short> TernaryLogic (System.Runtime.Intrinsics.Vector256<short> a, System.Runtime.Intrinsics.Vector256<short> b, System.Runtime.Intrinsics.Vector256<short> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<int16> * System.Runtime.Intrinsics.Vector256<int16> * System.Runtime.Intrinsics.Vector256<int16> * byte -> System.Runtime.Intrinsics.Vector256<int16>
Public Shared Function TernaryLogic (a As Vector256(Of Short), b As Vector256(Of Short), c As Vector256(Of Short), control As Byte) As Vector256(Of Short)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<Double>, Vector256<Double>, Vector256<Double>, Byte)

__m256d _mm256_ternarylogic_pd (__m256d a, __m256d b, __m256d c, int imm)

VPTERNLOGQ ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector256<double> TernaryLogic(System::Runtime::Intrinsics::Vector256<double> a, System::Runtime::Intrinsics::Vector256<double> b, System::Runtime::Intrinsics::Vector256<double> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<double> TernaryLogic (System.Runtime.Intrinsics.Vector256<double> a, System.Runtime.Intrinsics.Vector256<double> b, System.Runtime.Intrinsics.Vector256<double> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<double> * System.Runtime.Intrinsics.Vector256<double> * System.Runtime.Intrinsics.Vector256<double> * byte -> System.Runtime.Intrinsics.Vector256<double>
Public Shared Function TernaryLogic (a As Vector256(Of Double), b As Vector256(Of Double), c As Vector256(Of Double), control As Byte) As Vector256(Of Double)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<Int32>, Vector256<Int32>, Vector256<Int32>, Byte)

__m256i _mm256_ternarylogic_epi32 (__m256i a, __m256i b, __m256i c, int imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256/m32bcst, imm8

public:
 static System::Runtime::Intrinsics::Vector256<int> TernaryLogic(System::Runtime::Intrinsics::Vector256<int> a, System::Runtime::Intrinsics::Vector256<int> b, System::Runtime::Intrinsics::Vector256<int> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<int> TernaryLogic (System.Runtime.Intrinsics.Vector256<int> a, System.Runtime.Intrinsics.Vector256<int> b, System.Runtime.Intrinsics.Vector256<int> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<int> * System.Runtime.Intrinsics.Vector256<int> * System.Runtime.Intrinsics.Vector256<int> * byte -> System.Runtime.Intrinsics.Vector256<int>
Public Shared Function TernaryLogic (a As Vector256(Of Integer), b As Vector256(Of Integer), c As Vector256(Of Integer), control As Byte) As Vector256(Of Integer)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<Byte>, Vector256<Byte>, Vector256<Byte>, Byte)

__m256i _mm256_ternarylogic_si256 (__m256i a, __m256i b, __m256i c, byte imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector256<System::Byte> TernaryLogic(System::Runtime::Intrinsics::Vector256<System::Byte> a, System::Runtime::Intrinsics::Vector256<System::Byte> b, System::Runtime::Intrinsics::Vector256<System::Byte> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<byte> TernaryLogic (System.Runtime.Intrinsics.Vector256<byte> a, System.Runtime.Intrinsics.Vector256<byte> b, System.Runtime.Intrinsics.Vector256<byte> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<byte> * System.Runtime.Intrinsics.Vector256<byte> * System.Runtime.Intrinsics.Vector256<byte> * byte -> System.Runtime.Intrinsics.Vector256<byte>
Public Shared Function TernaryLogic (a As Vector256(Of Byte), b As Vector256(Of Byte), c As Vector256(Of Byte), control As Byte) As Vector256(Of Byte)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<SByte>, Vector256<SByte>, Vector256<SByte>, Byte)

__m256i _mm256_ternarylogic_si256 (__m256i a, __m256i b, __m256i c, byte imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector256<System::SByte> TernaryLogic(System::Runtime::Intrinsics::Vector256<System::SByte> a, System::Runtime::Intrinsics::Vector256<System::SByte> b, System::Runtime::Intrinsics::Vector256<System::SByte> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<sbyte> TernaryLogic (System.Runtime.Intrinsics.Vector256<sbyte> a, System.Runtime.Intrinsics.Vector256<sbyte> b, System.Runtime.Intrinsics.Vector256<sbyte> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<sbyte> * System.Runtime.Intrinsics.Vector256<sbyte> * System.Runtime.Intrinsics.Vector256<sbyte> * byte -> System.Runtime.Intrinsics.Vector256<sbyte>
Public Shared Function TernaryLogic (a As Vector256(Of SByte), b As Vector256(Of SByte), c As Vector256(Of SByte), control As Byte) As Vector256(Of SByte)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<Single>, Vector256<Single>, Vector256<Single>, Byte)

__m256 _mm256_ternarylogic_ps (__m256 a, __m256 b, __m256 c, int imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256/m32bcst, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector256<float> TernaryLogic(System::Runtime::Intrinsics::Vector256<float> a, System::Runtime::Intrinsics::Vector256<float> b, System::Runtime::Intrinsics::Vector256<float> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<float> TernaryLogic (System.Runtime.Intrinsics.Vector256<float> a, System.Runtime.Intrinsics.Vector256<float> b, System.Runtime.Intrinsics.Vector256<float> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<single> * System.Runtime.Intrinsics.Vector256<single> * System.Runtime.Intrinsics.Vector256<single> * byte -> System.Runtime.Intrinsics.Vector256<single>
Public Shared Function TernaryLogic (a As Vector256(Of Single), b As Vector256(Of Single), c As Vector256(Of Single), control As Byte) As Vector256(Of Single)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<UInt16>, Vector256<UInt16>, Vector256<UInt16>, Byte)

__m256i _mm256_ternarylogic_si256 (__m256i a, __m256i b, __m256i c, short imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector256<System::UInt16> TernaryLogic(System::Runtime::Intrinsics::Vector256<System::UInt16> a, System::Runtime::Intrinsics::Vector256<System::UInt16> b, System::Runtime::Intrinsics::Vector256<System::UInt16> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<ushort> TernaryLogic (System.Runtime.Intrinsics.Vector256<ushort> a, System.Runtime.Intrinsics.Vector256<ushort> b, System.Runtime.Intrinsics.Vector256<ushort> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<uint16> * System.Runtime.Intrinsics.Vector256<uint16> * System.Runtime.Intrinsics.Vector256<uint16> * byte -> System.Runtime.Intrinsics.Vector256<uint16>
Public Shared Function TernaryLogic (a As Vector256(Of UShort), b As Vector256(Of UShort), c As Vector256(Of UShort), control As Byte) As Vector256(Of UShort)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<Int64>, Vector256<Int64>, Vector256<Int64>, Byte)

__m256i _mm256_ternarylogic_epi64 (__m256i a, __m256i b, __m256i c, int imm)

VPTERNLOGQ ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst, imm8

public:
 static System::Runtime::Intrinsics::Vector256<long> TernaryLogic(System::Runtime::Intrinsics::Vector256<long> a, System::Runtime::Intrinsics::Vector256<long> b, System::Runtime::Intrinsics::Vector256<long> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<long> TernaryLogic (System.Runtime.Intrinsics.Vector256<long> a, System.Runtime.Intrinsics.Vector256<long> b, System.Runtime.Intrinsics.Vector256<long> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<int64> * System.Runtime.Intrinsics.Vector256<int64> * System.Runtime.Intrinsics.Vector256<int64> * byte -> System.Runtime.Intrinsics.Vector256<int64>
Public Shared Function TernaryLogic (a As Vector256(Of Long), b As Vector256(Of Long), c As Vector256(Of Long), control As Byte) As Vector256(Of Long)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<UInt64>, Vector128<UInt64>, Vector128<UInt64>, Byte)

__m128i _mm_ternarylogic_epi64 (__m128i a, __m128i b, __m128i c, int imm)

VPTERNLOGQ xmm1 {k1}{z}, xmm2, xmm3/m128/m64bcst, imm8

public:
 static System::Runtime::Intrinsics::Vector128<System::UInt64> TernaryLogic(System::Runtime::Intrinsics::Vector128<System::UInt64> a, System::Runtime::Intrinsics::Vector128<System::UInt64> b, System::Runtime::Intrinsics::Vector128<System::UInt64> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<ulong> TernaryLogic (System.Runtime.Intrinsics.Vector128<ulong> a, System.Runtime.Intrinsics.Vector128<ulong> b, System.Runtime.Intrinsics.Vector128<ulong> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<uint64> * System.Runtime.Intrinsics.Vector128<uint64> * System.Runtime.Intrinsics.Vector128<uint64> * byte -> System.Runtime.Intrinsics.Vector128<uint64>
Public Shared Function TernaryLogic (a As Vector128(Of ULong), b As Vector128(Of ULong), c As Vector128(Of ULong), control As Byte) As Vector128(Of ULong)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<UInt32>, Vector256<UInt32>, Vector256<UInt32>, Byte)

__m256i _mm256_ternarylogic_epi32 (__m256i a, __m256i b, __m256i c, int imm)

VPTERNLOGD ymm1 {k1}{z}, ymm2, ymm3/m256/m32bcst, imm8

public:
 static System::Runtime::Intrinsics::Vector256<System::UInt32> TernaryLogic(System::Runtime::Intrinsics::Vector256<System::UInt32> a, System::Runtime::Intrinsics::Vector256<System::UInt32> b, System::Runtime::Intrinsics::Vector256<System::UInt32> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<uint> TernaryLogic (System.Runtime.Intrinsics.Vector256<uint> a, System.Runtime.Intrinsics.Vector256<uint> b, System.Runtime.Intrinsics.Vector256<uint> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<uint32> * System.Runtime.Intrinsics.Vector256<uint32> * System.Runtime.Intrinsics.Vector256<uint32> * byte -> System.Runtime.Intrinsics.Vector256<uint32>
Public Shared Function TernaryLogic (a As Vector256(Of UInteger), b As Vector256(Of UInteger), c As Vector256(Of UInteger), control As Byte) As Vector256(Of UInteger)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<UInt16>, Vector128<UInt16>, Vector128<UInt16>, Byte)

__m128i _mm_ternarylogic_si128 (__m128i a, __m128i b, __m128i c, short imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector128<System::UInt16> TernaryLogic(System::Runtime::Intrinsics::Vector128<System::UInt16> a, System::Runtime::Intrinsics::Vector128<System::UInt16> b, System::Runtime::Intrinsics::Vector128<System::UInt16> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<ushort> TernaryLogic (System.Runtime.Intrinsics.Vector128<ushort> a, System.Runtime.Intrinsics.Vector128<ushort> b, System.Runtime.Intrinsics.Vector128<ushort> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<uint16> * System.Runtime.Intrinsics.Vector128<uint16> * System.Runtime.Intrinsics.Vector128<uint16> * byte -> System.Runtime.Intrinsics.Vector128<uint16>
Public Shared Function TernaryLogic (a As Vector128(Of UShort), b As Vector128(Of UShort), c As Vector128(Of UShort), control As Byte) As Vector128(Of UShort)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<Single>, Vector128<Single>, Vector128<Single>, Byte)

__m128 _mm_ternarylogic_ps (__m128 a, __m128 b, __m128 c, int imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128/m32bcst, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector128<float> TernaryLogic(System::Runtime::Intrinsics::Vector128<float> a, System::Runtime::Intrinsics::Vector128<float> b, System::Runtime::Intrinsics::Vector128<float> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<float> TernaryLogic (System.Runtime.Intrinsics.Vector128<float> a, System.Runtime.Intrinsics.Vector128<float> b, System.Runtime.Intrinsics.Vector128<float> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<single> * System.Runtime.Intrinsics.Vector128<single> * System.Runtime.Intrinsics.Vector128<single> * byte -> System.Runtime.Intrinsics.Vector128<single>
Public Shared Function TernaryLogic (a As Vector128(Of Single), b As Vector128(Of Single), c As Vector128(Of Single), control As Byte) As Vector128(Of Single)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<SByte>, Vector128<SByte>, Vector128<SByte>, Byte)

__m128i _mm_ternarylogic_si128 (__m128i a, __m128i b, __m128i c, byte imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector128<System::SByte> TernaryLogic(System::Runtime::Intrinsics::Vector128<System::SByte> a, System::Runtime::Intrinsics::Vector128<System::SByte> b, System::Runtime::Intrinsics::Vector128<System::SByte> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<sbyte> TernaryLogic (System.Runtime.Intrinsics.Vector128<sbyte> a, System.Runtime.Intrinsics.Vector128<sbyte> b, System.Runtime.Intrinsics.Vector128<sbyte> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<sbyte> * System.Runtime.Intrinsics.Vector128<sbyte> * System.Runtime.Intrinsics.Vector128<sbyte> * byte -> System.Runtime.Intrinsics.Vector128<sbyte>
Public Shared Function TernaryLogic (a As Vector128(Of SByte), b As Vector128(Of SByte), c As Vector128(Of SByte), control As Byte) As Vector128(Of SByte)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<Int64>, Vector128<Int64>, Vector128<Int64>, Byte)

__m128i _mm_ternarylogic_epi64 (__m128i a, __m128i b, __m128i c, int imm)

VPTERNLOGQ xmm1 {k1}{z}, xmm2, xmm3/m128/m64bcst, imm8

public:
 static System::Runtime::Intrinsics::Vector128<long> TernaryLogic(System::Runtime::Intrinsics::Vector128<long> a, System::Runtime::Intrinsics::Vector128<long> b, System::Runtime::Intrinsics::Vector128<long> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<long> TernaryLogic (System.Runtime.Intrinsics.Vector128<long> a, System.Runtime.Intrinsics.Vector128<long> b, System.Runtime.Intrinsics.Vector128<long> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<int64> * System.Runtime.Intrinsics.Vector128<int64> * System.Runtime.Intrinsics.Vector128<int64> * byte -> System.Runtime.Intrinsics.Vector128<int64>
Public Shared Function TernaryLogic (a As Vector128(Of Long), b As Vector128(Of Long), c As Vector128(Of Long), control As Byte) As Vector128(Of Long)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<Int32>, Vector128<Int32>, Vector128<Int32>, Byte)

__m128i _mm_ternarylogic_epi32 (__m128i a, __m128i b, __m128i c, int imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128/m32bcst, imm8

public:
 static System::Runtime::Intrinsics::Vector128<int> TernaryLogic(System::Runtime::Intrinsics::Vector128<int> a, System::Runtime::Intrinsics::Vector128<int> b, System::Runtime::Intrinsics::Vector128<int> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<int> TernaryLogic (System.Runtime.Intrinsics.Vector128<int> a, System.Runtime.Intrinsics.Vector128<int> b, System.Runtime.Intrinsics.Vector128<int> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<int> * System.Runtime.Intrinsics.Vector128<int> * System.Runtime.Intrinsics.Vector128<int> * byte -> System.Runtime.Intrinsics.Vector128<int>
Public Shared Function TernaryLogic (a As Vector128(Of Integer), b As Vector128(Of Integer), c As Vector128(Of Integer), control As Byte) As Vector128(Of Integer)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<Int16>, Vector128<Int16>, Vector128<Int16>, Byte)

__m128i _mm_ternarylogic_si128 (__m128i a, __m128i b, __m128i c, short imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector128<short> TernaryLogic(System::Runtime::Intrinsics::Vector128<short> a, System::Runtime::Intrinsics::Vector128<short> b, System::Runtime::Intrinsics::Vector128<short> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<short> TernaryLogic (System.Runtime.Intrinsics.Vector128<short> a, System.Runtime.Intrinsics.Vector128<short> b, System.Runtime.Intrinsics.Vector128<short> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<int16> * System.Runtime.Intrinsics.Vector128<int16> * System.Runtime.Intrinsics.Vector128<int16> * byte -> System.Runtime.Intrinsics.Vector128<int16>
Public Shared Function TernaryLogic (a As Vector128(Of Short), b As Vector128(Of Short), c As Vector128(Of Short), control As Byte) As Vector128(Of Short)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<Double>, Vector128<Double>, Vector128<Double>, Byte)

__m128d _mm_ternarylogic_pd (__m128d a, __m128d b, __m128d c, int imm)

VPTERNLOGQ xmm1 {k1}{z}, xmm2, xmm3/m128/m64bcst, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector128<double> TernaryLogic(System::Runtime::Intrinsics::Vector128<double> a, System::Runtime::Intrinsics::Vector128<double> b, System::Runtime::Intrinsics::Vector128<double> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<double> TernaryLogic (System.Runtime.Intrinsics.Vector128<double> a, System.Runtime.Intrinsics.Vector128<double> b, System.Runtime.Intrinsics.Vector128<double> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<double> * System.Runtime.Intrinsics.Vector128<double> * System.Runtime.Intrinsics.Vector128<double> * byte -> System.Runtime.Intrinsics.Vector128<double>
Public Shared Function TernaryLogic (a As Vector128(Of Double), b As Vector128(Of Double), c As Vector128(Of Double), control As Byte) As Vector128(Of Double)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<Byte>, Vector128<Byte>, Vector128<Byte>, Byte)

__m128i _mm_ternarylogic_si128 (__m128i a, __m128i b, __m128i c, byte imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128, imm8

The above native signature does not exist. We provide this additional overload for consistency with the other bitwise APIs.

public:
 static System::Runtime::Intrinsics::Vector128<System::Byte> TernaryLogic(System::Runtime::Intrinsics::Vector128<System::Byte> a, System::Runtime::Intrinsics::Vector128<System::Byte> b, System::Runtime::Intrinsics::Vector128<System::Byte> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<byte> TernaryLogic (System.Runtime.Intrinsics.Vector128<byte> a, System.Runtime.Intrinsics.Vector128<byte> b, System.Runtime.Intrinsics.Vector128<byte> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<byte> * System.Runtime.Intrinsics.Vector128<byte> * System.Runtime.Intrinsics.Vector128<byte> * byte -> System.Runtime.Intrinsics.Vector128<byte>
Public Shared Function TernaryLogic (a As Vector128(Of Byte), b As Vector128(Of Byte), c As Vector128(Of Byte), control As Byte) As Vector128(Of Byte)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector128<UInt32>, Vector128<UInt32>, Vector128<UInt32>, Byte)

__m128i _mm_ternarylogic_epi32 (__m128i a, __m128i b, __m128i c, int imm)

VPTERNLOGD xmm1 {k1}{z}, xmm2, xmm3/m128/m32bcst, imm8

public:
 static System::Runtime::Intrinsics::Vector128<System::UInt32> TernaryLogic(System::Runtime::Intrinsics::Vector128<System::UInt32> a, System::Runtime::Intrinsics::Vector128<System::UInt32> b, System::Runtime::Intrinsics::Vector128<System::UInt32> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector128<uint> TernaryLogic (System.Runtime.Intrinsics.Vector128<uint> a, System.Runtime.Intrinsics.Vector128<uint> b, System.Runtime.Intrinsics.Vector128<uint> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector128<uint32> * System.Runtime.Intrinsics.Vector128<uint32> * System.Runtime.Intrinsics.Vector128<uint32> * byte -> System.Runtime.Intrinsics.Vector128<uint32>
Public Shared Function TernaryLogic (a As Vector128(Of UInteger), b As Vector128(Of UInteger), c As Vector128(Of UInteger), control As Byte) As Vector128(Of UInteger)

Parameters

control
Byte

Returns

Applies to

TernaryLogic(Vector256<UInt64>, Vector256<UInt64>, Vector256<UInt64>, Byte)

__m256i _mm256_ternarylogic_epi64 (__m256i a, __m256i b, __m256i c, int imm)

VPTERNLOGQ ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst, imm8

public:
 static System::Runtime::Intrinsics::Vector256<System::UInt64> TernaryLogic(System::Runtime::Intrinsics::Vector256<System::UInt64> a, System::Runtime::Intrinsics::Vector256<System::UInt64> b, System::Runtime::Intrinsics::Vector256<System::UInt64> c, System::Byte control);
public static System.Runtime.Intrinsics.Vector256<ulong> TernaryLogic (System.Runtime.Intrinsics.Vector256<ulong> a, System.Runtime.Intrinsics.Vector256<ulong> b, System.Runtime.Intrinsics.Vector256<ulong> c, byte control);
static member TernaryLogic : System.Runtime.Intrinsics.Vector256<uint64> * System.Runtime.Intrinsics.Vector256<uint64> * System.Runtime.Intrinsics.Vector256<uint64> * byte -> System.Runtime.Intrinsics.Vector256<uint64>
Public Shared Function TernaryLogic (a As Vector256(Of ULong), b As Vector256(Of ULong), c As Vector256(Of ULong), control As Byte) As Vector256(Of ULong)

Parameters

control
Byte

Returns

Applies to