aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-04-25 16:36:05 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-04-25 16:36:05 -0400
commite6118f890da4f1cbdc1a187922e5b3c01724825d (patch)
treeea99efc4967eea0342f38ff44bdf0a754a5b590f /gcc
parentdaa6d5ffc0ae3c2419a7d7ce5c9b2c7a98366678 (diff)
downloadgcc-e6118f890da4f1cbdc1a187922e5b3c01724825d.zip
gcc-e6118f890da4f1cbdc1a187922e5b3c01724825d.tar.gz
gcc-e6118f890da4f1cbdc1a187922e5b3c01724825d.tar.bz2
(add_operand): Test for exactly the constants allowed by the
constraints. From-SVN: r9445
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/alpha/alpha.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index c600713..49b7482 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -135,10 +135,9 @@ add_operand (op, mode)
enum machine_mode mode;
{
if (GET_CODE (op) == CONST_INT)
- return ((unsigned HOST_WIDE_INT) (INTVAL (op) + 0x8000) < 0x10000
- || ((INTVAL (op) & 0xffff) == 0
- && (INTVAL (op) >> 31 == -1
- || INTVAL (op) >> 31 == 0)));
+ return (CONST_OK_FOR_LETTER_P (INTVAL (op), 'K')
+ || CONST_OK_FOR_LETTER_P (INTVAL (op), 'L')
+ || CONST_OK_FOR_LETTER_P (INTVAL (op), 'O'));
return register_operand (op, mode);
}