Commit c42df5ef by Nathan Froyd

mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.

	* config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
	(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
	(CONSTRAINT_LEN, EXTRA_CONSTRAINT): Delete.
	* config/mep/mep.c (mep_reg_class_from_constraint): Delete.
	(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
	* config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete.
	(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.

From-SVN: r190584
parent fd76ab9b
2012-08-21 Nathan Froyd <froydnj@gcc.gnu.org>
* config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
(CONSTRAINT_LEN, EXTRA_CONSTRAINT): Delete.
* config/mep/mep.c (mep_reg_class_from_constraint): Delete.
(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
* config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete.
(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
2012-08-21 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t,
......
......@@ -20,9 +20,6 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
extern int mep_regno_reg_class (int);
extern int mep_reg_class_from_constraint (int, const char *);
extern bool mep_const_ok_for_letter_p (HOST_WIDE_INT, int);
extern bool mep_extra_constraint (rtx, int);
extern rtx mep_mulr_source (rtx, rtx, rtx, rtx);
extern bool mep_reuse_lo_p (rtx, rtx, rtx, bool);
extern bool mep_use_post_modify_p (rtx, rtx, rtx);
......
......@@ -596,132 +596,6 @@ mep_regno_reg_class (int regno)
return NO_REGS;
}
#if 0
int
mep_reg_class_from_constraint (int c, const char *str)
{
switch (c)
{
case 'a':
return SP_REGS;
case 'b':
return TP_REGS;
case 'c':
return CONTROL_REGS;
case 'd':
return HILO_REGS;
case 'e':
{
switch (str[1])
{
case 'm':
return LOADABLE_CR_REGS;
case 'x':
return mep_have_copro_copro_moves_p ? CR_REGS : NO_REGS;
case 'r':
return mep_have_core_copro_moves_p ? CR_REGS : NO_REGS;
default:
return NO_REGS;
}
}
case 'h':
return HI_REGS;
case 'j':
return RPC_REGS;
case 'l':
return LO_REGS;
case 't':
return TPREL_REGS;
case 'v':
return GP_REGS;
case 'x':
return CR_REGS;
case 'y':
return CCR_REGS;
case 'z':
return R0_REGS;
case 'A':
case 'B':
case 'C':
case 'D':
{
enum reg_class which = c - 'A' + USER0_REGS;
return (reg_class_size[which] > 0 ? which : NO_REGS);
}
default:
return NO_REGS;
}
}
bool
mep_const_ok_for_letter_p (HOST_WIDE_INT value, int c)
{
switch (c)
{
case 'I': return value >= -32768 && value < 32768;
case 'J': return value >= 0 && value < 65536;
case 'K': return value >= 0 && value < 0x01000000;
case 'L': return value >= -32 && value < 32;
case 'M': return value >= 0 && value < 32;
case 'N': return value >= 0 && value < 16;
case 'O':
if (value & 0xffff)
return false;
return value >= -2147483647-1 && value <= 2147483647;
default:
gcc_unreachable ();
}
}
bool
mep_extra_constraint (rtx value, int c)
{
encode_pattern (value);
switch (c)
{
case 'R':
/* For near symbols, like what call uses. */
if (GET_CODE (value) == REG)
return 0;
return mep_call_address_operand (value, GET_MODE (value));
case 'S':
/* For signed 8-bit immediates. */
return (GET_CODE (value) == CONST_INT
&& INTVAL (value) >= -128
&& INTVAL (value) <= 127);
case 'T':
/* For tp/gp relative symbol values. */
return (RTX_IS ("u3s") || RTX_IS ("u2s")
|| RTX_IS ("+u3si") || RTX_IS ("+u2si"));
case 'U':
/* Non-absolute memories. */
return GET_CODE (value) == MEM && ! CONSTANT_P (XEXP (value, 0));
case 'W':
/* %hi(sym) */
return RTX_IS ("Hs");
case 'Y':
/* Register indirect. */
return RTX_IS ("mr");
case 'Z':
return mep_section_tag (value) == 'c' && RTX_IS ("ms");
}
return false;
}
#endif
#undef PASS
#undef FAIL
static bool
const_in_range (rtx x, int minv, int maxv)
{
......
......@@ -408,11 +408,6 @@ enum reg_class
#define BASE_REG_CLASS GENERAL_REGS
#define INDEX_REG_CLASS GENERAL_REGS
#if 0
#define REG_CLASS_FROM_CONSTRAINT(CHAR, STRING) \
mep_reg_class_from_constraint (CHAR, STRING)
#endif
#define REGNO_OK_FOR_BASE_P(NUM) (GR_REGNO_P (NUM) \
|| (NUM) == ARG_POINTER_REGNUM \
|| (NUM) >= FIRST_PSEUDO_REGISTER)
......@@ -428,16 +423,6 @@ enum reg_class
#define SECONDARY_MEMORY_NEEDED(CLASS1, CLASS2, MODE) \
mep_secondary_memory_needed (CLASS1, CLASS2, MODE)
#if 0
#define CONST_OK_FOR_LETTER_P(VALUE, C) mep_const_ok_for_letter_p (VALUE, C)
#define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE, C) 0
#define CONSTRAINT_LEN(C, STR) \
((C) == 'e' ? 2 : DEFAULT_CONSTRAINT_LEN (C, STR))
#define EXTRA_CONSTRAINT(VALUE, C) mep_extra_constraint (VALUE, C)
#endif
#define WANT_GCC_DECLARATIONS
#include "mep-intrin.h"
#undef WANT_GCC_DECLARATIONS
......
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