r130970 - /trunk/gcc/config/cris/cris.h

hp@gcc.gnu.org hp@gcc.gnu.org
Sat Dec 15 21:37:00 GMT 2007


Author: hp
Date: Sat Dec 15 21:37:55 2007
New Revision: 130970

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130970
Log:
	* config/cris/cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
	(CRIS_DEFAULT_TUNE, CRIS_ARCH_CPP_DEFAULT)
	(CRIS_DEFAULT_ASM_ARCH_OPTION): New macros.
	(CRIS_CC1_SUBTARGET_SPEC): Change default tuning to use
	CRIS_DEFAULT_TUNE. 
	(CRIS_CPP_SUBTARGET_SPEC): Ditto.  Add CRIS_ARCH_CPP_DEFAULT.
	(ASM_SPEC): Add sanity-check erroring out when both -march= and
	-mcpu= are specified.  Pass on either as --march=v32.
	(CRIS_ASM_SUBTARGET_SPEC): When neither -march= or -mcpu= are
	specified, pass on CRIS_DEFAULT_ASM_ARCH_OPTION.
	(CRIS_CPU_V32): New macro.
	[!TARGET_CPU_DEFAULT]: Default-define as CRIS_CPU_BASE.
	[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]: Move default
	TARGET_DEFAULT definition after new TARGET_CPU_DEFAULT definition.
	Define v32-adjusted TARGET_DEFAULT.
	(CRIS_DEFAULT_CPU_VERSION): Change to TARGET_CPU_DEFAULT from
	CRIS_CPU_BASE.
	(TARGET_V32): New macro.
	(REG_ALLOC_ORDER_V32): New macro.
	(HARD_REGNO_MODE_OK): Do not allow larger-than-register-size modes
	into CRIS_ACR_REGNUM.
	(enum reg_class): New classes ACR_REGS, SPEC_ACR_REGS,
	GENNONACR_REGS and SPEC_GENNONACR_REGS.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Adjust for new classes.
	(REGNO_REG_CLASS): Give ACR_REGS for CRIS_ACR_REGNUM.
	(MODE_CODE_BASE_REG_CLASS): Define, give for OCODE POST_INC
	GENNONACR_REGS, BASE_REG_CLASS otherwise.
	(REG_CLASS_FROM_LETTER): 'a' is for ACR_REGS.
	(REGNO_MODE_CODE_OK_FOR_BASE_P): Define, refusing OCODE POST_INC
	for CRIS_ACR_REGNUM.
	(PREFERRED_RELOAD_CLASS): Keep ACR_REGS as preferred.
	(HARD_REGNO_RENAME_OK): Refuse CRIS_ACR_REGNUM as TO.
	(EXTRA_CONSTRAINT): New constraint 'U'.
	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE)
	(ASM_OUTPUT_ADDR_DIFF_ELT): Adjust for CRIS v32.
	(BASE_OR_AUTOINCR_P): Refuse POST_INC for CRIS_ACR_REGNUM.
	(SIMPLE_ADDRESS_P): Remove.
	(GO_IF_LEGITIMATE_ADDRESS): Use BASE_OR_AUTOINCR_P, not redundant
	SIMPLE_ADDRESS_P.  Make one chained if-else, finishing as
	non-match after BASE_OR_AUTOINCR_P for TARGET_V32.
	(REGISTER_MOVE_COST): Just call the new function
	cris_register_move_cost.
	(enum cris_pic_symbol_type): Rename cris_gotrel_symbol to
	cris_rel_symbol.  All users changed.
	(REGISTER_NAMES): Replace "pc" with "acr".
	(ADDITIONAL_REGISTER_NAMES): Add "pc" for 15.
	(ASM_OUTPUT_REG_PUSH): Change to v32-compatible sequence.
	(ASM_OUTPUT_REG_POP): Change to v32-compatible syntax.
	(ASM_OUTPUT_CASE_END): Just call the new function
	cris_asm_output_case_end.

Modified:
    trunk/gcc/config/cris/cris.h



More information about the Gcc-cvs mailing list