diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1992-10-11 16:27:23 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1992-10-11 16:27:23 -0400 |
commit | 4bb4c82e202e24ee051680490a1e33c6e706339b (patch) | |
tree | a5c18cd0447a6c2d2ae5b9e38bcdf5d9992ad5de /gcc | |
parent | 2247a58ce8c71352e9a7d7bd2c8aecae1f6e4f0d (diff) | |
download | gcc-4bb4c82e202e24ee051680490a1e33c6e706339b.zip gcc-4bb4c82e202e24ee051680490a1e33c6e706339b.tar.gz gcc-4bb4c82e202e24ee051680490a1e33c6e706339b.tar.bz2 |
(general_operand, immediate_operand, const_double_operand): Allow CONST_INT with MODE_PARTIAL_INT.
(general_operand, immediate_operand, const_double_operand): Allow CONST_INT
with MODE_PARTIAL_INT.
(nonmemory_operand): Likewise.
From-SVN: r2399
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/recog.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index bde6602..b66cb2c 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -761,7 +761,8 @@ general_operand (op, mode) /* Don't accept CONST_INT or anything similar if the caller wants something floating. */ if (GET_MODE (op) == VOIDmode && mode != VOIDmode - && GET_MODE_CLASS (mode) != MODE_INT) + && GET_MODE_CLASS (mode) != MODE_INT + && GET_MODE_CLASS (mode) != MODE_PARTIAL_INT) return 0; if (CONSTANT_P (op)) @@ -901,7 +902,8 @@ immediate_operand (op, mode) /* Don't accept CONST_INT or anything similar if the caller wants something floating. */ if (GET_MODE (op) == VOIDmode && mode != VOIDmode - && GET_MODE_CLASS (mode) != MODE_INT) + && GET_MODE_CLASS (mode) != MODE_INT + && GET_MODE_CLASS (mode) != MODE_PARTIAL_INT) return 0; return (CONSTANT_P (op) @@ -934,7 +936,8 @@ const_double_operand (op, mode) /* Don't accept CONST_INT or anything similar if the caller wants something floating. */ if (GET_MODE (op) == VOIDmode && mode != VOIDmode - && GET_MODE_CLASS (mode) != MODE_INT) + && GET_MODE_CLASS (mode) != MODE_INT + && GET_MODE_CLASS (mode) != MODE_PARTIAL_INT) return 0; return ((GET_CODE (op) == CONST_DOUBLE || GET_CODE (op) == CONST_INT) @@ -964,7 +967,8 @@ nonmemory_operand (op, mode) /* Don't accept CONST_INT or anything similar if the caller wants something floating. */ if (GET_MODE (op) == VOIDmode && mode != VOIDmode - && GET_MODE_CLASS (mode) != MODE_INT) + && GET_MODE_CLASS (mode) != MODE_INT + && GET_MODE_CLASS (mode) != MODE_PARTIAL_INT) return 0; return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode) |