OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [ia64/] [ia64-protos.h] - Blame information for rev 867

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 709 jeremybenn
/* Definitions of target machine for GNU compiler for IA-64.
2
   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2007, 2010, 2011
3
   Free Software Foundation, Inc.
4
 
5
This file is part of GCC.
6
 
7
GCC 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 3, or (at your option)
10
any later version.
11
 
12
GCC 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.
16
 
17
You should have received a copy of the GNU General Public License
18
along with GCC; see the file COPYING3.  If not see
19
<http://www.gnu.org/licenses/>.  */
20
 
21
/* Shared between the driver and cc1.  */
22
extern enum unwind_info_type ia64_except_unwind_info (struct gcc_options *);
23
 
24
/* Functions defined in ia64.c */
25
 
26
extern int bundling_p;
27
#ifdef RTX_CODE
28
extern int ia64_st_address_bypass_p (rtx, rtx);
29
extern int ia64_ld_address_bypass_p (rtx, rtx);
30
extern int ia64_produce_address_p (rtx);
31
 
32
extern rtx ia64_expand_move (rtx, rtx);
33
extern int ia64_move_ok (rtx, rtx);
34
extern int ia64_load_pair_ok (rtx, rtx);
35
extern int addp4_optimize_ok (rtx, rtx);
36
extern void ia64_emit_cond_move (rtx, rtx, rtx);
37
extern int ia64_depz_field_mask (rtx, rtx);
38
extern void ia64_split_tmode_move (rtx[]);
39
extern bool ia64_expand_movxf_movrf (enum machine_mode, rtx[]);
40
extern void ia64_expand_compare (rtx *, rtx *, rtx *);
41
extern void ia64_expand_vecint_cmov (rtx[]);
42
extern bool ia64_expand_vecint_minmax (enum rtx_code, enum machine_mode, rtx[]);
43
extern void ia64_unpack_assemble (rtx, rtx, rtx, bool);
44
extern void ia64_expand_unpack (rtx [], bool, bool);
45
extern void ia64_expand_widen_sum (rtx[], bool);
46
extern void ia64_expand_dot_prod_v8qi (rtx[], bool);
47
extern void ia64_expand_call (rtx, rtx, rtx, int);
48
extern void ia64_split_call (rtx, rtx, rtx, rtx, rtx, int, int);
49
extern void ia64_reload_gp (void);
50
extern void ia64_expand_atomic_op (enum rtx_code, rtx, rtx, rtx, rtx,
51
                                   enum memmodel);
52
 
53
extern HOST_WIDE_INT ia64_initial_elimination_offset (int, int);
54
extern void ia64_expand_prologue (void);
55
extern void ia64_expand_epilogue (int);
56
 
57
extern int ia64_direct_return (void);
58
extern bool ia64_expand_load_address (rtx, rtx);
59
extern int ia64_hard_regno_rename_ok (int, int);
60
 
61
extern enum reg_class ia64_secondary_reload_class (enum reg_class,
62
                                                   enum machine_mode, rtx);
63
extern const char *get_bundle_name (int);
64
 
65
extern void ia64_expand_vec_perm_even_odd (rtx, rtx, rtx, int);
66
extern bool ia64_expand_vec_perm_const (rtx op[4]);
67
extern void ia64_expand_vec_setv2sf (rtx op[3]);
68
#endif /* RTX_CODE */
69
 
70
#ifdef TREE_CODE
71
#ifdef RTX_CODE
72
extern rtx ia64_expand_builtin (tree, rtx, rtx, enum machine_mode, int);
73
extern rtx ia64_va_arg (tree, tree);
74
#endif /* RTX_CODE */
75
 
76
extern void ia64_asm_output_external (FILE *, tree, const char *);
77
extern void ia64_vms_output_aligned_decl_common (FILE *, tree, const char *,
78
                                                 unsigned HOST_WIDE_INT,
79
                                                 unsigned int);
80
extern void ia64_vms_elf_asm_named_section (const char *, unsigned int, tree);
81
extern void ia64_start_function (FILE *, const char *, tree);
82
#endif /* TREE_CODE */
83
 
84
extern int ia64_epilogue_uses (int);
85
extern int ia64_eh_uses (int);
86
extern void emit_safe_across_calls (void);
87
extern void ia64_init_builtins (void);
88
extern int ia64_dbx_register_number (int);
89
 
90
extern rtx ia64_return_addr_rtx (HOST_WIDE_INT, rtx);
91
extern void ia64_split_return_addr_rtx (rtx);
92
 
93
#ifdef ARGS_SIZE_RTX
94
/* expr.h defines ARGS_SIZE_RTX and `enum direction'.  */
95
extern enum direction ia64_hpux_function_arg_padding (enum machine_mode, const_tree);
96
#endif /* ARGS_SIZE_RTX */
97
 
98
extern void ia64_hpux_handle_builtin_pragma (struct cpp_reader *);
99
extern void ia64_output_function_profiler (FILE *, int);
100
extern void ia64_profile_hook (int);
101
 
102
extern void ia64_init_expanders (void);
103
 
104
extern rtx ia64_dconst_0_5 (void);
105
extern rtx ia64_dconst_0_375 (void);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.