]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/i386/i386-opts.h
MAINTAINERS (Write After Approval): Update email.
[thirdparty/gcc.git] / gcc / config / i386 / i386-opts.h
CommitLineData
7eb68c06 1/* Definitions for option handling for IA-32.
d1e082c2 2 Copyright (C) 1988-2013 Free Software Foundation, Inc.
7eb68c06
JM
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 3, or (at your option)
9any later version.
10
11GCC is distributed in the hope that it will be useful,
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
16Under Section 7 of GPL version 3, you are granted additional
17permissions described in the GCC Runtime Library Exception, version
183.1, as published by the Free Software Foundation.
19
20You should have received a copy of the GNU General Public License and
21a copy of the GCC Runtime Library Exception along with this program;
22see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23<http://www.gnu.org/licenses/>. */
24
25#ifndef I386_OPTS_H
26#define I386_OPTS_H
27
28/* Algorithm to expand string function with. */
29enum stringop_alg
30{
31 no_stringop,
32 libcall,
33 rep_prefix_1_byte,
34 rep_prefix_4_byte,
35 rep_prefix_8_byte,
36 loop_1_byte,
37 loop,
930b700b
MZ
38 unrolled_loop,
39 vector_loop
7eb68c06
JM
40};
41
42/* Available call abi. */
43enum calling_abi
44{
45 SYSV_ABI = 0,
46 MS_ABI = 1
47};
48
8023568e
JM
49enum fpmath_unit
50{
51 FPMATH_387 = 1,
52 FPMATH_SSE = 2
53};
54
7eb68c06
JM
55enum tls_dialect
56{
57 TLS_DIALECT_GNU,
58 TLS_DIALECT_GNU2,
59 TLS_DIALECT_SUN
60};
61
62enum cmodel {
63 CM_32, /* The traditional 32-bit ABI. */
64 CM_SMALL, /* Assumes all code and data fits in the low 31 bits. */
65 CM_KERNEL, /* Assumes all code and data fits in the high 31 bits. */
66 CM_MEDIUM, /* Assumes code fits in the low 31 bits; data unlimited. */
67 CM_LARGE, /* No assumptions. */
68 CM_SMALL_PIC, /* Assumes code+data+got/plt fits in a 31 bit region. */
69 CM_MEDIUM_PIC,/* Assumes code+got/plt fits in a 31 bit region. */
70 CM_LARGE_PIC /* No assumptions. */
71};
72
28968d91
L
73enum pmode {
74 PMODE_SI, /* Pmode == SImode. */
75 PMODE_DI /* Pmode == DImode. */
76};
77
7eb68c06
JM
78enum asm_dialect {
79 ASM_ATT,
80 ASM_INTEL
81};
82
83enum ix86_veclibabi {
84 ix86_veclibabi_type_none,
85 ix86_veclibabi_type_svml,
86 ix86_veclibabi_type_acml
87};
88
e0ea8797
AH
89enum stack_protector_guard {
90 SSP_TLS, /* per-thread canary in TLS block */
91 SSP_GLOBAL /* global canary */
92};
93
7eb68c06 94#endif