Commit b9be2842 by Anatoly Sokolov Committed by Anatoly Sokolov

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
parent 709e26f0
2010-09-09 Anatoly Sokolov <aesok@post.ru>
* 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.
2010-09-09 Matthias Klose <doko@ubuntu.com>
PR bootstrap/43847
......
......@@ -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. */
......
......@@ -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. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment