On Fri, Dec 9, 2016 at 2:37 AM, Segher Boessenkool
<seg...@kernel.crashing.org> wrote:
> On CPUs that implement popcnt[wd] but not cnttz[wd] we can do better for
> the ctz sequences than we do today.
>
> CL[TZ]_DEFINED_VALUE_AT_ZERO can return 2, since we always return the
> same fixed value (only dependent on TARGET_* options).
>
> I originally tried to have the generic code handle this; that would be
> too much surgery for stage 3 though.
>
> Bootstrapped and tested on powerpc64-linux {-m32,-m64}; also tested
> manually with {-m32,-m64} -mcpu=power{4,7,9}.  Is this okay for trunk?
>
>
> Segher
>
>
> 2016-12-09  Segher Boessenkool  <seg...@kernel.crashing.org>
>
>         PR target/78683
>         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO):
>         Use GET_MODE_BITSIZE.  Return 2.
>         (CTZ_DEFINED_VALUE_AT_ZERO): Use GET_MODE_BITSIZE.  Return 2. Handle
>         TARGET_POPCNTD the same as TARGET_CTZ.
>         * config/rs6000/rs6000.md (ctz<mode>2): Reimplement.
>         (ffs<mode>2): Reimplement.

Okay.

Thanks, David

Reply via email to