FreeBSD/contrib/binutils/gas/config/tc-mips.c
/* Like nops_for_insn, but if INSN is a branch, take into account the
   worst-case delay for the branch target.  */
Like nops_for_insn, but if INSN is a branch, take into account the
worst-case delay for the branch target.
Like nops_for_insn but if INSN is a branch take into account the worst - case delay for the branch target .
static int
nops_for_insn_or_target (const struct mips_cl_insn *history,
			 const struct mips_cl_insn *insn)
{
  int nops, tmp_nops;
  nops = nops_for_insn (history, insn);
  if (insn->insn_mo->pinfo & (INSN_UNCOND_BRANCH_DELAY
			      | INSN_COND_BRANCH_DELAY
			      | INSN_COND_BRANCH_LIKELY))
    {
      tmp_nops = nops_for_sequence (2, history, insn, NOP_INSN);
      if (tmp_nops > nops)
	nops = tmp_nops;
    }
  else if (mips_opts.mips16 && (insn->insn_mo->pinfo & MIPS16_INSN_BRANCH))
    {
      tmp_nops = nops_for_sequence (1, history, insn);
      if (tmp_nops > nops)
	nops = tmp_nops;
    }
  return nops;
}
static int nops_for_insn_or_target ( const struct mips_cl_insn * history , const struct mips_cl_insn * insn ) { int nops , tmp_nops ; nops = nops_for_insn ( history , insn ) ; if ( insn -> insn_mo -> pinfo & ( INSN_UNCOND_BRANCH_DELAY | INSN_COND_BRANCH_DELAY | INSN_COND_BRANCH_LIKELY ) ) { tmp_nops = nops_for_sequence ( 2 , history , insn , NOP_INSN ) ; if ( tmp_nops > nops ) nops = tmp_nops ; } else if ( mips_opts . mips16 && ( insn -> insn_mo -> pinfo & MIPS16_INSN_BRANCH ) ) { tmp_nops = nops_for_sequence ( 1 , history , insn ) ; if ( tmp_nops > nops ) nops = tmp_nops ; } return nops ; }
Like nops_for_insn, but if INSN is a branch, take into account the
worst-case delay for the branch target.
Like nops_for_insn but if INSN is a branch take into account the worst - case delay for the branch target .