mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 18:40:06 +08:00
3e056efc31
* pa.c (pa_reorg): If TARGET_BIG_SWITCH, then do not explode ADDR_VEC insns. Slightly rework code which explodes ADDR_VEC insns. * pa.h (TARGET_BIG_SWITCH): Define. (TARGET_SWITCHES): Add "big-switch" and "no-big-switch". (CASE_VECTOR_MODE): Use TI or DI depending on TARGET_BIG_SWITCH. (CASE_DROPS_THROUGH): Remove definition. (ASM_OUTPUT_ADDR_VEC_ELT): Rewrite to handle TARGET_BIG_SWITCH. (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. * pa.md (casesi): Rework to avoid some potential long branch problems (also makes generated code faster!). Handle TARGET_BIG_SWITCH. (casesi0): Corresponding changes. From-SVN: r14528 |
||
---|---|---|
gcc |