Commit 8144a1a8 by Richard Sandiford Committed by Richard Sandiford

mips.h (CONSTANT_POOL_COST): Move to...

gcc/
2007-09-11  Richard Sandiford  <richard@codesourcery.com>
	    Nigel Stephens  <nigel@mips.com>
	    David Ung  <davidu@mips.com>
	
	* config/mips/mips.h (CONSTANT_POOL_COST): Move to...
	* config/mips/mips.c: ...here and set to 4 for TARGET_MIPS16.
	(mips16_constant_cost, mips_immediate_operand_p, mips_binary_cost)
	(mips_fp_mult_cost, mips_fp_div_cost, mips_sign_extend_cost)
	(mips_zero_extend_cost): New functions.
	(mips_rtx_costs): Treat COMPARE constants as having zero cost.
	Use the new functions.  Tweak many cost estimates, both here
	and in the new subroutines.  Return false when the cost of the
	operands has not been calculated.  Check for *clear_upper32.
	Check for floating-point multiply-add, reciprocal and rsqrt
	patterns.  Handle comparison and rotation codes.

Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r128364
parent b61c7743
2007-09-11 Richard Sandiford <richard@codesourcery.com>
Nigel Stephens <nigel@mips.com>
David Ung <davidu@mips.com>
* config/mips/mips.h (CONSTANT_POOL_COST): Move to...
* config/mips/mips.c: ...here and set to 4 for TARGET_MIPS16.
(mips16_constant_cost, mips_immediate_operand_p, mips_binary_cost)
(mips_fp_mult_cost, mips_fp_div_cost, mips_sign_extend_cost)
(mips_zero_extend_cost): New functions.
(mips_rtx_costs): Treat COMPARE constants as having zero cost.
Use the new functions. Tweak many cost estimates, both here
and in the new subroutines. Return false when the cost of the
operands has not been calculated. Check for *clear_upper32.
Check for floating-point multiply-add, reciprocal and rsqrt
patterns. Handle comparison and rotation codes.
2007-09-11 Danny Smith <dannysmith@users.sourceforge.net> 2007-09-11 Danny Smith <dannysmith@users.sourceforge.net>
* config/i386/cygming.h (TARGET_STRIP_NAME_ENCODING): Don't * config/i386/cygming.h (TARGET_STRIP_NAME_ENCODING): Don't
...@@ -2389,11 +2389,6 @@ typedef struct mips_args { ...@@ -2389,11 +2389,6 @@ typedef struct mips_args {
#define FUNCTION_MODE SImode #define FUNCTION_MODE SImode
/* The cost of loading values from the constant pool. It should be
larger than the cost of any constant we want to synthesize in-line. */
#define CONSTANT_POOL_COST COSTS_N_INSNS (8)
/* A C expression for the cost of moving data from a register in /* A C expression for the cost of moving data from a register in
class FROM to one in class TO. The classes are expressed using class FROM to one in class TO. The classes are expressed using
the enumeration values such as `GENERAL_REGS'. A value of 2 is the enumeration values such as `GENERAL_REGS'. A value of 2 is
......
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