Commit 5a1c10de by Torbjorn Granlund

(FUNCTION_INCOMING_ARG): Delete definition.

(RTX_COSTS) [PLUS]: Rewrite.
(output_scc_insn): Delete.
(output_floatsisf2): Delete.
(output_floatsidf2): Delete.
(PREDICATE_CODES): Define, but leave within #if 0 for now.
(CONDITIONAL_REGISTER_USAGE): Never make
PIC_OFFSET_TABLE_REGNUM fixed.
(INITIALIZE_PIC): Delete.

From-SVN: r6293
parent 23f6f34f
...@@ -292,7 +292,6 @@ extern int target_flags; ...@@ -292,7 +292,6 @@ extern int target_flags;
Freg 12L-21R = Preserved Registers Freg 12L-21R = Preserved Registers
Freg 22L-31R = Temporary Registers Freg 22L-31R = Temporary Registers
*/ */
#define FIXED_REGISTERS \ #define FIXED_REGISTERS \
...@@ -371,8 +370,10 @@ extern int target_flags; ...@@ -371,8 +370,10 @@ extern int target_flags;
if (TEST_HARD_REG_BIT (x, i)) \ if (TEST_HARD_REG_BIT (x, i)) \
fixed_regs[i] = call_used_regs[i] = 1; \ fixed_regs[i] = call_used_regs[i] = 1; \
} \ } \
/* This makes cse think PIC_OFFSET_TABLE_REGNUM is not clobbered
in calls. \
if (flag_pic) \ if (flag_pic) \
fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \ fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1; */ \
} }
/* Allocated the call used registers first. This should minimize /* Allocated the call used registers first. This should minimize
...@@ -475,7 +476,6 @@ extern int target_flags; ...@@ -475,7 +476,6 @@ extern int target_flags;
#define PIC_OFFSET_TABLE_REGNUM 19 #define PIC_OFFSET_TABLE_REGNUM 19
#define INITIALIZE_PIC initialize_pic ()
#define FINALIZE_PIC finalize_pic () #define FINALIZE_PIC finalize_pic ()
/* SOM ABI says that objects larger than 64 bits are returned in memory. */ /* SOM ABI says that objects larger than 64 bits are returned in memory. */
...@@ -726,7 +726,7 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FP_REGS, GENERAL_OR_FP_REGS, ...@@ -726,7 +726,7 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FP_REGS, GENERAL_OR_FP_REGS,
#define FUNCTION_VALUE(VALTYPE, FUNC) \ #define FUNCTION_VALUE(VALTYPE, FUNC) \
gen_rtx (REG, TYPE_MODE (VALTYPE), ((TYPE_MODE (VALTYPE) == SFmode ||\ gen_rtx (REG, TYPE_MODE (VALTYPE), ((TYPE_MODE (VALTYPE) == SFmode || \
TYPE_MODE (VALTYPE) == DFmode) ? \ TYPE_MODE (VALTYPE) == DFmode) ? \
(TARGET_SNAKE ? 44 : 32) : 28)) (TARGET_SNAKE ? 44 : 32) : 28))
...@@ -823,12 +823,6 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FP_REGS, GENERAL_OR_FP_REGS, ...@@ -823,12 +823,6 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FP_REGS, GENERAL_OR_FP_REGS,
: (27 - (CUM) - FUNCTION_ARG_SIZE ((MODE), (TYPE))))))\ : (27 - (CUM) - FUNCTION_ARG_SIZE ((MODE), (TYPE))))))\
: 0) : 0)
/* Define where a function finds its arguments.
This would be different from FUNCTION_ARG if we had register windows. */
#define FUNCTION_INCOMING_ARG(CUM, MODE, TYPE, NAMED) \
FUNCTION_ARG (CUM, MODE, TYPE, NAMED)
/* For an arg passed partly in registers and partly in memory, /* For an arg passed partly in registers and partly in memory,
this is the number of registers used. this is the number of registers used.
For args passed entirely in registers or entirely in memory, zero. */ For args passed entirely in registers or entirely in memory, zero. */
...@@ -1507,8 +1501,12 @@ while (0) ...@@ -1507,8 +1501,12 @@ while (0)
case MOD: \ case MOD: \
case UMOD: \ case UMOD: \
return COSTS_N_INSNS (60); \ return COSTS_N_INSNS (60); \
case PLUS: /* this includes shNadd insns */ \ case PLUS: \
return COSTS_N_INSNS (1) + 2; if (GET_CODE (XEXP (X, 0)) == MULT \
&& shadd_operand (XEXP (XEXP (X, 0), 1), VOIDmode)) \
return (2 + rtx_cost (XEXP (XEXP (X, 0), 0), OUTER_CODE) \
+ rtx_cost (XEXP (X, 1), OUTER_CODE)); \
break;
/* Adjust the cost of dependencies. */ /* Adjust the cost of dependencies. */
...@@ -1928,15 +1926,12 @@ extern char *output_ior (); ...@@ -1928,15 +1926,12 @@ extern char *output_ior ();
extern char *output_move_double (); extern char *output_move_double ();
extern char *output_fp_move_double (); extern char *output_fp_move_double ();
extern char *output_block_move (); extern char *output_block_move ();
extern char *output_scc_insn ();
extern char *output_cbranch (); extern char *output_cbranch ();
extern char *output_bb (); extern char *output_bb ();
extern char *output_dbra (); extern char *output_dbra ();
extern char *output_movb (); extern char *output_movb ();
extern char *output_return (); extern char *output_return ();
extern char *output_call (); extern char *output_call ();
extern char *output_floatsisf2 ();
extern char *output_floatsidf2 ();
extern char *output_mul_insn (); extern char *output_mul_insn ();
extern char *output_div_insn (); extern char *output_div_insn ();
extern char *output_mod_insn (); extern char *output_mod_insn ();
...@@ -1948,3 +1943,38 @@ extern struct rtx_def *gen_cmp_fp (); ...@@ -1948,3 +1943,38 @@ extern struct rtx_def *gen_cmp_fp ();
extern void hppa_encode_label (); extern void hppa_encode_label ();
extern struct rtx_def *hppa_save_pic_table_rtx; extern struct rtx_def *hppa_save_pic_table_rtx;
#if 0
#define PREDICATE_CODES \
{"reg_or_0_operand", {SUBREG, REG, CONST_INT}}, \
{"reg_or_cint_move_operand", {SUBREG, REG, CONST_INT}}, \
{"arith_operand", {SUBREG, REG, CONST_INT}}, \
{"arith32_operand", {SUBREG, REG, CONST_INT}}, \
{"arith11_operand", {SUBREG, REG, CONST_INT}}, \
{"arith5_operand", {SUBREG, REG, CONST_INT}}, \
{"pre_cint_operand", {CONST_INT}}, \
{"post_cint_operand", {CONST_INT}}, \
{"int5_operand", {CONST_INT}}, \
{"uint5_operand", {CONST_INT}}, \
{"uint32_operand", {CONST_INT}}, \
{"int11_operand", {CONST_INT}}, \
{"and_operand", {SUBREG, REG, CONST_INT}}, \
{"ior_operand", {CONST_INT}}, \
{"lhs_lshift_operand", {SUBREG, REG, CONST_INT}}, \
{"lhs_lshift_cint_operand", {CONST_INT}}, \
{"plus_xor_ior_operator", {PLUS, XOR, IOR}}, \
{"shadd_operand", {CONST_INT}}, \
{"eq_neq_comparison_operator", {EQ, NE}}, \
{"movb_comparison_operator", {EQ, NE, LT, GE}}, \
{"pc_or_label_operand", {LABEL_REF, PC}}, \
{"symbolic_operand", {SYMBOL_REF, LABEL_REF, CONST}}, \
{"reg_or_nonsymb_mem_operand", {REG, SUBREG, MEM}}, \
{"move_operand", {REG, SUBREG, CONST_INT, MEM}}, \
{"pic_operand", {REG, SUBREG, CONST_INT, SYMBOL_REF, LABEL_REF, \
CONST, HIGH, PC}}, /* No clue */ \
{"function_label_operand", {SYMBOL_REF}}, \
{"reg_or_0_or_nonsymb_mem_operand", {REG, SUBREG, CONST_INT, MEM}}, \
{"div_operand", {REG, CONST_INT}}, \
{"call_operand_address", {LABEL_REF, SYMBOL_REF, CONST_INT, \
CONST, HIGH}},
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment