Runtime  Version 1.0
PULP Kernel Library
 All Files Functions Typedefs Groups Pages

Functions

unsigned int __builtin_pulp_abs (int x)
 Absolute value. More...
 
int __builtin_pulp_maxsi (int x, int y)
 Maximum of two signed integers. More...
 
int __builtin_pulp_minsi (int x, int y)
 Minimum of two signed integers. More...
 
unsigned int __builtin_pulp_maxusi (unsigned int x, unsigned int y)
 Unsigned maximum of two integers. More...
 
unsigned int __builtin_pulp_minusi (unsigned int x, unsigned int y)
 Unsigned minimum of two integers. More...
 
int __builtin_pulp_addN (int x, int y, unsigned int n)
 Fixed point addition followed by normalization, normalization is an immediate [0..31]. More...
 
int __builtin_pulp_addN_r (int x, int y, unsigned int n)
 Fixed point addition followed by normalization. More...
 
int __builtin_pulp_addRN (int x, int y, unsigned int n, unsigned int r)
 Fixed point addition followed by rounding and then by normalization, normalization is an immediate [0..31]. More...
 
int __builtin_pulp_addRN_r (int x, int y, unsigned int n)
 Fixed point addition followed by rounding and then by normalization. More...
 
unsigned int __builtin_pulp_adduN (unsigned int x, unsigned int y, unsigned int n)
 Fixed point unsigned addition followed by normalization, normalization is an immediate [0..31]. More...
 
unsigned int __builtin_pulp_adduN_r (unsigned int x, unsigned int y, unsigned int n)
 Fixed point unsigned addition followed by normalization, normalization is in [0..31]. More...
 
unsigned int __builtin_pulp_adduRN (unsigned int x, unsigned int y, unsigned int n, unsigned int r)
 Fixed point unsigned addition followed by rounding and then by normalization, normalization is an immediate in [0..31]. More...
 
unsigned int __builtin_pulp_adduRN_r (unsigned int x, unsigned int y, unsigned int n)
 Fixed point unsigned addition followed by rounding and then by normalization, normalization is in [0..31]. More...
 
int __builtin_pulp_subN (int x, int y, unsigned int n)
 Fixed point substraction followed by normalization, normalization is an immediate [0..31]. More...
 
int __builtin_pulp_subN_r (int x, int y, unsigned int n)
 Fixed point substraction followed by normalization. More...
 
int __builtin_pulp_subRN (int x, int y, unsigned int n, unsigned int r)
 Fixed point substraction followed by rounding and then by normalization, normalization is an immediate [0..31]. More...
 
int __builtin_pulp_subRN_r (int x, int y, unsigned int n)
 Fixed point substraction followed by rounding and then by normalization. More...
 
unsigned int __builtin_pulp_subuN (unsigned int x, unsigned int y, unsigned int n)
 Fixed point unsigned substraction followed by normalization, normalization is an immediate [0..31]. More...
 
unsigned int __builtin_pulp_subuN_r (unsigned int x, unsigned int y, unsigned int n)
 Fixed point unsigned substraction followed by normalization. More...
 
unsigned int __builtin_pulp_subuRN (int x, int y, unsigned int n, unsigned int r)
 Fixed point unsigned substration followed by rounding and then by normalization, normalization is an immediate in [0..31]. More...
 
unsigned int __builtin_pulp_subuRN_r (int x, int y, unsigned int n)
 Fixed point unsigned substration followed by rounding and then by normalization. More...
 
int __builtin_pulp_muls (int x, int y)
 LSP short int by LSP short int into int multiplication. More...
 
int __builtin_pulp_mulsN (int x, int y, unsigned int n)
 LSP short int by LSP short int into int multiplication followed by normalization (immediate value) More...
 
int __builtin_pulp_mulsRN (int x, int y, unsigned int n, unsigned int r)
 LSP short int by LSP short int into int multiplication followed by rounding and then normalization (immediate value) More...
 
int __builtin_pulp_mulhhs (int x, int y)
 MSP Short int by MSP short int into int multiplication. More...
 
int __builtin_pulp_mulhhsN (int x, int y, unsigned int n)
 MSP short int by MSP short int into int multiplication followed by normalization (immediate value) More...
 
int __builtin_pulp_mulhhsRN (int x, int y, unsigned int n, unsigned int r)
 MSP short int by MSP short int into int multiplication followed by rounding and then normalization (immediate value) More...
 
int __builtin_pulp_mulu (unsigned int x, unsigned int y)
 LSP short int by LSP short int into int unsigned multiplication. More...
 
int __builtin_pulp_muluN (unsigned int x, unsigned int y, unsigned int n)
 LSP short int by LSP short int into int unsigned multiplication followed by normalization (immediate value) More...
 
int __builtin_pulp_muluRN (unsigned int x, unsigned int y, unsigned int n, unsigned int r)
 LSP short int by LSP short int into int unsigned multiplication followed by rounding and then normalization (immediate value) More...
 
int __builtin_pulp_mulhhu (unsigned int x, unsigned int y)
 MSP Short int by MSP short int into int unsigned multiplication. More...
 
int __builtin_pulp_mulhhuN (unsigned int x, unsigned int y, unsigned int n)
 MSP short int by MSP short int into int unsigned multiplication followed by normalization (immediate value) More...
 
unsigned int __builtin_pulp_mulhhuRN (short int x, short int y, unsigned int n, unsigned int r)
 MSP short int by MSP short int into int unsigned multiplication followed by rounding and then normalization (immediate value) More...
 
int __builtin_pulp_mac (int x, int y, int Acc)
 Multiply accumulate, int operands. More...
 
int __builtin_pulp_machhs (int x, int y, int Acc)
 Multiply MSP short int by MSP short int into int and Accumulate. More...
 
int __builtin_pulp_machhu (int x, int y, int Acc)
 unsigned multiply MSP short int by MSP short int into int and Accumulate More...
 
int __builtin_pulp_msu (int x, int y, int Acc)
 Multiply substract, int operands. More...
 
int __builtin_pulp_macs (int x, int y, int Acc)
 Multiply LSP short int by LSP short int into int and Accumulate. More...
 
unsigned int __builtin_pulp_macu (int x, int y, int Acc)
 Unsigned multiply LSP short int by LSP short int into int and Accumulate. More...
 
int __builtin_pulp_macsN (int x, int y, int Acc, unsigned int n)
 Multiply LSP short int by LSP short int into int and Accumulate then normalization. More...
 
unsigned int __builtin_pulp_macuN (int x, int y, int Acc, unsigned int n)
 Unsigned multiply LSP short int by LSP short int into int and Accumulate then normalization. More...
 
int __builtin_pulp_macsRN (int x, int y, int Acc, unsigned int n, unsigned int r)
 Multiply LSP short int by LSP short int into int and Accumulate then rounding followed by normalization. More...
 
unsigned int __builtin_pulp_macuRN (int x, int y, int Acc, unsigned int n, unsigned int r)
 Unsigned multiply LSP short int by LSP short int into int and Accumulate then rounding followed by normalization. More...
 
int __builtin_pulp_machhsN (int x, int y, int Acc, unsigned int n)
 Multiply MSP short int by MSP short int into int and Accumulate then rounding followed by normalization. More...
 
unsigned int __builtin_pulp_machhuN (int x, int y, int Acc, unsigned int n)
 Unsigned multiply MSP short int by MSP short int into int and Accumulate then normalization. More...
 
int __builtin_pulp_machhsRN (int x, int y, int Acc, unsigned int n, unsigned int r)
 Multiply MSP short int by MSP short int into int and Accumulate then rounding followed by normalization. More...
 
unsigned int __builtin_pulp_machhuRN (int x, int y, int Acc, unsigned int n, unsigned int r)
 Unsigned multiply MSP short int by MSP short int into int and Accumulate then rounding followed by normalization. More...
 
int __builtin_pulp_clip (int x, int lb, int ub)
 Clips input to [lb=-2^Precision .. ub=2^Precision-1], lb, ub immediates. More...
 
int __builtin_pulp_clip_r (int x, int bound)
 Clips input x to [-bound-1 .. bound]. More...
 
unsigned int __builtin_pulp_clipu (int x, int lb, int ub)
 Clips input to [lb=0 .. ub=2^Precision-1], lb, ub immediates. More...
 
unsigned int __builtin_pulp_clipu_r (int x, int bound)
 Clips input x to [0 .. bound]. More...
 

Description

Function Documentation

unsigned int __builtin_pulp_abs ( int  x)

Absolute value

Parameters
xArgument
int __builtin_pulp_addN ( int  x,
int  y,
unsigned int  n 
)

Fixed point addition followed by normalization, normalization is an immediate [0..31].

returns (x+y)>>n

Available macros:

    gap8_addnorm(x, y, n);
    __ADDNORM(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate, arithmetic shift right

Referenced by __ADDNORM(), and gap8_addnorm().

int __builtin_pulp_addN_r ( int  x,
int  y,
unsigned int  n 
)

Fixed point addition followed by normalization

returns (x+y)>>n

Available macros:

    gap8_addnorm_reg(x, y, n);
    __ADDNORM_REG(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, arithmetic shift right

Referenced by __ADDNORM_REG(), and gap8_addnorm_reg().

int __builtin_pulp_addRN ( int  x,
int  y,
unsigned int  n,
unsigned int  r 
)

Fixed point addition followed by rounding and then by normalization, normalization is an immediate [0..31]

Returns ((x + y) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_addroundnorm(x, y, n);
    __ADDROUNDNORM(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate in [0..31]
rRounding factor, = 2^(n-1)

Referenced by __ADDROUNDNORM(), __ROUNDNORM(), gap8_addroundnorm(), and gap8_roundnorm().

int __builtin_pulp_addRN_r ( int  x,
int  y,
unsigned int  n 
)

Fixed point addition followed by rounding and then by normalization.

Returns ((x + y) + 2^(n-1)) >> n

Available macros:

    gap8_addroundnorm_reg(x, y, n);
    __ADDROUNDNORM_REG(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization and rounding factor

Referenced by __ADDROUNDNORM_REG(), __ROUNDNORM_REG(), gap8_addroundnorm_reg(), and gap8_roundnorm_reg().

unsigned int __builtin_pulp_adduN ( unsigned int  x,
unsigned int  y,
unsigned int  n 
)

Fixed point unsigned addition followed by normalization, normalization is an immediate [0..31]

Returns (x + y) >> n

Available macros:

    gap8_addnormu(x, y, n);
    __ADDNORMU(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate in [0..31]

Referenced by __ADDNORMU(), and gap8_addnormu().

unsigned int __builtin_pulp_adduN_r ( unsigned int  x,
unsigned int  y,
unsigned int  n 
)

Fixed point unsigned addition followed by normalization, normalization is in [0..31]

Returns ((x + y) + 2^(n-1)) >> n

Available macros:

    gap8_addnormu_reg(x, y, n);
    __ADDNORMU_REG(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor

Referenced by __ADDNORMU_REG(), and gap8_addnormu_reg().

unsigned int __builtin_pulp_adduRN ( unsigned int  x,
unsigned int  y,
unsigned int  n,
unsigned int  r 
)

Fixed point unsigned addition followed by rounding and then by normalization, normalization is an immediate in [0..31]

Returns ((x + y) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_addroundnormu(x, y, n);
    __ADDROUNDNORMU(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate in [0..31]
rRounding factor, = 2^(n-1)

Referenced by __ADDROUNDNORMU(), __ROUNDNORMU(), gap8_addroundnormu(), and gap8_roundnormu().

unsigned int __builtin_pulp_adduRN_r ( unsigned int  x,
unsigned int  y,
unsigned int  n 
)

Fixed point unsigned addition followed by rounding and then by normalization, normalization is in [0..31]

Returns ((x + y) + 2^(n-1)) >> n

Available macros:

    gap8_addroundnormu_reg(x, y, n);
    __ADDROUNDNORMU_REG(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization and rounding factor

Referenced by __ADDROUNDNORMU_REG(), __ROUNDNORMU_REG(), gap8_addroundnormu_reg(), and gap8_roundnormu_reg().

int __builtin_pulp_clip ( int  x,
int  lb,
int  ub 
)

Clips input to [lb=-2^precision .. ub=2^precision-1], lb, ub immediates.

Returns: ((x)<(-(1<<(precision)))?(-(1<<(precision))):(((x)>((1<<(precision))-1))?((1<<(precision))-1):(x)))

Available macros:

    gap8_clip(x, precision);
    __CLIP(x, precision);
Parameters
xArgument
lbLower bound, Immediate: -2^precision
ubUpper bound, Immediate: 2^precision - 1

Referenced by __CLIP(), and gap8_clip().

int __builtin_pulp_clip_r ( int  x,
int  bound 
)

Clips input x to [-bound-1 .. bound]

Returns (((x)<=-((bound)+1))?(-((bound)+1)):(((x)>=(bound))?(bound):(x)))

Available macros:

    gap8_clip_r(x, precision);
    __CLIP_R(x, precision);
Parameters
xArgument
boundClipping bound: [-bound-1 .. bound]

Referenced by __CLIP_R(), and gap8_clip_r().

unsigned int __builtin_pulp_clipu ( int  x,
int  lb,
int  ub 
)

Clips input to [lb=0 .. ub=2^precision-1], lb, ub immediates.

Returns: ((x)<0)?0:(((x)>((1<<(precision))-1))?((1<<(precision))-1):(x))

Available macros:

    gap8_clipu(x, precision);
    __CLIPU(x, precision);
Parameters
xArgument
lbLower bound, must be equal to 0
ubUpper bound, Immediate: 2^precision - 1

Referenced by __CLIPU(), and gap8_clipu().

unsigned int __builtin_pulp_clipu_r ( int  x,
int  bound 
)

Clips input x to [0 .. bound]

Returns (((x)<=0)?(0):(((x)>=(bound))?(bound):(x)))

Available macros:

    gap8_clipu_r(x, precision);
    __CLIPU_R(x, precision);
Parameters
xArgument
boundClipping bound: [0 .. bound]

Referenced by __CLIPU_R(), and gap8_clipu_r().

int __builtin_pulp_mac ( int  x,
int  y,
int  Acc 
)

Multiply accumulate, int operands

Returns Acc + x*y

Available macros:

    gap8_mac(Acc, x, y);
    __MAC(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator

Referenced by __MAC(), and gap8_mac().

int __builtin_pulp_machhs ( int  x,
int  y,
int  Acc 
)

Multiply MSP short int by MSP short int into int and Accumulate

Returns (Acc + ((short int) (x>>16) * (short int) (y>>16)))

Available macros:

    gap8_machhs(Acc, x, y);
    __MACHHS(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator

Referenced by __MACHHS(), and gap8_machhs().

int __builtin_pulp_machhsN ( int  x,
int  y,
int  Acc,
unsigned int  n 
)

Multiply MSP short int by MSP short int into int and Accumulate then rounding followed by normalization

Returns ((Acc + ((short int) (x>>16) * (short int) (y>>16))) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_machhsRN(Acc, x, y);
    __MACHHSRN(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator
nNormalization factor, immediate in [0..31]

Referenced by __MACHHSN(), __MACHHSRN(), gap8_machhsN(), and gap8_machhsRN().

int __builtin_pulp_machhsRN ( int  x,
int  y,
int  Acc,
unsigned int  n,
unsigned int  r 
)

Multiply MSP short int by MSP short int into int and Accumulate then rounding followed by normalization

Returns ((Acc + ((short int) (x>>16) * (short int) (y>>16))) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_machhsRN(Acc, x, y);
    __MACSHHRN(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator
nNormalization factor, immediate in [0..31]
rRounding factor, must be equal to 2^(n-1)
int __builtin_pulp_machhu ( int  x,
int  y,
int  Acc 
)

unsigned multiply MSP short int by MSP short int into int and Accumulate

Returns (Acc + ((unsigned short int) (x>>16) * (unsigned short int) (y>>16)))

Available macros:

    gap8_machhu(Acc, x, y);
    __MACHHU(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator

Referenced by __MACHHU(), and gap8_machhu().

unsigned int __builtin_pulp_machhuN ( int  x,
int  y,
int  Acc,
unsigned int  n 
)

Unsigned multiply MSP short int by MSP short int into int and Accumulate then normalization

Returns (Acc + ((unsigned short int) (x>>16) * (unsigned short int) (y>>16))) >> n

Available macros:

    gap8_machhuN(Acc, x, y);
    __MACHHUN(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator
nNormalization factor, immediate in [0..31]

Referenced by __MACHHUN(), __MACHHURN(), gap8_machhuN(), and gap8_machhuRN().

unsigned int __builtin_pulp_machhuRN ( int  x,
int  y,
int  Acc,
unsigned int  n,
unsigned int  r 
)

Unsigned multiply MSP short int by MSP short int into int and Accumulate then rounding followed by normalization

Returns ((Acc + ((unsigned short int) (x>>16) * (unsigned short int) (y>>16))) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_machhuRN(Acc, x, y);
    __MACHHURN(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator
nNormalization factor, immediate in [0..31]
rRounding factor, must be equal to 2^(n-1)
int __builtin_pulp_macs ( int  x,
int  y,
int  Acc 
)

Multiply LSP short int by LSP short int into int and Accumulate

Returns (Acc + ((short int) x * (short int) y))

Available macros:

    gap8_macs(Acc, x, y);
    __MACS(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator

Referenced by __MACS(), and gap8_macs().

int __builtin_pulp_macsN ( int  x,
int  y,
int  Acc,
unsigned int  n 
)

Multiply LSP short int by LSP short int into int and Accumulate then normalization

Returns (Acc + ((short int) x * (short int) y)) >> n

Available macros:

    gap8_macsN(Acc, x, y);
    __MACSN(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator
nNormalization factor, immediate in [0..31]

Referenced by __MACSN(), and gap8_macsN().

int __builtin_pulp_macsRN ( int  x,
int  y,
int  Acc,
unsigned int  n,
unsigned int  r 
)

Multiply LSP short int by LSP short int into int and Accumulate then rounding followed by normalization

Returns ((Acc + ((short int) x * (short int) y)) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_macsRN(Acc, x, y);
    __MACSRN(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator
nNormalization factor, immediate in [0..31]
rRounding factor, must be equal to 2^(n-1)

Referenced by __MACSRN(), and gap8_macsRN().

unsigned int __builtin_pulp_macu ( int  x,
int  y,
int  Acc 
)

Unsigned multiply LSP short int by LSP short int into int and Accumulate

Returns (Acc + ((unsigned short int) x * (unsigned short int) y))

Available macros:

    gap8_macu(Acc, x, y);
    __MACU(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator

Referenced by __MACU(), and gap8_macu().

unsigned int __builtin_pulp_macuN ( int  x,
int  y,
int  Acc,
unsigned int  n 
)

Unsigned multiply LSP short int by LSP short int into int and Accumulate then normalization

Returns (Acc + ((unsigned short int) x * (unsigned short int) y)) >> n

Available macros:

    gap8_macuN(Acc, x, y);
    __MACUN(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator
nNormalization factor, immediate in [0..31]

Referenced by __MACUN(), and gap8_macuN().

unsigned int __builtin_pulp_macuRN ( int  x,
int  y,
int  Acc,
unsigned int  n,
unsigned int  r 
)

Unsigned multiply LSP short int by LSP short int into int and Accumulate then rounding followed by normalization

Returns ((Acc + ((unsigned short int) x * (unsigned short int) y)) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_macuRN(Acc, x, y);
    __MACURN(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator
nNormalization factor, immediate in [0..31]
rRounding factor, must be equal to 2^(n-1)

Referenced by __MACURN(), and gap8_macuRN().

int __builtin_pulp_maxsi ( int  x,
int  y 
)

aximum of two signed integers

Parameters
x1st Argument
y2nd Argument
unsigned int __builtin_pulp_maxusi ( unsigned int  x,
unsigned int  y 
)

Unsigned maximum of two integers

Parameters
x1st Argument
y2bd Argument
int __builtin_pulp_minsi ( int  x,
int  y 
)

Minimum of two signed integers

Parameters
x1st Argument
y2nd Argument
unsigned int __builtin_pulp_minusi ( unsigned int  x,
unsigned int  y 
)

Unsigned minimum of two integers

Parameters
x1st Argument
y2bd Argument
int __builtin_pulp_msu ( int  x,
int  y,
int  Acc 
)

Multiply substract, int operands

Returns Acc - x*y

Available macros:

    gap8_msu(Acc, x, y);
    __MSU(Acc, x, y);
Parameters
x1st Argument
y2nd Argument
AccAccumulator

Referenced by __MSU(), and gap8_msu().

int __builtin_pulp_mulhhs ( int  x,
int  y 
)

MSP short int by MSP short int into int multiplication

Returns (((short int) ((x)>>16) * (short int) ((y)>>16)))

Available macros:

    gap8_mulhhs(x, y, n);
    __MULHHS(x, y, n);
Parameters
x1st Argument
y2nd Argument

Referenced by __MULHHS(), and gap8_mulhhs().

int __builtin_pulp_mulhhsN ( int  x,
int  y,
unsigned int  n 
)

MSP short int by MSP short int into int multiplication followed by normalization (immediate value)

Returns ((((short int) (x) * (short int) (y))) >> n)

Available macros:

    gap8_mulhhsN(x, y, n);
    __MULHHSN(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate value in [0..31]

Referenced by __MULHHSN(), and gap8_mulhhsN().

int __builtin_pulp_mulhhsRN ( int  x,
int  y,
unsigned int  n,
unsigned int  r 
)

MSP short int by MSP short int into int multiplication followed by rounding and then normalization (immediate value)

Returns ((((short int) (x) * (short int) (y)) + r); r = (1<<((n)-1)))>>(n)

Available macros:

    gap8_mulhhsRN(x, y, n);
    __MULHHSRN(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate value in [0..31]
rRounding factor, must be equal to 2^(n-1)

Referenced by __MULHHSRN(), and gap8_mulhhsRN().

int __builtin_pulp_mulhhu ( unsigned int  x,
unsigned int  y 
)

MSP short int by MSP short int into int unsigned multiplication

Returns (((unsigned short int) ((x)>>16) * (unsigned short int) ((y)>>16)))

Available macros:

    gap8_mulhhu(x, y, n);
    __MULHHU(x, y, n);
Parameters
x1st Argument
y2nd Argument

Referenced by __MULHHU(), and gap8_mulhhu().

int __builtin_pulp_mulhhuN ( unsigned int  x,
unsigned int  y,
unsigned int  n 
)

MSP short int by MSP short int into int unsigned multiplication followed by normalization (immediate value)

Returns ((((unsigned short int) (x) * (unsigned short int) (y))) >> n)

Available macros:

    gap8_mulhhuN(x, y, n);
    __MULHHUN(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate value in [0..31]

Referenced by __MULHHUN(), and gap8_mulhhuN().

unsigned int __builtin_pulp_mulhhuRN ( short int  x,
short int  y,
unsigned int  n,
unsigned int  r 
)

MSP short int by MSP short int into int unsigned multiplication followed by rounding and then normalization (immediate value)

Returns ((((unsigned short int) (x) * (unsigned short int) (y)) + r)>>(n)); r = 2^(n-1)

Available macros:

    gap8_mulhhsRN(x, y, n);
    __MULHHSRN(x, y, n);
Parameters
x1st Argument
y1st Argument
nNormalization factor, immediate value in [0..31]
rRounding factor, must be equal to 2^(n-1)

Referenced by __MULHHURN(), and gap8_mulhhuRN().

int __builtin_pulp_muls ( int  x,
int  y 
)

LSP short int by LSP short int into int multiplication

Returns (((short int) (x) * (short int) (y)))

Available macros:

    gap8_muls(x, y, n);
    __MULS(x, y, n);
Parameters
x1st Argument
y2nd Argument

Referenced by __MULS(), and gap8_muls().

int __builtin_pulp_mulsN ( int  x,
int  y,
unsigned int  n 
)

LSP short int by LSP short int into int multiplication followed by normalization (immediate value)

Returns ((((short int) (x) * (short int) (y))) >> n)

Available macros:

    gap8_mulsN(x, y, n);
    __MULSN(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate value in [0..31]

Referenced by __MULSN(), and gap8_mulsN().

int __builtin_pulp_mulsRN ( int  x,
int  y,
unsigned int  n,
unsigned int  r 
)

LSP short int by LSP short int into int multiplication followed by rounding and then normalization (immediate value)

Returns ((((short int) (x) * (short int) (y)) + r; r = (1<<((n)-1)))>>(n)

Available macros:

    gap8_mulsRN(x, y, n);
    __MULSRN(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate value in [0..31]
rRounding factor, must be equal to 2^(n-1)

Referenced by __MULSRN(), and gap8_mulsRN().

int __builtin_pulp_mulu ( unsigned int  x,
unsigned int  y 
)

LSP short int by LSP short int into unsigned int multiplication

Returns (((unsigned short int) (x) * (unsigned short int) (y)))

Available macros:

    gap8_mulu(x, y, n);
    __MULU(x, y, n);
Parameters
x1st Argument
y2nd Argument

Referenced by __MULU(), and gap8_mulu().

int __builtin_pulp_muluN ( unsigned int  x,
unsigned int  y,
unsigned int  n 
)

LSP short int by LSP short int into int unsigned multiplication followed by normalization (immediate value)

Returns ((((unsigned short int) (x) * (unsigned short int) (y))) >> n)

Available macros:

    gap8_muluN(x, y, n);
    __MULUN(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate value in [0..31]

Referenced by __MULUN(), and gap8_muluN().

int __builtin_pulp_muluRN ( unsigned int  x,
unsigned int  y,
unsigned int  n,
unsigned int  r 
)

LSP short int by LSP short int into int unsigned multiplication followed by rounding and then normalization (immediate value)

Returns ((((unsigned short int) (x) * (unsigned short int) (y)) + r)>>(n)); r = 2^(n-1)

Available macros:

    gap8_muluRN(x, y, n);
    __MULSUN(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate value in [0..31].
rRounding factor, must be equal to 2^(n-1)

Referenced by __MULURN(), and gap8_muluRN().

int __builtin_pulp_subN ( int  x,
int  y,
unsigned int  n 
)

Fixed point substraction followed by normalization, normalization is an immediate [0..31].

returns (x-y)>>n

Available macros:

    gap8_subnorm(x, y, n);
    __SUBNORM(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate in [0..31], arithmetic shift right

Referenced by __SUBNORM(), and gap8_subnorm().

int __builtin_pulp_subN_r ( int  x,
int  y,
unsigned int  n 
)

Fixed point substraction followed by normalization

returns (x-y)>>n

Available macros:

    gap8_subnorm_reg(x, y, n);
    __SUBNORM_REG(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, arithmetic shift right

Referenced by __SUBNORM_REG(), and gap8_subnorm_reg().

int __builtin_pulp_subRN ( int  x,
int  y,
unsigned int  n,
unsigned int  r 
)

Fixed point substraction followed by rounding and then by normalization, normalization is an immediate [0..31]

Returns ((x - y) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_subroundnorm(x, y, n);
    __SUBROUNDNORM(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate in [0..31]
rRounding factor, = 2^(n-1)

Referenced by __SUBROUNDNORM(), and gap8_subroundnorm().

int __builtin_pulp_subRN_r ( int  x,
int  y,
unsigned int  n 
)

Fixed point substraction followed by rounding and then by normalization.

Returns ((x - y) + 2^(n-1)) >> n

Available macros:

    gap8_subroundnorm_reg(x, y, n);
    __SUBROUNDNORM_REG(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization and rounding factor

Referenced by __SUBROUNDNORM_REG(), and gap8_subroundnorm_reg().

unsigned int __builtin_pulp_subuN ( unsigned int  x,
unsigned int  y,
unsigned int  n 
)

Fixed point unsigned substraction followed by normalization, normalization is an immediate [0..31]

Returns (x - y) >> n

Available macros:

    gap8_subnormu(x, y, n);
    __SUBNORMU(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor

Referenced by __SUBNORMU(), and gap8_subnormu().

unsigned int __builtin_pulp_subuN_r ( unsigned int  x,
unsigned int  y,
unsigned int  n 
)

Fixed point unsigned substraction followed by normalization.

Returns (x - y) >> n

Available macros:

    gap8_subnormu_reg(x, y, n);
    __SUBNORMU_REG(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor

Referenced by __SUBNORMU_REG(), and gap8_subnormu_reg().

unsigned int __builtin_pulp_subuRN ( int  x,
int  y,
unsigned int  n,
unsigned int  r 
)

Fixed point unsigned substration followed by rounding and then by normalization, normalization is an immediate in [0..31]

Returns: ((x - y) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_subroundnormu(x, y, n);
    __SUBROUNDNORMU(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization factor, immediate value in [0..31]
rRounding factor, should be equal to 2^(n-1)

Referenced by __SUBROUNDNORMU(), and gap8_subroundnormu().

unsigned int __builtin_pulp_subuRN_r ( int  x,
int  y,
unsigned int  n 
)

Fixed point unsigned substration followed by rounding and then by normalization.

Returns: ((x - y) + r) >> n; r = 2^(n-1)

Available macros:

    gap8_subroundnormu_reg(x, y, n);
    __SUBROUNDNORMU_REG(x, y, n);
Parameters
x1st Argument
y2nd Argument
nNormalization and rounding factor

Referenced by __SUBROUNDNORMU_REG(), and gap8_subroundnormu_reg().