Commit e6118f89 by Richard Kenner

(add_operand): Test for exactly the constants allowed by the

constraints.

From-SVN: r9445
parent daa6d5ff
...@@ -135,10 +135,9 @@ add_operand (op, mode) ...@@ -135,10 +135,9 @@ add_operand (op, mode)
enum machine_mode mode; enum machine_mode mode;
{ {
if (GET_CODE (op) == CONST_INT) if (GET_CODE (op) == CONST_INT)
return ((unsigned HOST_WIDE_INT) (INTVAL (op) + 0x8000) < 0x10000 return (CONST_OK_FOR_LETTER_P (INTVAL (op), 'K')
|| ((INTVAL (op) & 0xffff) == 0 || CONST_OK_FOR_LETTER_P (INTVAL (op), 'L')
&& (INTVAL (op) >> 31 == -1 || CONST_OK_FOR_LETTER_P (INTVAL (op), 'O'));
|| INTVAL (op) >> 31 == 0)));
return register_operand (op, mode); return register_operand (op, mode);
} }
......
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