aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/mep/mep-protos.h3
-rw-r--r--gcc/config/mep/mep.c126
-rw-r--r--gcc/config/mep/mep.h15
4 files changed, 10 insertions, 144 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 773537a..10af724 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+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,
diff --git a/gcc/config/mep/mep-protos.h b/gcc/config/mep/mep-protos.h
index edfbaf7..f0f3496 100644
--- a/gcc/config/mep/mep-protos.h
+++ b/gcc/config/mep/mep-protos.h
@@ -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);
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index bba0327..5089e03 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -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)
{
diff --git a/gcc/config/mep/mep.h b/gcc/config/mep/mep.h
index 920120c..9a382e6 100644
--- a/gcc/config/mep/mep.h
+++ b/gcc/config/mep/mep.h
@@ -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