-
- Downloads
[ARC] Add BI/BIH instruction support.
Use BI/BIH instruction to implement casesi pattern. Only ARC V2. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_override_options): Remove TARGET_COMPACT_CASESI. * config/arc/arc.h (ASM_OUTPUT_ADDR_DIFF_ELT): Update. (CASE_VECTOR_MODE): Likewise. (CASE_VECTOR_PC_RELATIVE): Likewise. (CASE_VECTOR_SHORTEN_MODE): Likewise. (CASE_VECTOR_SHORTEN_MODE1): Delete. (ADDR_VEC_ALIGN): Update. (ASM_OUTPUT_CASE_LABEL): Undefine. (ASM_OUTPUT_BEFORE_CASE_LABEL): Undefine. (TARGET_BI_BIH): Define. (DEFAULT_BRANCH_INDEX): Likewise. * config/arc/arc.md (casesi): Rework to accept BI/BIH instructions, remove compact_casesi use case. (casesi_compact_jump): Remove. (casesi_dispatch): New pattern. * config/arc/arc.opt: Add mbranch-index option. Deprecate compact_casesi option. * doc/invoke.texi: Document mbranch-index option. gcc/testsuite xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/jumptable.c: New test. From-SVN: r265675
Showing
- gcc/ChangeLog 22 additions, 0 deletionsgcc/ChangeLog
- gcc/config/arc/arc.c 0 additions, 19 deletionsgcc/config/arc/arc.c
- gcc/config/arc/arc.h 65 additions, 45 deletionsgcc/config/arc/arc.h
- gcc/config/arc/arc.md 55 additions, 149 deletionsgcc/config/arc/arc.md
- gcc/config/arc/arc.opt 5 additions, 1 deletiongcc/config/arc/arc.opt
- gcc/doc/invoke.texi 7 additions, 2 deletionsgcc/doc/invoke.texi
- gcc/testsuite/ChangeLog 4 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/arc/jumptable.c 34 additions, 0 deletionsgcc/testsuite/gcc.target/arc/jumptable.c
Loading
Please register or sign in to comment