From: Torbjorn Granlund Date: Thu, 24 Sep 1992 19:36:29 +0000 (+0000) Subject: (clobbered_register): Delete. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa5e5c1e7a443c1270999f1bc8f164b025df3e17;p=gcc.git (clobbered_register): Delete. (srcsi_operand): Return 1 also for things matching depi_cint_operand. (secondary_reload_class): Replace. From-SVN: r2233 --- diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 1e18a145fac..f723542eb95 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -382,15 +382,6 @@ arith32_operand (op, mode) return register_operand (op, mode) || GET_CODE (op) == CONST_INT; } -/* Return truth value of statement that OP is a call-clobbered register. */ -int -clobbered_register (op, mode) - rtx op; - enum machine_mode mode; -{ - return (GET_CODE (op) == REG && call_used_regs[REGNO (op)]); -} - /* True iff OP can be the source of a move to a general register. */ int srcsi_operand (op, mode) @@ -405,6 +396,9 @@ srcsi_operand (op, mode) if (nonimmediate_operand (op, mode)) return 1; + if (depi_cint_operand (op, mode)) + return 1; + /* OK if ldo or ldil can be used. */ return (GET_CODE (op) == CONST_INT && (INT_14_BITS (op) || (INTVAL (op) & 0x7ff) == 0)); @@ -2378,8 +2372,8 @@ output_arg_descriptor (insn) fputc ('\n', asm_out_file); } -/* Memory loads/stores to/from fp registers may need a scratch - register in which to reload the address. */ +/* Memory loads/stores to/from the shift need to go through + the general registers. */ enum reg_class secondary_reload_class (class, mode, in) @@ -2389,12 +2383,10 @@ secondary_reload_class (class, mode, in) { int regno = true_regnum (in); - if ((regno >= FIRST_PSEUDO_REGISTER || regno == -1) - && (class == FP_REGS || class == SNAKE_FP_REGS - || class == HI_SNAKE_FP_REGS)) + if (class == SHIFT_REGS && (regno <= 0 || regno >= 32)) return GENERAL_REGS; - else - return NO_REGS; + + return NO_REGS; } enum direction