Maciej Rozycki <maciej.rozy...@imgtec.com> writes: > gcc/ > * config/mips/mips-protos.h (mips_set_text_contents_type): New > prototype. > * config/mips/mips.h (ASM_OUTPUT_BEFORE_CASE_LABEL): New macro. > (ASM_OUTPUT_CASE_END): Likewise. > * config/mips/mips.c (mips_set_text_contents_type): New > function. > (mips16_emit_constants): Record the pool's initial label number > with the `consttable' insn. Emit a `consttable_end' insn at the > end. > (mips_final_prescan_insn): Call `mips_set_text_contents_type' > for `consttable' insns. > (mips_final_postscan_insn): Call `mips_set_text_contents_type' > for `consttable_end' insns. > * config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE_END enum > value. > (consttable): Add operand. > (consttable_end): New insn. > > gcc/testsuite/ > * gcc.target/mips/data-sym-jump.c: New test case. > * gcc.target/mips/data-sym-pool.c: New test case. > * gcc.target/mips/insn-pseudo-4.c: Adjust for constant pool > annotation.
Thanks for working on this it is really useful functionality. I'm a little concerned the expected output tests may be fragile over time but let's wait and see. OK to commit. Thanks, Matthew