diff options
author | jle <jle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-08-23 02:11:38 +0000 |
---|---|---|
committer | jle <jle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-08-23 02:11:38 +0000 |
commit | 281e3f553736fc12a0a079905a71e9b11e1c40ad (patch) | |
tree | a0f26d09d7351c23cec6b3732970daf4d9d71df4 /gcc/config/i860/i860.h | |
parent | c286b7d4680472966adcf6fc7b482e46b12e0b3b (diff) | |
download | gcc-281e3f553736fc12a0a079905a71e9b11e1c40ad.tar.gz |
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
argument.
(tdesc_section): Add prototype.
Update copyright dates.
* config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
(TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
(TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
(targetm): Likewise.
(i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
for '%d' where necessary.
(i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
on 'stdarg_p' unconditional. Divide current_function_args_info.ints
by UNITS_PER_WORD when referencing (likewise for .floats).
(I860_SVR4_VARARGS): Rename...
(I860_SVR4_VA_LIST): ...to this.
Call build() with 't' rather than 'field'.
(i860_rtx_costs): New function.
(TARGET_RTX_COSTS): Define.
(i860_internal_label): New function.
(TARGET_ASM_INTERNAL_LABEL): Define.
(i860_file_start): New function.
Update copyright dates.
* config/i860/i860.h (CPP_PREDEFINES): Remove.
(TARGET_CPU_CPP_BUILTINS): Define.
(EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
(CONST_COSTS): Remove (and move code to i860_rtx_costs).
(ASM_FILE_START): Remove.
(ASM_FILE_START_1): Remove.
(ASM_GLOBALIZE_LABEL): Remove.
(ASM_OUTPUT_INTERNAL_LABEL): Remove.
(ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
with targetm.asm_out.internal_label.
Update copyright dates.
* config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
(CPP_PREDEFINES): Remove.
(TARGET_OS_CPP_BUILTINS): Define.
(GLOBAL_ASM_OP): Define.
(ASM_FILE_START): Remove.
(TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
(TARGET_ASM_FILE_START): Define.
Update copyright dates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70722 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i860/i860.h')
-rw-r--r-- | gcc/config/i860/i860.h | 63 |
1 files changed, 11 insertions, 52 deletions
diff --git a/gcc/config/i860/i860.h b/gcc/config/i860/i860.h index f9fd62c88d6..83f2186aeb1 100644 --- a/gcc/config/i860/i860.h +++ b/gcc/config/i860/i860.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for Intel 860. Copyright (C) 1989, 1991, 1993, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002 Free Software Foundation, Inc. + 2001, 2002, 2003 Free Software Foundation, Inc. Hacked substantially by Ron Guilmette (rfg@monkeys.com) to cater to the whims of the System V Release 4 assembler. @@ -27,8 +27,12 @@ Boston, MA 02111-1307, USA. */ /* Names to predefine in the preprocessor for this target machine. */ - -#define CPP_PREDEFINES "-Di860 -Dunix -Asystem=unix -Asystem=svr4 -Acpu=i860 -Amachine=i860" +#define TARGET_CPU_CPP_BUILTINS() \ +do { \ + builtin_define ("i860"); \ + builtin_assert ("cpu=i860"); \ + builtin_assert ("machine=i860"); \ +} while (0) /* Print subsidiary information on the compiler version in use. */ #define TARGET_VERSION fprintf (stderr, " (i860)"); @@ -572,8 +576,8 @@ struct cumulative_args { int ints, floats; }; (VALIST) = i860_build_va_list () /* Implement `va_start' for varargs and stdarg. */ -#define EXPAND_BUILTIN_VA_START(stdarg, valist, nextarg) \ - i860_va_start (stdarg, valist, nextarg) +#define EXPAND_BUILTIN_VA_START(valist, nextarg) \ + i860_va_start (valist, nextarg) /* Implement `va_arg'. */ #define EXPAND_BUILTIN_VA_ARG(valist, type) \ @@ -885,23 +889,6 @@ struct cumulative_args { int ints, floats; }; but a CALL with constant address is cheap. */ #define NO_FUNCTION_CSE -/* Compute the cost of computing a constant rtl expression RTX - whose rtx-code is CODE. The body of this macro is a portion - of a switch statement. If the code is computed here, - return it with a return statement. Otherwise, break from the switch. */ - -#define CONST_COSTS(RTX,CODE, OUTER_CODE) \ - case CONST_INT: \ - if (INTVAL (RTX) == 0) \ - return 0; \ - if (INTVAL (RTX) < 0x2000 && INTVAL (RTX) >= -0x2000) return 1; \ - case CONST: \ - case LABEL_REF: \ - case SYMBOL_REF: \ - return 4; \ - case CONST_DOUBLE: \ - return 6; - /* Specify the cost of a branch insn; roughly the number of extra insns that should be added to avoid a branch. @@ -958,19 +945,6 @@ struct cumulative_args { int ints, floats; }; #define ASM_DOUBLE "\t.double" -/* Output at beginning of assembler file. */ -/* The .file command should always begin the output. */ - -#define ASM_FILE_START(FILE) -#if 0 -#define ASM_FILE_START(FILE) \ - do { output_file_directive ((FILE), main_input_filename); \ - if (optimize) ASM_FILE_START_1 (FILE); \ - } while (0) -#endif - -#define ASM_FILE_START_1(FILE) - /* Output to assembler file text saying following lines may contain character constants, extra white space, comments, etc. */ @@ -1008,36 +982,21 @@ struct cumulative_args { int ints, floats; }; #define ASM_OUTPUT_LABEL(FILE,NAME) \ do { assemble_name (FILE, NAME); fputs (":\n", FILE); } while (0) -/* This is how to output a command to make the user-level label named NAME - defined for reference from other files. */ - -#define ASM_GLOBALIZE_LABEL(FILE,NAME) \ - do { fputs (".globl ", FILE); \ - assemble_name (FILE, NAME); \ - fputs ("\n", FILE); \ - } while (0) - /* The prefix to add to user-visible assembler symbols. - This definition is overridden in i860v4.h because under System V + This definition is overridden in i860/sysv4.h because under System V Release 4, user-level symbols are *not* prefixed with underscores in the generated assembly code. */ #define USER_LABEL_PREFIX "_" -/* This is how to output an internal numbered label where - PREFIX is the class of label and NUM is the number within the class. */ - -#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ - fprintf (FILE, ".%s%d:\n", PREFIX, NUM) - /* This is how to output an internal numbered label which labels a jump table. */ #undef ASM_OUTPUT_CASE_LABEL #define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, JUMPTABLE) \ do { ASM_OUTPUT_ALIGN ((FILE), 2); \ - ASM_OUTPUT_INTERNAL_LABEL ((FILE), PREFIX, NUM); \ + (*targetm.asm_out.internal_label) ((FILE), PREFIX, NUM); \ } while (0) /* Output at the end of a jump table. */ |