]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/nios2/nios2-opts.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / nios2 / nios2-opts.h
CommitLineData
e430824f 1/* Definitions for option handling for Nios II.
83ffe9cd 2 Copyright (C) 2013-2023 Free Software Foundation, Inc.
e430824f
CLT
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 3, or (at your option)
9any later version.
10
11GCC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along 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
56314783
SL
23/* Enumerate the possible -mgpopt choices. */
24enum 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
e430824f
CLT
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) \
aa221564 57 N2FPU_CODE(round) N2FPU_CODE(fixsi) N2FPU_CODE(fixsu) \
e430824f
CLT
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
64enum 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. */
73enum nios2_ccs_code
74{
75 CCS_UNUSED,
76 CCS_FPU,
77 CCS_BUILTIN_CALL
78};
79
77c50d73
SL
80/* Supported Nios II Architectures. */
81enum nios2_arch_type
82{
83 ARCH_R1=1,
84 ARCH_R2
85};
86
e430824f
CLT
87#endif
88