This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Add conditional addition patterns


> On Thu, Nov 21, 2002 at 11:39:58PM +0100, Jan Hubicka wrote:
> > We define inccc/deccc patterns but have no way to generate them.
> 
> We do?  Where?
Kind of:
Some machines can also perform @code{and} or @code{plus} operations on
condition code values with less instructions than the corresponding
@samp{s@var{cond}} insn followed by @code{and} or @code{plus}.  On those
machines, define the appropriate patterns.  Use the names @code{incscc}
and @code{decscc}, respectively, for the patterns which perform
@code{plus} or @code{minus} operations on condition code values.  See
@file{rs6000.md} for some examples.  The GNU Superoptizer can be used to
find such instruction sequences on other machines.

We also ask for existence of these patterns

static int
noce_try_store_flag_inc (if_info)
     struct noce_if_info *if_info;
{
  rtx target, seq;
  int subtract, normalize;

  if (! no_new_pseudos
      && (BRANCH_COST >= 2
	  || HAVE_incscc
	  || HAVE_decscc)

But my patch attempts to solve the situation differently...

Honza
> 
> 
> r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]