FreeBSD/contrib/binutils/gas/config/tc-ia64.c
/* For Itanium 1, add a bit of extra goodness if a nop of type F or B would fit
   in TEMPL at SLOT.  For Itanium 2, add a bit of extra goodness if a nop of
   type M or I would fit in TEMPL at SLOT.  */
For Itanium 1, add a bit of extra goodness if a nop of type F or B would fit
in TEMPL at SLOT.  For Itanium 2, add a bit of extra goodness if a nop of
type M or I would fit in TEMPL at SLOT.
For Itanium 1 add a bit of extra goodness if a nop of type F or B would fit in TEMPL at SLOT . For Itanium 2 add a bit of extra goodness if a nop of type M or I would fit in TEMPL at SLOT .
static inline int
extra_goodness (int templ, int slot)
{
  switch (md.tune)
    {
    case itanium1:
      if (slot == 1 && match (templ, IA64_TYPE_F, slot))
	return 2;
      else if (slot == 2 && match (templ, IA64_TYPE_B, slot))
	return 1;
      else
	return 0;
      break;
    case itanium2:
      if (match (templ, IA64_TYPE_M, slot)
	  || match (templ, IA64_TYPE_I, slot))
	return 2;
      else
	return 0;
      break;
    default:
      abort ();
      return 0;
    }
}
static inline int extra_goodness ( int templ , int slot ) { switch ( md . tune ) { case itanium1 : if ( slot == 1 && match ( templ , IA64_TYPE_F , slot ) ) return 2 ; else if ( slot == 2 && match ( templ , IA64_TYPE_B , slot ) ) return 1 ; else return 0 ; break ; case itanium2 : if ( match ( templ , IA64_TYPE_M , slot ) || match ( templ , IA64_TYPE_I , slot ) ) return 2 ; else return 0 ; break ; default : abort ( ) ; return 0 ; } }
For Itanium 1, add a bit of extra goodness if a nop of type F or B would fit
in TEMPL at SLOT.
For Itanium 1 add a bit of extra goodness if a nop of type F or B would fit in TEMPL at SLOT .
/* Favor M- and I-unit NOPs.  We definitely want to avoid
	   F-unit and B-unit may cause split-issue or less-than-optimal
	   branch-prediction.  */