The expansion for a table switch is quite expensive due to the number
of instructions, the table lookup and hard to predict indirect jump.
When optimizing for speed, and -O3 enabled, use the per-core tuning if
- set, otherwise use tables for > 16 cases as a tradeoff between size and
- performance. When optimizing for size, use the default setting. */
+ set, otherwise use tables for >= 11 cases as a tradeoff between size and
+ performance. When optimizing for size, use 8 for smallest codesize. */
static unsigned int
aarch64_case_values_threshold (void)
&& selected_cpu->tune->max_case_values != 0)
return selected_cpu->tune->max_case_values;
else
- return optimize_size ? default_case_values_threshold () : 17;
+ return optimize_size ? 8 : 11;
}
/* Return true if register REGNO is a valid index register.