aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sh/sh-protos.h
diff options
context:
space:
mode:
authorAnil Paranjape <anil.paranjape@kpitcummins.com>2008-03-25 13:32:13 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2008-03-25 13:32:13 +0000
commit561642fa67798158762265f5100e3052275fe970 (patch)
tree9d545fbf7312945f348908340895704e9ccd4110 /gcc/config/sh/sh-protos.h
parent53b308f61e96c47b54abf5c7db2e9831cbc43e66 (diff)
downloadgcc-561642fa67798158762265f5100e3052275fe970.zip
gcc-561642fa67798158762265f5100e3052275fe970.tar.gz
gcc-561642fa67798158762265f5100e3052275fe970.tar.bz2
sh.c (SH_ATTRIBUTES): Define.
* config/sh/sh.c (SH_ATTRIBUTES): Define. (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define. (print_operand): Handle resbank in %@ operand code. (sh_encode_section_info): New. (push_regs): Add conditions for resbank. (sh_expand_epilogue): Likewise. (sh_insert_attributes): Likewise. (sh_attribute_table): Likewise. (sh_handle_resbank_handler_attribute): New. (sh2a_handle_function_vector_handler_attribute): New. (sh2a_is_function_vector_call): New. (sh2a_get_function_vector_number): New. (sh2a_function_vector_p): New. (sh_cfun_resbank_handler_p): New. * config/sh/sh.md (calli): Emit jsr/n if possible. (calli_tbr_rel): New. (calli_pcrel): Emit jsr/n if possible. (return_i): Emit rts/n if possible. (call_valuei_tbr_rel): New. (call_valuei_pcrel): Add condition for SH2A target. (call_value): Likewise. * config/sh/sh-protos.h (sh_cfun_resbank_handler_p): Declare. (sh2a_get_function_vector_number): Likewise. (sh2a_is_function_vector_call): Likewise. * doc/extend.texi: Document TBR relative addressing of SH2A. (resbank): Add description for SH2A. * gcc.target/sh/sh2a-resbank.c: New test. * gcc.target/sh/sh2a-tbr-jump.c: New test. * gcc.target/sh/sh2a-jsrn.c: New test. * gcc.target/sh/sh2a-rtsn.c: New test. Co-Authored-By: Jayant R Sonar <jayant.sonar@kpitcummins.com> Co-Authored-By: Naveen.H.S <naveen.hs@kpitcummins.com> From-SVN: r133513
Diffstat (limited to 'gcc/config/sh/sh-protos.h')
-rw-r--r--gcc/config/sh/sh-protos.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 25d9ce4..9e1a488 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -134,6 +134,7 @@ extern int initial_elimination_offset (int, int);
extern int fldi_ok (void);
extern int sh_hard_regno_rename_ok (unsigned int, unsigned int);
extern int sh_cfun_interrupt_handler_p (void);
+extern int sh_cfun_resbank_handler_p (void);
extern int sh_attr_renesas_p (const_tree);
extern int sh_cfun_attr_renesas_p (void);
extern void sh_initialize_trampoline (rtx, rtx, rtx);
@@ -170,6 +171,8 @@ struct secondary_reload_info;
extern enum reg_class sh_secondary_reload (bool, rtx, enum reg_class,
enum machine_mode,
struct secondary_reload_info *);
+extern int sh2a_get_function_vector_number (rtx);
+extern int sh2a_is_function_vector_call (rtx);
#endif /* ! GCC_SH_PROTOS_H */