From: Richard Sandiford Date: Sun, 21 Oct 2007 09:13:06 +0000 (+0000) Subject: mips.c (mips_rtx_costs): Only recognize reciprocals if ISA_HAS_FP4. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a1569a0e15fd6e03a5d52da09cdacd23cee0bc11;p=gcc.git mips.c (mips_rtx_costs): Only recognize reciprocals if ISA_HAS_FP4. gcc/ * config/mips/mips.c (mips_rtx_costs): Only recognize reciprocals if ISA_HAS_FP4. From-SVN: r129524 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cbc431f8e9b..154bcc84e25 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-10-21 Richard Sandiford + + * config/mips/mips.c (mips_rtx_costs): Only recognize reciprocals + if ISA_HAS_FP4. + 2007-10-21 Richard Sandiford * config/mips/mips.h (ISA_HAS_LDC1_SDC1): New macro. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 0948832b8ab..2ddb778462a 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -3305,22 +3305,18 @@ mips_rtx_costs (rtx x, int code, int outer_code, int *total) case DIV: /* Check for a reciprocal. */ - if (float_mode_p && XEXP (x, 0) == CONST1_RTX (mode)) + if (float_mode_p + && ISA_HAS_FP4 + && flag_unsafe_math_optimizations + && XEXP (x, 0) == CONST1_RTX (mode)) { - if (ISA_HAS_FP4 - && flag_unsafe_math_optimizations - && (outer_code == SQRT || GET_CODE (XEXP (x, 1)) == SQRT)) - { - /* An rsqrta or rsqrtb pattern. Count the - division as being free. */ - *total = rtx_cost (XEXP (x, 1), 0); - return true; - } - if (!ISA_MIPS1) - { - *total = mips_fp_div_cost (mode) + rtx_cost (XEXP (x, 1), 0); - return true; - } + if (outer_code == SQRT || GET_CODE (XEXP (x, 1)) == SQRT) + /* An rsqrta or rsqrtb pattern. Count the + division as being free. */ + *total = rtx_cost (XEXP (x, 1), 0); + else + *total = mips_fp_div_cost (mode) + rtx_cost (XEXP (x, 1), 0); + return true; } /* Fall through. */