cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
* 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. From-SVN: r130970
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment