The MDU_F120 directive enables support for the Multiple and Accumulate Unit (MAC0) of the Silicon Labs C8051F12x devices. When this directive is specified the compiler uses the MAC to increase the speed of the following operations:
Operation
Implementation
signed int mul
?C?IMUL_F120 routine
unsigned int mul
?C?IMUL_F120 routine
signed long mul
?C?LMUL_F120 routine
unsigned long mul
?C?LMUL_F120 routine
signed long shift left
?C?LSHL_F120 routine
unsigned long shift left
?C?LSHL_F120 routine
signed long shift right
?C?ULSHR_F120 routine
unsigned long shift right
?C?SLSHR_F120 routine
Note
The arithmetic unit does not allow reentrant code and cannot be used in multiple threads or the main and interrupt routines at the same time. You may therefore need to disable the MDU unit with NOMOD_F120.