Commit 7d1f0f8a by Uros Bizjak Committed by Uros Bizjak

i386.md (*addhi_1_lea): Assert that operand 0 and operand 1 are equal.

	* config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
	that operand 0 and operand 1 are equal.
	(*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
	(*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
	and operand 1 are equal.
	<default>: Ditto. Remove ??? comment.
	(*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
	and operand 1 are equal.
	<default>: Ditto. Remove ??? comment.
	(*adddi_4) <default>:  Remove assert that operand 0 and operand 1
	are equal.
	(*add<mode>_4) <default>: Ditto.
	(*add<mode>_5) <TYPE_INCDEC, default>: Ditto.

From-SVN: r160287
parent 6b3c42ae
2010-06-04 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
that operand 0 and operand 1 are equal.
(*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
(*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
and operand 1 are equal.
<default>: Ditto. Remove ??? comment.
(*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
and operand 1 are equal.
<default>: Ditto. Remove ??? comment.
(*adddi_4) <default>: Remove assert that operand 0 and operand 1
are equal.
(*add<mode>_4) <default>: Ditto.
(*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
2010-06-04 Nathan Froyd <froydnj@codesourcery.com>
* config/i386/i386-protos.h (ix86_print_operand): Declare.
......@@ -19,8 +35,8 @@
2010-06-04 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*addqi_2): Do not assert operands[2] == 255
for TYPE_INCDEC operands.
* config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
operands[2] == 255.
(*addqi_3): Ditto.
(*addqi_4): Ditto.
(*addqi_5): Ditto.
......
......@@ -6232,7 +6232,9 @@
{
case TYPE_LEA:
return "#";
case TYPE_INCDEC:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (operands[2] == const1_rtx)
return "inc{w}\t%0";
else
......@@ -6242,6 +6244,7 @@
}
default:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (x86_maybe_negate_const_int (&operands[2], HImode))
return "sub{w}\t{%2, %0|%0, %2}";
......@@ -6320,7 +6323,9 @@
{
case TYPE_LEA:
return "#";
case TYPE_INCDEC:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (operands[2] == const1_rtx)
return widen ? "inc{l}\t%k0" : "inc{b}\t%0";
else
......@@ -6330,6 +6335,7 @@
}
default:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (x86_maybe_negate_const_int (&operands[2], QImode))
{
if (widen)
......@@ -6407,7 +6413,6 @@
switch (get_attr_type (insn))
{
case TYPE_INCDEC:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (operands[2] == const1_rtx)
return "inc{<imodesuffix>}\t%0";
else
......@@ -6417,9 +6422,6 @@
}
default:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
/* ???? In DImode, we ought to handle there the 32bit case too
- do we need new constraint? */
if (x86_maybe_negate_const_int (&operands[2], <MODE>mode))
return "sub{<imodesuffix>}\t{%2, %0|%0, %2}";
......@@ -6490,7 +6492,6 @@
switch (get_attr_type (insn))
{
case TYPE_INCDEC:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (operands[2] == const1_rtx)
return "inc{<imodesuffix>}\t%0";
else
......@@ -6500,9 +6501,6 @@
}
default:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
/* ???? In DImode, we ought to handle there the 32bit case too
- do we need new constraint? */
if (x86_maybe_negate_const_int (&operands[2], <MODE>mode))
return "sub{<imodesuffix>}\t{%2, %0|%0, %2}";
......@@ -6588,7 +6586,6 @@
}
default:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (x86_maybe_negate_const_int (&operands[2], DImode))
return "add{q}\t{%2, %0|%0, %2}";
......@@ -6633,7 +6630,6 @@
}
default:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (x86_maybe_negate_const_int (&operands[2], <MODE>mode))
return "add{<imodesuffix>}\t{%2, %0|%0, %2}";
......@@ -6665,7 +6661,6 @@
switch (get_attr_type (insn))
{
case TYPE_INCDEC:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (operands[2] == const1_rtx)
return "inc{<imodesuffix>}\t%0";
else
......@@ -6675,7 +6670,6 @@
}
default:
gcc_assert (rtx_equal_p (operands[0], operands[1]));
if (x86_maybe_negate_const_int (&operands[2], <MODE>mode))
return "sub{<imodesuffix>}\t{%2, %0|%0, %2}";
......
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