This tip has been extracted from the main Built-in Functions article.
All three Microchip MPLAB® XC compilers provide built-in functions that implement a variety of device-specific tasks. These offer several benefits over hand-written, in-line assembly code, and they should always be used in preference to in-line assembly.
The assembly code generated from built-in functions directly implements the desired task, making them very efficient, yet providing the same code abstraction as functions. Optimizations are typically enabled for the output of built-in functions, unlike in-line assembly code. Register usage of the built-in function is taken into consideration by the compiler, which ensures that the code works with the surrounding compiler-generated code—a common failure of handwritten in-line assembly code.
Check the Appendixes in your compiler’s User’s Guide to find out what built-in functions are available before attempting to revert to assembly code.