summaryrefslogtreecommitdiff
path: root/gcc/config/m68hc11/m68hc11.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/m68hc11/m68hc11.c')
-rw-r--r--gcc/config/m68hc11/m68hc11.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c
index 5c762cace35..abada3cc284 100644
--- a/gcc/config/m68hc11/m68hc11.c
+++ b/gcc/config/m68hc11/m68hc11.c
@@ -1026,6 +1026,9 @@ d_register_operand (operand, mode)
rtx operand;
enum machine_mode mode ATTRIBUTE_UNUSED;
{
+ if (GET_MODE (operand) != mode && mode != VOIDmode)
+ return 0;
+
if (GET_CODE (operand) == SUBREG)
operand = XEXP (operand, 0);
@@ -1040,6 +1043,9 @@ hard_addr_reg_operand (operand, mode)
rtx operand;
enum machine_mode mode ATTRIBUTE_UNUSED;
{
+ if (GET_MODE (operand) != mode && mode != VOIDmode)
+ return 0;
+
if (GET_CODE (operand) == SUBREG)
operand = XEXP (operand, 0);
@@ -1132,6 +1138,14 @@ symbolic_memory_operand (op, mode)
}
int
+m68hc11_eq_compare_operator (op, mode)
+ register rtx op;
+ enum machine_mode mode ATTRIBUTE_UNUSED;
+{
+ return GET_CODE (op) == EQ || GET_CODE (op) == NE;
+}
+
+int
m68hc11_logical_operator (op, mode)
register rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;