pa.c (pa_reorg): If TARGET_BIG_SWITCH, then do not explode ADDR_VEC insns.
authorJeff Law <law@gcc.gnu.org>
Fri, 25 Jul 1997 17:02:37 +0000 (11:02 -0600)
committerJeff Law <law@gcc.gnu.org>
Fri, 25 Jul 1997 17:02:37 +0000 (11:02 -0600)
commit3e056efc31aab68f650a3fa5918ca2d7fb516852
tree6efe17b5c1f3712932f0777e4cc93730a0356e51
parentb60334e840e077c460eb5e9a08f990c9844f2a48
pa.c (pa_reorg): If TARGET_BIG_SWITCH, then do not explode ADDR_VEC insns.

        * 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/config/pa/pa.c
gcc/config/pa/pa.h
gcc/config/pa/pa.md