From: jsm28 Date: Thu, 4 Jan 2007 16:36:57 +0000 (+0000) Subject: * config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0d9f413edbafbfe7627665e9f8431e6fb3e58cf5;p=thirdparty%2Fgcc.git * config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for MULT inside MINUS as either argument. Use rs6000_cost->dmul - rs6000_cost->fp not 0 as adjustment for outer NEG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120442 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 602f2e7e328a..c6b21eb1b69f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-01-04 Joseph Myers + + * config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for + MULT inside MINUS as either argument. Use rs6000_cost->dmul - + rs6000_cost->fp not 0 as adjustment for outer NEG. + 2007-01-04 Jan Hubicka * cgraph.c (cgraph_release_function_body): New function. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 15f263ab0166..7ef7551764f5 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -19738,11 +19738,12 @@ rs6000_rtx_costs (rtx x, int code, int outer_code, int *total) case MINUS: if (mode == DFmode) { - if (GET_CODE (XEXP (x, 0)) == MULT) + if (GET_CODE (XEXP (x, 0)) == MULT + || GET_CODE (XEXP (x, 1)) == MULT) { /* FNMA accounted in outer NEG. */ if (outer_code == NEG) - *total = 0; + *total = rs6000_cost->dmul - rs6000_cost->fp; else *total = rs6000_cost->dmul; }