Skip to main content

Mojo function

dot_i16_to_i32_x86

dot_i16_to_i32_x86[width: Int, a_type: DType, b_type: DType, c_type: DType](src: SIMD[c_type, width], a: SIMD[a_type, (width * 2)], b: SIMD[b_type, (width * 2)]) -> SIMD[c_type, width]

The dot product of the two words in each int32 element of a and b plus a int32 from src using VNNI or AVX2.

Constraints:

Requires AVX512_VNNI or AVX2. The size of the output vector must be 4, 8 or 16.

Parameters:

  • ​width (Int): Size of the output SIMD vector.
  • ​a_type (DType): The DType for a.
  • ​b_type (DType): The DType for b.
  • ​c_type (DType): The DType for c.

Args:

Returns:

SIMD[c_type, width]: A SIMD vector of width elements.