]>
Commit | Line | Data |
---|---|---|
8d9254fc | 1 | /* Copyright (C) 1988-2020 Free Software Foundation, Inc. |
2bf6d935 ML |
2 | |
3 | This file is part of GCC. | |
4 | ||
5 | GCC is free software; you can redistribute it and/or modify | |
6 | it under the terms of the GNU General Public License as published by | |
7 | the Free Software Foundation; either version 3, or (at your option) | |
8 | any later version. | |
9 | ||
10 | GCC is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | GNU General Public License for more details. | |
14 | ||
15 | You should have received a copy of the GNU General Public License | |
16 | along with GCC; see the file COPYING3. If not see | |
17 | <http://www.gnu.org/licenses/>. */ | |
18 | ||
19 | #ifndef GCC_I386_OPTIONS_H | |
20 | #define GCC_I386_OPTIONS_H | |
21 | ||
9ba66bf5 JJ |
22 | extern int ix86_omp_device_kind_arch_isa (enum omp_device_kind_arch_isa trait, |
23 | const char *name); | |
24 | ||
2bf6d935 ML |
25 | char *ix86_target_string (HOST_WIDE_INT isa, HOST_WIDE_INT isa2, |
26 | int flags, int flags2, | |
27 | const char *arch, const char *tune, | |
46e6341f JJ |
28 | enum fpmath_unit fpmath, |
29 | enum prefer_vector_width pvw, bool add_nl_p, | |
2bf6d935 ML |
30 | bool add_abi_p); |
31 | ||
32 | extern enum attr_cpu ix86_schedule; | |
33 | ||
34 | extern enum processor_type ix86_tune; | |
35 | extern enum processor_type ix86_arch; | |
36 | extern unsigned char x86_prefetch_sse; | |
37 | extern const struct processor_costs *ix86_tune_cost; | |
38 | ||
39 | extern int ix86_tune_defaulted; | |
40 | extern int ix86_arch_specified; | |
41 | ||
42 | extern unsigned int ix86_default_incoming_stack_boundary; | |
43 | extern HOST_WIDE_INT deferred_isa_values; | |
44 | extern HOST_WIDE_INT deferred_isa_values2; | |
45 | ||
46 | extern unsigned int ix86_preferred_stack_boundary; | |
47 | extern unsigned int ix86_user_incoming_stack_boundary; | |
48 | extern unsigned int ix86_default_incoming_stack_boundary; | |
49 | extern unsigned int ix86_incoming_stack_boundary; | |
50 | ||
51 | extern char *ix86_offload_options (void); | |
52 | extern void ix86_option_override (void); | |
53 | extern void ix86_override_options_after_change (void); | |
54 | void ix86_set_current_function (tree fndecl); | |
55 | bool ix86_function_naked (const_tree fn); | |
56 | void ix86_simd_clone_adjust (struct cgraph_node *node); | |
57 | ||
58 | extern tree (*ix86_veclib_handler) (combined_fn, tree, tree); | |
59 | extern tree ix86_veclibabi_svml (combined_fn, tree, tree); | |
60 | extern tree ix86_veclibabi_acml (combined_fn, tree, tree); | |
61 | ||
2bf6d935 ML |
62 | enum ix86_function_specific_strings |
63 | { | |
64 | IX86_FUNCTION_SPECIFIC_ARCH, | |
65 | IX86_FUNCTION_SPECIFIC_TUNE, | |
66 | IX86_FUNCTION_SPECIFIC_MAX | |
67 | }; | |
68 | ||
69 | extern const char *stringop_alg_names[]; | |
70 | ||
71 | void ix86_add_new_builtins (HOST_WIDE_INT isa, HOST_WIDE_INT isa2); | |
72 | void ix86_function_specific_save (struct cl_target_option *, | |
ba948b37 JJ |
73 | struct gcc_options *opts, |
74 | struct gcc_options *opts_set); | |
2bf6d935 | 75 | void ix86_function_specific_restore (struct gcc_options *opts, |
ba948b37 | 76 | struct gcc_options *opts_set, |
2bf6d935 ML |
77 | struct cl_target_option *); |
78 | void ix86_function_specific_post_stream_in (struct cl_target_option *); | |
79 | void ix86_function_specific_print (FILE *, int, | |
80 | struct cl_target_option *); | |
81 | bool ix86_valid_target_attribute_p (tree, tree, tree, int); | |
82 | ||
83 | extern const struct attribute_spec ix86_attribute_table[]; | |
84 | ||
85 | ||
86 | #endif /* GCC_I386_OPTIONS_H */ |