Commit 69985118 by Kaveh R. Ghazi Committed by Kaveh Ghazi

dsp16xx-protos.h: New file.

	* dsp16xx-protos.h: New file.

	* dsp16xx.c: Include tm_p.h.  Add static prototypes.  Fix compile
	time warnings.

	* dsp16xx.h: Move prototypes to dsp16xx-protos.h.  Fix compile time
	warnings.

	* dsp16xx.md: Likewise.

From-SVN: r31416
parent 6b995286
2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* dsp16xx-protos.h: New file.
* dsp16xx.c: Include tm_p.h. Add static prototypes. Fix compile
time warnings.
* dsp16xx.h: Move prototypes to dsp16xx-protos.h. Fix compile time
warnings.
* dsp16xx.md: Likewise.
2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* convex-protos.h: New file.
* convex.c: Include tm_p.h. Add static prototypes. Fix compile
......
/* Definitions of target machine for GNU compiler. AT&T DSP1600.
Copyright (C) 2000 Free Software Foundation, Inc.
Contributed by Michael Collison (collison@world.std.com).
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifdef RTX_CODE
extern struct rtx_def *gen_compare_reg PARAMS ((enum rtx_code, rtx, rtx));
extern int call_address_operand PARAMS ((rtx, enum machine_mode));
extern int arith_reg_operand PARAMS ((rtx, enum machine_mode));
extern int symbolic_address_operand PARAMS ((rtx, enum machine_mode));
extern int Y_address_operand PARAMS ((rtx, enum machine_mode));
extern int sp_operand PARAMS ((rtx, enum machine_mode));
extern int sp_operand2 PARAMS ((rtx, enum machine_mode));
extern int nonmemory_arith_operand PARAMS ((rtx, enum machine_mode));
extern int dsp16xx_comparison_operator PARAMS ((rtx, enum machine_mode));
extern void notice_update_cc PARAMS ((rtx));
extern void double_reg_from_memory PARAMS ((rtx[]));
extern void double_reg_to_memory PARAMS ((rtx[]));
extern enum rtx_code next_cc_user_code PARAMS ((rtx));
extern int next_cc_user_unsigned PARAMS ((rtx));
extern struct rtx_def *gen_tst_reg PARAMS ((rtx));
extern const char *output_block_move PARAMS ((rtx[]));
extern enum reg_class preferred_reload_class PARAMS ((rtx, enum reg_class));
extern enum reg_class secondary_reload_class PARAMS ((enum reg_class,
enum machine_mode, rtx));
extern int emit_move_sequence PARAMS ((rtx *, enum machine_mode));
extern void print_operand PARAMS ((FILE *, rtx, int));
extern void print_operand_address PARAMS ((FILE *, rtx));
extern void output_dsp16xx_float_const PARAMS ((rtx *));
extern void emit_1600_core_shift PARAMS ((enum rtx_code, rtx *, int));
extern int dsp16xx_address_cost PARAMS ((rtx));
extern int symbolic_address_p PARAMS ((rtx));
#endif /* RTX_CODE */
#ifdef TREE_CODE
extern struct rtx_def *dsp16xx_function_arg PARAMS ((CUMULATIVE_ARGS,
enum machine_mode,
tree, int));
extern void dsp16xx_function_arg_advance PARAMS ((CUMULATIVE_ARGS *,
enum machine_mode,
tree, int));
#endif /* TREE_CODE */
extern void dsp16xx_invalid_register_for_compare PARAMS ((void));
extern int class_max_nregs PARAMS ((enum reg_class, enum machine_mode));
extern enum reg_class limit_reload_class PARAMS ((enum reg_class, enum machine_mode));
extern int dsp16xx_register_move_cost PARAMS ((enum reg_class, enum reg_class));
extern int dsp16xx_makes_calls PARAMS ((void));
extern long compute_frame_size PARAMS ((int));
extern int dsp16xx_call_saved_register PARAMS ((int));
extern int dsp16xx_call_saved_register PARAMS ((int));
extern void init_emulation_routines PARAMS ((void));
extern int ybase_regs_ever_used PARAMS ((void));
extern void override_options PARAMS ((void));
extern int dsp16xx_starting_frame_offset PARAMS ((void));
extern int initial_frame_pointer_offset PARAMS ((void));
extern void asm_output_common PARAMS ((FILE *, const char *, int, int));
extern void asm_output_local PARAMS ((FILE *, const char *, int, int));
extern void asm_output_float PARAMS ((FILE *, double));
extern void asm_output_long PARAMS ((FILE *, long));
extern void dsp16xx_file_start PARAMS ((void));
extern struct rtx_def *(*dsp16xx_compare_gen) PARAMS (());
extern int hard_regno_mode_ok PARAMS ((int, enum machine_mode));
extern enum reg_class dsp16xx_reg_class_from_letter PARAMS ((int));
extern int regno_reg_class PARAMS ((int));
extern void function_prologue PARAMS ((FILE *, int));
extern void function_epilogue PARAMS ((FILE *, int));
......@@ -19,20 +19,18 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
extern char *low_reg_names[];
extern char *text_seg_name;
extern char *rsect_text;
extern char *data_seg_name;
extern char *rsect_data;
extern char *bss_seg_name;
extern char *rsect_bss;
extern char *const_seg_name;
extern char *rsect_const;
extern char *chip_name;
extern char *save_chip_name;
extern const char *low_reg_names[];
extern const char *text_seg_name;
extern const char *rsect_text;
extern const char *data_seg_name;
extern const char *rsect_data;
extern const char *bss_seg_name;
extern const char *rsect_bss;
extern const char *const_seg_name;
extern const char *rsect_const;
extern const char *chip_name;
extern const char *save_chip_name;
extern struct rtx_def *dsp16xx_compare_op0, *dsp16xx_compare_op1;
extern struct rtx_def *(*dsp16xx_compare_gen)();
extern struct rtx_def *gen_compare_reg();
extern struct rtx_def *dsp16xx_addhf3_libcall;
extern struct rtx_def *dsp16xx_subhf3_libcall;
extern struct rtx_def *dsp16xx_mulhf3_libcall;
......@@ -56,29 +54,6 @@ extern struct rtx_def *dsp16xx_ashrhi3_libcall;
extern struct rtx_def *dsp16xx_ashlhi3_libcall;
extern struct rtx_def *dsp16xx_lshrhi3_libcall;
extern int hard_regno_mode_ok ();
extern enum reg_class dsp16xx_reg_class_from_letter ();
extern enum reg_class dsp16xx_limit_reload_class ();
extern int hard_regno_nregs ();
extern int regno_reg_class ();
extern int move_operand ();
extern int symbolic_address_p ();
extern int Y_address ();
extern int call_address_operand ();
extern void notice_update_cc();
extern void function_prologue ();
extern void function_epilogue ();
extern int dsp1600_comparison_reverse ();
extern void double_reg_from_memory ();
extern void double_reg_to_memory ();
extern struct rtx_def *dsp16xx_function_arg ();
extern void dsp16xx_function_arg_advance ();
extern enum rtx_code next_cc_user_code ();
extern int next_cc_user_unsigned ();
extern struct rtx_def *gen_tst_reg ();
extern char *output_block_move();
/* RUN-TIME TARGET SPECIFICATION */
#define DSP16XX 1
......@@ -1671,11 +1646,11 @@ const_section () \
#define ASM_OUTPUT_ASCII(MYFILE, MYSTRING, MYLENGTH) \
do { \
FILE *_hide_asm_out_file = (MYFILE); \
unsigned char *_hide_p = (unsigned char *) (MYSTRING); \
const unsigned char *_hide_p = (const unsigned char *) (MYSTRING); \
int _hide_thissize = (MYLENGTH); \
{ \
FILE *asm_out_file = _hide_asm_out_file; \
unsigned char *p = _hide_p; \
const unsigned char *p = _hide_p; \
int thissize = _hide_thissize; \
int i; \
\
......@@ -1970,4 +1945,3 @@ const_section () \
are not currently supporting c++. */
#define INIT_SECTION_ASM_OP 1
void dsp16xx_invalid_register_for_compare ();
......@@ -117,6 +117,8 @@
case 2:
return \"%0&%H1\";
default:
abort();
}
}"
[(set_attr "type" "f3_alu,malu,f3_alu_i")])
......@@ -405,6 +407,8 @@
case 7:
return \"%3=%2\;*%0++%3\";
default:
abort();
}
}")
......@@ -485,6 +489,8 @@
case 3:
case 4:
return \"%m0=%m1-%m2\";
default:
abort();
}
}")
......@@ -921,6 +927,8 @@
case 8:
case 9:
return \"\";
default:
abort();
}
}"
[(set_attr "type" "move,move,load_i,load_i,load,store,load,store,move,move")])
......@@ -986,6 +994,8 @@
case 9: case 10:
return \"%0=%1\";
default:
abort();
}
}")
......@@ -1032,6 +1042,8 @@
case 9: case 10:
return \"%0=%1\";
default:
abort();
}
}")
......@@ -1187,6 +1199,8 @@
case 5:
case 6:
return \"%u0=%u1\;%w0=%w1\";
default:
abort();
}
}"
[(set_attr "type" "move,move,load_i,load,store,load,store")])
......
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