xref: /netbsd-src/external/gpl3/gdb/dist/include/opcode/arc-attrs.h (revision 02f41505626a9ceb584d30d0789203495760ac88)
1*02f41505Schristos /* Copyright (C) 1994-2024 Free Software Foundation, Inc.
24559860eSchristos 
34559860eSchristos    Contributed by Claudiu Zissulescu (claziss@synopsys.com)
44559860eSchristos 
54559860eSchristos    This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and
64559860eSchristos    the GNU Binutils.
74559860eSchristos 
84559860eSchristos    GAS/GDB is free software; you can redistribute it and/or modify
94559860eSchristos    it under the terms of the GNU General Public License as published by
104559860eSchristos    the Free Software Foundation; either version 3, or (at your option)
114559860eSchristos    any later version.
124559860eSchristos 
134559860eSchristos    GAS/GDB is distributed in the hope that it will be useful,
144559860eSchristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
154559860eSchristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
164559860eSchristos    GNU General Public License for more details.
174559860eSchristos 
184559860eSchristos    You should have received a copy of the GNU General Public License
194559860eSchristos    along with GAS or GDB; see the file COPYING3.  If not, write to
204559860eSchristos    the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
214559860eSchristos    MA 02110-1301, USA.  */
224559860eSchristos 
234559860eSchristos #ifndef ATTRS_ARC_H
244559860eSchristos #define ATTRS_ARC_H
254559860eSchristos 
264559860eSchristos #ifndef FEATURE_LIST_NAME
274559860eSchristos #define FEATURE_LIST_NAME feature_list
284559860eSchristos #endif
294559860eSchristos 
304559860eSchristos /* A table with cpu features.  */
314559860eSchristos const struct feature_type
324559860eSchristos {
334559860eSchristos   unsigned feature;
344559860eSchristos   unsigned cpus;
354559860eSchristos   const char *attr;
364559860eSchristos   const char *name;
374559860eSchristos }  FEATURE_LIST_NAME [] =
384559860eSchristos   {
394559860eSchristos     { BTSCN,    ARC_OPCODE_ARCALL,   "BITSCAN",  "bit-scan" },
404559860eSchristos     { CD,       ARC_OPCODE_ARCV2,    "CD",       "code-density" },
414559860eSchristos     { DIV,      ARC_OPCODE_ARCV2,    "DIV_REM",  "div/rem" },
424559860eSchristos     { DP,       ARC_OPCODE_ARCv2HS,  "FPUD",     "double-precision FPU" },
434559860eSchristos     { DPA,      ARC_OPCODE_ARCv2EM,  "FPUDA",    "double assist FP" },
444559860eSchristos     { DPX,      ARC_OPCODE_ARCFPX,   "DPFP",     "double-precision FPX" },
454559860eSchristos     { LL64,     ARC_OPCODE_ARCv2HS,  "LL64",     "double load/store" },
464559860eSchristos     { NPS400,   ARC_OPCODE_ARC700,   "NPS400",   "nps400" },
474559860eSchristos     { QUARKSE1, ARC_OPCODE_ARCv2EM,  "QUARKSE1", "QuarkSE-EM" },
484559860eSchristos     { QUARKSE2, ARC_OPCODE_ARCv2EM,  "QUARKSE2", "QuarkSE-EM" },
494559860eSchristos     { SHFT1,    ARC_OPCODE_ARCALL,   "SA",       "shift assist" },
504559860eSchristos     { SHFT2,    ARC_OPCODE_ARCALL,   "BS",       "barrel-shifter" },
514559860eSchristos     { SWAP,     ARC_OPCODE_ARCALL,   "SWAP",     "swap" },
524559860eSchristos     { SP,       ARC_OPCODE_ARCV2,    "FPUS",     "single-precision FPU" },
534559860eSchristos     { SPX,      ARC_OPCODE_ARCFPX,   "SPFP",     "single-precision FPX" }
544559860eSchristos   };
554559860eSchristos 
564559860eSchristos #ifndef CONFLICT_LIST
574559860eSchristos #define CONFLICT_LIST conflict_list
584559860eSchristos #endif
594559860eSchristos 
604559860eSchristos /* A table with conflicting features.  */
614b169a6bSchristos const unsigned CONFLICT_LIST [] = {
624559860eSchristos   NPS400 | SPX,
634559860eSchristos   NPS400 | DPX,
644559860eSchristos   DPX | DPA,
654559860eSchristos   SP | DPX,
664559860eSchristos   SP | SPX,
674559860eSchristos   DP | DPX,
684559860eSchristos   DP | SPX,
694559860eSchristos   QUARKSE1 | DP,
704559860eSchristos   QUARKSE1 | SP
714559860eSchristos };
724559860eSchristos #endif
73