This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH,SH] Add SH2A new instructions 1/6


Hi Kaz,

>> find and fix them yourself and re-post the revised patch when the
>> trunk returns to stage1.

Please find the revised patch attached "sh2a1.patch" as per the
suggestions. Thanks a lot for the valuable guidance.

>> describe how the patch was tested more explicitly next time

The patch was tested using the C and C++ testsuite for all the SH2A
combinations.

ChangeLog
2008-03-19  Anil Paranjape  <anil.paranjape@kpitcummins.com>
            Jayant Sonar  <Jayant.sonar@kpitcummins.com>
		Naveen.H.S  <naveen.hs@kpitcummins.com>
          	            
	  * 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): Add condition for SH2A target.
	  * 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.
	  (resbank): Added description for SH2A target.
	
	  * 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.

Regards,
Naveen.H.S.
KPIT Cummins Infosystems Ltd,
Pune (INDIA) 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	
Free download of GNU based tool-chains for Renesas' SH, H8, R8C, M16C	
and M32C Series. The following site also offers free technical support	
to its users. Visit http://www.kpitgnutools.com for details. 	
Latest versions of KPIT GNU tools were released on February 4, 2008.	
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	

Attachment: sh2a1.patch
Description: sh2a1.patch


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]