annotate gcc/config/i386/i386-protos.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 /* Definitions of target machine for GCC for IA-32.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2 Copyright (C) 1988-2018 Free Software Foundation, Inc.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 This file is part of GCC.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 GCC is free software; you can redistribute it and/or modify
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 the Free Software Foundation; either version 3, or (at your option)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 any later version.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 GCC is distributed in the hope that it will be useful,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 GNU General Public License for more details.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 along with GCC; see the file COPYING3. If not see
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 <http://www.gnu.org/licenses/>. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
111
kono
parents: 67
diff changeset
20 /* In i386-common.c. */
kono
parents: 67
diff changeset
21 extern bool ix86_handle_option (struct gcc_options *opts,
kono
parents: 67
diff changeset
22 struct gcc_options *opts_set ATTRIBUTE_UNUSED,
kono
parents: 67
diff changeset
23 const struct cl_decoded_option *decoded,
kono
parents: 67
diff changeset
24 location_t loc);
kono
parents: 67
diff changeset
25
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 /* Functions in i386.c */
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
27 extern bool ix86_target_stack_probe (void);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
28 extern bool ix86_can_use_return_insn_p (void);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 extern void ix86_setup_frame_addresses (void);
111
kono
parents: 67
diff changeset
30 extern bool ix86_rip_relative_addr_p (struct ix86_address *parts);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 extern HOST_WIDE_INT ix86_initial_elimination_offset (int, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 extern void ix86_expand_prologue (void);
111
kono
parents: 67
diff changeset
34 extern void ix86_maybe_emit_epilogue_vzeroupper (void);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 extern void ix86_expand_epilogue (int);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
36 extern void ix86_expand_split_stack_prologue (void);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 extern void ix86_output_addr_vec_elt (FILE *, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 extern void ix86_output_addr_diff_elt (FILE *, int, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
41 extern enum calling_abi ix86_cfun_abi (void);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
42 extern enum calling_abi ix86_function_type_abi (const_tree);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
43
111
kono
parents: 67
diff changeset
44 extern bool ix86_use_pseudo_pic_reg (void);
kono
parents: 67
diff changeset
45
kono
parents: 67
diff changeset
46 extern void ix86_reset_previous_fndecl (void);
kono
parents: 67
diff changeset
47
kono
parents: 67
diff changeset
48 extern bool ix86_using_red_zone (void);
kono
parents: 67
diff changeset
49
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 #ifdef RTX_CODE
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 extern int standard_80387_constant_p (rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 extern const char *standard_80387_constant_opcode (rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 extern rtx standard_80387_constant_rtx (int);
111
kono
parents: 67
diff changeset
54 extern int standard_sse_constant_p (rtx, machine_mode);
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
55 extern const char *standard_sse_constant_opcode (rtx_insn *, rtx *);
111
kono
parents: 67
diff changeset
56 extern bool ix86_standard_x87sse_constant_load_p (const rtx_insn *, rtx);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
57 extern bool symbolic_reference_mentioned_p (rtx);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 extern bool extended_reg_mentioned_p (rtx);
111
kono
parents: 67
diff changeset
59 extern bool x86_extended_QIreg_mentioned_p (rtx_insn *);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 extern bool x86_extended_reg_mentioned_p (rtx);
111
kono
parents: 67
diff changeset
61 extern bool x86_maybe_negate_const_int (rtx *, machine_mode);
kono
parents: 67
diff changeset
62 extern machine_mode ix86_cc_mode (enum rtx_code, rtx, rtx);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63
111
kono
parents: 67
diff changeset
64 extern int avx_vpermilp_parallel (rtx par, machine_mode mode);
kono
parents: 67
diff changeset
65 extern int avx_vperm2f128_parallel (rtx par, machine_mode mode);
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
66
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
67 extern bool ix86_expand_strlen (rtx, rtx, rtx, rtx);
111
kono
parents: 67
diff changeset
68 extern bool ix86_expand_set_or_movmem (rtx, rtx, rtx, rtx, rtx, rtx,
kono
parents: 67
diff changeset
69 rtx, rtx, rtx, rtx, bool);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 extern bool constant_address_p (rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 extern bool legitimate_pic_operand_p (rtx);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
73 extern bool legitimate_pic_address_disp_p (rtx);
111
kono
parents: 67
diff changeset
74 extern bool ix86_force_load_from_GOT_p (rtx);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 extern void print_reg (rtx, int, FILE*);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
76 extern void ix86_print_operand (FILE *, rtx, int);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
111
kono
parents: 67
diff changeset
78 extern void split_double_mode (machine_mode, rtx[], int, rtx[], rtx[]);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 extern const char *output_set_got (rtx, rtx);
111
kono
parents: 67
diff changeset
81 extern const char *output_387_binary_op (rtx_insn *, rtx*);
kono
parents: 67
diff changeset
82 extern const char *output_387_reg_move (rtx_insn *, rtx*);
kono
parents: 67
diff changeset
83 extern const char *output_fix_trunc (rtx_insn *, rtx*, bool);
kono
parents: 67
diff changeset
84 extern const char *output_fp_compare (rtx_insn *, rtx*, bool, bool);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
85 extern const char *output_adjust_stack_and_probe (rtx);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
86 extern const char *output_probe_stack_range (rtx, rtx);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 extern void ix86_expand_clear (rtx);
111
kono
parents: 67
diff changeset
89 extern void ix86_expand_move (machine_mode, rtx[]);
kono
parents: 67
diff changeset
90 extern void ix86_expand_vector_move (machine_mode, rtx[]);
kono
parents: 67
diff changeset
91 extern void ix86_expand_vector_move_misalign (machine_mode, rtx[]);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 extern rtx ix86_fixup_binary_operands (enum rtx_code,
111
kono
parents: 67
diff changeset
93 machine_mode, rtx[]);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 extern void ix86_fixup_binary_operands_no_copy (enum rtx_code,
111
kono
parents: 67
diff changeset
95 machine_mode, rtx[]);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 extern void ix86_expand_binary_operator (enum rtx_code,
111
kono
parents: 67
diff changeset
97 machine_mode, rtx[]);
kono
parents: 67
diff changeset
98 extern void ix86_expand_vector_logical_operator (enum rtx_code,
kono
parents: 67
diff changeset
99 machine_mode, rtx[]);
kono
parents: 67
diff changeset
100 extern bool ix86_binary_operator_ok (enum rtx_code, machine_mode, rtx[]);
kono
parents: 67
diff changeset
101 extern bool ix86_avoid_lea_for_add (rtx_insn *, rtx[]);
kono
parents: 67
diff changeset
102 extern bool ix86_use_lea_for_mov (rtx_insn *, rtx[]);
kono
parents: 67
diff changeset
103 extern bool ix86_avoid_lea_for_addr (rtx_insn *, rtx[]);
kono
parents: 67
diff changeset
104 extern void ix86_split_lea_for_addr (rtx_insn *, rtx[], machine_mode);
kono
parents: 67
diff changeset
105 extern bool ix86_lea_for_add_ok (rtx_insn *, rtx[]);
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
106 extern bool ix86_vec_interleave_v2df_operator_ok (rtx operands[3], bool high);
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
107 extern bool ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn);
111
kono
parents: 67
diff changeset
108 extern bool ix86_agi_dependent (rtx_insn *set_insn, rtx_insn *use_insn);
kono
parents: 67
diff changeset
109 extern void ix86_expand_unary_operator (enum rtx_code, machine_mode,
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 rtx[]);
111
kono
parents: 67
diff changeset
111 extern rtx ix86_build_const_vector (machine_mode, bool, rtx);
kono
parents: 67
diff changeset
112 extern rtx ix86_build_signbit_mask (machine_mode, bool, bool);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 extern void ix86_split_convert_uns_si_sse (rtx[]);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 extern void ix86_expand_convert_uns_didf_sse (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 extern void ix86_expand_convert_uns_sixf_sse (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 extern void ix86_expand_convert_uns_sidf_sse (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 extern void ix86_expand_convert_uns_sisf_sse (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 extern void ix86_expand_convert_sign_didf_sse (rtx, rtx);
111
kono
parents: 67
diff changeset
119 extern void ix86_expand_vector_convert_uns_vsivsf (rtx, rtx);
kono
parents: 67
diff changeset
120 extern rtx ix86_expand_adjust_ufix_to_sfix_si (rtx, rtx *);
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
121 extern enum ix86_fpcmp_strategy ix86_fp_comparison_strategy (enum rtx_code);
111
kono
parents: 67
diff changeset
122 extern void ix86_expand_fp_absneg_operator (enum rtx_code, machine_mode,
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 rtx[]);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 extern void ix86_expand_copysign (rtx []);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 extern void ix86_split_copysign_const (rtx []);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 extern void ix86_split_copysign_var (rtx []);
111
kono
parents: 67
diff changeset
127 extern bool ix86_unary_operator_ok (enum rtx_code, machine_mode, rtx[]);
kono
parents: 67
diff changeset
128 extern bool ix86_match_ccmode (rtx, machine_mode);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
129 extern void ix86_expand_branch (enum rtx_code, rtx, rtx, rtx);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
130 extern void ix86_expand_setcc (rtx, enum rtx_code, rtx, rtx);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
131 extern bool ix86_expand_int_movcc (rtx[]);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
132 extern bool ix86_expand_fp_movcc (rtx[]);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 extern bool ix86_expand_fp_vcond (rtx[]);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 extern bool ix86_expand_int_vcond (rtx[]);
111
kono
parents: 67
diff changeset
135 extern void ix86_expand_vec_perm (rtx[]);
kono
parents: 67
diff changeset
136 extern bool ix86_expand_mask_vec_cmp (rtx[]);
kono
parents: 67
diff changeset
137 extern bool ix86_expand_int_vec_cmp (rtx[]);
kono
parents: 67
diff changeset
138 extern bool ix86_expand_fp_vec_cmp (rtx[]);
kono
parents: 67
diff changeset
139 extern void ix86_expand_sse_movcc (rtx, rtx, rtx, rtx);
kono
parents: 67
diff changeset
140 extern void ix86_expand_sse_unpack (rtx, rtx, bool, bool);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
141 extern bool ix86_expand_int_addcc (rtx[]);
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
142 extern rtx_insn *ix86_expand_call (rtx, rtx, rtx, rtx, rtx, bool);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
143 extern void ix86_split_call_vzeroupper (rtx, rtx);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 extern void x86_initialize_trampoline (rtx, rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 extern rtx ix86_zero_extend_to_Pmode (rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 extern void ix86_split_long_move (rtx[]);
111
kono
parents: 67
diff changeset
147 extern void ix86_split_ashl (rtx *, rtx, machine_mode);
kono
parents: 67
diff changeset
148 extern void ix86_split_ashr (rtx *, rtx, machine_mode);
kono
parents: 67
diff changeset
149 extern void ix86_split_lshr (rtx *, rtx, machine_mode);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 extern rtx ix86_find_base_term (rtx);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
151 extern bool ix86_check_movabs (rtx, int);
111
kono
parents: 67
diff changeset
152 extern bool ix86_check_no_addr_space (rtx);
kono
parents: 67
diff changeset
153 extern void ix86_split_idivmod (machine_mode, rtx[], bool);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154
111
kono
parents: 67
diff changeset
155 extern rtx assign_386_stack_local (machine_mode, enum ix86_stack_slot);
kono
parents: 67
diff changeset
156 extern int ix86_attr_length_immediate_default (rtx_insn *, bool);
kono
parents: 67
diff changeset
157 extern int ix86_attr_length_address_default (rtx_insn *);
kono
parents: 67
diff changeset
158 extern int ix86_attr_length_vex_default (rtx_insn *, bool, bool);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159
111
kono
parents: 67
diff changeset
160 extern rtx ix86_libcall_value (machine_mode);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 extern bool ix86_function_arg_regno_p (int);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
162 extern void ix86_asm_output_function_label (FILE *, const char *, tree);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 extern void ix86_call_abi_override (const_tree);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 extern int ix86_reg_parm_stack_space (const_tree);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165
111
kono
parents: 67
diff changeset
166 extern bool ix86_libc_has_function (enum function_class fn_class);
kono
parents: 67
diff changeset
167
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 extern void x86_order_regs_for_local_alloc (void);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 extern void x86_function_profiler (FILE *, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 extern void x86_emit_floatuns (rtx [2]);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 extern void ix86_emit_fp_unordered_jump (rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 extern void ix86_emit_i387_log1p (rtx, rtx);
111
kono
parents: 67
diff changeset
174 extern void ix86_emit_i387_round (rtx, rtx);
kono
parents: 67
diff changeset
175 extern void ix86_emit_swdivsf (rtx, rtx, rtx, machine_mode);
kono
parents: 67
diff changeset
176 extern void ix86_emit_swsqrtsf (rtx, rtx, machine_mode, bool);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177
111
kono
parents: 67
diff changeset
178 extern enum rtx_code ix86_reverse_condition (enum rtx_code, machine_mode);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 extern void ix86_expand_lround (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 extern void ix86_expand_lfloorceil (rtx, rtx, bool);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 extern void ix86_expand_rint (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 extern void ix86_expand_floorceil (rtx, rtx, bool);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 extern void ix86_expand_floorceildf_32 (rtx, rtx, bool);
111
kono
parents: 67
diff changeset
185 extern void ix86_expand_round_sse4 (rtx, rtx);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 extern void ix86_expand_round (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 extern void ix86_expand_rounddf_32 (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 extern void ix86_expand_trunc (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 extern void ix86_expand_truncdf_32 (rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190
111
kono
parents: 67
diff changeset
191 extern void ix86_expand_vecop_qihi (enum rtx_code, rtx, rtx, rtx);
kono
parents: 67
diff changeset
192
kono
parents: 67
diff changeset
193 extern rtx ix86_split_stack_guard (void);
kono
parents: 67
diff changeset
194
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 #ifdef TREE_CODE
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
196 extern void init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
197 #endif /* TREE_CODE */
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
199 #endif /* RTX_CODE */
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 #ifdef TREE_CODE
111
kono
parents: 67
diff changeset
202 extern int ix86_data_alignment (tree, int, bool);
kono
parents: 67
diff changeset
203 extern unsigned int ix86_local_alignment (tree, machine_mode,
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 unsigned int);
111
kono
parents: 67
diff changeset
205 extern unsigned int ix86_minimum_alignment (tree, machine_mode,
19
58ad6c70ea60 update gcc from 4.4.0 to 4.4.1.
kent@firefly.cr.ie.u-ryukyu.ac.jp
parents: 0
diff changeset
206 unsigned int);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 extern tree ix86_handle_shared_attribute (tree *, tree, tree, int, bool *);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 extern tree ix86_handle_selectany_attribute (tree *, tree, tree, int, bool *);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 extern int x86_field_alignment (tree, int);
111
kono
parents: 67
diff changeset
210 extern tree ix86_valid_target_attribute_tree (tree,
kono
parents: 67
diff changeset
211 struct gcc_options *,
kono
parents: 67
diff changeset
212 struct gcc_options *);
kono
parents: 67
diff changeset
213 extern unsigned int ix86_get_callcvt (const_tree);
kono
parents: 67
diff changeset
214
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 extern rtx ix86_tls_module_base (void);
111
kono
parents: 67
diff changeset
218 extern bool ix86_tls_address_pattern_p (rtx);
kono
parents: 67
diff changeset
219 extern rtx ix86_rewrite_tls_address (rtx);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 extern void ix86_expand_vector_init (bool, rtx, rtx);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 extern void ix86_expand_vector_set (bool, rtx, rtx, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 extern void ix86_expand_vector_extract (bool, rtx, rtx, int);
111
kono
parents: 67
diff changeset
224 extern void ix86_expand_reduc (rtx (*)(rtx, rtx, rtx), rtx, rtx);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
226 extern void ix86_expand_vec_extract_even_odd (rtx, rtx, rtx, unsigned);
111
kono
parents: 67
diff changeset
227 extern bool ix86_expand_pextr (rtx *);
kono
parents: 67
diff changeset
228 extern bool ix86_expand_pinsr (rtx *);
kono
parents: 67
diff changeset
229 extern void ix86_expand_mul_widen_evenodd (rtx, rtx, rtx, bool, bool);
kono
parents: 67
diff changeset
230 extern void ix86_expand_mul_widen_hilo (rtx, rtx, rtx, bool, bool);
kono
parents: 67
diff changeset
231 extern void ix86_expand_sse2_mulv4si3 (rtx, rtx, rtx);
kono
parents: 67
diff changeset
232 extern void ix86_expand_sse2_mulvxdi3 (rtx, rtx, rtx);
kono
parents: 67
diff changeset
233 extern void ix86_expand_sse2_abs (rtx, rtx);
kono
parents: 67
diff changeset
234
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 /* In i386-c.c */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 extern void ix86_target_macros (void);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 extern void ix86_register_pragmas (void);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 /* In winnt.c */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 extern void i386_pe_unique_section (tree, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 extern void i386_pe_declare_function_type (FILE *, const char *, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 extern void i386_pe_record_external_function (tree, const char *);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 extern void i386_pe_maybe_record_exported_symbol (tree, const char *, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 extern void i386_pe_encode_section_info (tree, rtx, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 extern bool i386_pe_binds_local_p (const_tree);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 extern const char *i386_pe_strip_name_encoding_full (const char *);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 extern bool i386_pe_valid_dllimport_attribute_p (const_tree);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 extern unsigned int i386_pe_section_type_flags (tree, const char *, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 extern void i386_pe_asm_named_section (const char *, unsigned int, tree);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 extern void i386_pe_asm_output_aligned_decl_common (FILE *, tree,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 const char *,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 HOST_WIDE_INT,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 HOST_WIDE_INT);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 extern void i386_pe_file_end (void);
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
255 extern void i386_pe_asm_lto_start (void);
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
256 extern void i386_pe_asm_lto_end (void);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
257 extern void i386_pe_start_function (FILE *, const char *, tree);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
258 extern void i386_pe_end_function (FILE *, const char *, tree);
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
259 extern void i386_pe_end_cold_function (FILE *, const char *, tree);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
260 extern void i386_pe_assemble_visibility (tree, int);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 extern tree i386_pe_mangle_decl_assembler_name (tree, tree);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
262 extern tree i386_pe_mangle_assembler_name (const char *);
111
kono
parents: 67
diff changeset
263 extern void i386_pe_record_stub (const char *);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
264
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
265 extern void i386_pe_seh_init (FILE *);
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
266 extern void i386_pe_seh_end_prologue (FILE *);
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
267 extern void i386_pe_seh_cold_init (FILE *, const char *);
111
kono
parents: 67
diff changeset
268 extern void i386_pe_seh_unwind_emit (FILE *, rtx_insn *);
kono
parents: 67
diff changeset
269 extern void i386_pe_seh_emit_except_personality (rtx);
kono
parents: 67
diff changeset
270 extern void i386_pe_seh_init_sections (void);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 /* In winnt-cxx.c and winnt-stubs.c */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 extern void i386_pe_adjust_class_at_definition (tree);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 extern bool i386_pe_type_dllimport_p (tree);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 extern bool i386_pe_type_dllexport_p (tree);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276
111
kono
parents: 67
diff changeset
277 extern int i386_pe_reloc_rw_mask (void);
kono
parents: 67
diff changeset
278
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 extern char internal_label_prefix[16];
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 extern int internal_label_prefix_len;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281
111
kono
parents: 67
diff changeset
282 extern bool ix86_epilogue_uses (int);
kono
parents: 67
diff changeset
283
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 struct ix86_address
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 rtx base, index, disp;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 HOST_WIDE_INT scale;
111
kono
parents: 67
diff changeset
288 addr_space_t seg;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 };
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 extern int ix86_decompose_address (rtx, struct ix86_address *);
111
kono
parents: 67
diff changeset
292 extern int memory_address_length (rtx, bool);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 extern void x86_output_aligned_bss (FILE *, tree, const char *,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 unsigned HOST_WIDE_INT, int);
111
kono
parents: 67
diff changeset
295 extern void x86_elf_aligned_decl_common (FILE *, tree, const char *,
kono
parents: 67
diff changeset
296 unsigned HOST_WIDE_INT, int);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 #ifdef RTX_CODE
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 extern void ix86_fp_comparison_codes (enum rtx_code code, enum rtx_code *,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 enum rtx_code *, enum rtx_code *);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 extern enum rtx_code ix86_fp_compare_code_to_integer (enum rtx_code);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 extern int asm_preferred_eh_data_format (int, int);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 #ifdef HAVE_ATTR_cpu
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 extern enum attr_cpu ix86_schedule;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 #endif
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
308
111
kono
parents: 67
diff changeset
309 extern const char * ix86_output_call_insn (rtx_insn *insn, rtx call_op);
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
310 extern const char * ix86_output_indirect_jmp (rtx call_op);
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
311 extern const char * ix86_output_function_return (bool long_p);
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
312 extern const char * ix86_output_indirect_function_return (rtx ret_op);
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
313 extern void ix86_split_simple_return_pop_internal (rtx);
111
kono
parents: 67
diff changeset
314 extern bool ix86_operands_ok_for_move_multiple (rtx *operands, bool load,
kono
parents: 67
diff changeset
315 machine_mode mode);
kono
parents: 67
diff changeset
316 extern int ix86_min_insn_size (rtx_insn *);
kono
parents: 67
diff changeset
317
kono
parents: 67
diff changeset
318 extern int ix86_issue_rate (void);
kono
parents: 67
diff changeset
319 extern int ix86_adjust_cost (rtx_insn *insn, int dep_type, rtx_insn *dep_insn,
kono
parents: 67
diff changeset
320 int cost, unsigned int);
kono
parents: 67
diff changeset
321 extern int ia32_multipass_dfa_lookahead (void);
kono
parents: 67
diff changeset
322 extern bool ix86_macro_fusion_p (void);
kono
parents: 67
diff changeset
323 extern bool ix86_macro_fusion_pair_p (rtx_insn *condgen, rtx_insn *condjmp);
kono
parents: 67
diff changeset
324
kono
parents: 67
diff changeset
325 extern bool ix86_bd_has_dispatch (rtx_insn *insn, int action);
kono
parents: 67
diff changeset
326 extern void ix86_bd_do_dispatch (rtx_insn *insn, int mode);
kono
parents: 67
diff changeset
327
kono
parents: 67
diff changeset
328 extern void ix86_core2i7_init_hooks (void);
kono
parents: 67
diff changeset
329
kono
parents: 67
diff changeset
330 extern int ix86_atom_sched_reorder (FILE *, int, rtx_insn **, int *, int);
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
331
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
332 extern poly_int64 ix86_push_rounding (poly_int64);
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
333
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
334 #ifdef RTX_CODE
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
335 /* Target data for multipass lookahead scheduling.
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
336 Currently used for Core 2/i7 tuning. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
337 struct ix86_first_cycle_multipass_data_
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
338 {
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
339 /* The length (in bytes) of ifetch block in this solution. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
340 int ifetch_block_len;
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
341 /* Number of instructions in ifetch block in this solution. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
342 int ifetch_block_n_insns;
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
343 /* Bitmap to remember changes to ready_try for backtracking. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
344 sbitmap ready_try_change;
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
345 /* Size of the bitmap. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
346 int ready_try_change_size;
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
347 };
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
348 # define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T \
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
349 struct ix86_first_cycle_multipass_data_
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
350 #endif /* RTX_CODE */
111
kono
parents: 67
diff changeset
351
kono
parents: 67
diff changeset
352 const addr_space_t ADDR_SPACE_SEG_FS = 1;
kono
parents: 67
diff changeset
353 const addr_space_t ADDR_SPACE_SEG_GS = 2;
kono
parents: 67
diff changeset
354
kono
parents: 67
diff changeset
355 namespace gcc { class context; }
kono
parents: 67
diff changeset
356 class rtl_opt_pass;
kono
parents: 67
diff changeset
357
kono
parents: 67
diff changeset
358 extern rtl_opt_pass *make_pass_insert_vzeroupper (gcc::context *);
kono
parents: 67
diff changeset
359 extern rtl_opt_pass *make_pass_stv (gcc::context *);
kono
parents: 67
diff changeset
360 extern rtl_opt_pass *make_pass_insert_endbranch (gcc::context *);