Commit 7f22b9fc by Roger Sayle Committed by Roger Sayle

ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute x87 instructions.


	* ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
	x87 instructions.

From-SVN: r116501
parent b27788aa
2006-08-27 Roger Sayle <roger@eyesopen.com>
* ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
x87 instructions.
2006-08-27 Kazu Hirata <kazu@codesourcery.com> 2006-08-27 Kazu Hirata <kazu@codesourcery.com>
* config/i386/crtfastmath.c: Fix a comment typo. * config/i386/crtfastmath.c: Fix a comment typo.
......
/* If-conversion support. /* If-conversion support.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -153,14 +153,16 @@ cheap_bb_rtx_cost_p (basic_block bb, int max_cost) ...@@ -153,14 +153,16 @@ cheap_bb_rtx_cost_p (basic_block bb, int max_cost)
/* If this instruction is the load or set of a "stack" register, /* If this instruction is the load or set of a "stack" register,
such as a floating point register on x87, then the cost of such as a floating point register on x87, then the cost of
speculatively executing this instruction needs to include speculatively executing this insn may need to include
the additional cost of popping this register off of the the additional cost of popping its result off of the
register stack. */ register stack. Unfortunately, correctly recognizing and
accounting for this additional overhead is tricky, so for
now we simply prohibit such speculative execution. */
#ifdef STACK_REGS #ifdef STACK_REGS
{ {
rtx set = single_set (insn); rtx set = single_set (insn);
if (set && STACK_REG_P (SET_DEST (set))) if (set && STACK_REG_P (SET_DEST (set)))
cost += COSTS_N_INSNS (1); return false;
} }
#endif #endif
......
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