diff options
Diffstat (limited to 'gcc/config/m32c/predicates.md')
-rw-r--r-- | gcc/config/m32c/predicates.md | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/m32c/predicates.md b/gcc/config/m32c/predicates.md index 5b9549c6f7b..b0fbc846c89 100644 --- a/gcc/config/m32c/predicates.md +++ b/gcc/config/m32c/predicates.md @@ -141,6 +141,17 @@ (and (match_operand 0 "nonimmediate_operand" "") (not (match_operand 1 "cr_operand" "")))) +; As above, but no push/pop operations +(define_predicate "mra_nopp_operand" + (match_operand 0 "mra_operand" "") +{ + if (GET_CODE (op) == MEM + && (GET_CODE (XEXP (op, 0)) == PRE_DEC + || (GET_CODE (XEXP (op, 0)) == POST_INC))) + return 0; + return 1; +}) + ; TRUE for memory, r0..r3, a0..a1, or immediates. (define_predicate "mrai_operand" (and (and (match_operand 0 "m32c_any_operand" "") |