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