| AI Engine Intrinsics User Guide (v2026.1)

Loading...
Searching...
No Matches
Simple
Intrinsics » Vector Operations » MAC intrinsics » Multiplication

## Overview

Simple MAC intrinsics.

For general information on all vector MAC intrinsics go here.

## Vector Multiply
v16acc48 | mul (v16int16 a, v16int16 b)
| Lane by lane 16-bit real multiply.
v8acc48 | mul (v8int16 a, v8int16 b)
| Lane by lane 16-bit real multiply.
v8cacc48 | mul (v8cint16 a, v8cint16 b)
| Lane by lane 16-bit complex multiply.
v4cacc48 | mul (v4cint16 a, v4cint16 b)
| Lane by lane 16-bit complex multiply.
v8acc80 | mul (v8int32 a, v8int32 b)
| Lane by lane 32-bit real multiply.
v4acc80 | mul (v4int32 a, v4int32 b)
| Lane by lane 16-bit real multiply.
v4cacc80 | mul (v4cint32 a, v4cint32 b)
| Lane by lane 32-bit complex multiply.
v2cacc80 | mul (v2cint32 a, v2cint32 b)
| Lane by lane 32-bit complex multiply.

## Vector Multiply Accumulate
v8cacc48 | mac (v8cacc48 acc, v8cint16 a, v8cint16 b)
| Lane by lane 16-bit complex multiply-accumulate.
v4cacc48 | mac (v4cacc48 acc, v4cint16 a, v4cint16 b)
| Lane by lane 16-bit complex multiply-accumulate.
v8cacc48 | msc (v8cacc48 acc, v8cint16 a, v8cint16 b)
| Lane by lane 16-bit complex multiply-accumulate.
v4cacc48 | msc (v4cacc48 acc, v4cint16 a, v4cint16 b)
| Lane by lane 16-bit complex multiply-accumulate.
v16acc48 | mac (v16acc48 acc, v16int16 a, v16int16 b)
| Lane by lane 16-bit real multiply-accumulate.
v16acc48 | msc (v16acc48 a, v16int16 x, v16int16 y)
| Lane by lane 16-bit real multiply-accumulate.
v8acc48 | mac (v8acc48 a, v8int16 x, v8int16 y)
| Lane by lane 16-bit real multiply-accumulate.
v8acc48 | msc (v8acc48 a, v8int16 x, v8int16 y)
| Lane by lane 16-bit real multiply-accumulate.
v8acc80 | mac (v8acc80 a, v8int32 x, v8int32 y)
| Lane by lane 32-bit real multiply-accumulate.
v8acc80 | msc (v8acc80 a, v8int32 x, v8int32 y)
| Lane by lane 32-bit real multiply-accumulate.
v4acc80 | mac (v4acc80 a, v4int32 x, v4int32 y)
| Lane by lane 32-bit real multiply-accumulate.
v4acc80 | msc (v4acc80 a, v4int32 x, v4int32 y)
| Lane by lane 32-bit real multiply-accumulate.
v4cacc80 | mac (v4cacc80 a, v4cint32 x, v4cint32 y)
| Lane by lane 32-bit complex multiply-accumulate.
v4cacc80 | msc (v4cacc80 a, v4cint32 x, v4cint32 y)
| Lane by lane 32-bit complex multiply-accumulate.
v2cacc80 | mac (v2cacc80 a, v2cint32 x, v2cint32 y)
| Lane by lane 32-bit complex multiply-accumulate.
v2cacc80 | msc (v2cacc80 a, v2cint32 x, v2cint32 y)
| Lane by lane 32-bit complex multiply-accumulate.

## Function Documentation

## ◆ mac() [1/8]

v16acc48 mac | ( | v16acc48 | acc,
|  | v16int16 | a,
|  | v16int16 | b )

Lane by lane 16-bit real multiply-accumulate.

## ◆ mac() [2/8]

v2cacc80 mac | ( | v2cacc80 | a,
|  | v2cint32 | x,
|  | v2cint32 | y )

Lane by lane 32-bit complex multiply-accumulate.

## ◆ mac() [3/8]

v4acc80 mac | ( | v4acc80 | a,
|  | v4int32 | x,
|  | v4int32 | y )

Lane by lane 32-bit real multiply-accumulate.

## ◆ mac() [4/8]

v4cacc48 mac | ( | v4cacc48 | acc,
|  | v4cint16 | a,
|  | v4cint16 | b )

Lane by lane 16-bit complex multiply-accumulate.

## ◆ mac() [5/8]

v4cacc80 mac | ( | v4cacc80 | a,
|  | v4cint32 | x,
|  | v4cint32 | y )

Lane by lane 32-bit complex multiply-accumulate.

## ◆ mac() [6/8]

v8acc48 mac | ( | v8acc48 | a,
|  | v8int16 | x,
|  | v8int16 | y )

Lane by lane 16-bit real multiply-accumulate.

## ◆ mac() [7/8]

v8acc80 mac | ( | v8acc80 | a,
|  | v8int32 | x,
|  | v8int32 | y )

Lane by lane 32-bit real multiply-accumulate.

## ◆ mac() [8/8]

v8cacc48 mac | ( | v8cacc48 | acc,
|  | v8cint16 | a,
|  | v8cint16 | b )

Lane by lane 16-bit complex multiply-accumulate.

## ◆ msc() [1/8]

v16acc48 msc | ( | v16acc48 | a,
|  | v16int16 | x,
|  | v16int16 | y )

Lane by lane 16-bit real multiply-accumulate.

## ◆ msc() [2/8]

v2cacc80 msc | ( | v2cacc80 | a,
|  | v2cint32 | x,
|  | v2cint32 | y )

Lane by lane 32-bit complex multiply-accumulate.

## ◆ msc() [3/8]

v4acc80 msc | ( | v4acc80 | a,
|  | v4int32 | x,
|  | v4int32 | y )

Lane by lane 32-bit real multiply-accumulate.

## ◆ msc() [4/8]

v4cacc48 msc | ( | v4cacc48 | acc,
|  | v4cint16 | a,
|  | v4cint16 | b )

Lane by lane 16-bit complex multiply-accumulate.

## ◆ msc() [5/8]

v4cacc80 msc | ( | v4cacc80 | a,
|  | v4cint32 | x,
|  | v4cint32 | y )

Lane by lane 32-bit complex multiply-accumulate.

## ◆ msc() [6/8]

v8acc48 msc | ( | v8acc48 | a,
|  | v8int16 | x,
|  | v8int16 | y )

Lane by lane 16-bit real multiply-accumulate.

## ◆ msc() [7/8]

v8acc80 msc | ( | v8acc80 | a,
|  | v8int32 | x,
|  | v8int32 | y )

Lane by lane 32-bit real multiply-accumulate.

## ◆ msc() [8/8]

v8cacc48 msc | ( | v8cacc48 | acc,
|  | v8cint16 | a,
|  | v8cint16 | b )

Lane by lane 16-bit complex multiply-accumulate.

## ◆ mul() [1/8]

v16acc48 mul | ( | v16int16 | a,
|  | v16int16 | b )

Lane by lane 16-bit real multiply.

## ◆ mul() [2/8]

v2cacc80 mul | ( | v2cint32 | a,
|  | v2cint32 | b )

Lane by lane 32-bit complex multiply.

## ◆ mul() [3/8]

v4cacc48 mul | ( | v4cint16 | a,
|  | v4cint16 | b )

Lane by lane 16-bit complex multiply.

## ◆ mul() [4/8]

v4cacc80 mul | ( | v4cint32 | a,
|  | v4cint32 | b )

Lane by lane 32-bit complex multiply.

## ◆ mul() [5/8]

v4acc80 mul | ( | v4int32 | a,
|  | v4int32 | b )

Lane by lane 16-bit real multiply.

## ◆ mul() [6/8]

v8cacc48 mul | ( | v8cint16 | a,
|  | v8cint16 | b )

Lane by lane 16-bit complex multiply.

## ◆ mul() [7/8]

v8acc48 mul | ( | v8int16 | a,
|  | v8int16 | b )

Lane by lane 16-bit real multiply.

## ◆ mul() [8/8]

v8acc80 mul | ( | v8int32 | a,
|  | v8int32 | b )

Lane by lane 32-bit real multiply.