Commit 32f56aad by David Edelsohn Committed by David Edelsohn

rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and POPCOUNT.

        * config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
        POPCOUNT.

From-SVN: r127532
parent 262a5154
2007-08-15 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
POPCOUNT.
2007-08-15 Daniel Jacobowitz <dan@codesourcery.com> 2007-08-15 Daniel Jacobowitz <dan@codesourcery.com>
* config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute * config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute
......
...@@ -20298,10 +20298,15 @@ rs6000_rtx_costs (rtx x, int code, int outer_code, int *total) ...@@ -20298,10 +20298,15 @@ rs6000_rtx_costs (rtx x, int code, int outer_code, int *total)
*total += COSTS_N_INSNS (2); *total += COSTS_N_INSNS (2);
return false; return false;
case CTZ:
case FFS: case FFS:
*total = COSTS_N_INSNS (4); *total = COSTS_N_INSNS (4);
return false; return false;
case POPCOUNT:
*total = COSTS_N_INSNS (6);
return false;
case NOT: case NOT:
if (outer_code == AND || outer_code == IOR || outer_code == XOR) if (outer_code == AND || outer_code == IOR || outer_code == XOR)
{ {
...@@ -20311,6 +20316,7 @@ rs6000_rtx_costs (rtx x, int code, int outer_code, int *total) ...@@ -20311,6 +20316,7 @@ rs6000_rtx_costs (rtx x, int code, int outer_code, int *total)
/* FALLTHRU */ /* FALLTHRU */
case AND: case AND:
case CLZ:
case IOR: case IOR:
case XOR: case XOR:
case ZERO_EXTRACT: case ZERO_EXTRACT:
......
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