1 /* Definitions of target machine for GNU compiler, for AMD Am29000 CPU.
2 Copyright (C) 2000 Free Software Foundation, Inc.
3 Contributed by Richard Kenner (kenner@nyu.edu)
5 This file is part of GNU CC.
7 GNU CC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 GNU CC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU CC; see the file COPYING. If not, write to
19 the Free Software Foundation, 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */
23 /* This function is used to get the address of an object. */
24 extern struct rtx_def
*a29k_get_reloaded_address
PARAMS ((rtx
));
25 extern int gpc_reg_operand
PARAMS ((rtx
, enum machine_mode
));
26 extern int long_const_operand
PARAMS ((rtx
, enum machine_mode
));
27 extern int cint_8_operand
PARAMS ((rtx
, enum machine_mode
));
28 extern int cint_16_operand
PARAMS ((rtx
, enum machine_mode
));
29 extern int const_0_operand
PARAMS ((rtx
, enum machine_mode
));
30 extern int const_8_operand
PARAMS ((rtx
, enum machine_mode
));
31 extern int const_16_operand
PARAMS ((rtx
, enum machine_mode
));
32 extern int const_24_operand
PARAMS ((rtx
, enum machine_mode
));
33 extern int float_const_operand
PARAMS ((rtx
, enum machine_mode
));
34 extern int gpc_reg_or_float_constant_operand
PARAMS ((rtx
, enum machine_mode
));
35 extern int gpc_reg_or_integer_constant_operand
PARAMS ((rtx
, enum machine_mode
));
36 extern int spec_reg_operand
PARAMS ((rtx
, enum machine_mode
));
37 extern int accum_reg_operand
PARAMS ((rtx
, enum machine_mode
));
38 extern int srcb_operand
PARAMS ((rtx
, enum machine_mode
));
39 extern int cmplsrcb_operand
PARAMS ((rtx
, enum machine_mode
));
40 extern int gpc_reg_or_immediate_operand
PARAMS ((rtx
, enum machine_mode
));
41 extern int and_operand
PARAMS ((rtx
, enum machine_mode
));
42 extern int add_operand
PARAMS ((rtx
, enum machine_mode
));
43 extern int call_operand
PARAMS ((rtx
, enum machine_mode
));
44 extern int in_operand
PARAMS ((rtx
, enum machine_mode
));
45 extern int out_operand
PARAMS ((rtx
, enum machine_mode
));
46 extern int reload_memory_operand
PARAMS ((rtx
, enum machine_mode
));
47 extern void a29k_set_memflags
PARAMS ((rtx
, rtx
));
48 extern int fp_comparison_operator
PARAMS ((rtx
, enum machine_mode
));
49 extern int branch_operator
PARAMS ((rtx
, enum machine_mode
));
50 extern int load_multiple_operation
PARAMS ((rtx
, enum machine_mode
));
51 extern int store_multiple_operation
PARAMS ((rtx
, enum machine_mode
));
52 extern int masks_bits_for_special
PARAMS ((rtx
, rtx
));
53 extern int epilogue_operand
PARAMS ((rtx
, enum machine_mode
));
54 extern enum reg_class secondary_reload_class
PARAMS ((enum reg_class
,
55 enum machine_mode
, rtx
));
56 extern int incoming_reg
PARAMS ((int, int));
57 extern void a29k_clobbers_to
PARAMS ((rtx
, rtx
));
58 extern int needs_regstack_p
PARAMS ((void));
59 extern int uses_local_reg_p
PARAMS ((rtx
));
60 extern int null_epilogue
PARAMS ((void));
61 extern void print_operand
PARAMS ((FILE *, rtx
, int));
62 extern void a29k_compute_reg_names
PARAMS ((void));