Commit 48ddd46c by Jan Hubicka Committed by Jan Hubicka

i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.


	* i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.

	* gcse.c (cprop_jump): Check that the register has not
	been modified
	(cprop_jump): Likewise.

From-SVN: r57648
parent ca25149e
Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
* i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
* gcse.c (cprop_jump): Check that the register has not
been modified
(cprop_jump): Likewise.
2002-09-30 Richard Earnshaw <rearnsha@arm.com>
* arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
......
......@@ -529,6 +529,10 @@ extern int x86_prefetch_sse;
builtin_define ("__SSE__"); \
if (TARGET_SSE2) \
builtin_define ("__SSE2__"); \
if (TARGET_SSE_MATH && TARGET_SSE) \
builtin_define ("__SSE_MATH__"); \
if (TARGET_SSE_MATH && TARGET_SSE2) \
builtin_define ("__SSE2_MATH__"); \
\
/* Built-ins based on -march=. */ \
if (ix86_arch == PROCESSOR_I486) \
......
......@@ -4054,7 +4054,9 @@ cprop_jump (bb, setcc, jump, from, src)
/* First substitute in the INSN condition as the SET_SRC of the JUMP,
then substitute that given values in this expanded JUMP. */
if (setcc != NULL)
if (setcc != NULL
&& !modified_between_p (from, setcc, jump)
&& !modified_between_p (src, setcc, jump))
{
rtx setcc_set = single_set (setcc);
new_set = simplify_replace_rtx (SET_SRC (set),
......@@ -4068,7 +4070,7 @@ cprop_jump (bb, setcc, jump, from, src)
/* If no simplification can be made, then try the next
register. */
if (rtx_equal_p (new, new_set))
if (rtx_equal_p (new, new_set) || rtx_equal_p (new, SET_SRC (set)))
return 0;
/* If this is now a no-op delete it, otherwise this must be a valid insn. */
......@@ -4076,6 +4078,11 @@ cprop_jump (bb, setcc, jump, from, src)
delete_insn (jump);
else
{
/* Ensure the value computed inside the jump insn to be equivalent
to one computed by setcc. */
if (setcc
&& modified_in_p (new, setcc))
return 0;
if (! validate_change (jump, &SET_SRC (set), new, 0))
return 0;
......
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