Runtime
Version 1.0
PULP Kernel Library
|
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... | |
unsigned int __builtin_pulp_abs | ( | int | x | ) |
Absolute value
x | Argument |
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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization factor, immediate in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization factor, immediate in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | Argument |
lb | Lower bound, Immediate: -2^precision |
ub | Upper 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);
x | Argument |
bound | Clipping 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);
x | Argument |
lb | Lower bound, must be equal to 0 |
ub | Upper 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);
x | Argument |
bound | Clipping 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
n | Normalization factor, immediate in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
n | Normalization factor, immediate in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
n | Normalization factor, immediate in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
n | Normalization factor, immediate in [0..31] |
r | Rounding 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
x | 1st Argument |
y | 2nd Argument |
unsigned int __builtin_pulp_maxusi | ( | unsigned int | x, |
unsigned int | y | ||
) |
Unsigned maximum of two integers
x | 1st Argument |
y | 2bd Argument |
int __builtin_pulp_minsi | ( | int | x, |
int | y | ||
) |
Minimum of two signed integers
x | 1st Argument |
y | 2nd Argument |
unsigned int __builtin_pulp_minusi | ( | unsigned int | x, |
unsigned int | y | ||
) |
Unsigned minimum of two integers
x | 1st Argument |
y | 2bd 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);
x | 1st Argument |
y | 2nd Argument |
Acc | Accumulator |
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);
x | 1st Argument |
y | 2nd 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization factor, immediate value in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 1st Argument |
n | Normalization factor, immediate value in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization factor, immediate value in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization factor, immediate value in [0..31]. |
r | Rounding 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization factor, immediate in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization factor, immediate value in [0..31] |
r | Rounding 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);
x | 1st Argument |
y | 2nd Argument |
n | Normalization and rounding factor |
Referenced by __SUBROUNDNORMU_REG(), and gap8_subroundnormu_reg().