X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Farc-ext-tbl.h;h=39d01a28c9138eb9ae922adec226089f95489a83;hb=7243d0118af6f72e3e72db1eb66941fec4530963;hp=3fb1c11856679cb566e6a2ff0026d70676ad00b8;hpb=9885948fc910a77d04f27a7683f5edd0989d818a;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/arc-ext-tbl.h b/opcodes/arc-ext-tbl.h index 3fb1c11856..39d01a28c9 100644 --- a/opcodes/arc-ext-tbl.h +++ b/opcodes/arc-ext-tbl.h @@ -1,5 +1,5 @@ /* ARC instruction defintions. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2018 Free Software Foundation, Inc. Contributed by Claudiu Zissulescu (claziss@synopsys.com) @@ -55,19 +55,22 @@ #define ARG_32BIT_ZALIMM { ZA, LIMM } /* Macro to generate 2 operand extension instruction. */ -#define EXTINSN2OP(NAME, CPU, CLASS, SCLASS, MOP, SOP) \ +#define EXTINSN2OPF(NAME, CPU, CLASS, SCLASS, MOP, SOP, FL) \ { NAME, INSN2OP_BC (MOP,SOP), MINSN2OP_BC, CPU, CLASS, SCLASS, \ - ARG_32BIT_RBRC, FLAGS_F }, \ + ARG_32BIT_RBRC, FL }, \ { NAME, INSN2OP_0C (MOP,SOP), MINSN2OP_0C, CPU, CLASS, SCLASS, \ - ARG_32BIT_ZARC, FLAGS_F }, \ + ARG_32BIT_ZARC, FL }, \ { NAME, INSN2OP_BU (MOP,SOP), MINSN2OP_BU, CPU, CLASS, SCLASS, \ - ARG_32BIT_RBU6, FLAGS_F }, \ + ARG_32BIT_RBU6, FL }, \ { NAME, INSN2OP_0U (MOP,SOP), MINSN2OP_0U, CPU, CLASS, SCLASS, \ - ARG_32BIT_ZAU6, FLAGS_F }, \ + ARG_32BIT_ZAU6, FL }, \ { NAME, INSN2OP_BL (MOP,SOP), MINSN2OP_BL, CPU, CLASS, SCLASS, \ - ARG_32BIT_RBLIMM, FLAGS_F }, \ + ARG_32BIT_RBLIMM, FL }, \ { NAME, INSN2OP_0L (MOP,SOP), MINSN2OP_0L, CPU, CLASS, SCLASS, \ - ARG_32BIT_ZALIMM, FLAGS_F }, + ARG_32BIT_ZALIMM, FL }, + +#define EXTINSN2OP(NAME, CPU, CLASS, SCLASS, MOP, SOP) \ + EXTINSN2OPF(NAME, CPU, CLASS, SCLASS, MOP, SOP, FLAGS_F) /* Macro to generate 3 operand extesion instruction. */ #define EXTINSN3OP(NAME, CPU, CLASS, SCLASS, MOP, SOP) \ @@ -113,10 +116,16 @@ ARG_32BIT_ZALIMMLIMM, FLAGS_CCF }, /* Extension instruction declarations. */ -EXTINSN2OP ("dsp_fp_flt2i", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE, 7, 43) -EXTINSN2OP ("dsp_fp_i2flt", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE, 7, 44) -EXTINSN2OP ("dsp_fp_sqrt", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE, 7, 45) +EXTINSN2OP ("dsp_fp_flt2i", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE1, 7, 43) +EXTINSN2OP ("dsp_fp_i2flt", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE1, 7, 44) +EXTINSN2OP ("dsp_fp_sqrt", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE2, 7, 45) + +EXTINSN3OP ("dsp_fp_div", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE2, 7, 42) +EXTINSN3OP ("dsp_fp_cmp", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE1, 7, 43) -EXTINSN3OP ("dsp_fp_div", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE, 7, 42) -EXTINSN3OP ("dsp_fp_cmp", ARC_OPCODE_ARCv2EM, FLOAT, QUARKSE, 7, 43) +/* Bitstream extensions. */ +EXTINSN2OP ("bspeek", ARC_OPCODE_ARCv2EM, BITSTREAM, NONE, 0x05, 0x2E) +EXTINSN2OP ("bspop", ARC_OPCODE_ARCv2EM, BITSTREAM, NONE, 0x05, 0x2F) +/* Special XY. */ +EXTINSN2OPF ("modapp", ARC_OPCODE_ARCv2EM, XY, NONE, 0x05, 0x3E, FLAGS_NONE)