AI Engine Intrinsics User Guide  (AIE) v(2024.1)
 All Data Structures Namespaces Functions Variables Typedefs Groups Pages

Overview

Simple Integer Vector Arithmetic Operations.

Functions

v16int32 abs16 (v16int32 xbuff)
 Lane by lane 32-bit absolute value computation.
 
v32int16 abs32 (v32int16 xbuff)
 Lane by lane 16-bit absolute value computation.
 
v16int32 add16 (v16int32 xbuff, v16int32 ybuff)
 Lane by lane 32-bit real addition.
 
v32int16 add32 (v32int16 xbuff, v32int16 ybuff)
 Lane by lane 16-bit real addition.
 
v16int32 sub16 (v16int32 xbuff, v16int32 ybuff)
 Lane by lane 32-bit real subtraction.
 
v32int16 sub32 (v32int16 xbuff, v32int16 ybuff)
 Lane by lane 16-bit real subtraction.
 

Operators

v16acc48 operator+ (v16acc48 a, v16int16 b)
 Lane by lane addition.
 
v8acc48 operator+ (v8acc48 a, v8int16 b)
 Lane by lane addition.
 
v8int16 operator+ (v8int16 a, v8int16 b)
 Lane by lane addition.
 
v16int16 operator+ (v16int16 a, v16int16 b)
 Lane by lane addition.
 
v8cacc48 operator+ (v8cacc48 a, v8cint16 b)
 Lane by lane addition.
 
v4cacc48 operator+ (v4cacc48 a, v4cint16 b)
 Lane by lane addition.
 
v8cint16 operator+ (v8cint16 a, v8cint16 b)
 Lane by lane addition.
 
v4cint16 operator+ (v4cint16 a, v4cint16 b)
 Lane by lane addition.
 
v8acc80 operator+ (v8acc80 a, v8int32 b)
 Lane by lane addition.
 
v4acc80 operator+ (v4acc80 a, v4int32 b)
 Lane by lane addition.
 
v4int32 operator+ (v4int32 a, v4int32 b)
 Lane by lane addition.
 
v8int32 operator+ (v8int32 a, v8int32 b)
 Lane by lane addition.
 
v4cacc80 operator+ (v4cacc80 a, v4cint32 b)
 Lane by lane addition.
 
v4cint32 operator+ (v4cint32 a, v4cint32 b)
 Lane by lane addition.
 
v2cacc80 operator+ (v2cacc80 a, v2cint32 b)
 Lane by lane addition.
 
v2cint32 operator+ (v2cint32 a, v2cint32 b)
 Lane by lane addition.
 

Subtraction

v16acc48 operator- (v16acc48 a, v16int16 b)
 Lane by lane subtraction. Output = a - b.
 
v8acc48 operator- (v8acc48 a, v8int16 b)
 Lane by lane subtraction. Output = a - b.
 
v8int16 operator- (v8int16 a, v8int16 b)
 Lane by lane subtraction. Output = a - b.
 
v16int16 operator- (v16int16 a, v16int16 b)
 Lane by lane subtraction. Output = a - b.
 
v8cacc48 operator- (v8cacc48 a, v8cint16 b)
 Lane by lane subtraction. Output = a - b.
 
v4cacc48 operator- (v4cacc48 a, v4cint16 b)
 Lane by lane subtraction. Output = a - b.
 
v8cint16 operator- (v8cint16 a, v8cint16 b)
 Lane by lane subtraction. Output = a - b.
 
v4cint16 operator- (v4cint16 a, v4cint16 b)
 Lane by lane subtraction. Output = a - b.
 
v8acc80 operator- (v8acc80 a, v8int32 b)
 Lane by lane subtraction. Output = a - b.
 
v4acc80 operator- (v4acc80 a, v4int32 b)
 Lane by lane subtraction. Output = a - b.
 
v4int32 operator- (v4int32 a, v4int32 b)
 Lane by lane subtraction. Output = a - b.
 
v8int32 operator- (v8int32 a, v8int32 b)
 Lane by lane subtraction. Output = a - b.
 
v4cacc80 operator- (v4cacc80 a, v4cint32 b)
 Lane by lane subtraction. Output = a - b.
 
v4cint32 operator- (v4cint32 a, v4cint32 b)
 Lane by lane subtraction. Output = a - b.
 
v2cacc80 operator- (v2cacc80 a, v2cint32 b)
 Lane by lane subtraction. Output = a - b.
 
v2cint32 operator- (v2cint32 a, v2cint32 b)
 Lane by lane subtraction. Output = a - b.
 

Unary minus (signal inversion)

v16int16 operator- (v16int16 a)
 Lane by lane unary minus (signal inversion)
 
v8int16 operator- (v8int16 a)
 Lane by lane unary minus (signal inversion)
 
v8cint16 operator- (v8cint16 a)
 Lane by lane unary minus (signal inversion)
 
v4cint16 operator- (v4cint16 a)
 Lane by lane unary minus (signal inversion)
 
v8int32 operator- (v8int32 a)
 Lane by lane unary minus (signal inversion)
 
v4int32 operator- (v4int32 a)
 Lane by lane unary minus (signal inversion)
 
v4cint32 operator- (v4cint32 a)
 Lane by lane unary minus (signal inversion)
 
v2cint32 operator- (v2cint32 a)
 Lane by lane unary minus (signal inversion)
 
v32int16 operator+ (v32int16 a, v32int16 b)
 Lane by lane unary minus (signal inversion)
 
v32int16 operator- (v32int16 a, v32int16 b)
 Lane by lane unary minus (signal inversion)
 
v16int32 operator+ (v16int32 a, v16int32 b)
 Lane by lane unary minus (signal inversion)
 
v16int32 operator- (v16int32 a, v16int32 b)
 Lane by lane unary minus (signal inversion)
 
v16cint16 operator+ (v16cint16 a, v16cint16 b)
 Lane by lane unary minus (signal inversion)
 
v16cint16 operator- (v16cint16 a, v16cint16 b)
 Lane by lane unary minus (signal inversion)
 
v8cint32 operator+ (v8cint32 a, v8cint32 b)
 Lane by lane unary minus (signal inversion)
 
v8cint32 operator- (v8cint32 a, v8cint32 b)
 Lane by lane unary minus (signal inversion)
 
v64int8 operator+ (v64int8 a, v64int8 b)
 Lane by lane unary minus (signal inversion)
 
v64int8 operator- (v64int8 a, v64int8 b)
 Lane by lane unary minus (signal inversion)
 
v64uint8 operator+ (v64uint8 a, v64uint8 b)
 Lane by lane unary minus (signal inversion)
 
v64uint8 operator- (v64uint8 a, v64uint8 b)
 Lane by lane unary minus (signal inversion)
 

Function Documentation

v16int32 abs16 ( v16int32  xbuff)

Lane by lane 32-bit absolute value computation.

v32int16 abs32 ( v32int16  xbuff)

Lane by lane 16-bit absolute value computation.

v16int32 add16 ( v16int32  xbuff,
v16int32  ybuff 
)

Lane by lane 32-bit real addition.

v32int16 add32 ( v32int16  xbuff,
v32int16  ybuff 
)

Lane by lane 16-bit real addition.

v16acc48 operator+ ( v16acc48  a,
v16int16  b 
)

Lane by lane addition.

v8acc48 operator+ ( v8acc48  a,
v8int16  b 
)

Lane by lane addition.

v8int16 operator+ ( v8int16  a,
v8int16  b 
)

Lane by lane addition.

v16int16 operator+ ( v16int16  a,
v16int16  b 
)

Lane by lane addition.

v8cacc48 operator+ ( v8cacc48  a,
v8cint16  b 
)

Lane by lane addition.

v4cacc48 operator+ ( v4cacc48  a,
v4cint16  b 
)

Lane by lane addition.

v8cint16 operator+ ( v8cint16  a,
v8cint16  b 
)

Lane by lane addition.

v4cint16 operator+ ( v4cint16  a,
v4cint16  b 
)

Lane by lane addition.

v8acc80 operator+ ( v8acc80  a,
v8int32  b 
)

Lane by lane addition.

v4acc80 operator+ ( v4acc80  a,
v4int32  b 
)

Lane by lane addition.

v4int32 operator+ ( v4int32  a,
v4int32  b 
)

Lane by lane addition.

v8int32 operator+ ( v8int32  a,
v8int32  b 
)

Lane by lane addition.

v4cacc80 operator+ ( v4cacc80  a,
v4cint32  b 
)

Lane by lane addition.

v4cint32 operator+ ( v4cint32  a,
v4cint32  b 
)

Lane by lane addition.

v2cacc80 operator+ ( v2cacc80  a,
v2cint32  b 
)

Lane by lane addition.

v2cint32 operator+ ( v2cint32  a,
v2cint32  b 
)

Lane by lane addition.

v32int16 operator+ ( v32int16  a,
v32int16  b 
)

Lane by lane unary minus (signal inversion)

v16int32 operator+ ( v16int32  a,
v16int32  b 
)

Lane by lane unary minus (signal inversion)

v16cint16 operator+ ( v16cint16  a,
v16cint16  b 
)

Lane by lane unary minus (signal inversion)

v8cint32 operator+ ( v8cint32  a,
v8cint32  b 
)

Lane by lane unary minus (signal inversion)

v64int8 operator+ ( v64int8  a,
v64int8  b 
)

Lane by lane unary minus (signal inversion)

v64uint8 operator+ ( v64uint8  a,
v64uint8  b 
)

Lane by lane unary minus (signal inversion)

v16acc48 operator- ( v16acc48  a,
v16int16  b 
)

Lane by lane subtraction. Output = a - b.

v8acc48 operator- ( v8acc48  a,
v8int16  b 
)

Lane by lane subtraction. Output = a - b.

v8int16 operator- ( v8int16  a,
v8int16  b 
)

Lane by lane subtraction. Output = a - b.

v16int16 operator- ( v16int16  a,
v16int16  b 
)

Lane by lane subtraction. Output = a - b.

v8cacc48 operator- ( v8cacc48  a,
v8cint16  b 
)

Lane by lane subtraction. Output = a - b.

v4cacc48 operator- ( v4cacc48  a,
v4cint16  b 
)

Lane by lane subtraction. Output = a - b.

v8cint16 operator- ( v8cint16  a,
v8cint16  b 
)

Lane by lane subtraction. Output = a - b.

v4cint16 operator- ( v4cint16  a,
v4cint16  b 
)

Lane by lane subtraction. Output = a - b.

v8acc80 operator- ( v8acc80  a,
v8int32  b 
)

Lane by lane subtraction. Output = a - b.

v4acc80 operator- ( v4acc80  a,
v4int32  b 
)

Lane by lane subtraction. Output = a - b.

v4int32 operator- ( v4int32  a,
v4int32  b 
)

Lane by lane subtraction. Output = a - b.

v8int32 operator- ( v8int32  a,
v8int32  b 
)

Lane by lane subtraction. Output = a - b.

v4cacc80 operator- ( v4cacc80  a,
v4cint32  b 
)

Lane by lane subtraction. Output = a - b.

v4cint32 operator- ( v4cint32  a,
v4cint32  b 
)

Lane by lane subtraction. Output = a - b.

v2cacc80 operator- ( v2cacc80  a,
v2cint32  b 
)

Lane by lane subtraction. Output = a - b.

v2cint32 operator- ( v2cint32  a,
v2cint32  b 
)

Lane by lane subtraction. Output = a - b.

v16int16 operator- ( v16int16  a)

Lane by lane unary minus (signal inversion)

v8int16 operator- ( v8int16  a)

Lane by lane unary minus (signal inversion)

v8cint16 operator- ( v8cint16  a)

Lane by lane unary minus (signal inversion)

v4cint16 operator- ( v4cint16  a)

Lane by lane unary minus (signal inversion)

v8int32 operator- ( v8int32  a)

Lane by lane unary minus (signal inversion)

v4int32 operator- ( v4int32  a)

Lane by lane unary minus (signal inversion)

v4cint32 operator- ( v4cint32  a)

Lane by lane unary minus (signal inversion)

v2cint32 operator- ( v2cint32  a)

Lane by lane unary minus (signal inversion)

v32int16 operator- ( v32int16  a,
v32int16  b 
)

Lane by lane unary minus (signal inversion)

v16int32 operator- ( v16int32  a,
v16int32  b 
)

Lane by lane unary minus (signal inversion)

v16cint16 operator- ( v16cint16  a,
v16cint16  b 
)

Lane by lane unary minus (signal inversion)

v8cint32 operator- ( v8cint32  a,
v8cint32  b 
)

Lane by lane unary minus (signal inversion)

v64int8 operator- ( v64int8  a,
v64int8  b 
)

Lane by lane unary minus (signal inversion)

v64uint8 operator- ( v64uint8  a,
v64uint8  b 
)

Lane by lane unary minus (signal inversion)

v16int32 sub16 ( v16int32  xbuff,
v16int32  ybuff 
)

Lane by lane 32-bit real subtraction.

for (int i = 0; i < 16; i++)
o[i] = x[i] - y[i]
v32int16 sub32 ( v32int16  xbuff,
v32int16  ybuff 
)

Lane by lane 16-bit real subtraction.

for (int i = 0; i < 32; i++)
o[i] = x[i] - y[i]