gcc/ 2016-12-09 Claudiu Zissulescu <claz...@synopsys.com> * config/arc/arc.c (arc_conditional_register_usage): Use ACCL, ACCH registers whenever they are available. --- gcc/config/arc/arc.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index f820622..73d72c68 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -1588,6 +1588,15 @@ arc_conditional_register_usage (void) SET_HARD_REG_BIT (reg_class_contents[WRITABLE_CORE_REGS], ACCH_REGNO); SET_HARD_REG_BIT (reg_class_contents[CHEAP_CORE_REGS], ACCL_REGNO); SET_HARD_REG_BIT (reg_class_contents[CHEAP_CORE_REGS], ACCH_REGNO); + SET_HARD_REG_BIT (reg_class_contents[GENERAL_REGS], ACCL_REGNO); + SET_HARD_REG_BIT (reg_class_contents[GENERAL_REGS], ACCH_REGNO); + SET_HARD_REG_BIT (reg_class_contents[MPY_WRITABLE_CORE_REGS], ACCL_REGNO); + SET_HARD_REG_BIT (reg_class_contents[MPY_WRITABLE_CORE_REGS], ACCH_REGNO); + + /* Allow the compiler to freely use them. */ + fixed_regs[ACCL_REGNO] = 0; + fixed_regs[ACCH_REGNO] = 0; + arc_hard_regno_mode_ok[ACC_REG_FIRST] = D_MODES; } } -- 1.9.1