xref: /netbsd-src/external/gpl3/binutils/dist/opcodes/csky-opc.h (revision fb5eed702691094bd687fbf1ded189c87457cd35)
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 
27 enum 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.  */
201 struct 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 
211 struct 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 
223 union 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.  */
239 struct 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.  */
251 struct 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 
588 struct csky_reg
589 {
590   const char *name;
591   int  index;
592   int  flag;
593 };
594 
595 const 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.  */
605 const 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.  */
615 const 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.  */
623 const 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.  */
633 struct 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 
644 const 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 
652 const 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 
665 const 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 
686 struct psrbit
687 {
688   int value;
689   int isa;
690   const char *name;
691 };
692 const 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 };
700 const 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.  */
712 const 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.  */
2339 const 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