diff options
author | Jeff Law <law@gcc.gnu.org> | 1993-12-13 22:20:15 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1993-12-13 22:20:15 -0700 |
commit | b0ce651a545eb6184a413991f1fb849187066d86 (patch) | |
tree | f483b15825bcf5b077ce273b745a8a7037e79c1e | |
parent | 59036ece8fc4530991ddfb4d74762caea3fce391 (diff) | |
download | gcc-b0ce651a545eb6184a413991f1fb849187066d86.zip gcc-b0ce651a545eb6184a413991f1fb849187066d86.tar.gz gcc-b0ce651a545eb6184a413991f1fb849187066d86.tar.bz2 |
pa.c (secondary_reload_class): Function addresses no longer need secondary reloads.
* pa.c (secondary_reload_class): Function addresses no longer
need secondary reloads.
(emit_move_sequence): Special handling of function addresses is
no longer needed.
From-SVN: r6228
-rw-r--r-- | gcc/config/pa/pa.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 5ba5a85..efdc02f 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -900,25 +900,7 @@ emit_move_sequence (operands, mode, scratch_reg) emit_insn (gen_rtx (SET, VOIDmode, temp, gen_rtx (HIGH, mode, operand1))); - if (function_label_operand (operand1, mode)) - { - rtx temp; - - if (reload_in_progress || reload_completed) - temp = scratch_reg; - else - temp = gen_reg_rtx (mode); - - if (!temp) - abort (); - emit_insn (gen_rtx (PARALLEL, VOIDmode, - gen_rtvec (2, - set, - gen_rtx (CLOBBER, VOIDmode, - temp)))); - } - else - emit_insn (set); + emit_insn (set); return 1; } return 1; @@ -3285,8 +3267,7 @@ secondary_reload_class (class, mode, in) { int regno = true_regnum (in); - if (function_label_operand (in, mode) - || ((regno >= FIRST_PSEUDO_REGISTER || regno == -1) + if (((regno >= FIRST_PSEUDO_REGISTER || regno == -1) && GET_MODE_CLASS (mode) == MODE_INT && FP_REG_CLASS_P (class)) || (class == SHIFT_REGS && (regno <= 0 || regno >= 32))) |