diff options
author | tege <tege@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-06-15 02:32:05 +0000 |
---|---|---|
committer | tege <tege@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-06-15 02:32:05 +0000 |
commit | 3fb9b42e81a656da903b9f7dc0beab7c958e09f0 (patch) | |
tree | 4b06a15e5eb6eb2e0f072b1577fc54de14c86091 /gcc/config/a29k | |
parent | 877d1a07599b62583b15fdf61a29295fa4645208 (diff) | |
download | gcc-3fb9b42e81a656da903b9f7dc0beab7c958e09f0.tar.gz |
(cmplsrcb_operand): New predicate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7477 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/a29k')
-rw-r--r-- | gcc/config/a29k/a29k.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/a29k/a29k.c b/gcc/config/a29k/a29k.c index 08363ed0c59..4c9784111b1 100644 --- a/gcc/config/a29k/a29k.c +++ b/gcc/config/a29k/a29k.c @@ -282,6 +282,22 @@ srcb_operand (op, mode) return gpc_reg_operand (op, mode); } +int +cmplsrcb_operand (op, mode) + register rtx op; + enum machine_mode mode; +{ + if (GET_CODE (op) == CONST_INT + && (mode == QImode + || (INTVAL (op) & 0xffffff00) == 0xffffff00)) + return 1; + + if (GET_MODE (op) != mode && mode != VOIDmode) + return 0; + + return gpc_reg_operand (op, mode); +} + /* Return 1 if OP is either an immediate or a general register. This is used for the input operand of mtsr/mtrsim. */ |