diff options
author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-16 00:40:27 +0000 |
---|---|---|
committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-16 00:40:27 +0000 |
commit | 8ef684b36f7cae5d5e7feaa0c111c8a40c6ba6aa (patch) | |
tree | 34557a53c7e1b4458ef9ada3bf5621bc07820228 /gcc/config | |
parent | 4553ac62daf52f474938cc5faea21168d0503ab1 (diff) | |
download | gcc-8ef684b36f7cae5d5e7feaa0c111c8a40c6ba6aa.tar.gz |
* config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
POPCOUNT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127532 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index e9102766766..5354e525200 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -20298,10 +20298,15 @@ rs6000_rtx_costs (rtx x, int code, int outer_code, int *total) *total += COSTS_N_INSNS (2); return false; + case CTZ: case FFS: *total = COSTS_N_INSNS (4); return false; + case POPCOUNT: + *total = COSTS_N_INSNS (6); + return false; + case NOT: 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) /* FALLTHRU */ case AND: + case CLZ: case IOR: case XOR: case ZERO_EXTRACT: |