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