111
|
1 /* Definitions for option handling for Nios II.
|
|
2 Copyright (C) 2013-2017 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 NIOS2_OPTS_H
|
|
21 #define NIOS2_OPTS_H
|
|
22
|
|
23 /* Enumerate the possible -mgpopt choices. */
|
|
24 enum nios2_gpopt_type
|
|
25 {
|
|
26 gpopt_unspecified = -1,
|
|
27 gpopt_none,
|
|
28 gpopt_local,
|
|
29 gpopt_global,
|
|
30 gpopt_data,
|
|
31 gpopt_all
|
|
32 };
|
|
33
|
|
34
|
|
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) \
|
|
45 \
|
|
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) \
|
|
54 \
|
|
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) \
|
|
60 \
|
|
61 N2FPU_CODE(fwrx) N2FPU_CODE(fwry) \
|
|
62 N2FPU_CODE(frdxlo) N2FPU_CODE(frdxhi) N2FPU_CODE(frdy)
|
|
63
|
|
64 enum n2fpu_code {
|
|
65 #define N2FPU_CODE(name) n2fpu_ ## name,
|
|
66 N2FPU_ALL_CODES
|
|
67 #undef N2FPU_CODE
|
|
68 n2fpu_code_num
|
|
69 };
|
|
70
|
|
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
|
|
74 {
|
|
75 CCS_UNUSED,
|
|
76 CCS_FPU,
|
|
77 CCS_BUILTIN_CALL
|
|
78 };
|
|
79
|
|
80 /* Supported Nios II Architectures. */
|
|
81 enum nios2_arch_type
|
|
82 {
|
|
83 ARCH_R1=1,
|
|
84 ARCH_R2
|
|
85 };
|
|
86
|
|
87 #endif
|
|
88
|