MIPS compact branch support
[official-gcc.git] / gcc / config / mips / mips-opts.h
blob3c2c6590e3dc3c6d00b7cb202de609d310daa439
1 /* Definitions for option handling for MIPS.
2 Copyright (C) 1989-2015 Free Software Foundation, Inc.
4 This file is part of GCC.
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.
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.
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/>. */
20 #ifndef MIPS_OPTS_H
21 #define MIPS_OPTS_H
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
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
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
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
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
56 #endif