Commit 67e67979 by David Ung Committed by Jim Wilson

mips.c (mips_output_division): When GENERATE_DIVIDE_TRAPS...

* config/mips/mips.c (mips_output_division): When GENERATE_DIVIDE_TRAPS,
emit the trap instruction before the divide for TUNE_74K.

Co-Authored-By: James E. Wilson <wilson@codesourcery.com>

From-SVN: r159004
parent 35ad90d5
2010-05-03 David Ung <davidu@mips.com>
James E. Wilson <wilson@codesourcery.com>
* config/mip/mips.c (mips_output_division): When GENERATE_DIVIDE_TRAPS,
emit the trap instruction before the divide for TUNE_74K.
2010-05-03 Steven Bosscher <steven@gcc.gnu.org>
* doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
......
/* Subroutines used for MIPS code generation.
Copyright (C) 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by A. Lichnewsky, lich@inria.inria.fr.
Changes by Michael Meissner, meissner@osf.org.
......@@ -11817,10 +11817,17 @@ mips_output_division (const char *division, rtx *operands)
s = "bnez\t%2,1f\n\tbreak\t7\n1:";
}
else if (GENERATE_DIVIDE_TRAPS)
{
output_asm_insn (s, operands);
s = "teq\t%2,%.,7";
}
{
/* Avoid long replay penalty on load miss by putting the trap before
the divide. */
if (TUNE_74K)
output_asm_insn ("teq\t%2,%.,7", operands);
else
{
output_asm_insn (s, operands);
s = "teq\t%2,%.,7";
}
}
else
{
output_asm_insn ("%(bne\t%2,%.,1f", operands);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment