28.2 Built-In Function Descriptions [DD]

This section describes the programmer interface to the compiler built-in functions.

The functions described in this section are “built in” and do not require a header file; however, we provide a file <builtins.h> that can be included to provide readable prototypes of these functions.

Also, there are no command-line switches associated with the built-in functions – they are always available. The built-in function names are chosen such that they belong to the compiler’s namespace (they all have the prefix __builtin_), so they will not conflict with function or variable names in the programmer’s namespace.

Note: If you attempt to use a built-in listed in this section with device architecture that it does not support, you will see the message below directing you to review the built-in’s architecture support.
Builtin not supported in the current configuration, please see MPLAB XC32
 C Compiler User's Guide (section 28.2) for more detail.
Table 28-1. Built-in Function List
Built-in Name and LinkBuilt-in Name and LinkBuilt-in Name and Link
28.2.1 __builtin_add_1628.2.27 __builtin_flim_excess_3228.2.56 __builtin_mulsu_32
28.2.2 __builtin_add_3228.2.28 __builtin_flimv_excess_3228.2.57 __builtin_mulus_16
28.2.3 __builtin_and_FCR28.2.32 __builtin_fmax28.2.58 __builtin_mulus_32
28.2.4 __builtin_btg_3228.2.33 __builtin_fmax_excess28.2.59 __builtin_muluu_16
__builtin_clr28.2.34 __builtin_fmaxv_excess28.2.60 __builtin_muluu_32
28.2.6 __builtin_div_321628.2.35 __builtin_fmin28.2.61 __builtin_pwrsav
28.2.7 __builtin_divf_1628.2.36 __builtin_fmin_excess28.2.62 __builtin_repeat_nop
28.2.8 __builtin_divf_3228.2.37 __builtin_fminv_excess28.2.63 __builtin_sac_16
28.2.9 __builtin_divf_321628.2.38 __builtin_get_isr_state28.2.64 __builtin_sac_32
28.2.10 __builtin_divmod_321628.2.39 __builtin_ior_FCR28.2.65 __builtin_sacr_16
28.2.11 __builtin_divmodf, __builtin_divmodf_3228.2.40 __builtin_lac_1628.2.66 __builtin_sacr_32
28.2.12 __builtin_divmodf_1628.2.41 __builtin_lac_3228.2.67 __builtin_sat_abs_s16
28.2.13 __builtin_divmodf_321628.2.42 __builtin_mac_1628.2.68 __builtin_sat_add_s16
28.2.14 __builtin_ed_1628.2.43 __builtin_mac_3228.2.69 __builtin_sat_sub_s16
28.2.15 __builtin_ed_3228.2.44 __builtin_max_16, __builtin_max_3228.2.70 __builtin_set_isr_state
28.2.16 __builtin_edac_1628.2.45 __builtin_min_16, __builtin_min_3228.2.72 __builtin_sftac
28.2.17 __builtin_edac_3228.2.46 __builtin_mod_321628.2.74 __builtin_set_FCR
28.2.18 __builtin_fbcl28.2.47 __builtin_mpy_1628.2.75 __builtin_swap_32
28.2.19 __builtin_fbcl_1628.2.48 __builtin_mpy_3228.2.76 __builtin_udiv
28.2.20 __builtin_fbcl_3228.2.49 __builtin_mpyn_1628.2.77 __builtin_udivmod_3216
28.2.21 __builtin_ff1l, __builtin_ff1r28.2.50 __builtin_mpyn_3228.2.78 __builtin_umod_3216
28.2.22 __builtin_ff1l_1628.2.51 __builtin_msc_1628.2.79 __builtin_write_ACCH
28.2.23 __builtin_ff1l_3228.2.52 __builtin_msc_3228.2.80 __builtin_write_ACCL
28.2.24 __builtin_ff1r_1628.2.53 __builtin_mulss_1628.2.81 __builtin_write_ACCU
28.2.25 __builtin_ff1r_3228.2.54 __builtin_mulss_3228.2.82 __builtin_write_DISICTL
28.2.26 __builtin_flim_3228.2.55 __builtin_mulsu_16