Commit 1f9124e4 by Jakub Jelinek Committed by Jakub Jelinek

i386.c (ix86_expand_branch): Treat GE and GEU the same way as LT and LTU when...

	* config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
	way as LT and LTU when the second operand has 0 in low word.

From-SVN: r35982
parent 22a4158c
2000-08-25 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
way as LT and LTU when the second operand has 0 in low word.
2000-08-26 Michael Hayes <mhayes@cygnus.com>
* basic-block.h (struct loop): Rename `exits' field to
......
......@@ -4977,17 +4977,21 @@ ix86_expand_branch (code, label)
return;
}
/* Otherwise, if we are doing less-than, op1 is a constant and the
low word is zero, then we can just examine the high word. */
/* Otherwise, if we are doing less-than or greater-or-equal-than,
op1 is a constant and the low word is zero, then we can just
examine the high word. */
if (GET_CODE (hi[1]) == CONST_INT && lo[1] == const0_rtx
&& (code == LT || code == LTU))
{
ix86_compare_op0 = hi[0];
ix86_compare_op1 = hi[1];
ix86_expand_branch (code, label);
return;
}
if (GET_CODE (hi[1]) == CONST_INT && lo[1] == const0_rtx)
switch (code)
{
case LT: case LTU: case GE: case GEU:
ix86_compare_op0 = hi[0];
ix86_compare_op1 = hi[1];
ix86_expand_branch (code, label);
return;
default:
break;
}
/* Otherwise, we need two or three jumps. */
......
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