On Sat, Sep 20, 2014 at 2:23 PM, Segher Boessenkool
<seg...@kernel.crashing.org> wrote:

> Make the carry bit non-allocatable (i.e., of class NO_REGS).  It will
> only ever be assigned to explicitly by machine patterns.  Let it have
> mode SI or DI (if compiling for 64-bit), even though it only ever
> contains 0 or 1, so that the patterns will be simpler, and combine
> will have an easier time and more opportunities.  Do not allow CA
> as input_operand; we have no patterns for moving CA around (such
> patterns would be quite expensive).  Allow taking a subreg of CA; this
> happens e.g. for sraw in 64-bit mode.
>
>
> 2014-09-20  Segher Boessenkool  <seg...@kernel.crashing.org>
>
>         * config/rs6000/predicates.md (ca_operand): Allow subregs.
>         (input_operand): Do not allow ca_operand.
>         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): For the
>         carry bit, allow SImode and Pmode.
>         (rs6000_init_hard_regno_mode_ok): Make the carry bit class NO_REGS.

Okay.

Thanks, David

Reply via email to