1 /* Definitions for option handling for Nios II.
2    Copyright (C) 2013-2014 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 /* Enumeration of all FPU insn codes.  */
24 #define N2FPU_ALL_CODES							\
25   N2FPU_CODE(fadds) N2FPU_CODE(fsubs) N2FPU_CODE(fmuls) N2FPU_CODE(fdivs) \
26   N2FPU_CODE(fmins) N2FPU_CODE(fmaxs)					\
27   N2FPU_CODE(fnegs) N2FPU_CODE(fabss) N2FPU_CODE(fsqrts)		\
28   N2FPU_CODE(fsins) N2FPU_CODE(fcoss) N2FPU_CODE(ftans) N2FPU_CODE(fatans) \
29   N2FPU_CODE(fexps) N2FPU_CODE(flogs)					\
30   N2FPU_CODE(fcmpeqs) N2FPU_CODE(fcmpnes)				\
31   N2FPU_CODE(fcmplts) N2FPU_CODE(fcmples)				\
32   N2FPU_CODE(fcmpgts) N2FPU_CODE(fcmpges)				\
33   									\
34   N2FPU_CODE(faddd) N2FPU_CODE(fsubd) N2FPU_CODE(fmuld) N2FPU_CODE(fdivd) \
35   N2FPU_CODE(fmind) N2FPU_CODE(fmaxd)					\
36   N2FPU_CODE(fnegd) N2FPU_CODE(fabsd) N2FPU_CODE(fsqrtd)		\
37   N2FPU_CODE(fsind) N2FPU_CODE(fcosd) N2FPU_CODE(ftand) N2FPU_CODE(fatand) \
38   N2FPU_CODE(fexpd) N2FPU_CODE(flogd)					\
39   N2FPU_CODE(fcmpeqd) N2FPU_CODE(fcmpned)				\
40   N2FPU_CODE(fcmpltd) N2FPU_CODE(fcmpled)				\
41   N2FPU_CODE(fcmpgtd) N2FPU_CODE(fcmpged)				\
42   									\
43   N2FPU_CODE(floatis) N2FPU_CODE(floatus)				\
44   N2FPU_CODE(floatid) N2FPU_CODE(floatud)				\
45   N2FPU_CODE(fixsi) N2FPU_CODE(fixsu)					\
46   N2FPU_CODE(fixdi) N2FPU_CODE(fixdu)					\
47   N2FPU_CODE(fextsd) N2FPU_CODE(ftruncds)				\
48 									\
49   N2FPU_CODE(fwrx) N2FPU_CODE(fwry)					\
50   N2FPU_CODE(frdxlo) N2FPU_CODE(frdxhi) N2FPU_CODE(frdy)
51 
52 enum n2fpu_code {
53 #define N2FPU_CODE(name) n2fpu_ ## name,
54   N2FPU_ALL_CODES
55 #undef N2FPU_CODE
56   n2fpu_code_num
57 };
58 
59 /* An enumeration to indicate the custom code status; if values within 0--255
60    are registered to an FPU insn, or custom insn.  */
61 enum nios2_ccs_code
62 {
63   CCS_UNUSED,
64   CCS_FPU,
65   CCS_BUILTIN_CALL
66 };
67 
68 #endif
69 
70