4.5.4 Switch Statements
By default, jump tables are used to optimize switch()
statements. This can be made explicit by using the -fjump-tables option.
The -fno-jump-tables option prevents jump tables from being used and will
use sequences of compare sequences instead. Jump tables are usually faster to execute, but
for switch() statements where most of the jumps are destined for the
default label, they might produce excessive amounts of code.
Jump tables use the limited-range lpm assembler
instruction. Always use the -fno-jump-tables option when compiling a
bootloader for devices with more than 64 KB of program memory.
