diff gcc/config/lm32/lm32.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 77e2b8dfacca
children 04ced10e8804
line wrap: on
line diff
--- a/gcc/config/lm32/lm32.h	Tue May 25 18:58:51 2010 +0900
+++ b/gcc/config/lm32/lm32.h	Tue Mar 22 17:18:12 2011 +0900
@@ -1,7 +1,7 @@
 /* Definitions of target machine for GNU compiler, Lattice Mico32 architecture.
    Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
@@ -54,8 +54,7 @@
 %{mdivide-enabled} \
 %{mbarrel-shift-enabled} \
 %{msign-extend-enabled} \
-%{muser-extend-enabled} \
-%{v} \
+%{muser-enabled} \
 "
 
 /* Let link script define all link options. 
@@ -68,16 +67,6 @@
 #undef  LIB_SPEC
 #define LIB_SPEC "%{!T*:-T sim.ld}"
 
-#define OVERRIDE_OPTIONS lm32_override_options()
-
-extern int target_flags;
-
-/* Add -G xx support.  */
-
-#undef  SWITCH_TAKES_ARG
-#define SWITCH_TAKES_ARG(CHAR) \
-(DEFAULT_SWITCH_TAKES_ARG (CHAR) || (CHAR) == 'G')
-
 #undef  CC1_SPEC
 #define CC1_SPEC "%{G*}"
 
@@ -88,7 +77,6 @@
 #define BITS_BIG_ENDIAN 0
 #define BYTES_BIG_ENDIAN 1
 #define WORDS_BIG_ENDIAN 1
-#define LIBGCC2_WORDS_BIG_ENDIAN 1
 
 #define BITS_PER_UNIT 8
 #define BITS_PER_WORD 32
@@ -231,8 +219,6 @@
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 0
 
-#define PREFERRED_RELOAD_CLASS(X,CLASS) (CLASS)
-
 /*----------------------------------------*/
 /* Stack Layout and Calling Conventions.  */
 /*----------------------------------------*/
@@ -253,6 +239,8 @@
 
 #define ARG_POINTER_REGNUM FRAME_POINTER_REGNUM
 
+#define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (SImode, RA_REGNUM)
+
 #define RETURN_ADDR_RTX(count, frame)                                   \
   lm32_return_addr_rtx (count, frame)
 
@@ -273,8 +261,6 @@
 
 #define ACCUMULATE_OUTGOING_ARGS 1
 
-#define RETURN_POPS_ARGS(DECL, FUNTYPE, SIZE) 0
-
 /*--------------------------------*/
 /* Passing Arguments in Registers */
 /*--------------------------------*/
@@ -285,17 +271,11 @@
 /* The number of (integer) argument register available.  */
 #define LM32_NUM_ARG_REGS 8
 
-#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED)                            \
-  lm32_function_arg ((CUM), (MODE), (TYPE), (NAMED))
-
 #define CUMULATIVE_ARGS int
 
 #define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,INDIRECT,N_NAMED_ARGS)  \
   (CUM) = 0
 
-#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED)                    \
-  (CUM) += LM32_NUM_REGS2 (MODE, TYPE)
-
 #define FUNCTION_ARG_REGNO_P(r)                                         \
   (((r) >= LM32_FIRST_ARG_REG) && ((r) <= LM32_NUM_ARG_REGS))
 
@@ -371,10 +351,7 @@
 #define REG_OK_FOR_BASE_P(X) NONSTRICT_REG_OK_FOR_BASE_P(X)
 #endif
 
-#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) 			\
-  if (GET_CODE (ADDR) == PLUS) goto LABEL;		      		\
-
-#define LEGITIMATE_CONSTANT_P(X) lm32_legitimate_constant_p
+#define LEGITIMATE_CONSTANT_P(X) lm32_legitimate_constant_p (X)
 
 /*-------------------------*/
 /* Condition Code Status.  */
@@ -438,7 +415,7 @@
 #undef  ASM_OUTPUT_ALIGNED_LOCAL
 #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN)		\
 do {									\
-  if ((SIZE) <= g_switch_value)						\
+  if ((SIZE) <= (unsigned HOST_WIDE_INT) g_switch_value)		\
     switch_to_section (sbss_section);					\
   else									\
     switch_to_section (bss_section);					\
@@ -455,7 +432,7 @@
 #define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN)		\
 do 									\
 {									\
-  if ((SIZE) <= g_switch_value)						\
+  if ((SIZE) <= (unsigned HOST_WIDE_INT) g_switch_value)		\
     {									\
       switch_to_section (sbss_section);					\
       (*targetm.asm_out.globalize_label) (FILE, NAME);			\
@@ -547,8 +524,6 @@
 
 #define DBX_REGISTER_NUMBER(REGNO) (REGNO)
 
-#define CAN_DEBUG_WITHOUT_FP
-
 #define DEFAULT_GDB_EXTENSIONS 1
 
 /*--------*/