Commit 4802a0d6 by Jeff Law

pa.c (shadd_operand): New function.

	* pa.c (shadd_operand): New function.
	(print_operand): Handle "%O" for shadd patterns.

From-SVN: r3867
parent b8be8876
...@@ -2427,6 +2427,13 @@ print_operand (file, x, code) ...@@ -2427,6 +2427,13 @@ print_operand (file, x, code)
return; return;
} }
abort(); abort();
case 'O':
if (GET_CODE (x) == CONST_INT && exact_log2 (INTVAL (x)) >= 0)
{
fprintf (file, "%d", exact_log2 (INTVAL (x)));
return;
}
abort();
case 'P': case 'P':
if (GET_CODE (x) == CONST_INT) if (GET_CODE (x) == CONST_INT)
{ {
...@@ -3038,3 +3045,13 @@ shadd_constant_p (val) ...@@ -3038,3 +3045,13 @@ shadd_constant_p (val)
else else
return 0; return 0;
} }
/* Return 1 if OP is a CONST_INT with the value 2, 4, or 8. These are
the valid constant for shadd instructions. */
int
shadd_operand (op, mode)
rtx op;
enum machine_mode mode;
{
return (GET_CODE (op) == CONST_INT && shadd_constant_p (INTVAL (op)));
}
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