summaryrefslogtreecommitdiff
path: root/gcc/config/m32r
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2010-09-09 22:29:36 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2010-09-09 22:29:36 +0400
commitb9be284218ee02515493fd019860c0837b334e39 (patch)
treed27cdf5755ccda8bdfb8397e0bb10dbbcee0d89a /gcc/config/m32r
parent709e26f09ba8af665b0bc2b1fb2cc690b5381dd8 (diff)
downloadgcc-b9be284218ee02515493fd019860c0837b334e39.tar.gz
m32r.c (m32r_mode_dependent_address_p): New functions.
* config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions. (TARGET_MODE_DEPENDENT_ADDRESS_P): Define. * config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove. From-SVN: r164115
Diffstat (limited to 'gcc/config/m32r')
-rw-r--r--gcc/config/m32r/m32r.c14
-rw-r--r--gcc/config/m32r/m32r.h10
2 files changed, 14 insertions, 10 deletions
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index 5fff1cce004..b1175df0fa5 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -67,6 +67,7 @@ static void init_reg_tables (void);
static void block_move_call (rtx, rtx, rtx);
static int m32r_is_insn (rtx);
static rtx m32r_legitimize_address (rtx, rtx, enum machine_mode);
+static bool m32r_mode_dependent_address_p (const_rtx);
static tree m32r_handle_model_attribute (tree *, tree, tree, int, bool *);
static void m32r_print_operand (FILE *, rtx, int);
static void m32r_print_operand_address (FILE *, rtx);
@@ -117,6 +118,8 @@ static const struct attribute_spec m32r_attribute_table[] =
#undef TARGET_LEGITIMIZE_ADDRESS
#define TARGET_LEGITIMIZE_ADDRESS m32r_legitimize_address
+#undef TARGET_MODE_DEPENDENT_ADDRESS_P
+#define TARGET_MODE_DEPENDENT_ADDRESS_P m32r_mode_dependent_address_p
#undef TARGET_ASM_ALIGNED_HI_OP
#define TARGET_ASM_ALIGNED_HI_OP "\t.hword\t"
@@ -2043,6 +2046,17 @@ m32r_legitimize_address (rtx x, rtx orig_x ATTRIBUTE_UNUSED,
else
return x;
}
+
+/* Worker function for TARGET_MODE_DEPENDENT_ADDRESS_P. */
+
+static bool
+m32r_mode_dependent_address_p (const_rtx addr)
+{
+ if (GET_CODE (addr) == LO_SUM)
+ return true;
+
+ return false;
+}
/* Nested function support. */
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 66ff1ec9bfb..9aa354a2398 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -1048,16 +1048,6 @@ L2: .word STATIC
goto ADDR; \
} \
while (0)
-
-/* Go to LABEL if ADDR (a legitimate address expression)
- has an effect that depends on the machine mode it is used for. */
-#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) \
- do \
- { \
- if (GET_CODE (ADDR) == LO_SUM) \
- goto LABEL; \
- } \
- while (0)
/* Condition code usage. */