I think the cost would be something like:
Index: rs6000.c =================================================================== --- rs6000.c (revision 127484) +++ rs6000.c (working copy) @@ -20292,10 +20292,15 @@ *total += COSTS_N_INSNS (2); return false; + case CTZ: case FFS: *total = COSTS_N_INSNS (4); return false; + case POPCOUNT: + *total = COSTS_N_INSNS (3); + return false; + case NOT: if (outer_code == AND || outer_code == IOR || outer_code == XOR) { @@ -20305,6 +20310,7 @@ /* FALLTHRU */ case AND: + case CLZ: case IOR: case XOR: case ZERO_EXTRACT: