OSDN Git Service

Add NIOS2 support. Code from SourceyG++.
[pf3gnuchains/gcc-fork.git] / gcc / config / nios2 / nios2-opts.h
1 /* Definitions for option handling for Nios II.
2    Copyright (C) 2013
3    Free Software Foundation, Inc.
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
11
12 GCC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3.  If not see
19 <http://www.gnu.org/licenses/>.  */
20
21 #ifndef NIOS2_OPTS_H
22 #define NIOS2_OPTS_H
23
24 /* Enumeration of all FPU insn codes.  */
25 #define N2FPU_ALL_CODES                                                 \
26   N2FPU_CODE(fadds) N2FPU_CODE(fsubs) N2FPU_CODE(fmuls) N2FPU_CODE(fdivs) \
27   N2FPU_CODE(fmins) N2FPU_CODE(fmaxs)                                   \
28   N2FPU_CODE(fnegs) N2FPU_CODE(fabss) N2FPU_CODE(fsqrts)                \
29   N2FPU_CODE(fsins) N2FPU_CODE(fcoss) N2FPU_CODE(ftans) N2FPU_CODE(fatans) \
30   N2FPU_CODE(fexps) N2FPU_CODE(flogs)                                   \
31   N2FPU_CODE(fcmpeqs) N2FPU_CODE(fcmpnes)                               \
32   N2FPU_CODE(fcmplts) N2FPU_CODE(fcmples)                               \
33   N2FPU_CODE(fcmpgts) N2FPU_CODE(fcmpges)                               \
34                                                                         \
35   N2FPU_CODE(faddd) N2FPU_CODE(fsubd) N2FPU_CODE(fmuld) N2FPU_CODE(fdivd) \
36   N2FPU_CODE(fmind) N2FPU_CODE(fmaxd)                                   \
37   N2FPU_CODE(fnegd) N2FPU_CODE(fabsd) N2FPU_CODE(fsqrtd)                \
38   N2FPU_CODE(fsind) N2FPU_CODE(fcosd) N2FPU_CODE(ftand) N2FPU_CODE(fatand) \
39   N2FPU_CODE(fexpd) N2FPU_CODE(flogd)                                   \
40   N2FPU_CODE(fcmpeqd) N2FPU_CODE(fcmpned)                               \
41   N2FPU_CODE(fcmpltd) N2FPU_CODE(fcmpled)                               \
42   N2FPU_CODE(fcmpgtd) N2FPU_CODE(fcmpged)                               \
43                                                                         \
44   N2FPU_CODE(floatis) N2FPU_CODE(floatus)                               \
45   N2FPU_CODE(floatid) N2FPU_CODE(floatud)                               \
46   N2FPU_CODE(fixsi) N2FPU_CODE(fixsu)                                   \
47   N2FPU_CODE(fixdi) N2FPU_CODE(fixdu)                                   \
48   N2FPU_CODE(fextsd) N2FPU_CODE(ftruncds)                               \
49                                                                         \
50   N2FPU_CODE(fwrx) N2FPU_CODE(fwry)                                     \
51   N2FPU_CODE(frdxlo) N2FPU_CODE(frdxhi) N2FPU_CODE(frdy)
52
53 enum n2fpu_code {
54 #define N2FPU_CODE(name) n2fpu_ ## name,
55   N2FPU_ALL_CODES
56 #undef N2FPU_CODE
57   n2fpu_code_num
58 };
59
60 /* An enumeration to indicate the custom code status; if values within 0--255
61    are registered to an FPU insn, or custom insn.  */
62 enum nios2_ccs_code
63 {
64   CCS_UNUSED,
65   CCS_FPU,
66   CCS_BUILTIN_CALL
67 };
68
69 #endif
70