1 /* Definitions for option handling for IBM S/390.
2    Copyright (C) 1999-2018 Free Software Foundation, Inc.
3 
4 This file is part of GCC.
5 
6 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 3, or (at your option) any later
9 version.
10 
11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3.  If not see
18 <http://www.gnu.org/licenses/>.  */
19 
20 #ifndef S390_OPTS_H
21 #define S390_OPTS_H
22 
23 /* Which processor to generate code or schedule for. The cpu attribute
24    defines a list that mirrors this list, so changes to s390.md must be
25    made at the same time.  The enumeration must also be kept in snyc with
26    processor_table in s390.c (the enumeration values are used as indices into
27    the table).  */
28 
29 enum processor_type
30 {
31   PROCESSOR_9672_G5,
32   PROCESSOR_9672_G6,
33   PROCESSOR_2064_Z900,
34   PROCESSOR_2084_Z990,
35   PROCESSOR_2094_Z9_109,
36   PROCESSOR_2094_Z9_EC,
37   PROCESSOR_2097_Z10,
38   PROCESSOR_2817_Z196,
39   PROCESSOR_2827_ZEC12,
40   PROCESSOR_2964_Z13,
41   PROCESSOR_3906_Z14,
42   PROCESSOR_NATIVE,
43   PROCESSOR_max
44 };
45 
46 
47 /* Values for -mindirect-branch and -mfunction-return options.  */
48 enum indirect_branch {
49   indirect_branch_unset = 0,
50   indirect_branch_keep,
51   indirect_branch_thunk,
52   indirect_branch_thunk_inline,
53   indirect_branch_thunk_extern
54 };
55 #endif
56