xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/mips/mips-opts.h (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
1 /* Definitions for option handling for MIPS.
2    Copyright (C) 1989-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
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3, or (at your option)
9 any later version.
10 
11 GCC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License 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 MIPS_OPTS_H
21 #define MIPS_OPTS_H
22 
23 /* Enumerates the setting of the -mcode-readable option.  */
24 enum mips_code_readable_setting {
25   CODE_READABLE_NO,
26   CODE_READABLE_PCREL,
27   CODE_READABLE_YES
28 };
29 
30 /* Enumerates the setting of the -mabs and -mnan options.  */
31 enum mips_ieee_754_setting {
32   MIPS_IEEE_754_DEFAULT,
33   MIPS_IEEE_754_LEGACY,
34   MIPS_IEEE_754_2008
35 };
36 
37 /* Enumerates the setting of the -mr10k-cache-barrier option.  */
38 enum mips_r10k_cache_barrier_setting {
39   R10K_CACHE_BARRIER_NONE,
40   R10K_CACHE_BARRIER_STORE,
41   R10K_CACHE_BARRIER_LOAD_STORE
42 };
43 
44 /* No enumeration is defined to index the -march= values (entries in
45    mips_cpu_info_table), with the type int being used instead, but we
46    need to distinguish the special "from-abi" and "native" values.  */
47 #define MIPS_ARCH_OPTION_FROM_ABI -1
48 #define MIPS_ARCH_OPTION_NATIVE -2
49 
50 /* Enumerates the setting of the -mcompact-branches= option.  */
51 enum mips_cb_setting {
52   MIPS_CB_NEVER,
53   MIPS_CB_OPTIMAL,
54   MIPS_CB_ALWAYS
55 };
56 #endif
57