![]() |
MKM34Z256VLx7 Bare Metal Software Drivers
R4.1.6
Reference Manual
|
This section describes arithmetic routines on signed integer data types. Use either MMAU Unsigned Integer Routines to calculate square root of a signed integer number.
Return type | SMUL | SMULS | SMAC | SMACS | SDIV | SDIVS | Load/Read |
---|---|---|---|---|---|---|---|
int32 | - | - | - | - | l_sdiv_ll | l_sdivs_ll | l_srda |
int64 | d_smul_ll d_smul_dl d_smula_l | d_smuls_dl d_smulas_l | d_smac_ll d_smac_dl d_smaca_dl | d_smacs_ll d_smacs_dl d_smacas_dl | d_sdiv_dl d_sdiva_l d_sdiv_dd d_sdiva_d | d_sdivs_dl d_sdivas_l d_sdivs_dd d_sdivas_d | d_srda |
void | smul_ll smul_dl smula_l | smuls_dl smulas_l | smac_ll smac_dl smaca_dl | smacs_ll smacs_dl smacas_dl | sdiv_ll sdiv_dl sdiva_l sdiv_dd sdiva_d | sdivs_ll sdivs_dl sdivas_l sdivs_dd sdivas_d | slda_d |
Macros | |
#define | slda_d(dval) |
Load A10 accumulator register of the MMAU by 64-bit integer value. More... | |
#define | smul_ll(lval1, lval2) |
Multiply two 32-bit integer values. More... | |
#define | smul_dl(dval, lval) |
Multiply 64-bit integer value with 32-bit integer value. More... | |
#define | smuls_dl(dval, lval) |
Saturating multiply 64-bit integer value with 32-bit integer value. More... | |
#define | smula_l(lval) |
Multiply 32-bit integer value with 64-bit integer value stored in the A10 register of the MMAU. More... | |
#define | smulas_l(lval) |
Saturating multiply 32-bit integer value with 64-bit integer value stored in the A10 register of the MMAU. More... | |
#define | smac_ll(lval1, lval2) |
Multiply two 32-bit integer values and add product with value stored in the A10 register of the MMAU. More... | |
#define | smacs_ll(lval1, lval2) |
Saturating multiply two 32-bit integer values and add product with value stored in the A10 register of the MMAU. More... | |
#define | smac_dl(dval, lval) |
Multiply 64-bit integer value with 32-bit integer value and add product with value stored in the A10 register of the MMAU. More... | |
#define | smacs_dl(dval, lval) |
Saturating multiply 64-bit integer value with 32-bit integer value and add product with value stored in the A10 register of the MMAU. More... | |
#define | smaca_dl(dval, lval) |
Multiply 32-bit integer value by value stored in the A10 register of the MMAU and add product with 64-bit integer value. More... | |
#define | smacas_dl(dval, lval) |
Saturating multiply 32-bit integer value by value stored in the A10 register of the MMAU and add product with 64-bit integer value. More... | |
#define | sdiv_ll(lnum, lden) |
Divide two 32-bit integer values. More... | |
#define | sdivs_ll(lnum, lden) |
Divide two 32-bit integer values. More... | |
#define | sdiv_dl(dnum, lden) |
Divide 64-bit integer value by 32-bit integer value. More... | |
#define | sdivs_dl(dnum, lden) |
Divide 64-bit integer value by 32-bit integer value. More... | |
#define | sdiv_dd(dnum, dden) |
Divide two 64-bit integer values. More... | |
#define | sdivs_dd(dnum, dden) |
Divide two 64-bit integer values. More... | |
#define | sdiva_l(lden) |
Divide 64-bit integer value stored in the A10 register of the MMAU by 32-bit integer value. More... | |
#define | sdivas_l(lden) |
Divide 64-bit integer value stored in the A10 register of the MMAU by 32-bit integer value. More... | |
#define | sdiva_d(dden) |
Divide 64-bit integer value stored in the A10 register of the MMAU by 64-bit integer value. More... | |
#define | sdivas_d(dden) |
Divide 64-bit integer value stored in the A10 register of the MMAU by 64-bit integer value. More... | |
Functions | |
static int32 | l_srda (void) |
Read 32-bit integer value from the A0 accumulator register of the MMAU. More... | |
static int64 | d_srda (void) |
Read 64-bit integer value from the A10 accumulator register of the MMAU. More... | |
static int64 | d_smul_ll (register int32 lval1, register int32 lval2) |
Multiply two 32-bit integer values returning a 64-bit integer product. More... | |
static int64 | d_smul_dl (register int64 dval, register int32 lval) |
Multiply 64-bit integer value with 32-bit integer value returning a 64-bit integer product. More... | |
static int64 | d_smuls_dl (register int64 dval, register int32 lval) |
Saturating multiply 64-bit integer value with 32-bit integer value returning saturated 64-bit integer product. More... | |
static int64 | d_smula_l (register int32 lval) |
Multiply 32-bit integer value with 64-bit integer value stored in the A10 register of the MMAU returning a 64-bit integer product. More... | |
static int64 | d_smulas_l (register int32 lval) |
Saturating multiply 32-bit integer value with 64-bit integer value stored in the A10 register of the MMAU returning saturated 64-bit integer product. More... | |
static int64 | d_smac_ll (register int32 lval1, register int32 lval2) |
Multiply two 32-bit integer values and add product with value stored in the A10 register of the MMAU returning a 64-bit integer A10 register value. More... | |
static int64 | d_smacs_ll (register int32 lval1, register int32 lval2) |
Saturating multiply two 32-bit integer values and add product with value stored in the A10 register of the MMAU returning a 64-bit integer A10 register value. More... | |
static int64 | d_smac_dl (register int64 dval, register int32 lval) |
Multiply 64-bit integer value with 32-bit integer value and add product with value stored in the A10 register of the MMAU returning a 64-bit integer A10 register value. More... | |
static int64 | d_smacs_dl (register int64 dval, register int32 lval) |
Saturating multiply 64-bit integer value with 32-bit integer value and add product with value stored in the A10 register of the MMAU returning saturated 64-bit integer A10 register value. More... | |
static int64 | d_smaca_dl (register int64 dval, register int32 lval) |
Multiply 32-bit integer value by value stored in the A10 register of the MMAU and add product with 64-bit integer value returning a 64-bit integer A10 register value. More... | |
static int64 | d_smacas_dl (register int64 dval, register int32 lval) |
Saturating multiply 32-bit integer value by value stored in the A10 register of the MMAU and add product with 64-bit integer value returning a saturated 64-bit integer A10 register value. More... | |
static int32 | l_sdiv_ll (register int32 lnum, register int32 lden) |
Divide two 32-bit integer values returning a 32-bit integer quotient. More... | |
static int32 | l_sdivs_ll (register int32 lnum, register int32 lden) |
Divide two 32-bit integer values returning a 32-bit integer quotient. More... | |
static int64 | d_sdiv_dl (register int64 dnum, register int32 lden) |
Divide 64-bit integer value by 32-bit integer value returning a 64-bit integer quotient. More... | |
static int64 | d_sdivs_dl (register int64 dnum, register int32 lden) |
Divide 64-bit integer value by 32-bit integer value returning a 64-bit integer quotient. More... | |
static int64 | d_sdiv_dd (register int64 dnum, register int64 dden) |
Divide two 64-bit integer values returning a 64-bit integer quotient. More... | |
static int64 | d_sdivs_dd (register int64 dnum, register int64 dden) |
Divide two 64-bit integer values returning a 64-bit integer quotient. More... | |
static int64 | d_sdiva_l (register int32 lden) |
Divide 64-bit integer value stored in the A10 register of the MMAU by 32-bit integer value returning a 64-bit integer quotient. More... | |
static int64 | d_sdivas_l (register int32 lden) |
Divide 64-bit integer value stored in the A10 register of the MMAU by 32-bit integer value returning saturated 64-bit integer quotient. More... | |
static int64 | d_sdiva_d (register int64 dden) |
Divide 64-bit integer value stored in the A10 register of the MMAU by 64-bit integer value returning a 64-bit integer quotient. More... | |
static int64 | d_sdivas_d (register int64 dden) |
Divide 64-bit integer value stored in the A10 register of the MMAU by 64-bit integer value returning saturated 64-bit integer quotient. More... | |
#define slda_d | ( | dval | ) |
#define smul_ll | ( | lval1, | |
lval2 | |||
) |
#define smul_dl | ( | dval, | |
lval | |||
) |
#define smuls_dl | ( | dval, | |
lval | |||
) |
#define smula_l | ( | lval | ) |
#define smulas_l | ( | lval | ) |
#define smac_ll | ( | lval1, | |
lval2 | |||
) |
#define smacs_ll | ( | lval1, | |
lval2 | |||
) |
#define smac_dl | ( | dval, | |
lval | |||
) |
#define smacs_dl | ( | dval, | |
lval | |||
) |
#define smaca_dl | ( | dval, | |
lval | |||
) |
#define smacas_dl | ( | dval, | |
lval | |||
) |
#define sdiv_ll | ( | lnum, | |
lden | |||
) |
#define sdivs_ll | ( | lnum, | |
lden | |||
) |
#define sdiv_dl | ( | dnum, | |
lden | |||
) |
#define sdivs_dl | ( | dnum, | |
lden | |||
) |
#define sdiv_dd | ( | dnum, | |
dden | |||
) |
#define sdivs_dd | ( | dnum, | |
dden | |||
) |
#define sdiva_l | ( | lden | ) |
#define sdivas_l | ( | lden | ) |
#define sdiva_d | ( | dden | ) |
#define sdivas_d | ( | dden | ) |
|
inlinestatic |
|
inlinestatic |
The d_smuls_dl function multiplies 64-bit integer value with 32-bit integer value returning saturated 64-bit integer product.
The d_smulas_l function multiplies 32-bit integer value with 64-bit integer value stored in the A10 register of the MMAU returning saturated 64-bit integer product.
lval | int32 integer value. |
The d_smacs_ll function multiplies two 32-bit integer values and add product with value stored in the A10 register of the MMAU returning saturated 64-bit integer A10 register value.
The d_smacs_dl function multiplies 64-bit integer value with 32-bit integer value and add product with value stored in the A10 register of the MMAU returning saturated 64-bit integer A10 register value.
The d_smaca_dl function multiplies 32-bit integer value by value stored in the A10 register of the MMAU and add product with 64-bit integer value returning a 64-bit integer A10 register value.
The d_smacas_dl function multiplies 32-bit integer value by value stored in the A10 register of the MMAU and add product with 64-bit integer value returning saturated 64-bit integer A10 register value.
The l_sdivs_ll function divides two 32-bit integer values returning a 32-bit integer quotient.
The d_sdivs_dl function divides 64-bit integer value by 32-bit integer value returning a 64-bit integer quotient.
The d_sdivs_dd function divides two 64-bit integer values returning a 64-bit integer quotient.
The d_sdivas_l function divides 64-bit integer value stored in the A10 register of the MMAU by 32-bit integer value returning a saturated 64-bit integer quotient.
lden | int32 integer value. |
The d_sdivas_d function divides 64-bit integer value stored in the A10 register of the MMAU by 64-bit integer value returning a saturated 64-bit integer quotient.
dden | int64 integer value. |