arc-attrs.h revision 1.1.1.3
1/* Copyright (C) 1994-2022 Free Software Foundation, Inc. 2 3 Contributed by Claudiu Zissulescu (claziss@synopsys.com) 4 5 This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and 6 the GNU Binutils. 7 8 GAS/GDB is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 3, or (at your option) 11 any later version. 12 13 GAS/GDB is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with GAS or GDB; see the file COPYING3. If not, write to 20 the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, 21 MA 02110-1301, USA. */ 22 23#ifndef ATTRS_ARC_H 24#define ATTRS_ARC_H 25 26#ifndef FEATURE_LIST_NAME 27#define FEATURE_LIST_NAME feature_list 28#endif 29 30/* A table with cpu features. */ 31const struct feature_type 32{ 33 unsigned feature; 34 unsigned cpus; 35 const char *attr; 36 const char *name; 37} FEATURE_LIST_NAME [] = 38 { 39 { BTSCN, ARC_OPCODE_ARCALL, "BITSCAN", "bit-scan" }, 40 { CD, ARC_OPCODE_ARCV2, "CD", "code-density" }, 41 { DIV, ARC_OPCODE_ARCV2, "DIV_REM", "div/rem" }, 42 { DP, ARC_OPCODE_ARCv2HS, "FPUD", "double-precision FPU" }, 43 { DPA, ARC_OPCODE_ARCv2EM, "FPUDA", "double assist FP" }, 44 { DPX, ARC_OPCODE_ARCFPX, "DPFP", "double-precision FPX" }, 45 { LL64, ARC_OPCODE_ARCv2HS, "LL64", "double load/store" }, 46 { NPS400, ARC_OPCODE_ARC700, "NPS400", "nps400" }, 47 { QUARKSE1, ARC_OPCODE_ARCv2EM, "QUARKSE1", "QuarkSE-EM" }, 48 { QUARKSE2, ARC_OPCODE_ARCv2EM, "QUARKSE2", "QuarkSE-EM" }, 49 { SHFT1, ARC_OPCODE_ARCALL, "SA", "shift assist" }, 50 { SHFT2, ARC_OPCODE_ARCALL, "BS", "barrel-shifter" }, 51 { SWAP, ARC_OPCODE_ARCALL, "SWAP", "swap" }, 52 { SP, ARC_OPCODE_ARCV2, "FPUS", "single-precision FPU" }, 53 { SPX, ARC_OPCODE_ARCFPX, "SPFP", "single-precision FPX" } 54 }; 55 56#ifndef CONFLICT_LIST 57#define CONFLICT_LIST conflict_list 58#endif 59 60/* A table with conflicting features. */ 61const unsigned CONFLICT_LIST [] = { 62 NPS400 | SPX, 63 NPS400 | DPX, 64 DPX | DPA, 65 SP | DPX, 66 SP | SPX, 67 DP | DPX, 68 DP | SPX, 69 QUARKSE1 | DP, 70 QUARKSE1 | SP 71}; 72#endif 73