AI Engine Intrinsics User Guide (AIE) v2024.2
Loading...
Searching...
No Matches

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.