AvxVnni.MultiplyWideningAndAdd Method

Definition

Overloads

MultiplyWideningAndAdd(Vector128<Int32>, Vector128<Byte>, Vector128<SByte>)

__m128i _mm_dpbusd_epi32 (__m128i src, __m128i a, __m128i b) VPDPBUSD xmm, xmm, xmm/m128

MultiplyWideningAndAdd(Vector128<Int32>, Vector128<Int16>, Vector128<Int16>)

__m128i _mm_dpwssd_epi32 (__m128i src, __m128i a, __m128i b) VPDPWSSD xmm, xmm, xmm/m128

MultiplyWideningAndAdd(Vector256<Int32>, Vector256<Byte>, Vector256<SByte>)

__m256i _mm256_dpbusd_epi32 (__m256i src, __m256i a, __m256i b) VPDPBUSD ymm, ymm, ymm/m256

MultiplyWideningAndAdd(Vector256<Int32>, Vector256<Int16>, Vector256<Int16>)

__m256i _mm256_dpwssd_epi32 (__m256i src, __m256i a, __m256i b) VPDPWSSD ymm, ymm, ymm/m256

MultiplyWideningAndAdd(Vector128<Int32>, Vector128<Byte>, Vector128<SByte>)

Source:
AvxVnni.cs
Source:
AvxVnni.cs
Source:
AvxVnni.cs

__m128i _mm_dpbusd_epi32 (__m128i src, __m128i a, __m128i b) VPDPBUSD xmm, xmm, xmm/m128

public:
 static System::Runtime::Intrinsics::Vector128<int> MultiplyWideningAndAdd(System::Runtime::Intrinsics::Vector128<int> addend, System::Runtime::Intrinsics::Vector128<System::Byte> left, System::Runtime::Intrinsics::Vector128<System::SByte> right);
public static System.Runtime.Intrinsics.Vector128<int> MultiplyWideningAndAdd (System.Runtime.Intrinsics.Vector128<int> addend, System.Runtime.Intrinsics.Vector128<byte> left, System.Runtime.Intrinsics.Vector128<sbyte> right);
static member MultiplyWideningAndAdd : System.Runtime.Intrinsics.Vector128<int> * System.Runtime.Intrinsics.Vector128<byte> * System.Runtime.Intrinsics.Vector128<sbyte> -> System.Runtime.Intrinsics.Vector128<int>
Public Shared Function MultiplyWideningAndAdd (addend As Vector128(Of Integer), left As Vector128(Of Byte), right As Vector128(Of SByte)) As Vector128(Of Integer)

Parameters

addend
Vector128<Int32>
left
Vector128<Byte>
right
Vector128<SByte>

Returns

Applies to

MultiplyWideningAndAdd(Vector128<Int32>, Vector128<Int16>, Vector128<Int16>)

Source:
AvxVnni.cs
Source:
AvxVnni.cs
Source:
AvxVnni.cs

__m128i _mm_dpwssd_epi32 (__m128i src, __m128i a, __m128i b) VPDPWSSD xmm, xmm, xmm/m128

public:
 static System::Runtime::Intrinsics::Vector128<int> MultiplyWideningAndAdd(System::Runtime::Intrinsics::Vector128<int> addend, System::Runtime::Intrinsics::Vector128<short> left, System::Runtime::Intrinsics::Vector128<short> right);
public static System.Runtime.Intrinsics.Vector128<int> MultiplyWideningAndAdd (System.Runtime.Intrinsics.Vector128<int> addend, System.Runtime.Intrinsics.Vector128<short> left, System.Runtime.Intrinsics.Vector128<short> right);
static member MultiplyWideningAndAdd : System.Runtime.Intrinsics.Vector128<int> * System.Runtime.Intrinsics.Vector128<int16> * System.Runtime.Intrinsics.Vector128<int16> -> System.Runtime.Intrinsics.Vector128<int>
Public Shared Function MultiplyWideningAndAdd (addend As Vector128(Of Integer), left As Vector128(Of Short), right As Vector128(Of Short)) As Vector128(Of Integer)

Parameters

addend
Vector128<Int32>
right
Vector128<Int16>

Returns

Applies to

MultiplyWideningAndAdd(Vector256<Int32>, Vector256<Byte>, Vector256<SByte>)

Source:
AvxVnni.cs
Source:
AvxVnni.cs
Source:
AvxVnni.cs

__m256i _mm256_dpbusd_epi32 (__m256i src, __m256i a, __m256i b) VPDPBUSD ymm, ymm, ymm/m256

public:
 static System::Runtime::Intrinsics::Vector256<int> MultiplyWideningAndAdd(System::Runtime::Intrinsics::Vector256<int> addend, System::Runtime::Intrinsics::Vector256<System::Byte> left, System::Runtime::Intrinsics::Vector256<System::SByte> right);
public static System.Runtime.Intrinsics.Vector256<int> MultiplyWideningAndAdd (System.Runtime.Intrinsics.Vector256<int> addend, System.Runtime.Intrinsics.Vector256<byte> left, System.Runtime.Intrinsics.Vector256<sbyte> right);
static member MultiplyWideningAndAdd : System.Runtime.Intrinsics.Vector256<int> * System.Runtime.Intrinsics.Vector256<byte> * System.Runtime.Intrinsics.Vector256<sbyte> -> System.Runtime.Intrinsics.Vector256<int>
Public Shared Function MultiplyWideningAndAdd (addend As Vector256(Of Integer), left As Vector256(Of Byte), right As Vector256(Of SByte)) As Vector256(Of Integer)

Parameters

addend
Vector256<Int32>
left
Vector256<Byte>
right
Vector256<SByte>

Returns

Applies to

MultiplyWideningAndAdd(Vector256<Int32>, Vector256<Int16>, Vector256<Int16>)

Source:
AvxVnni.cs
Source:
AvxVnni.cs
Source:
AvxVnni.cs

__m256i _mm256_dpwssd_epi32 (__m256i src, __m256i a, __m256i b) VPDPWSSD ymm, ymm, ymm/m256

public:
 static System::Runtime::Intrinsics::Vector256<int> MultiplyWideningAndAdd(System::Runtime::Intrinsics::Vector256<int> addend, System::Runtime::Intrinsics::Vector256<short> left, System::Runtime::Intrinsics::Vector256<short> right);
public static System.Runtime.Intrinsics.Vector256<int> MultiplyWideningAndAdd (System.Runtime.Intrinsics.Vector256<int> addend, System.Runtime.Intrinsics.Vector256<short> left, System.Runtime.Intrinsics.Vector256<short> right);
static member MultiplyWideningAndAdd : System.Runtime.Intrinsics.Vector256<int> * System.Runtime.Intrinsics.Vector256<int16> * System.Runtime.Intrinsics.Vector256<int16> -> System.Runtime.Intrinsics.Vector256<int>
Public Shared Function MultiplyWideningAndAdd (addend As Vector256(Of Integer), left As Vector256(Of Short), right As Vector256(Of Short)) As Vector256(Of Integer)

Parameters

addend
Vector256<Int32>
right
Vector256<Int16>

Returns

Applies to