aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-phinodes.c
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2005-03-03 03:53:29 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2005-03-03 03:53:29 +0000
commitf60c7155c144c7d4f6f321eeafe5773976f0528c (patch)
tree79941ea418e91490baa9e14c4e6d7c7af887ba8c /gcc/tree-phinodes.c
parent768875a86fdf0a487ba662404e04f1898ce88c1e (diff)
downloadgcc-f60c7155c144c7d4f6f321eeafe5773976f0528c.zip
gcc-f60c7155c144c7d4f6f321eeafe5773976f0528c.tar.gz
gcc-f60c7155c144c7d4f6f321eeafe5773976f0528c.tar.bz2
Describe special registers SRP and MOF as allocatable registers.
* config/cris/cris.c (cris_md_asm_clobbers): New function. (TARGET_MD_ASM_CLOBBERS): Define to cris_md_asm_clobbers. (cris_conditional_register_usage): Enable CRIS_MOF_REGNUM if TARGET_HAS_MUL_INSNS. (cris_print_operand) <case 'd'>: New case. <case REG>: Allow CRIS_MOF_REGNUM and CRIS_SRP_REGNUM. * config/cris/cris.h (CRIS_PC_REGNUM, CRIS_SRP_REGNUM): Don't define. (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS) (REG_ALLOC_ORDER): Update for MOF. (enum reg_class): New members MOF_REGS, GENERAL_REGS and SPECIAL_REGS. (GENERAL_REGS): No longer a define of ALL_REGS. (REGNO_REG_CLASS, REG_CLASS_CONTENTS, REG_CLASS_NAMES) (PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER): Adjust accordingly. (CRIS_SPECIAL_REGS_CONTENTS): New macro. (REG_CLASS_FROM_LETTER): Allocate 'h' and 'x'. (SECONDARY_RELOAD_CLASS): Define. (STACK_POINTER_REGNUM): Define as CRIS_SP_REGNUM. (FRAME_POINTER_REGNUM): Define as CRIS_FP_REGNUM. (ARG_POINTER_REGNUM): Define as CRIS_AP_REGNUM. (STATIC_CHAIN_REGNUM): Define as CRIS_STATIC_CHAIN_REGNUM. (REGISTER_MOVE_COST): Define. (PIC_OFFSET_TABLE_REGNUM): Define in terms of CRIS_GOT_REGNUM. * config/cris/cris.md (CRIS_GOT_REGNUM, CRIS_STATIC_CHAIN_REGNUM) (CRIS_FP_REGNUM, CRIS_SP_REGNUM, CRIS_SRP_REGNUM, CRIS_AP_REGNUM) (CRIS_MOF_REGNUM): New define_constants. ("*movsi_internal", "movhi", "movqi", "movsf"): Add alternatives for special registers. ("reload_inhi", "reload_outhi", "reload_inqi", ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3") ("mulsidi3", "umulsidi3", "smulsi3_highpart", "umulsi3_highpart"): Adjust for MOF being properly described as a register. (indir_to_reg_split): Name this split. Conditionalize on the destination register being a general register. (movei): Conditionalize on on operands 0 and 1 having the same register class. From-SVN: r95823
Diffstat (limited to 'gcc/tree-phinodes.c')
0 files changed, 0 insertions, 0 deletions