mn10300.c (mn10300_hard_regno_mode_ok): Do not accept extended registers in any mode when compiling for the MN10300.

* config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
	accept extended registers in any mode when compiling for the
	MN10300.

From-SVN: r207498
This commit is contained in:
Nick Clifton 2014-02-05 09:47:59 +00:00 committed by Nick Clifton
parent 25a07c7ee9
commit c70da878e5
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2014-02-05 Nick Clifton <nickc@redhat.com>
* config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
accept extended registers in any mode when compiling for the
MN10300.
2014-02-05 Yury Gribov <y.gribov@samsung.com>
* cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.

View File

@ -68,7 +68,6 @@ static int cc_flags_for_mode(enum machine_mode);
static int cc_flags_for_code(enum rtx_code);
/* Implement TARGET_OPTION_OVERRIDE. */
static void
mn10300_option_override (void)
{
@ -1413,7 +1412,6 @@ mn10300_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
if (addr && CONSTANT_ADDRESS_P (addr))
return GENERAL_REGS;
}
/* Otherwise assume no secondary reloads are needed. */
return NO_REGS;
}
@ -2614,7 +2612,10 @@ mn10300_hard_regno_mode_ok (unsigned int regno, enum machine_mode mode)
|| REGNO_REG_CLASS (regno) == FP_ACC_REGS)
/* Do not store integer values in FP registers. */
return GET_MODE_CLASS (mode) == MODE_FLOAT && ((regno & 1) == 0);
if (! TARGET_AM33 && REGNO_REG_CLASS (regno) == EXTENDED_REGS)
return false;
if (((regno) & 1) == 0 || GET_MODE_SIZE (mode) == 4)
return true;