diff options
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/c6x/c6x.c | 4 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 5 |
2 files changed, 3 insertions, 6 deletions
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c index 05b111e..f6a4518 100644 --- a/gcc/config/c6x/c6x.c +++ b/gcc/config/c6x/c6x.c @@ -1094,7 +1094,7 @@ c6x_call_saved_register_used (tree call_expr) INIT_CUMULATIVE_ARGS (cum_v, NULL, NULL, 0, 0); cum = pack_cumulative_args (&cum_v); - COMPL_HARD_REG_SET (call_saved_regset, call_used_reg_set); + call_saved_regset = ~call_used_reg_set; for (i = 0; i < call_expr_nargs (call_expr); i++) { parameter = CALL_EXPR_ARG (call_expr, i); @@ -3472,7 +3472,7 @@ try_rename_operands (rtx_insn *head, rtx_insn *tail, unit_req_table reqs, } /* If we get here, we can do the renaming. */ - COMPL_HARD_REG_SET (unavailable, reg_class_contents[(int) super_class]); + unavailable = ~reg_class_contents[super_class]; old_reg = this_head->regno; best_reg = diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index d1af580..4b70ac9 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -6908,11 +6908,8 @@ push_regs (HARD_REG_SET *mask, bool interrupt_handler) if (i == FIRST_FP_REG && interrupt_handler && TARGET_FMOVD && hard_reg_set_intersect_p (*mask, reg_class_contents[DF_REGS])) { - HARD_REG_SET unsaved; - push (FPSCR_REG); - COMPL_HARD_REG_SET (unsaved, *mask); - fpscr_set_from_mem (NORMAL_MODE (FP_MODE), unsaved); + fpscr_set_from_mem (NORMAL_MODE (FP_MODE), ~*mask); skip_fpscr = true; } if (i != PR_REG |