This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, MIPS] fix MIPS16 jump table overflow
Sandra Loosemore <sandra@codesourcery.com> writes:
> 2012-08-22 Julian Brown <julian@codesourcery.com>
> Sandra Loosemore <sandra@codesourcery.com>
>
> gcc/
> * config/mips/mips.md
> (UNSPEC_CASESI_DISPATCH): New.
> (MIPS16_T_REGNUM): New constant.
> (tablejump): Don't use for MIPS16_SHORT_JUMP_TABLES.
> (casesi): New.
> (casesi_internal_mips16_<mode>): New.
> * config/mips/mips.c (mips16_split_long_branches): Adjust test
> to ignore casesi jump tables.
> * config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update
> comment.
> (CASE_VECTOR_MODE): Use SImode unconditionally.
> (CASE_VECTOR_SHORTEN_MODE): Define.
> (ASM_OUTPUT_ADDR_DIFF_ELT): Output word-sized addr_diff_elts
> when necessary for MIPS16_SHORT_JUMP_TABLES.
>
> gcc/testsuite/
> * gcc.target/mips/code-readable-1.c: Add -O to options.
OK, thanks.
Richard