AdvSimd.MultiplyWideningLowerAndAdd Method

Definition

Overloads

MultiplyWideningLowerAndAdd(Vector128<UInt64>, Vector64<UInt32>, Vector64<UInt32>)

uint64x2_t vmlal_u32 (uint64x2_t a, uint32x2_t b, uint32x2_t c)

A32: VMLAL.U32 Qd, Dn, Dm

A64: UMLAL Vd.2D, Vn.2S, Vm.2S

MultiplyWideningLowerAndAdd(Vector128<UInt32>, Vector64<UInt16>, Vector64<UInt16>)

uint32x4_t vmlal_u16 (uint32x4_t a, uint16x4_t b, uint16x4_t c)

A32: VMLAL.U16 Qd, Dn, Dm

A64: UMLAL Vd.4S, Vn.4H, Vm.4H

MultiplyWideningLowerAndAdd(Vector128<UInt16>, Vector64<Byte>, Vector64<Byte>)

uint16x8_t vmlal_u8 (uint16x8_t a, uint8x8_t b, uint8x8_t c)

A32: VMLAL.U8 Qd, Dn, Dm

A64: UMLAL Vd.8H, Vn.8B, Vm.8B

MultiplyWideningLowerAndAdd(Vector128<Int16>, Vector64<SByte>, Vector64<SByte>)

int16x8_t vmlal_s8 (int16x8_t a, int8x8_t b, int8x8_t c)

A32: VMLAL.S8 Qd, Dn, Dm

A64: SMLAL Vd.8H, Vn.8B, Vm.8B

MultiplyWideningLowerAndAdd(Vector128<Int32>, Vector64<Int16>, Vector64<Int16>)

int32x4_t vmlal_s16 (int32x4_t a, int16x4_t b, int16x4_t c)

A32: VMLAL.S16 Qd, Dn, Dm

A64: SMLAL Vd.4S, Vn.4H, Vm.4H

MultiplyWideningLowerAndAdd(Vector128<Int64>, Vector64<Int32>, Vector64<Int32>)

int64x2_t vmlal_s32 (int64x2_t a, int32x2_t b, int32x2_t c)

A32: VMLAL.S32 Qd, Dn, Dm

A64: SMLAL Vd.2D, Vn.2S, Vm.2S

MultiplyWideningLowerAndAdd(Vector128<UInt64>, Vector64<UInt32>, Vector64<UInt32>)

Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs

uint64x2_t vmlal_u32 (uint64x2_t a, uint32x2_t b, uint32x2_t c)

A32: VMLAL.U32 Qd, Dn, Dm

A64: UMLAL Vd.2D, Vn.2S, Vm.2S

C#
public static System.Runtime.Intrinsics.Vector128<ulong> MultiplyWideningLowerAndAdd(System.Runtime.Intrinsics.Vector128<ulong> addend, System.Runtime.Intrinsics.Vector64<uint> left, System.Runtime.Intrinsics.Vector64<uint> right);

Parameters

addend
Vector128<UInt64>
right
Vector64<UInt32>

Returns

Applies to

.NET 10 and other versions
Product Versions
.NET 5, 6, 7, 8, 9, 10

MultiplyWideningLowerAndAdd(Vector128<UInt32>, Vector64<UInt16>, Vector64<UInt16>)

Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs

uint32x4_t vmlal_u16 (uint32x4_t a, uint16x4_t b, uint16x4_t c)

A32: VMLAL.U16 Qd, Dn, Dm

A64: UMLAL Vd.4S, Vn.4H, Vm.4H

C#
public static System.Runtime.Intrinsics.Vector128<uint> MultiplyWideningLowerAndAdd(System.Runtime.Intrinsics.Vector128<uint> addend, System.Runtime.Intrinsics.Vector64<ushort> left, System.Runtime.Intrinsics.Vector64<ushort> right);

Parameters

addend
Vector128<UInt32>
right
Vector64<UInt16>

Returns

Applies to

.NET 10 and other versions
Product Versions
.NET 5, 6, 7, 8, 9, 10

MultiplyWideningLowerAndAdd(Vector128<UInt16>, Vector64<Byte>, Vector64<Byte>)

Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs

uint16x8_t vmlal_u8 (uint16x8_t a, uint8x8_t b, uint8x8_t c)

A32: VMLAL.U8 Qd, Dn, Dm

A64: UMLAL Vd.8H, Vn.8B, Vm.8B

C#
public static System.Runtime.Intrinsics.Vector128<ushort> MultiplyWideningLowerAndAdd(System.Runtime.Intrinsics.Vector128<ushort> addend, System.Runtime.Intrinsics.Vector64<byte> left, System.Runtime.Intrinsics.Vector64<byte> right);

Parameters

addend
Vector128<UInt16>
left
Vector64<Byte>
right
Vector64<Byte>

Returns

Applies to

.NET 10 and other versions
Product Versions
.NET 5, 6, 7, 8, 9, 10

MultiplyWideningLowerAndAdd(Vector128<Int16>, Vector64<SByte>, Vector64<SByte>)

Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs

int16x8_t vmlal_s8 (int16x8_t a, int8x8_t b, int8x8_t c)

A32: VMLAL.S8 Qd, Dn, Dm

A64: SMLAL Vd.8H, Vn.8B, Vm.8B

C#
public static System.Runtime.Intrinsics.Vector128<short> MultiplyWideningLowerAndAdd(System.Runtime.Intrinsics.Vector128<short> addend, System.Runtime.Intrinsics.Vector64<sbyte> left, System.Runtime.Intrinsics.Vector64<sbyte> right);

Parameters

addend
Vector128<Int16>
left
Vector64<SByte>
right
Vector64<SByte>

Returns

Applies to

.NET 10 and other versions
Product Versions
.NET 5, 6, 7, 8, 9, 10

MultiplyWideningLowerAndAdd(Vector128<Int32>, Vector64<Int16>, Vector64<Int16>)

Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs

int32x4_t vmlal_s16 (int32x4_t a, int16x4_t b, int16x4_t c)

A32: VMLAL.S16 Qd, Dn, Dm

A64: SMLAL Vd.4S, Vn.4H, Vm.4H

C#
public static System.Runtime.Intrinsics.Vector128<int> MultiplyWideningLowerAndAdd(System.Runtime.Intrinsics.Vector128<int> addend, System.Runtime.Intrinsics.Vector64<short> left, System.Runtime.Intrinsics.Vector64<short> right);

Parameters

addend
Vector128<Int32>
left
Vector64<Int16>
right
Vector64<Int16>

Returns

Applies to

.NET 10 and other versions
Product Versions
.NET 5, 6, 7, 8, 9, 10

MultiplyWideningLowerAndAdd(Vector128<Int64>, Vector64<Int32>, Vector64<Int32>)

Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs
Source:
AdvSimd.PlatformNotSupported.cs

int64x2_t vmlal_s32 (int64x2_t a, int32x2_t b, int32x2_t c)

A32: VMLAL.S32 Qd, Dn, Dm

A64: SMLAL Vd.2D, Vn.2S, Vm.2S

C#
public static System.Runtime.Intrinsics.Vector128<long> MultiplyWideningLowerAndAdd(System.Runtime.Intrinsics.Vector128<long> addend, System.Runtime.Intrinsics.Vector64<int> left, System.Runtime.Intrinsics.Vector64<int> right);

Parameters

addend
Vector128<Int64>
left
Vector64<Int32>
right
Vector64<Int32>

Returns

Applies to

.NET 10 and other versions
Product Versions
.NET 5, 6, 7, 8, 9, 10