runtime: allow preemption in fast syscall return
[official-gcc.git] / gcc / config / nios2 / nios2-opts.h
blob4a6e2231bfc17a60296d9da78a19c42ca553b14a
1 /* Definitions for option handling for Nios II.
2 Copyright (C) 2013-2018 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 NIOS2_OPTS_H
21 #define NIOS2_OPTS_H
23 /* Enumerate the possible -mgpopt choices. */
24 enum nios2_gpopt_type
26 gpopt_unspecified = -1,
27 gpopt_none,
28 gpopt_local,
29 gpopt_global,
30 gpopt_data,
31 gpopt_all
35 /* Enumeration of all FPU insn codes. */
36 #define N2FPU_ALL_CODES \
37 N2FPU_CODE(fadds) N2FPU_CODE(fsubs) N2FPU_CODE(fmuls) N2FPU_CODE(fdivs) \
38 N2FPU_CODE(fmins) N2FPU_CODE(fmaxs) \
39 N2FPU_CODE(fnegs) N2FPU_CODE(fabss) N2FPU_CODE(fsqrts) \
40 N2FPU_CODE(fsins) N2FPU_CODE(fcoss) N2FPU_CODE(ftans) N2FPU_CODE(fatans) \
41 N2FPU_CODE(fexps) N2FPU_CODE(flogs) \
42 N2FPU_CODE(fcmpeqs) N2FPU_CODE(fcmpnes) \
43 N2FPU_CODE(fcmplts) N2FPU_CODE(fcmples) \
44 N2FPU_CODE(fcmpgts) N2FPU_CODE(fcmpges) \
46 N2FPU_CODE(faddd) N2FPU_CODE(fsubd) N2FPU_CODE(fmuld) N2FPU_CODE(fdivd) \
47 N2FPU_CODE(fmind) N2FPU_CODE(fmaxd) \
48 N2FPU_CODE(fnegd) N2FPU_CODE(fabsd) N2FPU_CODE(fsqrtd) \
49 N2FPU_CODE(fsind) N2FPU_CODE(fcosd) N2FPU_CODE(ftand) N2FPU_CODE(fatand) \
50 N2FPU_CODE(fexpd) N2FPU_CODE(flogd) \
51 N2FPU_CODE(fcmpeqd) N2FPU_CODE(fcmpned) \
52 N2FPU_CODE(fcmpltd) N2FPU_CODE(fcmpled) \
53 N2FPU_CODE(fcmpgtd) N2FPU_CODE(fcmpged) \
55 N2FPU_CODE(floatis) N2FPU_CODE(floatus) \
56 N2FPU_CODE(floatid) N2FPU_CODE(floatud) \
57 N2FPU_CODE(round) N2FPU_CODE(fixsi) N2FPU_CODE(fixsu) \
58 N2FPU_CODE(fixdi) N2FPU_CODE(fixdu) \
59 N2FPU_CODE(fextsd) N2FPU_CODE(ftruncds) \
61 N2FPU_CODE(fwrx) N2FPU_CODE(fwry) \
62 N2FPU_CODE(frdxlo) N2FPU_CODE(frdxhi) N2FPU_CODE(frdy)
64 enum n2fpu_code {
65 #define N2FPU_CODE(name) n2fpu_ ## name,
66 N2FPU_ALL_CODES
67 #undef N2FPU_CODE
68 n2fpu_code_num
71 /* An enumeration to indicate the custom code status; if values within 0--255
72 are registered to an FPU insn, or custom insn. */
73 enum nios2_ccs_code
75 CCS_UNUSED,
76 CCS_FPU,
77 CCS_BUILTIN_CALL
80 /* Supported Nios II Architectures. */
81 enum nios2_arch_type
83 ARCH_R1=1,
84 ARCH_R2
87 #endif