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