xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/s390/s390-opts.h (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
1 /* Definitions for option handling for IBM S/390.
2    Copyright (C) 1999-2020 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 sync with
26    `processor_table' and `processor_flags_table' in s390.c (the enumeration
27    values are used as indices into these tables).  */
28 
29 enum processor_type
30 {
31   PROCESSOR_2064_Z900,
32   PROCESSOR_2084_Z990,
33   PROCESSOR_2094_Z9_109,
34   PROCESSOR_2094_Z9_EC,
35   PROCESSOR_2097_Z10,
36   PROCESSOR_2817_Z196,
37   PROCESSOR_2827_ZEC12,
38   PROCESSOR_2964_Z13,
39   PROCESSOR_3906_Z14,
40   PROCESSOR_8561_Z15,
41   PROCESSOR_NATIVE,
42   PROCESSOR_max
43 };
44 
45 
46 /* Values for -mindirect-branch and -mfunction-return options.  */
47 enum indirect_branch {
48   indirect_branch_unset = 0,
49   indirect_branch_keep,
50   indirect_branch_thunk,
51   indirect_branch_thunk_inline,
52   indirect_branch_thunk_extern
53 };
54 #endif
55