]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/ia64/ia64-protos.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / ia64 / ia64-protos.h
CommitLineData
c65ebc55 1/* Definitions of target machine for GNU compiler for IA-64.
85ec4feb 2 Copyright (C) 1999-2018 Free Software Foundation, Inc.
c65ebc55 3
3bed2930 4This file is part of GCC.
c65ebc55 5
3bed2930 6GCC is free software; you can redistribute it and/or modify
c65ebc55 7it under the terms of the GNU General Public License as published by
2f83c7d6 8the Free Software Foundation; either version 3, or (at your option)
c65ebc55
JW
9any later version.
10
3bed2930 11GCC is distributed in the hope that it will be useful,
c65ebc55
JW
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
2f83c7d6
NC
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
c65ebc55 19
677f3fa8
JM
20/* Shared between the driver and cc1. */
21extern enum unwind_info_type ia64_except_unwind_info (struct gcc_options *);
22
c65ebc55
JW
23/* Functions defined in ia64.c */
24
30028c85 25extern int bundling_p;
c65ebc55 26#ifdef RTX_CODE
647d790d
DM
27extern int ia64_st_address_bypass_p (rtx_insn *, rtx_insn *);
28extern int ia64_ld_address_bypass_p (rtx_insn *, rtx_insn *);
9c808aad 29extern int ia64_produce_address_p (rtx);
9c808aad
AJ
30
31extern rtx ia64_expand_move (rtx, rtx);
32extern int ia64_move_ok (rtx, rtx);
a71aef0b 33extern int ia64_load_pair_ok (rtx, rtx);
9c808aad
AJ
34extern int addp4_optimize_ok (rtx, rtx);
35extern void ia64_emit_cond_move (rtx, rtx, rtx);
36extern int ia64_depz_field_mask (rtx, rtx);
f57fc998 37extern void ia64_split_tmode_move (rtx[]);
ef4bddc2 38extern bool ia64_expand_movxf_movrf (machine_mode, rtx[]);
f90b7a5a 39extern void ia64_expand_compare (rtx *, rtx *, rtx *);
f61134e8 40extern void ia64_expand_vecint_cmov (rtx[]);
ef4bddc2 41extern bool ia64_expand_vecint_minmax (enum rtx_code, machine_mode, rtx[]);
55eaaa5b 42extern void ia64_unpack_assemble (rtx, rtx, rtx, bool);
604e3ff3 43extern void ia64_expand_unpack (rtx [], bool, bool);
e898620c 44extern void ia64_expand_widen_sum (rtx[], bool);
9c808aad
AJ
45extern void ia64_expand_call (rtx, rtx, rtx, int);
46extern void ia64_split_call (rtx, rtx, rtx, rtx, rtx, int, int);
47extern void ia64_reload_gp (void);
28875d67
RH
48extern void ia64_expand_atomic_op (enum rtx_code, rtx, rtx, rtx, rtx,
49 enum memmodel);
9c808aad
AJ
50
51extern HOST_WIDE_INT ia64_initial_elimination_offset (int, int);
52extern void ia64_expand_prologue (void);
53extern void ia64_expand_epilogue (int);
54
55extern int ia64_direct_return (void);
5e6c8b64 56extern bool ia64_expand_load_address (rtx, rtx);
9c808aad
AJ
57extern int ia64_hard_regno_rename_ok (int, int);
58
9c808aad 59extern enum reg_class ia64_secondary_reload_class (enum reg_class,
ef4bddc2 60 machine_mode, rtx);
9c808aad 61extern const char *get_bundle_name (int);
7b84aac0 62extern const char *output_probe_stack_range (rtx, rtx);
e6431744
RH
63
64extern void ia64_expand_vec_perm_even_odd (rtx, rtx, rtx, int);
e6431744 65extern void ia64_expand_vec_setv2sf (rtx op[3]);
809d4ef1
RH
66#endif /* RTX_CODE */
67
c65ebc55 68#ifdef TREE_CODE
c65ebc55 69#ifdef RTX_CODE
ef4bddc2 70extern rtx ia64_expand_builtin (tree, rtx, rtx, machine_mode, int);
9c808aad 71extern rtx ia64_va_arg (tree, tree);
809d4ef1
RH
72#endif /* RTX_CODE */
73
9c808aad 74extern void ia64_asm_output_external (FILE *, tree, const char *);
30ed9d3d
TG
75extern void ia64_vms_output_aligned_decl_common (FILE *, tree, const char *,
76 unsigned HOST_WIDE_INT,
77 unsigned int);
78extern void ia64_vms_elf_asm_named_section (const char *, unsigned int, tree);
8e7745dc 79extern void ia64_start_function (FILE *, const char *, tree);
809d4ef1
RH
80#endif /* TREE_CODE */
81
9c808aad
AJ
82extern int ia64_epilogue_uses (int);
83extern int ia64_eh_uses (int);
84extern void emit_safe_across_calls (void);
85extern void ia64_init_builtins (void);
9c808aad 86extern int ia64_dbx_register_number (int);
0024a804 87
9c808aad
AJ
88extern rtx ia64_return_addr_rtx (HOST_WIDE_INT, rtx);
89extern void ia64_split_return_addr_rtx (rtx);
af1e5518 90
9c808aad 91extern void ia64_hpux_handle_builtin_pragma (struct cpp_reader *);
2b4f149b 92extern void ia64_output_function_profiler (FILE *, int);
d26afa4f 93extern void ia64_profile_hook (int);
bb83aa4b 94
6fb5fa3c 95extern void ia64_init_expanders (void);
f3a83111
SE
96
97extern rtx ia64_dconst_0_5 (void);
98extern rtx ia64_dconst_0_375 (void);