csky-opc.h revision 1.1.1.1
1/* Declarations for C-SKY opcode table
2   Copyright (C) 2007-2020 Free Software Foundation, Inc.
3   Contributed by C-SKY Microsystems and Mentor Graphics.
4
5   This file is part of the GNU opcodes library.
6
7   This library is free software; you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation; either version 3, or (at your option)
10   any later version.
11
12   It is distributed in the hope that it will be useful, but WITHOUT
13   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
15   License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with GAS; see the file COPYING.  If not, write to the Free
19   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
20   02110-1301, USA.  */
21
22#include "opcode/csky.h"
23
24#define OP_TABLE_NUM    2
25#define MAX_OPRND_NUM   4
26
27enum operand_type
28{
29  OPRND_TYPE_NONE = 0,
30  /* Control register.  */
31  OPRND_TYPE_CTRLREG,
32  /* r0 - r7.  */
33  OPRND_TYPE_GREG0_7,
34  /* r0 - r15.  */
35  OPRND_TYPE_GREG0_15,
36  /* r16 - r31.  */
37  OPRND_TYPE_GREG16_31,
38  /* r0 - r31.  */
39  OPRND_TYPE_AREG,
40  /* (rx).  */
41  OPRND_TYPE_AREG_WITH_BRACKET,
42  OPRND_TYPE_AREG_WITH_LSHIFT,
43  OPRND_TYPE_AREG_WITH_LSHIFT_FPU,
44
45  OPRND_TYPE_FREG_WITH_INDEX,
46  /* r1 only, for xtrb0(1)(2)(3) in csky v1 ISA.  */
47  OPRND_TYPE_REG_r1a,
48  /* r1 only, for divs/divu in csky v1 ISA.  */
49  OPRND_TYPE_REG_r1b,
50  /* r28.  */
51  OPRND_TYPE_REG_r28,
52  OPRND_TYPE_REGr4_r7,
53  /* sp register with bracket.  */
54  OPRND_TYPE_REGbsp,
55  /* sp register.  */
56  OPRND_TYPE_REGsp,
57  /* Register with bracket.  */
58  OPRND_TYPE_REGnr4_r7,
59  /* Not sp register.  */
60  OPRND_TYPE_REGnsp,
61  /* Not lr register.  */
62  OPRND_TYPE_REGnlr,
63  /* Not sp/lr register.  */
64  OPRND_TYPE_REGnsplr,
65  /* hi/lo register.  */
66  OPRND_TYPE_REGhilo,
67  /* VDSP register.  */
68  OPRND_TYPE_VREG,
69
70  /* cp index.  */
71  OPRND_TYPE_CPIDX,
72  /* cp regs.  */
73  OPRND_TYPE_CPREG,
74  /* cp cregs.  */
75  OPRND_TYPE_CPCREG,
76  /* fpu regs.  */
77  OPRND_TYPE_FREG,
78  /* fpu even regs.  */
79  OPRND_TYPE_FEREG,
80  /* Float round mode.  */
81  OPRND_TYPE_RM,
82  /* PSR bits.  */
83  OPRND_TYPE_PSR_BITS_LIST,
84
85  /* Constant.  */
86  OPRND_TYPE_CONSTANT,
87  /* Floating Constant.  */
88  OPRND_TYPE_FCONSTANT,
89  /* Extern lrw constant.  */
90  OPRND_TYPE_ELRW_CONSTANT,
91  /* [label].  */
92  OPRND_TYPE_LABEL_WITH_BRACKET,
93  /* The operand is the same as first reg.  It is a dummy reg that doesn't
94     appear in the binary code of the instruction.  It is also used by
95     the disassembler.
96     For example: bclri rz, rz, imm5 -> bclri rz, imm5.  */
97  OPRND_TYPE_DUMMY_REG,
98  /* The type of the operand is same as the first operand.  If the value
99     of the operand is same as the first operand, we can use a 16-bit
100     instruction to represent the opcode.
101     For example: addc r1, r1, r2 -> addc16 r1, r2.  */
102  OPRND_TYPE_2IN1_DUMMY,
103  /* Output a reg same as the first reg.
104     For example: addc r17, r1 -> addc32 r17, r17, r1.
105     The old "addc" cannot be represented by a 16-bit instruction because
106     16-bit "addc" only supports regs from r0 to r15.  So we use "addc32"
107     which has 3 operands, and duplicate the first operand to the second.  */
108  OPRND_TYPE_DUP_GREG0_7,
109  OPRND_TYPE_DUP_GREG0_15,
110  OPRND_TYPE_DUP_AREG,
111  /* Immediate.  */
112  OPRND_TYPE_IMM1b,
113  OPRND_TYPE_IMM2b,
114  OPRND_TYPE_IMM3b,
115  OPRND_TYPE_IMM4b,
116  OPRND_TYPE_IMM5b,
117  OPRND_TYPE_IMM7b,
118  OPRND_TYPE_IMM8b,
119  OPRND_TYPE_IMM12b,
120  OPRND_TYPE_IMM15b,
121  OPRND_TYPE_IMM16b,
122  OPRND_TYPE_IMM18b,
123  OPRND_TYPE_IMM32b,
124  /* Immediate left shift 2 bits.  */
125  OPRND_TYPE_IMM7b_LS2,
126  OPRND_TYPE_IMM8b_LS2,
127  /* OPRND_TYPE_IMM5b_a_b means: Immediate in (a, b).  */
128  OPRND_TYPE_IMM5b_1_31,
129  OPRND_TYPE_IMM5b_7_31,
130  /* Operand type for rori and rotri.  */
131  OPRND_TYPE_IMM5b_RORI,
132  OPRND_TYPE_IMM5b_POWER,
133  OPRND_TYPE_IMM5b_7_31_POWER,
134  OPRND_TYPE_IMM5b_BMASKI,
135  OPRND_TYPE_IMM8b_BMASKI,
136  /* For v2 movih.  */
137  OPRND_TYPE_IMM16b_MOVIH,
138  /* For v2 ori.  */
139  OPRND_TYPE_IMM16b_ORI,
140  /* For v2 ld/st.  */
141  OPRND_TYPE_IMM_LDST,
142  OPRND_TYPE_IMM_FLDST,
143  OPRND_TYPE_IMM2b_JMPIX,
144  /* Offset for bloop.  */
145  OPRND_TYPE_BLOOP_OFF4b,
146  OPRND_TYPE_BLOOP_OFF12b,
147  /* Offset for jump.  */
148  OPRND_TYPE_OFF8b,
149  OPRND_TYPE_OFF10b,
150  OPRND_TYPE_OFF11b,
151  OPRND_TYPE_OFF16b,
152  OPRND_TYPE_OFF16b_LSL1,
153  OPRND_TYPE_OFF26b,
154  /* An immediate or label.  */
155  OPRND_TYPE_IMM_OFF18b,
156  /* Offset immediate.  */
157  OPRND_TYPE_OIMM3b,
158  OPRND_TYPE_OIMM4b,
159  OPRND_TYPE_OIMM5b,
160  OPRND_TYPE_OIMM8b,
161  OPRND_TYPE_OIMM12b,
162  OPRND_TYPE_OIMM16b,
163  OPRND_TYPE_OIMM18b,
164  /* For csky v2 idly.  */
165  OPRND_TYPE_OIMM5b_IDLY,
166  /* For v2 bmaski.  */
167  OPRND_TYPE_OIMM5b_BMASKI,
168  /* Constants.  */
169  OPRND_TYPE_CONST1,
170  /* PC relative offset.  */
171  OPRND_TYPE_PCR_OFFSET_16K,
172  OPRND_TYPE_PCR_OFFSET_64K,
173  OPRND_TYPE_PCR_OFFSET_64M,
174  OPRND_TYPE_CPFUNC,
175  OPRND_TYPE_GOT_PLT,
176  OPRND_TYPE_REGLIST_LDM,
177  OPRND_TYPE_REGLIST_DASH,
178  OPRND_TYPE_FREGLIST_DASH,
179  OPRND_TYPE_REGLIST_COMMA,
180  OPRND_TYPE_REGLIST_DASH_COMMA,
181  OPRND_TYPE_BRACKET,
182  OPRND_TYPE_ABRACKET,
183  OPRND_TYPE_JBTF,
184  OPRND_TYPE_JBR,
185  OPRND_TYPE_JBSR,
186  OPRND_TYPE_UNCOND10b,
187  OPRND_TYPE_UNCOND16b,
188  OPRND_TYPE_COND10b,
189  OPRND_TYPE_COND16b,
190  OPRND_TYPE_JCOMPZ,
191  OPRND_TYPE_LSB2SIZE,
192  OPRND_TYPE_MSB2SIZE,
193  OPRND_TYPE_LSB,
194  OPRND_TYPE_MSB,
195  /* Single float and double float.  */
196  OPRND_TYPE_SFLOAT,
197  OPRND_TYPE_DFLOAT,
198};
199
200/* Operand descriptors.  */
201struct operand
202{
203  /* Mask for suboperand.  */
204  unsigned int mask;
205  /* Suboperand type.  */
206  enum operand_type type;
207  /* Operand shift.  */
208  int shift;
209};
210
211struct soperand
212{
213  /* Mask for operand.  */
214  unsigned int mask;
215  /* Operand type.  */
216  enum operand_type type;
217  /* Operand shift.  */
218  int shift;
219  /* Suboperand.  */
220  struct operand subs[3];
221};
222
223union csky_operand
224{
225  struct operand oprnds[5];
226  struct suboperand1
227  {
228    struct operand oprnd;
229    struct soperand soprnd;
230  } soprnd1;
231  struct suboperand2
232  {
233    struct soperand soprnd;
234    struct operand oprnd;
235  } soprnd2;
236};
237
238/* Describe a single instruction encoding.  */
239struct csky_opcode_info
240{
241  /* How many operands.  */
242  long operand_num;
243  /* The instruction opcode.  */
244  unsigned int opcode;
245  /* Operand information.  */
246  union csky_operand oprnd;
247};
248
249/* C-SKY instruction description.  Each mnemonic can have multiple
250   16-bit and 32-bit encodings.  */
251struct csky_opcode
252{
253  /* The instruction name.  */
254  const char *mnemonic;
255  /* Whether this is an unconditional control transfer instruction,
256     for the purposes of placing literal pools after it.
257     0 = no, 1 = within function, 2 = end of function.
258     See check_literals in gas/config/tc-csky.c.  */
259  int transfer;
260  /* Encodings for 16-bit opcodes.  */
261  struct csky_opcode_info op16[OP_TABLE_NUM];
262  /* Encodings for 32-bit opcodes.  */
263  struct csky_opcode_info op32[OP_TABLE_NUM];
264  /* Instruction set flag.  */
265  unsigned int isa_flag16;
266  unsigned int isa_flag32;
267  /* Whether this insn needs relocation, 0: no, !=0: yes.  */
268  signed int reloc16;
269  signed int reloc32;
270  /* Whether this insn needs relaxation, 0: no, != 0: yes.  */
271  signed int relax;
272  /* Worker function to call when this instruction needs special assembler
273     handling.  */
274  bfd_boolean (*work)(void);
275};
276
277/* The following are the opcodes used in relax/fix process.  */
278#define CSKYV1_INST_JMPI            0x7000
279#define CSKYV1_INST_ADDI            0x2000
280#define CSKYV1_INST_SUBI            0x2400
281#define CSKYV1_INST_LDW             0x8000
282#define CSKYV1_INST_STW             0x9000
283#define CSKYV1_INST_BSR             0xf800
284#define CSKYV1_INST_LRW             0x7000
285#define CSKYV1_INST_ADDU            0x1c00
286#define CSKYV1_INST_JMP             0x00c0
287#define CSKYV1_INST_MOV_R1_RX       0x1201
288#define CSKYV1_INST_MOV_RX_R1       0x1210
289
290#define CSKYV2_INST_BT16            0x0800
291#define CSKYV2_INST_BF16            0x0c00
292#define CSKYV2_INST_BT32            0xe8600000
293#define CSKYV2_INST_BF32            0xe8400000
294#define CSKYV2_INST_BR32            0xe8000000
295#define CSKYV2_INST_NOP             0x6c03
296#define CSKYV2_INST_MOVI16          0x3000
297#define CSKYV2_INST_MOVI32          0xea000000
298#define CSKYV2_INST_MOVIH           0xea200000
299#define CSKYV2_INST_LRW16           0x1000
300#define CSKYV2_INST_LRW32           0xea800000
301#define CSKYV2_INST_BSR32           0xe0000000
302#define CSKYV2_INST_BR32            0xe8000000
303#define CSKYV2_INST_FLRW            0xf4003800
304#define CSKYV2_INST_JMPI32          0xeac00000
305#define CSKYV2_INST_JSRI32          0xeae00000
306#define CSKYV2_INST_JSRI_TO_LRW     0xea9a0000
307#define CSKYV2_INST_JSR_R26         0xe8fa0000
308#define CSKYV2_INST_MOV_R0_R0       0xc4004820
309
310#define OPRND_SHIFT_0_BIT           0
311#define OPRND_SHIFT_1_BIT           1
312#define OPRND_SHIFT_2_BIT           2
313#define OPRND_SHIFT_3_BIT           3
314#define OPRND_SHIFT_4_BIT           4
315
316#define OPRND_MASK_NONE             0x0
317#define OPRND_MASK_0_1              0x3
318#define OPRND_MASK_0_2              0x7
319#define OPRND_MASK_0_3              0xf
320#define OPRND_MASK_0_4              0x1f
321#define OPRND_MASK_0_7              0xff
322#define OPRND_MASK_0_8              0x1ff
323#define OPRND_MASK_0_9              0x3ff
324#define OPRND_MASK_0_10             0x7ff
325#define OPRND_MASK_0_11             0xfff
326#define OPRND_MASK_0_14             0x7fff
327#define OPRND_MASK_0_15             0xffff
328#define OPRND_MASK_0_17             0x3ffff
329#define OPRND_MASK_0_25             0x3ffffff
330#define OPRND_MASK_2_4              0x1c
331#define OPRND_MASK_2_5              0x3c
332#define OPRND_MASK_3_7              0xf8
333#define OPRND_MASK_4                0x10
334#define OPRND_MASK_4_6              0x70
335#define OPRND_MASK_4_7              0xf0
336#define OPRND_MASK_4_8              0x1f0
337#define OPRND_MASK_4_10             0x7f0
338#define OPRND_MASK_5                0x20
339#define OPRND_MASK_5_6              0x60
340#define OPRND_MASK_5_7              0xe0
341#define OPRND_MASK_5_8              0x1e0
342#define OPRND_MASK_5_9              0x3e0
343#define OPRND_MASK_6_9              0x3c0
344#define OPRND_MASK_6_10             0x7c0
345#define OPRND_MASK_8_9              0x300
346#define OPRND_MASK_8_10             0x700
347#define OPRND_MASK_8_11             0xf00
348#define OPRND_MASK_9_10             0x600
349#define OPRND_MASK_9_12             0x1e00
350#define OPRND_MASK_10_11            0xc00
351#define OPRND_MASK_10_14            0x7c00
352#define OPRND_MASK_12_15            0xf000
353#define OPRND_MASK_13_17            0x3e000
354#define OPRND_MASK_16_19            0xf0000
355#define OPRND_MASK_16_20            0x1f0000
356#define OPRND_MASK_16_25            0x3ff0000
357#define OPRND_MASK_21_24            0x1e00000
358#define OPRND_MASK_21_25            0x3e00000
359#define OPRND_MASK_25               0x2000000
360#define OPRND_MASK_RSV              0xffffffff
361#define OPRND_MASK_0_3or21_24       OPRND_MASK_0_3 | OPRND_MASK_21_24
362#define OPRND_MASK_0_4or21_25       OPRND_MASK_0_4 | OPRND_MASK_21_25
363#define OPRND_MASK_0_4or16_20       OPRND_MASK_0_4 | OPRND_MASK_16_20
364#define OPRND_MASK_0_4or8_10        OPRND_MASK_0_4 | OPRND_MASK_8_10
365#define OPRND_MASK_0_4or8_9         OPRND_MASK_0_4 | OPRND_MASK_8_9
366#define OPRND_MASK_0_14or16_20      OPRND_MASK_0_14 | OPRND_MASK_16_20
367#define OPRND_MASK_4or5_8           OPRND_MASK_4   | OPRND_MASK_5_8
368#define OPRND_MASK_5or21_24         OPRND_MASK_5   | OPRND_MASK_21_24
369#define OPRND_MASK_2_5or6_9         OPRND_MASK_2_5 | OPRND_MASK_6_9
370#define OPRND_MASK_4_6or21_25       OPRND_MASK_4_6 | OPRND_MASK_21_25
371#define OPRND_MASK_4_7or21_24       OPRND_MASK_4_7 | OPRND_MASK_21_24
372#define OPRND_MASK_5_6or21_25       OPRND_MASK_5_6 | OPRND_MASK_21_25
373#define OPRND_MASK_5_7or8_10        OPRND_MASK_5_7 | OPRND_MASK_8_10
374#define OPRND_MASK_5_9or21_25       OPRND_MASK_5_9 | OPRND_MASK_21_25
375#define OPRND_MASK_16_19or21_24     OPRND_MASK_16_19 | OPRND_MASK_21_24
376#define OPRND_MASK_16_20or21_25     OPRND_MASK_16_20 | OPRND_MASK_21_25
377#define OPRND_MASK_4or9_10or25      OPRND_MASK_4 | OPRND_MASK_9_10 | OPRND_MASK_25
378#define OPRND_MASK_4_7or16_24       OPRND_MASK_4_7 | OPRND_MASK_16_20 | OPRND_MASK_21_24
379
380#define OPERAND_INFO(mask, type, shift) \
381  {OPRND_MASK_##mask, OPRND_TYPE_##type, shift}
382
383#define OPCODE_INFO_NONE() \
384  {-2, 0, \
385      {{OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \
386	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \
387	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \
388	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \
389	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}}
390
391/* Here and in subsequent macros, the "oprnd" arguments are the
392   parenthesized arglist to the OPERAND_INFO macro above.  */
393#define OPCODE_INFO(num, op, oprnd1, oprnd2, oprnd3, oprnd4, oprnd5) \
394  {num, op, \
395      {OPERAND_INFO oprnd1, OPERAND_INFO oprnd2, OPERAND_INFO oprnd3, \
396	  OPERAND_INFO oprnd4, OPERAND_INFO oprnd5}}
397
398#define OPCODE_INFO0(op) \
399  {0, op,						\
400      {{OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
401	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
402	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
403	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
404	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}}
405#define OPCODE_INFO1(op, oprnd) \
406  {1, op,						\
407      {{OPERAND_INFO oprnd,				\
408	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
409	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
410	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
411	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}}
412#define OPCODE_INFO2(op, oprnd1, oprnd2) \
413  {2, op,						\
414      {{OPERAND_INFO oprnd1,				\
415	OPERAND_INFO oprnd2,				\
416	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
417	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
418	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}}
419#define OPCODE_INFO3(op, oprnd1, oprnd2, oprnd3)	\
420  {3, op,						\
421      {{OPERAND_INFO oprnd1,				\
422	OPERAND_INFO oprnd2,				\
423	OPERAND_INFO oprnd3,				\
424	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
425	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}}
426#define OPCODE_INFO4(op, oprnd1, oprnd2, oprnd3, oprnd4) \
427  {4, op,						\
428      {{OPERAND_INFO oprnd1,				\
429	OPERAND_INFO oprnd2,				\
430	OPERAND_INFO oprnd3,				\
431	OPERAND_INFO oprnd4,				\
432	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}}
433#define OPCODE_INFO_LIST(op, oprnd) \
434  {-1, op,						\
435      {{OPERAND_INFO oprnd,				\
436	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
437	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT) ,	\
438	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT),	\
439	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}}
440#define OPCODE_INFO5(op, oprnd1, oprnd2, oprnd3, oprnd4, oprnd5) \
441  {5, op,						\
442      {{OPERAND_INFO oprnd1,				\
443	OPERAND_INFO oprnd2,				\
444	OPERAND_INFO oprnd3,				\
445	OPERAND_INFO oprnd4,				\
446	OPERAND_INFO oprnd5}}}
447
448#define BRACKET_OPRND(oprnd1, oprnd2)			\
449  OPERAND_INFO (RSV, BRACKET, OPRND_SHIFT_0_BIT),	\
450  OPERAND_INFO oprnd1,					\
451  OPERAND_INFO oprnd2,					\
452  OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)
453#define ABRACKET_OPRND(oprnd1, oprnd2)			\
454  OPERAND_INFO (RSV, ABRACKET, OPRND_SHIFT_0_BIT),	\
455  OPERAND_INFO oprnd1,					\
456  OPERAND_INFO oprnd2,					\
457  OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)
458
459#define SOPCODE_INFO1(op, soprnd) \
460  {1, op,						\
461      {{soprnd,						\
462	OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}}
463#define SOPCODE_INFO2(op, oprnd, soprnd)		\
464  {2, op,						\
465      {{OPERAND_INFO oprnd, soprnd}}}
466
467
468/* Before using the opcode-defining macros, there need to be
469   #defines for _TRANSFER, _RELOC16, _RELOC32, and _RELAX.  See
470   below.  */
471/* FIXME:  it is a wart that these parameters are not explicit.  */
472
473#define OP16(mnem, opcode16, isa)			\
474  {mnem, _TRANSFER,					\
475      {opcode16, OPCODE_INFO_NONE ()},			\
476      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},	\
477      isa, 0, _RELOC16, 0, _RELAX, NULL}
478
479#ifdef BUILD_AS
480
481#define OP16_WITH_WORK(mnem, opcode16, isa, work)		\
482  {mnem, _TRANSFER,						\
483      {opcode16, OPCODE_INFO_NONE ()},				\
484      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
485      isa, 0, _RELOC16, 0, _RELAX, work}
486#define OP32_WITH_WORK(mnem, opcode32, isa, work)		\
487  {mnem, _TRANSFER,						\
488      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
489      {opcode32, OPCODE_INFO_NONE ()},				\
490      0, isa, 0, _RELOC32, _RELAX, work}
491#define OP16_OP32_WITH_WORK(mnem, opcode16, isa16, opcode32, isa32, work)  \
492  {mnem, _TRANSFER,						\
493      {opcode16, OPCODE_INFO_NONE ()},				\
494      {opcode32, OPCODE_INFO_NONE ()},				\
495      isa16, isa32, _RELOC16, _RELOC32, _RELAX, work}
496#define DOP16_OP32_WITH_WORK(mnem, opcode16a, opcode16b, isa16, opcode32, isa32, work)  \
497  {mnem, _TRANSFER,						\
498      {opcode16a, opcode16b},					\
499      {opcode32, OPCODE_INFO_NONE ()},				\
500      isa16, isa32, _RELOC16, _RELOC32, _RELAX, work}
501#define DOP16_DOP32_WITH_WORK(mnem, opcode16a, opcode16b, isa16, opcode32a, opcode32b, isa32, work) \
502  {mnem, _TRANSFER,						\
503      {opcode16a, opcode16b},					\
504      {opcode32a, opcode32b},					\
505      isa16, isa32, _RELOC16, _RELOC32, _RELAX, work}
506#define DOP32_WITH_WORK(mnem, opcode32a, opcode32b, isa, work)	\
507  {mnem, _TRANSFER,						\
508      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
509      {opcode32a, opcode32b},					\
510      0, isa, 0, _RELOC32, _RELAX, work}
511
512#else /* ifdef BUILD_AS */
513
514#define OP16_WITH_WORK(mnem, opcode16, isa, work)		\
515  {mnem, _TRANSFER,						\
516      {opcode16, OPCODE_INFO_NONE ()},				\
517      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
518      isa, 0, _RELOC16, 0, _RELAX, NULL}
519#define OP32_WITH_WORK(mnem, opcode32, isa, work)  \
520  {mnem, _TRANSFER, \
521      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
522      {opcode32, OPCODE_INFO_NONE ()},				\
523      0, isa, 0, _RELOC32, _RELAX, NULL}
524#define OP16_OP32_WITH_WORK(mnem, opcode16, isa16, opcode32, isa32, work)  \
525  {mnem, _TRANSFER, \
526      {opcode16, OPCODE_INFO_NONE ()},				\
527      {opcode32, OPCODE_INFO_NONE ()},				\
528      isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL}
529#define DOP16_OP32_WITH_WORK(mnem, opcode16a, opcode16b, isa16, opcode32, isa32, work) \
530  {mnem, _TRANSFER,						\
531      {opcode16a, opcode16b},					\
532      {opcode32, OPCODE_INFO_NONE ()},				\
533      isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL}
534#define DOP16_DOP32_WITH_WORK(mnem, opcode16a, opcode16b, isa16, opcode32a, opcode32b, isa32, work)  \
535  {mnem, _TRANSFER,						\
536      {opcode16a, opcode16b},					\
537      {opcode32a, opcode32b},					\
538      isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL}
539#define DOP32_WITH_WORK(mnem, opcode32a, opcode32b, isa, work)  \
540  {mnem, _TRANSFER,						\
541      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
542      {opcode32a, opcode32b},					\
543      0, isa, 0, _RELOC32, _RELAX, NULL}
544
545#endif  /* ifdef BUILD_AS */
546
547#define DOP16(mnem, opcode16_1, opcode16_2, isa)		\
548  {mnem, _TRANSFER,						\
549      {opcode16_1, opcode16_2},					\
550      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
551      isa, 0, _RELOC16, 0, _RELAX, NULL}
552#define OP32(mnem, opcode32, isa)				\
553  {mnem, _TRANSFER,						\
554      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
555      {opcode32, OPCODE_INFO_NONE ()},				\
556      0, isa, 0, _RELOC32, _RELAX, NULL}
557#define DOP32(mnem, opcode32a, opcode32b, isa)			\
558  {mnem, _TRANSFER,						\
559      {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()},		\
560      {opcode32a, opcode32b},					\
561       0, isa, 0, _RELOC32, _RELAX, NULL}
562#define OP16_OP32(mnem, opcode16, isa16, opcode32, isa32)	\
563  {mnem, _TRANSFER,						\
564      {opcode16, OPCODE_INFO_NONE ()},				\
565      {opcode32, OPCODE_INFO_NONE ()},				\
566      isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL}
567#define DOP16_OP32(mnem, opcode16a, opcode16b, isa16, opcode32, isa32) \
568  {mnem, _TRANSFER,						\
569      {opcode16a, opcode16b},					\
570      {opcode32, OPCODE_INFO_NONE ()},				\
571      isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL}
572#define OP16_DOP32(mnem, opcode16, isa16, opcode32a, opcode32b, isa32) \
573  {mnem, _TRANSFER,						\
574      {opcode16, OPCODE_INFO_NONE ()},				\
575      {opcode32a, opcode32b},					\
576      isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL}
577#define DOP16_DOP32(mnem, opcode16a, opcode16b, isa16, opcode32a, opcode32b, isa32) \
578  {mnem, _TRANSFER,						\
579      {opcode16a, opcode16b},					\
580      {opcode32a, opcode32b},					\
581      isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL}
582
583
584/* Register names and numbers.  */
585#define V1_REG_SP              0
586#define V1_REG_LR             15
587
588struct csky_reg
589{
590  const char *name;
591  int  index;
592  int  flag;
593};
594
595const char *csky_general_reg[] =
596{
597  "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
598  "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
599  "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
600  "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
601  NULL,
602};
603
604/* TODO: optimize.  */
605const char *cskyv2_general_alias_reg[] =
606{
607  "a0", "a1", "a2", "a3", "l0", "l1", "l2", "l3",
608  "l4", "l5", "l6", "l7", "t0", "t1", "sp", "lr",
609  "l8", "l9", "t2", "t3", "t4", "t5", "t6", "t7",
610  "t8", "t9", "r26", "r27", "rdb", "gb", "r30", "r31",
611  NULL,
612};
613
614/* TODO: optimize.  */
615const char *cskyv1_general_alias_reg[] =
616{
617  "sp", "r1", "a0", "a1", "a2", "a3", "a4", "a5",
618  "fp", "l0", "l1", "l2", "l3", "l4", "gb", "lr",
619  NULL,
620};
621
622/* TODO: optimize.  */
623const char *csky_fpu_reg[] =
624{
625  "fr0",  "fr1",  "fr2",  "fr3",  "fr4",  "fr5",  "fr6",  "fr7",
626  "fr8",  "fr9",  "fr10", "fr11", "fr12", "fr13", "fr14", "fr15",
627  "fr16", "fr17", "fr18", "fr19", "fr20", "fr21", "fr22", "fr23",
628  "fr24", "fr25", "fr26", "fr27", "fr28", "fr29", "fr30", "fr31",
629  NULL,
630};
631
632/* Control Registers.  */
633struct csky_reg csky_ctrl_regs[] =
634{
635  {"psr", 0, 0},  {"vbr", 1, 0},    {"epsr", 2, 0},  {"fpsr", 3, 0},
636  {"epc", 4, 0},  {"fpc", 5, 0},    {"ss0", 6, 0},   {"ss1", 7, 0},
637  {"ss2", 8, 0},  {"ss3", 9, 0},    {"ss4", 10, 0},  {"gcr", 11, 0},
638  {"gsr", 12, 0}, {"cpuidr", 13, 0}, {"dcsr", 14, 0}, {"cwr", 15, 0},
639  {"cfr", 16, 0}, {"ccr", 17, 0},   {"capr", 19, 0}, {"pacr", 20, 0},
640  {"rid", 21, 0}, {"sedcr", 8, CSKY_ISA_TRUST}, {"sepcr", 9, CSKY_ISA_TRUST},
641  {NULL, 0, 0}
642};
643
644const char *csky_cp_idx[] =
645{
646  "cp0", "cp1", "cp2", "cp3", "cp4", "cp5", "cp6", "cp7",
647  "cp8", "cp9", "cp10", "cp11", "cp12", "cp13", "cp14", "cp15",
648  "cp16", "cp17", "cp18", "cp19", "cp20",
649  NULL,
650};
651
652const char *csky_cp_reg[] =
653{
654  "cpr0",  "cpr1",  "cpr2",  "cpr3",  "cpr4",  "cpr5",  "cpr6",  "cpr7",
655  "cpr8",  "cpr9",  "cpr10", "cpr11", "cpr12", "cpr13", "cpr14", "cpr15",
656  "cpr16", "cpr17", "cpr18", "cpr19", "cpr20", "cpr21", "cpr22", "cpr23",
657  "cpr24", "cpr25", "cpr26", "cpr27", "cpr28", "cpr29", "cpr30", "cpr31",
658  "cpr32", "cpr33", "cpr34", "cpr35", "cpr36", "cpr37", "cpr38", "cpr39",
659  "cpr40", "cpr41", "cpr42", "cpr43", "cpr44", "cpr45", "cpr46", "cpr47",
660  "cpr48", "cpr49", "cpr50", "cpr51", "cpr52", "cpr53", "cpr54", "cpr55",
661  "cpr56", "cpr57", "cpr58", "cpr59", "cpr60", "cpr61", "cpr62", "cpr63",
662  NULL,
663};
664
665const char *csky_cp_creg[] =
666{
667  "cpcr0",  "cpcr1",  "cpcr2",  "cpcr3",
668  "cpcr4",  "cpcr5",  "cpcr6",  "cpcr7",
669  "cpcr8",  "cpcr9",  "cpcr10", "cpcr11",
670  "cpcr12", "cpcr13", "cpcr14", "cpcr15",
671  "cpcr16", "cpcr17", "cpcr18", "cpcr19",
672  "cpcr20", "cpcr21", "cpcr22", "cpcr23",
673  "cpcr24", "cpcr25", "cpcr26", "cpcr27",
674  "cpcr28", "cpcr29", "cpcr30", "cpcr31",
675  "cpcr32", "cpcr33", "cpcr34", "cpcr35",
676  "cpcr36", "cpcr37", "cpcr38", "cpcr39",
677  "cpcr40", "cpcr41", "cpcr42", "cpcr43",
678  "cpcr44", "cpcr45", "cpcr46", "cpcr47",
679  "cpcr48", "cpcr49", "cpcr50", "cpcr51",
680  "cpcr52", "cpcr53", "cpcr54", "cpcr55",
681  "cpcr56", "cpcr57", "cpcr58", "cpcr59",
682  "cpcr60", "cpcr61", "cpcr62", "cpcr63",
683  NULL,
684};
685
686struct psrbit
687{
688  int value;
689  int isa;
690  const char *name;
691};
692const struct psrbit cskyv1_psr_bits[] =
693{
694  {1,    0, "ie"},
695  {2,    0, "fe"},
696  {4,    0, "ee"},
697  {8,    0, "af"},
698  {0, 0, NULL},
699};
700const struct psrbit cskyv2_psr_bits[] =
701{
702  {8, 0, "ee"},
703  {4, 0, "ie"},
704  {2, 0, "fe"},
705  {1, 0, "af"},
706  {0x10, CSKY_ISA_TRUST, "sie"},
707  {0, 0, NULL},
708};
709
710
711/* C-SKY V1 opcodes.  */
712const struct csky_opcode csky_v1_opcodes[] =
713{
714#define _TRANSFER   0
715#define _RELOC16    0
716#define _RELOC32    0
717#define _RELAX      0
718  OP16 ("bkpt",
719	OPCODE_INFO0 (0x0000),
720	CSKYV1_ISA_E1),
721  OP16 ("sync",
722	OPCODE_INFO0 (0x0001),
723	CSKYV1_ISA_E1),
724#undef _TRANSFER
725#define _TRANSFER   2
726  OP16 ("rfi",
727	OPCODE_INFO0 (0x0003),
728	CSKYV1_ISA_E1),
729#undef _TRANSFER
730#define _TRANSFER   0
731  OP16 ("stop",
732	OPCODE_INFO0 (0x0004),
733	CSKYV1_ISA_E1),
734  OP16 ("wait",
735	OPCODE_INFO0 (0x0005),
736	CSKYV1_ISA_E1),
737  OP16 ("doze",
738	OPCODE_INFO0 (0x0006),
739	CSKYV1_ISA_E1),
740  OP16 ("idly4",
741	OPCODE_INFO0 (0x0007),
742	CSKYV1_ISA_E1),
743  OP16 ("trap",
744	OPCODE_INFO1 (0x0008,
745		      (0_1, IMM2b, OPRND_SHIFT_0_BIT)),
746	CSKYV1_ISA_E1),
747  OP16 ("mvtc",
748	OPCODE_INFO0 (0x000c),
749	CSKY_ISA_DSP),
750  OP16 ("cprc",
751	OPCODE_INFO0 (0x000d),
752	CSKY_ISA_CP),
753  OP16 ("cpseti",
754	OPCODE_INFO1 (0x0010,
755		      (0_3, CPIDX, OPRND_SHIFT_0_BIT)),
756	CSKY_ISA_CP),
757  OP16 ("mvc",
758	OPCODE_INFO1 (0x0020,
759		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
760	CSKYV1_ISA_E1),
761  OP16 ("mvcv",
762	OPCODE_INFO1 (0x0030,
763		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
764	CSKYV1_ISA_E1),
765  OP16 ("ldq",
766	OPCODE_INFO2 (0x0040,
767		      (NONE, REGr4_r7, OPRND_SHIFT_0_BIT),
768		      (0_3, REGnr4_r7, OPRND_SHIFT_0_BIT)),
769	CSKYV1_ISA_E1),
770  OP16 ("stq",
771	OPCODE_INFO2 (0x0050,
772		      (NONE, REGr4_r7, OPRND_SHIFT_0_BIT),
773		      (0_3, REGnr4_r7, OPRND_SHIFT_0_BIT)),
774	CSKYV1_ISA_E1),
775  OP16 ("ldm",
776	OPCODE_INFO2 (0x0060,
777		      (0_3, REGLIST_DASH, OPRND_SHIFT_0_BIT),
778		      (NONE, REGbsp, OPRND_SHIFT_0_BIT)),
779	CSKYV1_ISA_E1),
780  OP16 ("stm",
781	OPCODE_INFO2 (0x0070,
782		      (0_3, REGLIST_DASH, OPRND_SHIFT_0_BIT),
783		      (NONE, REGbsp, OPRND_SHIFT_0_BIT)),
784	CSKYV1_ISA_E1),
785  DOP16 ("dect",
786	 OPCODE_INFO3 (0x0080,
787		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
788		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
789		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
790	 OPCODE_INFO1 (0x0080,
791		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
792	 CSKYV1_ISA_E1),
793  DOP16 ("decf",
794	 OPCODE_INFO3 (0x0090,
795		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
796		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
797		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
798	 OPCODE_INFO1 (0x0090,
799		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
800	 CSKYV1_ISA_E1),
801  DOP16 ("inct",
802	 OPCODE_INFO3 (0x00a0,
803		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
804		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
805		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
806	 OPCODE_INFO1 (0x00a0,
807		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
808	 CSKYV1_ISA_E1),
809  DOP16 ("incf",
810	 OPCODE_INFO3 (0x00b0,
811		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
812		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
813		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
814	 OPCODE_INFO1 (0x00b0,
815		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
816	 CSKYV1_ISA_E1),
817#undef _TRANSFER
818#define _TRANSFER 2
819  OP16 ("jmp",
820	OPCODE_INFO1 (0x00c0,
821		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
822	CSKYV1_ISA_E1),
823#undef _TRANSFER
824#define _TRANSFER 0
825  OP16 ("jsr",
826	OPCODE_INFO1 (0x00d0,
827		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
828	CSKYV1_ISA_E1),
829  DOP16 ("ff1",
830	 OPCODE_INFO2 (0x00e0,
831		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
832		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)),
833	 OPCODE_INFO1 (0x00e0,
834		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
835	 CSKYV1_ISA_E1),
836  DOP16 ("brev",
837	 OPCODE_INFO2 (0x00f0,
838		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
839		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)),
840	 OPCODE_INFO1 (0x00f0,
841		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
842	 CSKYV1_ISA_E1),
843  DOP16 ("xtrb3",
844	 OPCODE_INFO2 (0x0100,
845		       (NONE, REG_r1a, OPRND_SHIFT_0_BIT),
846		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
847	 OPCODE_INFO1 (0x0100,
848		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
849	 CSKYV1_ISA_E1),
850  DOP16 ("xtrb2",
851	 OPCODE_INFO2 (0x0110,
852		       (NONE, REG_r1a, OPRND_SHIFT_0_BIT),
853		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
854	 OPCODE_INFO1 (0x0110,
855		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
856	 CSKYV1_ISA_E1),
857  DOP16 ("xtrb1",
858	 OPCODE_INFO2 (0x0120,
859		       (NONE, REG_r1a, OPRND_SHIFT_0_BIT),
860		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
861	 OPCODE_INFO1 (0x0120,
862		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
863	 CSKYV1_ISA_E1),
864  DOP16 ("xtrb0",
865	 OPCODE_INFO2 (0x0130,
866		       (NONE, REG_r1a, OPRND_SHIFT_0_BIT),
867		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
868	 OPCODE_INFO1 (0x0130,
869		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
870	 CSKYV1_ISA_E1),
871  DOP16 ("zextb",
872	 OPCODE_INFO2 (0x0140,
873		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
874		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)),
875	 OPCODE_INFO1 (0x0140,
876		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
877	 CSKYV1_ISA_E1),
878  DOP16 ("sextb",
879	 OPCODE_INFO2 (0x0150,
880		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
881		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)),
882	 OPCODE_INFO1 (0x0150,
883		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
884	 CSKYV1_ISA_E1),
885  DOP16 ("zexth",
886	 OPCODE_INFO2 (0x0160,
887		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
888		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)),
889	 OPCODE_INFO1 (0x0160,
890		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
891	 CSKYV1_ISA_E1),
892  DOP16 ("sexth",
893	 OPCODE_INFO2 (0x0170,
894		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
895		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)),
896	 OPCODE_INFO1 (0x0170,
897		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
898	 CSKYV1_ISA_E1),
899  DOP16 ("declt",
900	 OPCODE_INFO3 (0x0180,
901		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
902		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
903		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
904	 OPCODE_INFO1 (0x0180,
905		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
906	 CSKYV1_ISA_E1),
907  OP16 ("tstnbz",
908	OPCODE_INFO1 (0x0190,
909		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
910	CSKYV1_ISA_E1),
911  DOP16 ("decgt",
912	 OPCODE_INFO3 (0x01a0,
913		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
914		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
915		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
916	 OPCODE_INFO1 (0x01a0,
917		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
918	 CSKYV1_ISA_E1),
919  DOP16 ("decne",
920	 OPCODE_INFO3 (0x01b0,
921		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
922		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
923		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
924	 OPCODE_INFO1 (0x01b0,
925		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
926	 CSKYV1_ISA_E1),
927  OP16 ("clrt",
928	OPCODE_INFO1 (0x01c0,
929		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
930	CSKYV1_ISA_E1),
931  OP16 ("clrf",
932	OPCODE_INFO1 (0x01d0,
933		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
934	CSKYV1_ISA_E1),
935  DOP16 ("abs",
936	 OPCODE_INFO2 (0x01e0,
937		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
938		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)),
939	 OPCODE_INFO1 (0x01e0,
940		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
941	 CSKYV1_ISA_E1),
942  DOP16 ("not",
943	 OPCODE_INFO2 (0x01f0,
944		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
945		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)),
946	 OPCODE_INFO1 (0x01f0,
947		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
948	 CSKYV1_ISA_E1),
949  OP16 ("movt",
950	OPCODE_INFO2 (0x0200,
951		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
952		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
953	CSKYV1_ISA_E1),
954  DOP16 ("mult",
955	 OPCODE_INFO3 (0x0300,
956		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
957		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
958		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
959	 OPCODE_INFO2 (0x0300,
960		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
961		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
962	 CSKYV1_ISA_E1),
963  OP16 ("mac",
964	OPCODE_INFO2 (0x0400,
965		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
966		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
967	CSKY_ISA_MAC),
968  DOP16 ("subu",
969	 OPCODE_INFO3 (0x0500,
970		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
971		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
972		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
973	 OPCODE_INFO2 (0x0500,
974		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
975		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
976	 CSKYV1_ISA_E1),
977  DOP16 ("sub",
978	 OPCODE_INFO3 (0x0500,
979		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
980		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
981		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
982	 OPCODE_INFO2 (0x0500,
983		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
984		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
985	 CSKYV1_ISA_E1),
986  DOP16 ("addc",
987	 OPCODE_INFO3 (0x0600,
988		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
989		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
990		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
991	 OPCODE_INFO2 (0x0600,
992		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
993		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
994	 CSKYV1_ISA_E1),
995  DOP16 ("subc",
996	 OPCODE_INFO3 (0x0700,
997		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
998		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
999		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1000	 OPCODE_INFO2 (0x0700,
1001		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1002		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1003	 CSKYV1_ISA_E1),
1004  OP16 ("cprgr",
1005	OPCODE_INFO2 (0x0800,
1006		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1007		      (4_8, CPREG, OPRND_SHIFT_0_BIT)),
1008	CSKY_ISA_CP),
1009  OP16 ("movf",
1010	OPCODE_INFO2 (0x0a00,
1011		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1012		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1013	CSKYV1_ISA_E1),
1014  DOP16 ("lsr",
1015	 OPCODE_INFO3 (0x0b00,
1016		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1017		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1018		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1019	 OPCODE_INFO2 (0x0b00,
1020		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1021		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1022	 CSKYV1_ISA_E1),
1023  OP16 ("cmphs",
1024	OPCODE_INFO2 (0x0c00,
1025		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1026		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1027	CSKYV1_ISA_E1),
1028  OP16 ("cmplt",
1029	OPCODE_INFO2 (0x0d00,
1030		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1031		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1032	CSKYV1_ISA_E1),
1033  OP16 ("tst",
1034	OPCODE_INFO2 (0x0e00,
1035		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1036		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1037	CSKYV1_ISA_E1),
1038  OP16 ("cmpne",
1039	OPCODE_INFO2 (0x0f00,
1040		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1041		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1042	CSKYV1_ISA_E1),
1043  OP16 ("mfcr",
1044	OPCODE_INFO2 (0x1000,
1045		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1046		      (4_8, CTRLREG, OPRND_SHIFT_0_BIT)),
1047	CSKYV1_ISA_E1),
1048  OP16 ("psrclr",
1049	OPCODE_INFO_LIST (0x11f0,
1050			  (0_2, PSR_BITS_LIST, OPRND_SHIFT_0_BIT)),
1051	CSKYV1_ISA_E1),
1052  OP16 ("psrset",
1053	OPCODE_INFO_LIST (0x11f8,
1054			  (0_2, PSR_BITS_LIST, OPRND_SHIFT_0_BIT)),
1055	CSKYV1_ISA_E1),
1056  OP16 ("mov",
1057	OPCODE_INFO2 (0x1200,
1058		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1059		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1060	CSKYV1_ISA_E1),
1061  OP16 ("bgenr",
1062	OPCODE_INFO2 (0x1300,
1063		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1064		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1065	CSKYV1_ISA_E1),
1066  DOP16 ("rsub",
1067	 OPCODE_INFO3 (0x1400,
1068		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1069		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1070		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1071	 OPCODE_INFO2 (0x1400,
1072		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1073		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1074	 CSKYV1_ISA_E1),
1075  DOP16 ("ixw",
1076	 OPCODE_INFO3 (0x1500,
1077		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1078		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1079		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1080	 OPCODE_INFO2 (0x1500,
1081		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1082		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1083	 CSKYV1_ISA_E1),
1084  DOP16 ("and",
1085	 OPCODE_INFO3 (0x1600,
1086		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1087		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1088		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1089	 OPCODE_INFO2 (0x1600,
1090		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1091		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1092	 CSKYV1_ISA_E1),
1093  DOP16 ("xor",
1094	 OPCODE_INFO3 (0x1700,
1095		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1096		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1097		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1098	 OPCODE_INFO2 (0x1700,
1099		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1100		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1101	 CSKYV1_ISA_E1),
1102  OP16 ("mtcr",
1103	OPCODE_INFO2 (0x1800,
1104		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1105		      (4_8, CTRLREG, OPRND_SHIFT_0_BIT)),
1106	CSKYV1_ISA_E1),
1107  DOP16 ("asr",
1108	 OPCODE_INFO3 (0x1a00,
1109		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1110		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1111		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1112	 OPCODE_INFO2 (0x1a00,
1113		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1114		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1115	 CSKYV1_ISA_E1),
1116  DOP16 ("lsl",
1117	 OPCODE_INFO3 (0x1b00,
1118		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1119		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1120		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1121	 OPCODE_INFO2 (0x1b00,
1122		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1123		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1124	 CSKYV1_ISA_E1),
1125  DOP16 ("addu",
1126	 OPCODE_INFO3 (0x1c00,
1127		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1128		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1129		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1130	 OPCODE_INFO2 (0x1c00,
1131		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1132		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1133	 CSKYV1_ISA_E1),
1134  OP16 ("add",
1135	OPCODE_INFO2 (0x1c00,
1136		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1137		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1138	CSKYV1_ISA_E1),
1139  DOP16 ("ixh",
1140	 OPCODE_INFO3 (0x1d00,
1141		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1142		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1143		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1144	 OPCODE_INFO2 (0x1d00,
1145		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1146		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1147	 CSKYV1_ISA_E1),
1148  DOP16 ("or",
1149	 OPCODE_INFO3 (0x1e00,
1150		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1151		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1152		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1153	 OPCODE_INFO2 (0x1e00,
1154		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1155		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1156	 CSKYV1_ISA_E1),
1157  DOP16 ("andn",
1158	 OPCODE_INFO3 (0x1f00,
1159		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1160		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1161		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1162	 OPCODE_INFO2 (0x1f00,
1163		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1164		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1165	 CSKYV1_ISA_E1),
1166  DOP16 ("addi",
1167	 OPCODE_INFO3 (0x2000,
1168		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1169		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1170		       (4_8, OIMM5b, OPRND_SHIFT_0_BIT)),
1171	 OPCODE_INFO2 (0x2000,
1172		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1173		       (4_8, OIMM5b, OPRND_SHIFT_0_BIT)),
1174	 CSKYV1_ISA_E1),
1175  OP16 ("cmplti",
1176	OPCODE_INFO2 (0x2200,
1177		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1178		      (4_8, OIMM5b, OPRND_SHIFT_0_BIT)),
1179	CSKYV1_ISA_E1),
1180  DOP16 ("subi",
1181	 OPCODE_INFO3 (0x2400,
1182		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1183		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1184		       (4_8, OIMM5b, OPRND_SHIFT_0_BIT)),
1185	 OPCODE_INFO2 (0x2400,
1186		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1187		       (4_8, OIMM5b, OPRND_SHIFT_0_BIT)),
1188	 CSKYV1_ISA_E1),
1189  OP16 ("cpwgr",
1190	OPCODE_INFO2 (0x2600,
1191		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1192		      (4_8, CPREG, OPRND_SHIFT_0_BIT)),
1193	CSKY_ISA_CP),
1194  DOP16 ("rsubi",
1195	 OPCODE_INFO3 (0x2800,
1196		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1197		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1198		       (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1199	 OPCODE_INFO2 (0x2800,
1200		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1201		       (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1202	 CSKYV1_ISA_E1),
1203  OP16 ("cmpnei",
1204	OPCODE_INFO2 (0x2a00,
1205		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1206		      (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1207	CSKYV1_ISA_E1),
1208  OP16 ("bmaski",
1209	OPCODE_INFO2 (0x2c00,
1210		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1211		      (4_8, IMM5b_BMASKI, OPRND_SHIFT_0_BIT)),
1212	CSKYV1_ISA_E1),
1213  DOP16 ("divu",
1214	 OPCODE_INFO3 (0x2c10,
1215		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1216		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1217		       (NONE, REG_r1b, OPRND_SHIFT_0_BIT)),
1218	 OPCODE_INFO2 (0x2c10,
1219		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1220		       (NONE, REG_r1b, OPRND_SHIFT_0_BIT)),
1221	 CSKYV1_ISA_E1),
1222  OP16 ("mflos",
1223	OPCODE_INFO1 (0x2c20,
1224		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1225	CSKY_ISA_MAC_DSP),
1226  OP16 ("mfhis",
1227	OPCODE_INFO1 (0x2c30,
1228		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1229	CSKY_ISA_MAC_DSP),
1230  OP16 ("mtlo",
1231	OPCODE_INFO1 (0x2c40,
1232		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1233	CSKY_ISA_MAC_DSP),
1234  OP16 ("mthi",
1235	OPCODE_INFO1 (0x2c50,
1236		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1237	CSKY_ISA_MAC_DSP),
1238  OP16 ("mflo",
1239	OPCODE_INFO1 (0x2c60,
1240		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1241	CSKY_ISA_MAC_DSP),
1242  OP16 ("mfhi",
1243	OPCODE_INFO1 (0x2c70,
1244		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1245	CSKY_ISA_MAC_DSP),
1246  DOP16 ("andi",
1247	 OPCODE_INFO3 (0x2e00,
1248		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1249		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1250		       (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1251	 OPCODE_INFO2 (0x2e00,
1252		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1253		       (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1254	 CSKYV1_ISA_E1),
1255  DOP16 ("bclri",
1256	 OPCODE_INFO3 (0x3000,
1257		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1258		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1259		       (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1260	 OPCODE_INFO2 (0x3000,
1261		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1262		       (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1263	 CSKYV1_ISA_E1),
1264  OP16 ("bgeni",
1265	OPCODE_INFO2 (0x3200,
1266		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1267		      (4_8, IMM5b_7_31, OPRND_SHIFT_0_BIT)),
1268	CSKYV1_ISA_E1),
1269  OP16 ("cpwir",
1270	OPCODE_INFO1 (0x3200,
1271		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1272	CSKY_ISA_CP),
1273  DOP16 ("divs",
1274	 OPCODE_INFO3 (0x3210,
1275		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1276		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1277		       (NONE, REG_r1b, OPRND_SHIFT_0_BIT)),
1278	 OPCODE_INFO2 (0x3210,
1279		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1280		       (NONE, REG_r1b, OPRND_SHIFT_0_BIT)),
1281	 CSKYV1_ISA_E1),
1282  OP16 ("cprsr",
1283	OPCODE_INFO1 (0x3220,
1284		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1285	CSKY_ISA_CP),
1286  OP16 ("cpwsr",
1287	OPCODE_INFO1 (0x3230,
1288		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1289	CSKY_ISA_CP),
1290  DOP16 ("bseti",
1291	 OPCODE_INFO3 (0x3400,
1292		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1293		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1294		       (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1295	 OPCODE_INFO2 (0x3400,
1296		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1297		       (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1298	 CSKYV1_ISA_E1),
1299  OP16 ("btsti",
1300	OPCODE_INFO2 (0x3600,
1301		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1302		      (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1303	CSKYV1_ISA_E1),
1304  DOP16 ("rotli",
1305	 OPCODE_INFO3 (0x3800,
1306		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1307		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1308		       (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)),
1309	 OPCODE_INFO2 (0x3800,
1310		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1311		       (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)),
1312	 CSKYV1_ISA_E1),
1313  DOP16 ("xsr",
1314	 OPCODE_INFO3 (0x3800,
1315		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1316		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1317		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
1318	 OPCODE_INFO1 (0x3800,
1319		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1320	 CSKYV1_ISA_E1),
1321  DOP16 ("asrc",
1322	 OPCODE_INFO3 (0x3a00,
1323		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1324		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1325		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
1326	 OPCODE_INFO1 (0x3a00,
1327		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1328	 CSKYV1_ISA_E1),
1329  DOP16 ("asri",
1330	 OPCODE_INFO3 (0x3a00,
1331		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1332		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1333		       (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)),
1334	 OPCODE_INFO2 (0x3a00,
1335		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1336		       (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)),
1337	 CSKYV1_ISA_E1),
1338  DOP16 ("lslc",
1339	 OPCODE_INFO3 (0x3c00,
1340		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1341		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1342		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
1343	 OPCODE_INFO1 (0x3c00,
1344		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1345	 CSKYV1_ISA_E1),
1346  DOP16 ("lsli",
1347	 OPCODE_INFO3 (0x3c00,
1348		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1349		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1350		       (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)),
1351	 OPCODE_INFO2 (0x3c00,
1352		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1353		       (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)),
1354	 CSKYV1_ISA_E1),
1355  DOP16 ("lsrc",
1356	 OPCODE_INFO3 (0x3e00,
1357		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1358		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1359		       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
1360	 OPCODE_INFO1 (0x3e00,
1361		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1362	 CSKYV1_ISA_E1),
1363  DOP16 ("lsri",
1364	 OPCODE_INFO3 (0x3e00,
1365		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1366		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1367		       (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)),
1368	 OPCODE_INFO2 (0x3e00,
1369		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1370		       (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)),
1371	 CSKYV1_ISA_E1),
1372  OP16 ("ldex",
1373	SOPCODE_INFO2 (0x4000,
1374		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1375		       BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1376				      (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1377	CSKY_ISA_MP),
1378  OP16 ("ldex.w",
1379	SOPCODE_INFO2 (0x4000,
1380		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1381		       BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1382				      (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1383	CSKY_ISA_MP),
1384  OP16 ("ldwex",
1385	SOPCODE_INFO2 (0x4000,
1386		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1387		       BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1388				      (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1389	CSKY_ISA_MP),
1390  OP16 ("stex",
1391	SOPCODE_INFO2 (0x5000,
1392		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1393		       BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1394				      (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1395	CSKY_ISA_MP),
1396  OP16 ("stex.w",
1397	SOPCODE_INFO2 (0x5000,
1398		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1399		       BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1400				      (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1401	CSKY_ISA_MP),
1402  OP16 ("stwex",
1403	SOPCODE_INFO2 (0x5000,
1404		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1405		       BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1406				      (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1407	CSKY_ISA_MP),
1408  OP16 ("omflip0",
1409	OPCODE_INFO2 (0x4000,
1410		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1411		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1412	CSKY_ISA_MAC),
1413  OP16 ("omflip1",
1414	OPCODE_INFO2 (0x4100,
1415		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1416		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1417	CSKY_ISA_MAC),
1418  OP16 ("omflip2",
1419	OPCODE_INFO2 (0x4200,
1420		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1421		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1422	CSKY_ISA_MAC),
1423  OP16 ("omflip3",
1424	OPCODE_INFO2 (0x4300,
1425		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1426		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1427	CSKY_ISA_MAC),
1428  OP16 ("muls",
1429	OPCODE_INFO2 (0x5000,
1430		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1431		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1432	CSKY_ISA_DSP),
1433  OP16 ("mulsa",
1434	OPCODE_INFO2 (0x5100,
1435		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1436		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1437	CSKY_ISA_DSP),
1438  OP16 ("mulss",
1439	OPCODE_INFO2 (0x5200,
1440		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1441		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1442	CSKY_ISA_DSP),
1443  OP16 ("mulu",
1444	OPCODE_INFO2 (0x5400,
1445		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1446		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1447	CSKY_ISA_DSP),
1448  OP16 ("mulua",
1449	OPCODE_INFO2 (0x5500,
1450		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1451		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1452	CSKY_ISA_DSP),
1453  OP16 ("mulus",
1454	OPCODE_INFO2 (0x5600,
1455		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1456		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1457	CSKY_ISA_DSP),
1458  OP16 ("vmulsh",
1459	OPCODE_INFO2 (0x5800,
1460		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1461		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1462	CSKY_ISA_DSP),
1463  OP16 ("vmulsha",
1464	OPCODE_INFO2 (0x5900,
1465		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1466		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1467	CSKY_ISA_DSP),
1468  OP16 ("vmulshs",
1469	OPCODE_INFO2 (0x5a00,
1470		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1471		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1472	CSKY_ISA_DSP),
1473  OP16 ("vmulsw",
1474	OPCODE_INFO2 (0x5c00,
1475		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1476		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1477	CSKY_ISA_DSP),
1478  OP16 ("vmulswa",
1479	OPCODE_INFO2 (0x5d00,
1480		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1481		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1482	CSKY_ISA_DSP),
1483  OP16 ("vmulsws",
1484	OPCODE_INFO2 (0x5e00,
1485		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1486		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1487	CSKY_ISA_DSP),
1488  OP16 ("movi",
1489	OPCODE_INFO2 (0x6000,
1490		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1491		      (4_10, IMM7b, OPRND_SHIFT_0_BIT)),
1492	CSKYV1_ISA_E1),
1493  DOP16 ("mulsh",
1494	 OPCODE_INFO3 (0x6800,
1495		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1496		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1497		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1498	 OPCODE_INFO2 (0x6800,
1499		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1500		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1501	 CSKYV1_ISA_E1),
1502  DOP16 ("mulsh.h",
1503	 OPCODE_INFO3 (0x6800,
1504		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1505		       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
1506		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1507	 OPCODE_INFO2 (0x6800,
1508		       (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1509		       (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1510	 CSKYV1_ISA_E1),
1511  OP16 ("mulsha",
1512	OPCODE_INFO2 (0x6900,
1513		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1514		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1515	CSKY_ISA_DSP),
1516  OP16 ("mulshs",
1517	OPCODE_INFO2 (0x6a00,
1518		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1519		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1520	CSKY_ISA_DSP),
1521  OP16 ("cprcr",
1522	OPCODE_INFO2 (0x6b00,
1523		      (0_2, GREG0_7, OPRND_SHIFT_0_BIT),
1524		      (3_7, CPCREG, OPRND_SHIFT_0_BIT)),
1525	CSKY_ISA_CP),
1526  OP16 ("mulsw",
1527	OPCODE_INFO2 (0x6c00,
1528		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1529		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1530	CSKY_ISA_DSP),
1531  OP16 ("mulswa",
1532	OPCODE_INFO2 (0x6d00,
1533		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1534		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1535	CSKY_ISA_DSP),
1536  OP16 ("mulsws",
1537	OPCODE_INFO2 (0x6e00,
1538		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1539		      (4_7, GREG0_15, OPRND_SHIFT_0_BIT)),
1540	CSKY_ISA_DSP),
1541  OP16 ("cpwcr",
1542	OPCODE_INFO2 (0x6f00,
1543		      (0_2, GREG0_7, OPRND_SHIFT_0_BIT),
1544		      (3_7, CPCREG, OPRND_SHIFT_0_BIT)),
1545	CSKY_ISA_CP),
1546#undef _RELOC16
1547#define _RELOC16 BFD_RELOC_CKCORE_PCREL_IMM8BY4
1548#undef _TRANSFER
1549#define _TRANSFER 1
1550  OP16 ("jmpi",
1551	OPCODE_INFO1 (0x7000,
1552		      (0_7, OFF8b, OPRND_SHIFT_2_BIT)),
1553	CSKYV1_ISA_E1),
1554#undef _TRANSFER
1555#define _TRANSFER 0
1556  OP16 ("jsri",
1557	OPCODE_INFO1 (0x7f00,
1558		      (0_7, OFF8b, OPRND_SHIFT_2_BIT)),
1559	CSKYV1_ISA_E1),
1560  OP16_WITH_WORK ("lrw",
1561		  OPCODE_INFO2 (0x7000,
1562				(8_11, REGnsplr, OPRND_SHIFT_0_BIT),
1563				(0_7, CONSTANT, OPRND_SHIFT_2_BIT)),
1564		  CSKYV1_ISA_E1,
1565		  v1_work_lrw),
1566#undef _RELOC16
1567#define _RELOC16 0
1568  DOP16 ("ld.w",
1569	 SOPCODE_INFO2 (0x8000,
1570			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1571			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1572				       (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))),
1573	 OPCODE_INFO2 (0x8000,
1574		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1575		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1576	 CSKYV1_ISA_E1),
1577  DOP16 ("ldw",
1578	 SOPCODE_INFO2 (0x8000,
1579			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1580			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1581				       (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))),
1582	 OPCODE_INFO2 (0x8000,
1583		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1584		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1585	 CSKYV1_ISA_E1),
1586  DOP16 ("ld",
1587	 SOPCODE_INFO2 (0x8000,
1588			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1589			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1590				       (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))),
1591	 OPCODE_INFO2 (0x8000,
1592		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1593		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1594	 CSKYV1_ISA_E1),
1595  DOP16 ("st.w",
1596	 SOPCODE_INFO2 (0x9000,
1597			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1598			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1599				       (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))),
1600	 OPCODE_INFO2 (0x9000,
1601		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1602		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1603	 CSKYV1_ISA_E1),
1604  DOP16 ("stw",
1605	 SOPCODE_INFO2 (0x9000,
1606			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1607			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1608				       (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))),
1609	 OPCODE_INFO2 (0x9000,
1610		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1611		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1612	 CSKYV1_ISA_E1),
1613  DOP16 ("st",
1614	 SOPCODE_INFO2 (0x9000,
1615			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1616			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1617				       (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))),
1618	 OPCODE_INFO2 (0x9000,
1619		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1620		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1621	 CSKYV1_ISA_E1),
1622  DOP16 ("ld.b",
1623	 SOPCODE_INFO2 (0xa000,
1624			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1625			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1626				       (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1627	 OPCODE_INFO2 (0xa000,
1628		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1629		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1630	 CSKYV1_ISA_E1),
1631  DOP16 ("ldb",
1632	 SOPCODE_INFO2 (0xa000,
1633			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1634			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1635				       (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1636	 OPCODE_INFO2 (0xa000,
1637		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1638		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1639	 CSKYV1_ISA_E1),
1640  DOP16 ("st.b",
1641	 SOPCODE_INFO2 (0xb000,
1642			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1643			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1644				       (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1645	 OPCODE_INFO2 (0xb000,
1646		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1647		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1648	 CSKYV1_ISA_E1),
1649  DOP16 ("stb",
1650	 SOPCODE_INFO2 (0xb000,
1651			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1652			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1653				       (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))),
1654	 OPCODE_INFO2 (0xb000,
1655		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1656		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1657	 CSKYV1_ISA_E1),
1658  DOP16 ("ld.h",
1659	 SOPCODE_INFO2 (0xc000,
1660			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1661			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1662				       (4_7, IMM_LDST, OPRND_SHIFT_1_BIT))),
1663	 OPCODE_INFO2 (0xc000,
1664		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1665		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1666	 CSKYV1_ISA_E1),
1667  DOP16 ("ldh",
1668	 SOPCODE_INFO2 (0xc000,
1669			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1670			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1671				       (4_7, IMM_LDST, OPRND_SHIFT_1_BIT))),
1672	 OPCODE_INFO2 (0xc000,
1673		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1674		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1675	 CSKYV1_ISA_E1),
1676  DOP16 ("st.h",
1677	 SOPCODE_INFO2 (0xd000,
1678			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1679			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1680				       (4_7, IMM_LDST, OPRND_SHIFT_1_BIT))),
1681	 OPCODE_INFO2 (0xd000,
1682		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1683		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1684	 CSKYV1_ISA_E1),
1685  DOP16 ("sth",
1686	 SOPCODE_INFO2 (0xd000,
1687			(8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1688			BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1689				       (4_7, IMM_LDST, OPRND_SHIFT_1_BIT))),
1690	 OPCODE_INFO2 (0xd000,
1691		       (8_11, GREG0_15, OPRND_SHIFT_0_BIT),
1692		       (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
1693	 CSKYV1_ISA_E1),
1694
1695#undef _RELOC16
1696#define _RELOC16    BFD_RELOC_CKCORE_PCREL_IMM11BY2
1697  OP16 ("bt",
1698	OPCODE_INFO1 (0xe000,
1699		      (0_10, OFF11b, OPRND_SHIFT_1_BIT)),
1700	CSKYV1_ISA_E1),
1701  OP16 ("bf",
1702	OPCODE_INFO1 (0xe800,
1703		      (0_10, OFF11b, OPRND_SHIFT_1_BIT)),
1704	CSKYV1_ISA_E1),
1705#undef _TRANSFER
1706#define _TRANSFER 1
1707  OP16 ("br",
1708	OPCODE_INFO1 (0xf000,
1709		      (0_10, OFF11b, OPRND_SHIFT_1_BIT)),
1710	CSKYV1_ISA_E1),
1711#undef _TRANSFER
1712#define _TRANSFER 0
1713  OP16 ("bsr",
1714	OPCODE_INFO1 (0xf800,
1715		      (0_10, OFF11b, OPRND_SHIFT_1_BIT)),
1716	CSKYV1_ISA_E1),
1717#undef _RELOC16
1718#define _RELOC16    0
1719
1720#undef _RELAX
1721#define _RELAX 1
1722  OP16 ("jbt",
1723	OPCODE_INFO1 (0xe000,
1724		      (0_10, JBTF, OPRND_SHIFT_0_BIT)),
1725	CSKYV1_ISA_E1),
1726  OP16 ("jbf",
1727	OPCODE_INFO1 (0xe800,
1728		      (0_10, JBTF, OPRND_SHIFT_0_BIT)),
1729	CSKYV1_ISA_E1),
1730#undef _TRANSFER
1731#define _TRANSFER 1
1732  OP16 ("jbr",
1733	OPCODE_INFO1 (0xf000,
1734		      (0_10, JBR, OPRND_SHIFT_0_BIT)),
1735	CSKYV1_ISA_E1),
1736#undef _TRANSFER
1737#define _TRANSFER 0
1738#undef _RELAX
1739#define _RELAX 0
1740
1741  OP16_WITH_WORK ("jbsr",
1742		  OPCODE_INFO1 (0xf800,
1743				(0_10, JBSR, OPRND_SHIFT_0_BIT)),
1744		  CSKYV1_ISA_E1,
1745		  v1_work_jbsr),
1746
1747  /* The following are aliases for other instructions.  */
1748  /* rts -> jmp r15.  */
1749#undef _TRANSFER
1750#define _TRANSFER 2
1751  OP16 ("rts",
1752	OPCODE_INFO0 (0x00CF),
1753	CSKYV1_ISA_E1),
1754  OP16 ("rte",
1755	OPCODE_INFO0 (0x0002),
1756	CSKYV1_ISA_E1),
1757  OP16 ("rfe",
1758	OPCODE_INFO0 (0x0002),
1759	CSKYV1_ISA_E1),
1760#undef _TRANSFER
1761#define _TRANSFER 0
1762
1763  /* cmphs r0,r0 */
1764  OP16 ("setc",
1765	OPCODE_INFO0 (0x0c00),
1766	CSKYV1_ISA_E1),
1767  /* cmpne r0,r0 */
1768  OP16 ("clrc",
1769	OPCODE_INFO0 (0x0f00),
1770	CSKYV1_ISA_E1),
1771  /* cmplti rd,1 */
1772  OP16 ("tstle",
1773	OPCODE_INFO1 (0x2200,
1774		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1775	CSKYV1_ISA_E1),
1776  /* cmplei rd,X -> cmplti rd,X+1 */
1777  OP16 ("cmplei",
1778	OPCODE_INFO2 (0x2200,
1779		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1780		      (4_8, IMM5b, OPRND_SHIFT_0_BIT)),
1781	CSKYV1_ISA_E1),
1782  /* rsubi rd,0 */
1783  OP16 ("neg",
1784	OPCODE_INFO1 (0x2800,
1785		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1786	CSKYV1_ISA_E1),
1787  /* cmpnei rd,0.  */
1788  OP16 ("tstne",
1789	OPCODE_INFO1 (0x2a00,
1790		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1791	CSKYV1_ISA_E1),
1792  /* btsti rx,31.  */
1793  OP16 ("tstlt",
1794	OPCODE_INFO1 (0x37f0,
1795		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT)),
1796	CSKYV1_ISA_E1),
1797  /* bclri rx,log2(imm).  */
1798  OP16 ("mclri",
1799	OPCODE_INFO2 (0x3000,
1800		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1801		      (4_8, IMM5b_POWER, OPRND_SHIFT_0_BIT)),
1802	CSKYV1_ISA_E1),
1803  /* bgeni rx,log2(imm).  */
1804  OP16 ("mgeni",
1805	OPCODE_INFO2 (0x3200,
1806		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1807		      (4_8, IMM5b_7_31_POWER, OPRND_SHIFT_0_BIT)),
1808	CSKYV1_ISA_E1),
1809  /* bseti rx,log2(imm).  */
1810  OP16 ("mseti",
1811	OPCODE_INFO2 (0x3400,
1812		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1813		      (4_8, IMM5b_POWER, OPRND_SHIFT_0_BIT)),
1814	CSKYV1_ISA_E1),
1815  /* btsti rx,log2(imm).  */
1816  OP16 ("mtsti",
1817	OPCODE_INFO2 (0x3600,
1818		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1819		      (4_8, IMM5b_POWER, OPRND_SHIFT_0_BIT)),
1820	CSKYV1_ISA_E1),
1821  OP16 ("rori",
1822	OPCODE_INFO2 (0x3800,
1823		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1824		      (4_8, IMM5b_RORI, OPRND_SHIFT_0_BIT)),
1825	CSKYV1_ISA_E1),
1826  OP16 ("rotri",
1827	OPCODE_INFO2 (0x3800,
1828		      (0_3, GREG0_15, OPRND_SHIFT_0_BIT),
1829		      (4_8, IMM5b_RORI, OPRND_SHIFT_0_BIT)),
1830	CSKYV1_ISA_E1),
1831  /* mov r0, r0.  */
1832  OP16 ("nop",
1833	OPCODE_INFO0 (0x1200),
1834	CSKYV1_ISA_E1),
1835
1836  /* Float instruction with work.  */
1837  OP16_WITH_WORK ("fabss",
1838		  OPCODE_INFO3 (0xffe04400,
1839				(5_9, FREG, OPRND_SHIFT_0_BIT),
1840				(0_4, FREG, OPRND_SHIFT_0_BIT),
1841				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1842		  CSKY_ISA_FLOAT_E1,
1843		  v1_work_fpu_fo),
1844  OP16_WITH_WORK ("fnegs",
1845		  OPCODE_INFO3 (0xffe04c00,
1846				(5_9, FREG, OPRND_SHIFT_0_BIT),
1847				(0_4, FREG, OPRND_SHIFT_0_BIT),
1848				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1849		  CSKY_ISA_FLOAT_E1,
1850		  v1_work_fpu_fo),
1851  OP16_WITH_WORK ("fsqrts",
1852		  OPCODE_INFO3 (0xffe05400,
1853				(5_9, FREG, OPRND_SHIFT_0_BIT),
1854				(0_4, FREG, OPRND_SHIFT_0_BIT),
1855				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1856		  CSKY_ISA_FLOAT_E1,
1857		  v1_work_fpu_fo),
1858  OP16_WITH_WORK ("frecips",
1859		  OPCODE_INFO3 (0xffe05c00,
1860				(5_9, FREG, OPRND_SHIFT_0_BIT),
1861				(0_4, FREG, OPRND_SHIFT_0_BIT),
1862				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1863		  CSKY_ISA_FLOAT_E1,
1864		  v1_work_fpu_fo),
1865  OP16_WITH_WORK ("fadds",
1866		  OPCODE_INFO4 (0xffe38000,
1867				(5_9, FREG, OPRND_SHIFT_0_BIT),
1868				(0_4, FREG, OPRND_SHIFT_0_BIT),
1869				(10_14, FREG, OPRND_SHIFT_0_BIT),
1870				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1871		  CSKY_ISA_FLOAT_E1,
1872		  v1_work_fpu_fo),
1873  OP16_WITH_WORK ("fsubs",
1874		  OPCODE_INFO4 (0xffe48000,
1875				(5_9, FREG, OPRND_SHIFT_0_BIT),
1876				(0_4, FREG, OPRND_SHIFT_0_BIT),
1877				(10_14, FREG, OPRND_SHIFT_0_BIT),
1878				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1879		  CSKY_ISA_FLOAT_E1, v1_work_fpu_fo),
1880  OP16_WITH_WORK ("fmacs",
1881		  OPCODE_INFO4 (0xffe58000,
1882				(5_9, FREG, OPRND_SHIFT_0_BIT),
1883				(0_4, FREG, OPRND_SHIFT_0_BIT),
1884				(10_14, FREG, OPRND_SHIFT_0_BIT),
1885				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1886		  CSKY_ISA_FLOAT_E1,
1887		  v1_work_fpu_fo),
1888  OP16_WITH_WORK ("fmscs",
1889		  OPCODE_INFO4 (0xffe68000,
1890				(5_9, FREG, OPRND_SHIFT_0_BIT),
1891				(0_4, FREG, OPRND_SHIFT_0_BIT),
1892				(10_14, FREG, OPRND_SHIFT_0_BIT),
1893				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1894		  CSKY_ISA_FLOAT_E1,
1895		  v1_work_fpu_fo),
1896  OP16_WITH_WORK ("fmuls",
1897		  OPCODE_INFO4 (0xffe78000,
1898				(5_9, FREG, OPRND_SHIFT_0_BIT),
1899				(0_4, FREG, OPRND_SHIFT_0_BIT),
1900				(10_14, FREG, OPRND_SHIFT_0_BIT),
1901				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1902		  CSKY_ISA_FLOAT_E1,
1903		  v1_work_fpu_fo),
1904  OP16_WITH_WORK ("fdivs",
1905		  OPCODE_INFO4 (0xffe88000,
1906				(5_9, FREG, OPRND_SHIFT_0_BIT),
1907				(0_4, FREG, OPRND_SHIFT_0_BIT),
1908				(10_14, FREG, OPRND_SHIFT_0_BIT),
1909				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1910		  CSKY_ISA_FLOAT_E1,
1911		  v1_work_fpu_fo),
1912  OP16_WITH_WORK ("fnmacs",
1913		  OPCODE_INFO4 (0xffe98000,
1914				(5_9, FREG, OPRND_SHIFT_0_BIT),
1915				(0_4, FREG, OPRND_SHIFT_0_BIT),
1916				(10_14, FREG, OPRND_SHIFT_0_BIT),
1917				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1918		  CSKY_ISA_FLOAT_E1,
1919		  v1_work_fpu_fo),
1920  OP16_WITH_WORK ("fnmscs",
1921		  OPCODE_INFO4 (0xffea8000,
1922				(5_9, FREG, OPRND_SHIFT_0_BIT),
1923				(0_4, FREG, OPRND_SHIFT_0_BIT),
1924				(10_14, FREG, OPRND_SHIFT_0_BIT),
1925				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1926		  CSKY_ISA_FLOAT_E1,
1927		  v1_work_fpu_fo),
1928  OP16_WITH_WORK ("fnmuls",
1929		  OPCODE_INFO4 (0xffeb8000,
1930				(5_9, FREG, OPRND_SHIFT_0_BIT),
1931				(0_4, FREG, OPRND_SHIFT_0_BIT),
1932				(10_14, FREG, OPRND_SHIFT_0_BIT),
1933				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1934		  CSKY_ISA_FLOAT_E1,
1935		  v1_work_fpu_fo),
1936  OP16_WITH_WORK ("fabsd",
1937		  OPCODE_INFO3 (0xffe04000,
1938				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1939				(0_4, FEREG, OPRND_SHIFT_0_BIT),
1940				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1941		  CSKY_ISA_FLOAT_E1,
1942		  v1_work_fpu_fo),
1943  OP16_WITH_WORK ("fnegd",
1944		  OPCODE_INFO3 (0xffe04800,
1945				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1946				(0_4, FEREG, OPRND_SHIFT_0_BIT),
1947				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1948		  CSKY_ISA_FLOAT_E1,
1949		  v1_work_fpu_fo),
1950  OP16_WITH_WORK ("fsqrtd",
1951		  OPCODE_INFO3 (0xffe05000,
1952				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1953				(0_4, FEREG, OPRND_SHIFT_0_BIT),
1954				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1955		  CSKY_ISA_FLOAT_E1,
1956		  v1_work_fpu_fo),
1957  OP16_WITH_WORK ("frecipd",
1958		  OPCODE_INFO3 (0xffe05800,
1959				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1960				(0_4, FEREG, OPRND_SHIFT_0_BIT),
1961				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1962		  CSKY_ISA_FLOAT_E1,
1963		  v1_work_fpu_fo),
1964  OP16_WITH_WORK ("faddd",
1965		  OPCODE_INFO4 (0xffe30000,
1966				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1967				(0_4, FEREG, OPRND_SHIFT_0_BIT),
1968				(10_14, FEREG, OPRND_SHIFT_0_BIT),
1969				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1970		  CSKY_ISA_FLOAT_E1,
1971		  v1_work_fpu_fo),
1972  OP16_WITH_WORK ("fsubd",
1973		  OPCODE_INFO4 (0xffe40000,
1974				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1975				(0_4, FEREG, OPRND_SHIFT_0_BIT),
1976				(10_14, FEREG, OPRND_SHIFT_0_BIT),
1977				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1978		  CSKY_ISA_FLOAT_E1,
1979		  v1_work_fpu_fo),
1980  OP16_WITH_WORK ("fmacd",
1981		  OPCODE_INFO4 (0xffe50000,
1982				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1983				(0_4, FEREG, OPRND_SHIFT_0_BIT),
1984				(10_14, FEREG, OPRND_SHIFT_0_BIT),
1985				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1986		  CSKY_ISA_FLOAT_E1,
1987		  v1_work_fpu_fo),
1988  OP16_WITH_WORK ("fmscd",
1989		  OPCODE_INFO4 (0xffe60000,
1990				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1991				(0_4, FEREG, OPRND_SHIFT_0_BIT),
1992				(10_14, FEREG, OPRND_SHIFT_0_BIT),
1993				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
1994		  CSKY_ISA_FLOAT_E1,
1995		  v1_work_fpu_fo),
1996  OP16_WITH_WORK ("fmuld",
1997		  OPCODE_INFO4 (0xffe70000,
1998				(5_9, FEREG, OPRND_SHIFT_0_BIT),
1999				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2000				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2001				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2002		  CSKY_ISA_FLOAT_E1,
2003		  v1_work_fpu_fo),
2004  OP16_WITH_WORK ("fdivd",
2005		  OPCODE_INFO4 (0xffe80000,
2006				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2007				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2008				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2009				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2010		  CSKY_ISA_FLOAT_E1,
2011		  v1_work_fpu_fo),
2012  OP16_WITH_WORK ("fnmacd",
2013		  OPCODE_INFO4 (0xffe90000,
2014				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2015				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2016				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2017				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2018		  CSKY_ISA_FLOAT_E1,
2019		  v1_work_fpu_fo),
2020  OP16_WITH_WORK ("fnmscd",
2021		  OPCODE_INFO4 (0xffea0000,
2022				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2023				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2024				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2025				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2026		  CSKY_ISA_FLOAT_E1,
2027		  v1_work_fpu_fo),
2028  OP16_WITH_WORK ("fnmuld",
2029		  OPCODE_INFO4 (0xffeb0000,
2030				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2031				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2032				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2033				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2034		  CSKY_ISA_FLOAT_E1,
2035		  v1_work_fpu_fo),
2036  OP16_WITH_WORK ("fabsm",
2037		  OPCODE_INFO3 (0xffe06000,
2038				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2039				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2040				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2041		  CSKY_ISA_FLOAT_E1,
2042		  v1_work_fpu_fo),
2043  OP16_WITH_WORK ("fnegm",
2044		  OPCODE_INFO3 (0xffe06400,
2045				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2046				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2047				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2048		  CSKY_ISA_FLOAT_E1,
2049		  v1_work_fpu_fo),
2050  OP16_WITH_WORK ("faddm",
2051		  OPCODE_INFO4 (0xffec0000,
2052				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2053				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2054				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2055				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2056		  CSKY_ISA_FLOAT_E1,
2057		  v1_work_fpu_fo),
2058  OP16_WITH_WORK ("fsubm",
2059		  OPCODE_INFO4 (0xffec8000,
2060				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2061				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2062				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2063				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2064		  CSKY_ISA_FLOAT_E1,
2065		  v1_work_fpu_fo),
2066  OP16_WITH_WORK ("fmacm",
2067		  OPCODE_INFO4 (0xffed8000,
2068				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2069				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2070				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2071				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2072		  CSKY_ISA_FLOAT_E1,
2073		  v1_work_fpu_fo),
2074  OP16_WITH_WORK ("fmscm",
2075		  OPCODE_INFO4 (0xffee0000,
2076				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2077				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2078				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2079				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2080		  CSKY_ISA_FLOAT_E1,
2081		  v1_work_fpu_fo),
2082  OP16_WITH_WORK ("fmulm",
2083		  OPCODE_INFO4 (0xffed0000,
2084				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2085				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2086				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2087				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2088		  CSKY_ISA_FLOAT_E1,
2089		  v1_work_fpu_fo),
2090  OP16_WITH_WORK ("fnmacm",
2091		  OPCODE_INFO4 (0xffee8000,
2092				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2093				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2094				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2095				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2096		  CSKY_ISA_FLOAT_E1,
2097		  v1_work_fpu_fo),
2098  OP16_WITH_WORK ("fnmscm",
2099		  OPCODE_INFO4 (0xffef0000,
2100				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2101				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2102				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2103				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2104		  CSKY_ISA_FLOAT_E1,
2105		  v1_work_fpu_fo),
2106  OP16_WITH_WORK ("fnmulm",
2107		  OPCODE_INFO4 (0xffef8000,
2108				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2109				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2110				(10_14, FEREG, OPRND_SHIFT_0_BIT),
2111				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2112		  CSKY_ISA_FLOAT_E1,
2113		  v1_work_fpu_fo),
2114  OP16_WITH_WORK ("fcmphsd",
2115		  OPCODE_INFO3 (0xffe00800,
2116				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2117				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2118				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2119		  CSKY_ISA_FLOAT_E1,
2120		  v1_work_fpu_fo_fc),
2121  OP16_WITH_WORK ("fcmpltd",
2122		  OPCODE_INFO3 (0xffe00c00,
2123				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2124				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2125				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2126		  CSKY_ISA_FLOAT_E1,
2127		  v1_work_fpu_fo_fc),
2128  OP16_WITH_WORK ("fcmpned",
2129		  OPCODE_INFO3 (0xffe01000,
2130				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2131				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2132				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2133		  CSKY_ISA_FLOAT_E1,
2134		  v1_work_fpu_fo_fc),
2135  OP16_WITH_WORK ("fcmpuod",
2136		  OPCODE_INFO3 (0xffe01400,
2137				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2138				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2139				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2140		  CSKY_ISA_FLOAT_E1,
2141		  v1_work_fpu_fo_fc),
2142  OP16_WITH_WORK ("fcmphss",
2143		  OPCODE_INFO3 (0xffe01800,
2144				(0_4, FREG, OPRND_SHIFT_0_BIT),
2145				(5_9, FREG, OPRND_SHIFT_0_BIT),
2146				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2147		  CSKY_ISA_FLOAT_E1,
2148		  v1_work_fpu_fo_fc),
2149  OP16_WITH_WORK ("fcmplts",
2150		  OPCODE_INFO3 (0xffe01c00,
2151				(0_4, FREG, OPRND_SHIFT_0_BIT),
2152				(5_9, FREG, OPRND_SHIFT_0_BIT),
2153				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2154		  CSKY_ISA_FLOAT_E1,
2155		  v1_work_fpu_fo_fc),
2156  OP16_WITH_WORK ("fcmpnes",
2157		  OPCODE_INFO3 (0xffe02000,
2158				(0_4, FREG, OPRND_SHIFT_0_BIT),
2159				(5_9, FREG, OPRND_SHIFT_0_BIT),
2160				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2161		  CSKY_ISA_FLOAT_E1,
2162		  v1_work_fpu_fo_fc),
2163  OP16_WITH_WORK ("fcmpuos",
2164		  OPCODE_INFO3 (0xffe02400,
2165				(0_4, FREG, OPRND_SHIFT_0_BIT),
2166				(5_9, FREG, OPRND_SHIFT_0_BIT),
2167				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2168		  CSKY_ISA_FLOAT_E1,
2169		  v1_work_fpu_fo_fc),
2170  OP16_WITH_WORK ("fcmpzhsd",
2171		  OPCODE_INFO2 (0xffe00400,
2172				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2173				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2174		  CSKY_ISA_FLOAT_E1,
2175		  v1_work_fpu_fo_fc),
2176  OP16_WITH_WORK ("fcmpzltd",
2177		  OPCODE_INFO2 (0xffe00480,
2178				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2179				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2180		  CSKY_ISA_FLOAT_E1,
2181		  v1_work_fpu_fo_fc),
2182  OP16_WITH_WORK ("fcmpzned",
2183		  OPCODE_INFO2 (0xffe00500,
2184				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2185				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2186		  CSKY_ISA_FLOAT_E1,
2187		  v1_work_fpu_fo_fc),
2188  OP16_WITH_WORK ("fcmpzuod",
2189		  OPCODE_INFO2 (0xffe00580,
2190				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2191				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2192		  CSKY_ISA_FLOAT_E1,
2193		  v1_work_fpu_fo_fc),
2194  OP16_WITH_WORK ("fcmpzhss",
2195		  OPCODE_INFO2 (0xffe00600,
2196				(0_4, FREG, OPRND_SHIFT_0_BIT),
2197				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2198		  CSKY_ISA_FLOAT_E1,
2199		  v1_work_fpu_fo_fc),
2200  OP16_WITH_WORK ("fcmpzlts",
2201		  OPCODE_INFO2 (0xffe00680,
2202				(0_4, FREG, OPRND_SHIFT_0_BIT),
2203				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2204		  CSKY_ISA_FLOAT_E1,
2205		  v1_work_fpu_fo_fc),
2206  OP16_WITH_WORK ("fcmpznes",
2207		  OPCODE_INFO2 (0xffe00700,
2208				(0_4, FREG, OPRND_SHIFT_0_BIT),
2209				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2210		  CSKY_ISA_FLOAT_E1,
2211		  v1_work_fpu_fo_fc),
2212  OP16_WITH_WORK ("fcmpzuos",
2213		  OPCODE_INFO2 (0xffe00780,
2214				(0_4, FREG, OPRND_SHIFT_0_BIT),
2215				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2216		  CSKY_ISA_FLOAT_E1,
2217		  v1_work_fpu_fo_fc),
2218  OP16_WITH_WORK ("fstod",
2219		  OPCODE_INFO3 (0xffe02800,
2220				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2221				(0_4, FREG, OPRND_SHIFT_0_BIT),
2222				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2223		  CSKY_ISA_FLOAT_E1,
2224		  v1_work_fpu_fo),
2225  OP16_WITH_WORK ("fdtos",
2226		  OPCODE_INFO3 (0xffe02c00,
2227				(5_9, FREG, OPRND_SHIFT_0_BIT),
2228				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2229				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2230		  CSKY_ISA_FLOAT_E1,
2231		  v1_work_fpu_fo),
2232  OP16_WITH_WORK ("fsitos",
2233		  OPCODE_INFO3 (0xffe03400,
2234				(5_9, FREG, OPRND_SHIFT_0_BIT),
2235				(0_4, FREG, OPRND_SHIFT_0_BIT),
2236				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2237		  CSKY_ISA_FLOAT_E1,
2238		  v1_work_fpu_fo),
2239  OP16_WITH_WORK ("fsitod",
2240		  OPCODE_INFO3 (0xffe03000,
2241				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2242				(0_4, FREG, OPRND_SHIFT_0_BIT),
2243				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2244		  CSKY_ISA_FLOAT_E1,
2245		  v1_work_fpu_fo),
2246  OP16_WITH_WORK ("fuitos",
2247		  OPCODE_INFO3 (0xffe03c00,
2248				(5_9, FREG, OPRND_SHIFT_0_BIT),
2249				(0_4, FREG, OPRND_SHIFT_0_BIT),
2250				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2251		  CSKY_ISA_FLOAT_E1,
2252		  v1_work_fpu_fo),
2253  OP16_WITH_WORK ("fuitod",
2254		  OPCODE_INFO3 (0xffe03800,
2255				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2256				(0_4, FREG, OPRND_SHIFT_0_BIT),
2257				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2258		  CSKY_ISA_FLOAT_E1,
2259		  v1_work_fpu_fo),
2260  OP16_WITH_WORK ("fstosi",
2261		  OPCODE_INFO4 (0xffe10000,
2262				(5_9, FREG, OPRND_SHIFT_0_BIT),
2263				(0_4, FREG, OPRND_SHIFT_0_BIT),
2264				(13_17, RM, OPRND_SHIFT_0_BIT),
2265				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2266		  CSKY_ISA_FLOAT_E1,
2267		  v1_work_fpu_fo),
2268  OP16_WITH_WORK ("fdtosi",
2269		  OPCODE_INFO4 (0xffe08000,
2270				(5_9, FREG, OPRND_SHIFT_0_BIT),
2271				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2272				(13_17, RM, OPRND_SHIFT_0_BIT),
2273				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2274		  CSKY_ISA_FLOAT_E1,
2275		  v1_work_fpu_fo),
2276  OP16_WITH_WORK ("fstoui",
2277		  OPCODE_INFO4 (0xffe20000,
2278				(5_9, FREG, OPRND_SHIFT_0_BIT),
2279				(0_4, FREG, OPRND_SHIFT_0_BIT),
2280				(13_17, RM, OPRND_SHIFT_0_BIT),
2281				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2282		  CSKY_ISA_FLOAT_E1,
2283		  v1_work_fpu_fo),
2284  OP16_WITH_WORK ("fdtoui",
2285		  OPCODE_INFO4 (0xffe18000,
2286				(5_9, FREG, OPRND_SHIFT_0_BIT),
2287				(0_4, FEREG, OPRND_SHIFT_0_BIT),
2288				(13_17, RM, OPRND_SHIFT_0_BIT),
2289				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2290		  CSKY_ISA_FLOAT_E1,
2291		  v1_work_fpu_fo),
2292  OP16_WITH_WORK ("fmovd",
2293		  OPCODE_INFO3 (0xffe06800,
2294				(5_9, FEREG, OPRND_SHIFT_0_BIT),
2295				(0_4, FREG, OPRND_SHIFT_0_BIT),
2296				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2297		  CSKY_ISA_FLOAT_E1,
2298		  v1_work_fpu_fo),
2299  OP16_WITH_WORK ("fmovs",
2300		  OPCODE_INFO3 (0xffe06c00,
2301				(5_9, FREG, OPRND_SHIFT_0_BIT),
2302				(0_4, FREG, OPRND_SHIFT_0_BIT),
2303				(NONE, GREG0_15, OPRND_SHIFT_0_BIT)),
2304		  CSKY_ISA_FLOAT_E1,
2305		  v1_work_fpu_fo),
2306  OP16_WITH_WORK ("fmts",
2307		  OPCODE_INFO2 (0x00000000,
2308				(NONE, GREG0_15, OPRND_SHIFT_0_BIT),
2309				(NONE, FREG, OPRND_SHIFT_0_BIT)),
2310		  CSKY_ISA_FLOAT_E1,
2311		  v1_work_fpu_write),
2312  OP16_WITH_WORK ("fmfs",
2313		  OPCODE_INFO2 (0x00000000,
2314				(NONE, GREG0_15, OPRND_SHIFT_0_BIT),
2315				(NONE, FREG, OPRND_SHIFT_0_BIT)),
2316		  CSKY_ISA_FLOAT_E1,
2317		  v1_work_fpu_read),
2318  OP16_WITH_WORK ("fmtd",
2319		  OPCODE_INFO2 (0x00000000,
2320				(NONE, GREG0_15, OPRND_SHIFT_0_BIT),
2321				(NONE, FEREG, OPRND_SHIFT_0_BIT)),
2322		  CSKY_ISA_FLOAT_E1,
2323		  v1_work_fpu_writed),
2324  OP16_WITH_WORK ("fmfd",
2325		  OPCODE_INFO2 (0x00000000,
2326				(NONE, GREG0_15, OPRND_SHIFT_0_BIT),
2327				(NONE, FEREG, OPRND_SHIFT_0_BIT)),
2328		  CSKY_ISA_FLOAT_E1,
2329		  v1_work_fpu_readd),
2330  {NULL, 0, {}, {}, 0, 0, 0, 0, 0, NULL}
2331};
2332
2333#undef _TRANSFER
2334#undef _RELOC16
2335#undef _RELOC32
2336#undef _RELAX
2337
2338/* C-SKY v2 opcodes.  */
2339const struct csky_opcode csky_v2_opcodes[] =
2340  {
2341#define _TRANSFER   0
2342#define _RELOC16    0
2343#define _RELOC32    0
2344#define _RELAX      0
2345    OP16 ("bkpt",
2346	  OPCODE_INFO0 (0x0000),
2347	  CSKYV2_ISA_E1),
2348    OP16_WITH_WORK ("nie",
2349		    OPCODE_INFO0 (0x1460),
2350		    CSKYV2_ISA_E1,
2351		    v2_work_istack),
2352    OP16_WITH_WORK ("nir",
2353		    OPCODE_INFO0 (0x1461),
2354		    CSKYV2_ISA_E1,
2355		    v2_work_istack),
2356    OP16_WITH_WORK ("ipush",
2357		    OPCODE_INFO0 (0x1462),
2358		    CSKYV2_ISA_E1,
2359		    v2_work_istack),
2360    OP16_WITH_WORK ("ipop",
2361		    OPCODE_INFO0 (0x1463),
2362		    CSKYV2_ISA_E1,
2363		    v2_work_istack),
2364    OP16 ("bpop.h",
2365	  OPCODE_INFO1 (0x14a0,
2366			(2_4, GREG0_7, OPRND_SHIFT_0_BIT)),
2367	  CSKY_ISA_JAVA),
2368    OP16 ("bpop.w",
2369	  OPCODE_INFO1 (0x14a2,
2370			(2_4, GREG0_7, OPRND_SHIFT_0_BIT)),
2371	  CSKY_ISA_JAVA),
2372    OP16 ("bpush.h",
2373	  OPCODE_INFO1 (0x14e0,
2374			(2_4, GREG0_7, OPRND_SHIFT_0_BIT)),
2375	  CSKY_ISA_JAVA),
2376    OP16 ("bpush.w",
2377	  OPCODE_INFO1 (0x14e2,
2378			(2_4, GREG0_7, OPRND_SHIFT_0_BIT)),
2379	  CSKY_ISA_JAVA),
2380    OP32 ("bmset",
2381	  OPCODE_INFO0 (0xc0001020),
2382	  CSKY_ISA_JAVA),
2383    OP32 ("bmclr",
2384	  OPCODE_INFO0 (0xc0001420),
2385	  CSKY_ISA_JAVA),
2386    OP32 ("sce",
2387	  OPCODE_INFO1 (0xc0001820,
2388			(21_24, IMM4b, OPRND_SHIFT_0_BIT)),
2389	  CSKY_ISA_MP),
2390    OP32 ("trap",
2391	  OPCODE_INFO1 (0xc0002020,
2392			(10_11, IMM2b, OPRND_SHIFT_0_BIT)),
2393	  CSKYV2_ISA_E1),
2394    /* Secure/nsecure world switch.  */
2395    OP32 ("wsc",
2396	  OPCODE_INFO0 (0xc0003c20),
2397	  CSKY_ISA_TRUST),
2398    OP32 ("mtcr",
2399	  OPCODE_INFO2 (0xc0006420,
2400			(16_20, AREG, OPRND_SHIFT_0_BIT),
2401			(0_4or21_25, CTRLREG, OPRND_SHIFT_0_BIT)),
2402	  CSKYV2_ISA_E1),
2403    OP32 ("mfcr",
2404	  OPCODE_INFO2 (0xc0006020,
2405			(0_4, AREG, OPRND_SHIFT_0_BIT),
2406			(16_20or21_25, CTRLREG, OPRND_SHIFT_0_BIT)),
2407	  CSKYV2_ISA_E1),
2408#undef _TRANSFER
2409#define _TRANSFER   2
2410    OP32 ("rte",
2411	  OPCODE_INFO0 (0xc0004020),
2412	  CSKYV2_ISA_E1),
2413    OP32 ("rfi",
2414	  OPCODE_INFO0 (0xc0004420),
2415	  CSKYV2_ISA_2E3),
2416#undef _TRANSFER
2417#define _TRANSFER   0
2418    OP32 ("stop",
2419	  OPCODE_INFO0 (0xc0004820),
2420	  CSKYV2_ISA_E1),
2421    OP32 ("wait",
2422	  OPCODE_INFO0 (0xc0004c20),
2423	  CSKYV2_ISA_E1),
2424    OP32 ("doze",
2425	  OPCODE_INFO0 (0xc0005020),
2426	  CSKYV2_ISA_E1),
2427    OP32 ("we",
2428	  OPCODE_INFO0 (0xc0005420),
2429	  CSKY_ISA_MP_1E2),
2430    OP32 ("se",
2431	  OPCODE_INFO0 (0xc0005820),
2432	  CSKY_ISA_MP_1E2),
2433    OP32 ("psrclr",
2434	  OPCODE_INFO_LIST (0xc0007020,
2435			    (21_25, PSR_BITS_LIST, OPRND_SHIFT_0_BIT)),
2436	  CSKYV2_ISA_E1),
2437    OP32 ("psrset",
2438	  OPCODE_INFO_LIST (0xc0007420,
2439			    (21_25, PSR_BITS_LIST, OPRND_SHIFT_0_BIT)),
2440	  CSKYV2_ISA_E1),
2441    DOP32 ("abs",
2442	   OPCODE_INFO2 (0xc4000200,
2443			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2444			 (16_20, AREG, OPRND_SHIFT_0_BIT)),
2445	   OPCODE_INFO1 (0xc4000200,
2446			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
2447	   CSKYV2_ISA_2E3),
2448    OP32 ("mvc",
2449	  OPCODE_INFO1 (0xc4000500,
2450			(0_4, AREG, OPRND_SHIFT_0_BIT)),
2451	  CSKYV2_ISA_1E2),
2452    OP32 ("incf",
2453	  OPCODE_INFO3 (0xc4000c20,
2454			(21_25, AREG, OPRND_SHIFT_0_BIT),
2455			(16_20, AREG, OPRND_SHIFT_0_BIT),
2456			(0_4, IMM5b, OPRND_SHIFT_0_BIT)),
2457	  CSKYV2_ISA_1E2),
2458    OP32 ("movf",
2459	  OPCODE_INFO2 (0xc4000c20,
2460			(21_25, AREG, OPRND_SHIFT_0_BIT),
2461			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2462	  CSKYV2_ISA_1E2),
2463    OP32 ("inct",
2464	  OPCODE_INFO3 (0xc4000c40,
2465			(21_25, AREG, OPRND_SHIFT_0_BIT),
2466			(16_20, AREG, OPRND_SHIFT_0_BIT),
2467			(0_4, IMM5b, OPRND_SHIFT_0_BIT)),
2468	  CSKYV2_ISA_1E2),
2469    OP32 ("movt",
2470	  OPCODE_INFO2 (0xc4000c40,
2471			(21_25, AREG, OPRND_SHIFT_0_BIT),
2472			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2473	  CSKYV2_ISA_1E2),
2474    OP32 ("decf",
2475	  OPCODE_INFO3 (0xc4000c80,
2476			(21_25, AREG, OPRND_SHIFT_0_BIT),
2477			(16_20, AREG, OPRND_SHIFT_0_BIT),
2478			(0_4, IMM5b, OPRND_SHIFT_0_BIT)),
2479	  CSKYV2_ISA_1E2),
2480    OP32 ("dect",
2481	  OPCODE_INFO3 (0xc4000d00,
2482			(21_25, AREG, OPRND_SHIFT_0_BIT),
2483			(16_20, AREG, OPRND_SHIFT_0_BIT),
2484			(0_4, IMM5b, OPRND_SHIFT_0_BIT)),
2485	  CSKYV2_ISA_1E2),
2486    OP32 ("decgt",
2487	  OPCODE_INFO3 (0xc4001020,
2488			(0_4, AREG, OPRND_SHIFT_0_BIT),
2489			(16_20, AREG, OPRND_SHIFT_0_BIT),
2490			(21_25, IMM5b, OPRND_SHIFT_0_BIT)),
2491	  CSKYV2_ISA_2E3),
2492    OP32 ("declt",
2493	  OPCODE_INFO3 (0xc4001040,
2494			(0_4, AREG, OPRND_SHIFT_0_BIT),
2495			(16_20, AREG, OPRND_SHIFT_0_BIT),
2496			(21_25, IMM5b, OPRND_SHIFT_0_BIT)),
2497	  CSKYV2_ISA_2E3),
2498    OP32 ("decne",
2499	  OPCODE_INFO3 (0xc4001080,
2500			(0_4, AREG, OPRND_SHIFT_0_BIT),
2501			(16_20, AREG, OPRND_SHIFT_0_BIT),
2502			(21_25, IMM5b, OPRND_SHIFT_0_BIT)),
2503	  CSKYV2_ISA_2E3),
2504    OP32 ("clrf",
2505	  OPCODE_INFO1 (0xc4002c20,
2506			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2507	  CSKYV2_ISA_2E3),
2508    OP32 ("clrt",
2509	  OPCODE_INFO1 (0xc4002c40,
2510			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2511	  CSKYV2_ISA_2E3),
2512    DOP32 ("rotli",
2513	   OPCODE_INFO3 (0xc4004900,
2514			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2515			 (16_20, AREG, OPRND_SHIFT_0_BIT),
2516			 (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
2517	   OPCODE_INFO2 (0xc4004900,
2518			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
2519			 (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
2520	   CSKYV2_ISA_1E2),
2521    OP32 ("lslc",
2522	  OPCODE_INFO3 (0xc4004c20,
2523			(0_4, AREG, OPRND_SHIFT_0_BIT),
2524			(16_20, AREG, OPRND_SHIFT_0_BIT),
2525			(21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
2526	  CSKYV2_ISA_1E2),
2527    OP32 ("lsrc",
2528	  OPCODE_INFO3 (0xc4004c40,
2529			(0_4, AREG, OPRND_SHIFT_0_BIT),
2530			(16_20, AREG, OPRND_SHIFT_0_BIT),
2531			(21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
2532	  CSKYV2_ISA_1E2),
2533    DOP32 ("asrc",
2534	   OPCODE_INFO3 (0xc4004c80,
2535			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2536			 (16_20, AREG, OPRND_SHIFT_0_BIT),
2537			 (21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
2538	   OPCODE_INFO1 (0xc4004c80,
2539			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
2540	   CSKYV2_ISA_1E2),
2541    OP32 ("xsr",
2542	  OPCODE_INFO3 (0xc4004d00,
2543			(0_4, AREG, OPRND_SHIFT_0_BIT),
2544			(16_20, AREG, OPRND_SHIFT_0_BIT),
2545			(21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
2546	  CSKYV2_ISA_1E2),
2547    OP32 ("bgenr",
2548	  OPCODE_INFO2 (0xc4005040,
2549			(0_4, AREG, OPRND_SHIFT_0_BIT),
2550			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2551	  CSKYV2_ISA_2E3),
2552    DOP32 ("brev",
2553	   OPCODE_INFO2 (0xc4006200,
2554			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2555			 (16_20, AREG, OPRND_SHIFT_0_BIT)),
2556	   OPCODE_INFO1 (0xc4006200,
2557			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
2558	   CSKYV2_ISA_2E3),
2559    OP32 ("xtrb0",
2560	  OPCODE_INFO2 (0xc4007020,
2561			(0_4, AREG, OPRND_SHIFT_0_BIT),
2562			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2563	  CSKYV2_ISA_1E2),
2564    OP32 ("xtrb1",
2565	  OPCODE_INFO2 (0xc4007040,
2566			(0_4, AREG, OPRND_SHIFT_0_BIT),
2567			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2568	  CSKYV2_ISA_1E2),
2569    OP32 ("xtrb2",
2570	  OPCODE_INFO2 (0xc4007080,
2571			(0_4, AREG, OPRND_SHIFT_0_BIT),
2572			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2573	  CSKYV2_ISA_1E2),
2574    OP32 ("xtrb3",
2575	  OPCODE_INFO2 (0xc4007100,
2576			(0_4, AREG, OPRND_SHIFT_0_BIT),
2577			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2578	  CSKYV2_ISA_1E2),
2579    OP32 ("ff0",
2580	  OPCODE_INFO2 (0xc4007c20,
2581			(0_4, AREG, OPRND_SHIFT_0_BIT),
2582			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2583	  CSKYV2_ISA_1E2),
2584    DOP32 ("ff1",
2585	   OPCODE_INFO2 (0xc4007c40,
2586			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2587			 (16_20, AREG, OPRND_SHIFT_0_BIT)),
2588	   OPCODE_INFO1 (0xc4007c40,
2589			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
2590	   CSKYV2_ISA_1E2),
2591    OP32 ("mulu",
2592	  OPCODE_INFO2 (0xc4008820,
2593			(16_20, AREG, OPRND_SHIFT_0_BIT),
2594			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2595	  CSKY_ISA_DSP),
2596    OP32 ("mulua",
2597	  OPCODE_INFO2 (0xc4008840,
2598			(16_20, AREG, OPRND_SHIFT_0_BIT),
2599			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2600	  CSKY_ISA_DSP),
2601    OP32 ("mulus",
2602	  OPCODE_INFO2 (0xc4008880,
2603			(16_20, AREG, OPRND_SHIFT_0_BIT),
2604			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2605	  CSKY_ISA_DSP),
2606    OP32 ("muls",
2607	  OPCODE_INFO2 (0xc4008c20,
2608			(16_20, AREG, OPRND_SHIFT_0_BIT),
2609			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2610	  CSKY_ISA_DSP),
2611    OP32 ("mulsa",
2612	  OPCODE_INFO2 (0xc4008c40,
2613			(16_20, AREG, OPRND_SHIFT_0_BIT),
2614			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2615	  CSKY_ISA_DSP),
2616    OP32 ("mulss",
2617	  OPCODE_INFO2 (0xc4008c80,
2618			(16_20, AREG, OPRND_SHIFT_0_BIT),
2619			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2620	  CSKY_ISA_DSP),
2621    OP32 ("mulsha",
2622	  OPCODE_INFO2 (0xc4009040,
2623			(16_20, AREG, OPRND_SHIFT_0_BIT),
2624			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2625	  CSKY_ISA_DSP),
2626    OP32 ("mulshs",
2627	  OPCODE_INFO2 (0xc4009080,
2628			(16_20, AREG, OPRND_SHIFT_0_BIT),
2629			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2630	  CSKY_ISA_DSP),
2631    OP32 ("mulswa",
2632	  OPCODE_INFO2 (0xc4009440,
2633			(16_20, AREG, OPRND_SHIFT_0_BIT),
2634			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2635	  CSKY_ISA_DSP),
2636    OP32 ("mulsws",
2637	  OPCODE_INFO2 (0xc4009480,
2638			(16_20, AREG, OPRND_SHIFT_0_BIT),
2639			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2640	  CSKY_ISA_DSP),
2641    OP32 ("mfhis",
2642	  OPCODE_INFO1 (0xc4009820,
2643			(0_4, AREG, OPRND_SHIFT_0_BIT)),
2644	  CSKY_ISA_DSP),
2645    OP32 ("mflos",
2646	  OPCODE_INFO1 (0xc4009880,
2647			(0_4, AREG, OPRND_SHIFT_0_BIT)),
2648	  CSKY_ISA_DSP),
2649    OP32 ("mvtc",
2650	  OPCODE_INFO0 (0xc4009a00),
2651	  CSKY_ISA_DSP),
2652    OP32 ("mfhi",
2653	  OPCODE_INFO1 (0xc4009c20,
2654			(0_4, AREG, OPRND_SHIFT_0_BIT)),
2655	  CSKY_ISA_DSP),
2656    OP32 ("mthi",
2657	  OPCODE_INFO1 (0xc4009c40,
2658			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2659	  CSKY_ISA_DSP),
2660    OP32 ("mflo",
2661	  OPCODE_INFO1 (0xc4009c80,
2662			(0_4, AREG, OPRND_SHIFT_0_BIT)),
2663	  CSKY_ISA_DSP),
2664    OP32 ("mtlo",
2665	  OPCODE_INFO1 (0xc4009d00,
2666			(16_20, AREG, OPRND_SHIFT_0_BIT)),
2667	  CSKY_ISA_DSP),
2668    OP32 ("vmulsh",
2669	  OPCODE_INFO2 (0xc400b020,
2670			(16_20, AREG, OPRND_SHIFT_0_BIT),
2671			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2672	  CSKY_ISA_DSP_1E2),
2673    OP32 ("vmulsha",
2674	  OPCODE_INFO2 (0xc400b040,
2675			(16_20, AREG, OPRND_SHIFT_0_BIT),
2676			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2677	  CSKY_ISA_DSP_1E2),
2678    OP32 ("vmulshs",
2679	  OPCODE_INFO2 (0xc400b080,
2680			(16_20, AREG, OPRND_SHIFT_0_BIT),
2681			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2682	  CSKY_ISA_DSP_1E2),
2683    OP32 ("vmulsw",
2684	  OPCODE_INFO2 (0xc400b420,
2685			(16_20, AREG, OPRND_SHIFT_0_BIT),
2686			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2687	  CSKY_ISA_DSP_1E2),
2688    OP32 ("vmulswa",
2689	  OPCODE_INFO2 (0xc400b440,
2690			(16_20, AREG, OPRND_SHIFT_0_BIT),
2691			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2692	  CSKY_ISA_DSP_1E2),
2693    OP32 ("vmulsws",
2694	  OPCODE_INFO2 (0xc400b480,
2695			(16_20, AREG, OPRND_SHIFT_0_BIT),
2696			(21_25, AREG, OPRND_SHIFT_0_BIT)),
2697	  CSKY_ISA_DSP_1E2),
2698    OP32 ("ldr.b",
2699	  SOPCODE_INFO2 (0xd0000000,
2700			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2701			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2702					(5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))),
2703	  CSKYV2_ISA_2E3),
2704    OP32 ("ldr.bs",
2705	  SOPCODE_INFO2 (0xd0001000,
2706			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2707			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2708					(5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))),
2709	  CSKYV2_ISA_2E3),
2710    OP32 ("ldr.h",
2711	  SOPCODE_INFO2 (0xd0000400,
2712			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2713			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2714					(5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))),
2715	  CSKYV2_ISA_2E3),
2716    OP32 ("ldr.hs",
2717	  SOPCODE_INFO2 (0xd0001400,
2718			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2719			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2720					(5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))),
2721	  CSKYV2_ISA_2E3),
2722    OP32 ("ldr.w",
2723	  SOPCODE_INFO2 (0xd0000800,
2724			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2725			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2726					(5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))),
2727	  CSKYV2_ISA_2E3),
2728    OP32 ("ldm",
2729	  OPCODE_INFO2 (0xd0001c20,
2730			(0_4or21_25, REGLIST_DASH, OPRND_SHIFT_0_BIT),
2731			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
2732	  CSKYV2_ISA_1E2),
2733    OP32 ("ldq",
2734	  OPCODE_INFO2 (0xd0801c23,
2735			(NONE, REGr4_r7, OPRND_SHIFT_0_BIT),
2736			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
2737	  CSKYV2_ISA_2E3),
2738    OP32 ("str.b",
2739	  SOPCODE_INFO2 (0xd4000000,
2740			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2741			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2742					(5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))),
2743	  CSKYV2_ISA_2E3),
2744    OP32 ("str.h",
2745	  SOPCODE_INFO2 (0xd4000400,
2746			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2747			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2748					(5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))),
2749	  CSKYV2_ISA_2E3),
2750    OP32 ("str.w",
2751	  SOPCODE_INFO2 (0xd4000800,
2752			 (0_4, AREG, OPRND_SHIFT_0_BIT),
2753			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2754					(5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))),
2755	  CSKYV2_ISA_2E3),
2756    OP32 ("stm",
2757	  OPCODE_INFO2 (0xd4001c20,
2758			(0_4or21_25, REGLIST_DASH, OPRND_SHIFT_0_BIT),
2759			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
2760	  CSKYV2_ISA_1E2),
2761    OP32 ("stq",
2762	  OPCODE_INFO2 (0xd4801c23,
2763			(NONE, REGr4_r7, OPRND_SHIFT_0_BIT),
2764			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
2765	  CSKYV2_ISA_2E3),
2766    OP32 ("ld.bs",
2767	  SOPCODE_INFO2 (0xd8004000,
2768			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2769			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2770					(0_11, IMM_LDST, OPRND_SHIFT_0_BIT))),
2771	  CSKYV2_ISA_1E2),
2772    OP32 ("ldbs",
2773	  SOPCODE_INFO2 (0xd8004000,
2774			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2775			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2776					(0_11, IMM_LDST, OPRND_SHIFT_0_BIT))),
2777	  CSKYV2_ISA_1E2),
2778    OP32 ("ld.hs",
2779	  SOPCODE_INFO2 (0xd8005000,
2780			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2781			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2782					(0_11, IMM_LDST, OPRND_SHIFT_1_BIT))),
2783	  CSKYV2_ISA_1E2),
2784    OP32 ("ldhs",
2785	  SOPCODE_INFO2 (0xd8005000,
2786			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2787			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2788					(0_11, IMM_LDST, OPRND_SHIFT_1_BIT))),
2789	  CSKYV2_ISA_1E2),
2790    OP32 ("ld.d",
2791	  SOPCODE_INFO2 (0xd8003000,
2792			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2793			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2794					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
2795	  CSKYV2_ISA_3E7),
2796    OP32 ("ldex.w",
2797	  SOPCODE_INFO2 (0xd8007000,
2798			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2799			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2800					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
2801	  CSKY_ISA_MP_1E2),
2802    OP32 ("ldexw",
2803	  SOPCODE_INFO2 (0xd8007000,
2804			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2805			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2806					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
2807	  CSKY_ISA_MP_1E2),
2808    OP32 ("ldex",
2809	  SOPCODE_INFO2 (0xd8007000,
2810			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2811			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2812					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
2813	  CSKY_ISA_MP_1E2),
2814    OP32 ("st.d",
2815	  SOPCODE_INFO2 (0xdc003000,
2816			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2817			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2818					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
2819	  CSKYV2_ISA_3E7),
2820    OP32 ("stex.w",
2821	  SOPCODE_INFO2 (0xdc007000,
2822			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2823			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2824					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
2825	  CSKY_ISA_MP_1E2),
2826    OP32 ("stexw",
2827	  SOPCODE_INFO2 (0xdc007000,
2828			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2829			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2830					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
2831	  CSKY_ISA_MP_1E2),
2832    OP32 ("stex",
2833	  SOPCODE_INFO2 (0xdc007000,
2834			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2835			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
2836					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
2837	  CSKY_ISA_MP_1E2),
2838    DOP32 ("andi",
2839	   OPCODE_INFO3 (0xe4002000,
2840			 (21_25, AREG, OPRND_SHIFT_0_BIT),
2841			 (16_20, AREG, OPRND_SHIFT_0_BIT),
2842			 (0_11, IMM12b, OPRND_SHIFT_0_BIT)),
2843	   OPCODE_INFO2 (0xe4002000,
2844			 (16_20or21_25, DUP_AREG, OPRND_SHIFT_0_BIT),
2845			 (0_11, IMM12b, OPRND_SHIFT_0_BIT)),
2846	   CSKYV2_ISA_1E2),
2847    OP32 ("andni",
2848	  OPCODE_INFO3 (0xe4003000,
2849			(21_25, AREG, OPRND_SHIFT_0_BIT),
2850			(16_20, AREG, OPRND_SHIFT_0_BIT),
2851			(0_11, IMM12b, OPRND_SHIFT_0_BIT)),
2852	  CSKYV2_ISA_1E2),
2853    OP32 ("xori",
2854	  OPCODE_INFO3 (0xe4004000,
2855			(21_25, AREG, OPRND_SHIFT_0_BIT),
2856			(16_20, AREG, OPRND_SHIFT_0_BIT),
2857			(0_11, IMM12b, OPRND_SHIFT_0_BIT)),
2858	  CSKYV2_ISA_1E2),
2859    OP32 ("ins",
2860	  OPCODE_INFO4 (0xc4005c00,
2861			(21_25, AREG, OPRND_SHIFT_0_BIT),
2862			(16_20, AREG, OPRND_SHIFT_0_BIT),
2863			(5_9, MSB2SIZE, OPRND_SHIFT_0_BIT),
2864			(0_4, LSB2SIZE, OPRND_SHIFT_0_BIT)),
2865	  CSKYV2_ISA_2E3),
2866#undef _TRANSFER
2867#undef _RELOC32
2868#define _TRANSFER   1
2869#define _RELOC32  BFD_RELOC_CKCORE_PCREL_IMM16BY4
2870    OP32 ("jmpi",
2871	  OPCODE_INFO1 (0xeac00000,
2872			(0_15, OFF16b, OPRND_SHIFT_2_BIT)),
2873	  CSKYV2_ISA_2E3),
2874#undef _TRANSFER
2875#undef _RELOC32
2876#define _TRANSFER   0
2877#define _RELOC32  0
2878
2879    OP32 ("fadds",
2880	  OPCODE_INFO3 (0xf4000000,
2881			(0_3, FREG, OPRND_SHIFT_0_BIT),
2882			(16_19, FREG, OPRND_SHIFT_0_BIT),
2883			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2884	  CSKY_ISA_FLOAT_E1),
2885    OP32 ("fsubs",
2886	  OPCODE_INFO3 (0xf4000020,
2887			(0_3, FREG, OPRND_SHIFT_0_BIT),
2888			(16_19, FREG, OPRND_SHIFT_0_BIT),
2889			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2890	  CSKY_ISA_FLOAT_E1),
2891    OP32 ("fmovs",
2892	  OPCODE_INFO2 (0xf4000080,
2893			(0_3, FREG, OPRND_SHIFT_0_BIT),
2894			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2895	  CSKY_ISA_FLOAT_E1),
2896    OP32 ("fabss",
2897	  OPCODE_INFO2 (0xf40000c0,
2898			(0_3, FREG, OPRND_SHIFT_0_BIT),
2899			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2900	  CSKY_ISA_FLOAT_E1),
2901    OP32 ("fnegs",
2902	  OPCODE_INFO2 (0xf40000e0,
2903			(0_3, FREG, OPRND_SHIFT_0_BIT),
2904			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2905	  CSKY_ISA_FLOAT_E1),
2906    OP32 ("fcmpzhss",
2907	  OPCODE_INFO1 (0xf4000100,
2908			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2909	  CSKY_ISA_FLOAT_E1),
2910    OP32 ("fcmpzlss",
2911	  OPCODE_INFO1 (0xf4000120,
2912			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2913	  CSKY_ISA_FLOAT_E1),
2914    OP32 ("fcmpznes",
2915	  OPCODE_INFO1 (0xf4000140,
2916			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2917	  CSKY_ISA_FLOAT_E1),
2918    OP32 ("fcmpzuos",
2919	  OPCODE_INFO1 (0xf4000160,
2920			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2921	  CSKY_ISA_FLOAT_E1),
2922    OP32 ("fcmphss",
2923	  OPCODE_INFO2 (0xf4000180,
2924			(16_19, FREG, OPRND_SHIFT_0_BIT),
2925			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2926	  CSKY_ISA_FLOAT_E1),
2927    OP32 ("fcmplts",
2928	  OPCODE_INFO2 (0xf40001a0,
2929			(16_19, FREG, OPRND_SHIFT_0_BIT),
2930			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2931	  CSKY_ISA_FLOAT_E1),
2932    OP32 ("fcmpnes",
2933	  OPCODE_INFO2 (0xf40001c0,
2934			(16_19, FREG, OPRND_SHIFT_0_BIT),
2935			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2936	  CSKY_ISA_FLOAT_E1),
2937    OP32 ("fcmpuos",
2938	  OPCODE_INFO2 (0xf40001e0,
2939			(16_19, FREG, OPRND_SHIFT_0_BIT),
2940			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2941	  CSKY_ISA_FLOAT_E1),
2942    OP32 ("fmuls",
2943	  OPCODE_INFO3 (0xf4000200,
2944			(0_3, FREG, OPRND_SHIFT_0_BIT),
2945			(16_19, FREG, OPRND_SHIFT_0_BIT),
2946			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2947	  CSKY_ISA_FLOAT_E1),
2948    OP32 ("fmacs",
2949	  OPCODE_INFO3 (0xf4000280,
2950			(0_3, FREG, OPRND_SHIFT_0_BIT),
2951			(16_19, FREG, OPRND_SHIFT_0_BIT),
2952			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2953	  CSKY_ISA_FLOAT_E1),
2954    OP32 ("fmscs",
2955	  OPCODE_INFO3 (0xf40002a0,
2956			(0_3, FREG, OPRND_SHIFT_0_BIT),
2957			(16_19, FREG, OPRND_SHIFT_0_BIT),
2958			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2959	  CSKY_ISA_FLOAT_E1),
2960    OP32 ("fnmacs",
2961	  OPCODE_INFO3 (0xf40002c0,
2962			(0_3, FREG, OPRND_SHIFT_0_BIT),
2963			(16_19, FREG, OPRND_SHIFT_0_BIT),
2964			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2965	  CSKY_ISA_FLOAT_E1),
2966    OP32 ("fnmscs",
2967	  OPCODE_INFO3 (0xf40002e0,
2968			(0_3, FREG, OPRND_SHIFT_0_BIT),
2969			(16_19, FREG, OPRND_SHIFT_0_BIT),
2970			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2971	  CSKY_ISA_FLOAT_E1),
2972    OP32 ("fnmuls",
2973	  OPCODE_INFO3 (0xf4000220,
2974			(0_3, FREG, OPRND_SHIFT_0_BIT),
2975			(16_19, FREG, OPRND_SHIFT_0_BIT),
2976			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2977	  CSKY_ISA_FLOAT_E1),
2978    OP32 ("fdivs",
2979	  OPCODE_INFO3 (0xf4000300,
2980			(0_3, FREG, OPRND_SHIFT_0_BIT),
2981			(16_19, FREG, OPRND_SHIFT_0_BIT),
2982			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2983	  CSKY_ISA_FLOAT_E1),
2984    OP32 ("frecips",
2985	  OPCODE_INFO2 (0xf4000320,
2986			(0_3, FREG, OPRND_SHIFT_0_BIT),
2987			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2988	  CSKY_ISA_FLOAT_E1),
2989    OP32 ("fsqrts",
2990	  OPCODE_INFO2 (0xf4000340,
2991			(0_3, FREG, OPRND_SHIFT_0_BIT),
2992			(16_19, FREG, OPRND_SHIFT_0_BIT)),
2993	  CSKY_ISA_FLOAT_E1),
2994    OP32 ("faddd",
2995	  OPCODE_INFO3 (0xf4000800,
2996			(0_3, FREG, OPRND_SHIFT_0_BIT),
2997			(16_19, FREG, OPRND_SHIFT_0_BIT),
2998			(21_24, FREG, OPRND_SHIFT_0_BIT)),
2999	  CSKY_ISA_FLOAT_1E2),
3000    OP32 ("fsubd",
3001	  OPCODE_INFO3 (0xf4000820,
3002			(0_3, FREG, OPRND_SHIFT_0_BIT),
3003			(16_19, FREG, OPRND_SHIFT_0_BIT),
3004			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3005	  CSKY_ISA_FLOAT_1E2),
3006    OP32 ("fmovd",
3007	  OPCODE_INFO2 (0xf4000880,
3008			(0_3, FREG, OPRND_SHIFT_0_BIT),
3009			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3010	  CSKY_ISA_FLOAT_1E2),
3011    OP32 ("fabsd",
3012	  OPCODE_INFO2 (0xf40008c0,
3013			(0_3, FREG, OPRND_SHIFT_0_BIT),
3014			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3015	  CSKY_ISA_FLOAT_1E2),
3016    OP32 ("fnegd",
3017	  OPCODE_INFO2 (0xf40008e0,
3018			(0_3, FREG, OPRND_SHIFT_0_BIT),
3019			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3020	  CSKY_ISA_FLOAT_1E2),
3021    OP32 ("fcmpzhsd",
3022	  OPCODE_INFO1 (0xf4000900,
3023			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3024	  CSKY_ISA_FLOAT_1E2),
3025    OP32 ("fcmpzlsd",
3026	  OPCODE_INFO1 (0xf4000920,
3027			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3028	  CSKY_ISA_FLOAT_1E2),
3029    OP32 ("fcmpzned",
3030	  OPCODE_INFO1 (0xf4000940,
3031			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3032	  CSKY_ISA_FLOAT_1E2),
3033    OP32 ("fcmpzuod",
3034	  OPCODE_INFO1 (0xf4000960,
3035			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3036	  CSKY_ISA_FLOAT_1E2),
3037    OP32 ("fcmphsd",
3038	  OPCODE_INFO2 (0xf4000980,
3039			(16_19, FREG, OPRND_SHIFT_0_BIT),
3040			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3041	  CSKY_ISA_FLOAT_1E2),
3042    OP32 ("fcmpltd",
3043	  OPCODE_INFO2 (0xf40009a0,
3044			(16_19, FREG, OPRND_SHIFT_0_BIT),
3045			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3046	  CSKY_ISA_FLOAT_1E2),
3047    OP32 ("fcmpned",
3048	  OPCODE_INFO2 (0xf40009c0,
3049			(16_19, FREG, OPRND_SHIFT_0_BIT),
3050			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3051	  CSKY_ISA_FLOAT_1E2),
3052    OP32 ("fcmpuod",
3053	  OPCODE_INFO2 (0xf40009e0,
3054			(16_19, FREG, OPRND_SHIFT_0_BIT),
3055			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3056	  CSKY_ISA_FLOAT_1E2),
3057    OP32 ("fmuld",
3058	  OPCODE_INFO3 (0xf4000a00,
3059			(0_3, FREG, OPRND_SHIFT_0_BIT),
3060			(16_19, FREG, OPRND_SHIFT_0_BIT),
3061			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3062	  CSKY_ISA_FLOAT_1E2),
3063    OP32 ("fnmuld",
3064	  OPCODE_INFO3 (0xf4000a20,
3065			(0_3, FREG, OPRND_SHIFT_0_BIT),
3066			(16_19, FREG, OPRND_SHIFT_0_BIT),
3067			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3068	  CSKY_ISA_FLOAT_1E2),
3069    OP32 ("fmacd",
3070	  OPCODE_INFO3 (0xf4000a80,
3071			(0_3, FREG, OPRND_SHIFT_0_BIT),
3072			(16_19, FREG, OPRND_SHIFT_0_BIT),
3073			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3074	  CSKY_ISA_FLOAT_1E2),
3075    OP32 ("fmscd",
3076	  OPCODE_INFO3 (0xf4000aa0,
3077			(0_3, FREG, OPRND_SHIFT_0_BIT),
3078			(16_19, FREG, OPRND_SHIFT_0_BIT),
3079			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3080	  CSKY_ISA_FLOAT_1E2),
3081    OP32 ("fnmacd",
3082	  OPCODE_INFO3 (0xf4000ac0,
3083			(0_3, FREG, OPRND_SHIFT_0_BIT),
3084			(16_19, FREG, OPRND_SHIFT_0_BIT),
3085			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3086	  CSKY_ISA_FLOAT_1E2),
3087    OP32 ("fnmscd",
3088	  OPCODE_INFO3 (0xf4000ae0,
3089			(0_3, FREG, OPRND_SHIFT_0_BIT),
3090			(16_19, FREG, OPRND_SHIFT_0_BIT),
3091			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3092	  CSKY_ISA_FLOAT_1E2),
3093    OP32 ("fdivd",
3094	  OPCODE_INFO3 (0xf4000b00,
3095			(0_3, FREG, OPRND_SHIFT_0_BIT),
3096			(16_19, FREG, OPRND_SHIFT_0_BIT),
3097			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3098	  CSKY_ISA_FLOAT_1E2),
3099    OP32 ("frecipd",
3100	  OPCODE_INFO2 (0xf4000b20,
3101			(0_3, FREG, OPRND_SHIFT_0_BIT),
3102			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3103	  CSKY_ISA_FLOAT_1E2),
3104    OP32 ("fsqrtd",
3105	  OPCODE_INFO2 (0xf4000b40,
3106			(0_3, FREG, OPRND_SHIFT_0_BIT),
3107			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3108	  CSKY_ISA_FLOAT_1E2),
3109    OP32 ("faddm",
3110	  OPCODE_INFO3 (0xf4001000,
3111			(0_3, FREG, OPRND_SHIFT_0_BIT),
3112			(16_19, FREG, OPRND_SHIFT_0_BIT),
3113			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3114	  CSKY_ISA_FLOAT_1E2),
3115    OP32 ("fsubm",
3116	  OPCODE_INFO3 (0xf4001020,
3117			(0_3, FREG, OPRND_SHIFT_0_BIT),
3118			(16_19, FREG, OPRND_SHIFT_0_BIT),
3119			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3120	  CSKY_ISA_FLOAT_1E2),
3121    OP32 ("fmovm",
3122	  OPCODE_INFO2 (0xf4001080,
3123			(0_3, FREG, OPRND_SHIFT_0_BIT),
3124			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3125	  CSKY_ISA_FLOAT_1E2),
3126    OP32 ("fabsm",
3127	  OPCODE_INFO2 (0xf40010c0,
3128			(0_3, FREG, OPRND_SHIFT_0_BIT),
3129			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3130	  CSKY_ISA_FLOAT_1E2),
3131    OP32 ("fnegm",
3132	  OPCODE_INFO2 (0xf40010e0,
3133			(0_3, FREG, OPRND_SHIFT_0_BIT),
3134			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3135	  CSKY_ISA_FLOAT_1E2),
3136    OP32 ("fmulm",
3137	  OPCODE_INFO3 (0xf4001200,
3138			(0_3, FREG, OPRND_SHIFT_0_BIT),
3139			(16_19, FREG, OPRND_SHIFT_0_BIT),
3140			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3141	  CSKY_ISA_FLOAT_1E2),
3142    OP32 ("fnmulm",
3143	  OPCODE_INFO3 (0xf4001220,
3144			(0_3, FREG, OPRND_SHIFT_0_BIT),
3145			(16_19, FREG, OPRND_SHIFT_0_BIT),
3146			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3147	  CSKY_ISA_FLOAT_1E2),
3148    OP32 ("fmacm",
3149	  OPCODE_INFO3 (0xf4001280,
3150			(0_3, FREG, OPRND_SHIFT_0_BIT),
3151			(16_19, FREG, OPRND_SHIFT_0_BIT),
3152			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3153	  CSKY_ISA_FLOAT_1E2),
3154    OP32 ("fmscm",
3155	  OPCODE_INFO3 (0xf40012a0,
3156			(0_3, FREG, OPRND_SHIFT_0_BIT),
3157			(16_19, FREG, OPRND_SHIFT_0_BIT),
3158			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3159	  CSKY_ISA_FLOAT_1E2),
3160    OP32 ("fnmacm",
3161	  OPCODE_INFO3 (0xf40012c0,
3162			(0_3, FREG, OPRND_SHIFT_0_BIT),
3163			(16_19, FREG, OPRND_SHIFT_0_BIT),
3164			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3165	  CSKY_ISA_FLOAT_1E2),
3166    OP32 ("fnmscm",
3167	  OPCODE_INFO3 (0xf40012e0,
3168			(0_3, FREG, OPRND_SHIFT_0_BIT),
3169			(16_19, FREG, OPRND_SHIFT_0_BIT),
3170			(21_24, FREG, OPRND_SHIFT_0_BIT)),
3171	  CSKY_ISA_FLOAT_1E2),
3172    OP32 ("fstosi.rn",
3173	  OPCODE_INFO2 (0xf4001800,
3174			(0_3, FREG, OPRND_SHIFT_0_BIT),
3175			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3176	  CSKY_ISA_FLOAT_E1),
3177    OP32 ("fstosi.rz",
3178	  OPCODE_INFO2 (0xf4001820,
3179			(0_3, FREG, OPRND_SHIFT_0_BIT),
3180			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3181	  CSKY_ISA_FLOAT_E1),
3182    OP32 ("fstosi.rpi",
3183	  OPCODE_INFO2 (0xf4001840,
3184			(0_3, FREG, OPRND_SHIFT_0_BIT),
3185			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3186	  CSKY_ISA_FLOAT_E1),
3187    OP32 ("fstosi.rni",
3188	  OPCODE_INFO2 (0xf4001860,
3189			(0_3, FREG, OPRND_SHIFT_0_BIT),
3190			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3191	  CSKY_ISA_FLOAT_E1),
3192    OP32 ("fstoui.rn",
3193	  OPCODE_INFO2 (0xf4001880,
3194			(0_3, FREG, OPRND_SHIFT_0_BIT),
3195			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3196	  CSKY_ISA_FLOAT_E1),
3197    OP32 ("fstoui.rz",
3198	  OPCODE_INFO2 (0xf40018a0,
3199			(0_3, FREG, OPRND_SHIFT_0_BIT),
3200			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3201	  CSKY_ISA_FLOAT_E1),
3202    OP32 ("fstoui.rpi",
3203	  OPCODE_INFO2 (0xf40018c0,
3204			(0_3, FREG, OPRND_SHIFT_0_BIT),
3205			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3206	  CSKY_ISA_FLOAT_E1),
3207    OP32 ("fstoui.rni",
3208	  OPCODE_INFO2 (0xf40018e0,
3209			(0_3, FREG, OPRND_SHIFT_0_BIT),
3210			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3211	  CSKY_ISA_FLOAT_E1),
3212    OP32 ("fdtosi.rn",
3213	  OPCODE_INFO2 (0xf4001900,
3214			(0_3, FREG, OPRND_SHIFT_0_BIT),
3215			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3216	  CSKY_ISA_FLOAT_1E2),
3217    OP32 ("fdtosi.rz",
3218	  OPCODE_INFO2 (0xf4001920,
3219			(0_3, FREG, OPRND_SHIFT_0_BIT),
3220			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3221	  CSKY_ISA_FLOAT_1E2),
3222    OP32 ("fdtosi.rpi",
3223	  OPCODE_INFO2 (0xf4001940,
3224			(0_3, FREG, OPRND_SHIFT_0_BIT),
3225			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3226	  CSKY_ISA_FLOAT_1E2),
3227    OP32 ("fdtosi.rni",
3228	  OPCODE_INFO2 (0xf4001960,
3229			(0_3, FREG, OPRND_SHIFT_0_BIT),
3230			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3231	  CSKY_ISA_FLOAT_1E2),
3232    OP32 ("fdtoui.rn",
3233	  OPCODE_INFO2 (0xf4001980,
3234			(0_3, FREG, OPRND_SHIFT_0_BIT),
3235			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3236	  CSKY_ISA_FLOAT_1E2),
3237    OP32 ("fdtoui.rz",
3238	  OPCODE_INFO2 (0xf40019a0,
3239			(0_3, FREG, OPRND_SHIFT_0_BIT),
3240			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3241	  CSKY_ISA_FLOAT_1E2),
3242    OP32 ("fdtoui.rpi",
3243	  OPCODE_INFO2 (0xf40019c0,
3244			(0_3, FREG, OPRND_SHIFT_0_BIT),
3245			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3246	  CSKY_ISA_FLOAT_1E2),
3247    OP32 ("fdtoui.rni",
3248	  OPCODE_INFO2 (0xf40019e0,
3249			(0_3, FREG, OPRND_SHIFT_0_BIT),
3250			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3251	  CSKY_ISA_FLOAT_1E2),
3252    OP32 ("fsitos",
3253	  OPCODE_INFO2 (0xf4001a00,
3254			(0_3, FREG, OPRND_SHIFT_0_BIT),
3255			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3256	  CSKY_ISA_FLOAT_E1),
3257    OP32 ("fuitos",
3258	  OPCODE_INFO2 (0xf4001a20,
3259			(0_3, FREG, OPRND_SHIFT_0_BIT),
3260			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3261	  CSKY_ISA_FLOAT_E1),
3262    OP32 ("fsitod",
3263	  OPCODE_INFO2 (0xf4001a80,
3264			(0_3, FREG, OPRND_SHIFT_0_BIT),
3265			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3266	  CSKY_ISA_FLOAT_1E2),
3267    OP32 ("fuitod",
3268	  OPCODE_INFO2 (0xf4001aa0,
3269			(0_3, FREG, OPRND_SHIFT_0_BIT),
3270			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3271	  CSKY_ISA_FLOAT_1E2),
3272    OP32 ("fdtos",
3273	  OPCODE_INFO2 (0xf4001ac0,
3274			(0_3, FREG, OPRND_SHIFT_0_BIT),
3275			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3276	  CSKY_ISA_FLOAT_1E2),
3277    OP32 ("fstod",
3278	  OPCODE_INFO2 (0xf4001ae0,
3279			(0_3, FREG, OPRND_SHIFT_0_BIT),
3280			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3281	  CSKY_ISA_FLOAT_1E2),
3282    OP32 ("fmfvrh",
3283	  OPCODE_INFO2 (0xf4001b00,
3284			(0_4, AREG, OPRND_SHIFT_0_BIT),
3285			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3286	  CSKY_ISA_FLOAT_1E2),
3287    OP32 ("fmfvrl",
3288	  OPCODE_INFO2 (0xf4001b20,
3289			(0_4, AREG, OPRND_SHIFT_0_BIT),
3290			(16_19, FREG, OPRND_SHIFT_0_BIT)),
3291	  CSKY_ISA_FLOAT_E1),
3292    OP32 ("fmtvrh",
3293	  OPCODE_INFO2 (0xf4001b40,
3294			(0_3, FREG, OPRND_SHIFT_0_BIT),
3295			(16_20, AREG, OPRND_SHIFT_0_BIT)),
3296	  CSKY_ISA_FLOAT_1E2),
3297    OP32 ("fmtvrl",
3298	  OPCODE_INFO2 (0xf4001b60,
3299			(0_3, FREG, OPRND_SHIFT_0_BIT),
3300			(16_20, AREG, OPRND_SHIFT_0_BIT)),
3301	  CSKY_ISA_FLOAT_E1),
3302    OP32 ("flds",
3303	  SOPCODE_INFO2 (0xf4002000,
3304			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3305			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3306					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_2_BIT))),
3307	  CSKY_ISA_FLOAT_E1),
3308    OP32 ("fldd",
3309	  SOPCODE_INFO2 (0xf4002100,
3310			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3311			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3312					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_2_BIT))),
3313	  CSKY_ISA_FLOAT_1E2),
3314    OP32 ("fldm",
3315	  SOPCODE_INFO2 (0xf4002200,
3316			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3317			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3318					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))),
3319	  CSKY_ISA_FLOAT_1E2),
3320    OP32 ("fsts",
3321	  SOPCODE_INFO2 (0xf4002400,
3322			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3323			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3324					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_2_BIT))),
3325	  CSKY_ISA_FLOAT_E1),
3326    OP32 ("fstd",
3327	  SOPCODE_INFO2 (0xf4002500,
3328			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3329			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3330					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_2_BIT))),
3331	  CSKY_ISA_FLOAT_1E2),
3332    OP32 ("fstm",
3333	  SOPCODE_INFO2 (0xf4002600,
3334			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3335			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3336					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))),
3337	  CSKY_ISA_FLOAT_1E2),
3338    OP32 ("fldrs",
3339	  SOPCODE_INFO2 (0xf4002800,
3340			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3341			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3342					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
3343	  CSKY_ISA_FLOAT_E1),
3344    OP32 ("fstrs",
3345	  SOPCODE_INFO2 (0xf4002c00,
3346			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3347			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3348					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
3349	  CSKY_ISA_FLOAT_E1),
3350    OP32 ("fldrd",
3351	  SOPCODE_INFO2 (0xf4002900,
3352			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3353			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3354					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
3355	  CSKY_ISA_FLOAT_1E2),
3356    OP32 ("fldrm",
3357	  SOPCODE_INFO2 (0xf4002a00,
3358			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3359			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3360					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
3361	  CSKY_ISA_FLOAT_1E2),
3362    OP32 ("fstrd",
3363	  SOPCODE_INFO2 (0xf4002d00,
3364			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3365			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3366					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
3367	  CSKY_ISA_FLOAT_1E2),
3368    OP32 ("fstrm",
3369	  SOPCODE_INFO2 (0xf4002e00,
3370			 (0_3, FREG, OPRND_SHIFT_0_BIT),
3371			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3372					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
3373	  CSKY_ISA_FLOAT_1E2),
3374    OP32 ("fldms",
3375	  OPCODE_INFO2 (0xf4003000,
3376			(0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT),
3377			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
3378	  CSKY_ISA_FLOAT_E1),
3379    OP32 ("fldmd",
3380	  OPCODE_INFO2 (0xf4003100,
3381			(0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT),
3382			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
3383	  CSKY_ISA_FLOAT_1E2),
3384    OP32 ("fldmm",
3385	  OPCODE_INFO2 (0xf4003200,
3386			(0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT),
3387			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
3388	  CSKY_ISA_FLOAT_1E2),
3389    OP32 ("fstms",
3390	  OPCODE_INFO2 (0xf4003400,
3391			(0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT),
3392			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
3393	  CSKY_ISA_FLOAT_E1),
3394    OP32 ("fstmd",
3395	  OPCODE_INFO2 (0xf4003500,
3396			(0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT),
3397			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
3398	  CSKY_ISA_FLOAT_1E2),
3399    OP32 ("fstmm",
3400	  OPCODE_INFO2 (0xf4003600,
3401			(0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT),
3402			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
3403	  CSKY_ISA_FLOAT_1E2),
3404    DOP32 ("sync",
3405	   OPCODE_INFO1 (0xc0000420,
3406			 (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3407	   OPCODE_INFO0 (0xc0000420),
3408	   CSKYV2_ISA_E1),
3409    DOP32 ("idly",
3410	   OPCODE_INFO1 (0xc0001c20,
3411			 (21_25, OIMM5b_IDLY, OPRND_SHIFT_0_BIT)),
3412	   OPCODE_INFO0 (0xc0601c20),
3413	   CSKYV2_ISA_E1),
3414
3415#undef _RELOC32
3416#define _RELOC32 BFD_RELOC_CKCORE_PCREL_IMM18BY2
3417    OP32 ("grs",
3418	  OPCODE_INFO2 (0xcc0c0000,
3419			(21_25, AREG, OPRND_SHIFT_0_BIT),
3420			(0_17, IMM_OFF18b, OPRND_SHIFT_1_BIT)),
3421	  CSKYV2_ISA_2E3),
3422#undef _RELOC32
3423#define _RELOC32 0
3424    DOP32 ("ixh",
3425	   OPCODE_INFO3 (0xc4000820,
3426			 (0_4, AREG, OPRND_SHIFT_0_BIT),
3427			 (16_20, AREG, OPRND_SHIFT_0_BIT),
3428			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
3429	   OPCODE_INFO2 (0xc4000820,
3430			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3431			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
3432	   CSKYV2_ISA_1E2),
3433    DOP32 ("ixw",
3434	   OPCODE_INFO3 (0xc4000840,
3435			 (0_4, AREG, OPRND_SHIFT_0_BIT),
3436			 (16_20, AREG, OPRND_SHIFT_0_BIT),
3437			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
3438	   OPCODE_INFO2 (0xc4000840,
3439			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3440			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
3441	   CSKYV2_ISA_1E2),
3442    OP32 ("ixd",
3443	  OPCODE_INFO3 (0xc4000880,
3444			(0_4, AREG, OPRND_SHIFT_0_BIT),
3445			(16_20, AREG, OPRND_SHIFT_0_BIT),
3446			(21_25, AREG, OPRND_SHIFT_0_BIT)),
3447	  CSKYV2_ISA_2E3),
3448    DOP32 ("divu",
3449	   OPCODE_INFO3 (0xc4008020,
3450			 (0_4, AREG, OPRND_SHIFT_0_BIT),
3451			 (16_20, AREG, OPRND_SHIFT_0_BIT),
3452			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
3453	   OPCODE_INFO2 (0xc4008020,
3454			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3455			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
3456	   CSKYV2_ISA_2E3),
3457    DOP32 ("divs",
3458	   OPCODE_INFO3 (0xc4008040,
3459			 (0_4, AREG, OPRND_SHIFT_0_BIT),
3460			 (16_20, AREG, OPRND_SHIFT_0_BIT),
3461			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
3462	   OPCODE_INFO2 (0xc4008040,
3463			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3464			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
3465	   CSKYV2_ISA_2E3),
3466    OP32 ("pldr",
3467	  SOPCODE_INFO1 (0xd8006000,
3468			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3469					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
3470	  CSKY_ISA_CACHE),
3471    OP32 ("pldw",
3472	  SOPCODE_INFO1 (0xdc006000,
3473			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
3474					(0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
3475	  CSKY_ISA_CACHE),
3476    OP32 ("cprgr",
3477	  SOPCODE_INFO2 (0xfc000000,
3478			 (16_20, AREG, OPRND_SHIFT_0_BIT),
3479			 ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT),
3480					 (0_11 , IMM12b, OPRND_SHIFT_0_BIT))),
3481	  CSKYV2_ISA_E1),
3482    OP32 ("cpwgr",
3483	  SOPCODE_INFO2 (0xfc001000,
3484			 (16_20, AREG, OPRND_SHIFT_0_BIT),
3485			 ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT),
3486					 (0_11 , IMM12b, OPRND_SHIFT_0_BIT))),
3487	  CSKYV2_ISA_E1),
3488    OP32 ("cprcr",
3489	  SOPCODE_INFO2 (0xfc002000,
3490			 (16_20, AREG, OPRND_SHIFT_0_BIT),
3491			 ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT),
3492					 (0_11 , IMM12b, OPRND_SHIFT_0_BIT))),
3493	  CSKYV2_ISA_E1),
3494    OP32 ("cpwcr",
3495	  SOPCODE_INFO2 (0xfc003000,
3496			 (16_20, AREG, OPRND_SHIFT_0_BIT),
3497			 ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT),
3498					 (0_11 , IMM12b, OPRND_SHIFT_0_BIT))),
3499	  CSKYV2_ISA_E1),
3500    OP32 ("cprc",
3501	  SOPCODE_INFO1 (0xfc004000,
3502			 ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT),
3503					 (0_11, IMM12b, OPRND_SHIFT_0_BIT))),
3504	  CSKYV2_ISA_E1),
3505    OP32 ("cpop",
3506	  SOPCODE_INFO1 (0xfc008000,
3507			 ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT),
3508					 (0_14or16_20 , IMM15b, OPRND_SHIFT_0_BIT))),
3509	  CSKYV2_ISA_E1),
3510
3511    OP16_OP32 ("push",
3512	       OPCODE_INFO_LIST (0x14c0,
3513				 (0_4, REGLIST_DASH_COMMA, OPRND_SHIFT_0_BIT)),
3514	       CSKYV2_ISA_E1,
3515	       OPCODE_INFO_LIST (0xebe00000,
3516				 (0_8, REGLIST_DASH_COMMA, OPRND_SHIFT_0_BIT)),
3517	       CSKYV2_ISA_2E3),
3518#undef _TRANSFER
3519#define _TRANSFER   2
3520    OP16_OP32 ("pop",
3521	       OPCODE_INFO_LIST (0x1480,
3522				 (0_4, REGLIST_DASH_COMMA, OPRND_SHIFT_0_BIT)),
3523	       CSKYV2_ISA_E1,
3524	       OPCODE_INFO_LIST (0xebc00000,
3525				 (0_8, REGLIST_DASH_COMMA, OPRND_SHIFT_0_BIT)),
3526	       CSKYV2_ISA_2E3),
3527#undef _TRANSFER
3528#define _TRANSFER   0
3529    OP16_OP32 ("movi",
3530	       OPCODE_INFO2 (0x3000,
3531			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3532			     (0_7, IMM8b, OPRND_SHIFT_0_BIT)),
3533	       CSKYV2_ISA_E1,
3534	       OPCODE_INFO2 (0xea000000,
3535			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3536			     (0_15, IMM16b, OPRND_SHIFT_0_BIT)),
3537	       CSKYV2_ISA_1E2),
3538    /* bmaski will transfer to movi when imm < 17.  */
3539    OP16_OP32 ("bmaski",
3540	       OPCODE_INFO2 (0x3000,
3541			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3542			     (0_7, IMM8b_BMASKI, OPRND_SHIFT_0_BIT)),
3543	       CSKYV2_ISA_1E2,
3544	       OPCODE_INFO2 (0xc4005020,
3545			     (0_4, AREG, OPRND_SHIFT_0_BIT),
3546			     (21_25, OIMM5b_BMASKI, OPRND_SHIFT_0_BIT)),
3547	       CSKYV2_ISA_1E2),
3548    OP16_OP32 ("cmphsi",
3549	       OPCODE_INFO2 (0x3800,
3550			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3551			     (0_4, OIMM5b, OPRND_SHIFT_0_BIT)),
3552	       CSKYV2_ISA_E1,
3553	       OPCODE_INFO2 (0xeb000000,
3554			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3555			     (0_15, OIMM16b, OPRND_SHIFT_0_BIT)),
3556	       CSKYV2_ISA_1E2),
3557    OP16_OP32 ("cmplti",
3558	       OPCODE_INFO2 (0x3820,
3559			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3560			     (0_4, OIMM5b, OPRND_SHIFT_0_BIT)),
3561	       CSKYV2_ISA_E1,
3562	       OPCODE_INFO2 (0xeb200000,
3563			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3564			     (0_15, OIMM16b, OPRND_SHIFT_0_BIT)),
3565	       CSKYV2_ISA_1E2),
3566    OP16_OP32 ("cmpnei",
3567	       OPCODE_INFO2 (0x3840,
3568			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3569			     (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3570	       CSKYV2_ISA_E1,
3571	       OPCODE_INFO2 (0xeb400000,
3572			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3573			     (0_15, IMM16b, OPRND_SHIFT_0_BIT)),
3574	       CSKYV2_ISA_1E2),
3575#undef _TRANSFER
3576#define _TRANSFER   1
3577    OP16_OP32 ("jmpix",
3578	       OPCODE_INFO2 (0x38e0,
3579			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3580			     (0_1, IMM2b_JMPIX, OPRND_SHIFT_0_BIT)),
3581	       CSKY_ISA_JAVA,
3582	       OPCODE_INFO2 (0xe9e00000,
3583			     (16_20, GREG0_7, OPRND_SHIFT_0_BIT),
3584			     (0_1, IMM2b_JMPIX, OPRND_SHIFT_0_BIT)),
3585	       CSKY_ISA_JAVA),
3586#undef _TRANSFER
3587#define _TRANSFER   0
3588    DOP16_DOP32 ("bclri",
3589		 OPCODE_INFO3 (0x3880,
3590			       (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3591			       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
3592			       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3593		 OPCODE_INFO2 (0x3880,
3594			       (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3595			       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3596		 CSKYV2_ISA_E1,
3597		 OPCODE_INFO3 (0xc4002820,
3598			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3599			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3600			       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3601		 OPCODE_INFO2 (0xc4002820,
3602			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3603			       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3604		 CSKYV2_ISA_1E2),
3605    DOP16_DOP32 ("bseti",
3606		 OPCODE_INFO3 (0x38a0,
3607			       (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3608			       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
3609			       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3610		 OPCODE_INFO2 (0x38a0,
3611			       (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3612			       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3613		 CSKYV2_ISA_E1,
3614		 OPCODE_INFO3 (0xc4002840,
3615			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3616			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3617			       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3618		 OPCODE_INFO2 (0xc4002840,
3619			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3620			       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3621		 CSKYV2_ISA_1E2),
3622    OP16_OP32_WITH_WORK ("btsti",
3623			 OPCODE_INFO2 (0x38c0,
3624				       (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3625				       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3626			 CSKYV2_ISA_E1,
3627			 OPCODE_INFO2 (0xc4002880,
3628				       (16_20, AREG, OPRND_SHIFT_0_BIT),
3629				       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3630			 CSKYV2_ISA_1E2, v2_work_btsti),
3631    DOP16_DOP32 ("lsli",
3632		 OPCODE_INFO3 (0x4000,
3633			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
3634			       (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3635			       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3636		 OPCODE_INFO2 (0x4000,
3637			       (5_7or8_10, DUP_GREG0_7, OPRND_SHIFT_0_BIT),
3638			       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3639		 CSKYV2_ISA_E1,
3640		 OPCODE_INFO3 (0xc4004820,
3641			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3642			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3643			       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3644		 OPCODE_INFO2 (0xc4004820,
3645			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3646			       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3647		 CSKYV2_ISA_1E2),
3648    DOP16_DOP32 ("lsri",
3649		 OPCODE_INFO3 (0x4800,
3650			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
3651			       (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3652			       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3653		 OPCODE_INFO2 (0x4800,
3654			       (5_7or8_10, DUP_GREG0_7, OPRND_SHIFT_0_BIT),
3655			       (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3656		 CSKYV2_ISA_E1,
3657		 OPCODE_INFO3 (0xc4004840,
3658			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3659			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3660			       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3661		 OPCODE_INFO2 (0xc4004840,
3662			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3663			       (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3664		 CSKYV2_ISA_1E2),
3665    OP16_OP32 ("asri",
3666	       OPCODE_INFO3 (0x5000,
3667			     (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
3668			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
3669			     (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
3670	       CSKYV2_ISA_E1,
3671	       OPCODE_INFO3 (0xc4004880,
3672			     (0_4, AREG, OPRND_SHIFT_0_BIT),
3673			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3674			     (21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3675	       CSKYV2_ISA_1E2),
3676    DOP16_DOP32 ("addc",
3677		 OPCODE_INFO2 (0x6001,
3678			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3679			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3680		 OPCODE_INFO3 (0x6001,
3681			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3682			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT),
3683			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)),
3684		 CSKYV2_ISA_E1,
3685		 OPCODE_INFO3 (0xc4000040,
3686			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3687			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3688			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3689		 OPCODE_INFO2 (0xc4000040,
3690			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3691			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3692		 CSKYV2_ISA_1E2),
3693    DOP16_DOP32 ("subc",
3694		 OPCODE_INFO2 (0x6003,
3695			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3696			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3697		 OPCODE_INFO3 (0x6003,
3698			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3699			       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
3700			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3701		 CSKYV2_ISA_E1,
3702		 OPCODE_INFO3 (0xc4000100,
3703			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3704			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3705			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3706		 OPCODE_INFO2 (0xc4000100,
3707			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3708			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3709		 CSKYV2_ISA_1E2),
3710    OP16_OP32 ("cmphs",
3711	       OPCODE_INFO2 (0x6400,
3712			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT),
3713			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT)),
3714	       CSKYV2_ISA_E1,
3715	       OPCODE_INFO2 (0xc4000420,
3716			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3717			     (21_25, AREG, OPRND_SHIFT_0_BIT)),
3718	       CSKYV2_ISA_2E3),
3719    OP16_OP32 ("cmplt",
3720	       OPCODE_INFO2 (0x6401,
3721			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT),
3722			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT)),
3723	       CSKYV2_ISA_E1,
3724	       OPCODE_INFO2 (0xc4000440,
3725			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3726			     (21_25, AREG, OPRND_SHIFT_0_BIT)),
3727	       CSKYV2_ISA_2E3),
3728    OP16_OP32 ("cmpne",
3729	       OPCODE_INFO2 (0x6402,
3730			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT),
3731			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT)),
3732	       CSKYV2_ISA_E1,
3733	       OPCODE_INFO2 (0xc4000480,
3734			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3735			     (21_25, AREG, OPRND_SHIFT_0_BIT)),
3736	       CSKYV2_ISA_2E3),
3737    OP16_OP32 ("mvcv",
3738	       OPCODE_INFO1 (0x6403,
3739			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT)),
3740	       CSKYV2_ISA_E1,
3741	       OPCODE_INFO1 (0xc4000600,
3742			     (0_4, AREG, OPRND_SHIFT_0_BIT)),
3743	       CSKYV2_ISA_2E3),
3744    DOP16_DOP32 ("and",
3745		 OPCODE_INFO2 (0x6800,
3746			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3747			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3748		 OPCODE_INFO3 (0x6800,
3749			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3750			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT),
3751			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)),
3752		 CSKYV2_ISA_E1,
3753		 OPCODE_INFO3 (0xc4002020,
3754			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3755			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3756			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3757		 OPCODE_INFO2 (0xc4002020,
3758			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3759			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3760		 CSKYV2_ISA_1E2),
3761    DOP16_DOP32 ("andn",
3762		 OPCODE_INFO2 (0x6801,
3763			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3764			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3765		 OPCODE_INFO3 (0x6801,
3766			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3767			       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
3768			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3769		 CSKYV2_ISA_E1,
3770		 OPCODE_INFO3 (0xc4002040,
3771			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3772			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3773			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3774		 OPCODE_INFO2 (0xc4002040,
3775			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3776			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3777		 CSKYV2_ISA_1E2),
3778    OP16_OP32 ("tst",
3779	       OPCODE_INFO2 (0x6802,
3780			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT),
3781			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT)),
3782	       CSKYV2_ISA_E1,
3783	       OPCODE_INFO2 (0xc4002080,
3784			     (16_20, AREG, OPRND_SHIFT_0_BIT),
3785			     (21_25, AREG, OPRND_SHIFT_0_BIT)),
3786	       CSKYV2_ISA_2E3),
3787    OP16_OP32 ("tstnbz",
3788	       OPCODE_INFO1 (0x6803,
3789			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3790	       CSKYV2_ISA_E1,
3791	       OPCODE_INFO1 (0xc4002100,
3792			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
3793	       CSKYV2_ISA_2E3),
3794    DOP16_DOP32 ("or",
3795		 OPCODE_INFO2 (0x6c00,
3796			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3797			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3798		 OPCODE_INFO3 (0x6c00,
3799			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3800			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT),
3801			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)),
3802		 CSKYV2_ISA_E1,
3803		 OPCODE_INFO3 (0xc4002420,
3804			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3805			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3806			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3807		 OPCODE_INFO2 (0xc4002420,
3808			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3809			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3810		 CSKYV2_ISA_1E2),
3811    DOP16_DOP32 ("xor",
3812		 OPCODE_INFO2 (0x6c01,
3813			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3814			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3815		 OPCODE_INFO3 (0x6c01,
3816			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3817			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT),
3818			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)),
3819		 CSKYV2_ISA_E1,
3820		 OPCODE_INFO3 (0xc4002440,
3821			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3822			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3823			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3824		 OPCODE_INFO2 (0xc4002440,
3825			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3826			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3827		 CSKYV2_ISA_1E2),
3828    DOP16_DOP32 ("nor",
3829		 OPCODE_INFO2 (0x6c02,
3830			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3831			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3832		 OPCODE_INFO3 (0x6c02,
3833			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3834			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT),
3835			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)),
3836		 CSKYV2_ISA_E1,
3837		 OPCODE_INFO3 (0xc4002480,
3838			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3839			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3840			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3841		 OPCODE_INFO2 (0xc4002480,
3842			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3843			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3844		 CSKYV2_ISA_1E2),
3845    OP16_OP32 ("mov",
3846	       OPCODE_INFO2 (0x6c03,
3847			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3848			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3849	       CSKYV2_ISA_E1,
3850	       OPCODE_INFO2 (0xc4004820,
3851			     (0_4, AREG, OPRND_SHIFT_0_BIT),
3852			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
3853	       CSKYV2_ISA_1E2),
3854    OP16_OP32 ("nop",
3855	       OPCODE_INFO0 (0x6c03),
3856	       CSKYV2_ISA_E1,
3857	       OPCODE_INFO0 (0xc4004820),
3858	       CSKYV2_ISA_E1),
3859    DOP16_DOP32 ("lsl",
3860		 OPCODE_INFO2 (0x7000,
3861			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3862			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3863		 OPCODE_INFO3 (0x7000,
3864			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3865			       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
3866			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3867		 CSKYV2_ISA_E1,
3868		 OPCODE_INFO3 (0xc4004020,
3869			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3870			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3871			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3872		 OPCODE_INFO2 (0xc4004020,
3873			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3874			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3875		 CSKYV2_ISA_1E2),
3876    DOP16_DOP32 ("lsr",
3877		 OPCODE_INFO2 (0x7001,
3878			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3879			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3880		 OPCODE_INFO3 (0x7001,
3881			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3882			       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
3883			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3884		 CSKYV2_ISA_E1,
3885		 OPCODE_INFO3 (0xc4004040,
3886			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3887			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3888			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3889		 OPCODE_INFO2 (0xc4004040,
3890			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3891			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3892		 CSKYV2_ISA_1E2),
3893    DOP16_DOP32 ("asr",
3894		 OPCODE_INFO2 (0x7002,
3895			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3896			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3897		 OPCODE_INFO3 (0x7002,
3898			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3899			       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
3900			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3901		 CSKYV2_ISA_E1,
3902		 OPCODE_INFO3 (0xc4004080,
3903			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3904			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3905			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3906		 OPCODE_INFO2 (0xc4004080,
3907			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3908			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3909		 CSKYV2_ISA_1E2),
3910    DOP16_DOP32 ("rotl",
3911		 OPCODE_INFO2 (0x7003,
3912			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3913			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3914		 OPCODE_INFO3 (0x7003,
3915			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3916			       (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT),
3917			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3918		 CSKYV2_ISA_E1,
3919		 OPCODE_INFO3 (0xc4004100,
3920			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3921			       (16_20, AREG, OPRND_SHIFT_0_BIT),
3922			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3923		 OPCODE_INFO2 (0xc4004100,
3924			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
3925			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
3926		 CSKYV2_ISA_1E2),
3927    DOP16_DOP32 ("zextb",
3928		 OPCODE_INFO2 (0x7400,
3929			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3930			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3931		 OPCODE_INFO1 (0x7400,
3932			       (2_5or6_9, DUP_GREG0_15, OPRND_SHIFT_0_BIT)),
3933		 CSKYV2_ISA_E1,
3934		 OPCODE_INFO2 (0xc40054e0,
3935			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3936			       (16_20, AREG, OPRND_SHIFT_0_BIT)),
3937		 OPCODE_INFO1 (0xc40054e0,
3938			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
3939		 CSKYV2_ISA_2E3),
3940    DOP16_DOP32 ("zexth",
3941		 OPCODE_INFO2 (0x7401,
3942			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3943			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3944		 OPCODE_INFO1 (0x7401,
3945			       (2_5or6_9, DUP_GREG0_15, OPRND_SHIFT_0_BIT)),
3946		 CSKYV2_ISA_E1,
3947		 OPCODE_INFO2 (0xc40055e0,
3948			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3949			       (16_20, AREG, OPRND_SHIFT_0_BIT)),
3950		 OPCODE_INFO1 (0xc40055e0,
3951			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
3952		 CSKYV2_ISA_2E3),
3953    DOP16_DOP32 ("sextb",
3954		 OPCODE_INFO2 (0x7402,
3955			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3956			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3957		 OPCODE_INFO1 (0x7402,
3958			       (2_5or6_9, DUP_GREG0_15, OPRND_SHIFT_0_BIT)),
3959		 CSKYV2_ISA_E1,
3960		 OPCODE_INFO2 (0xc40058e0,
3961			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3962			       (16_20, AREG, OPRND_SHIFT_0_BIT)),
3963		 OPCODE_INFO1 (0xc40058e0,
3964			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
3965		 CSKYV2_ISA_2E3),
3966    DOP16_DOP32 ("sexth",
3967		 OPCODE_INFO2 (0x7403,
3968			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
3969			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
3970		 OPCODE_INFO1 (0x7403,
3971			       (2_5or6_9, DUP_GREG0_15, OPRND_SHIFT_0_BIT)),
3972		 CSKYV2_ISA_E1,
3973		 OPCODE_INFO2 (0xc40059e0,
3974			       (0_4, AREG, OPRND_SHIFT_0_BIT),
3975			       (16_20, AREG, OPRND_SHIFT_0_BIT)),
3976		 OPCODE_INFO1 (0xc40059e0,
3977			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
3978		 CSKYV2_ISA_2E3),
3979    OP32 ("zext",
3980	  OPCODE_INFO4 (0xc4005400,
3981			(0_4, AREG, OPRND_SHIFT_0_BIT),
3982			(16_20, AREG, OPRND_SHIFT_0_BIT),
3983			(5_9, IMM5b, OPRND_SHIFT_0_BIT),
3984			(21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3985	  CSKYV2_ISA_2E3),
3986    OP32 ("sext",
3987	  OPCODE_INFO4 (0xc4005800,
3988			(0_4, AREG, OPRND_SHIFT_0_BIT),
3989			(16_20, AREG, OPRND_SHIFT_0_BIT),
3990			(5_9, IMM5b, OPRND_SHIFT_0_BIT),
3991			(21_25, IMM5b, OPRND_SHIFT_0_BIT)),
3992	  CSKYV2_ISA_2E3),
3993#undef _TRANSFER
3994#define _TRANSFER   2
3995    OP16_OP32 ("rts",
3996	       OPCODE_INFO0 (0x783c),
3997	       CSKYV2_ISA_E1,
3998	       OPCODE_INFO0 (0xe8cf0000),
3999	       CSKYV2_ISA_E1),
4000#undef _TRANSFER
4001#define _TRANSFER   1
4002    OP16_OP32 ("jmp",
4003	       OPCODE_INFO1 (0x7800,
4004			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4005	       CSKYV2_ISA_E1,
4006	       OPCODE_INFO1 (0xe8c00000,
4007			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
4008	       CSKYV2_ISA_2E3),
4009#undef _TRANSFER
4010#define _TRANSFER   0
4011    OP16_OP32 ("revb",
4012	       OPCODE_INFO2 (0x7802,
4013			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4014			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4015	       CSKYV2_ISA_1E2,
4016	       OPCODE_INFO2 (0xc4006080,
4017			     (0_4, AREG, OPRND_SHIFT_0_BIT),
4018			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
4019	       CSKYV2_ISA_2E3),
4020    OP16_OP32 ("revh",
4021	       OPCODE_INFO2 (0x7803,
4022			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4023			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4024	       CSKYV2_ISA_1E2,
4025	       OPCODE_INFO2 (0xc4006100,
4026			     (0_4, AREG, OPRND_SHIFT_0_BIT),
4027			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
4028	       CSKYV2_ISA_2E3),
4029    OP16_OP32 ("jsr",
4030	       OPCODE_INFO1 (0x7bc1,
4031			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4032	       CSKYV2_ISA_E1,
4033	       OPCODE_INFO1 (0xe8e00000,
4034			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
4035	       CSKYV2_ISA_2E3),
4036    DOP16_DOP32 ("mult",
4037		 OPCODE_INFO2 (0x7c00,
4038			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4039			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4040		 OPCODE_INFO3 (0x7c00,
4041			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4042			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT),
4043			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)),
4044		 CSKYV2_ISA_E1,
4045		 OPCODE_INFO3 (0xc4008420,
4046			       (0_4, AREG, OPRND_SHIFT_0_BIT),
4047			       (16_20, AREG, OPRND_SHIFT_0_BIT),
4048			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
4049		 OPCODE_INFO2 (0xc4008420,
4050			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
4051			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
4052		 CSKYV2_ISA_1E2),
4053    OP16 ("mul",
4054	  OPCODE_INFO2 (0x7c00,
4055			(6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4056			(2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4057	  CSKYV2_ISA_E1),
4058    DOP16_DOP32 ("mulsh",
4059		 OPCODE_INFO2 (0x7c01,
4060			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4061			       (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4062		 OPCODE_INFO3 (0x7c01,
4063			       (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4064			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT),
4065			       (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)),
4066		 CSKYV2_ISA_2E3,
4067		 OPCODE_INFO3 (0xc4009020,
4068			       (0_4, AREG, OPRND_SHIFT_0_BIT),
4069			       (16_20, AREG, OPRND_SHIFT_0_BIT),
4070			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
4071		 OPCODE_INFO2 (0xc4009020,
4072			       (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
4073			       (21_25, AREG, OPRND_SHIFT_0_BIT)),
4074		 CSKYV2_ISA_2E3),
4075    OP16 ("muls.h",
4076	  OPCODE_INFO2 (0x7c01,
4077			(6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4078			(2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4079	  CSKYV2_ISA_2E3),
4080    DOP32 ("mulsw",
4081	   OPCODE_INFO3 (0xc4009420,
4082			 (0_4, AREG, OPRND_SHIFT_0_BIT),
4083			 (16_20, AREG, OPRND_SHIFT_0_BIT),
4084			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4085	   OPCODE_INFO2 (0xc4009420,
4086			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
4087			 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4088	   CSKY_ISA_DSP),
4089    OP16_OP32 ("ld.b",
4090	       SOPCODE_INFO2 (0x8000,
4091			      (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4092			      BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4093					     (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))),
4094	       CSKYV2_ISA_E1,
4095	       SOPCODE_INFO2 (0xd8000000,
4096			      (21_25, AREG, OPRND_SHIFT_0_BIT),
4097			      BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4098					     (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))),
4099	       CSKYV2_ISA_E1),
4100    OP16_OP32 ("ldb",
4101	       SOPCODE_INFO2 (0x8000,
4102			      (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4103			      BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4104					     (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))),
4105	       CSKYV2_ISA_E1,
4106	       SOPCODE_INFO2 (0xd8000000,
4107			      (21_25, AREG, OPRND_SHIFT_0_BIT),
4108			      BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4109					     (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))),
4110	       CSKYV2_ISA_E1),
4111    OP16_OP32 ("st.b",
4112	       SOPCODE_INFO2 (0xa000,
4113			      (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4114			      BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4115					     (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))),
4116	       CSKYV2_ISA_E1,
4117	       SOPCODE_INFO2 (0xdc000000,
4118			      (21_25, AREG, OPRND_SHIFT_0_BIT),
4119			      BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4120					     (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))),
4121	       CSKYV2_ISA_E1),
4122    OP16_OP32 ("stb",
4123	       SOPCODE_INFO2 (0xa000,
4124			      (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4125			      BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4126					     (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))),
4127	       CSKYV2_ISA_E1,
4128	       SOPCODE_INFO2 (0xdc000000,
4129			      (21_25, AREG, OPRND_SHIFT_0_BIT),
4130			      BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4131					     (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))),
4132	       CSKYV2_ISA_E1),
4133
4134    OP16_OP32 ("ld.h",
4135	       SOPCODE_INFO2 (0x8800,
4136			      (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4137			      BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4138					     (0_4, IMM_LDST, OPRND_SHIFT_1_BIT))),
4139	       CSKYV2_ISA_E1,
4140	       SOPCODE_INFO2 (0xd8001000,
4141			      (21_25, AREG, OPRND_SHIFT_0_BIT),
4142			      BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4143					     (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))),
4144	       CSKYV2_ISA_E1),
4145    OP16_OP32 ("ldh",
4146	       SOPCODE_INFO2 (0x8800,
4147			      (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4148			      BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4149					     (0_4, IMM_LDST, OPRND_SHIFT_1_BIT))),
4150	       CSKYV2_ISA_E1,
4151	       SOPCODE_INFO2 (0xd8001000,
4152			      (21_25, AREG, OPRND_SHIFT_0_BIT),
4153			      BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4154					     (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))),
4155	       CSKYV2_ISA_E1),
4156    OP16_OP32 ("st.h",
4157	       SOPCODE_INFO2 (0xa800,
4158			      (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4159			      BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4160					     (0_4, IMM_LDST, OPRND_SHIFT_1_BIT))),
4161	       CSKYV2_ISA_E1,
4162	       SOPCODE_INFO2 (0xdc001000,
4163			      (21_25, AREG, OPRND_SHIFT_0_BIT),
4164			      BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4165					     (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))),
4166	       CSKYV2_ISA_E1),
4167    OP16_OP32 ("sth",
4168	       SOPCODE_INFO2 (0xa800,
4169			      (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4170			      BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4171					     (0_4, IMM_LDST, OPRND_SHIFT_1_BIT))),
4172	       CSKYV2_ISA_E1,
4173	       SOPCODE_INFO2 (0xdc001000,
4174			      (21_25, AREG, OPRND_SHIFT_0_BIT),
4175			      BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4176					     (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))),
4177	       CSKYV2_ISA_E1),
4178    DOP16_OP32 ("ld.w",
4179		SOPCODE_INFO2 (0x9000,
4180			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4181			       BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4182					      (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))),
4183		SOPCODE_INFO2 (0x9800,
4184			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4185			       BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT),
4186					      (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))),
4187		CSKYV2_ISA_E1,
4188		SOPCODE_INFO2 (0xd8002000,
4189			       (21_25, AREG, OPRND_SHIFT_0_BIT),
4190			       BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4191					      (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
4192		CSKYV2_ISA_E1),
4193    DOP16_OP32 ("ldw",
4194		SOPCODE_INFO2 (0x9000,
4195			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4196			       BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4197					      (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))),
4198		SOPCODE_INFO2 (0x9800,
4199			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4200			       BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT),
4201					      (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))),
4202		CSKYV2_ISA_E1,
4203		SOPCODE_INFO2 (0xd8002000,
4204			       (21_25, AREG, OPRND_SHIFT_0_BIT),
4205			       BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4206					      (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
4207		CSKYV2_ISA_E1),
4208    DOP16_OP32 ("ld",
4209		SOPCODE_INFO2 (0x9000,
4210			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4211			       BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4212					      (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))),
4213		SOPCODE_INFO2 (0x9800,
4214			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4215			       BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT),
4216					      (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))),
4217		CSKYV2_ISA_E1,
4218		SOPCODE_INFO2 (0xd8002000,
4219			       (21_25, AREG, OPRND_SHIFT_0_BIT),
4220			       BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4221					      (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
4222		CSKYV2_ISA_E1),
4223    DOP16_OP32 ("st.w",
4224		SOPCODE_INFO2 (0xb000,
4225			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4226			       BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4227					      (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))),
4228		SOPCODE_INFO2 (0xb800,
4229			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4230			       BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT),
4231					      (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))),
4232		CSKYV2_ISA_E1,
4233		SOPCODE_INFO2 (0xdc002000,
4234			       (21_25, AREG, OPRND_SHIFT_0_BIT),
4235			       BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4236					      (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
4237		CSKYV2_ISA_E1),
4238    DOP16_OP32 ("stw",
4239		SOPCODE_INFO2 (0xb000,
4240			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4241			       BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4242					      (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))),
4243		SOPCODE_INFO2 (0xb800,
4244			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4245			       BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT),
4246					      (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))),
4247		CSKYV2_ISA_E1,
4248		SOPCODE_INFO2 (0xdc002000,
4249			       (21_25, AREG, OPRND_SHIFT_0_BIT),
4250			       BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4251					      (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
4252		CSKYV2_ISA_E1),
4253    DOP16_OP32 ("st",
4254		SOPCODE_INFO2 (0xb000,
4255			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4256			       BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4257					      (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))),
4258		SOPCODE_INFO2 (0xb800,
4259			       (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4260			       BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT),
4261					      (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))),
4262		CSKYV2_ISA_E1,
4263		SOPCODE_INFO2 (0xdc002000,
4264			       (21_25, AREG, OPRND_SHIFT_0_BIT),
4265			       BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
4266					      (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))),
4267		CSKYV2_ISA_E1),
4268#ifdef BUILD_AS
4269    DOP16_DOP32_WITH_WORK ("addi",
4270			   OPCODE_INFO2 (0x2000,
4271					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4272					 (NONE, IMM32b, OPRND_SHIFT_0_BIT)),
4273			   OPCODE_INFO3 (0x2000,
4274					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4275					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4276					 (NONE, IMM32b, OPRND_SHIFT_0_BIT)),
4277			   CSKYV2_ISA_E1,
4278			   OPCODE_INFO2 (0xe4000000,
4279					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4280					 (NONE, IMM32b, OPRND_SHIFT_0_BIT)),
4281			   OPCODE_INFO3 (0xe4000000,
4282					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4283					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4284					 (NONE, IMM32b, OPRND_SHIFT_0_BIT)),
4285			   CSKYV2_ISA_1E2,
4286			   v2_work_addi),
4287#else
4288    DOP16 ("addi",
4289	   OPCODE_INFO2 (0x2000,
4290			 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4291			 (0_7, OIMM8b, OPRND_SHIFT_0_BIT)),
4292	   OPCODE_INFO3 (0x5802,
4293			 (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4294			 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4295			 (2_4, OIMM3b, OPRND_SHIFT_0_BIT)),
4296	   CSKYV2_ISA_E1),
4297    DOP16 ("addi",
4298	   OPCODE_INFO3 (0x1800,
4299			 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4300			 (NONE, REGsp, OPRND_SHIFT_0_BIT),
4301			 (0_7, IMM8b_LS2, OPRND_SHIFT_0_BIT)),
4302	   OPCODE_INFO3 (0x1400,
4303			 (NONE, REGsp, OPRND_SHIFT_0_BIT),
4304			 (NONE, REGsp, OPRND_SHIFT_0_BIT),
4305			 (0_4or8_9, IMM7b_LS2, OPRND_SHIFT_0_BIT)),
4306	   CSKYV2_ISA_E1),
4307    DOP32 ("addi",
4308	   OPCODE_INFO3 (0xe4000000,
4309			 (21_25, AREG, OPRND_SHIFT_0_BIT),
4310			 (16_20, AREG, OPRND_SHIFT_0_BIT),
4311			 (0_11, OIMM12b, OPRND_SHIFT_0_BIT)),
4312	   OPCODE_INFO3 (0xcc1c0000,
4313			 (21_25, AREG, OPRND_SHIFT_0_BIT),
4314			 (NONE, REG_r28, OPRND_SHIFT_0_BIT),
4315			 (0_17, OIMM18b, OPRND_SHIFT_0_BIT)),
4316	   CSKYV2_ISA_1E2),
4317#endif
4318#ifdef BUILD_AS
4319    DOP16_DOP32_WITH_WORK ("subi",
4320			   OPCODE_INFO2 (0x2800,
4321					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4322					 (NONE, IMM32b, OPRND_SHIFT_0_BIT)),
4323			   OPCODE_INFO3 (0x2800,
4324					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4325					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4326					 (NONE, IMM32b, OPRND_SHIFT_0_BIT)),
4327			   CSKYV2_ISA_E1,
4328			   OPCODE_INFO2 (0xe4001000,
4329					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4330					 (NONE, IMM32b, OPRND_SHIFT_0_BIT)),
4331			   OPCODE_INFO3 (0xe4001000,
4332					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4333					 (NONE, AREG, OPRND_SHIFT_0_BIT),
4334					 (NONE, IMM32b, OPRND_SHIFT_0_BIT)),
4335			   CSKYV2_ISA_1E2, v2_work_subi),
4336#else
4337    DOP16 ("subi",
4338	   OPCODE_INFO2 (0x2800,
4339			 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4340			 (0_7, OIMM8b, OPRND_SHIFT_0_BIT)),
4341	   OPCODE_INFO3 (0x5803,
4342			 (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4343			 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4344			 (2_4, OIMM3b, OPRND_SHIFT_0_BIT)),
4345	   CSKYV2_ISA_E1),
4346    OP32 ("subi",
4347	  OPCODE_INFO3 (0xe4001000,
4348			(21_25, AREG, OPRND_SHIFT_0_BIT),
4349			(16_20, AREG, OPRND_SHIFT_0_BIT),
4350			(0_11, OIMM12b, OPRND_SHIFT_0_BIT)),
4351	  CSKYV2_ISA_1E2),
4352    OP16 ("subi",
4353	  OPCODE_INFO3 (0x1420,
4354			(NONE, REGsp, OPRND_SHIFT_0_BIT),
4355			(NONE, REGsp, OPRND_SHIFT_0_BIT),
4356			(0_4or8_9, IMM7b_LS2, OPRND_SHIFT_0_BIT)),
4357	  CSKYV2_ISA_E1),
4358#endif
4359    DOP16_DOP32_WITH_WORK ("addu",
4360			   OPCODE_INFO2 (0x6000,
4361					 (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4362					 (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4363			   OPCODE_INFO3 (0x5800,
4364					 (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4365					 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4366					 (2_4, GREG0_7, OPRND_SHIFT_0_BIT)),
4367			   CSKYV2_ISA_E1,
4368			   OPCODE_INFO3 (0xc4000020,
4369					 (0_4, AREG, OPRND_SHIFT_0_BIT),
4370					 (16_20, AREG, OPRND_SHIFT_0_BIT),
4371					 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4372			   OPCODE_INFO2 (0xc4000020,
4373					 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
4374					 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4375			   CSKYV2_ISA_E1,
4376			   v2_work_add_sub),
4377    DOP16_DOP32_WITH_WORK ("add",
4378			   OPCODE_INFO2 (0x6000,
4379					 (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4380					 (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4381			   OPCODE_INFO3 (0x5800,
4382					 (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4383					 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4384					 (2_4, GREG0_7, OPRND_SHIFT_0_BIT)),
4385			   CSKYV2_ISA_E1,
4386			   OPCODE_INFO3 (0xc4000020,
4387					 (0_4, AREG, OPRND_SHIFT_0_BIT),
4388					 (16_20, AREG, OPRND_SHIFT_0_BIT),
4389					 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4390			   OPCODE_INFO2 (0xc4000020,
4391					 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
4392					 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4393			   CSKYV2_ISA_E1,
4394			   v2_work_add_sub),
4395    DOP16_DOP32_WITH_WORK ("subu",
4396			   OPCODE_INFO2 (0x6002,
4397					 (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4398					 (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4399			   OPCODE_INFO3 (0x5801,
4400					 (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4401					 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4402					 (2_4, GREG0_7, OPRND_SHIFT_0_BIT)),
4403			   CSKYV2_ISA_E1,
4404			   OPCODE_INFO3 (0xc4000080,
4405					 (0_4, AREG, OPRND_SHIFT_0_BIT),
4406					 (16_20, AREG, OPRND_SHIFT_0_BIT),
4407					 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4408			   OPCODE_INFO2 (0xc4000080,
4409					 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
4410					 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4411			   CSKYV2_ISA_E1,
4412			   v2_work_add_sub),
4413    DOP16_DOP32_WITH_WORK ("sub",
4414			   OPCODE_INFO2 (0x6002,
4415					 (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
4416					 (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
4417			   OPCODE_INFO3 (0x5801,
4418					 (5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4419					 (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
4420					 (2_4, GREG0_7, OPRND_SHIFT_0_BIT)),
4421			   CSKYV2_ISA_E1,
4422			   OPCODE_INFO3 (0xc4000080,
4423					 (0_4, AREG, OPRND_SHIFT_0_BIT),
4424					 (16_20, AREG, OPRND_SHIFT_0_BIT),
4425					 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4426			   OPCODE_INFO2 (0xc4000080,
4427					 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
4428					 (21_25, AREG, OPRND_SHIFT_0_BIT)),
4429			   CSKYV2_ISA_E1,
4430			   v2_work_add_sub),
4431    OP32_WITH_WORK ("fmovis",
4432		    OPCODE_INFO2 (0xf4001c00,
4433				  (0_3, FREG, OPRND_SHIFT_0_BIT),
4434				  (4_7or16_24, SFLOAT, OPRND_SHIFT_2_BIT)),
4435		    CSKY_ISA_FLOAT_1E3,
4436		    float_work_fmovi),
4437    OP32_WITH_WORK ("fmovid",
4438		    OPCODE_INFO2 (0xf4001e00,
4439				  (0_3, FREG, OPRND_SHIFT_0_BIT),
4440				  (4_7or16_24, DFLOAT, OPRND_SHIFT_2_BIT)),
4441		    CSKY_ISA_FLOAT_3E4,
4442		    float_work_fmovi),
4443#undef _RELOC32
4444#define _RELOC32 BFD_RELOC_CKCORE_PCREL_IMM26BY2
4445    OP32 ("bsr",
4446	  OPCODE_INFO1 (0xe0000000,
4447			(0_25, OFF26b, OPRND_SHIFT_1_BIT)),
4448	  CSKYV2_ISA_E1),
4449#undef _RELOC32
4450#define _RELOC32 BFD_RELOC_CKCORE_DOFFSET_IMM18
4451    OP32 ("lrs.b",
4452	  OPCODE_INFO2 (0xcc000000,
4453			(21_25, AREG, OPRND_SHIFT_0_BIT),
4454			(0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4455	  CSKYV2_ISA_2E3),
4456    OP32 ("srs.b",
4457	  OPCODE_INFO2 (0xcc100000,
4458			(21_25, AREG, OPRND_SHIFT_0_BIT),
4459			(0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4460	  CSKYV2_ISA_2E3),
4461#undef _RELOC32
4462#define _RELOC32 BFD_RELOC_CKCORE_DOFFSET_IMM18BY2
4463    OP32 ("lrs.h",
4464	  OPCODE_INFO2 (0xcc040000,
4465			(21_25, AREG, OPRND_SHIFT_0_BIT),
4466			(0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4467	  CSKYV2_ISA_2E3),
4468    OP32 ("srs.h",
4469	  OPCODE_INFO2 (0xcc140000,
4470			(21_25, AREG, OPRND_SHIFT_0_BIT),
4471			(0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4472	  CSKYV2_ISA_2E3),
4473#undef _RELOC32
4474#define _RELOC32 BFD_RELOC_CKCORE_PCREL_FLRW_IMM8BY4
4475    OP32 ("flrws",
4476	  OPCODE_INFO2 (0xf4003800,
4477			(0_3, FREG, OPRND_SHIFT_0_BIT),
4478			(4_7or21_24, FCONSTANT, OPRND_SHIFT_2_BIT)),
4479	  CSKY_ISA_FLOAT_1E3),
4480    OP32 ("flrwd",
4481	  OPCODE_INFO2 (0xf4003900,
4482			(0_3, FREG, OPRND_SHIFT_0_BIT),
4483			(4_7or21_24, FCONSTANT, OPRND_SHIFT_2_BIT)),
4484	  CSKY_ISA_FLOAT_3E4),
4485#undef _RELOC32
4486#define _RELOC32 BFD_RELOC_CKCORE_DOFFSET_IMM18BY4
4487    OP32_WITH_WORK ("lrs.w",
4488		    OPCODE_INFO2 (0xcc080000,
4489				  (21_25, AREG, OPRND_SHIFT_0_BIT),
4490				  (0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4491		    CSKYV2_ISA_2E3,
4492		    v2_work_lrsrsw),
4493    OP32_WITH_WORK ("srs.w",
4494		    OPCODE_INFO2 (0xcc180000,
4495				  (21_25, AREG, OPRND_SHIFT_0_BIT),
4496				  (0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4497		    CSKYV2_ISA_2E3,
4498		    v2_work_lrsrsw),
4499
4500#undef _RELOC32
4501#define _RELOC32    BFD_RELOC_CKCORE_PCREL_IMM16BY4
4502    OP32_WITH_WORK ("jsri",
4503		    OPCODE_INFO1 (0xeae00000,
4504				  (0_15, OFF16b, OPRND_SHIFT_2_BIT)),
4505		    CSKYV2_ISA_2E3,
4506		    v2_work_jsri),
4507#undef _RELOC32
4508#define _RELOC32    BFD_RELOC_CKCORE_PCREL_IMM16BY2
4509    OP32 ("bez",
4510	  OPCODE_INFO2 (0xe9000000,
4511			(16_20, AREG, OPRND_SHIFT_0_BIT),
4512			(0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)),
4513	  CSKYV2_ISA_2E3),
4514    OP32 ("bnez",
4515	  OPCODE_INFO2 (0xe9200000,
4516			(16_20, AREG, OPRND_SHIFT_0_BIT),
4517			(0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)),
4518	  CSKYV2_ISA_2E3),
4519    OP32 ("bhz",
4520	  OPCODE_INFO2 (0xe9400000,
4521			(16_20, AREG, OPRND_SHIFT_0_BIT),
4522			(0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)),
4523	  CSKYV2_ISA_2E3),
4524    OP32 ("blsz",
4525	  OPCODE_INFO2 (0xe9600000,
4526			(16_20, AREG, OPRND_SHIFT_0_BIT),
4527			(0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)),
4528	  CSKYV2_ISA_2E3),
4529    OP32 ("blz",
4530	  OPCODE_INFO2 (0xe9800000,
4531			(16_20, AREG, OPRND_SHIFT_0_BIT),
4532			(0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)),
4533	  CSKYV2_ISA_2E3),
4534    OP32 ("bhsz",
4535	  OPCODE_INFO2 (0xe9a00000,
4536			(16_20, AREG, OPRND_SHIFT_0_BIT),
4537			(0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)),
4538	  CSKYV2_ISA_2E3),
4539#undef _RELAX
4540#undef _RELOC16
4541#undef _TRANSFER
4542#define _TRANSFER   1
4543#define _RELAX      1
4544#define _RELOC16    BFD_RELOC_CKCORE_PCREL_IMM10BY2
4545    OP16_OP32 ("br",
4546	       OPCODE_INFO1 (0x0400,
4547			     (0_9, UNCOND10b, OPRND_SHIFT_1_BIT)),
4548	       CSKYV2_ISA_E1,
4549	       OPCODE_INFO1 (0xe8000000,
4550			     (0_15, UNCOND16b, OPRND_SHIFT_1_BIT)),
4551	       CSKYV2_ISA_E1),
4552#undef _TRANSFER
4553#define _TRANSFER   0
4554    OP16_OP32 ("bt",
4555	       OPCODE_INFO1 (0x0800,
4556			     (0_9, COND10b, OPRND_SHIFT_1_BIT)),
4557	       CSKYV2_ISA_E1,
4558	       OPCODE_INFO1 (0xe8600000,
4559			     (0_15, COND16b, OPRND_SHIFT_1_BIT)),
4560	       CSKYV2_ISA_1E2),
4561    OP16_OP32 ("bf",
4562	       OPCODE_INFO1 (0x0c00,
4563			     (0_9, COND10b, OPRND_SHIFT_1_BIT)),
4564	       CSKYV2_ISA_E1,
4565	       OPCODE_INFO1 (0xe8400000,
4566			     (0_15, COND16b, OPRND_SHIFT_1_BIT)),
4567	       CSKYV2_ISA_1E2),
4568#undef _RELOC16
4569#undef _RELOC32
4570#undef _RELAX
4571#define _RELOC16    0
4572#define _RELOC32    0
4573#define _RELAX      0
4574#undef _TRANSFER
4575#define _TRANSFER   1
4576    OP16_WITH_WORK ("jbr",
4577		    OPCODE_INFO1 (0x0400,
4578				  (0_10, UNCOND10b, OPRND_SHIFT_1_BIT)),
4579		    CSKYV2_ISA_E1,
4580		    v2_work_jbr),
4581#undef _TRANSFER
4582#define _TRANSFER   0
4583    OP16_WITH_WORK ("jbt",
4584		    OPCODE_INFO1 (0x0800,
4585				  (0_10, COND10b, OPRND_SHIFT_1_BIT)),
4586		    CSKYV2_ISA_E1,
4587		    v2_work_jbtf),
4588    OP16_WITH_WORK ("jbf",
4589		    OPCODE_INFO1 (0x0c00,
4590				  (0_10, COND10b, OPRND_SHIFT_1_BIT)),
4591		    CSKYV2_ISA_E1,
4592		    v2_work_jbtf),
4593    OP32_WITH_WORK ("jbsr",
4594		    OPCODE_INFO1 (0xe0000000,
4595				  (0_25, OFF26b, OPRND_SHIFT_1_BIT)),
4596		    CSKYV2_ISA_E1,
4597		    v2_work_jbsr),
4598    OP32_WITH_WORK ("movih",
4599		    OPCODE_INFO2 (0xea200000,
4600				  (16_20, AREG, OPRND_SHIFT_0_BIT),
4601				  (0_15, IMM16b_MOVIH, OPRND_SHIFT_0_BIT)),
4602		    CSKYV2_ISA_1E2,
4603		    v2_work_movih),
4604    OP32_WITH_WORK ("ori",
4605		    OPCODE_INFO3 (0xec000000,
4606				  (21_25, AREG, OPRND_SHIFT_0_BIT),
4607				  (16_20, AREG, OPRND_SHIFT_0_BIT),
4608				  (0_15, IMM16b_ORI, OPRND_SHIFT_0_BIT)),
4609		    CSKYV2_ISA_1E2,
4610		    v2_work_ori),
4611    DOP32_WITH_WORK ("bgeni",
4612		     OPCODE_INFO2 (0xea000000,
4613				   (16_20, AREG, OPRND_SHIFT_0_BIT),
4614				   (0_4, IMM4b, OPRND_SHIFT_0_BIT)),
4615		     OPCODE_INFO2 (0xea200000,
4616				   (16_20, AREG, OPRND_SHIFT_0_BIT),
4617				   (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
4618		     CSKYV2_ISA_E1,
4619		     v2_work_bgeni),
4620#undef _RELOC16
4621#undef _RELOC32
4622#define _RELOC16    BFD_RELOC_CKCORE_PCREL_IMM7BY4
4623#define _RELOC32    BFD_RELOC_CKCORE_PCREL_IMM16BY4
4624    DOP16_OP32_WITH_WORK ("lrw",
4625			  OPCODE_INFO2 (0x1000,
4626					(5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4627					(0_4or8_9, CONSTANT, OPRND_SHIFT_2_BIT)),
4628			  OPCODE_INFO2 (0x0000,
4629					(5_7, GREG0_7, OPRND_SHIFT_0_BIT),
4630					(0_4or8_9, ELRW_CONSTANT, OPRND_SHIFT_2_BIT)),
4631			  CSKYV2_ISA_E1,
4632			  OPCODE_INFO2 (0xea800000,
4633					(16_20, AREG, OPRND_SHIFT_0_BIT),
4634					(0_15, CONSTANT, OPRND_SHIFT_2_BIT)),
4635			  CSKYV2_ISA_E1,
4636			  v2_work_lrw),
4637#undef _RELOC16
4638#undef _RELOC32
4639#define _RELOC16    0
4640#define _RELOC32    0
4641
4642#undef _RELAX
4643#define _RELAX      1
4644    OP32 ("jbez",
4645	  OPCODE_INFO2 (0xe9000000,
4646			(16_20, AREG, OPRND_SHIFT_0_BIT),
4647			(0_15, JCOMPZ, OPRND_SHIFT_0_BIT)),
4648	  CSKYV2_ISA_2E3),
4649    OP32 ("jbnez",
4650	  OPCODE_INFO2 (0xe9200000,
4651			(16_20, AREG, OPRND_SHIFT_0_BIT),
4652			(0_15, JCOMPZ, OPRND_SHIFT_0_BIT)),
4653	  CSKYV2_ISA_2E3),
4654    OP32 ("jbhz",
4655	  OPCODE_INFO2 (0xe9400000,
4656			(16_20, AREG, OPRND_SHIFT_0_BIT),
4657			(0_15, JCOMPZ, OPRND_SHIFT_0_BIT)),
4658	  CSKYV2_ISA_2E3),
4659    OP32 ("jblsz",
4660	  OPCODE_INFO2 (0xe9600000,
4661			(16_20, AREG, OPRND_SHIFT_0_BIT),
4662			(0_15, JCOMPZ, OPRND_SHIFT_0_BIT)),
4663	  CSKYV2_ISA_2E3),
4664    OP32 ("jblz",
4665	  OPCODE_INFO2 (0xe9800000,
4666			(16_20, AREG, OPRND_SHIFT_0_BIT),
4667			(0_15, JCOMPZ, OPRND_SHIFT_0_BIT)),
4668	  CSKYV2_ISA_2E3),
4669    OP32 ("jbhsz",
4670	  OPCODE_INFO2 (0xe9a00000,
4671			(16_20, AREG, OPRND_SHIFT_0_BIT),
4672			(0_15, JCOMPZ, OPRND_SHIFT_0_BIT)),
4673	  CSKYV2_ISA_2E3),
4674#undef _RELAX
4675#define _RELAX      0
4676
4677    /* The followings are enhance DSP instructions.  */
4678    OP32_WITH_WORK ("bloop",
4679		    OPCODE_INFO3 (0xe9c00000,
4680				  (16_20, AREG, OPRND_SHIFT_0_BIT),
4681				  (0_11, BLOOP_OFF12b, OPRND_SHIFT_1_BIT),
4682				  (12_15, BLOOP_OFF4b, OPRND_SHIFT_1_BIT)),
4683		    CSKY_ISA_DSP_ENHANCE,
4684		    dsp_work_bloop),
4685    /* The followings are ld/st instructions.  */
4686    OP32 ("ldbi.b",
4687	  OPCODE_INFO2 (0xd0008000,
4688			(0_4, AREG, OPRND_SHIFT_0_BIT),
4689			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4690	  CSKY_ISA_DSP_ENHANCE),
4691    OP32 ("ldbi.h",
4692	  OPCODE_INFO2 (0xd0008400,
4693			(0_4, AREG, OPRND_SHIFT_0_BIT),
4694			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4695	  CSKY_ISA_DSP_ENHANCE),
4696    OP32 ("ldbi.w",
4697	  OPCODE_INFO2 (0xd0008800,
4698			(0_4, AREG, OPRND_SHIFT_0_BIT),
4699			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4700	  CSKY_ISA_DSP_ENHANCE),
4701    OP32 ("pldbi.d",
4702	  OPCODE_INFO2 (0xd0008c00,
4703			(0_4, AREG, OPRND_SHIFT_0_BIT),
4704			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4705	  CSKY_ISA_DSP_ENHANCE),
4706    OP32 ("ldbi.hs",
4707	  OPCODE_INFO2 (0xd0009000,
4708			(0_4, AREG, OPRND_SHIFT_0_BIT),
4709			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4710	  CSKY_ISA_DSP_ENHANCE),
4711    OP32 ("ldbi.bs",
4712	  OPCODE_INFO2 (0xd0009400,
4713			(0_4, AREG, OPRND_SHIFT_0_BIT),
4714			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4715	  CSKY_ISA_DSP_ENHANCE),
4716    OP32 ("stbi.b",
4717	  OPCODE_INFO2 (0xd4008000,
4718			(0_4, AREG, OPRND_SHIFT_0_BIT),
4719			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4720	  CSKY_ISA_DSP_ENHANCE),
4721    OP32 ("stbi.h",
4722	  OPCODE_INFO2 (0xd4008400,
4723			(0_4, AREG, OPRND_SHIFT_0_BIT),
4724			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4725	  CSKY_ISA_DSP_ENHANCE),
4726    OP32 ("stbi.w",
4727	  OPCODE_INFO2 (0xd4008800,
4728			(0_4, AREG, OPRND_SHIFT_0_BIT),
4729			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)),
4730	  CSKY_ISA_DSP_ENHANCE),
4731    OP32 ("ldbir.b",
4732	  OPCODE_INFO3 (0xd000a000,
4733			(0_4, AREG, OPRND_SHIFT_0_BIT),
4734			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4735			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4736	  CSKY_ISA_DSP_ENHANCE),
4737    OP32 ("ldbir.h",
4738	  OPCODE_INFO3 (0xd000a400,
4739			(0_4, AREG, OPRND_SHIFT_0_BIT),
4740			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4741			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4742	  CSKY_ISA_DSP_ENHANCE),
4743    OP32 ("ldbir.w",
4744	  OPCODE_INFO3 (0xd000a800,
4745			(0_4, AREG, OPRND_SHIFT_0_BIT),
4746			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4747			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4748	  CSKY_ISA_DSP_ENHANCE),
4749    OP32 ("pldbir.d",
4750	  OPCODE_INFO3 (0xd000ac00,
4751			(0_4, AREG, OPRND_SHIFT_0_BIT),
4752			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4753			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4754	  CSKY_ISA_DSP_ENHANCE),
4755    OP32 ("ldbir.bs",
4756	  OPCODE_INFO3 (0xd000b000,
4757			(0_4, AREG, OPRND_SHIFT_0_BIT),
4758			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4759			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4760	  CSKY_ISA_DSP_ENHANCE),
4761    OP32 ("ldbir.hs",
4762	  OPCODE_INFO3 (0xd000b400,
4763			(0_4, AREG, OPRND_SHIFT_0_BIT),
4764			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4765			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4766	  CSKY_ISA_DSP_ENHANCE),
4767    OP32 ("stbir.b",
4768	  OPCODE_INFO3 (0xd400a000,
4769			(0_4, AREG, OPRND_SHIFT_0_BIT),
4770			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4771			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4772	  CSKY_ISA_DSP_ENHANCE),
4773    OP32 ("stbir.h",
4774	  OPCODE_INFO3 (0xd400a400,
4775			(0_4, AREG, OPRND_SHIFT_0_BIT),
4776			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4777			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4778	  CSKY_ISA_DSP_ENHANCE),
4779    OP32 ("stbir.w",
4780	  OPCODE_INFO3 (0xd400a800,
4781			(0_4, AREG, OPRND_SHIFT_0_BIT),
4782			(16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT),
4783			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4784	  CSKY_ISA_DSP_ENHANCE),
4785    /* The followings are add/sub instructions.  */
4786    OP32 ("padd.8",
4787	  OPCODE_INFO3 (0xf800c040,
4788			(0_4, AREG, OPRND_SHIFT_0_BIT),
4789			(16_20, AREG, OPRND_SHIFT_0_BIT),
4790			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4791	  CSKY_ISA_DSP_ENHANCE),
4792    OP32 ("padd.16",
4793	  OPCODE_INFO3 (0xf800c000,
4794			(0_4, AREG, OPRND_SHIFT_0_BIT),
4795			(16_20, AREG, OPRND_SHIFT_0_BIT),
4796			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4797	  CSKY_ISA_DSP_ENHANCE),
4798    OP32 ("padd.u8.s",
4799	  OPCODE_INFO3 (0xf800c140,
4800			(0_4, AREG, OPRND_SHIFT_0_BIT),
4801			(16_20, AREG, OPRND_SHIFT_0_BIT),
4802			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4803	  CSKY_ISA_DSP_ENHANCE),
4804    OP32 ("padd.s8.s",
4805	  OPCODE_INFO3 (0xf800c1c0,
4806			(0_4, AREG, OPRND_SHIFT_0_BIT),
4807			(16_20, AREG, OPRND_SHIFT_0_BIT),
4808			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4809	  CSKY_ISA_DSP_ENHANCE),
4810    OP32 ("padd.u16.s",
4811	  OPCODE_INFO3 (0xf800c100,
4812			(0_4, AREG, OPRND_SHIFT_0_BIT),
4813			(16_20, AREG, OPRND_SHIFT_0_BIT),
4814			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4815	  CSKY_ISA_DSP_ENHANCE),
4816    OP32 ("padd.s16.s",
4817	  OPCODE_INFO3 (0xf800c180,
4818			(0_4, AREG, OPRND_SHIFT_0_BIT),
4819			(16_20, AREG, OPRND_SHIFT_0_BIT),
4820			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4821	  CSKY_ISA_DSP_ENHANCE),
4822    OP32 ("add.u32.s",
4823	  OPCODE_INFO3 (0xf800c120,
4824			(0_4, AREG, OPRND_SHIFT_0_BIT),
4825			(16_20, AREG, OPRND_SHIFT_0_BIT),
4826			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4827	  CSKY_ISA_DSP_ENHANCE),
4828    OP32 ("add.s32.s",
4829	  OPCODE_INFO3 (0xf800c1a0,
4830			(0_4, AREG, OPRND_SHIFT_0_BIT),
4831			(16_20, AREG, OPRND_SHIFT_0_BIT),
4832			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4833	  CSKY_ISA_DSP_ENHANCE),
4834    OP32 ("psub.8",
4835	  OPCODE_INFO3 (0xf800c440,
4836			(0_4, AREG, OPRND_SHIFT_0_BIT),
4837			(16_20, AREG, OPRND_SHIFT_0_BIT),
4838			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4839	  CSKY_ISA_DSP_ENHANCE),
4840    OP32 ("psub.16",
4841	  OPCODE_INFO3 (0xf800c400,
4842			(0_4, AREG, OPRND_SHIFT_0_BIT),
4843			(16_20, AREG, OPRND_SHIFT_0_BIT),
4844			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4845	  CSKY_ISA_DSP_ENHANCE),
4846    OP32 ("psub.u8.s",
4847	  OPCODE_INFO3 (0xf800c540,
4848			(0_4, AREG, OPRND_SHIFT_0_BIT),
4849			(16_20, AREG, OPRND_SHIFT_0_BIT),
4850			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4851	  CSKY_ISA_DSP_ENHANCE),
4852    OP32 ("psub.s8.s",
4853	  OPCODE_INFO3 (0xf800c5c0,
4854			(0_4, AREG, OPRND_SHIFT_0_BIT),
4855			(16_20, AREG, OPRND_SHIFT_0_BIT),
4856			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4857	  CSKY_ISA_DSP_ENHANCE),
4858    OP32 ("psub.u16.s",
4859	  OPCODE_INFO3 (0xf800c500,
4860			(0_4, AREG, OPRND_SHIFT_0_BIT),
4861			(16_20, AREG, OPRND_SHIFT_0_BIT),
4862			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4863	  CSKY_ISA_DSP_ENHANCE),
4864    OP32 ("psub.s16.s",
4865	  OPCODE_INFO3 (0xf800c580,
4866			(0_4, AREG, OPRND_SHIFT_0_BIT),
4867			(16_20, AREG, OPRND_SHIFT_0_BIT),
4868			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4869	  CSKY_ISA_DSP_ENHANCE),
4870    OP32 ("sub.u32.s",
4871	  OPCODE_INFO3 (0xf800c520,
4872			(0_4, AREG, OPRND_SHIFT_0_BIT),
4873			(16_20, AREG, OPRND_SHIFT_0_BIT),
4874			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4875	  CSKY_ISA_DSP_ENHANCE),
4876    OP32 ("sub.s32.s",
4877	  OPCODE_INFO3 (0xf800c5a0,
4878			(0_4, AREG, OPRND_SHIFT_0_BIT),
4879			(16_20, AREG, OPRND_SHIFT_0_BIT),
4880			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4881	  CSKY_ISA_DSP_ENHANCE),
4882    OP32 ("paddh.u8",
4883	  OPCODE_INFO3 (0xf800c240,
4884			(0_4, AREG, OPRND_SHIFT_0_BIT),
4885			(16_20, AREG, OPRND_SHIFT_0_BIT),
4886			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4887	  CSKY_ISA_DSP_ENHANCE),
4888    OP32 ("paddh.s8",
4889	  OPCODE_INFO3 (0xf800c2c0,
4890			(0_4, AREG, OPRND_SHIFT_0_BIT),
4891			(16_20, AREG, OPRND_SHIFT_0_BIT),
4892			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4893	  CSKY_ISA_DSP_ENHANCE),
4894    OP32 ("paddh.u16",
4895	  OPCODE_INFO3 (0xf800c200,
4896			(0_4, AREG, OPRND_SHIFT_0_BIT),
4897			(16_20, AREG, OPRND_SHIFT_0_BIT),
4898			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4899	  CSKY_ISA_DSP_ENHANCE),
4900    OP32 ("paddh.s16",
4901	  OPCODE_INFO3 (0xf800c280,
4902			(0_4, AREG, OPRND_SHIFT_0_BIT),
4903			(16_20, AREG, OPRND_SHIFT_0_BIT),
4904			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4905	  CSKY_ISA_DSP_ENHANCE),
4906    OP32 ("addh.u32",
4907	  OPCODE_INFO3 (0xf800c220,
4908			(0_4, AREG, OPRND_SHIFT_0_BIT),
4909			(16_20, AREG, OPRND_SHIFT_0_BIT),
4910			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4911	  CSKY_ISA_DSP_ENHANCE),
4912    OP32 ("addh.s32",
4913	  OPCODE_INFO3 (0xf800c2a0,
4914			(0_4, AREG, OPRND_SHIFT_0_BIT),
4915			(16_20, AREG, OPRND_SHIFT_0_BIT),
4916			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4917	  CSKY_ISA_DSP_ENHANCE),
4918    OP32 ("psubh.u8",
4919	  OPCODE_INFO3 (0xf800c640,
4920			(0_4, AREG, OPRND_SHIFT_0_BIT),
4921			(16_20, AREG, OPRND_SHIFT_0_BIT),
4922			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4923	  CSKY_ISA_DSP_ENHANCE),
4924    OP32 ("psubh.s8",
4925	  OPCODE_INFO3 (0xf800c6c0,
4926			(0_4, AREG, OPRND_SHIFT_0_BIT),
4927			(16_20, AREG, OPRND_SHIFT_0_BIT),
4928			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4929	  CSKY_ISA_DSP_ENHANCE),
4930    OP32 ("psubh.u16",
4931	  OPCODE_INFO3 (0xf800c600,
4932			(0_4, AREG, OPRND_SHIFT_0_BIT),
4933			(16_20, AREG, OPRND_SHIFT_0_BIT),
4934			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4935	  CSKY_ISA_DSP_ENHANCE),
4936    OP32 ("psubh.s16",
4937	  OPCODE_INFO3 (0xf800c680,
4938			(0_4, AREG, OPRND_SHIFT_0_BIT),
4939			(16_20, AREG, OPRND_SHIFT_0_BIT),
4940			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4941	  CSKY_ISA_DSP_ENHANCE),
4942    OP32 ("subh.u32",
4943	  OPCODE_INFO3 (0xf800c620,
4944			(0_4, AREG, OPRND_SHIFT_0_BIT),
4945			(16_20, AREG, OPRND_SHIFT_0_BIT),
4946			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4947	  CSKY_ISA_DSP_ENHANCE),
4948    OP32 ("subh.s32",
4949	  OPCODE_INFO3 (0xf800c6a0,
4950			(0_4, AREG, OPRND_SHIFT_0_BIT),
4951			(16_20, AREG, OPRND_SHIFT_0_BIT),
4952			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4953	  CSKY_ISA_DSP_ENHANCE),
4954    OP32 ("add.64",
4955	  OPCODE_INFO3 (0xf800c060,
4956			(0_4, AREG, OPRND_SHIFT_0_BIT),
4957			(16_20, AREG, OPRND_SHIFT_0_BIT),
4958			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4959	  CSKY_ISA_DSP_ENHANCE),
4960    OP32 ("sub.64",
4961	  OPCODE_INFO3 (0xf800c460,
4962			(0_4, AREG, OPRND_SHIFT_0_BIT),
4963			(16_20, AREG, OPRND_SHIFT_0_BIT),
4964			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4965	  CSKY_ISA_DSP_ENHANCE),
4966    OP32 ("add.u64.s",
4967	  OPCODE_INFO3 (0xf800c160,
4968			(0_4, AREG, OPRND_SHIFT_0_BIT),
4969			(16_20, AREG, OPRND_SHIFT_0_BIT),
4970			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4971	  CSKY_ISA_DSP_ENHANCE),
4972    OP32 ("add.s64.s",
4973	  OPCODE_INFO3 (0xf800c1e0,
4974			(0_4, AREG, OPRND_SHIFT_0_BIT),
4975			(16_20, AREG, OPRND_SHIFT_0_BIT),
4976			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4977	  CSKY_ISA_DSP_ENHANCE),
4978    OP32 ("sub.u64.s",
4979	  OPCODE_INFO3 (0xf800c560,
4980			(0_4, AREG, OPRND_SHIFT_0_BIT),
4981			(16_20, AREG, OPRND_SHIFT_0_BIT),
4982			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4983	  CSKY_ISA_DSP_ENHANCE),
4984    OP32 ("sub.s64.s",
4985	  OPCODE_INFO3 (0xf800c5e0,
4986			(0_4, AREG, OPRND_SHIFT_0_BIT),
4987			(16_20, AREG, OPRND_SHIFT_0_BIT),
4988			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4989	  CSKY_ISA_DSP_ENHANCE),
4990    /* The following are comparison instructions.  */
4991    OP32 ("pasx.16",
4992	  OPCODE_INFO3 (0xf800c860,
4993			(0_4, AREG, OPRND_SHIFT_0_BIT),
4994			(16_20, AREG, OPRND_SHIFT_0_BIT),
4995			(21_25, AREG, OPRND_SHIFT_0_BIT)),
4996	  CSKY_ISA_DSP_ENHANCE),
4997    OP32 ("psax.16",
4998	  OPCODE_INFO3 (0xf800cc60,
4999			(0_4, AREG, OPRND_SHIFT_0_BIT),
5000			(16_20, AREG, OPRND_SHIFT_0_BIT),
5001			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5002	  CSKY_ISA_DSP_ENHANCE),
5003    OP32 ("pasx.u16.s",
5004	  OPCODE_INFO3 (0xf800c960,
5005			(0_4, AREG, OPRND_SHIFT_0_BIT),
5006			(16_20, AREG, OPRND_SHIFT_0_BIT),
5007			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5008	  CSKY_ISA_DSP_ENHANCE),
5009    OP32 ("pasx.s16.s",
5010	  OPCODE_INFO3 (0xf800c9e0,
5011			(0_4, AREG, OPRND_SHIFT_0_BIT),
5012			(16_20, AREG, OPRND_SHIFT_0_BIT),
5013			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5014	  CSKY_ISA_DSP_ENHANCE),
5015    OP32 ("psax.u16.s",
5016	  OPCODE_INFO3 (0xf800cd60,
5017			(0_4, AREG, OPRND_SHIFT_0_BIT),
5018			(16_20, AREG, OPRND_SHIFT_0_BIT),
5019			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5020	  CSKY_ISA_DSP_ENHANCE),
5021    OP32 ("psax.s16.s",
5022	  OPCODE_INFO3 (0xf800cde0,
5023			(0_4, AREG, OPRND_SHIFT_0_BIT),
5024			(16_20, AREG, OPRND_SHIFT_0_BIT),
5025			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5026	  CSKY_ISA_DSP_ENHANCE),
5027    OP32 ("pasxh.u16",
5028	  OPCODE_INFO3 (0xf800ca60,
5029			(0_4, AREG, OPRND_SHIFT_0_BIT),
5030			(16_20, AREG, OPRND_SHIFT_0_BIT),
5031			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5032	  CSKY_ISA_DSP_ENHANCE),
5033    OP32 ("pasxh.s16",
5034	  OPCODE_INFO3 (0xf800cae0,
5035			(0_4, AREG, OPRND_SHIFT_0_BIT),
5036			(16_20, AREG, OPRND_SHIFT_0_BIT),
5037			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5038	  CSKY_ISA_DSP_ENHANCE),
5039    OP32 ("psaxh.u16",
5040	  OPCODE_INFO3 (0xf800ce60,
5041			(0_4, AREG, OPRND_SHIFT_0_BIT),
5042			(16_20, AREG, OPRND_SHIFT_0_BIT),
5043			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5044	  CSKY_ISA_DSP_ENHANCE),
5045    OP32 ("psaxh.s16",
5046	  OPCODE_INFO3 (0xf800cee0,
5047			(0_4, AREG, OPRND_SHIFT_0_BIT),
5048			(16_20, AREG, OPRND_SHIFT_0_BIT),
5049			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5050	  CSKY_ISA_DSP_ENHANCE),
5051    OP32 ("pcmpne.8",
5052	  OPCODE_INFO3 (0xf800c840,
5053			(0_4, AREG, OPRND_SHIFT_0_BIT),
5054			(16_20, AREG, OPRND_SHIFT_0_BIT),
5055			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5056	  CSKY_ISA_DSP_ENHANCE),
5057    OP32 ("pcmpne.16",
5058	  OPCODE_INFO3 (0xf800c800,
5059			(0_4, AREG, OPRND_SHIFT_0_BIT),
5060			(16_20, AREG, OPRND_SHIFT_0_BIT),
5061			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5062	  CSKY_ISA_DSP_ENHANCE),
5063    OP32 ("pcmphs.u8",
5064	  OPCODE_INFO3 (0xf800c940,
5065			(0_4, AREG, OPRND_SHIFT_0_BIT),
5066			(16_20, AREG, OPRND_SHIFT_0_BIT),
5067			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5068	  CSKY_ISA_DSP_ENHANCE),
5069    OP32 ("pcmphs.s8",
5070	  OPCODE_INFO3 (0xf800c9c0,
5071			(0_4, AREG, OPRND_SHIFT_0_BIT),
5072			(16_20, AREG, OPRND_SHIFT_0_BIT),
5073			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5074	  CSKY_ISA_DSP_ENHANCE),
5075    OP32 ("pcmphs.u16",
5076	  OPCODE_INFO3 (0xf800c900,
5077			(0_4, AREG, OPRND_SHIFT_0_BIT),
5078			(16_20, AREG, OPRND_SHIFT_0_BIT),
5079			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5080	  CSKY_ISA_DSP_ENHANCE),
5081    OP32 ("pcmphs.s16",
5082	  OPCODE_INFO3 (0xf800c980,
5083			(0_4, AREG, OPRND_SHIFT_0_BIT),
5084			(16_20, AREG, OPRND_SHIFT_0_BIT),
5085			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5086	  CSKY_ISA_DSP_ENHANCE),
5087    OP32 ("pcmplt.u8",
5088	  OPCODE_INFO3 (0xf800ca40,
5089			(0_4, AREG, OPRND_SHIFT_0_BIT),
5090			(16_20, AREG, OPRND_SHIFT_0_BIT),
5091			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5092	  CSKY_ISA_DSP_ENHANCE),
5093    OP32 ("pcmplt.s8",
5094	  OPCODE_INFO3 (0xf800cac0,
5095			(0_4, AREG, OPRND_SHIFT_0_BIT),
5096			(16_20, AREG, OPRND_SHIFT_0_BIT),
5097			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5098	  CSKY_ISA_DSP_ENHANCE),
5099    OP32 ("pcmplt.u16",
5100	  OPCODE_INFO3 (0xf800ca00,
5101			(0_4, AREG, OPRND_SHIFT_0_BIT),
5102			(16_20, AREG, OPRND_SHIFT_0_BIT),
5103			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5104	  CSKY_ISA_DSP_ENHANCE),
5105    OP32 ("pcmplt.s16",
5106	  OPCODE_INFO3 (0xf800ca80,
5107			(0_4, AREG, OPRND_SHIFT_0_BIT),
5108			(16_20, AREG, OPRND_SHIFT_0_BIT),
5109			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5110	  CSKY_ISA_DSP_ENHANCE),
5111    OP32 ("pmax.u8",
5112	  OPCODE_INFO3 (0xf800cc40,
5113			(0_4, AREG, OPRND_SHIFT_0_BIT),
5114			(16_20, AREG, OPRND_SHIFT_0_BIT),
5115			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5116	  CSKY_ISA_DSP_ENHANCE),
5117    OP32 ("pmax.s8",
5118	  OPCODE_INFO3 (0xf800ccc0,
5119			(0_4, AREG, OPRND_SHIFT_0_BIT),
5120			(16_20, AREG, OPRND_SHIFT_0_BIT),
5121			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5122	  CSKY_ISA_DSP_ENHANCE),
5123    OP32 ("pmax.u16",
5124	  OPCODE_INFO3 (0xf800cc00,
5125			(0_4, AREG, OPRND_SHIFT_0_BIT),
5126			(16_20, AREG, OPRND_SHIFT_0_BIT),
5127			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5128	  CSKY_ISA_DSP_ENHANCE),
5129    OP32 ("pmax.s16",
5130	  OPCODE_INFO3 (0xf800cc80,
5131			(0_4, AREG, OPRND_SHIFT_0_BIT),
5132			(16_20, AREG, OPRND_SHIFT_0_BIT),
5133			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5134	  CSKY_ISA_DSP_ENHANCE),
5135    OP32 ("max.u32",
5136	  OPCODE_INFO3 (0xf800cc20,
5137			(0_4, AREG, OPRND_SHIFT_0_BIT),
5138			(16_20, AREG, OPRND_SHIFT_0_BIT),
5139			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5140	  CSKY_ISA_DSP_ENHANCE),
5141    OP32 ("max.s32",
5142	  OPCODE_INFO3 (0xf800cca0,
5143			(0_4, AREG, OPRND_SHIFT_0_BIT),
5144			(16_20, AREG, OPRND_SHIFT_0_BIT),
5145			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5146	  CSKY_ISA_DSP_ENHANCE),
5147    OP32 ("pmin.u8",
5148	  OPCODE_INFO3 (0xf800cd40,
5149			(0_4, AREG, OPRND_SHIFT_0_BIT),
5150			(16_20, AREG, OPRND_SHIFT_0_BIT),
5151			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5152	  CSKY_ISA_DSP_ENHANCE),
5153    OP32 ("pmin.s8",
5154	  OPCODE_INFO3 (0xf800cdc0,
5155			(0_4, AREG, OPRND_SHIFT_0_BIT),
5156			(16_20, AREG, OPRND_SHIFT_0_BIT),
5157			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5158	  CSKY_ISA_DSP_ENHANCE),
5159    OP32 ("pmin.u16",
5160	  OPCODE_INFO3 (0xf800cd00,
5161			(0_4, AREG, OPRND_SHIFT_0_BIT),
5162			(16_20, AREG, OPRND_SHIFT_0_BIT),
5163			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5164	  CSKY_ISA_DSP_ENHANCE),
5165    OP32 ("pmin.s16",
5166	  OPCODE_INFO3 (0xf800cd80,
5167			(0_4, AREG, OPRND_SHIFT_0_BIT),
5168			(16_20, AREG, OPRND_SHIFT_0_BIT),
5169			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5170	  CSKY_ISA_DSP_ENHANCE),
5171    OP32 ("min.u32",
5172	  OPCODE_INFO3 (0xf800cd20,
5173			(0_4, AREG, OPRND_SHIFT_0_BIT),
5174			(16_20, AREG, OPRND_SHIFT_0_BIT),
5175			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5176	  CSKY_ISA_DSP_ENHANCE),
5177    OP32 ("min.s32",
5178	  OPCODE_INFO3 (0xf800cda0,
5179			(0_4, AREG, OPRND_SHIFT_0_BIT),
5180			(16_20, AREG, OPRND_SHIFT_0_BIT),
5181			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5182	  CSKY_ISA_DSP_ENHANCE),
5183    OP32 ("sel",
5184	  OPCODE_INFO4 (0xf8009000,
5185			(0_4, AREG, OPRND_SHIFT_0_BIT),
5186			(16_20, AREG, OPRND_SHIFT_0_BIT),
5187			(21_25, AREG, OPRND_SHIFT_0_BIT),
5188			(5_9, AREG, OPRND_SHIFT_0_BIT)),
5189	  CSKY_ISA_DSP_ENHANCE),
5190    /* The followings are miscs.  */
5191    OP32 ("psabsa.u8",
5192	  OPCODE_INFO3 (0xf800e040,
5193			(0_4, AREG, OPRND_SHIFT_0_BIT),
5194			(16_20, AREG, OPRND_SHIFT_0_BIT),
5195			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5196	  CSKY_ISA_DSP_ENHANCE),
5197    OP32 ("psabsaa.u8",
5198	  OPCODE_INFO3 (0xf800e140,
5199			(0_4, AREG, OPRND_SHIFT_0_BIT),
5200			(16_20, AREG, OPRND_SHIFT_0_BIT),
5201			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5202	  CSKY_ISA_DSP_ENHANCE),
5203    OP32 ("divul",
5204	  OPCODE_INFO3 (0xf800e260,
5205			(0_4, AREG, OPRND_SHIFT_0_BIT),
5206			(16_20, AREG, OPRND_SHIFT_0_BIT),
5207			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5208	  CSKY_ISA_DSP_ENHANCE),
5209    OP32 ("divsl",
5210	  OPCODE_INFO3 (0xf800e2e0,
5211			(0_4, AREG, OPRND_SHIFT_0_BIT),
5212			(16_20, AREG, OPRND_SHIFT_0_BIT),
5213			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5214	  CSKY_ISA_DSP_ENHANCE),
5215    OP32 ("mulaca.s8",
5216	  OPCODE_INFO3 (0xf800e4c0,
5217			(0_4, AREG, OPRND_SHIFT_0_BIT),
5218			(16_20, AREG, OPRND_SHIFT_0_BIT),
5219			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5220	  CSKY_ISA_DSP_ENHANCE),
5221    /* The followings are shift instructions.  */
5222    OP32 ("asri.s32.r",
5223	  OPCODE_INFO3 (0xf800d1a0,
5224			(0_4, AREG, OPRND_SHIFT_0_BIT),
5225			(16_20, AREG, OPRND_SHIFT_0_BIT),
5226			(21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
5227	  CSKY_ISA_DSP_ENHANCE),
5228    OP32 ("asr.s32.r",
5229	  OPCODE_INFO3 (0xf800d1e0,
5230			(0_4, AREG, OPRND_SHIFT_0_BIT),
5231			(16_20, AREG, OPRND_SHIFT_0_BIT),
5232			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5233	  CSKY_ISA_DSP_ENHANCE),
5234    OP32 ("lsri.u32.r",
5235	  OPCODE_INFO3 (0xf800d320,
5236			(0_4, AREG, OPRND_SHIFT_0_BIT),
5237			(16_20, AREG, OPRND_SHIFT_0_BIT),
5238			(21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
5239	  CSKY_ISA_DSP_ENHANCE),
5240    OP32 ("lsr.u32.r",
5241	  OPCODE_INFO3 (0xf800d360,
5242			(0_4, AREG, OPRND_SHIFT_0_BIT),
5243			(16_20, AREG, OPRND_SHIFT_0_BIT),
5244			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5245	  CSKY_ISA_DSP_ENHANCE),
5246    OP32 ("lsli.u32.s",
5247	  OPCODE_INFO3 (0xf800d520,
5248			(0_4, AREG, OPRND_SHIFT_0_BIT),
5249			(16_20, AREG, OPRND_SHIFT_0_BIT),
5250			(21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
5251	  CSKY_ISA_DSP_ENHANCE),
5252    OP32 ("lsli.s32.s",
5253	  OPCODE_INFO3 (0xf800d5a0,
5254			(0_4, AREG, OPRND_SHIFT_0_BIT),
5255			(16_20, AREG, OPRND_SHIFT_0_BIT),
5256			(21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
5257	  CSKY_ISA_DSP_ENHANCE),
5258    OP32 ("lsl.u32.s",
5259	  OPCODE_INFO3 (0xf800d560,
5260			(0_4, AREG, OPRND_SHIFT_0_BIT),
5261			(16_20, AREG, OPRND_SHIFT_0_BIT),
5262			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5263	  CSKY_ISA_DSP_ENHANCE),
5264    OP32 ("lsl.s32.s",
5265	  OPCODE_INFO3 (0xf800d5e0,
5266			(0_4, AREG, OPRND_SHIFT_0_BIT),
5267			(16_20, AREG, OPRND_SHIFT_0_BIT),
5268			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5269	  CSKY_ISA_DSP_ENHANCE),
5270    OP32 ("pasri.s16",
5271	  OPCODE_INFO3 (0xf800d080,
5272			(0_4, AREG, OPRND_SHIFT_0_BIT),
5273			(16_20, AREG, OPRND_SHIFT_0_BIT),
5274			(21_25, OIMM4b, OPRND_SHIFT_0_BIT)),
5275	  CSKY_ISA_DSP_ENHANCE),
5276    OP32 ("pasr.s16",
5277	  OPCODE_INFO3 (0xf800d0c0,
5278			(0_4, AREG, OPRND_SHIFT_0_BIT),
5279			(16_20, AREG, OPRND_SHIFT_0_BIT),
5280			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5281	  CSKY_ISA_DSP_ENHANCE),
5282    OP32 ("pasri.s16.r",
5283	  OPCODE_INFO3 (0xf800d180,
5284			(0_4, AREG, OPRND_SHIFT_0_BIT),
5285			(16_20, AREG, OPRND_SHIFT_0_BIT),
5286			(21_25, OIMM4b, OPRND_SHIFT_0_BIT)),
5287	  CSKY_ISA_DSP_ENHANCE),
5288    OP32 ("pasr.s16.r",
5289	  OPCODE_INFO3 (0xf800d1c0,
5290			(0_4, AREG, OPRND_SHIFT_0_BIT),
5291			(16_20, AREG, OPRND_SHIFT_0_BIT),
5292			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5293	  CSKY_ISA_DSP_ENHANCE),
5294    OP32 ("plsri.u16",
5295	  OPCODE_INFO3 (0xf800d200,
5296			(0_4, AREG, OPRND_SHIFT_0_BIT),
5297			(16_20, AREG, OPRND_SHIFT_0_BIT),
5298			(21_25, OIMM4b, OPRND_SHIFT_0_BIT)),
5299	  CSKY_ISA_DSP_ENHANCE),
5300    OP32 ("plsr.u16",
5301	  OPCODE_INFO3 (0xf800d240,
5302			(0_4, AREG, OPRND_SHIFT_0_BIT),
5303			(16_20, AREG, OPRND_SHIFT_0_BIT),
5304			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5305	  CSKY_ISA_DSP_ENHANCE),
5306    OP32 ("plsri.u16.r",
5307	  OPCODE_INFO3 (0xf800d300,
5308			(0_4, AREG, OPRND_SHIFT_0_BIT),
5309			(16_20, AREG, OPRND_SHIFT_0_BIT),
5310			(21_25, OIMM4b, OPRND_SHIFT_0_BIT)),
5311	  CSKY_ISA_DSP_ENHANCE),
5312    OP32 ("plsr.u16.r",
5313	  OPCODE_INFO3 (0xf800d340,
5314			(0_4, AREG, OPRND_SHIFT_0_BIT),
5315			(16_20, AREG, OPRND_SHIFT_0_BIT),
5316			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5317	  CSKY_ISA_DSP_ENHANCE),
5318    OP32 ("plsli.u16",
5319	  OPCODE_INFO3 (0xf800d400,
5320			(0_4, AREG, OPRND_SHIFT_0_BIT),
5321			(16_20, AREG, OPRND_SHIFT_0_BIT),
5322			(21_25, OIMM4b, OPRND_SHIFT_0_BIT)),
5323	  CSKY_ISA_DSP_ENHANCE),
5324    OP32 ("plsl.u16",
5325	  OPCODE_INFO3 (0xf800d440,
5326			(0_4, AREG, OPRND_SHIFT_0_BIT),
5327			(16_20, AREG, OPRND_SHIFT_0_BIT),
5328			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5329	  CSKY_ISA_DSP_ENHANCE),
5330    OP32 ("plsli.u16.s",
5331	  OPCODE_INFO3 (0xf800d500,
5332			(0_4, AREG, OPRND_SHIFT_0_BIT),
5333			(16_20, AREG, OPRND_SHIFT_0_BIT),
5334			(21_25, OIMM4b, OPRND_SHIFT_0_BIT)),
5335	  CSKY_ISA_DSP_ENHANCE),
5336    OP32 ("plsli.s16.s",
5337	  OPCODE_INFO3 (0xf800d580,
5338			(0_4, AREG, OPRND_SHIFT_0_BIT),
5339			(16_20, AREG, OPRND_SHIFT_0_BIT),
5340			(21_25, OIMM4b, OPRND_SHIFT_0_BIT)),
5341	  CSKY_ISA_DSP_ENHANCE),
5342    OP32 ("plsl.u16.s",
5343	  OPCODE_INFO3 (0xf800d540,
5344			(0_4, AREG, OPRND_SHIFT_0_BIT),
5345			(16_20, AREG, OPRND_SHIFT_0_BIT),
5346			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5347	  CSKY_ISA_DSP_ENHANCE),
5348    OP32 ("plsl.s16.s",
5349	  OPCODE_INFO3 (0xf800d5c0,
5350			(0_4, AREG, OPRND_SHIFT_0_BIT),
5351			(16_20, AREG, OPRND_SHIFT_0_BIT),
5352			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5353	  CSKY_ISA_DSP_ENHANCE),
5354    /* The following are package & unpackage instructions.  */
5355    OP32 ("pkg",
5356	  OPCODE_INFO5 (0xf800a000,
5357			(0_4, AREG, OPRND_SHIFT_0_BIT),
5358			(16_20, AREG, OPRND_SHIFT_0_BIT),
5359			(5_8, IMM4b, OPRND_SHIFT_0_BIT),
5360			(21_25, AREG, OPRND_SHIFT_0_BIT),
5361			(9_12, OIMM4b, OPRND_SHIFT_0_BIT)),
5362	  CSKY_ISA_DSP_ENHANCE),
5363    OP32 ("dexti",
5364	  OPCODE_INFO4 (0xf8009800,
5365			(0_4, AREG, OPRND_SHIFT_0_BIT),
5366			(16_20, AREG, OPRND_SHIFT_0_BIT),
5367			(21_25, AREG, OPRND_SHIFT_0_BIT),
5368			(5_9, IMM5b, OPRND_SHIFT_0_BIT)),
5369	  CSKY_ISA_DSP_ENHANCE),
5370    OP32 ("dext",
5371	  OPCODE_INFO4 (0xf8009c00,
5372			(0_4, AREG, OPRND_SHIFT_0_BIT),
5373			(16_20, AREG, OPRND_SHIFT_0_BIT),
5374			(21_25, AREG, OPRND_SHIFT_0_BIT),
5375			(5_9, AREG, OPRND_SHIFT_0_BIT)),
5376	  CSKY_ISA_DSP_ENHANCE),
5377    OP32 ("pkgll",
5378	  OPCODE_INFO3 (0xf800d840,
5379			(0_4, AREG, OPRND_SHIFT_0_BIT),
5380			(16_20, AREG, OPRND_SHIFT_0_BIT),
5381			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5382	  CSKY_ISA_DSP_ENHANCE),
5383    OP32 ("pkghh",
5384	  OPCODE_INFO3 (0xf800d860,
5385			(0_4, AREG, OPRND_SHIFT_0_BIT),
5386			(16_20, AREG, OPRND_SHIFT_0_BIT),
5387			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5388	  CSKY_ISA_DSP_ENHANCE),
5389    OP32 ("pext.u8.e",
5390	  OPCODE_INFO2 (0xf800d900,
5391			(0_4, AREG, OPRND_SHIFT_0_BIT),
5392			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5393	  CSKY_ISA_DSP_ENHANCE),
5394    OP32 ("pext.s8.e",
5395	  OPCODE_INFO2 (0xf800d980,
5396			(0_4, AREG, OPRND_SHIFT_0_BIT),
5397			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5398	  CSKY_ISA_DSP_ENHANCE),
5399    OP32 ("pextx.u8.e",
5400	  OPCODE_INFO2 (0xf800d920,
5401			(0_4, AREG, OPRND_SHIFT_0_BIT),
5402			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5403	  CSKY_ISA_DSP_ENHANCE),
5404    OP32 ("pextx.s8.e",
5405	  OPCODE_INFO2 (0xf800d9a0,
5406			(0_4, AREG, OPRND_SHIFT_0_BIT),
5407			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5408	  CSKY_ISA_DSP_ENHANCE),
5409    OP32 ("narl",
5410	  OPCODE_INFO3 (0xf800da00,
5411			(0_4, AREG, OPRND_SHIFT_0_BIT),
5412			(16_20, AREG, OPRND_SHIFT_0_BIT),
5413			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5414	  CSKY_ISA_DSP_ENHANCE),
5415    OP32 ("narh",
5416	  OPCODE_INFO3 (0xf800da20,
5417			(0_4, AREG, OPRND_SHIFT_0_BIT),
5418			(16_20, AREG, OPRND_SHIFT_0_BIT),
5419			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5420	  CSKY_ISA_DSP_ENHANCE),
5421    OP32 ("narlx",
5422	  OPCODE_INFO3 (0xf800da40,
5423			(0_4, AREG, OPRND_SHIFT_0_BIT),
5424			(16_20, AREG, OPRND_SHIFT_0_BIT),
5425			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5426	  CSKY_ISA_DSP_ENHANCE),
5427    OP32 ("narhx",
5428	  OPCODE_INFO3 (0xf800da60,
5429			(0_4, AREG, OPRND_SHIFT_0_BIT),
5430			(16_20, AREG, OPRND_SHIFT_0_BIT),
5431			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5432	  CSKY_ISA_DSP_ENHANCE),
5433    OP32 ("clipi.u32",
5434	  OPCODE_INFO3 (0xf800db00,
5435			(0_4, AREG, OPRND_SHIFT_0_BIT),
5436			(16_20, AREG, OPRND_SHIFT_0_BIT),
5437			(21_25, IMM5b, OPRND_SHIFT_0_BIT)),
5438	  CSKY_ISA_DSP_ENHANCE),
5439    OP32 ("clipi.s32",
5440	  OPCODE_INFO3 (0xf800db80,
5441			(0_4, AREG, OPRND_SHIFT_0_BIT),
5442			(16_20, AREG, OPRND_SHIFT_0_BIT),
5443			(21_25, OIMM5b, OPRND_SHIFT_0_BIT)),
5444	  CSKY_ISA_DSP_ENHANCE),
5445    OP32 ("clip.u32",
5446	  OPCODE_INFO3 (0xf800db20,
5447			(0_4, AREG, OPRND_SHIFT_0_BIT),
5448			(16_20, AREG, OPRND_SHIFT_0_BIT),
5449			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5450	  CSKY_ISA_DSP_ENHANCE),
5451    OP32 ("clip.s32",
5452	  OPCODE_INFO3 (0xf800dba0,
5453			(0_4, AREG, OPRND_SHIFT_0_BIT),
5454			(16_20, AREG, OPRND_SHIFT_0_BIT),
5455			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5456	  CSKY_ISA_DSP_ENHANCE),
5457    OP32 ("pclipi.u16",
5458	  OPCODE_INFO3 (0xf800db40,
5459			(0_4, AREG, OPRND_SHIFT_0_BIT),
5460			(16_20, AREG, OPRND_SHIFT_0_BIT),
5461			(21_25, IMM4b, OPRND_SHIFT_0_BIT)),
5462	  CSKY_ISA_DSP_ENHANCE),
5463    OP32 ("pclipi.s16",
5464	  OPCODE_INFO3 (0xf800dbc0,
5465			(0_4, AREG, OPRND_SHIFT_0_BIT),
5466			(16_20, AREG, OPRND_SHIFT_0_BIT),
5467			(21_25, OIMM4b, OPRND_SHIFT_0_BIT)),
5468	  CSKY_ISA_DSP_ENHANCE),
5469    OP32 ("pclip.u16",
5470	  OPCODE_INFO3 (0xf800db60,
5471			(0_4, AREG, OPRND_SHIFT_0_BIT),
5472			(16_20, AREG, OPRND_SHIFT_0_BIT),
5473			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5474	  CSKY_ISA_DSP_ENHANCE),
5475    OP32 ("pclip.s16",
5476	  OPCODE_INFO3 (0xf800dbe0,
5477			(0_4, AREG, OPRND_SHIFT_0_BIT),
5478			(16_20, AREG, OPRND_SHIFT_0_BIT),
5479			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5480	  CSKY_ISA_DSP_ENHANCE),
5481    OP32 ("pabs.s8.s",
5482	  OPCODE_INFO2 (0xf800dc80,
5483			(0_4, AREG, OPRND_SHIFT_0_BIT),
5484			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5485	  CSKY_ISA_DSP_ENHANCE),
5486    OP32 ("pabs.s16.s",
5487	  OPCODE_INFO2 (0xf800dca0,
5488			(0_4, AREG, OPRND_SHIFT_0_BIT),
5489			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5490	  CSKY_ISA_DSP_ENHANCE),
5491    OP32 ("abs.s32.s",
5492	  OPCODE_INFO2 (0xf800dcc0,
5493			(0_4, AREG, OPRND_SHIFT_0_BIT),
5494			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5495	  CSKY_ISA_DSP_ENHANCE),
5496    OP32 ("pneg.s8.s",
5497	  OPCODE_INFO2 (0xf800dd80,
5498			(0_4, AREG, OPRND_SHIFT_0_BIT),
5499			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5500	  CSKY_ISA_DSP_ENHANCE),
5501    OP32 ("pneg.s16.s",
5502	  OPCODE_INFO2 (0xf800dda0,
5503			(0_4, AREG, OPRND_SHIFT_0_BIT),
5504			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5505	  CSKY_ISA_DSP_ENHANCE),
5506    OP32 ("neg.s32.s",
5507	  OPCODE_INFO2 (0xf800ddc0,
5508			(0_4, AREG, OPRND_SHIFT_0_BIT),
5509			(16_20, AREG, OPRND_SHIFT_0_BIT)),
5510	  CSKY_ISA_DSP_ENHANCE),
5511    OP32 ("dup.8",
5512	  OPCODE_INFO3 (0xf800de00,
5513			(0_4, AREG, OPRND_SHIFT_0_BIT),
5514			(16_20, AREG, OPRND_SHIFT_0_BIT),
5515			(5_6, IMM2b, OPRND_SHIFT_0_BIT)),
5516	  CSKY_ISA_DSP_ENHANCE),
5517    OP32 ("dup.16",
5518	  OPCODE_INFO3 (0xf800df00,
5519			(0_4, AREG, OPRND_SHIFT_0_BIT),
5520			(16_20, AREG, OPRND_SHIFT_0_BIT),
5521			(5_6, IMM1b, OPRND_SHIFT_0_BIT)),
5522	  CSKY_ISA_DSP_ENHANCE),
5523    /* The followings are multiplication instructions.  */
5524    OP32 ("mul.u32",
5525	  OPCODE_INFO3 (0xf8008000,
5526			(0_4, AREG, OPRND_SHIFT_0_BIT),
5527			(16_20, AREG, OPRND_SHIFT_0_BIT),
5528			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5529	  CSKYV2_ISA_3E3R1),
5530    OP32 ("mul.s32",
5531	  OPCODE_INFO3 (0xf8008200,
5532			(0_4, AREG, OPRND_SHIFT_0_BIT),
5533			(16_20, AREG, OPRND_SHIFT_0_BIT),
5534			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5535	  CSKYV2_ISA_3E3R1),
5536    OP32 ("mula.u32",
5537	  OPCODE_INFO3 (0xf8008080,
5538			(0_4, AREG, OPRND_SHIFT_0_BIT),
5539			(16_20, AREG, OPRND_SHIFT_0_BIT),
5540			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5541	  CSKYV2_ISA_3E3R1),
5542    OP32 ("mula.s32",
5543	  OPCODE_INFO3 (0xf8008280,
5544			(0_4, AREG, OPRND_SHIFT_0_BIT),
5545			(16_20, AREG, OPRND_SHIFT_0_BIT),
5546			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5547	  CSKYV2_ISA_3E3R1),
5548    OP32 ("mula.32.l",
5549	  OPCODE_INFO3 (0xf8008440,
5550			(0_4, AREG, OPRND_SHIFT_0_BIT),
5551			(16_20, AREG, OPRND_SHIFT_0_BIT),
5552			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5553	  CSKYV2_ISA_3E3R1),
5554    OP32 ("mulall.s16.s",
5555	  OPCODE_INFO3 (0xf80081a0,
5556			(0_4, AREG, OPRND_SHIFT_0_BIT),
5557			(16_20, AREG, OPRND_SHIFT_0_BIT),
5558			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5559	  CSKYV2_ISA_3E3R1),
5560    OP32 ("muls.u32",
5561	  OPCODE_INFO3 (0xf80080c0,
5562			(0_4, AREG, OPRND_SHIFT_0_BIT),
5563			(16_20, AREG, OPRND_SHIFT_0_BIT),
5564			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5565	  CSKY_ISA_DSP_ENHANCE),
5566    OP32 ("muls.s32",
5567	  OPCODE_INFO3 (0xf80082c0,
5568			(0_4, AREG, OPRND_SHIFT_0_BIT),
5569			(16_20, AREG, OPRND_SHIFT_0_BIT),
5570			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5571	  CSKY_ISA_DSP_ENHANCE),
5572    OP32 ("mula.u32.s",
5573	  OPCODE_INFO3 (0xf8008180,
5574			(0_4, AREG, OPRND_SHIFT_0_BIT),
5575			(16_20, AREG, OPRND_SHIFT_0_BIT),
5576			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5577	  CSKY_ISA_DSP_ENHANCE),
5578    OP32 ("mula.s32.s",
5579	  OPCODE_INFO3 (0xf8008380,
5580			(0_4, AREG, OPRND_SHIFT_0_BIT),
5581			(16_20, AREG, OPRND_SHIFT_0_BIT),
5582			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5583	  CSKY_ISA_DSP_ENHANCE),
5584    OP32 ("muls.u32.s",
5585	  OPCODE_INFO3 (0xf80081c0,
5586			(0_4, AREG, OPRND_SHIFT_0_BIT),
5587			(16_20, AREG, OPRND_SHIFT_0_BIT),
5588			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5589	  CSKY_ISA_DSP_ENHANCE),
5590    OP32 ("muls.s32.s",
5591	  OPCODE_INFO3 (0xf80083c0,
5592			(0_4, AREG, OPRND_SHIFT_0_BIT),
5593			(16_20, AREG, OPRND_SHIFT_0_BIT),
5594			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5595	  CSKY_ISA_DSP_ENHANCE),
5596    OP32 ("mul.s32.h",
5597	  OPCODE_INFO3 (0xf8008400,
5598			(0_4, AREG, OPRND_SHIFT_0_BIT),
5599			(16_20, AREG, OPRND_SHIFT_0_BIT),
5600			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5601	  CSKY_ISA_DSP_ENHANCE),
5602    OP32 ("mul.s32.rh",
5603	  OPCODE_INFO3 (0xf8008600,
5604			(0_4, AREG, OPRND_SHIFT_0_BIT),
5605			(16_20, AREG, OPRND_SHIFT_0_BIT),
5606			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5607	  CSKY_ISA_DSP_ENHANCE),
5608    OP32 ("rmul.s32.h",
5609	  OPCODE_INFO3 (0xf8008500,
5610			(0_4, AREG, OPRND_SHIFT_0_BIT),
5611			(16_20, AREG, OPRND_SHIFT_0_BIT),
5612			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5613	  CSKY_ISA_DSP_ENHANCE),
5614    OP32 ("rmul.s32.rh",
5615	  OPCODE_INFO3 (0xf8008700,
5616			(0_4, AREG, OPRND_SHIFT_0_BIT),
5617			(16_20, AREG, OPRND_SHIFT_0_BIT),
5618			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5619	  CSKY_ISA_DSP_ENHANCE),
5620    OP32 ("mula.s32.hs",
5621	  OPCODE_INFO3 (0xf8008580,
5622			(0_4, AREG, OPRND_SHIFT_0_BIT),
5623			(16_20, AREG, OPRND_SHIFT_0_BIT),
5624			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5625	  CSKY_ISA_DSP_ENHANCE),
5626    OP32 ("muls.s32.hs",
5627	  OPCODE_INFO3 (0xf80085c0,
5628			(0_4, AREG, OPRND_SHIFT_0_BIT),
5629			(16_20, AREG, OPRND_SHIFT_0_BIT),
5630			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5631	  CSKY_ISA_DSP_ENHANCE),
5632    OP32 ("mula.s32.rhs",
5633	  OPCODE_INFO3 (0xf8008780,
5634			(0_4, AREG, OPRND_SHIFT_0_BIT),
5635			(16_20, AREG, OPRND_SHIFT_0_BIT),
5636			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5637	  CSKY_ISA_DSP_ENHANCE),
5638    OP32 ("muls.s32.rhs",
5639	  OPCODE_INFO3 (0xf80087c0,
5640			(0_4, AREG, OPRND_SHIFT_0_BIT),
5641			(16_20, AREG, OPRND_SHIFT_0_BIT),
5642			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5643	  CSKY_ISA_DSP_ENHANCE),
5644    OP32 ("mulxl.s32",
5645	  OPCODE_INFO3 (0xf8008800,
5646			(0_4, AREG, OPRND_SHIFT_0_BIT),
5647			(16_20, AREG, OPRND_SHIFT_0_BIT),
5648			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5649	  CSKY_ISA_DSP_ENHANCE),
5650    OP32 ("mulxl.s32.r",
5651	  OPCODE_INFO3 (0xf8008a00,
5652			(0_4, AREG, OPRND_SHIFT_0_BIT),
5653			(16_20, AREG, OPRND_SHIFT_0_BIT),
5654			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5655	  CSKY_ISA_DSP_ENHANCE),
5656    OP32 ("mulxh.s32",
5657	  OPCODE_INFO3 (0xf8008c00,
5658			(0_4, AREG, OPRND_SHIFT_0_BIT),
5659			(16_20, AREG, OPRND_SHIFT_0_BIT),
5660			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5661	  CSKY_ISA_DSP_ENHANCE),
5662    OP32 ("mulxh.s32.r",
5663	  OPCODE_INFO3 (0xf8008e00,
5664			(0_4, AREG, OPRND_SHIFT_0_BIT),
5665			(16_20, AREG, OPRND_SHIFT_0_BIT),
5666			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5667	  CSKY_ISA_DSP_ENHANCE),
5668    OP32 ("rmulxl.s32",
5669	  OPCODE_INFO3 (0xf8008900,
5670			(0_4, AREG, OPRND_SHIFT_0_BIT),
5671			(16_20, AREG, OPRND_SHIFT_0_BIT),
5672			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5673	  CSKY_ISA_DSP_ENHANCE),
5674    OP32 ("rmulxl.s32.r",
5675	  OPCODE_INFO3 (0xf8008b00,
5676			(0_4, AREG, OPRND_SHIFT_0_BIT),
5677			(16_20, AREG, OPRND_SHIFT_0_BIT),
5678			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5679	  CSKY_ISA_DSP_ENHANCE),
5680    OP32 ("rmulxh.s32",
5681	  OPCODE_INFO3 (0xf8008d00,
5682			(0_4, AREG, OPRND_SHIFT_0_BIT),
5683			(16_20, AREG, OPRND_SHIFT_0_BIT),
5684			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5685	  CSKY_ISA_DSP_ENHANCE),
5686    OP32 ("rmulxh.s32.r",
5687	  OPCODE_INFO3 (0xf8008f00,
5688			(0_4, AREG, OPRND_SHIFT_0_BIT),
5689			(16_20, AREG, OPRND_SHIFT_0_BIT),
5690			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5691	  CSKY_ISA_DSP_ENHANCE),
5692    OP32 ("mulaxl.s32.s",
5693	  OPCODE_INFO3 (0xf8008980,
5694			(0_4, AREG, OPRND_SHIFT_0_BIT),
5695			(16_20, AREG, OPRND_SHIFT_0_BIT),
5696			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5697	  CSKY_ISA_DSP_ENHANCE),
5698    OP32 ("mulaxl.s32.rs",
5699	  OPCODE_INFO3 (0xf8008b80,
5700			(0_4, AREG, OPRND_SHIFT_0_BIT),
5701			(16_20, AREG, OPRND_SHIFT_0_BIT),
5702			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5703	  CSKY_ISA_DSP_ENHANCE),
5704    OP32 ("mulaxh.s32.s",
5705	  OPCODE_INFO3 (0xf8008d80,
5706			(0_4, AREG, OPRND_SHIFT_0_BIT),
5707			(16_20, AREG, OPRND_SHIFT_0_BIT),
5708			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5709	  CSKY_ISA_DSP_ENHANCE),
5710    OP32 ("mulaxh.s32.rs",
5711	  OPCODE_INFO3 (0xf8008f80,
5712			(0_4, AREG, OPRND_SHIFT_0_BIT),
5713			(16_20, AREG, OPRND_SHIFT_0_BIT),
5714			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5715	  CSKY_ISA_DSP_ENHANCE),
5716    OP32 ("mulll.s16",
5717	  OPCODE_INFO3 (0xf8008020,
5718			(0_4, AREG, OPRND_SHIFT_0_BIT),
5719			(16_20, AREG, OPRND_SHIFT_0_BIT),
5720			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5721	  CSKY_ISA_DSP_ENHANCE),
5722    OP32 ("mulhh.s16",
5723	  OPCODE_INFO3 (0xf8008260,
5724			(0_4, AREG, OPRND_SHIFT_0_BIT),
5725			(16_20, AREG, OPRND_SHIFT_0_BIT),
5726			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5727	  CSKY_ISA_DSP_ENHANCE),
5728    OP32 ("mulhl.s16",
5729	  OPCODE_INFO3 (0xf8008220,
5730			(0_4, AREG, OPRND_SHIFT_0_BIT),
5731			(16_20, AREG, OPRND_SHIFT_0_BIT),
5732			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5733	  CSKY_ISA_DSP_ENHANCE),
5734    OP32 ("rmulll.s16",
5735	  OPCODE_INFO3 (0xf8008120,
5736			(0_4, AREG, OPRND_SHIFT_0_BIT),
5737			(16_20, AREG, OPRND_SHIFT_0_BIT),
5738			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5739	  CSKY_ISA_DSP_ENHANCE),
5740    OP32 ("rmulhh.s16",
5741	  OPCODE_INFO3 (0xf8008360,
5742			(0_4, AREG, OPRND_SHIFT_0_BIT),
5743			(16_20, AREG, OPRND_SHIFT_0_BIT),
5744			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5745	  CSKY_ISA_DSP_ENHANCE),
5746    OP32 ("rmulhl.s16",
5747	  OPCODE_INFO3 (0xf8008320,
5748			(0_4, AREG, OPRND_SHIFT_0_BIT),
5749			(16_20, AREG, OPRND_SHIFT_0_BIT),
5750			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5751	  CSKY_ISA_DSP_ENHANCE),
5752    OP32 ("mulahh.s16.s",
5753	  OPCODE_INFO3 (0xf80083e0,
5754			(0_4, AREG, OPRND_SHIFT_0_BIT),
5755			(16_20, AREG, OPRND_SHIFT_0_BIT),
5756			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5757	  CSKY_ISA_DSP_ENHANCE),
5758    OP32 ("mulahl.s16.s",
5759	  OPCODE_INFO3 (0xf80083a0,
5760			(0_4, AREG, OPRND_SHIFT_0_BIT),
5761			(16_20, AREG, OPRND_SHIFT_0_BIT),
5762			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5763	  CSKY_ISA_DSP_ENHANCE),
5764    OP32 ("mulall.s16.e",
5765	  OPCODE_INFO3 (0xf80080a0,
5766			(0_4, AREG, OPRND_SHIFT_0_BIT),
5767			(16_20, AREG, OPRND_SHIFT_0_BIT),
5768			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5769	  CSKY_ISA_DSP_ENHANCE),
5770    OP32 ("mulahh.s16.e",
5771	  OPCODE_INFO3 (0xf80082e0,
5772			(0_4, AREG, OPRND_SHIFT_0_BIT),
5773			(16_20, AREG, OPRND_SHIFT_0_BIT),
5774			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5775	  CSKY_ISA_DSP_ENHANCE),
5776    OP32 ("mulahl.s16.e",
5777	  OPCODE_INFO3 (0xf80080e0,
5778			(0_4, AREG, OPRND_SHIFT_0_BIT),
5779			(16_20, AREG, OPRND_SHIFT_0_BIT),
5780			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5781	  CSKY_ISA_DSP_ENHANCE),
5782    OP32 ("pmul.u16",
5783	  OPCODE_INFO3 (0xf80084a0,
5784			(0_4, AREG, OPRND_SHIFT_0_BIT),
5785			(16_20, AREG, OPRND_SHIFT_0_BIT),
5786			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5787	  CSKY_ISA_DSP_ENHANCE),
5788    OP32 ("pmulx.u16",
5789	  OPCODE_INFO3 (0xf80084e0,
5790			(0_4, AREG, OPRND_SHIFT_0_BIT),
5791			(16_20, AREG, OPRND_SHIFT_0_BIT),
5792			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5793	  CSKY_ISA_DSP_ENHANCE),
5794    OP32 ("pmul.s16",
5795	  OPCODE_INFO3 (0xf8008420,
5796			(0_4, AREG, OPRND_SHIFT_0_BIT),
5797			(16_20, AREG, OPRND_SHIFT_0_BIT),
5798			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5799	  CSKY_ISA_DSP_ENHANCE),
5800    OP32 ("pmulx.s16",
5801	  OPCODE_INFO3 (0xf8008460,
5802			(0_4, AREG, OPRND_SHIFT_0_BIT),
5803			(16_20, AREG, OPRND_SHIFT_0_BIT),
5804			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5805	  CSKY_ISA_DSP_ENHANCE),
5806    OP32 ("prmul.s16",
5807	  OPCODE_INFO3 (0xf8008520,
5808			(0_4, AREG, OPRND_SHIFT_0_BIT),
5809			(16_20, AREG, OPRND_SHIFT_0_BIT),
5810			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5811	  CSKY_ISA_DSP_ENHANCE),
5812    OP32 ("prmulx.s16",
5813	  OPCODE_INFO3 (0xf8008560,
5814			(0_4, AREG, OPRND_SHIFT_0_BIT),
5815			(16_20, AREG, OPRND_SHIFT_0_BIT),
5816			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5817	  CSKY_ISA_DSP_ENHANCE),
5818    OP32 ("prmul.s16.h",
5819	  OPCODE_INFO3 (0xf80085a0,
5820			(0_4, AREG, OPRND_SHIFT_0_BIT),
5821			(16_20, AREG, OPRND_SHIFT_0_BIT),
5822			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5823	  CSKY_ISA_DSP_ENHANCE),
5824    OP32 ("prmul.s16.rh",
5825	  OPCODE_INFO3 (0xf80087a0,
5826			(0_4, AREG, OPRND_SHIFT_0_BIT),
5827			(16_20, AREG, OPRND_SHIFT_0_BIT),
5828			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5829	  CSKY_ISA_DSP_ENHANCE),
5830    OP32 ("prmulx.s16.h",
5831	  OPCODE_INFO3 (0xf80085e0,
5832			(0_4, AREG, OPRND_SHIFT_0_BIT),
5833			(16_20, AREG, OPRND_SHIFT_0_BIT),
5834			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5835	  CSKY_ISA_DSP_ENHANCE),
5836    OP32 ("prmulx.s16.rh",
5837	  OPCODE_INFO3 (0xf80087e0,
5838			(0_4, AREG, OPRND_SHIFT_0_BIT),
5839			(16_20, AREG, OPRND_SHIFT_0_BIT),
5840			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5841	  CSKY_ISA_DSP_ENHANCE),
5842    OP32 ("mulca.s16.s",
5843	  OPCODE_INFO3 (0xf8008920,
5844			(0_4, AREG, OPRND_SHIFT_0_BIT),
5845			(16_20, AREG, OPRND_SHIFT_0_BIT),
5846			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5847	  CSKY_ISA_DSP_ENHANCE),
5848    OP32 ("mulcax.s16.s",
5849	  OPCODE_INFO3 (0xf8008960,
5850			(0_4, AREG, OPRND_SHIFT_0_BIT),
5851			(16_20, AREG, OPRND_SHIFT_0_BIT),
5852			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5853	  CSKY_ISA_DSP_ENHANCE),
5854    OP32 ("mulcs.s16",
5855	  OPCODE_INFO3 (0xf8008a20,
5856			(0_4, AREG, OPRND_SHIFT_0_BIT),
5857			(16_20, AREG, OPRND_SHIFT_0_BIT),
5858			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5859	  CSKY_ISA_DSP_ENHANCE),
5860    OP32 ("mulcsr.s16",
5861	  OPCODE_INFO3 (0xf8008a60,
5862			(0_4, AREG, OPRND_SHIFT_0_BIT),
5863			(16_20, AREG, OPRND_SHIFT_0_BIT),
5864			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5865	  CSKY_ISA_DSP_ENHANCE),
5866    OP32 ("mulcsx.s16",
5867	  OPCODE_INFO3 (0xf8008c20,
5868			(0_4, AREG, OPRND_SHIFT_0_BIT),
5869			(16_20, AREG, OPRND_SHIFT_0_BIT),
5870			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5871	  CSKY_ISA_DSP_ENHANCE),
5872    OP32 ("mulaca.s16.s",
5873	  OPCODE_INFO3 (0xf80089a0,
5874			(0_4, AREG, OPRND_SHIFT_0_BIT),
5875			(16_20, AREG, OPRND_SHIFT_0_BIT),
5876			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5877	  CSKY_ISA_DSP_ENHANCE),
5878    OP32 ("mulacax.s16.s",
5879	  OPCODE_INFO3 (0xf80089e0,
5880			(0_4, AREG, OPRND_SHIFT_0_BIT),
5881			(16_20, AREG, OPRND_SHIFT_0_BIT),
5882			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5883	  CSKY_ISA_DSP_ENHANCE),
5884    OP32 ("mulacs.s16.s",
5885	  OPCODE_INFO3 (0xf8008ba0,
5886			(0_4, AREG, OPRND_SHIFT_0_BIT),
5887			(16_20, AREG, OPRND_SHIFT_0_BIT),
5888			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5889	  CSKY_ISA_DSP_ENHANCE),
5890    OP32 ("mulacsr.s16.s",
5891	  OPCODE_INFO3 (0xf8008be0,
5892			(0_4, AREG, OPRND_SHIFT_0_BIT),
5893			(16_20, AREG, OPRND_SHIFT_0_BIT),
5894			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5895	  CSKY_ISA_DSP_ENHANCE),
5896    OP32 ("mulacsx.s16.s",
5897	  OPCODE_INFO3 (0xf8008da0,
5898			(0_4, AREG, OPRND_SHIFT_0_BIT),
5899			(16_20, AREG, OPRND_SHIFT_0_BIT),
5900			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5901	  CSKY_ISA_DSP_ENHANCE),
5902    OP32 ("mulsca.s16.s",
5903	  OPCODE_INFO3 (0xf8008de0,
5904			(0_4, AREG, OPRND_SHIFT_0_BIT),
5905			(16_20, AREG, OPRND_SHIFT_0_BIT),
5906			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5907	  CSKY_ISA_DSP_ENHANCE),
5908    OP32 ("mulscax.s16.s",
5909	  OPCODE_INFO3 (0xf8008fa0,
5910			(0_4, AREG, OPRND_SHIFT_0_BIT),
5911			(16_20, AREG, OPRND_SHIFT_0_BIT),
5912			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5913	  CSKY_ISA_DSP_ENHANCE),
5914    OP32 ("mulaca.s16.e",
5915	  OPCODE_INFO3 (0xf80088a0,
5916			(0_4, AREG, OPRND_SHIFT_0_BIT),
5917			(16_20, AREG, OPRND_SHIFT_0_BIT),
5918			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5919	  CSKY_ISA_DSP_ENHANCE),
5920    OP32 ("mulacax.s16.e",
5921	  OPCODE_INFO3 (0xf80088e0,
5922			(0_4, AREG, OPRND_SHIFT_0_BIT),
5923			(16_20, AREG, OPRND_SHIFT_0_BIT),
5924			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5925	  CSKY_ISA_DSP_ENHANCE),
5926    OP32 ("mulacs.s16.e",
5927	  OPCODE_INFO3 (0xf8008aa0,
5928			(0_4, AREG, OPRND_SHIFT_0_BIT),
5929			(16_20, AREG, OPRND_SHIFT_0_BIT),
5930			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5931	  CSKY_ISA_DSP_ENHANCE),
5932    OP32 ("mulacsr.s16.e",
5933	  OPCODE_INFO3 (0xf8008ae0,
5934			(0_4, AREG, OPRND_SHIFT_0_BIT),
5935			(16_20, AREG, OPRND_SHIFT_0_BIT),
5936			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5937	  CSKY_ISA_DSP_ENHANCE),
5938    OP32 ("mulacsx.s16.e",
5939	  OPCODE_INFO3 (0xf8008ca0,
5940			(0_4, AREG, OPRND_SHIFT_0_BIT),
5941			(16_20, AREG, OPRND_SHIFT_0_BIT),
5942			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5943	  CSKY_ISA_DSP_ENHANCE),
5944    OP32 ("mulsca.s16.e",
5945	  OPCODE_INFO3 (0xf8008ce0,
5946			(0_4, AREG, OPRND_SHIFT_0_BIT),
5947			(16_20, AREG, OPRND_SHIFT_0_BIT),
5948			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5949	  CSKY_ISA_DSP_ENHANCE),
5950    OP32 ("mulscax.s16.e",
5951	  OPCODE_INFO3 (0xf8008ea0,
5952			(0_4, AREG, OPRND_SHIFT_0_BIT),
5953			(16_20, AREG, OPRND_SHIFT_0_BIT),
5954			(21_25, AREG, OPRND_SHIFT_0_BIT)),
5955	  CSKY_ISA_DSP_ENHANCE),
5956
5957    /* The followings are vdsp instructions for ck810.  */
5958    OP32 ("vdup.8",
5959	  OPCODE_INFO2 (0xf8000e80,
5960			(0_3, FREG, OPRND_SHIFT_0_BIT),
5961			(16_19or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT)),
5962	  CSKY_ISA_VDSP),
5963    OP32 ("vdup.16",
5964	  OPCODE_INFO2 (0xf8100e80,
5965			(0_3, FREG, OPRND_SHIFT_0_BIT),
5966			(16_19or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT)),
5967	  CSKY_ISA_VDSP),
5968    OP32 ("vdup.32",
5969	  OPCODE_INFO2 (0xfa000e80,
5970			(0_3, FREG, OPRND_SHIFT_0_BIT),
5971			(16_19or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT)),
5972	  CSKY_ISA_VDSP),
5973    OP32 ("vmfvr.u8",
5974	  OPCODE_INFO2 (0xf8001200,
5975			(0_4, AREG, OPRND_SHIFT_0_BIT),
5976			(16_19or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT)),
5977	  CSKY_ISA_VDSP),
5978    OP32 ("vmfvr.u16",
5979	  OPCODE_INFO2 (0xf8001220,
5980			(0_4, AREG, OPRND_SHIFT_0_BIT),
5981			(16_19or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT)),
5982	  CSKY_ISA_VDSP),
5983    OP32 ("vmfvr.u32",
5984	  OPCODE_INFO2 (0xf8001240,
5985			(0_4, AREG, OPRND_SHIFT_0_BIT),
5986			(16_19or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT)),
5987	  CSKY_ISA_VDSP),
5988    OP32 ("vmfvr.s8",
5989	  OPCODE_INFO2 (0xf8001280,
5990			(0_4, AREG, OPRND_SHIFT_0_BIT),
5991			(16_19or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT)),
5992	  CSKY_ISA_VDSP),
5993    OP32 ("vmfvr.s16",
5994	  OPCODE_INFO2 (0xf80012a0,
5995			(0_4, AREG, OPRND_SHIFT_0_BIT),
5996			(16_19or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT)),
5997	  CSKY_ISA_VDSP),
5998    OP32 ("vmtvr.u8",
5999	  OPCODE_INFO2 (0xf8001300,
6000			(0_3or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT),
6001			(16_20, AREG, OPRND_SHIFT_0_BIT)),
6002	  CSKY_ISA_VDSP),
6003    OP32 ("vmtvr.u16",
6004	  OPCODE_INFO2 (0xf8001320,
6005			(0_3or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT),
6006			(16_20, AREG, OPRND_SHIFT_0_BIT)),
6007	  CSKY_ISA_VDSP),
6008    OP32 ("vmtvr.u32",
6009	  OPCODE_INFO2 (0xf8001340,
6010			(0_3or21_24, FREG_WITH_INDEX, OPRND_SHIFT_0_BIT),
6011			(16_20, AREG, OPRND_SHIFT_0_BIT)),
6012	  CSKY_ISA_VDSP),
6013    OP32 ("vldd.8",
6014	  SOPCODE_INFO2 (0xf8002000,
6015			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6016			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6017					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))),
6018	  CSKY_ISA_VDSP),
6019    OP32 ("vldd.16",
6020	  SOPCODE_INFO2 (0xf8002100,
6021			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6022			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6023					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))),
6024	  CSKY_ISA_VDSP),
6025    OP32 ("vldd.32",
6026	  SOPCODE_INFO2 (0xf8002200,
6027			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6028			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6029					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))),
6030	  CSKY_ISA_VDSP),
6031    OP32 ("vldq.8",
6032	  SOPCODE_INFO2 (0xf8002400,
6033			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6034			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6035					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))),
6036	  CSKY_ISA_VDSP),
6037    OP32 ("vldq.16",
6038	  SOPCODE_INFO2 (0xf8002500,
6039			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6040			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6041					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))),
6042	  CSKY_ISA_VDSP),
6043    OP32 ("vldq.32",
6044	  SOPCODE_INFO2 (0xf8002600,
6045			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6046			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6047					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))),
6048	  CSKY_ISA_VDSP),
6049    OP32 ("vstd.8",
6050	  SOPCODE_INFO2 (0xf8002800,
6051			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6052			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6053					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))),
6054	  CSKY_ISA_VDSP),
6055    OP32 ("vstd.16",
6056	  SOPCODE_INFO2 (0xf8002900,
6057			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6058			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6059					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))),
6060	  CSKY_ISA_VDSP),
6061    OP32 ("vstd.32",
6062	  SOPCODE_INFO2 (0xf8002a00,
6063			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6064			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6065					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))),
6066	  CSKY_ISA_VDSP),
6067    OP32 ("vstq.8",
6068	  SOPCODE_INFO2 (0xf8002c00,
6069			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6070			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6071					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))),
6072	  CSKY_ISA_VDSP),
6073    OP32 ("vstq.16",
6074	  SOPCODE_INFO2 (0xf8002d00,
6075			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6076			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6077					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))),
6078	  CSKY_ISA_VDSP),
6079    OP32 ("vstq.32",
6080	  SOPCODE_INFO2 (0xf8002e00,
6081			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6082			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6083					(4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))),
6084	  CSKY_ISA_VDSP),
6085    OP32 ("vldrd.8",
6086	  SOPCODE_INFO2 (0xf8003000,
6087			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6088			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6089					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6090	  CSKY_ISA_VDSP),
6091    OP32 ("vldrd.16",
6092	  SOPCODE_INFO2 (0xf8003100,
6093			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6094			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6095					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6096	  CSKY_ISA_VDSP),
6097    OP32 ("vldrd.32",
6098	  SOPCODE_INFO2 (0xf8003200,
6099			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6100			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6101					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6102	  CSKY_ISA_VDSP),
6103    OP32 ("vldrq.8",
6104	  SOPCODE_INFO2 (0xf8003400,
6105			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6106			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6107					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6108	  CSKY_ISA_VDSP),
6109    OP32 ("vldrq.16",
6110	  SOPCODE_INFO2 (0xf8003500,
6111			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6112			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6113					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6114	  CSKY_ISA_VDSP),
6115    OP32 ("vldrq.32",
6116	  SOPCODE_INFO2 (0xf8003600,
6117			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6118			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6119					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6120	  CSKY_ISA_VDSP),
6121    OP32 ("vstrd.8",
6122	  SOPCODE_INFO2 (0xf8003800,
6123			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6124			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6125					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6126	  CSKY_ISA_VDSP),
6127    OP32 ("vstrd.16",
6128	  SOPCODE_INFO2 (0xf8003900,
6129			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6130			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6131					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6132	  CSKY_ISA_VDSP),
6133    OP32 ("vstrd.32",
6134	  SOPCODE_INFO2 (0xf8003a00,
6135			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6136			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6137					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6138	  CSKY_ISA_VDSP),
6139    OP32 ("vstrq.8",
6140	  SOPCODE_INFO2 (0xf8003c00,
6141			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6142			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6143					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6144	  CSKY_ISA_VDSP),
6145    OP32 ("vstrq.16",
6146	  SOPCODE_INFO2 (0xf8003d00,
6147			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6148			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6149					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6150	  CSKY_ISA_VDSP),
6151    OP32 ("vstrq.32",
6152	  SOPCODE_INFO2 (0xf8003e00,
6153			 (0_3, FREG, OPRND_SHIFT_0_BIT),
6154			 BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT),
6155					(5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))),
6156	  CSKY_ISA_VDSP),
6157    OP32 ("vmov",
6158	  OPCODE_INFO2 (0xf8000c00,
6159			(0_3, VREG, OPRND_SHIFT_0_BIT),
6160			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6161	  CSKY_ISA_VDSP),
6162    OP32 ("vcadd.eu8",
6163	  OPCODE_INFO2 (0xf8000060,
6164			(0_3, VREG, OPRND_SHIFT_0_BIT),
6165			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6166	  CSKY_ISA_VDSP),
6167    OP32 ("vcadd.eu16",
6168	  OPCODE_INFO2 (0xf8100060,
6169			(0_3, VREG, OPRND_SHIFT_0_BIT),
6170			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6171	  CSKY_ISA_VDSP),
6172    OP32 ("vcadd.es8",
6173	  OPCODE_INFO2 (0xf8000070,
6174			(0_3, VREG, OPRND_SHIFT_0_BIT),
6175			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6176	  CSKY_ISA_VDSP),
6177    OP32 ("vcadd.es16",
6178	  OPCODE_INFO2 (0xf8100070,
6179			(0_3, VREG, OPRND_SHIFT_0_BIT),
6180			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6181	  CSKY_ISA_VDSP),
6182    OP32 ("vmov.eu8",
6183	  OPCODE_INFO2 (0xf8000c20,
6184			(0_3, VREG, OPRND_SHIFT_0_BIT),
6185			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6186	  CSKY_ISA_VDSP),
6187    OP32 ("vmov.eu16",
6188	  OPCODE_INFO2 (0xf8100c20,
6189			(0_3, VREG, OPRND_SHIFT_0_BIT),
6190			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6191	  CSKY_ISA_VDSP),
6192    OP32 ("vmov.es8",
6193	  OPCODE_INFO2 (0xf8000c30,
6194			(0_3, VREG, OPRND_SHIFT_0_BIT),
6195			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6196	  CSKY_ISA_VDSP),
6197    OP32 ("vmov.es16",
6198	  OPCODE_INFO2 (0xf8100c30,
6199			(0_3, VREG, OPRND_SHIFT_0_BIT),
6200			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6201	  CSKY_ISA_VDSP),
6202    OP32 ("vmov.u16.l",
6203	  OPCODE_INFO2 (0xf8100d00,
6204			(0_3, VREG, OPRND_SHIFT_0_BIT),
6205			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6206	  CSKY_ISA_VDSP),
6207    OP32 ("vmov.u32.l",
6208	  OPCODE_INFO2 (0xfa000d00,
6209			(0_3, VREG, OPRND_SHIFT_0_BIT),
6210			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6211	  CSKY_ISA_VDSP),
6212    OP32 ("vmov.s16.l",
6213	  OPCODE_INFO2 (0xf8100d10,
6214			(0_3, VREG, OPRND_SHIFT_0_BIT),
6215			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6216	  CSKY_ISA_VDSP),
6217    OP32 ("vmov.s32.l",
6218	  OPCODE_INFO2 (0xfa000d10,
6219			(0_3, VREG, OPRND_SHIFT_0_BIT),
6220			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6221	  CSKY_ISA_VDSP),
6222    OP32 ("vmov.u16.sl",
6223	  OPCODE_INFO2 (0xf8100d40,
6224			(0_3, VREG, OPRND_SHIFT_0_BIT),
6225			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6226	  CSKY_ISA_VDSP),
6227    OP32 ("vmov.u32.sl",
6228	  OPCODE_INFO2 (0xfa000d40,
6229			(0_3, VREG, OPRND_SHIFT_0_BIT),
6230			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6231	  CSKY_ISA_VDSP),
6232    OP32 ("vmov.s16.sl",
6233	  OPCODE_INFO2 (0xf8100d50,
6234			(0_3, VREG, OPRND_SHIFT_0_BIT),
6235			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6236	  CSKY_ISA_VDSP),
6237    OP32 ("vmov.s32.sl",
6238	  OPCODE_INFO2 (0xfa000d50,
6239			(0_3, VREG, OPRND_SHIFT_0_BIT),
6240			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6241	  CSKY_ISA_VDSP),
6242    OP32 ("vmov.u16.h",
6243	  OPCODE_INFO2 (0xf8100d60,
6244			(0_3, VREG, OPRND_SHIFT_0_BIT),
6245			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6246	  CSKY_ISA_VDSP),
6247    OP32 ("vmov.u32.h",
6248	  OPCODE_INFO2 (0xfa000d60,
6249			(0_3, VREG, OPRND_SHIFT_0_BIT),
6250			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6251	  CSKY_ISA_VDSP),
6252    OP32 ("vmov.s16.h",
6253	  OPCODE_INFO2 (0xf8100d70,
6254			(0_3, VREG, OPRND_SHIFT_0_BIT),
6255			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6256	  CSKY_ISA_VDSP),
6257    OP32 ("vmov.s32.h",
6258	  OPCODE_INFO2 (0xfa000d70,
6259			(0_3, VREG, OPRND_SHIFT_0_BIT),
6260			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6261	  CSKY_ISA_VDSP),
6262    OP32 ("vmov.u16.rh",
6263	  OPCODE_INFO2 (0xf8100d80,
6264			(0_3, VREG, OPRND_SHIFT_0_BIT),
6265			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6266	  CSKY_ISA_VDSP),
6267    OP32 ("vmov.u32.rh",
6268	  OPCODE_INFO2 (0xfa000d80,
6269			(0_3, VREG, OPRND_SHIFT_0_BIT),
6270			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6271	  CSKY_ISA_VDSP),
6272    OP32 ("vmov.s16.rh",
6273	  OPCODE_INFO2 (0xf8100d90,
6274			(0_3, VREG, OPRND_SHIFT_0_BIT),
6275			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6276	  CSKY_ISA_VDSP),
6277    OP32 ("vmov.s32.rh",
6278	  OPCODE_INFO2 (0xfa000d90,
6279			(0_3, VREG, OPRND_SHIFT_0_BIT),
6280			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6281	  CSKY_ISA_VDSP),
6282    OP32 ("vstou.u16.sl",
6283	  OPCODE_INFO2 (0xf8100dc0,
6284			(0_3, VREG, OPRND_SHIFT_0_BIT),
6285			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6286	  CSKY_ISA_VDSP),
6287    OP32 ("vstou.u32.sl",
6288	  OPCODE_INFO2 (0xfa000dc0,
6289			(0_3, VREG, OPRND_SHIFT_0_BIT),
6290			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6291	  CSKY_ISA_VDSP),
6292    OP32 ("vstou.s16.sl",
6293	  OPCODE_INFO2 (0xf8100dd0,
6294			(0_3, VREG, OPRND_SHIFT_0_BIT),
6295			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6296	  CSKY_ISA_VDSP),
6297    OP32 ("vstou.s32.sl",
6298	  OPCODE_INFO2 (0xfa000dd0,
6299			(0_3, VREG, OPRND_SHIFT_0_BIT),
6300			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6301	  CSKY_ISA_VDSP),
6302    OP32 ("vrev.8",
6303	  OPCODE_INFO2 (0xf8000e60,
6304			(0_3, VREG, OPRND_SHIFT_0_BIT),
6305			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6306	  CSKY_ISA_VDSP),
6307    OP32 ("vrev.16",
6308	  OPCODE_INFO2 (0xf8100e60,
6309			(0_3, VREG, OPRND_SHIFT_0_BIT),
6310			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6311	  CSKY_ISA_VDSP),
6312    OP32 ("vrev.32",
6313	  OPCODE_INFO2 (0xfa000e60,
6314			(0_3, VREG, OPRND_SHIFT_0_BIT),
6315			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6316	  CSKY_ISA_VDSP),
6317    OP32 ("vcnt1.8",
6318	  OPCODE_INFO2 (0xf8000ea0,
6319			(0_3, VREG, OPRND_SHIFT_0_BIT),
6320			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6321	  CSKY_ISA_VDSP),
6322    OP32 ("vclz.8",
6323	  OPCODE_INFO2 (0xf8000ec0,
6324			(0_3, VREG, OPRND_SHIFT_0_BIT),
6325			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6326	  CSKY_ISA_VDSP),
6327    OP32 ("vclz.16",
6328	  OPCODE_INFO2 (0xf8100ec0,
6329			(0_3, VREG, OPRND_SHIFT_0_BIT),
6330			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6331	  CSKY_ISA_VDSP),
6332    OP32 ("vclz.32",
6333	  OPCODE_INFO2 (0xfa000ec0,
6334			(0_3, VREG, OPRND_SHIFT_0_BIT),
6335			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6336	  CSKY_ISA_VDSP),
6337    OP32 ("vcls.u8",
6338	  OPCODE_INFO2 (0xf8000ee0,
6339			(0_3, VREG, OPRND_SHIFT_0_BIT),
6340			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6341	  CSKY_ISA_VDSP),
6342    OP32 ("vcls.u16",
6343	  OPCODE_INFO2 (0xf8100ee0,
6344			(0_3, VREG, OPRND_SHIFT_0_BIT),
6345			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6346	  CSKY_ISA_VDSP),
6347    OP32 ("vcls.u32",
6348	  OPCODE_INFO2 (0xfa000ee0,
6349			(0_3, VREG, OPRND_SHIFT_0_BIT),
6350			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6351	  CSKY_ISA_VDSP),
6352    OP32 ("vcls.s8",
6353	  OPCODE_INFO2 (0xf8000ef0,
6354			(0_3, VREG, OPRND_SHIFT_0_BIT),
6355			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6356	  CSKY_ISA_VDSP),
6357    OP32 ("vcls.s16",
6358	  OPCODE_INFO2 (0xf8100ef0,
6359			(0_3, VREG, OPRND_SHIFT_0_BIT),
6360			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6361	  CSKY_ISA_VDSP),
6362    OP32 ("vcls.s32",
6363	  OPCODE_INFO2 (0xfa000ef0,
6364			(0_3, VREG, OPRND_SHIFT_0_BIT),
6365			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6366	  CSKY_ISA_VDSP),
6367    OP32 ("vabs.s8",
6368	  OPCODE_INFO2 (0xf8001010,
6369			(0_3, VREG, OPRND_SHIFT_0_BIT),
6370			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6371	  CSKY_ISA_VDSP),
6372    OP32 ("vabs.s16",
6373	  OPCODE_INFO2 (0xf8101010,
6374			(0_3, VREG, OPRND_SHIFT_0_BIT),
6375			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6376	  CSKY_ISA_VDSP),
6377    OP32 ("vabs.s32",
6378	  OPCODE_INFO2 (0xfa001010,
6379			(0_3, VREG, OPRND_SHIFT_0_BIT),
6380			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6381	  CSKY_ISA_VDSP),
6382    OP32 ("vabs.u8.s",
6383	  OPCODE_INFO2 (0xf8001040,
6384			(0_3, VREG, OPRND_SHIFT_0_BIT),
6385			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6386	  CSKY_ISA_VDSP),
6387    OP32 ("vabs.u16.s",
6388	  OPCODE_INFO2 (0xf8101040,
6389			(0_3, VREG, OPRND_SHIFT_0_BIT),
6390			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6391	  CSKY_ISA_VDSP),
6392    OP32 ("vabs.u32.s",
6393	  OPCODE_INFO2 (0xfa001040,
6394			(0_3, VREG, OPRND_SHIFT_0_BIT),
6395			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6396	  CSKY_ISA_VDSP),
6397    OP32 ("vabs.s8.s",
6398	  OPCODE_INFO2 (0xf8001050,
6399			(0_3, VREG, OPRND_SHIFT_0_BIT),
6400			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6401	  CSKY_ISA_VDSP),
6402    OP32 ("vabs.s16.s",
6403	  OPCODE_INFO2 (0xf8101050,
6404			(0_3, VREG, OPRND_SHIFT_0_BIT),
6405			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6406	  CSKY_ISA_VDSP),
6407    OP32 ("vabs.s32.s",
6408	  OPCODE_INFO2 (0xfa001050,
6409			(0_3, VREG, OPRND_SHIFT_0_BIT),
6410			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6411	  CSKY_ISA_VDSP),
6412    OP32 ("vneg.u8",
6413	  OPCODE_INFO2 (0xf8001080,
6414			(0_3, VREG, OPRND_SHIFT_0_BIT),
6415			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6416	  CSKY_ISA_VDSP),
6417    OP32 ("vneg.u16",
6418	  OPCODE_INFO2 (0xf8101080,
6419			(0_3, VREG, OPRND_SHIFT_0_BIT),
6420			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6421	  CSKY_ISA_VDSP),
6422    OP32 ("vneg.u32",
6423	  OPCODE_INFO2 (0xfa001080,
6424			(0_3, VREG, OPRND_SHIFT_0_BIT),
6425			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6426	  CSKY_ISA_VDSP),
6427    OP32 ("vneg.s8",
6428	  OPCODE_INFO2 (0xf8001090,
6429			(0_3, VREG, OPRND_SHIFT_0_BIT),
6430			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6431	  CSKY_ISA_VDSP),
6432    OP32 ("vneg.s16",
6433	  OPCODE_INFO2 (0xf8101090,
6434			(0_3, VREG, OPRND_SHIFT_0_BIT),
6435			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6436	  CSKY_ISA_VDSP),
6437    OP32 ("vneg.s32",
6438	  OPCODE_INFO2 (0xfa001090,
6439			(0_3, VREG, OPRND_SHIFT_0_BIT),
6440			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6441	  CSKY_ISA_VDSP),
6442    OP32 ("vneg.u8.s",
6443	  OPCODE_INFO2 (0xf80010c0,
6444			(0_3, VREG, OPRND_SHIFT_0_BIT),
6445			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6446	  CSKY_ISA_VDSP),
6447    OP32 ("vneg.u16.s",
6448	  OPCODE_INFO2 (0xf81010c0,
6449			(0_3, VREG, OPRND_SHIFT_0_BIT),
6450			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6451	  CSKY_ISA_VDSP),
6452    OP32 ("vneg.u32.s",
6453	  OPCODE_INFO2 (0xfa0010c0,
6454			(0_3, VREG, OPRND_SHIFT_0_BIT),
6455			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6456	  CSKY_ISA_VDSP),
6457    OP32 ("vneg.s8.s",
6458	  OPCODE_INFO2 (0xf80010d0,
6459			(0_3, VREG, OPRND_SHIFT_0_BIT),
6460			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6461	  CSKY_ISA_VDSP),
6462    OP32 ("vneg.s16.s",
6463	  OPCODE_INFO2 (0xf81010d0,
6464			(0_3, VREG, OPRND_SHIFT_0_BIT),
6465			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6466	  CSKY_ISA_VDSP),
6467    OP32 ("vneg.s32.s",
6468	  OPCODE_INFO2 (0xfa0010d0,
6469			(0_3, VREG, OPRND_SHIFT_0_BIT),
6470			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6471	  CSKY_ISA_VDSP),
6472    OP32 ("vcmphsz.u8",
6473	  OPCODE_INFO2 (0xf8000880,
6474			(0_3, VREG, OPRND_SHIFT_0_BIT),
6475			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6476	  CSKY_ISA_VDSP),
6477    OP32 ("vcmphsz.u16",
6478	  OPCODE_INFO2 (0xf8100880,
6479			(0_3, VREG, OPRND_SHIFT_0_BIT),
6480			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6481	  CSKY_ISA_VDSP),
6482    OP32 ("vcmphsz.u32",
6483	  OPCODE_INFO2 (0xfa000880,
6484			(0_3, VREG, OPRND_SHIFT_0_BIT),
6485			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6486	  CSKY_ISA_VDSP),
6487    OP32 ("vcmphsz.s8",
6488	  OPCODE_INFO2 (0xf8000890,
6489			(0_3, VREG, OPRND_SHIFT_0_BIT),
6490			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6491	  CSKY_ISA_VDSP),
6492    OP32 ("vcmphsz.s16",
6493	  OPCODE_INFO2 (0xf8100890,
6494			(0_3, VREG, OPRND_SHIFT_0_BIT),
6495			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6496	  CSKY_ISA_VDSP),
6497    OP32 ("vcmphsz.s32",
6498	  OPCODE_INFO2 (0xfa000890,
6499			(0_3, VREG, OPRND_SHIFT_0_BIT),
6500			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6501	  CSKY_ISA_VDSP),
6502    OP32 ("vcmpltz.u8",
6503	  OPCODE_INFO2 (0xf80008a0,
6504			(0_3, VREG, OPRND_SHIFT_0_BIT),
6505			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6506	  CSKY_ISA_VDSP),
6507    OP32 ("vcmpltz.u16",
6508	  OPCODE_INFO2 (0xf81008a0,
6509			(0_3, VREG, OPRND_SHIFT_0_BIT),
6510			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6511	  CSKY_ISA_VDSP),
6512    OP32 ("vcmpltz.u32",
6513	  OPCODE_INFO2 (0xfa0008a0,
6514			(0_3, VREG, OPRND_SHIFT_0_BIT),
6515			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6516	  CSKY_ISA_VDSP),
6517    OP32 ("vcmpltz.s8",
6518	  OPCODE_INFO2 (0xf80008b0,
6519			(0_3, VREG, OPRND_SHIFT_0_BIT),
6520			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6521	  CSKY_ISA_VDSP),
6522    OP32 ("vcmpltz.s16",
6523	  OPCODE_INFO2 (0xf81008b0,
6524			(0_3, VREG, OPRND_SHIFT_0_BIT),
6525			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6526	  CSKY_ISA_VDSP),
6527    OP32 ("vcmpltz.s32",
6528	  OPCODE_INFO2 (0xfa0008b0,
6529			(0_3, VREG, OPRND_SHIFT_0_BIT),
6530			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6531	  CSKY_ISA_VDSP),
6532    OP32 ("vcmpnez.u8",
6533	  OPCODE_INFO2 (0xf80008c0,
6534			(0_3, VREG, OPRND_SHIFT_0_BIT),
6535			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6536	  CSKY_ISA_VDSP),
6537    OP32 ("vcmpnez.u16",
6538	  OPCODE_INFO2 (0xf81008c0,
6539			(0_3, VREG, OPRND_SHIFT_0_BIT),
6540			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6541	  CSKY_ISA_VDSP),
6542    OP32 ("vcmpnez.u32",
6543	  OPCODE_INFO2 (0xfa0008c0,
6544			(0_3, VREG, OPRND_SHIFT_0_BIT),
6545			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6546	  CSKY_ISA_VDSP),
6547    OP32 ("vcmpnez.s8",
6548	  OPCODE_INFO2 (0xf80008d0,
6549			(0_3, VREG, OPRND_SHIFT_0_BIT),
6550			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6551	  CSKY_ISA_VDSP),
6552    OP32 ("vcmpnez.s16",
6553	  OPCODE_INFO2 (0xf81008d0,
6554			(0_3, VREG, OPRND_SHIFT_0_BIT),
6555			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6556	  CSKY_ISA_VDSP),
6557    OP32 ("vcmpnez.s32",
6558	  OPCODE_INFO2 (0xfa0008d0,
6559			(0_3, VREG, OPRND_SHIFT_0_BIT),
6560			(16_19, VREG, OPRND_SHIFT_0_BIT)),
6561	  CSKY_ISA_VDSP),
6562    OP32 ("vtrch.8",
6563	  OPCODE_INFO3 (0xf8000f40,
6564			(0_3, VREG, OPRND_SHIFT_0_BIT),
6565			(16_19, VREG, OPRND_SHIFT_0_BIT),
6566			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6567	  CSKY_ISA_VDSP),
6568    OP32 ("vtrch.16",
6569	  OPCODE_INFO3 (0xf8100f40,
6570			(0_3, VREG, OPRND_SHIFT_0_BIT),
6571			(16_19, VREG, OPRND_SHIFT_0_BIT),
6572			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6573	  CSKY_ISA_VDSP),
6574    OP32 ("vtrch.32",
6575	  OPCODE_INFO3 (0xfa000f40,
6576			(0_3, VREG, OPRND_SHIFT_0_BIT),
6577			(16_19, VREG, OPRND_SHIFT_0_BIT),
6578			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6579	  CSKY_ISA_VDSP),
6580    OP32 ("vtrcl.8",
6581	  OPCODE_INFO3 (0xf8000f60,
6582			(0_3, VREG, OPRND_SHIFT_0_BIT),
6583			(16_19, VREG, OPRND_SHIFT_0_BIT),
6584			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6585	  CSKY_ISA_VDSP),
6586    OP32 ("vtrcl.16",
6587	  OPCODE_INFO3 (0xf8100f60,
6588			(0_3, VREG, OPRND_SHIFT_0_BIT),
6589			(16_19, VREG, OPRND_SHIFT_0_BIT),
6590			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6591	  CSKY_ISA_VDSP),
6592    OP32 ("vtrcl.32",
6593	  OPCODE_INFO3 (0xfa000f60,
6594			(0_3, VREG, OPRND_SHIFT_0_BIT),
6595			(16_19, VREG, OPRND_SHIFT_0_BIT),
6596			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6597	  CSKY_ISA_VDSP),
6598    OP32 ("vadd.u8",
6599	  OPCODE_INFO3 (0xf8000000,
6600			(0_3, VREG, OPRND_SHIFT_0_BIT),
6601			(16_19, VREG, OPRND_SHIFT_0_BIT),
6602			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6603	  CSKY_ISA_VDSP),
6604    OP32 ("vadd.u16",
6605	  OPCODE_INFO3 (0xf8100000,
6606			(0_3, VREG, OPRND_SHIFT_0_BIT),
6607			(16_19, VREG, OPRND_SHIFT_0_BIT),
6608			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6609	  CSKY_ISA_VDSP),
6610    OP32 ("vadd.u32",
6611	  OPCODE_INFO3 (0xfa000000,
6612			(0_3, VREG, OPRND_SHIFT_0_BIT),
6613			(16_19, VREG, OPRND_SHIFT_0_BIT),
6614			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6615	  CSKY_ISA_VDSP),
6616    OP32 ("vadd.s8",
6617	  OPCODE_INFO3 (0xf8000010,
6618			(0_3, VREG, OPRND_SHIFT_0_BIT),
6619			(16_19, VREG, OPRND_SHIFT_0_BIT),
6620			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6621	  CSKY_ISA_VDSP),
6622    OP32 ("vadd.s16",
6623	  OPCODE_INFO3 (0xf8100010,
6624			(0_3, VREG, OPRND_SHIFT_0_BIT),
6625			(16_19, VREG, OPRND_SHIFT_0_BIT),
6626			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6627	  CSKY_ISA_VDSP),
6628    OP32 ("vadd.s32",
6629	  OPCODE_INFO3 (0xfa000010,
6630			(0_3, VREG, OPRND_SHIFT_0_BIT),
6631			(16_19, VREG, OPRND_SHIFT_0_BIT),
6632			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6633	  CSKY_ISA_VDSP),
6634    OP32 ("vadd.eu8",
6635	  OPCODE_INFO3 (0xf8000020,
6636			(0_3, VREG, OPRND_SHIFT_0_BIT),
6637			(16_19, VREG, OPRND_SHIFT_0_BIT),
6638			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6639	  CSKY_ISA_VDSP),
6640    OP32 ("vadd.eu16",
6641	  OPCODE_INFO3 (0xf8100020,
6642			(0_3, VREG, OPRND_SHIFT_0_BIT),
6643			(16_19, VREG, OPRND_SHIFT_0_BIT),
6644			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6645	  CSKY_ISA_VDSP),
6646    OP32 ("vadd.es8",
6647	  OPCODE_INFO3 (0xf8000030,
6648			(0_3, VREG, OPRND_SHIFT_0_BIT),
6649			(16_19, VREG, OPRND_SHIFT_0_BIT),
6650			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6651	  CSKY_ISA_VDSP),
6652    OP32 ("vadd.es16",
6653	  OPCODE_INFO3 (0xf8100030,
6654			(0_3, VREG, OPRND_SHIFT_0_BIT),
6655			(16_19, VREG, OPRND_SHIFT_0_BIT),
6656			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6657	  CSKY_ISA_VDSP),
6658    OP32 ("vcadd.u8",
6659	  OPCODE_INFO3 (0xf8000040,
6660			(0_3, VREG, OPRND_SHIFT_0_BIT),
6661			(16_19, VREG, OPRND_SHIFT_0_BIT),
6662			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6663	  CSKY_ISA_VDSP),
6664    OP32 ("vcadd.u16",
6665	  OPCODE_INFO3 (0xf8100040,
6666			(0_3, VREG, OPRND_SHIFT_0_BIT),
6667			(16_19, VREG, OPRND_SHIFT_0_BIT),
6668			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6669	  CSKY_ISA_VDSP),
6670    OP32 ("vcadd.u32",
6671	  OPCODE_INFO3 (0xfa000040,
6672			(0_3, VREG, OPRND_SHIFT_0_BIT),
6673			(16_19, VREG, OPRND_SHIFT_0_BIT),
6674			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6675	  CSKY_ISA_VDSP),
6676    OP32 ("vcadd.s8",
6677	  OPCODE_INFO3 (0xf8000050,
6678			(0_3, VREG, OPRND_SHIFT_0_BIT),
6679			(16_19, VREG, OPRND_SHIFT_0_BIT),
6680			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6681	  CSKY_ISA_VDSP),
6682    OP32 ("vcadd.s16",
6683	  OPCODE_INFO3 (0xf8100050,
6684			(0_3, VREG, OPRND_SHIFT_0_BIT),
6685			(16_19, VREG, OPRND_SHIFT_0_BIT),
6686			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6687	  CSKY_ISA_VDSP),
6688    OP32 ("vcadd.s32",
6689	  OPCODE_INFO3 (0xfa000050,
6690			(0_3, VREG, OPRND_SHIFT_0_BIT),
6691			(16_19, VREG, OPRND_SHIFT_0_BIT),
6692			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6693	  CSKY_ISA_VDSP),
6694    OP32 ("vadd.xu16.sl",
6695	  OPCODE_INFO3 (0xf8100140,
6696			(0_3, VREG, OPRND_SHIFT_0_BIT),
6697			(16_19, VREG, OPRND_SHIFT_0_BIT),
6698			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6699	  CSKY_ISA_VDSP),
6700    OP32 ("vadd.xu32.sl",
6701	  OPCODE_INFO3 (0xfa000140,
6702			(0_3, VREG, OPRND_SHIFT_0_BIT),
6703			(16_19, VREG, OPRND_SHIFT_0_BIT),
6704			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6705	  CSKY_ISA_VDSP),
6706    OP32 ("vadd.xs16.sl",
6707	  OPCODE_INFO3 (0xf8100150,
6708			(0_3, VREG, OPRND_SHIFT_0_BIT),
6709			(16_19, VREG, OPRND_SHIFT_0_BIT),
6710			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6711	  CSKY_ISA_VDSP),
6712    OP32 ("vadd.xs32.sl",
6713	  OPCODE_INFO3 (0xfa000150,
6714			(0_3, VREG, OPRND_SHIFT_0_BIT),
6715			(16_19, VREG, OPRND_SHIFT_0_BIT),
6716			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6717	  CSKY_ISA_VDSP),
6718    OP32 ("vadd.xu16",
6719	  OPCODE_INFO3 (0xf8100160,
6720			(0_3, VREG, OPRND_SHIFT_0_BIT),
6721			(16_19, VREG, OPRND_SHIFT_0_BIT),
6722			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6723	  CSKY_ISA_VDSP),
6724    OP32 ("vadd.xu32",
6725	  OPCODE_INFO3 (0xfa000160,
6726			(0_3, VREG, OPRND_SHIFT_0_BIT),
6727			(16_19, VREG, OPRND_SHIFT_0_BIT),
6728			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6729	  CSKY_ISA_VDSP),
6730    OP32 ("vadd.xs16",
6731	  OPCODE_INFO3 (0xf8100170,
6732			(0_3, VREG, OPRND_SHIFT_0_BIT),
6733			(16_19, VREG, OPRND_SHIFT_0_BIT),
6734			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6735	  CSKY_ISA_VDSP),
6736    OP32 ("vadd.xs32",
6737	  OPCODE_INFO3 (0xfa000170,
6738			(0_3, VREG, OPRND_SHIFT_0_BIT),
6739			(16_19, VREG, OPRND_SHIFT_0_BIT),
6740			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6741	  CSKY_ISA_VDSP),
6742    OP32 ("vaddh.u8",
6743	  OPCODE_INFO3 (0xf8000180,
6744			(0_3, VREG, OPRND_SHIFT_0_BIT),
6745			(16_19, VREG, OPRND_SHIFT_0_BIT),
6746			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6747	  CSKY_ISA_VDSP),
6748    OP32 ("vaddh.u16",
6749	  OPCODE_INFO3 (0xf8100180,
6750			(0_3, VREG, OPRND_SHIFT_0_BIT),
6751			(16_19, VREG, OPRND_SHIFT_0_BIT),
6752			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6753	  CSKY_ISA_VDSP),
6754    OP32 ("vaddh.u32",
6755	  OPCODE_INFO3 (0xfa000180,
6756			(0_3, VREG, OPRND_SHIFT_0_BIT),
6757			(16_19, VREG, OPRND_SHIFT_0_BIT),
6758			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6759	  CSKY_ISA_VDSP),
6760    OP32 ("vaddh.s8",
6761	  OPCODE_INFO3 (0xf8000190,
6762			(0_3, VREG, OPRND_SHIFT_0_BIT),
6763			(16_19, VREG, OPRND_SHIFT_0_BIT),
6764			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6765	  CSKY_ISA_VDSP),
6766    OP32 ("vaddh.s16",
6767	  OPCODE_INFO3 (0xf8100190,
6768			(0_3, VREG, OPRND_SHIFT_0_BIT),
6769			(16_19, VREG, OPRND_SHIFT_0_BIT),
6770			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6771	  CSKY_ISA_VDSP),
6772    OP32 ("vaddh.s32",
6773	  OPCODE_INFO3 (0xfa000190,
6774			(0_3, VREG, OPRND_SHIFT_0_BIT),
6775			(16_19, VREG, OPRND_SHIFT_0_BIT),
6776			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6777	  CSKY_ISA_VDSP),
6778    OP32 ("vaddh.u8.r",
6779	  OPCODE_INFO3 (0xf80001a0,
6780			(0_3, VREG, OPRND_SHIFT_0_BIT),
6781			(16_19, VREG, OPRND_SHIFT_0_BIT),
6782			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6783	  CSKY_ISA_VDSP),
6784    OP32 ("vaddh.u16.r",
6785	  OPCODE_INFO3 (0xf81001a0,
6786			(0_3, VREG, OPRND_SHIFT_0_BIT),
6787			(16_19, VREG, OPRND_SHIFT_0_BIT),
6788			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6789	  CSKY_ISA_VDSP),
6790    OP32 ("vaddh.u32.r",
6791	  OPCODE_INFO3 (0xfa0001a0,
6792			(0_3, VREG, OPRND_SHIFT_0_BIT),
6793			(16_19, VREG, OPRND_SHIFT_0_BIT),
6794			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6795	  CSKY_ISA_VDSP),
6796    OP32 ("vaddh.s8.r",
6797	  OPCODE_INFO3 (0xf80001b0,
6798			(0_3, VREG, OPRND_SHIFT_0_BIT),
6799			(16_19, VREG, OPRND_SHIFT_0_BIT),
6800			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6801	  CSKY_ISA_VDSP),
6802    OP32 ("vaddh.s16.r",
6803	  OPCODE_INFO3 (0xf81001b0,
6804			(0_3, VREG, OPRND_SHIFT_0_BIT),
6805			(16_19, VREG, OPRND_SHIFT_0_BIT),
6806			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6807	  CSKY_ISA_VDSP),
6808    OP32 ("vaddh.s32.r",
6809	  OPCODE_INFO3 (0xfa0001b0,
6810			(0_3, VREG, OPRND_SHIFT_0_BIT),
6811			(16_19, VREG, OPRND_SHIFT_0_BIT),
6812			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6813	  CSKY_ISA_VDSP),
6814    OP32 ("vadd.u8.s",
6815	  OPCODE_INFO3 (0xf80001c0,
6816			(0_3, VREG, OPRND_SHIFT_0_BIT),
6817			(16_19, VREG, OPRND_SHIFT_0_BIT),
6818			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6819	  CSKY_ISA_VDSP),
6820    OP32 ("vadd.u16.s",
6821	  OPCODE_INFO3 (0xf81001c0,
6822			(0_3, VREG, OPRND_SHIFT_0_BIT),
6823			(16_19, VREG, OPRND_SHIFT_0_BIT),
6824			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6825	  CSKY_ISA_VDSP),
6826    OP32 ("vadd.u32.s",
6827	  OPCODE_INFO3 (0xfa0001c0,
6828			(0_3, VREG, OPRND_SHIFT_0_BIT),
6829			(16_19, VREG, OPRND_SHIFT_0_BIT),
6830			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6831	  CSKY_ISA_VDSP),
6832    OP32 ("vadd.s8.s",
6833	  OPCODE_INFO3 (0xf80001d0,
6834			(0_3, VREG, OPRND_SHIFT_0_BIT),
6835			(16_19, VREG, OPRND_SHIFT_0_BIT),
6836			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6837	  CSKY_ISA_VDSP),
6838    OP32 ("vadd.s16.s",
6839	  OPCODE_INFO3 (0xf81001d0,
6840			(0_3, VREG, OPRND_SHIFT_0_BIT),
6841			(16_19, VREG, OPRND_SHIFT_0_BIT),
6842			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6843	  CSKY_ISA_VDSP),
6844    OP32 ("vadd.s32.s",
6845	  OPCODE_INFO3 (0xfa0001d0,
6846			(0_3, VREG, OPRND_SHIFT_0_BIT),
6847			(16_19, VREG, OPRND_SHIFT_0_BIT),
6848			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6849	  CSKY_ISA_VDSP),
6850    OP32 ("vsub.u8",
6851	  OPCODE_INFO3 (0xf8000200,
6852			(0_3, VREG, OPRND_SHIFT_0_BIT),
6853			(16_19, VREG, OPRND_SHIFT_0_BIT),
6854			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6855	  CSKY_ISA_VDSP),
6856    OP32 ("vsub.u16",
6857	  OPCODE_INFO3 (0xf8100200,
6858			(0_3, VREG, OPRND_SHIFT_0_BIT),
6859			(16_19, VREG, OPRND_SHIFT_0_BIT),
6860			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6861	  CSKY_ISA_VDSP),
6862    OP32 ("vsub.u32",
6863	  OPCODE_INFO3 (0xfa000200,
6864			(0_3, VREG, OPRND_SHIFT_0_BIT),
6865			(16_19, VREG, OPRND_SHIFT_0_BIT),
6866			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6867	  CSKY_ISA_VDSP),
6868    OP32 ("vsub.s8",
6869	  OPCODE_INFO3 (0xf8000210,
6870			(0_3, VREG, OPRND_SHIFT_0_BIT),
6871			(16_19, VREG, OPRND_SHIFT_0_BIT),
6872			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6873	  CSKY_ISA_VDSP),
6874    OP32 ("vsub.s16",
6875	  OPCODE_INFO3 (0xf8100210,
6876			(0_3, VREG, OPRND_SHIFT_0_BIT),
6877			(16_19, VREG, OPRND_SHIFT_0_BIT),
6878			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6879	  CSKY_ISA_VDSP),
6880    OP32 ("vsub.s32",
6881	  OPCODE_INFO3 (0xfa000210,
6882			(0_3, VREG, OPRND_SHIFT_0_BIT),
6883			(16_19, VREG, OPRND_SHIFT_0_BIT),
6884			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6885	  CSKY_ISA_VDSP),
6886    OP32 ("vsub.eu8",
6887	  OPCODE_INFO3 (0xf8000220,
6888			(0_3, VREG, OPRND_SHIFT_0_BIT),
6889			(16_19, VREG, OPRND_SHIFT_0_BIT),
6890			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6891	  CSKY_ISA_VDSP),
6892    OP32 ("vsub.eu16",
6893	  OPCODE_INFO3 (0xf8100220,
6894			(0_3, VREG, OPRND_SHIFT_0_BIT),
6895			(16_19, VREG, OPRND_SHIFT_0_BIT),
6896			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6897	  CSKY_ISA_VDSP),
6898    OP32 ("vsub.eu32",
6899	  OPCODE_INFO3 (0xfa000220,
6900			(0_3, VREG, OPRND_SHIFT_0_BIT),
6901			(16_19, VREG, OPRND_SHIFT_0_BIT),
6902			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6903	  CSKY_ISA_VDSP),
6904    OP32 ("vsub.es8",
6905	  OPCODE_INFO3 (0xf8000230,
6906			(0_3, VREG, OPRND_SHIFT_0_BIT),
6907			(16_19, VREG, OPRND_SHIFT_0_BIT),
6908			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6909	  CSKY_ISA_VDSP),
6910    OP32 ("vsub.es16",
6911	  OPCODE_INFO3 (0xf8100230,
6912			(0_3, VREG, OPRND_SHIFT_0_BIT),
6913			(16_19, VREG, OPRND_SHIFT_0_BIT),
6914			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6915	  CSKY_ISA_VDSP),
6916    OP32 ("vsub.es32",
6917	  OPCODE_INFO3 (0xfa000230,
6918			(0_3, VREG, OPRND_SHIFT_0_BIT),
6919			(16_19, VREG, OPRND_SHIFT_0_BIT),
6920			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6921	  CSKY_ISA_VDSP),
6922    OP32 ("vsabs.u8",
6923	  OPCODE_INFO3 (0xf8000240,
6924			(0_3, VREG, OPRND_SHIFT_0_BIT),
6925			(16_19, VREG, OPRND_SHIFT_0_BIT),
6926			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6927	  CSKY_ISA_VDSP),
6928    OP32 ("vsabs.u16",
6929	  OPCODE_INFO3 (0xf8100240,
6930			(0_3, VREG, OPRND_SHIFT_0_BIT),
6931			(16_19, VREG, OPRND_SHIFT_0_BIT),
6932			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6933	  CSKY_ISA_VDSP),
6934    OP32 ("vsabs.u32",
6935	  OPCODE_INFO3 (0xfa000240,
6936			(0_3, VREG, OPRND_SHIFT_0_BIT),
6937			(16_19, VREG, OPRND_SHIFT_0_BIT),
6938			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6939	  CSKY_ISA_VDSP),
6940    OP32 ("vsabs.s8",
6941	  OPCODE_INFO3 (0xf8000250,
6942			(0_3, VREG, OPRND_SHIFT_0_BIT),
6943			(16_19, VREG, OPRND_SHIFT_0_BIT),
6944			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6945	  CSKY_ISA_VDSP),
6946    OP32 ("vsabs.s16",
6947	  OPCODE_INFO3 (0xf8100250,
6948			(0_3, VREG, OPRND_SHIFT_0_BIT),
6949			(16_19, VREG, OPRND_SHIFT_0_BIT),
6950			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6951	  CSKY_ISA_VDSP),
6952    OP32 ("vsabs.s32",
6953	  OPCODE_INFO3 (0xfa000250,
6954			(0_3, VREG, OPRND_SHIFT_0_BIT),
6955			(16_19, VREG, OPRND_SHIFT_0_BIT),
6956			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6957	  CSKY_ISA_VDSP),
6958    OP32 ("vsabs.eu8",
6959	  OPCODE_INFO3 (0xf8000260,
6960			(0_3, VREG, OPRND_SHIFT_0_BIT),
6961			(16_19, VREG, OPRND_SHIFT_0_BIT),
6962			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6963	  CSKY_ISA_VDSP),
6964    OP32 ("vsabs.eu16",
6965	  OPCODE_INFO3 (0xf8100260,
6966			(0_3, VREG, OPRND_SHIFT_0_BIT),
6967			(16_19, VREG, OPRND_SHIFT_0_BIT),
6968			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6969	  CSKY_ISA_VDSP),
6970    OP32 ("vsabs.es8",
6971	  OPCODE_INFO3 (0xf8000270,
6972			(0_3, VREG, OPRND_SHIFT_0_BIT),
6973			(16_19, VREG, OPRND_SHIFT_0_BIT),
6974			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6975	  CSKY_ISA_VDSP),
6976    OP32 ("vsabs.es16",
6977	  OPCODE_INFO3 (0xf8100270,
6978			(0_3, VREG, OPRND_SHIFT_0_BIT),
6979			(16_19, VREG, OPRND_SHIFT_0_BIT),
6980			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6981	  CSKY_ISA_VDSP),
6982    OP32 ("vsabsa.u8",
6983	  OPCODE_INFO3 (0xf8000280,
6984			(0_3, VREG, OPRND_SHIFT_0_BIT),
6985			(16_19, VREG, OPRND_SHIFT_0_BIT),
6986			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6987	  CSKY_ISA_VDSP),
6988    OP32 ("vsabsa.u16",
6989	  OPCODE_INFO3 (0xf8100280,
6990			(0_3, VREG, OPRND_SHIFT_0_BIT),
6991			(16_19, VREG, OPRND_SHIFT_0_BIT),
6992			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6993	  CSKY_ISA_VDSP),
6994    OP32 ("vsabsa.u32",
6995	  OPCODE_INFO3 (0xfa000280,
6996			(0_3, VREG, OPRND_SHIFT_0_BIT),
6997			(16_19, VREG, OPRND_SHIFT_0_BIT),
6998			(21_24, VREG, OPRND_SHIFT_0_BIT)),
6999	  CSKY_ISA_VDSP),
7000    OP32 ("vsabsa.s8",
7001	  OPCODE_INFO3 (0xf8000290,
7002			(0_3, VREG, OPRND_SHIFT_0_BIT),
7003			(16_19, VREG, OPRND_SHIFT_0_BIT),
7004			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7005	  CSKY_ISA_VDSP),
7006    OP32 ("vsabsa.s16",
7007	  OPCODE_INFO3 (0xf8100290,
7008			(0_3, VREG, OPRND_SHIFT_0_BIT),
7009			(16_19, VREG, OPRND_SHIFT_0_BIT),
7010			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7011	  CSKY_ISA_VDSP),
7012    OP32 ("vsabsa.s32",
7013	  OPCODE_INFO3 (0xfa000290,
7014			(0_3, VREG, OPRND_SHIFT_0_BIT),
7015			(16_19, VREG, OPRND_SHIFT_0_BIT),
7016			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7017	  CSKY_ISA_VDSP),
7018    OP32 ("vsabsa.eu8",
7019	  OPCODE_INFO3 (0xf80002a0,
7020			(0_3, VREG, OPRND_SHIFT_0_BIT),
7021			(16_19, VREG, OPRND_SHIFT_0_BIT),
7022			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7023	  CSKY_ISA_VDSP),
7024    OP32 ("vsabsa.eu16",
7025	  OPCODE_INFO3 (0xf81002a0,
7026			(0_3, VREG, OPRND_SHIFT_0_BIT),
7027			(16_19, VREG, OPRND_SHIFT_0_BIT),
7028			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7029	  CSKY_ISA_VDSP),
7030    OP32 ("vsabsa.es8",
7031	  OPCODE_INFO3 (0xf80002b0,
7032			(0_3, VREG, OPRND_SHIFT_0_BIT),
7033			(16_19, VREG, OPRND_SHIFT_0_BIT),
7034			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7035	  CSKY_ISA_VDSP),
7036    OP32 ("vsabsa.es16",
7037	  OPCODE_INFO3 (0xf81002b0,
7038			(0_3, VREG, OPRND_SHIFT_0_BIT),
7039			(16_19, VREG, OPRND_SHIFT_0_BIT),
7040			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7041	  CSKY_ISA_VDSP),
7042    OP32 ("vsub.xu16",
7043	  OPCODE_INFO3 (0xf8100360,
7044			(0_3, VREG, OPRND_SHIFT_0_BIT),
7045			(16_19, VREG, OPRND_SHIFT_0_BIT),
7046			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7047	  CSKY_ISA_VDSP),
7048    OP32 ("vsub.xu32",
7049	  OPCODE_INFO3 (0xfa000360,
7050			(0_3, VREG, OPRND_SHIFT_0_BIT),
7051			(16_19, VREG, OPRND_SHIFT_0_BIT),
7052			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7053	  CSKY_ISA_VDSP),
7054    OP32 ("vsub.xs16",
7055	  OPCODE_INFO3 (0xf8100370,
7056			(0_3, VREG, OPRND_SHIFT_0_BIT),
7057			(16_19, VREG, OPRND_SHIFT_0_BIT),
7058			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7059	  CSKY_ISA_VDSP),
7060    OP32 ("vsub.xs32",
7061	  OPCODE_INFO3 (0xfa000370,
7062			(0_3, VREG, OPRND_SHIFT_0_BIT),
7063			(16_19, VREG, OPRND_SHIFT_0_BIT),
7064			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7065	  CSKY_ISA_VDSP),
7066    OP32 ("vsubh.u8",
7067	  OPCODE_INFO3 (0xf8000380,
7068			(0_3, VREG, OPRND_SHIFT_0_BIT),
7069			(16_19, VREG, OPRND_SHIFT_0_BIT),
7070			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7071	  CSKY_ISA_VDSP),
7072    OP32 ("vsubh.u16",
7073	  OPCODE_INFO3 (0xf8100380,
7074			(0_3, VREG, OPRND_SHIFT_0_BIT),
7075			(16_19, VREG, OPRND_SHIFT_0_BIT),
7076			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7077	  CSKY_ISA_VDSP),
7078    OP32 ("vsubh.u32",
7079	  OPCODE_INFO3 (0xfa000380,
7080			(0_3, VREG, OPRND_SHIFT_0_BIT),
7081			(16_19, VREG, OPRND_SHIFT_0_BIT),
7082			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7083	  CSKY_ISA_VDSP),
7084    OP32 ("vsubh.s8",
7085	  OPCODE_INFO3 (0xf8000390,
7086			(0_3, VREG, OPRND_SHIFT_0_BIT),
7087			(16_19, VREG, OPRND_SHIFT_0_BIT),
7088			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7089	  CSKY_ISA_VDSP),
7090    OP32 ("vsubh.s16",
7091	  OPCODE_INFO3 (0xf8100390,
7092			(0_3, VREG, OPRND_SHIFT_0_BIT),
7093			(16_19, VREG, OPRND_SHIFT_0_BIT),
7094			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7095	  CSKY_ISA_VDSP),
7096    OP32 ("vsubh.s32",
7097	  OPCODE_INFO3 (0xfa000390,
7098			(0_3, VREG, OPRND_SHIFT_0_BIT),
7099			(16_19, VREG, OPRND_SHIFT_0_BIT),
7100			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7101	  CSKY_ISA_VDSP),
7102    OP32 ("vsubh.u8.r",
7103	  OPCODE_INFO3 (0xf80003a0,
7104			(0_3, VREG, OPRND_SHIFT_0_BIT),
7105			(16_19, VREG, OPRND_SHIFT_0_BIT),
7106			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7107	  CSKY_ISA_VDSP),
7108    OP32 ("vsubh.u16.r",
7109	  OPCODE_INFO3 (0xf81003a0,
7110			(0_3, VREG, OPRND_SHIFT_0_BIT),
7111			(16_19, VREG, OPRND_SHIFT_0_BIT),
7112			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7113	  CSKY_ISA_VDSP),
7114    OP32 ("vsubh.u32.r",
7115	  OPCODE_INFO3 (0xfa0003a0,
7116			(0_3, VREG, OPRND_SHIFT_0_BIT),
7117			(16_19, VREG, OPRND_SHIFT_0_BIT),
7118			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7119	  CSKY_ISA_VDSP),
7120    OP32 ("vsubh.s8.r",
7121	  OPCODE_INFO3 (0xf80003b0,
7122			(0_3, VREG, OPRND_SHIFT_0_BIT),
7123			(16_19, VREG, OPRND_SHIFT_0_BIT),
7124			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7125	  CSKY_ISA_VDSP),
7126    OP32 ("vsubh.s16.r",
7127	  OPCODE_INFO3 (0xf81003b0,
7128			(0_3, VREG, OPRND_SHIFT_0_BIT),
7129			(16_19, VREG, OPRND_SHIFT_0_BIT),
7130			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7131	  CSKY_ISA_VDSP),
7132    OP32 ("vsubh.s32.r",
7133	  OPCODE_INFO3 (0xfa0003b0,
7134			(0_3, VREG, OPRND_SHIFT_0_BIT),
7135			(16_19, VREG, OPRND_SHIFT_0_BIT),
7136			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7137	  CSKY_ISA_VDSP),
7138    OP32 ("vsub.u8.s",
7139	  OPCODE_INFO3 (0xf80003c0,
7140			(0_3, VREG, OPRND_SHIFT_0_BIT),
7141			(16_19, VREG, OPRND_SHIFT_0_BIT),
7142			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7143	  CSKY_ISA_VDSP),
7144    OP32 ("vsub.u16.s",
7145	  OPCODE_INFO3 (0xf81003c0,
7146			(0_3, VREG, OPRND_SHIFT_0_BIT),
7147			(16_19, VREG, OPRND_SHIFT_0_BIT),
7148			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7149	  CSKY_ISA_VDSP),
7150    OP32 ("vsub.u32.s",
7151	  OPCODE_INFO3 (0xfa0003c0,
7152			(0_3, VREG, OPRND_SHIFT_0_BIT),
7153			(16_19, VREG, OPRND_SHIFT_0_BIT),
7154			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7155	  CSKY_ISA_VDSP),
7156    OP32 ("vsub.s8.s",
7157	  OPCODE_INFO3 (0xf80003d0,
7158			(0_3, VREG, OPRND_SHIFT_0_BIT),
7159			(16_19, VREG, OPRND_SHIFT_0_BIT),
7160			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7161	  CSKY_ISA_VDSP),
7162    OP32 ("vsub.s16.s",
7163	  OPCODE_INFO3 (0xf81003d0,
7164			(0_3, VREG, OPRND_SHIFT_0_BIT),
7165			(16_19, VREG, OPRND_SHIFT_0_BIT),
7166			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7167	  CSKY_ISA_VDSP),
7168    OP32 ("vsub.s32.s",
7169	  OPCODE_INFO3 (0xfa0003d0,
7170			(0_3, VREG, OPRND_SHIFT_0_BIT),
7171			(16_19, VREG, OPRND_SHIFT_0_BIT),
7172			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7173	  CSKY_ISA_VDSP),
7174    OP32 ("vmul.u8",
7175	  OPCODE_INFO3 (0xf8000400,
7176			(0_3, VREG, OPRND_SHIFT_0_BIT),
7177			(16_19, VREG, OPRND_SHIFT_0_BIT),
7178			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7179	  CSKY_ISA_VDSP),
7180    OP32 ("vmul.u16",
7181	  OPCODE_INFO3 (0xf8100400,
7182			(0_3, VREG, OPRND_SHIFT_0_BIT),
7183			(16_19, VREG, OPRND_SHIFT_0_BIT),
7184			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7185	  CSKY_ISA_VDSP),
7186    OP32 ("vmul.u32",
7187	  OPCODE_INFO3 (0xfa000400,
7188			(0_3, VREG, OPRND_SHIFT_0_BIT),
7189			(16_19, VREG, OPRND_SHIFT_0_BIT),
7190			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7191	  CSKY_ISA_VDSP),
7192    OP32 ("vmul.s8",
7193	  OPCODE_INFO3 (0xf8000410,
7194			(0_3, VREG, OPRND_SHIFT_0_BIT),
7195			(16_19, VREG, OPRND_SHIFT_0_BIT),
7196			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7197	  CSKY_ISA_VDSP),
7198    OP32 ("vmul.s16",
7199	  OPCODE_INFO3 (0xf8100410,
7200			(0_3, VREG, OPRND_SHIFT_0_BIT),
7201			(16_19, VREG, OPRND_SHIFT_0_BIT),
7202			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7203	  CSKY_ISA_VDSP),
7204    OP32 ("vmul.s32",
7205	  OPCODE_INFO3 (0xfa000410,
7206			(0_3, VREG, OPRND_SHIFT_0_BIT),
7207			(16_19, VREG, OPRND_SHIFT_0_BIT),
7208			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7209	  CSKY_ISA_VDSP),
7210    OP32 ("vmul.eu8",
7211	  OPCODE_INFO3 (0xf8000420,
7212			(0_3, VREG, OPRND_SHIFT_0_BIT),
7213			(16_19, VREG, OPRND_SHIFT_0_BIT),
7214			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7215	  CSKY_ISA_VDSP),
7216    OP32 ("vmul.eu16",
7217	  OPCODE_INFO3 (0xf8100420,
7218			(0_3, VREG, OPRND_SHIFT_0_BIT),
7219			(16_19, VREG, OPRND_SHIFT_0_BIT),
7220			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7221	  CSKY_ISA_VDSP),
7222    OP32 ("vmul.es8",
7223	  OPCODE_INFO3 (0xf8000430,
7224			(0_3, VREG, OPRND_SHIFT_0_BIT),
7225			(16_19, VREG, OPRND_SHIFT_0_BIT),
7226			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7227	  CSKY_ISA_VDSP),
7228    OP32 ("vmul.es16",
7229	  OPCODE_INFO3 (0xf8100430,
7230			(0_3, VREG, OPRND_SHIFT_0_BIT),
7231			(16_19, VREG, OPRND_SHIFT_0_BIT),
7232			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7233	  CSKY_ISA_VDSP),
7234    OP32 ("vmula.u8",
7235	  OPCODE_INFO3 (0xf8000440,
7236			(0_3, VREG, OPRND_SHIFT_0_BIT),
7237			(16_19, VREG, OPRND_SHIFT_0_BIT),
7238			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7239	  CSKY_ISA_VDSP),
7240    OP32 ("vmula.u16",
7241	  OPCODE_INFO3 (0xf8100440,
7242			(0_3, VREG, OPRND_SHIFT_0_BIT),
7243			(16_19, VREG, OPRND_SHIFT_0_BIT),
7244			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7245	  CSKY_ISA_VDSP),
7246    OP32 ("vmula.u32",
7247	  OPCODE_INFO3 (0xfa000440,
7248			(0_3, VREG, OPRND_SHIFT_0_BIT),
7249			(16_19, VREG, OPRND_SHIFT_0_BIT),
7250			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7251	  CSKY_ISA_VDSP),
7252    OP32 ("vmula.s8",
7253	  OPCODE_INFO3 (0xf8000450,
7254			(0_3, VREG, OPRND_SHIFT_0_BIT),
7255			(16_19, VREG, OPRND_SHIFT_0_BIT),
7256			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7257	  CSKY_ISA_VDSP),
7258    OP32 ("vmula.s16",
7259	  OPCODE_INFO3 (0xf8100450,
7260			(0_3, VREG, OPRND_SHIFT_0_BIT),
7261			(16_19, VREG, OPRND_SHIFT_0_BIT),
7262			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7263	  CSKY_ISA_VDSP),
7264    OP32 ("vmula.s32",
7265	  OPCODE_INFO3 (0xfa000450,
7266			(0_3, VREG, OPRND_SHIFT_0_BIT),
7267			(16_19, VREG, OPRND_SHIFT_0_BIT),
7268			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7269	  CSKY_ISA_VDSP),
7270    OP32 ("vmula.eu8",
7271	  OPCODE_INFO3 (0xf8000460,
7272			(0_3, VREG, OPRND_SHIFT_0_BIT),
7273			(16_19, VREG, OPRND_SHIFT_0_BIT),
7274			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7275	  CSKY_ISA_VDSP),
7276    OP32 ("vmula.eu16",
7277	  OPCODE_INFO3 (0xf8100460,
7278			(0_3, VREG, OPRND_SHIFT_0_BIT),
7279			(16_19, VREG, OPRND_SHIFT_0_BIT),
7280			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7281	  CSKY_ISA_VDSP),
7282    OP32 ("vmula.eu32",
7283	  OPCODE_INFO3 (0xfa000460,
7284			(0_3, VREG, OPRND_SHIFT_0_BIT),
7285			(16_19, VREG, OPRND_SHIFT_0_BIT),
7286			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7287	  CSKY_ISA_VDSP),
7288    OP32 ("vmula.es8",
7289	  OPCODE_INFO3 (0xf8000470,
7290			(0_3, VREG, OPRND_SHIFT_0_BIT),
7291			(16_19, VREG, OPRND_SHIFT_0_BIT),
7292			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7293	  CSKY_ISA_VDSP),
7294    OP32 ("vmula.es16",
7295	  OPCODE_INFO3 (0xf8100470,
7296			(0_3, VREG, OPRND_SHIFT_0_BIT),
7297			(16_19, VREG, OPRND_SHIFT_0_BIT),
7298			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7299	  CSKY_ISA_VDSP),
7300    OP32 ("vmula.es32",
7301	  OPCODE_INFO3 (0xfa000470,
7302			(0_3, VREG, OPRND_SHIFT_0_BIT),
7303			(16_19, VREG, OPRND_SHIFT_0_BIT),
7304			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7305	  CSKY_ISA_VDSP),
7306    OP32 ("vmuls.u8",
7307	  OPCODE_INFO3 (0xf8000480,
7308			(0_3, VREG, OPRND_SHIFT_0_BIT),
7309			(16_19, VREG, OPRND_SHIFT_0_BIT),
7310			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7311	  CSKY_ISA_VDSP),
7312    OP32 ("vmuls.u16",
7313	  OPCODE_INFO3 (0xf8100480,
7314			(0_3, VREG, OPRND_SHIFT_0_BIT),
7315			(16_19, VREG, OPRND_SHIFT_0_BIT),
7316			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7317	  CSKY_ISA_VDSP),
7318    OP32 ("vmuls.u32",
7319	  OPCODE_INFO3 (0xfa000480,
7320			(0_3, VREG, OPRND_SHIFT_0_BIT),
7321			(16_19, VREG, OPRND_SHIFT_0_BIT),
7322			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7323	  CSKY_ISA_VDSP),
7324    OP32 ("vmuls.s8",
7325	  OPCODE_INFO3 (0xf8000490,
7326			(0_3, VREG, OPRND_SHIFT_0_BIT),
7327			(16_19, VREG, OPRND_SHIFT_0_BIT),
7328			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7329	  CSKY_ISA_VDSP),
7330    OP32 ("vmuls.s16",
7331	  OPCODE_INFO3 (0xf8100490,
7332			(0_3, VREG, OPRND_SHIFT_0_BIT),
7333			(16_19, VREG, OPRND_SHIFT_0_BIT),
7334			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7335	  CSKY_ISA_VDSP),
7336    OP32 ("vmuls.s32",
7337	  OPCODE_INFO3 (0xfa000490,
7338			(0_3, VREG, OPRND_SHIFT_0_BIT),
7339			(16_19, VREG, OPRND_SHIFT_0_BIT),
7340			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7341	  CSKY_ISA_VDSP),
7342    OP32 ("vmuls.eu8",
7343	  OPCODE_INFO3 (0xf80004a0,
7344			(0_3, VREG, OPRND_SHIFT_0_BIT),
7345			(16_19, VREG, OPRND_SHIFT_0_BIT),
7346			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7347	  CSKY_ISA_VDSP),
7348    OP32 ("vmuls.eu16",
7349	  OPCODE_INFO3 (0xf81004a0,
7350			(0_3, VREG, OPRND_SHIFT_0_BIT),
7351			(16_19, VREG, OPRND_SHIFT_0_BIT),
7352			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7353	  CSKY_ISA_VDSP),
7354    OP32 ("vmuls.es8",
7355	  OPCODE_INFO3 (0xf80004b0,
7356			(0_3, VREG, OPRND_SHIFT_0_BIT),
7357			(16_19, VREG, OPRND_SHIFT_0_BIT),
7358			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7359	  CSKY_ISA_VDSP),
7360    OP32 ("vmuls.es16",
7361	  OPCODE_INFO3 (0xf81004b0,
7362			(0_3, VREG, OPRND_SHIFT_0_BIT),
7363			(16_19, VREG, OPRND_SHIFT_0_BIT),
7364			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7365	  CSKY_ISA_VDSP),
7366    OP32 ("vshr.u8",
7367	  OPCODE_INFO3 (0xf8000680,
7368			(0_3, VREG, OPRND_SHIFT_0_BIT),
7369			(16_19, VREG, OPRND_SHIFT_0_BIT),
7370			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7371	  CSKY_ISA_VDSP),
7372    OP32 ("vshr.u16",
7373	  OPCODE_INFO3 (0xf8100680,
7374			(0_3, VREG, OPRND_SHIFT_0_BIT),
7375			(16_19, VREG, OPRND_SHIFT_0_BIT),
7376			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7377	  CSKY_ISA_VDSP),
7378    OP32 ("vshr.u32",
7379	  OPCODE_INFO3 (0xfa000680,
7380			(0_3, VREG, OPRND_SHIFT_0_BIT),
7381			(16_19, VREG, OPRND_SHIFT_0_BIT),
7382			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7383	  CSKY_ISA_VDSP),
7384    OP32 ("vshr.s8",
7385	  OPCODE_INFO3 (0xf8000690,
7386			(0_3, VREG, OPRND_SHIFT_0_BIT),
7387			(16_19, VREG, OPRND_SHIFT_0_BIT),
7388			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7389	  CSKY_ISA_VDSP),
7390    OP32 ("vshr.s16",
7391	  OPCODE_INFO3 (0xf8100690,
7392			(0_3, VREG, OPRND_SHIFT_0_BIT),
7393			(16_19, VREG, OPRND_SHIFT_0_BIT),
7394			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7395	  CSKY_ISA_VDSP),
7396    OP32 ("vshr.s32",
7397	  OPCODE_INFO3 (0xfa000690,
7398			(0_3, VREG, OPRND_SHIFT_0_BIT),
7399			(16_19, VREG, OPRND_SHIFT_0_BIT),
7400			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7401	  CSKY_ISA_VDSP),
7402    OP32 ("vshr.u8.r",
7403	  OPCODE_INFO3 (0xf80006c0,
7404			(0_3, VREG, OPRND_SHIFT_0_BIT),
7405			(16_19, VREG, OPRND_SHIFT_0_BIT),
7406			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7407	  CSKY_ISA_VDSP),
7408    OP32 ("vshr.u16.r",
7409	  OPCODE_INFO3 (0xf81006c0,
7410			(0_3, VREG, OPRND_SHIFT_0_BIT),
7411			(16_19, VREG, OPRND_SHIFT_0_BIT),
7412			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7413	  CSKY_ISA_VDSP),
7414    OP32 ("vshr.u32.r",
7415	  OPCODE_INFO3 (0xfa0006c0,
7416			(0_3, VREG, OPRND_SHIFT_0_BIT),
7417			(16_19, VREG, OPRND_SHIFT_0_BIT),
7418			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7419	  CSKY_ISA_VDSP),
7420    OP32 ("vshr.s8.r",
7421	  OPCODE_INFO3 (0xf80006d0,
7422			(0_3, VREG, OPRND_SHIFT_0_BIT),
7423			(16_19, VREG, OPRND_SHIFT_0_BIT),
7424			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7425	  CSKY_ISA_VDSP),
7426    OP32 ("vshr.s16.r",
7427	  OPCODE_INFO3 (0xf81006d0,
7428			(0_3, VREG, OPRND_SHIFT_0_BIT),
7429			(16_19, VREG, OPRND_SHIFT_0_BIT),
7430			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7431	  CSKY_ISA_VDSP),
7432    OP32 ("vshr.s32.r",
7433	  OPCODE_INFO3 (0xfa0006d0,
7434			(0_3, VREG, OPRND_SHIFT_0_BIT),
7435			(16_19, VREG, OPRND_SHIFT_0_BIT),
7436			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7437	  CSKY_ISA_VDSP),
7438    OP32 ("vshl.u8",
7439	  OPCODE_INFO3 (0xf8000780,
7440			(0_3, VREG, OPRND_SHIFT_0_BIT),
7441			(16_19, VREG, OPRND_SHIFT_0_BIT),
7442			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7443	  CSKY_ISA_VDSP),
7444    OP32 ("vshl.u16",
7445	  OPCODE_INFO3 (0xf8100780,
7446			(0_3, VREG, OPRND_SHIFT_0_BIT),
7447			(16_19, VREG, OPRND_SHIFT_0_BIT),
7448			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7449	  CSKY_ISA_VDSP),
7450    OP32 ("vshl.u32",
7451	  OPCODE_INFO3 (0xfa000780,
7452			(0_3, VREG, OPRND_SHIFT_0_BIT),
7453			(16_19, VREG, OPRND_SHIFT_0_BIT),
7454			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7455	  CSKY_ISA_VDSP),
7456    OP32 ("vshl.s8",
7457	  OPCODE_INFO3 (0xf8000790,
7458			(0_3, VREG, OPRND_SHIFT_0_BIT),
7459			(16_19, VREG, OPRND_SHIFT_0_BIT),
7460			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7461	  CSKY_ISA_VDSP),
7462    OP32 ("vshl.s16",
7463	  OPCODE_INFO3 (0xf8100790,
7464			(0_3, VREG, OPRND_SHIFT_0_BIT),
7465			(16_19, VREG, OPRND_SHIFT_0_BIT),
7466			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7467	  CSKY_ISA_VDSP),
7468    OP32 ("vshl.s32",
7469	  OPCODE_INFO3 (0xfa000790,
7470			(0_3, VREG, OPRND_SHIFT_0_BIT),
7471			(16_19, VREG, OPRND_SHIFT_0_BIT),
7472			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7473	  CSKY_ISA_VDSP),
7474    OP32 ("vshl.u8.s",
7475	  OPCODE_INFO3 (0xf80007c0,
7476			(0_3, VREG, OPRND_SHIFT_0_BIT),
7477			(16_19, VREG, OPRND_SHIFT_0_BIT),
7478			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7479	  CSKY_ISA_VDSP),
7480    OP32 ("vshl.u16.s",
7481	  OPCODE_INFO3 (0xf81007c0,
7482			(0_3, VREG, OPRND_SHIFT_0_BIT),
7483			(16_19, VREG, OPRND_SHIFT_0_BIT),
7484			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7485	  CSKY_ISA_VDSP),
7486    OP32 ("vshl.u32.s",
7487	  OPCODE_INFO3 (0xfa0007c0,
7488			(0_3, VREG, OPRND_SHIFT_0_BIT),
7489			(16_19, VREG, OPRND_SHIFT_0_BIT),
7490			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7491	  CSKY_ISA_VDSP),
7492    OP32 ("vshl.s8.s",
7493	  OPCODE_INFO3 (0xf80007d0,
7494			(0_3, VREG, OPRND_SHIFT_0_BIT),
7495			(16_19, VREG, OPRND_SHIFT_0_BIT),
7496			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7497	  CSKY_ISA_VDSP),
7498    OP32 ("vshl.s16.s",
7499	  OPCODE_INFO3 (0xf81007d0,
7500			(0_3, VREG, OPRND_SHIFT_0_BIT),
7501			(16_19, VREG, OPRND_SHIFT_0_BIT),
7502			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7503	  CSKY_ISA_VDSP),
7504    OP32 ("vshl.s32.s",
7505	  OPCODE_INFO3 (0xfa0007d0,
7506			(0_3, VREG, OPRND_SHIFT_0_BIT),
7507			(16_19, VREG, OPRND_SHIFT_0_BIT),
7508			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7509	  CSKY_ISA_VDSP),
7510    OP32 ("vcmphs.u8",
7511	  OPCODE_INFO3 (0xf8000800,
7512			(0_3, VREG, OPRND_SHIFT_0_BIT),
7513			(16_19, VREG, OPRND_SHIFT_0_BIT),
7514			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7515	  CSKY_ISA_VDSP),
7516    OP32 ("vcmphs.u16",
7517	  OPCODE_INFO3 (0xf8100800,
7518			(0_3, VREG, OPRND_SHIFT_0_BIT),
7519			(16_19, VREG, OPRND_SHIFT_0_BIT),
7520			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7521	  CSKY_ISA_VDSP),
7522    OP32 ("vcmphs.u32",
7523	  OPCODE_INFO3 (0xfa000800,
7524			(0_3, VREG, OPRND_SHIFT_0_BIT),
7525			(16_19, VREG, OPRND_SHIFT_0_BIT),
7526			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7527	  CSKY_ISA_VDSP),
7528    OP32 ("vcmphs.s8",
7529	  OPCODE_INFO3 (0xf8000810,
7530			(0_3, VREG, OPRND_SHIFT_0_BIT),
7531			(16_19, VREG, OPRND_SHIFT_0_BIT),
7532			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7533	  CSKY_ISA_VDSP),
7534    OP32 ("vcmphs.s16",
7535	  OPCODE_INFO3 (0xf8100810,
7536			(0_3, VREG, OPRND_SHIFT_0_BIT),
7537			(16_19, VREG, OPRND_SHIFT_0_BIT),
7538			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7539	  CSKY_ISA_VDSP),
7540    OP32 ("vcmphs.s32",
7541	  OPCODE_INFO3 (0xfa000810,
7542			(0_3, VREG, OPRND_SHIFT_0_BIT),
7543			(16_19, VREG, OPRND_SHIFT_0_BIT),
7544			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7545	  CSKY_ISA_VDSP),
7546    OP32 ("vcmplt.u8",
7547	  OPCODE_INFO3 (0xf8000820,
7548			(0_3, VREG, OPRND_SHIFT_0_BIT),
7549			(16_19, VREG, OPRND_SHIFT_0_BIT),
7550			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7551	  CSKY_ISA_VDSP),
7552    OP32 ("vcmplt.u16",
7553	  OPCODE_INFO3 (0xf8100820,
7554			(0_3, VREG, OPRND_SHIFT_0_BIT),
7555			(16_19, VREG, OPRND_SHIFT_0_BIT),
7556			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7557	  CSKY_ISA_VDSP),
7558    OP32 ("vcmplt.u32",
7559	  OPCODE_INFO3 (0xfa000820,
7560			(0_3, VREG, OPRND_SHIFT_0_BIT),
7561			(16_19, VREG, OPRND_SHIFT_0_BIT),
7562			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7563	  CSKY_ISA_VDSP),
7564    OP32 ("vcmplt.s8",
7565	  OPCODE_INFO3 (0xf8000830,
7566			(0_3, VREG, OPRND_SHIFT_0_BIT),
7567			(16_19, VREG, OPRND_SHIFT_0_BIT),
7568			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7569	  CSKY_ISA_VDSP),
7570    OP32 ("vcmplt.s16",
7571	  OPCODE_INFO3 (0xf8100830,
7572			(0_3, VREG, OPRND_SHIFT_0_BIT),
7573			(16_19, VREG, OPRND_SHIFT_0_BIT),
7574			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7575	  CSKY_ISA_VDSP),
7576    OP32 ("vcmplt.s32",
7577	  OPCODE_INFO3 (0xfa000830,
7578			(0_3, VREG, OPRND_SHIFT_0_BIT),
7579			(16_19, VREG, OPRND_SHIFT_0_BIT),
7580			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7581	  CSKY_ISA_VDSP),
7582    OP32 ("vcmpne.u8",
7583	  OPCODE_INFO3 (0xf8000840,
7584			(0_3, VREG, OPRND_SHIFT_0_BIT),
7585			(16_19, VREG, OPRND_SHIFT_0_BIT),
7586			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7587	  CSKY_ISA_VDSP),
7588    OP32 ("vcmpne.u16",
7589	  OPCODE_INFO3 (0xf8100840,
7590			(0_3, VREG, OPRND_SHIFT_0_BIT),
7591			(16_19, VREG, OPRND_SHIFT_0_BIT),
7592			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7593	  CSKY_ISA_VDSP),
7594    OP32 ("vcmpne.u32",
7595	  OPCODE_INFO3 (0xfa000840,
7596			(0_3, VREG, OPRND_SHIFT_0_BIT),
7597			(16_19, VREG, OPRND_SHIFT_0_BIT),
7598			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7599	  CSKY_ISA_VDSP),
7600    OP32 ("vcmpne.s8",
7601	  OPCODE_INFO3 (0xf8000850,
7602			(0_3, VREG, OPRND_SHIFT_0_BIT),
7603			(16_19, VREG, OPRND_SHIFT_0_BIT),
7604			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7605	  CSKY_ISA_VDSP),
7606    OP32 ("vcmpne.s16",
7607	  OPCODE_INFO3 (0xf8100850,
7608			(0_3, VREG, OPRND_SHIFT_0_BIT),
7609			(16_19, VREG, OPRND_SHIFT_0_BIT),
7610			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7611	  CSKY_ISA_VDSP),
7612    OP32 ("vcmpne.s32",
7613	  OPCODE_INFO3 (0xfa000850,
7614			(0_3, VREG, OPRND_SHIFT_0_BIT),
7615			(16_19, VREG, OPRND_SHIFT_0_BIT),
7616			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7617	  CSKY_ISA_VDSP),
7618    OP32 ("vmax.u8",
7619	  OPCODE_INFO3 (0xf8000900,
7620			(0_3, VREG, OPRND_SHIFT_0_BIT),
7621			(16_19, VREG, OPRND_SHIFT_0_BIT),
7622			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7623	  CSKY_ISA_VDSP),
7624    OP32 ("vmax.u16",
7625	  OPCODE_INFO3 (0xf8100900,
7626			(0_3, VREG, OPRND_SHIFT_0_BIT),
7627			(16_19, VREG, OPRND_SHIFT_0_BIT),
7628			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7629	  CSKY_ISA_VDSP),
7630    OP32 ("vmax.u32",
7631	  OPCODE_INFO3 (0xfa000900,
7632			(0_3, VREG, OPRND_SHIFT_0_BIT),
7633			(16_19, VREG, OPRND_SHIFT_0_BIT),
7634			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7635	  CSKY_ISA_VDSP),
7636    OP32 ("vmax.s8",
7637	  OPCODE_INFO3 (0xf8000910,
7638			(0_3, VREG, OPRND_SHIFT_0_BIT),
7639			(16_19, VREG, OPRND_SHIFT_0_BIT),
7640			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7641	  CSKY_ISA_VDSP),
7642    OP32 ("vmax.s16",
7643	  OPCODE_INFO3 (0xf8100910,
7644			(0_3, VREG, OPRND_SHIFT_0_BIT),
7645			(16_19, VREG, OPRND_SHIFT_0_BIT),
7646			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7647	  CSKY_ISA_VDSP),
7648    OP32 ("vmax.s32",
7649	  OPCODE_INFO3 (0xfa000910,
7650			(0_3, VREG, OPRND_SHIFT_0_BIT),
7651			(16_19, VREG, OPRND_SHIFT_0_BIT),
7652			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7653	  CSKY_ISA_VDSP),
7654    OP32 ("vmin.u8",
7655	  OPCODE_INFO3 (0xf8000920,
7656			(0_3, VREG, OPRND_SHIFT_0_BIT),
7657			(16_19, VREG, OPRND_SHIFT_0_BIT),
7658			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7659	  CSKY_ISA_VDSP),
7660    OP32 ("vmin.u16",
7661	  OPCODE_INFO3 (0xf8100920,
7662			(0_3, VREG, OPRND_SHIFT_0_BIT),
7663			(16_19, VREG, OPRND_SHIFT_0_BIT),
7664			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7665	  CSKY_ISA_VDSP),
7666    OP32 ("vmin.u32",
7667	  OPCODE_INFO3 (0xfa000920,
7668			(0_3, VREG, OPRND_SHIFT_0_BIT),
7669			(16_19, VREG, OPRND_SHIFT_0_BIT),
7670			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7671	  CSKY_ISA_VDSP),
7672    OP32 ("vmin.s8",
7673	  OPCODE_INFO3 (0xf8000930,
7674			(0_3, VREG, OPRND_SHIFT_0_BIT),
7675			(16_19, VREG, OPRND_SHIFT_0_BIT),
7676			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7677	  CSKY_ISA_VDSP),
7678    OP32 ("vmin.s16",
7679	  OPCODE_INFO3 (0xf8100930,
7680			(0_3, VREG, OPRND_SHIFT_0_BIT),
7681			(16_19, VREG, OPRND_SHIFT_0_BIT),
7682			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7683	  CSKY_ISA_VDSP),
7684    OP32 ("vmin.s32",
7685	  OPCODE_INFO3 (0xfa000930,
7686			(0_3, VREG, OPRND_SHIFT_0_BIT),
7687			(16_19, VREG, OPRND_SHIFT_0_BIT),
7688			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7689	  CSKY_ISA_VDSP),
7690    OP32 ("vcmax.u8",
7691	  OPCODE_INFO3 (0xf8000980,
7692			(0_3, VREG, OPRND_SHIFT_0_BIT),
7693			(16_19, VREG, OPRND_SHIFT_0_BIT),
7694			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7695	  CSKY_ISA_VDSP),
7696    OP32 ("vcmax.u16",
7697	  OPCODE_INFO3 (0xf8100980,
7698			(0_3, VREG, OPRND_SHIFT_0_BIT),
7699			(16_19, VREG, OPRND_SHIFT_0_BIT),
7700			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7701	  CSKY_ISA_VDSP),
7702    OP32 ("vcmax.u32",
7703	  OPCODE_INFO3 (0xfa000980,
7704			(0_3, VREG, OPRND_SHIFT_0_BIT),
7705			(16_19, VREG, OPRND_SHIFT_0_BIT),
7706			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7707	  CSKY_ISA_VDSP),
7708    OP32 ("vcmax.s8",
7709	  OPCODE_INFO3 (0xf8000990,
7710			(0_3, VREG, OPRND_SHIFT_0_BIT),
7711			(16_19, VREG, OPRND_SHIFT_0_BIT),
7712			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7713	  CSKY_ISA_VDSP),
7714    OP32 ("vcmax.s16",
7715	  OPCODE_INFO3 (0xf8100990,
7716			(0_3, VREG, OPRND_SHIFT_0_BIT),
7717			(16_19, VREG, OPRND_SHIFT_0_BIT),
7718			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7719	  CSKY_ISA_VDSP),
7720    OP32 ("vcmax.s32",
7721	  OPCODE_INFO3 (0xfa000990,
7722			(0_3, VREG, OPRND_SHIFT_0_BIT),
7723			(16_19, VREG, OPRND_SHIFT_0_BIT),
7724			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7725	  CSKY_ISA_VDSP),
7726    OP32 ("vcmin.u8",
7727	  OPCODE_INFO3 (0xf80009a0,
7728			(0_3, VREG, OPRND_SHIFT_0_BIT),
7729			(16_19, VREG, OPRND_SHIFT_0_BIT),
7730			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7731	  CSKY_ISA_VDSP),
7732    OP32 ("vcmin.u16",
7733	  OPCODE_INFO3 (0xf81009a0,
7734			(0_3, VREG, OPRND_SHIFT_0_BIT),
7735			(16_19, VREG, OPRND_SHIFT_0_BIT),
7736			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7737	  CSKY_ISA_VDSP),
7738    OP32 ("vcmin.u32",
7739	  OPCODE_INFO3 (0xfa0009a0,
7740			(0_3, VREG, OPRND_SHIFT_0_BIT),
7741			(16_19, VREG, OPRND_SHIFT_0_BIT),
7742			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7743	  CSKY_ISA_VDSP),
7744    OP32 ("vcmin.s8",
7745	  OPCODE_INFO3 (0xf80009b0,
7746			(0_3, VREG, OPRND_SHIFT_0_BIT),
7747			(16_19, VREG, OPRND_SHIFT_0_BIT),
7748			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7749	  CSKY_ISA_VDSP),
7750    OP32 ("vcmin.s16",
7751	  OPCODE_INFO3 (0xf81009b0,
7752			(0_3, VREG, OPRND_SHIFT_0_BIT),
7753			(16_19, VREG, OPRND_SHIFT_0_BIT),
7754			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7755	  CSKY_ISA_VDSP),
7756    OP32 ("vcmin.s32",
7757	  OPCODE_INFO3 (0xfa0009b0,
7758			(0_3, VREG, OPRND_SHIFT_0_BIT),
7759			(16_19, VREG, OPRND_SHIFT_0_BIT),
7760			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7761	  CSKY_ISA_VDSP),
7762    OP32 ("vand.8",
7763	  OPCODE_INFO3 (0xf8000a00,
7764			(0_3, VREG, OPRND_SHIFT_0_BIT),
7765			(16_19, VREG, OPRND_SHIFT_0_BIT),
7766			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7767	  CSKY_ISA_VDSP),
7768    OP32 ("vand.16",
7769	  OPCODE_INFO3 (0xf8100a00,
7770			(0_3, VREG, OPRND_SHIFT_0_BIT),
7771			(16_19, VREG, OPRND_SHIFT_0_BIT),
7772			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7773	  CSKY_ISA_VDSP),
7774    OP32 ("vand.32",
7775	  OPCODE_INFO3 (0xfa000a00,
7776			(0_3, VREG, OPRND_SHIFT_0_BIT),
7777			(16_19, VREG, OPRND_SHIFT_0_BIT),
7778			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7779	  CSKY_ISA_VDSP),
7780    OP32 ("vandn.8",
7781	  OPCODE_INFO3 (0xf8000a20,
7782			(0_3, VREG, OPRND_SHIFT_0_BIT),
7783			(16_19, VREG, OPRND_SHIFT_0_BIT),
7784			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7785	  CSKY_ISA_VDSP),
7786    OP32 ("vandn.16",
7787	  OPCODE_INFO3 (0xf8100a20,
7788			(0_3, VREG, OPRND_SHIFT_0_BIT),
7789			(16_19, VREG, OPRND_SHIFT_0_BIT),
7790			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7791	  CSKY_ISA_VDSP),
7792    OP32 ("vandn.32",
7793	  OPCODE_INFO3 (0xfa000a20,
7794			(0_3, VREG, OPRND_SHIFT_0_BIT),
7795			(16_19, VREG, OPRND_SHIFT_0_BIT),
7796			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7797	  CSKY_ISA_VDSP),
7798    OP32 ("vor.8",
7799	  OPCODE_INFO3 (0xf8000a40,
7800			(0_3, VREG, OPRND_SHIFT_0_BIT),
7801			(16_19, VREG, OPRND_SHIFT_0_BIT),
7802			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7803	  CSKY_ISA_VDSP),
7804    OP32 ("vor.16",
7805	  OPCODE_INFO3 (0xf8100a40,
7806			(0_3, VREG, OPRND_SHIFT_0_BIT),
7807			(16_19, VREG, OPRND_SHIFT_0_BIT),
7808			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7809	  CSKY_ISA_VDSP),
7810    OP32 ("vor.32",
7811	  OPCODE_INFO3 (0xfa000a40,
7812			(0_3, VREG, OPRND_SHIFT_0_BIT),
7813			(16_19, VREG, OPRND_SHIFT_0_BIT),
7814			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7815	  CSKY_ISA_VDSP),
7816    OP32 ("vnor.8",
7817	  OPCODE_INFO3 (0xf8000a60,
7818			(0_3, VREG, OPRND_SHIFT_0_BIT),
7819			(16_19, VREG, OPRND_SHIFT_0_BIT),
7820			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7821	  CSKY_ISA_VDSP),
7822    OP32 ("vnor.16",
7823	  OPCODE_INFO3 (0xf8100a60,
7824			(0_3, VREG, OPRND_SHIFT_0_BIT),
7825			(16_19, VREG, OPRND_SHIFT_0_BIT),
7826			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7827	  CSKY_ISA_VDSP),
7828    OP32 ("vnor.32",
7829	  OPCODE_INFO3 (0xfa000a60,
7830			(0_3, VREG, OPRND_SHIFT_0_BIT),
7831			(16_19, VREG, OPRND_SHIFT_0_BIT),
7832			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7833	  CSKY_ISA_VDSP),
7834    OP32 ("vxor.8",
7835	  OPCODE_INFO3 (0xf8000a80,
7836			(0_3, VREG, OPRND_SHIFT_0_BIT),
7837			(16_19, VREG, OPRND_SHIFT_0_BIT),
7838			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7839	  CSKY_ISA_VDSP),
7840    OP32 ("vxor.16",
7841	  OPCODE_INFO3 (0xf8100a80,
7842			(0_3, VREG, OPRND_SHIFT_0_BIT),
7843			(16_19, VREG, OPRND_SHIFT_0_BIT),
7844			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7845	  CSKY_ISA_VDSP),
7846    OP32 ("vxor.32",
7847	  OPCODE_INFO3 (0xfa000a80,
7848			(0_3, VREG, OPRND_SHIFT_0_BIT),
7849			(16_19, VREG, OPRND_SHIFT_0_BIT),
7850			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7851	  CSKY_ISA_VDSP),
7852    OP32 ("vtst.8",
7853	  OPCODE_INFO3 (0xf8000b20,
7854			(0_3, VREG, OPRND_SHIFT_0_BIT),
7855			(16_19, VREG, OPRND_SHIFT_0_BIT),
7856			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7857	  CSKY_ISA_VDSP),
7858    OP32 ("vtst.16",
7859	  OPCODE_INFO3 (0xf8100b20,
7860			(0_3, VREG, OPRND_SHIFT_0_BIT),
7861			(16_19, VREG, OPRND_SHIFT_0_BIT),
7862			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7863	  CSKY_ISA_VDSP),
7864    OP32 ("vtst.32",
7865	  OPCODE_INFO3 (0xfa000b20,
7866			(0_3, VREG, OPRND_SHIFT_0_BIT),
7867			(16_19, VREG, OPRND_SHIFT_0_BIT),
7868			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7869	  CSKY_ISA_VDSP),
7870    OP32 ("vbpermz.8",
7871	  OPCODE_INFO3 (0xf8000f00,
7872			(0_3, VREG, OPRND_SHIFT_0_BIT),
7873			(16_19, VREG, OPRND_SHIFT_0_BIT),
7874			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7875	  CSKY_ISA_VDSP),
7876    OP32 ("vbpermz.16",
7877	  OPCODE_INFO3 (0xf8100f00,
7878			(0_3, VREG, OPRND_SHIFT_0_BIT),
7879			(16_19, VREG, OPRND_SHIFT_0_BIT),
7880			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7881	  CSKY_ISA_VDSP),
7882    OP32 ("vbpermz.32",
7883	  OPCODE_INFO3 (0xfa000f00,
7884			(0_3, VREG, OPRND_SHIFT_0_BIT),
7885			(16_19, VREG, OPRND_SHIFT_0_BIT),
7886			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7887	  CSKY_ISA_VDSP),
7888    OP32 ("vbperm.8",
7889	  OPCODE_INFO3 (0xf8000f20,
7890			(0_3, VREG, OPRND_SHIFT_0_BIT),
7891			(16_19, VREG, OPRND_SHIFT_0_BIT),
7892			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7893	  CSKY_ISA_VDSP),
7894    OP32 ("vbperm.16",
7895	  OPCODE_INFO3 (0xf8100f20,
7896			(0_3, VREG, OPRND_SHIFT_0_BIT),
7897			(16_19, VREG, OPRND_SHIFT_0_BIT),
7898			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7899	  CSKY_ISA_VDSP),
7900    OP32 ("vbperm.32",
7901	  OPCODE_INFO3 (0xfa000f20,
7902			(0_3, VREG, OPRND_SHIFT_0_BIT),
7903			(16_19, VREG, OPRND_SHIFT_0_BIT),
7904			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7905	  CSKY_ISA_VDSP),
7906    OP32 ("vdch.8",
7907	  OPCODE_INFO3 (0xf8000fc0,
7908			(0_3, VREG, OPRND_SHIFT_0_BIT),
7909			(16_19, VREG, OPRND_SHIFT_0_BIT),
7910			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7911	  CSKY_ISA_VDSP),
7912    OP32 ("vdch.16",
7913	  OPCODE_INFO3 (0xf8100fc0,
7914			(0_3, VREG, OPRND_SHIFT_0_BIT),
7915			(16_19, VREG, OPRND_SHIFT_0_BIT),
7916			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7917	  CSKY_ISA_VDSP),
7918    OP32 ("vdch.32",
7919	  OPCODE_INFO3 (0xfa000fc0,
7920			(0_3, VREG, OPRND_SHIFT_0_BIT),
7921			(16_19, VREG, OPRND_SHIFT_0_BIT),
7922			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7923	  CSKY_ISA_VDSP),
7924    OP32 ("vdcl.8",
7925	  OPCODE_INFO3 (0xf8000fe0,
7926			(0_3, VREG, OPRND_SHIFT_0_BIT),
7927			(16_19, VREG, OPRND_SHIFT_0_BIT),
7928			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7929	  CSKY_ISA_VDSP),
7930    OP32 ("vdcl.16",
7931	  OPCODE_INFO3 (0xf8100fe0,
7932			(0_3, VREG, OPRND_SHIFT_0_BIT),
7933			(16_19, VREG, OPRND_SHIFT_0_BIT),
7934			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7935	  CSKY_ISA_VDSP),
7936    OP32 ("vdcl.32",
7937	  OPCODE_INFO3 (0xfa000fe0,
7938			(0_3, VREG, OPRND_SHIFT_0_BIT),
7939			(16_19, VREG, OPRND_SHIFT_0_BIT),
7940			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7941	  CSKY_ISA_VDSP),
7942    OP32 ("vich.8",
7943	  OPCODE_INFO3 (0xf8000f80,
7944			(0_3, VREG, OPRND_SHIFT_0_BIT),
7945			(16_19, VREG, OPRND_SHIFT_0_BIT),
7946			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7947	  CSKY_ISA_VDSP),
7948    OP32 ("vich.16",
7949	  OPCODE_INFO3 (0xf8100f80,
7950			(0_3, VREG, OPRND_SHIFT_0_BIT),
7951			(16_19, VREG, OPRND_SHIFT_0_BIT),
7952			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7953	  CSKY_ISA_VDSP),
7954    OP32 ("vich.32",
7955	  OPCODE_INFO3 (0xfa000f80,
7956			(0_3, VREG, OPRND_SHIFT_0_BIT),
7957			(16_19, VREG, OPRND_SHIFT_0_BIT),
7958			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7959	  CSKY_ISA_VDSP),
7960    OP32 ("vicl.8",
7961	  OPCODE_INFO3 (0xf8000fa0,
7962			(0_3, VREG, OPRND_SHIFT_0_BIT),
7963			(16_19, VREG, OPRND_SHIFT_0_BIT),
7964			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7965	  CSKY_ISA_VDSP),
7966    OP32 ("vicl.16",
7967	  OPCODE_INFO3 (0xf8100fa0,
7968			(0_3, VREG, OPRND_SHIFT_0_BIT),
7969			(16_19, VREG, OPRND_SHIFT_0_BIT),
7970			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7971	  CSKY_ISA_VDSP),
7972    OP32 ("vicl.32",
7973	  OPCODE_INFO3 (0xfa000fa0,
7974			(0_3, VREG, OPRND_SHIFT_0_BIT),
7975			(16_19, VREG, OPRND_SHIFT_0_BIT),
7976			(21_24, VREG, OPRND_SHIFT_0_BIT)),
7977	  CSKY_ISA_VDSP),
7978
7979    /* The following are aliases for other instructions.  */
7980    /* setc -> cmphs r0, r0  */
7981    OP16 ("setc",
7982	  OPCODE_INFO0 (0x6400),
7983	  CSKYV2_ISA_E1),
7984    /* clrc -> cmpne r0, r0  */
7985    OP16 ("clrc",
7986	  OPCODE_INFO0 (0x6402),
7987	  CSKYV2_ISA_E1),
7988    /* tstlt rd -> btsti rd,31  */
7989    OP32 ("tstlt",
7990	  OPCODE_INFO1 (0xc7e02880,
7991			(16_20, AREG, OPRND_SHIFT_0_BIT)),
7992	  CSKYV2_ISA_1E2),
7993    /* idly4 -> idly 4  */
7994    OP32 ("idly4",
7995	  OPCODE_INFO0 (0xc0601c20),
7996	  CSKYV2_ISA_E1),
7997    /* rsub rz, ry, rx -> subu rz, rx, ry  */
7998    DOP32 ("rsub",
7999	   OPCODE_INFO3 (0xc4000080,
8000			 (0_4, AREG, OPRND_SHIFT_0_BIT),
8001			 (21_25, AREG, OPRND_SHIFT_0_BIT),
8002			 (16_20, AREG, OPRND_SHIFT_0_BIT)),
8003	   OPCODE_INFO2 (0xc4000080,
8004			 (0_4or21_25, DUP_AREG, OPRND_SHIFT_0_BIT),
8005			 (16_20, AREG, OPRND_SHIFT_0_BIT)), CSKYV2_ISA_1E2),
8006    /* cmplei rd,X -> cmplti rd,X+1  */
8007    OP16_OP32 ("cmplei",
8008	       OPCODE_INFO2 (0x3820,
8009			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT),
8010			     (0_4, IMM5b, OPRND_SHIFT_0_BIT)),
8011	       CSKYV2_ISA_E1,
8012	       OPCODE_INFO2 (0xeb200000,
8013			     (16_20, AREG, OPRND_SHIFT_0_BIT),
8014			     (0_15, IMM16b, OPRND_SHIFT_0_BIT)),
8015	       CSKYV2_ISA_1E2),
8016    /* cmpls -> cmphs  */
8017    OP16_OP32 ("cmpls",
8018	       OPCODE_INFO2 (0x6400,
8019			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
8020			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
8021	       CSKYV2_ISA_E1,
8022	       OPCODE_INFO2 (0xc4000420,
8023			     (21_25, AREG, OPRND_SHIFT_0_BIT),
8024			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
8025	       CSKYV2_ISA_2E3),
8026    /* cmpgt -> cmplt  */
8027    OP16_OP32 ("cmpgt",
8028	       OPCODE_INFO2 (0x6401,
8029			     (6_9, GREG0_15, OPRND_SHIFT_0_BIT),
8030			     (2_5, GREG0_15, OPRND_SHIFT_0_BIT)),
8031	       CSKYV2_ISA_E1,
8032	       OPCODE_INFO2 (0xc4000440,
8033			     (21_25, AREG, OPRND_SHIFT_0_BIT),
8034			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
8035	       CSKYV2_ISA_2E3),
8036    /* tstle rd -> cmplti rd,1  */
8037    OP16_OP32 ("tstle",
8038	       OPCODE_INFO1 (0x3820,
8039			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT)),
8040	       CSKYV2_ISA_E1,
8041	       OPCODE_INFO1 (0xeb200000,
8042			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
8043	       CSKYV2_ISA_1E2),
8044    /* tstne rd -> cmpnei rd,0  */
8045    OP16_OP32 ("tstne",
8046	       OPCODE_INFO1 (0x3840,
8047			     (8_10, GREG0_7, OPRND_SHIFT_0_BIT)),
8048	       CSKYV2_ISA_E1,
8049	       OPCODE_INFO1 (0xeb400000,
8050			     (16_20, AREG, OPRND_SHIFT_0_BIT)),
8051	       CSKYV2_ISA_1E2),
8052    /* rotri rz, rx, imm5 -> rotli rz, rx, 32-imm5  */
8053    DOP32 ("rotri",
8054	   OPCODE_INFO3 (0xc4004900,
8055			 (0_4, AREG, OPRND_SHIFT_0_BIT),
8056			 (16_20, AREG, OPRND_SHIFT_0_BIT),
8057			 (21_25, IMM5b_RORI, OPRND_SHIFT_0_BIT)),
8058	   OPCODE_INFO2 (0xc4004900,
8059			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
8060			 (21_25, IMM5b_RORI, OPRND_SHIFT_0_BIT)),
8061	   CSKYV2_ISA_2E3),
8062    DOP32 ("rori",
8063	   OPCODE_INFO3 (0xc4004900,
8064			 (0_4, AREG, OPRND_SHIFT_0_BIT),
8065			 (16_20, AREG, OPRND_SHIFT_0_BIT),
8066			 (21_25, IMM5b_RORI, OPRND_SHIFT_0_BIT)),
8067	   OPCODE_INFO2 (0xc4004900,
8068			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT),
8069			 (21_25, IMM5b_RORI, OPRND_SHIFT_0_BIT)),
8070	   CSKYV2_ISA_2E3),
8071
8072    /* rotlc rd -> addc rd, rd/ addc rd, rd, rd  */
8073    OP16_OP32_WITH_WORK ("rotlc",
8074			 OPCODE_INFO2 (0x6001,
8075				       (NONE, GREG0_15, OPRND_SHIFT_0_BIT),
8076				       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
8077			 CSKYV2_ISA_E1,
8078			 OPCODE_INFO2 (0xc4000040,
8079				       (NONE, AREG, OPRND_SHIFT_0_BIT),
8080				       (NONE, CONST1, OPRND_SHIFT_0_BIT)),
8081			 CSKYV2_ISA_2E3,
8082			 v2_work_rotlc),
8083    /* not rd -> nor rd, rd, not rz, rx -> nor rz, rx, rx  */
8084    OP16_OP32_WITH_WORK ("not",
8085			 OPCODE_INFO1 (0x6c02,
8086				       (NONE, AREG, OPRND_SHIFT_0_BIT)),
8087			 CSKYV2_ISA_E1,
8088			 OPCODE_INFO2 (0xc4002480,
8089				       (NONE, AREG, OPRND_SHIFT_0_BIT),
8090				       (NONE, AREG, OPRND_SHIFT_0_BIT)),
8091			 CSKYV2_ISA_E1, v2_work_not),
8092
8093    /* Special force 32 bits instruction.  */
8094    OP32 ("xtrb0.32",
8095	  OPCODE_INFO2 (0xc4007020,
8096			(0_4, AREG, OPRND_SHIFT_0_BIT),
8097			(16_20, AREG, OPRND_SHIFT_0_BIT)),
8098	  CSKYV2_ISA_1E2),
8099    OP32 ("xtrb1.32",
8100	  OPCODE_INFO2 (0xc4007040,
8101			(0_4, AREG, OPRND_SHIFT_0_BIT),
8102			(16_20, AREG, OPRND_SHIFT_0_BIT)),
8103	  CSKYV2_ISA_1E2),
8104    OP32 ("xtrb2.32",
8105	  OPCODE_INFO2 (0xc4007080,
8106			(0_4, AREG, OPRND_SHIFT_0_BIT),
8107			(16_20, AREG, OPRND_SHIFT_0_BIT)),
8108	  CSKYV2_ISA_1E2),
8109    OP32 ("xtrb3.32",
8110	  OPCODE_INFO2 (0xc4007100,
8111			(0_4, AREG, OPRND_SHIFT_0_BIT),
8112			(16_20, AREG, OPRND_SHIFT_0_BIT)),
8113	  CSKYV2_ISA_1E2),
8114    OP32 ("ff0.32",
8115	  OPCODE_INFO2 (0xc4007c20,
8116			(0_4, AREG, OPRND_SHIFT_0_BIT),
8117			(16_20, AREG, OPRND_SHIFT_0_BIT)),
8118	  CSKYV2_ISA_1E2),
8119    DOP32 ("ff1.32",
8120	   OPCODE_INFO2 (0xc4007c40,
8121			 (0_4, AREG, OPRND_SHIFT_0_BIT),
8122			 (16_20, AREG, OPRND_SHIFT_0_BIT)),
8123	   OPCODE_INFO1 (0xc4007c40,
8124			 (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)),
8125	   CSKYV2_ISA_1E2),
8126    {NULL, 0, {}, {}, 0, 0, 0, 0, 0, NULL}
8127  };
8128