Using the -O2 (the default) switch does several optimizations in the code produced, the most
notable being:
- Sign extension from byte to long will use EXTB.
- Returning of functions will use RTD.
- Range checking will generate no run-time calls.
- Multiplication will use the long MULS instruction, no runtime library call will be
generated.
- Division will use the long DIVS instruction, no runtime library call will be generated.