(find_best_addr): Use cse_gen_binary.
(simplify_binary_operation, fold_rtx): Likewise.
Remove most special-cases for PLUS and MINUS and call
simplify_plus_minus instead.
Clean up some tests for FP.
From-SVN: r3680
(struct cse_basic_block_data): Move to front of file since it constains
struct used in a prototype.
(refers_to_p, find_best_addr): Now static.
From-SVN: r3675
(simplify_binary_operation): Move integer CONST_DOUBLE folding out of
REAL_IS_NOT_DOUBLE conditional.
(simplify_relational_operation): Put float CONST_DOUBLE folding under a
REAL_IS_NOT_DOUBLE conditional.
Add folding for integer CONST_DOUBLE comparisons.
From-SVN: r3661
(fixup_var_refs_insns): If SMALL_REGISTER_CLASSES, ensure we don't put
any insns between the setting of the function return register and it's use.
From-SVN: r3660
* pa.h (FIXED_REGISTERS): %r2 is no longer fixed.
(REG_ALLOC_ORDER): Treat %r2 as a caller-saved allocatable
register. %r30 is fixed and therefore a "special" register.
%fr22-%fr31 are caller-saved, so allocate them before the
callee-saved 1.1 fp registers. Allocate fp registers before
general registers. Fix typo for register 79.
* pa.h (FIRST_PSEUDO_REGISTER): Update to take into account
registers which are no longer known to the compiler.
(FIXED_REGISTERS): Likewise.
(CALL_USED_REGISTERS): Likewise.
(HARD_REGNO_NREGS): Likewise.
(HARD_REGNO_MODE_OK): Likewise.
(REGNO_REG_CLASS): Likewise.
(FUNCTION_VALUE): Likewise.
(LIBCALL_VALUE): Likewise.
(FUNCTION_VALUE_REGNO_P): Likewise.
(FUNCTION_ARG_REGNO_P): Likewise.
(FUNCTION_ARG): Likewise.
(REGNO_OK_FOR_FP_P): Likewise.
(REGISTER_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise. Add %r1 to GENERAL_OR_FP_REGS
and GENERAL_OR_SNAKE_FP_REGS.
(REG_ALLOC_ORDER): Likewise. Document and make allocation order
"regular" across 1.0 and 1.1 cpus.
From-SVN: r3659
* pa.c (output_function_epilogue): Perform an early %r2 restore
even if actual_fsize is zero. This can happen if %r2 is used
as a temporary in a leaf function.
* pa.c (compute_frame_size): Update to take into account
register which are no longer known to the compiler.
(output_function_prologue): Likewise.
(output_function_epilogue): Likewise.
(output_arg_descriptor): Likewise.
From-SVN: r3658
(store_parm_decls,combine_parm_decls): Call layout_decl
for a parm declared float when it is changed to double under a
traditional compilation.
From-SVN: r3652
(emit_no_conflict_block): Don't move target to itself
if that takes multiple insns.
(expand_binop): For complex mult and div, avoid fetching operand
components more than once from memory.
From-SVN: r3647