Mercurial > hg > CbC > CbC_gcc
diff gcc/config/stormy16/stormy16.h @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | b7f97abdc517 |
children | 04ced10e8804 |
line wrap: on
line diff
--- a/gcc/config/stormy16/stormy16.h Tue May 25 18:58:51 2010 +0900 +++ b/gcc/config/stormy16/stormy16.h Tue Mar 22 17:18:12 2011 +0900 @@ -1,6 +1,6 @@ /* Xstormy16 cpu description. Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, - 2008, 2009, 2010 Free Software Foundation, Inc. + 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. @@ -25,6 +25,10 @@ #undef ASM_SPEC #define ASM_SPEC "" +#undef LINK_SPEC +#define LINK_SPEC "%{h*} %{v:-V} \ + %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic}" + /* For xstormy16: - If -msim is specified, everything is built and linked as for the sim. - If -T is specified, that linker script is used, and it should provide @@ -53,8 +57,6 @@ while (0) #define TARGET_VERSION fprintf (stderr, " (xstormy16 cpu core)"); - -#define CAN_DEBUG_WITHOUT_FP /* Storage Layout. */ @@ -118,6 +120,9 @@ #define PTRDIFF_TYPE "int" +#undef WCHAR_TYPE +#define WCHAR_TYPE "long int" + #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 @@ -220,36 +225,10 @@ #define INDEX_REG_CLASS GENERAL_REGS -/* The following letters are unavailable, due to being used as - constraints: - '0'..'9' - '<', '>' - 'E', 'F', 'G', 'H' - 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P' - 'Q', 'R', 'S', 'T', 'U' - 'V', 'X' - 'g', 'i', 'm', 'n', 'o', 'p', 'r', 's'. */ - -#define REG_CLASS_FROM_LETTER(CHAR) \ - ( (CHAR) == 'a' ? R0_REGS \ - : (CHAR) == 'b' ? R1_REGS \ - : (CHAR) == 'c' ? R2_REGS \ - : (CHAR) == 'd' ? R8_REGS \ - : (CHAR) == 'e' ? EIGHT_REGS \ - : (CHAR) == 't' ? TWO_REGS \ - : (CHAR) == 'z' ? ICALL_REGS \ - : NO_REGS) - #define REGNO_OK_FOR_BASE_P(NUM) 1 #define REGNO_OK_FOR_INDEX_P(NUM) REGNO_OK_FOR_BASE_P (NUM) -#define PREFERRED_RELOAD_CLASS(X, CLASS) \ - xstormy16_preferred_reload_class (X, CLASS) - -#define PREFERRED_OUTPUT_RELOAD_CLASS(X, CLASS) \ - xstormy16_preferred_reload_class (X, CLASS) - /* This chip has the interesting property that only the first eight registers can be moved to/from memory. */ #define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \ @@ -258,22 +237,6 @@ #define CLASS_MAX_NREGS(CLASS, MODE) \ ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD) -#define CONST_OK_FOR_LETTER_P(VALUE, C) \ - ( (C) == 'I' ? (VALUE) >= 0 && (VALUE) <= 3 \ - : (C) == 'J' ? exact_log2 (VALUE) != -1 \ - : (C) == 'K' ? exact_log2 (~(VALUE)) != -1 \ - : (C) == 'L' ? (VALUE) >= 0 && (VALUE) <= 255 \ - : (C) == 'M' ? (VALUE) >= -255 && (VALUE) <= 0 \ - : (C) == 'N' ? (VALUE) >= -3 && (VALUE) <= 0 \ - : (C) == 'O' ? (VALUE) >= 1 && (VALUE) <= 4 \ - : (C) == 'P' ? (VALUE) >= -4 && (VALUE) <= -1 \ - : 0 ) - -#define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE, C) 0 - -#define EXTRA_CONSTRAINT(VALUE, C) \ - xstormy16_extra_constraint_p (VALUE, C) - /* Basic Stack Layout. */ @@ -328,8 +291,6 @@ #define PUSH_ROUNDING(BYTES) (((BYTES) + 1) & ~1) -#define RETURN_POPS_ARGS(FUNDECL, FUNTYPE, STACK_SIZE) 0 - /* Function Arguments in Registers. */ @@ -341,9 +302,6 @@ + 1) \ / 2) -#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \ - xstormy16_function_arg (CUM, MODE, TYPE, NAMED) - /* For this platform, the value of CUMULATIVE_ARGS is the number of words of arguments that have been passed in registers so far. */ #define CUMULATIVE_ARGS int @@ -351,9 +309,6 @@ #define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \ (CUM) = 0 -#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \ - ((CUM) = xstormy16_function_arg_advance (CUM, MODE, TYPE, NAMED)) - #define FUNCTION_ARG_REGNO_P(REGNO) \ ((REGNO) >= FIRST_ARGUMENT_REGISTER \ && (REGNO) < FIRST_ARGUMENT_REGISTER + NUM_ARGUMENT_REGISTERS) @@ -364,13 +319,6 @@ /* The number of the hard register that is used to return a scalar value from a function call. */ #define RETURN_VALUE_REGNUM FIRST_ARGUMENT_REGISTER - -#define FUNCTION_VALUE(VALTYPE, FUNC) \ - xstormy16_function_value (VALTYPE, FUNC) - -#define LIBCALL_VALUE(MODE) gen_rtx_REG (MODE, RETURN_VALUE_REGNUM) - -#define FUNCTION_VALUE_REGNO_P(REGNO) ((REGNO) == RETURN_VALUE_REGNUM) /* Function Entry and Exit. */ @@ -401,32 +349,11 @@ #define MAX_REGS_PER_ADDRESS 1 -#ifdef REG_OK_STRICT -#define REG_OK_FOR_BASE_P(X) \ - (REGNO_OK_FOR_BASE_P (REGNO (X)) && (REGNO (X) < FIRST_PSEUDO_REGISTER)) -#else -#define REG_OK_FOR_BASE_P(X) REGNO_OK_FOR_BASE_P (REGNO (X)) -#endif - -#define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_BASE_P (X) - -/* On this chip, this is true if the address is valid with an offset - of 0 but not of 6, because in that case it cannot be used as an - address for DImode or DFmode, or if the address is a post-increment - or pre-decrement address. */ -#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL) \ - if (xstormy16_mode_dependent_address_p (ADDR)) \ - goto LABEL - #define LEGITIMATE_CONSTANT_P(X) 1 /* Describing Relative Costs of Operations. */ -#define REGISTER_MOVE_COST(MODE, FROM, TO) 2 - -#define MEMORY_MOVE_COST(M,C,I) (5 + memory_move_secondary_cost (M, C, I)) - #define BRANCH_COST(speed_p, predictable_p) 5 #define SLOW_BYTE_ACCESS 0 @@ -513,11 +440,6 @@ { { "r14", 14 }, \ { "r15", 15 } } -#define PRINT_OPERAND(STREAM, X, CODE) xstormy16_print_operand (STREAM, X, CODE) - -#define PRINT_OPERAND_ADDRESS(STREAM, X) xstormy16_print_operand_address (STREAM, X) - -/* USER_LABEL_PREFIX is defined in svr4.h. */ #define REGISTER_PREFIX "" #define LOCAL_LABEL_PREFIX "." #define USER_LABEL_PREFIX "" @@ -559,7 +481,6 @@ /* Macros Affecting all Debug Formats. */ -/* Defined in svr4.h. */ #undef PREFERRED_DEBUGGING_TYPE #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG @@ -597,5 +518,3 @@ #define FUNCTION_MODE HImode #define NO_IMPLICIT_EXTERN_C - -#define HANDLE_SYSV_PRAGMA 1