(root)/
gcc-13.2.0/
gcc/
config/
nios2/
nios2-opts.h
       1  /* Definitions for option handling for Nios II.
       2     Copyright (C) 2013-2023 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