/src/binutils-gdb/opcodes/csky-opc.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* Declarations for C-SKY opcode table |
2 | | Copyright (C) 2007-2023 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 | | #include "safe-ctype.h" |
24 | | |
25 | 692M | #define OP_TABLE_NUM 2 |
26 | | #define MAX_OPRND_NUM 5 |
27 | | |
28 | | enum operand_type |
29 | | { |
30 | | OPRND_TYPE_NONE = 0, |
31 | | /* Control register. */ |
32 | | OPRND_TYPE_CTRLREG, |
33 | | /* r0 - r7. */ |
34 | | OPRND_TYPE_GREG0_7, |
35 | | /* r0 - r15. */ |
36 | | OPRND_TYPE_GREG0_15, |
37 | | /* r16 - r31. */ |
38 | | OPRND_TYPE_GREG16_31, |
39 | | /* r0 - r31. */ |
40 | | OPRND_TYPE_AREG, |
41 | | /* (rx). */ |
42 | | OPRND_TYPE_AREG_WITH_BRACKET, |
43 | | OPRND_TYPE_AREG_WITH_LSHIFT, |
44 | | OPRND_TYPE_AREG_WITH_LSHIFT_FPU, |
45 | | |
46 | | OPRND_TYPE_FREG_WITH_INDEX, |
47 | | OPRND_TYPE_VREG_WITH_INDEX, |
48 | | /* r1 only, for xtrb0(1)(2)(3) in csky v1 ISA. */ |
49 | | OPRND_TYPE_REG_r1a, |
50 | | /* r1 only, for divs/divu in csky v1 ISA. */ |
51 | | OPRND_TYPE_REG_r1b, |
52 | | /* r28. */ |
53 | | OPRND_TYPE_REG_r28, |
54 | | OPRND_TYPE_REGr4_r7, |
55 | | /* sp register with bracket. */ |
56 | | OPRND_TYPE_REGbsp, |
57 | | /* sp register. */ |
58 | | OPRND_TYPE_REGsp, |
59 | | /* Register with bracket. */ |
60 | | OPRND_TYPE_REGnr4_r7, |
61 | | /* Not sp register. */ |
62 | | OPRND_TYPE_REGnsp, |
63 | | /* Not lr register. */ |
64 | | OPRND_TYPE_REGnlr, |
65 | | /* Not sp/lr register. */ |
66 | | OPRND_TYPE_REGnsplr, |
67 | | /* hi/lo register. */ |
68 | | OPRND_TYPE_REGhilo, |
69 | | /* VDSP register. */ |
70 | | OPRND_TYPE_VREG, |
71 | | |
72 | | /* cp index. */ |
73 | | OPRND_TYPE_CPIDX, |
74 | | /* cp regs. */ |
75 | | OPRND_TYPE_CPREG, |
76 | | /* cp cregs. */ |
77 | | OPRND_TYPE_CPCREG, |
78 | | /* fpu regs. */ |
79 | | OPRND_TYPE_FREG, |
80 | | /* fpu even regs. */ |
81 | | OPRND_TYPE_FEREG, |
82 | | /* Float round mode. */ |
83 | | OPRND_TYPE_RM, |
84 | | /* PSR bits. */ |
85 | | OPRND_TYPE_PSR_BITS_LIST, |
86 | | |
87 | | /* Constant. */ |
88 | | OPRND_TYPE_CONSTANT, |
89 | | /* Floating Constant. */ |
90 | | OPRND_TYPE_FCONSTANT, |
91 | | /* Extern lrw constant. */ |
92 | | OPRND_TYPE_ELRW_CONSTANT, |
93 | | /* [label]. */ |
94 | | OPRND_TYPE_LABEL_WITH_BRACKET, |
95 | | /* The operand is the same as first reg. It is a dummy reg that doesn't |
96 | | appear in the binary code of the instruction. It is also used by |
97 | | the disassembler. |
98 | | For example: bclri rz, rz, imm5 -> bclri rz, imm5. */ |
99 | | OPRND_TYPE_DUMMY_REG, |
100 | | /* The type of the operand is same as the first operand. If the value |
101 | | of the operand is same as the first operand, we can use a 16-bit |
102 | | instruction to represent the opcode. |
103 | | For example: addc r1, r1, r2 -> addc16 r1, r2. */ |
104 | | OPRND_TYPE_2IN1_DUMMY, |
105 | | /* Output a reg same as the first reg. |
106 | | For example: addc r17, r1 -> addc32 r17, r17, r1. |
107 | | The old "addc" cannot be represented by a 16-bit instruction because |
108 | | 16-bit "addc" only supports regs from r0 to r15. So we use "addc32" |
109 | | which has 3 operands, and duplicate the first operand to the second. */ |
110 | | OPRND_TYPE_DUP_GREG0_7, |
111 | | OPRND_TYPE_DUP_GREG0_15, |
112 | | OPRND_TYPE_DUP_AREG, |
113 | | /* Immediate. */ |
114 | | OPRND_TYPE_IMM1b, |
115 | | OPRND_TYPE_IMM2b, |
116 | | OPRND_TYPE_IMM3b, |
117 | | OPRND_TYPE_IMM4b, |
118 | | OPRND_TYPE_IMM5b, |
119 | | OPRND_TYPE_IMM7b, |
120 | | OPRND_TYPE_IMM8b, |
121 | | OPRND_TYPE_IMM9b, |
122 | | OPRND_TYPE_IMM12b, |
123 | | OPRND_TYPE_IMM15b, |
124 | | OPRND_TYPE_IMM16b, |
125 | | OPRND_TYPE_IMM18b, |
126 | | OPRND_TYPE_IMM32b, |
127 | | /* Immediate left shift 2 bits. */ |
128 | | OPRND_TYPE_IMM7b_LS2, |
129 | | OPRND_TYPE_IMM8b_LS2, |
130 | | /* OPRND_TYPE_IMM5b_a_b means: Immediate in (a, b). */ |
131 | | OPRND_TYPE_IMM5b_1_31, |
132 | | OPRND_TYPE_IMM5b_7_31, |
133 | | /* OPRND_TYPE_IMM5b_LS means: Imm <= prev Imm. */ |
134 | | OPRND_TYPE_IMM5b_LS, |
135 | | /* Operand type for rori and rotri. */ |
136 | | OPRND_TYPE_IMM5b_RORI, |
137 | | OPRND_TYPE_IMM5b_VSH, |
138 | | OPRND_TYPE_IMM5b_POWER, |
139 | | OPRND_TYPE_IMM5b_7_31_POWER, |
140 | | OPRND_TYPE_IMM5b_BMASKI, |
141 | | OPRND_TYPE_IMM8b_BMASKI, |
142 | | /* For v2 movih. */ |
143 | | OPRND_TYPE_IMM16b_MOVIH, |
144 | | /* For v2 ori. */ |
145 | | OPRND_TYPE_IMM16b_ORI, |
146 | | /* For v2 ld/st. */ |
147 | | OPRND_TYPE_IMM_LDST, |
148 | | OPRND_TYPE_IMM_FLDST, |
149 | | OPRND_TYPE_IMM2b_JMPIX, |
150 | | /* Offset for bloop. */ |
151 | | OPRND_TYPE_BLOOP_OFF4b, |
152 | | OPRND_TYPE_BLOOP_OFF12b, |
153 | | /* Offset for jump. */ |
154 | | OPRND_TYPE_OFF8b, |
155 | | OPRND_TYPE_OFF10b, |
156 | | OPRND_TYPE_OFF11b, |
157 | | OPRND_TYPE_OFF16b, |
158 | | OPRND_TYPE_OFF16b_LSL1, |
159 | | OPRND_TYPE_OFF26b, |
160 | | /* An immediate or label. */ |
161 | | OPRND_TYPE_IMM_OFF18b, |
162 | | /* Offset immediate. */ |
163 | | OPRND_TYPE_OIMM3b, |
164 | | OPRND_TYPE_OIMM4b, |
165 | | OPRND_TYPE_OIMM5b, |
166 | | OPRND_TYPE_OIMM8b, |
167 | | OPRND_TYPE_OIMM12b, |
168 | | OPRND_TYPE_OIMM16b, |
169 | | OPRND_TYPE_OIMM18b, |
170 | | /* For csky v2 idly. */ |
171 | | OPRND_TYPE_OIMM5b_IDLY, |
172 | | /* For v2 bmaski. */ |
173 | | OPRND_TYPE_OIMM5b_BMASKI, |
174 | | /* Constants. */ |
175 | | OPRND_TYPE_CONST1, |
176 | | /* PC relative offset. */ |
177 | | OPRND_TYPE_PCR_OFFSET_16K, |
178 | | OPRND_TYPE_PCR_OFFSET_64K, |
179 | | OPRND_TYPE_PCR_OFFSET_64M, |
180 | | OPRND_TYPE_CPFUNC, |
181 | | OPRND_TYPE_GOT_PLT, |
182 | | OPRND_TYPE_REGLIST_LDM, |
183 | | OPRND_TYPE_REGLIST_DASH, |
184 | | OPRND_TYPE_FREGLIST_DASH, |
185 | | OPRND_TYPE_REGLIST_COMMA, |
186 | | OPRND_TYPE_REGLIST_DASH_COMMA, |
187 | | OPRND_TYPE_BRACKET, |
188 | | OPRND_TYPE_ABRACKET, |
189 | | OPRND_TYPE_JBTF, |
190 | | OPRND_TYPE_JBR, |
191 | | OPRND_TYPE_JBSR, |
192 | | OPRND_TYPE_UNCOND10b, |
193 | | OPRND_TYPE_UNCOND16b, |
194 | | OPRND_TYPE_COND10b, |
195 | | OPRND_TYPE_COND16b, |
196 | | OPRND_TYPE_JCOMPZ, |
197 | | OPRND_TYPE_LSB2SIZE, |
198 | | OPRND_TYPE_MSB2SIZE, |
199 | | OPRND_TYPE_LSB, |
200 | | OPRND_TYPE_MSB, |
201 | | /* Single float and double float. */ |
202 | | OPRND_TYPE_SFLOAT, |
203 | | OPRND_TYPE_DFLOAT, |
204 | | OPRND_TYPE_HFLOAT_FMOVI, |
205 | | OPRND_TYPE_SFLOAT_FMOVI, |
206 | | OPRND_TYPE_DFLOAT_FMOVI, |
207 | | }; |
208 | | |
209 | | /* Operand descriptors. */ |
210 | | struct operand |
211 | | { |
212 | | /* Mask for suboperand. */ |
213 | | unsigned int mask; |
214 | | /* Suboperand type. */ |
215 | | enum operand_type type; |
216 | | /* Operand shift. */ |
217 | | int shift; |
218 | | }; |
219 | | |
220 | | struct soperand |
221 | | { |
222 | | /* Mask for operand. */ |
223 | | unsigned int mask; |
224 | | /* Operand type. */ |
225 | | enum operand_type type; |
226 | | /* Operand shift. */ |
227 | | int shift; |
228 | | /* Suboperand. */ |
229 | | struct operand subs[3]; |
230 | | }; |
231 | | |
232 | | union csky_operand |
233 | | { |
234 | | struct operand oprnds[MAX_OPRND_NUM]; |
235 | | struct suboperand1 |
236 | | { |
237 | | struct operand oprnd; |
238 | | struct soperand soprnd; |
239 | | } soprnd1; |
240 | | struct suboperand2 |
241 | | { |
242 | | struct soperand soprnd; |
243 | | struct operand oprnd; |
244 | | } soprnd2; |
245 | | }; |
246 | | |
247 | | /* Describe a single instruction encoding. */ |
248 | | struct csky_opcode_info |
249 | | { |
250 | | /* How many operands. */ |
251 | | long operand_num; |
252 | | /* The instruction opcode. */ |
253 | | unsigned int opcode; |
254 | | /* Operand information. */ |
255 | | union csky_operand oprnd; |
256 | | }; |
257 | | |
258 | | /* C-SKY instruction description. Each mnemonic can have multiple |
259 | | 16-bit and 32-bit encodings. */ |
260 | | struct csky_opcode |
261 | | { |
262 | | /* The instruction name. */ |
263 | | const char *mnemonic; |
264 | | /* Whether this is an unconditional control transfer instruction, |
265 | | for the purposes of placing literal pools after it. |
266 | | 0 = no, 1 = within function, 2 = end of function. |
267 | | See check_literals in gas/config/tc-csky.c. */ |
268 | | int transfer; |
269 | | /* Encodings for 16-bit opcodes. */ |
270 | | struct csky_opcode_info op16[OP_TABLE_NUM]; |
271 | | /* Encodings for 32-bit opcodes. */ |
272 | | struct csky_opcode_info op32[OP_TABLE_NUM]; |
273 | | /* Instruction set flag. */ |
274 | | uint64_t isa_flag16; |
275 | | uint64_t isa_flag32; |
276 | | /* Whether this insn needs relocation, 0: no, !=0: yes. */ |
277 | | signed int reloc16; |
278 | | signed int reloc32; |
279 | | /* Whether this insn needs relaxation, 0: no, != 0: yes. */ |
280 | | signed int relax; |
281 | | /* Worker function to call when this instruction needs special assembler |
282 | | handling. */ |
283 | | bool (*work) (void); |
284 | | }; |
285 | | |
286 | | /* The following are the opcodes used in relax/fix process. */ |
287 | | #define CSKYV1_INST_JMPI 0x7000 |
288 | | #define CSKYV1_INST_ADDI 0x2000 |
289 | | #define CSKYV1_INST_SUBI 0x2400 |
290 | | #define CSKYV1_INST_LDW 0x8000 |
291 | | #define CSKYV1_INST_STW 0x9000 |
292 | | #define CSKYV1_INST_BSR 0xf800 |
293 | | #define CSKYV1_INST_LRW 0x7000 |
294 | | #define CSKYV1_INST_ADDU 0x1c00 |
295 | | #define CSKYV1_INST_JMP 0x00c0 |
296 | | #define CSKYV1_INST_MOV_R1_RX 0x1201 |
297 | | #define CSKYV1_INST_MOV_RX_R1 0x1210 |
298 | | |
299 | | #define CSKYV2_INST_BT16 0x0800 |
300 | | #define CSKYV2_INST_BF16 0x0c00 |
301 | | #define CSKYV2_INST_BT32 0xe8600000 |
302 | | #define CSKYV2_INST_BF32 0xe8400000 |
303 | | #define CSKYV2_INST_BR32 0xe8000000 |
304 | | #define CSKYV2_INST_NOP 0x6c03 |
305 | | #define CSKYV2_INST_MOVI16 0x3000 |
306 | | #define CSKYV2_INST_MOVI32 0xea000000 |
307 | | #define CSKYV2_INST_MOVIH 0xea200000 |
308 | | #define CSKYV2_INST_LRW16 0x1000 |
309 | | #define CSKYV2_INST_LRW32 0xea800000 |
310 | | #define CSKYV2_INST_BSR32 0xe0000000 |
311 | | #define CSKYV2_INST_BR32 0xe8000000 |
312 | 5 | #define CSKYV2_INST_FLRW 0xf4003800 |
313 | | #define CSKYV2_INST_JMPI32 0xeac00000 |
314 | | #define CSKYV2_INST_JSRI32 0xeae00000 |
315 | | #define CSKYV2_INST_JSRI_TO_LRW 0xea9a0000 |
316 | | #define CSKYV2_INST_JSR_R26 0xe8fa0000 |
317 | | #define CSKYV2_INST_MOV_R0_R0 0xc4004820 |
318 | | |
319 | | #define OPRND_SHIFT_0_BIT 0 |
320 | | #define OPRND_SHIFT_1_BIT 1 |
321 | | #define OPRND_SHIFT_2_BIT 2 |
322 | | #define OPRND_SHIFT_3_BIT 3 |
323 | | #define OPRND_SHIFT_4_BIT 4 |
324 | | |
325 | | #define OPRND_MASK_NONE 0x0 |
326 | | #define OPRND_MASK_0_1 0x3 |
327 | | #define OPRND_MASK_0_2 0x7 |
328 | | #define OPRND_MASK_0_3 0xf |
329 | 6.67k | #define OPRND_MASK_0_4 0x1f |
330 | | #define OPRND_MASK_0_7 0xff |
331 | | #define OPRND_MASK_0_8 0x1ff |
332 | | #define OPRND_MASK_0_9 0x3ff |
333 | | #define OPRND_MASK_0_10 0x7ff |
334 | | #define OPRND_MASK_0_11 0xfff |
335 | | #define OPRND_MASK_0_14 0x7fff |
336 | | #define OPRND_MASK_0_15 0xffff |
337 | | #define OPRND_MASK_0_17 0x3ffff |
338 | | #define OPRND_MASK_0_25 0x3ffffff |
339 | | #define OPRND_MASK_2_4 0x1c |
340 | | #define OPRND_MASK_2_5 0x3c |
341 | | #define OPRND_MASK_3_7 0xf8 |
342 | | #define OPRND_MASK_4 0x10 |
343 | | #define OPRND_MASK_4_5 0x30 |
344 | | #define OPRND_MASK_4_6 0x70 |
345 | | #define OPRND_MASK_4_7 0xf0 |
346 | | #define OPRND_MASK_4_8 0x1f0 |
347 | | #define OPRND_MASK_4_10 0x7f0 |
348 | | #define OPRND_MASK_5 0x20 |
349 | | #define OPRND_MASK_5_6 0x60 |
350 | | #define OPRND_MASK_5_7 0xe0 |
351 | | #define OPRND_MASK_5_8 0x1e0 |
352 | | #define OPRND_MASK_5_9 0x3e0 |
353 | | #define OPRND_MASK_6 0x40 |
354 | | #define OPRND_MASK_6_7 0xc0 |
355 | | #define OPRND_MASK_6_8 0x1c0 |
356 | | #define OPRND_MASK_6_9 0x3c0 |
357 | | #define OPRND_MASK_6_10 0x7c0 |
358 | | #define OPRND_MASK_7 0x80 |
359 | | #define OPRND_MASK_7_8 0x180 |
360 | | #define OPRND_MASK_8_9 0x300 |
361 | | #define OPRND_MASK_8_10 0x700 |
362 | | #define OPRND_MASK_8_11 0xf00 |
363 | | #define OPRND_MASK_9_10 0x600 |
364 | | #define OPRND_MASK_9_12 0x1e00 |
365 | | #define OPRND_MASK_10_11 0xc00 |
366 | | #define OPRND_MASK_10_14 0x7c00 |
367 | | #define OPRND_MASK_12_15 0xf000 |
368 | | #define OPRND_MASK_13_17 0x3e000 |
369 | | #define OPRND_MASK_16_19 0xf0000 |
370 | | #define OPRND_MASK_16_20 0x1f0000 |
371 | | #define OPRND_MASK_16_25 0x3ff0000 |
372 | | #define OPRND_MASK_17_24 0x1fe0000 |
373 | | #define OPRND_MASK_20 0x0100000 |
374 | | #define OPRND_MASK_20_21 0x0300000 |
375 | | #define OPRND_MASK_20_22 0x0700000 |
376 | | #define OPRND_MASK_20_23 0x0f00000 |
377 | | #define OPRND_MASK_20_24 0x1f00000 |
378 | | #define OPRND_MASK_20_25 0x3f00000 |
379 | | #define OPRND_MASK_21_24 0x1e00000 |
380 | | #define OPRND_MASK_21_25 0x3e00000 |
381 | | #define OPRND_MASK_25 0x2000000 |
382 | | #define OPRND_MASK_RSV 0xffffffff |
383 | | #define OPRND_MASK_0_3or5_8 OPRND_MASK_0_3 | OPRND_MASK_5_8 |
384 | | #define OPRND_MASK_0_3or6_7 OPRND_MASK_0_3 | OPRND_MASK_6_7 |
385 | | #define OPRND_MASK_0_3or21_24 OPRND_MASK_0_3 | OPRND_MASK_21_24 |
386 | | #define OPRND_MASK_0_3or25 OPRND_MASK_0_3 | OPRND_MASK_25 |
387 | | #define OPRND_MASK_0_4or21_24 OPRND_MASK_0_4 | OPRND_MASK_21_24 |
388 | | #define OPRND_MASK_0_4or21_25 OPRND_MASK_0_4 | OPRND_MASK_21_25 |
389 | | #define OPRND_MASK_0_4or16_20 OPRND_MASK_0_4 | OPRND_MASK_16_20 |
390 | | #define OPRND_MASK_0_4or8_10 OPRND_MASK_0_4 | OPRND_MASK_8_10 |
391 | | #define OPRND_MASK_0_4or8_9 OPRND_MASK_0_4 | OPRND_MASK_8_9 |
392 | | #define OPRND_MASK_0_14or16_20 OPRND_MASK_0_14 | OPRND_MASK_16_20 |
393 | | #define OPRND_MASK_4or5_8 OPRND_MASK_4 | OPRND_MASK_5_8 |
394 | | #define OPRND_MASK_5or20_21 OPRND_MASK_5 | OPRND_MASK_20_21 |
395 | | #define OPRND_MASK_5or20_22 OPRND_MASK_5 | OPRND_MASK_20_22 |
396 | | #define OPRND_MASK_5or20_23 OPRND_MASK_5 | OPRND_MASK_20_23 |
397 | | #define OPRND_MASK_5or20_24 OPRND_MASK_5 | OPRND_MASK_20_24 |
398 | | #define OPRND_MASK_5or20_25 OPRND_MASK_5 | OPRND_MASK_20_25 |
399 | | #define OPRND_MASK_5or21_24 OPRND_MASK_5 | OPRND_MASK_21_24 |
400 | | #define OPRND_MASK_2_5or6_9 OPRND_MASK_2_5 | OPRND_MASK_6_9 |
401 | | #define OPRND_MASK_4_6or21_25 OPRND_MASK_4_6 | OPRND_MASK_21_25 |
402 | | #define OPRND_MASK_4_7or21_24 OPRND_MASK_4_7 | OPRND_MASK_21_24 |
403 | | #define OPRND_MASK_5_6or21_25 OPRND_MASK_5_6 | OPRND_MASK_21_25 |
404 | | #define OPRND_MASK_5_7or8_10 OPRND_MASK_5_7 | OPRND_MASK_8_10 |
405 | | #define OPRND_MASK_5_9or21_25 OPRND_MASK_5_9 | OPRND_MASK_21_25 |
406 | | #define OPRND_MASK_8_9or21_25 OPRND_MASK_8_9 | OPRND_MASK_21_25 |
407 | | #define OPRND_MASK_8_9or16_25 OPRND_MASK_8_9 | OPRND_MASK_16_20 | OPRND_MASK_21_25 |
408 | | #define OPRND_MASK_16_19or21_24 OPRND_MASK_16_19 | OPRND_MASK_21_24 |
409 | | #define OPRND_MASK_16_20or21_25 OPRND_MASK_16_20 | OPRND_MASK_21_25 |
410 | | #define OPRND_MASK_4or9_10or25 OPRND_MASK_4 | OPRND_MASK_9_10 | OPRND_MASK_25 |
411 | | #define OPRND_MASK_4_7or16_24 OPRND_MASK_4_7 | OPRND_MASK_16_20 | OPRND_MASK_21_24 |
412 | | #define OPRND_MASK_4_6or20 OPRND_MASK_4_6 | OPRND_MASK_20 |
413 | | #define OPRND_MASK_5_7or20 OPRND_MASK_5_7 | OPRND_MASK_20 |
414 | | #define OPRND_MASK_4_5or20or25 OPRND_MASK_4 | OPRND_MASK_5 | OPRND_MASK_20 | OPRND_MASK_25 |
415 | | #define OPRND_MASK_4_6or20or25 OPRND_MASK_4_6 | OPRND_MASK_20 | OPRND_MASK_25 |
416 | | #define OPRND_MASK_4_7or20or25 OPRND_MASK_4_7 | OPRND_MASK_20 | OPRND_MASK_25 |
417 | | #define OPRND_MASK_6_9or17_24 OPRND_MASK_6_9 | OPRND_MASK_17_24 |
418 | | #define OPRND_MASK_6_7or20 OPRND_MASK_6_7 | OPRND_MASK_20 |
419 | | #define OPRND_MASK_6or20 OPRND_MASK_6 | OPRND_MASK_20 |
420 | | #define OPRND_MASK_7or20 OPRND_MASK_7 | OPRND_MASK_20 |
421 | | #define OPRND_MASK_5or8_9or16_25 OPRND_MASK_5 | OPRND_MASK_8_9or16_25 |
422 | | #define OPRND_MASK_5or8_9or20_25 OPRND_MASK_5 | OPRND_MASK_8_9 | OPRND_MASK_20_25 |
423 | | |
424 | | #define OPERAND_INFO(mask, type, shift) \ |
425 | | {OPRND_MASK_##mask, OPRND_TYPE_##type, shift} |
426 | | |
427 | | #define OPCODE_INFO_NONE() \ |
428 | | {-2, 0, \ |
429 | | {{OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
430 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
431 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
432 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
433 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}} |
434 | | |
435 | | /* Here and in subsequent macros, the "oprnd" arguments are the |
436 | | parenthesized arglist to the OPERAND_INFO macro above. */ |
437 | | #define OPCODE_INFO(num, op, oprnd1, oprnd2, oprnd3, oprnd4, oprnd5) \ |
438 | | {num, op, \ |
439 | | {OPERAND_INFO oprnd1, OPERAND_INFO oprnd2, OPERAND_INFO oprnd3, \ |
440 | | OPERAND_INFO oprnd4, OPERAND_INFO oprnd5}} |
441 | | |
442 | | #define OPCODE_INFO0(op) \ |
443 | | {0, op, \ |
444 | | {{OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
445 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
446 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
447 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
448 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}} |
449 | | #define OPCODE_INFO1(op, oprnd) \ |
450 | | {1, op, \ |
451 | | {{OPERAND_INFO oprnd, \ |
452 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
453 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
454 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
455 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}} |
456 | | #define OPCODE_INFO2(op, oprnd1, oprnd2) \ |
457 | | {2, op, \ |
458 | | {{OPERAND_INFO oprnd1, \ |
459 | | OPERAND_INFO oprnd2, \ |
460 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
461 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
462 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}} |
463 | | #define OPCODE_INFO3(op, oprnd1, oprnd2, oprnd3) \ |
464 | | {3, op, \ |
465 | | {{OPERAND_INFO oprnd1, \ |
466 | | OPERAND_INFO oprnd2, \ |
467 | | OPERAND_INFO oprnd3, \ |
468 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
469 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}} |
470 | | #define OPCODE_INFO4(op, oprnd1, oprnd2, oprnd3, oprnd4) \ |
471 | | {4, op, \ |
472 | | {{OPERAND_INFO oprnd1, \ |
473 | | OPERAND_INFO oprnd2, \ |
474 | | OPERAND_INFO oprnd3, \ |
475 | | OPERAND_INFO oprnd4, \ |
476 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}} |
477 | | #define OPCODE_INFO_LIST(op, oprnd) \ |
478 | | {-1, op, \ |
479 | | {{OPERAND_INFO oprnd, \ |
480 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
481 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT) , \ |
482 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT), \ |
483 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}} |
484 | | #define OPCODE_INFO5(op, oprnd1, oprnd2, oprnd3, oprnd4, oprnd5) \ |
485 | | {5, op, \ |
486 | | {{OPERAND_INFO oprnd1, \ |
487 | | OPERAND_INFO oprnd2, \ |
488 | | OPERAND_INFO oprnd3, \ |
489 | | OPERAND_INFO oprnd4, \ |
490 | | OPERAND_INFO oprnd5}}} |
491 | | |
492 | | #define BRACKET_OPRND(oprnd1, oprnd2) \ |
493 | | OPERAND_INFO (RSV, BRACKET, OPRND_SHIFT_0_BIT), \ |
494 | | OPERAND_INFO oprnd1, \ |
495 | | OPERAND_INFO oprnd2, \ |
496 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT) |
497 | | #define ABRACKET_OPRND(oprnd1, oprnd2) \ |
498 | | OPERAND_INFO (RSV, ABRACKET, OPRND_SHIFT_0_BIT), \ |
499 | | OPERAND_INFO oprnd1, \ |
500 | | OPERAND_INFO oprnd2, \ |
501 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT) |
502 | | |
503 | | #define SOPCODE_INFO1(op, soprnd) \ |
504 | | {1, op, \ |
505 | | {{soprnd, \ |
506 | | OPERAND_INFO (NONE, NONE, OPRND_SHIFT_0_BIT)}}} |
507 | | #define SOPCODE_INFO2(op, oprnd, soprnd) \ |
508 | | {2, op, \ |
509 | | {{OPERAND_INFO oprnd, soprnd}}} |
510 | | |
511 | | |
512 | | /* Before using the opcode-defining macros, there need to be |
513 | | #defines for _TRANSFER, _RELOC16, _RELOC32, and _RELAX. See |
514 | | below. */ |
515 | | /* FIXME: it is a wart that these parameters are not explicit. */ |
516 | | |
517 | | #define OP16(mnem, opcode16, isa) \ |
518 | | {mnem, _TRANSFER, \ |
519 | | {opcode16, OPCODE_INFO_NONE ()}, \ |
520 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
521 | | isa, 0, _RELOC16, 0, _RELAX, NULL} |
522 | | |
523 | | #ifdef BUILD_AS |
524 | | |
525 | | #define OP16_WITH_WORK(mnem, opcode16, isa, work) \ |
526 | | {mnem, _TRANSFER, \ |
527 | | {opcode16, OPCODE_INFO_NONE ()}, \ |
528 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
529 | | isa, 0, _RELOC16, 0, _RELAX, work} |
530 | | #define OP32_WITH_WORK(mnem, opcode32, isa, work) \ |
531 | | {mnem, _TRANSFER, \ |
532 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
533 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
534 | | 0, isa, 0, _RELOC32, _RELAX, work} |
535 | | #define OP16_OP32_WITH_WORK(mnem, opcode16, isa16, opcode32, isa32, work) \ |
536 | | {mnem, _TRANSFER, \ |
537 | | {opcode16, OPCODE_INFO_NONE ()}, \ |
538 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
539 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, work} |
540 | | #define DOP16_OP32_WITH_WORK(mnem, opcode16a, opcode16b, isa16, opcode32, isa32, work) \ |
541 | | {mnem, _TRANSFER, \ |
542 | | {opcode16a, opcode16b}, \ |
543 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
544 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, work} |
545 | | #define DOP16_DOP32_WITH_WORK(mnem, opcode16a, opcode16b, isa16, opcode32a, opcode32b, isa32, work) \ |
546 | | {mnem, _TRANSFER, \ |
547 | | {opcode16a, opcode16b}, \ |
548 | | {opcode32a, opcode32b}, \ |
549 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, work} |
550 | | #define DOP32_WITH_WORK(mnem, opcode32a, opcode32b, isa, work) \ |
551 | | {mnem, _TRANSFER, \ |
552 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
553 | | {opcode32a, opcode32b}, \ |
554 | | 0, isa, 0, _RELOC32, _RELAX, work} |
555 | | |
556 | | #else /* ifdef BUILD_AS */ |
557 | | |
558 | | #define OP16_WITH_WORK(mnem, opcode16, isa, work) \ |
559 | | {mnem, _TRANSFER, \ |
560 | | {opcode16, OPCODE_INFO_NONE ()}, \ |
561 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
562 | | isa, 0, _RELOC16, 0, _RELAX, NULL} |
563 | | #define OP32_WITH_WORK(mnem, opcode32, isa, work) \ |
564 | | {mnem, _TRANSFER, \ |
565 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
566 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
567 | | 0, isa, 0, _RELOC32, _RELAX, NULL} |
568 | | #define OP16_OP32_WITH_WORK(mnem, opcode16, isa16, opcode32, isa32, work) \ |
569 | | {mnem, _TRANSFER, \ |
570 | | {opcode16, OPCODE_INFO_NONE ()}, \ |
571 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
572 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL} |
573 | | #define DOP16_OP32_WITH_WORK(mnem, opcode16a, opcode16b, isa16, opcode32, isa32, work) \ |
574 | | {mnem, _TRANSFER, \ |
575 | | {opcode16a, opcode16b}, \ |
576 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
577 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL} |
578 | | #define DOP16_DOP32_WITH_WORK(mnem, opcode16a, opcode16b, isa16, opcode32a, opcode32b, isa32, work) \ |
579 | | {mnem, _TRANSFER, \ |
580 | | {opcode16a, opcode16b}, \ |
581 | | {opcode32a, opcode32b}, \ |
582 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL} |
583 | | #define DOP32_WITH_WORK(mnem, opcode32a, opcode32b, isa, work) \ |
584 | | {mnem, _TRANSFER, \ |
585 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
586 | | {opcode32a, opcode32b}, \ |
587 | | 0, isa, 0, _RELOC32, _RELAX, NULL} |
588 | | |
589 | | #endif /* ifdef BUILD_AS */ |
590 | | |
591 | | #define DOP16(mnem, opcode16_1, opcode16_2, isa) \ |
592 | | {mnem, _TRANSFER, \ |
593 | | {opcode16_1, opcode16_2}, \ |
594 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
595 | | isa, 0, _RELOC16, 0, _RELAX, NULL} |
596 | | #define OP32(mnem, opcode32, isa) \ |
597 | | {mnem, _TRANSFER, \ |
598 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
599 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
600 | | 0, isa, 0, _RELOC32, _RELAX, NULL} |
601 | | #define DOP32(mnem, opcode32a, opcode32b, isa) \ |
602 | | {mnem, _TRANSFER, \ |
603 | | {OPCODE_INFO_NONE (), OPCODE_INFO_NONE ()}, \ |
604 | | {opcode32a, opcode32b}, \ |
605 | | 0, isa, 0, _RELOC32, _RELAX, NULL} |
606 | | #define OP16_OP32(mnem, opcode16, isa16, opcode32, isa32) \ |
607 | | {mnem, _TRANSFER, \ |
608 | | {opcode16, OPCODE_INFO_NONE ()}, \ |
609 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
610 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL} |
611 | | #define DOP16_OP32(mnem, opcode16a, opcode16b, isa16, opcode32, isa32) \ |
612 | | {mnem, _TRANSFER, \ |
613 | | {opcode16a, opcode16b}, \ |
614 | | {opcode32, OPCODE_INFO_NONE ()}, \ |
615 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL} |
616 | | #define OP16_DOP32(mnem, opcode16, isa16, opcode32a, opcode32b, isa32) \ |
617 | | {mnem, _TRANSFER, \ |
618 | | {opcode16, OPCODE_INFO_NONE ()}, \ |
619 | | {opcode32a, opcode32b}, \ |
620 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL} |
621 | | #define DOP16_DOP32(mnem, opcode16a, opcode16b, isa16, opcode32a, opcode32b, isa32) \ |
622 | | {mnem, _TRANSFER, \ |
623 | | {opcode16a, opcode16b}, \ |
624 | | {opcode32a, opcode32b}, \ |
625 | | isa16, isa32, _RELOC16, _RELOC32, _RELAX, NULL} |
626 | | |
627 | | |
628 | | /* Register names and numbers. */ |
629 | | #define V1_REG_SP 0 |
630 | | #define V1_REG_LR 15 |
631 | | |
632 | | struct psrbit |
633 | | { |
634 | | int value; |
635 | | int isa; |
636 | | const char *name; |
637 | | }; |
638 | | |
639 | | const struct psrbit cskyv1_psr_bits[] = |
640 | | { |
641 | | {1, 0, "ie"}, |
642 | | {2, 0, "fe"}, |
643 | | {4, 0, "ee"}, |
644 | | {8, 0, "af"}, |
645 | | {0, 0, NULL}, |
646 | | }; |
647 | | |
648 | | const struct psrbit cskyv2_psr_bits[] = |
649 | | { |
650 | | {8, 0, "ee"}, |
651 | | {4, 0, "ie"}, |
652 | | {2, 0, "fe"}, |
653 | | {1, 0, "af"}, |
654 | | {0x10, CSKY_ISA_TRUST, "sie"}, |
655 | | {0, 0, NULL}, |
656 | | }; |
657 | | |
658 | 779k | #define GENERAL_REG_BANK 0x80000000 |
659 | | #define REG_SUPPORT_ALL 0xffffffff |
660 | | |
661 | | /* CSKY register description. */ |
662 | | struct csky_reg_def |
663 | | { |
664 | | /* The group number for control registers, |
665 | | and set the bank of genaral registers to a special number. */ |
666 | | int bank; |
667 | | int regno; |
668 | | /* The name displayed by serial number. */ |
669 | | const char *name; |
670 | | /* The name displayed by ABI infomation, |
671 | | used when objdump add option -Mabi-names. */ |
672 | | const char *abi_name; |
673 | | /* The flags indicate which arches support the register. */ |
674 | | int arch_flag; |
675 | | /* Some registers depend on special features. */ |
676 | | char *features; |
677 | | }; |
678 | | |
679 | | /* Arch flag. */ |
680 | | #define ASH(a) (1 << CSKY_ARCH_##a) |
681 | | |
682 | | /* All arches exclued 801. */ |
683 | | #define REG_SUPPORT_A (REG_SUPPORT_ALL & ~ASH(801)) |
684 | | |
685 | | /* All arches exclued 801 and 802. */ |
686 | | #define REG_SUPPORT_B (REG_SUPPORT_ALL & ~(ASH(801) | ASH(802))) |
687 | | |
688 | | /* All arches exclued 801, 802, 803, 805.*/ |
689 | | #define REG_SUPPORT_C (REG_SUPPORT_ALL & ~(ASH(801) \ |
690 | | | ASH(802) | ASH(803) | ASH(805))) |
691 | | |
692 | | /* All arches exclued 801, 802, 803, 805, 807, 810. */ |
693 | | #define REG_SUPPORT_D (REG_SUPPORT_C & ~(ASH(807) | ASH(810))) |
694 | | |
695 | | /* All arches exclued 807, 810, 860. */ |
696 | | #define REG_SUPPORT_E (REG_SUPPORT_ALL & ~(ASH(807) | ASH(810) | \ |
697 | | ASH(860))) |
698 | | |
699 | | /* C-SKY V1 general registers table. */ |
700 | | static struct csky_reg_def csky_abiv1_general_regs[] = |
701 | | { |
702 | | #define DECLARE_REG(regno, abi_name, support) \ |
703 | | {GENERAL_REG_BANK, regno, "r"#regno, abi_name, support, NULL} |
704 | | |
705 | | DECLARE_REG (0, "sp", REG_SUPPORT_ALL), |
706 | | DECLARE_REG (1, NULL, REG_SUPPORT_ALL), |
707 | | DECLARE_REG (2, "a0", REG_SUPPORT_ALL), |
708 | | DECLARE_REG (3, "a1", REG_SUPPORT_ALL), |
709 | | DECLARE_REG (4, "a2", REG_SUPPORT_ALL), |
710 | | DECLARE_REG (5, "a3", REG_SUPPORT_ALL), |
711 | | DECLARE_REG (6, "a4", REG_SUPPORT_ALL), |
712 | | DECLARE_REG (7, "a5", REG_SUPPORT_ALL), |
713 | | DECLARE_REG (8, "fp", REG_SUPPORT_ALL), |
714 | | DECLARE_REG (8, "l0", REG_SUPPORT_ALL), |
715 | | DECLARE_REG (9, "l1", REG_SUPPORT_ALL), |
716 | | DECLARE_REG (10, "l2", REG_SUPPORT_ALL), |
717 | | DECLARE_REG (11, "l3", REG_SUPPORT_ALL), |
718 | | DECLARE_REG (12, "l4", REG_SUPPORT_ALL), |
719 | | DECLARE_REG (13, "l5", REG_SUPPORT_ALL), |
720 | | DECLARE_REG (14, "gb", REG_SUPPORT_ALL), |
721 | | DECLARE_REG (15, "lr", REG_SUPPORT_ALL), |
722 | | #undef DECLARE_REG |
723 | | {-1, -1, NULL, NULL, 0, NULL}, |
724 | | }; |
725 | | |
726 | | /* C-SKY V1 control registers table. */ |
727 | | static struct csky_reg_def csky_abiv1_control_regs[] = |
728 | | { |
729 | | #define DECLARE_REG(regno, abi_name, support) \ |
730 | | {0, regno, "cr"#regno, abi_name, support, NULL} |
731 | | |
732 | | DECLARE_REG (0, "psr", REG_SUPPORT_ALL), |
733 | | DECLARE_REG (1, "vbr", REG_SUPPORT_ALL), |
734 | | DECLARE_REG (2, "epsr", REG_SUPPORT_ALL), |
735 | | DECLARE_REG (3, "fpsr", REG_SUPPORT_ALL), |
736 | | DECLARE_REG (4, "epc", REG_SUPPORT_ALL), |
737 | | DECLARE_REG (5, "fpc", REG_SUPPORT_ALL), |
738 | | DECLARE_REG (6, "ss0", REG_SUPPORT_ALL), |
739 | | DECLARE_REG (7, "ss1", REG_SUPPORT_ALL), |
740 | | DECLARE_REG (8, "ss2", REG_SUPPORT_ALL), |
741 | | DECLARE_REG (9, "ss3", REG_SUPPORT_ALL), |
742 | | DECLARE_REG (10, "ss4", REG_SUPPORT_ALL), |
743 | | DECLARE_REG (11, "gcr", REG_SUPPORT_ALL), |
744 | | DECLARE_REG (12, "gsr", REG_SUPPORT_ALL), |
745 | | DECLARE_REG (13, "cpid", REG_SUPPORT_ALL), |
746 | | DECLARE_REG (14, "dcsr", REG_SUPPORT_ALL), |
747 | | DECLARE_REG (15, "cwr", REG_SUPPORT_ALL), |
748 | | DECLARE_REG (16, NULL, REG_SUPPORT_ALL), |
749 | | DECLARE_REG (17, "cfr", REG_SUPPORT_ALL), |
750 | | DECLARE_REG (18, "ccr", REG_SUPPORT_ALL), |
751 | | DECLARE_REG (19, "capr", REG_SUPPORT_ALL), |
752 | | DECLARE_REG (20, "pacr", REG_SUPPORT_ALL), |
753 | | DECLARE_REG (21, "prsr", REG_SUPPORT_ALL), |
754 | | DECLARE_REG (22, "mir", REG_SUPPORT_ALL), |
755 | | DECLARE_REG (23, "mrr", REG_SUPPORT_ALL), |
756 | | DECLARE_REG (24, "mel0", REG_SUPPORT_ALL), |
757 | | DECLARE_REG (25, "mel1", REG_SUPPORT_ALL), |
758 | | DECLARE_REG (26, "meh", REG_SUPPORT_ALL), |
759 | | DECLARE_REG (27, "mcr", REG_SUPPORT_ALL), |
760 | | DECLARE_REG (28, "mpr", REG_SUPPORT_ALL), |
761 | | DECLARE_REG (29, "mwr", REG_SUPPORT_ALL), |
762 | | DECLARE_REG (30, "mcir", REG_SUPPORT_ALL), |
763 | | #undef DECLARE_REG |
764 | | {-1, -1, NULL, NULL, 0, NULL}, |
765 | | }; |
766 | | |
767 | | /* C-SKY V2 general registers table. */ |
768 | | static struct csky_reg_def csky_abiv2_general_regs[] = |
769 | | { |
770 | | #ifdef DECLARE_REG |
771 | | #undef DECLARE_REG |
772 | | #endif |
773 | | #define DECLARE_REG(regno, abi_name, support) \ |
774 | | {GENERAL_REG_BANK, regno, "r"#regno, abi_name, support, NULL} |
775 | | |
776 | | DECLARE_REG (0, "a0", REG_SUPPORT_ALL), |
777 | | DECLARE_REG (1, "a1", REG_SUPPORT_ALL), |
778 | | DECLARE_REG (2, "a2", REG_SUPPORT_ALL), |
779 | | DECLARE_REG (3, "a3", REG_SUPPORT_ALL), |
780 | | DECLARE_REG (4, "l0", REG_SUPPORT_ALL), |
781 | | DECLARE_REG (5, "l1", REG_SUPPORT_ALL), |
782 | | DECLARE_REG (6, "l2", REG_SUPPORT_ALL), |
783 | | DECLARE_REG (7, "l3", REG_SUPPORT_ALL), |
784 | | DECLARE_REG (8, "l4", REG_SUPPORT_ALL), |
785 | | DECLARE_REG (9, "l5", REG_SUPPORT_A), |
786 | | DECLARE_REG (10, "l6", REG_SUPPORT_A), |
787 | | DECLARE_REG (11, "l7", REG_SUPPORT_A), |
788 | | DECLARE_REG (12, "t0", REG_SUPPORT_A), |
789 | | DECLARE_REG (13, "t1", REG_SUPPORT_ALL), |
790 | | DECLARE_REG (14, "sp", REG_SUPPORT_ALL), |
791 | | DECLARE_REG (15, "lr", REG_SUPPORT_ALL), |
792 | | DECLARE_REG (16, "l8", REG_SUPPORT_B), |
793 | | DECLARE_REG (17, "l9", REG_SUPPORT_B), |
794 | | DECLARE_REG (18, "t2", REG_SUPPORT_B), |
795 | | DECLARE_REG (19, "t3", REG_SUPPORT_B), |
796 | | DECLARE_REG (20, "t4", REG_SUPPORT_B), |
797 | | DECLARE_REG (21, "t5", REG_SUPPORT_B), |
798 | | DECLARE_REG (22, "t6", REG_SUPPORT_B), |
799 | | DECLARE_REG (23, "t7", REG_SUPPORT_B), |
800 | | DECLARE_REG (24, "t8", REG_SUPPORT_B), |
801 | | DECLARE_REG (25, "t9", REG_SUPPORT_B), |
802 | | DECLARE_REG (26, NULL, REG_SUPPORT_B), |
803 | | DECLARE_REG (27, NULL, REG_SUPPORT_B), |
804 | | DECLARE_REG (28, "gb", REG_SUPPORT_B), |
805 | | DECLARE_REG (28, "rgb", REG_SUPPORT_B), |
806 | | DECLARE_REG (28, "rdb", REG_SUPPORT_B), |
807 | | DECLARE_REG (29, "tb", REG_SUPPORT_B), |
808 | | DECLARE_REG (29, "rtb", REG_SUPPORT_B), |
809 | | DECLARE_REG (30, "svbr", REG_SUPPORT_A), |
810 | | DECLARE_REG (31, "tls", REG_SUPPORT_B), |
811 | | |
812 | | /* The followings JAVA/BCTM's features. */ |
813 | | DECLARE_REG (23, "fp", REG_SUPPORT_ALL), |
814 | | DECLARE_REG (24, "top", REG_SUPPORT_ALL), |
815 | | DECLARE_REG (25, "bsp", REG_SUPPORT_ALL), |
816 | | |
817 | | {-1, -1, NULL, NULL, 0, NULL}, |
818 | | }; |
819 | | |
820 | | /* C-SKY V2 control registers table. */ |
821 | | static struct csky_reg_def csky_abiv2_control_regs[] = |
822 | | { |
823 | | |
824 | | #ifdef DECLARE_REG |
825 | | #undef DECLARE_REG |
826 | | #endif |
827 | | /* Bank0. */ |
828 | | #define DECLARE_REG(regno, abi_name) \ |
829 | | {0, regno, "cr<"#regno", 0>", abi_name, REG_SUPPORT_ALL, NULL} |
830 | | DECLARE_REG (0, "psr"), |
831 | | DECLARE_REG (1, "vbr"), |
832 | | DECLARE_REG (2, "epsr"), |
833 | | DECLARE_REG (3, "fpsr"), |
834 | | DECLARE_REG (4, "epc"), |
835 | | DECLARE_REG (5, "fpc"), |
836 | | DECLARE_REG (6, "ss0"), |
837 | | DECLARE_REG (7, "ss1"), |
838 | | DECLARE_REG (8, "ss2"), |
839 | | DECLARE_REG (9, "ss3"), |
840 | | DECLARE_REG (10, "ss4"), |
841 | | DECLARE_REG (11, "gcr"), |
842 | | DECLARE_REG (12, "gsr"), |
843 | | DECLARE_REG (13, "cpid"), |
844 | | DECLARE_REG (14, "dcsr"), |
845 | | DECLARE_REG (15, NULL), |
846 | | DECLARE_REG (16, NULL), |
847 | | DECLARE_REG (17, "cfr"), |
848 | | DECLARE_REG (18, "ccr"), |
849 | | DECLARE_REG (19, "capr"), |
850 | | DECLARE_REG (20, "pacr"), |
851 | | DECLARE_REG (21, "prsr"), |
852 | | DECLARE_REG (22, "cir"), |
853 | | DECLARE_REG (23, "ccr2"), |
854 | | DECLARE_REG (24, NULL), |
855 | | DECLARE_REG (25, "cer2"), |
856 | | DECLARE_REG (26, NULL), |
857 | | DECLARE_REG (27, NULL), |
858 | | DECLARE_REG (28, "rvbr"), |
859 | | DECLARE_REG (29, "rmr"), |
860 | | DECLARE_REG (30, "mpid"), |
861 | | |
862 | | #undef DECLARE_REG |
863 | | #define DECLARE_REG(regno, abi_name, support) \ |
864 | | {0, regno, "cr<"#regno", 0>", abi_name, support, NULL} |
865 | | DECLARE_REG (31, "chr", REG_SUPPORT_E), |
866 | | DECLARE_REG (31, "hint", REG_SUPPORT_C), |
867 | | |
868 | | /* Bank1. */ |
869 | | #undef DECLARE_REG |
870 | | #define DECLARE_REG(regno, abi_name) \ |
871 | | {1, regno, "cr<"#regno", 1>", abi_name, REG_SUPPORT_ALL, NULL} |
872 | | |
873 | | DECLARE_REG (14, "usp"), |
874 | | DECLARE_REG (26, "cindex"), |
875 | | DECLARE_REG (27, "cdata0"), |
876 | | DECLARE_REG (28, "cdata1"), |
877 | | DECLARE_REG (29, "cdata2"), |
878 | | DECLARE_REG (30, "cdata3"), |
879 | | DECLARE_REG (31, "cins"), |
880 | | |
881 | | /* Bank2. */ |
882 | | #undef DECLARE_REG |
883 | | #define DECLARE_REG(regno, abi_name) \ |
884 | | {2, regno, "cr<"#regno", 2>", abi_name, REG_SUPPORT_ALL, NULL} |
885 | | |
886 | | DECLARE_REG (0, "fid"), |
887 | | DECLARE_REG (1, "fcr"), |
888 | | DECLARE_REG (2, "fesr"), |
889 | | |
890 | | /* Bank3. */ |
891 | | #undef DECLARE_REG |
892 | | #define DECLARE_REG(regno, abi_name) \ |
893 | | {3, regno, "cr<"#regno", 3>", abi_name, REG_SUPPORT_ALL, NULL} |
894 | | DECLARE_REG (8, "dcr"), |
895 | | DECLARE_REG (8, "sedcr"), |
896 | | DECLARE_REG (9, "pcr"), |
897 | | DECLARE_REG (9, "sepcr"), |
898 | | |
899 | | /* Bank15. */ |
900 | | #undef DECLARE_REG |
901 | | #define DECLARE_REG(regno, abi_name) \ |
902 | | {15, regno, "cr<"#regno", 15>", abi_name, REG_SUPPORT_ALL, NULL} |
903 | | |
904 | | DECLARE_REG (0, "mir"), |
905 | | DECLARE_REG (2, "mel0"), |
906 | | DECLARE_REG (3, "mel1"), |
907 | | DECLARE_REG (4, "meh"), |
908 | | DECLARE_REG (6, "mpr"), |
909 | | DECLARE_REG (8, "mcir"), |
910 | | DECLARE_REG (28, "mpgd0"), |
911 | | DECLARE_REG (29, "mpgd"), |
912 | | DECLARE_REG (29, "mpgd1"), |
913 | | DECLARE_REG (30, "msa0"), |
914 | | DECLARE_REG (31, "msa1"), |
915 | | #undef DECLARE_REG |
916 | | {-1, -1, NULL, NULL, 0, NULL}, |
917 | | }; |
918 | | |
919 | | /* Get register name according to giving parameters, |
920 | | IS_ABI controls whether is ABI name or not. */ |
921 | | static inline const char * |
922 | | get_register_name (struct csky_reg_def *reg_table, |
923 | | int arch, int bank, int regno, int is_abi) |
924 | 783k | { |
925 | 783k | static char regname[64] = {0}; |
926 | 783k | unsigned int i = 0; |
927 | 4.94M | while (reg_table[i].name != NULL) |
928 | 4.93M | { |
929 | 4.93M | if (reg_table[i].bank == bank |
930 | 4.93M | && reg_table[i].regno == regno |
931 | 4.93M | && (reg_table[i].arch_flag & (1u << (arch & CSKY_ARCH_MASK)))) |
932 | 780k | { |
933 | 780k | if (is_abi && reg_table[i].abi_name) |
934 | 281k | return reg_table[i].abi_name; |
935 | 498k | else |
936 | 498k | return reg_table[i].name; |
937 | 780k | } |
938 | 4.15M | i++; |
939 | 4.15M | } |
940 | | |
941 | 3.03k | if (bank & 0x80000000) |
942 | 3.02k | return "unkown register"; |
943 | | |
944 | 1 | sprintf (regname, "cr<%d, %d>", regno, bank); |
945 | | |
946 | 1 | return regname; |
947 | 3.03k | } |
948 | | |
949 | | /* Get register number according to giving parameters. |
950 | | If not found, return -1. */ |
951 | | static inline int |
952 | | get_register_number (struct csky_reg_def *reg_table, |
953 | | int arch, char *s, char **end, int *bank) |
954 | 0 | { |
955 | 0 | unsigned int i = 0; |
956 | 0 | int len = 0; |
957 | 0 | while (reg_table[i].name != NULL) |
958 | 0 | { |
959 | 0 | len = strlen (reg_table[i].name); |
960 | 0 | if ((strncasecmp (reg_table[i].name, s, len) == 0) |
961 | 0 | && !(ISDIGIT (s[len])) |
962 | 0 | && (reg_table[i].arch_flag & (1u << (arch & CSKY_ARCH_MASK)))) |
963 | 0 | { |
964 | 0 | *end = s + len; |
965 | 0 | *bank = reg_table[i].bank; |
966 | 0 | return reg_table[i].regno; |
967 | 0 | } |
968 | 0 |
|
969 | 0 | if (reg_table[i].abi_name == NULL) |
970 | 0 | { |
971 | 0 | i++; |
972 | 0 | continue; |
973 | 0 | } |
974 | 0 |
|
975 | 0 | len = strlen (reg_table[i].abi_name); |
976 | 0 | if ((strncasecmp (reg_table[i].abi_name, s, len) == 0) |
977 | 0 | && !(ISALNUM (s[len])) |
978 | 0 | && (reg_table[i].arch_flag & (1u << (arch & CSKY_ARCH_MASK)))) |
979 | 0 | { |
980 | 0 | *end = s + len; |
981 | 0 | *bank = reg_table[i].bank; |
982 | 0 | return reg_table[i].regno; |
983 | 0 | } |
984 | 0 | i++; |
985 | 0 | } |
986 | 0 | return -1; |
987 | 0 | } |
988 | | |
989 | | /* Return general register's name. */ |
990 | | static inline const char * |
991 | | csky_get_general_reg_name (int arch, int regno, int is_abi) |
992 | 779k | { |
993 | 779k | struct csky_reg_def *reg_table; |
994 | | |
995 | 779k | if (IS_CSKY_ARCH_V1 (arch)) |
996 | 30.4k | reg_table = csky_abiv1_general_regs; |
997 | 749k | else |
998 | 749k | reg_table = csky_abiv2_general_regs; |
999 | | |
1000 | 779k | return get_register_name (reg_table, arch, GENERAL_REG_BANK, regno, is_abi); |
1001 | 779k | } |
1002 | | |
1003 | | /* Return general register's number. */ |
1004 | | static inline int |
1005 | | csky_get_general_regno (int arch, char *s, char **end) |
1006 | 0 | { |
1007 | 0 | struct csky_reg_def *reg_table; |
1008 | 0 | int bank = 0; |
1009 | 0 |
|
1010 | 0 | if (IS_CSKY_ARCH_V1 (arch)) |
1011 | 0 | reg_table = csky_abiv1_general_regs; |
1012 | 0 | else |
1013 | 0 | reg_table = csky_abiv2_general_regs; |
1014 | 0 |
|
1015 | 0 | return get_register_number (reg_table, arch, s, end, &bank); |
1016 | 0 | } |
1017 | | |
1018 | | /* Return control register's name. */ |
1019 | | static inline const char * |
1020 | | csky_get_control_reg_name (int arch, int bank, int regno, int is_abi) |
1021 | 3.61k | { |
1022 | 3.61k | struct csky_reg_def *reg_table; |
1023 | | |
1024 | 3.61k | if (IS_CSKY_ARCH_V1 (arch)) |
1025 | 1.09k | reg_table = csky_abiv1_control_regs; |
1026 | 2.51k | else |
1027 | 2.51k | reg_table = csky_abiv2_control_regs; |
1028 | | |
1029 | 3.61k | return get_register_name (reg_table, arch, bank, regno, is_abi); |
1030 | 3.61k | } |
1031 | | |
1032 | | /* Return control register's number. */ |
1033 | | static inline int |
1034 | | csky_get_control_regno (int arch, char *s, char **end, int *bank) |
1035 | 0 | { |
1036 | 0 | struct csky_reg_def *reg_table; |
1037 | 0 |
|
1038 | 0 | if (IS_CSKY_ARCH_V1 (arch)) |
1039 | 0 | reg_table = csky_abiv1_control_regs; |
1040 | 0 | else |
1041 | 0 | reg_table = csky_abiv2_control_regs; |
1042 | 0 |
|
1043 | 0 | return get_register_number (reg_table, arch, s, end, bank); |
1044 | 0 | } |
1045 | | |
1046 | | /* C-SKY V1 opcodes. */ |
1047 | | const struct csky_opcode csky_v1_opcodes[] = |
1048 | | { |
1049 | | #define _TRANSFER 0 |
1050 | | #define _RELOC16 0 |
1051 | | #define _RELOC32 0 |
1052 | | #define _RELAX 0 |
1053 | | OP16 ("bkpt", |
1054 | | OPCODE_INFO0 (0x0000), |
1055 | | CSKYV1_ISA_E1), |
1056 | | OP16 ("sync", |
1057 | | OPCODE_INFO0 (0x0001), |
1058 | | CSKYV1_ISA_E1), |
1059 | | #undef _TRANSFER |
1060 | | #define _TRANSFER 2 |
1061 | | OP16 ("rfi", |
1062 | | OPCODE_INFO0 (0x0003), |
1063 | | CSKYV1_ISA_E1), |
1064 | | #undef _TRANSFER |
1065 | | #define _TRANSFER 0 |
1066 | | OP16 ("stop", |
1067 | | OPCODE_INFO0 (0x0004), |
1068 | | CSKYV1_ISA_E1), |
1069 | | OP16 ("wait", |
1070 | | OPCODE_INFO0 (0x0005), |
1071 | | CSKYV1_ISA_E1), |
1072 | | OP16 ("doze", |
1073 | | OPCODE_INFO0 (0x0006), |
1074 | | CSKYV1_ISA_E1), |
1075 | | OP16 ("idly4", |
1076 | | OPCODE_INFO0 (0x0007), |
1077 | | CSKYV1_ISA_E1), |
1078 | | OP16 ("trap", |
1079 | | OPCODE_INFO1 (0x0008, |
1080 | | (0_1, IMM2b, OPRND_SHIFT_0_BIT)), |
1081 | | CSKYV1_ISA_E1), |
1082 | | OP16 ("mvtc", |
1083 | | OPCODE_INFO0 (0x000c), |
1084 | | CSKY_ISA_DSP), |
1085 | | OP16 ("cprc", |
1086 | | OPCODE_INFO0 (0x000d), |
1087 | | CSKY_ISA_CP), |
1088 | | OP16 ("cpseti", |
1089 | | OPCODE_INFO1 (0x0010, |
1090 | | (0_3, CPIDX, OPRND_SHIFT_0_BIT)), |
1091 | | CSKY_ISA_CP), |
1092 | | OP16 ("mvc", |
1093 | | OPCODE_INFO1 (0x0020, |
1094 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1095 | | CSKYV1_ISA_E1), |
1096 | | OP16 ("mvcv", |
1097 | | OPCODE_INFO1 (0x0030, |
1098 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1099 | | CSKYV1_ISA_E1), |
1100 | | OP16 ("ldq", |
1101 | | OPCODE_INFO2 (0x0040, |
1102 | | (NONE, REGr4_r7, OPRND_SHIFT_0_BIT), |
1103 | | (0_3, REGnr4_r7, OPRND_SHIFT_0_BIT)), |
1104 | | CSKYV1_ISA_E1), |
1105 | | OP16 ("stq", |
1106 | | OPCODE_INFO2 (0x0050, |
1107 | | (NONE, REGr4_r7, OPRND_SHIFT_0_BIT), |
1108 | | (0_3, REGnr4_r7, OPRND_SHIFT_0_BIT)), |
1109 | | CSKYV1_ISA_E1), |
1110 | | OP16 ("ldm", |
1111 | | OPCODE_INFO2 (0x0060, |
1112 | | (0_3, REGLIST_DASH, OPRND_SHIFT_0_BIT), |
1113 | | (NONE, REGbsp, OPRND_SHIFT_0_BIT)), |
1114 | | CSKYV1_ISA_E1), |
1115 | | OP16 ("stm", |
1116 | | OPCODE_INFO2 (0x0070, |
1117 | | (0_3, REGLIST_DASH, OPRND_SHIFT_0_BIT), |
1118 | | (NONE, REGbsp, OPRND_SHIFT_0_BIT)), |
1119 | | CSKYV1_ISA_E1), |
1120 | | DOP16 ("dect", |
1121 | | OPCODE_INFO3 (0x0080, |
1122 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1123 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1124 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1125 | | OPCODE_INFO1 (0x0080, |
1126 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1127 | | CSKYV1_ISA_E1), |
1128 | | DOP16 ("decf", |
1129 | | OPCODE_INFO3 (0x0090, |
1130 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1131 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1132 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1133 | | OPCODE_INFO1 (0x0090, |
1134 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1135 | | CSKYV1_ISA_E1), |
1136 | | DOP16 ("inct", |
1137 | | OPCODE_INFO3 (0x00a0, |
1138 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1139 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1140 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1141 | | OPCODE_INFO1 (0x00a0, |
1142 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1143 | | CSKYV1_ISA_E1), |
1144 | | DOP16 ("incf", |
1145 | | OPCODE_INFO3 (0x00b0, |
1146 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1147 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1148 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1149 | | OPCODE_INFO1 (0x00b0, |
1150 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1151 | | CSKYV1_ISA_E1), |
1152 | | #undef _TRANSFER |
1153 | | #define _TRANSFER 2 |
1154 | | OP16 ("jmp", |
1155 | | OPCODE_INFO1 (0x00c0, |
1156 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1157 | | CSKYV1_ISA_E1), |
1158 | | #undef _TRANSFER |
1159 | | #define _TRANSFER 0 |
1160 | | OP16 ("jsr", |
1161 | | OPCODE_INFO1 (0x00d0, |
1162 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1163 | | CSKYV1_ISA_E1), |
1164 | | DOP16 ("ff1", |
1165 | | OPCODE_INFO2 (0x00e0, |
1166 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1167 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)), |
1168 | | OPCODE_INFO1 (0x00e0, |
1169 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1170 | | CSKYV1_ISA_E1), |
1171 | | DOP16 ("brev", |
1172 | | OPCODE_INFO2 (0x00f0, |
1173 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1174 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)), |
1175 | | OPCODE_INFO1 (0x00f0, |
1176 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1177 | | CSKYV1_ISA_E1), |
1178 | | DOP16 ("xtrb3", |
1179 | | OPCODE_INFO2 (0x0100, |
1180 | | (NONE, REG_r1a, OPRND_SHIFT_0_BIT), |
1181 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1182 | | OPCODE_INFO1 (0x0100, |
1183 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1184 | | CSKYV1_ISA_E1), |
1185 | | DOP16 ("xtrb2", |
1186 | | OPCODE_INFO2 (0x0110, |
1187 | | (NONE, REG_r1a, OPRND_SHIFT_0_BIT), |
1188 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1189 | | OPCODE_INFO1 (0x0110, |
1190 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1191 | | CSKYV1_ISA_E1), |
1192 | | DOP16 ("xtrb1", |
1193 | | OPCODE_INFO2 (0x0120, |
1194 | | (NONE, REG_r1a, OPRND_SHIFT_0_BIT), |
1195 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1196 | | OPCODE_INFO1 (0x0120, |
1197 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1198 | | CSKYV1_ISA_E1), |
1199 | | DOP16 ("xtrb0", |
1200 | | OPCODE_INFO2 (0x0130, |
1201 | | (NONE, REG_r1a, OPRND_SHIFT_0_BIT), |
1202 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1203 | | OPCODE_INFO1 (0x0130, |
1204 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1205 | | CSKYV1_ISA_E1), |
1206 | | DOP16 ("zextb", |
1207 | | OPCODE_INFO2 (0x0140, |
1208 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1209 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)), |
1210 | | OPCODE_INFO1 (0x0140, |
1211 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1212 | | CSKYV1_ISA_E1), |
1213 | | DOP16 ("sextb", |
1214 | | OPCODE_INFO2 (0x0150, |
1215 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1216 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)), |
1217 | | OPCODE_INFO1 (0x0150, |
1218 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1219 | | CSKYV1_ISA_E1), |
1220 | | DOP16 ("zexth", |
1221 | | OPCODE_INFO2 (0x0160, |
1222 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1223 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)), |
1224 | | OPCODE_INFO1 (0x0160, |
1225 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1226 | | CSKYV1_ISA_E1), |
1227 | | DOP16 ("sexth", |
1228 | | OPCODE_INFO2 (0x0170, |
1229 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1230 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)), |
1231 | | OPCODE_INFO1 (0x0170, |
1232 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1233 | | CSKYV1_ISA_E1), |
1234 | | DOP16 ("declt", |
1235 | | OPCODE_INFO3 (0x0180, |
1236 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1237 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1238 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1239 | | OPCODE_INFO1 (0x0180, |
1240 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1241 | | CSKYV1_ISA_E1), |
1242 | | OP16 ("tstnbz", |
1243 | | OPCODE_INFO1 (0x0190, |
1244 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1245 | | CSKYV1_ISA_E1), |
1246 | | DOP16 ("decgt", |
1247 | | OPCODE_INFO3 (0x01a0, |
1248 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1249 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1250 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1251 | | OPCODE_INFO1 (0x01a0, |
1252 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1253 | | CSKYV1_ISA_E1), |
1254 | | DOP16 ("decne", |
1255 | | OPCODE_INFO3 (0x01b0, |
1256 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1257 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1258 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1259 | | OPCODE_INFO1 (0x01b0, |
1260 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1261 | | CSKYV1_ISA_E1), |
1262 | | OP16 ("clrt", |
1263 | | OPCODE_INFO1 (0x01c0, |
1264 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1265 | | CSKYV1_ISA_E1), |
1266 | | OP16 ("clrf", |
1267 | | OPCODE_INFO1 (0x01d0, |
1268 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1269 | | CSKYV1_ISA_E1), |
1270 | | DOP16 ("abs", |
1271 | | OPCODE_INFO2 (0x01e0, |
1272 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1273 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)), |
1274 | | OPCODE_INFO1 (0x01e0, |
1275 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1276 | | CSKYV1_ISA_E1), |
1277 | | DOP16 ("not", |
1278 | | OPCODE_INFO2 (0x01f0, |
1279 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1280 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT)), |
1281 | | OPCODE_INFO1 (0x01f0, |
1282 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1283 | | CSKYV1_ISA_E1), |
1284 | | OP16 ("movt", |
1285 | | OPCODE_INFO2 (0x0200, |
1286 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1287 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1288 | | CSKYV1_ISA_E1), |
1289 | | DOP16 ("mult", |
1290 | | OPCODE_INFO3 (0x0300, |
1291 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1292 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1293 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1294 | | OPCODE_INFO2 (0x0300, |
1295 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1296 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1297 | | CSKYV1_ISA_E1), |
1298 | | OP16 ("mac", |
1299 | | OPCODE_INFO2 (0x0400, |
1300 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1301 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1302 | | CSKY_ISA_MAC), |
1303 | | DOP16 ("subu", |
1304 | | OPCODE_INFO3 (0x0500, |
1305 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1306 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1307 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1308 | | OPCODE_INFO2 (0x0500, |
1309 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1310 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1311 | | CSKYV1_ISA_E1), |
1312 | | DOP16 ("sub", |
1313 | | OPCODE_INFO3 (0x0500, |
1314 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1315 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1316 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1317 | | OPCODE_INFO2 (0x0500, |
1318 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1319 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1320 | | CSKYV1_ISA_E1), |
1321 | | DOP16 ("addc", |
1322 | | OPCODE_INFO3 (0x0600, |
1323 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1324 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1325 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1326 | | OPCODE_INFO2 (0x0600, |
1327 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1328 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1329 | | CSKYV1_ISA_E1), |
1330 | | DOP16 ("subc", |
1331 | | OPCODE_INFO3 (0x0700, |
1332 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1333 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1334 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1335 | | OPCODE_INFO2 (0x0700, |
1336 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1337 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1338 | | CSKYV1_ISA_E1), |
1339 | | OP16 ("cprgr", |
1340 | | OPCODE_INFO2 (0x0800, |
1341 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1342 | | (4_8, CPREG, OPRND_SHIFT_0_BIT)), |
1343 | | CSKY_ISA_CP), |
1344 | | OP16 ("movf", |
1345 | | OPCODE_INFO2 (0x0a00, |
1346 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1347 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1348 | | CSKYV1_ISA_E1), |
1349 | | DOP16 ("lsr", |
1350 | | OPCODE_INFO3 (0x0b00, |
1351 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1352 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1353 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1354 | | OPCODE_INFO2 (0x0b00, |
1355 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1356 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1357 | | CSKYV1_ISA_E1), |
1358 | | OP16 ("cmphs", |
1359 | | OPCODE_INFO2 (0x0c00, |
1360 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1361 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1362 | | CSKYV1_ISA_E1), |
1363 | | OP16 ("cmplt", |
1364 | | OPCODE_INFO2 (0x0d00, |
1365 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1366 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1367 | | CSKYV1_ISA_E1), |
1368 | | OP16 ("tst", |
1369 | | OPCODE_INFO2 (0x0e00, |
1370 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1371 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1372 | | CSKYV1_ISA_E1), |
1373 | | OP16 ("cmpne", |
1374 | | OPCODE_INFO2 (0x0f00, |
1375 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1376 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1377 | | CSKYV1_ISA_E1), |
1378 | | OP16 ("mfcr", |
1379 | | OPCODE_INFO2 (0x1000, |
1380 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1381 | | (4_8, CTRLREG, OPRND_SHIFT_0_BIT)), |
1382 | | CSKYV1_ISA_E1), |
1383 | | OP16 ("psrclr", |
1384 | | OPCODE_INFO_LIST (0x11f0, |
1385 | | (0_2, PSR_BITS_LIST, OPRND_SHIFT_0_BIT)), |
1386 | | CSKYV1_ISA_E1), |
1387 | | OP16 ("psrset", |
1388 | | OPCODE_INFO_LIST (0x11f8, |
1389 | | (0_2, PSR_BITS_LIST, OPRND_SHIFT_0_BIT)), |
1390 | | CSKYV1_ISA_E1), |
1391 | | OP16 ("mov", |
1392 | | OPCODE_INFO2 (0x1200, |
1393 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1394 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1395 | | CSKYV1_ISA_E1), |
1396 | | OP16 ("bgenr", |
1397 | | OPCODE_INFO2 (0x1300, |
1398 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1399 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1400 | | CSKYV1_ISA_E1), |
1401 | | DOP16 ("rsub", |
1402 | | OPCODE_INFO3 (0x1400, |
1403 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1404 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1405 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1406 | | OPCODE_INFO2 (0x1400, |
1407 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1408 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1409 | | CSKYV1_ISA_E1), |
1410 | | DOP16 ("ixw", |
1411 | | OPCODE_INFO3 (0x1500, |
1412 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1413 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1414 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1415 | | OPCODE_INFO2 (0x1500, |
1416 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1417 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1418 | | CSKYV1_ISA_E1), |
1419 | | DOP16 ("and", |
1420 | | OPCODE_INFO3 (0x1600, |
1421 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1422 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1423 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1424 | | OPCODE_INFO2 (0x1600, |
1425 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1426 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1427 | | CSKYV1_ISA_E1), |
1428 | | DOP16 ("xor", |
1429 | | OPCODE_INFO3 (0x1700, |
1430 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1431 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1432 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1433 | | OPCODE_INFO2 (0x1700, |
1434 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1435 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1436 | | CSKYV1_ISA_E1), |
1437 | | OP16 ("mtcr", |
1438 | | OPCODE_INFO2 (0x1800, |
1439 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1440 | | (4_8, CTRLREG, OPRND_SHIFT_0_BIT)), |
1441 | | CSKYV1_ISA_E1), |
1442 | | DOP16 ("asr", |
1443 | | OPCODE_INFO3 (0x1a00, |
1444 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1445 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1446 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1447 | | OPCODE_INFO2 (0x1a00, |
1448 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1449 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1450 | | CSKYV1_ISA_E1), |
1451 | | DOP16 ("lsl", |
1452 | | OPCODE_INFO3 (0x1b00, |
1453 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1454 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1455 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1456 | | OPCODE_INFO2 (0x1b00, |
1457 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1458 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1459 | | CSKYV1_ISA_E1), |
1460 | | DOP16 ("addu", |
1461 | | OPCODE_INFO3 (0x1c00, |
1462 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1463 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1464 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1465 | | OPCODE_INFO2 (0x1c00, |
1466 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1467 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1468 | | CSKYV1_ISA_E1), |
1469 | | OP16 ("add", |
1470 | | OPCODE_INFO2 (0x1c00, |
1471 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1472 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1473 | | CSKYV1_ISA_E1), |
1474 | | DOP16 ("ixh", |
1475 | | OPCODE_INFO3 (0x1d00, |
1476 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1477 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1478 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1479 | | OPCODE_INFO2 (0x1d00, |
1480 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1481 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1482 | | CSKYV1_ISA_E1), |
1483 | | DOP16 ("or", |
1484 | | OPCODE_INFO3 (0x1e00, |
1485 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1486 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1487 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1488 | | OPCODE_INFO2 (0x1e00, |
1489 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1490 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1491 | | CSKYV1_ISA_E1), |
1492 | | DOP16 ("andn", |
1493 | | OPCODE_INFO3 (0x1f00, |
1494 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1495 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1496 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1497 | | OPCODE_INFO2 (0x1f00, |
1498 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1499 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1500 | | CSKYV1_ISA_E1), |
1501 | | DOP16 ("addi", |
1502 | | OPCODE_INFO3 (0x2000, |
1503 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1504 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1505 | | (4_8, OIMM5b, OPRND_SHIFT_0_BIT)), |
1506 | | OPCODE_INFO2 (0x2000, |
1507 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1508 | | (4_8, OIMM5b, OPRND_SHIFT_0_BIT)), |
1509 | | CSKYV1_ISA_E1), |
1510 | | OP16 ("cmplti", |
1511 | | OPCODE_INFO2 (0x2200, |
1512 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1513 | | (4_8, OIMM5b, OPRND_SHIFT_0_BIT)), |
1514 | | CSKYV1_ISA_E1), |
1515 | | DOP16 ("subi", |
1516 | | OPCODE_INFO3 (0x2400, |
1517 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1518 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1519 | | (4_8, OIMM5b, OPRND_SHIFT_0_BIT)), |
1520 | | OPCODE_INFO2 (0x2400, |
1521 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1522 | | (4_8, OIMM5b, OPRND_SHIFT_0_BIT)), |
1523 | | CSKYV1_ISA_E1), |
1524 | | OP16 ("cpwgr", |
1525 | | OPCODE_INFO2 (0x2600, |
1526 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1527 | | (4_8, CPREG, OPRND_SHIFT_0_BIT)), |
1528 | | CSKY_ISA_CP), |
1529 | | DOP16 ("rsubi", |
1530 | | OPCODE_INFO3 (0x2800, |
1531 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1532 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1533 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1534 | | OPCODE_INFO2 (0x2800, |
1535 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1536 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1537 | | CSKYV1_ISA_E1), |
1538 | | OP16 ("cmpnei", |
1539 | | OPCODE_INFO2 (0x2a00, |
1540 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1541 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1542 | | CSKYV1_ISA_E1), |
1543 | | OP16 ("bmaski", |
1544 | | OPCODE_INFO2 (0x2c00, |
1545 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1546 | | (4_8, IMM5b_BMASKI, OPRND_SHIFT_0_BIT)), |
1547 | | CSKYV1_ISA_E1), |
1548 | | DOP16 ("divu", |
1549 | | OPCODE_INFO3 (0x2c10, |
1550 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1551 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1552 | | (NONE, REG_r1b, OPRND_SHIFT_0_BIT)), |
1553 | | OPCODE_INFO2 (0x2c10, |
1554 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1555 | | (NONE, REG_r1b, OPRND_SHIFT_0_BIT)), |
1556 | | CSKYV1_ISA_E1), |
1557 | | OP16 ("mflos", |
1558 | | OPCODE_INFO1 (0x2c20, |
1559 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1560 | | CSKY_ISA_MAC_DSP), |
1561 | | OP16 ("mfhis", |
1562 | | OPCODE_INFO1 (0x2c30, |
1563 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1564 | | CSKY_ISA_MAC_DSP), |
1565 | | OP16 ("mtlo", |
1566 | | OPCODE_INFO1 (0x2c40, |
1567 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1568 | | CSKY_ISA_MAC_DSP), |
1569 | | OP16 ("mthi", |
1570 | | OPCODE_INFO1 (0x2c50, |
1571 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1572 | | CSKY_ISA_MAC_DSP), |
1573 | | OP16 ("mflo", |
1574 | | OPCODE_INFO1 (0x2c60, |
1575 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1576 | | CSKY_ISA_MAC_DSP), |
1577 | | OP16 ("mfhi", |
1578 | | OPCODE_INFO1 (0x2c70, |
1579 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1580 | | CSKY_ISA_MAC_DSP), |
1581 | | DOP16 ("andi", |
1582 | | OPCODE_INFO3 (0x2e00, |
1583 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1584 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1585 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1586 | | OPCODE_INFO2 (0x2e00, |
1587 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1588 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1589 | | CSKYV1_ISA_E1), |
1590 | | DOP16 ("bclri", |
1591 | | OPCODE_INFO3 (0x3000, |
1592 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1593 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1594 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1595 | | OPCODE_INFO2 (0x3000, |
1596 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1597 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1598 | | CSKYV1_ISA_E1), |
1599 | | OP16 ("bgeni", |
1600 | | OPCODE_INFO2 (0x3200, |
1601 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1602 | | (4_8, IMM5b_7_31, OPRND_SHIFT_0_BIT)), |
1603 | | CSKYV1_ISA_E1), |
1604 | | OP16 ("cpwir", |
1605 | | OPCODE_INFO1 (0x3200, |
1606 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1607 | | CSKY_ISA_CP), |
1608 | | DOP16 ("divs", |
1609 | | OPCODE_INFO3 (0x3210, |
1610 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1611 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1612 | | (NONE, REG_r1b, OPRND_SHIFT_0_BIT)), |
1613 | | OPCODE_INFO2 (0x3210, |
1614 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1615 | | (NONE, REG_r1b, OPRND_SHIFT_0_BIT)), |
1616 | | CSKYV1_ISA_E1), |
1617 | | OP16 ("cprsr", |
1618 | | OPCODE_INFO1 (0x3220, |
1619 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1620 | | CSKY_ISA_CP), |
1621 | | OP16 ("cpwsr", |
1622 | | OPCODE_INFO1 (0x3230, |
1623 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1624 | | CSKY_ISA_CP), |
1625 | | DOP16 ("bseti", |
1626 | | OPCODE_INFO3 (0x3400, |
1627 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1628 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1629 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1630 | | OPCODE_INFO2 (0x3400, |
1631 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1632 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1633 | | CSKYV1_ISA_E1), |
1634 | | OP16 ("btsti", |
1635 | | OPCODE_INFO2 (0x3600, |
1636 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1637 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
1638 | | CSKYV1_ISA_E1), |
1639 | | DOP16 ("rotli", |
1640 | | OPCODE_INFO3 (0x3800, |
1641 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1642 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1643 | | (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)), |
1644 | | OPCODE_INFO2 (0x3800, |
1645 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1646 | | (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)), |
1647 | | CSKYV1_ISA_E1), |
1648 | | DOP16 ("xsr", |
1649 | | OPCODE_INFO3 (0x3800, |
1650 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1651 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1652 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1653 | | OPCODE_INFO1 (0x3800, |
1654 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1655 | | CSKYV1_ISA_E1), |
1656 | | DOP16 ("asrc", |
1657 | | OPCODE_INFO3 (0x3a00, |
1658 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1659 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1660 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1661 | | OPCODE_INFO1 (0x3a00, |
1662 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1663 | | CSKYV1_ISA_E1), |
1664 | | DOP16 ("asri", |
1665 | | OPCODE_INFO3 (0x3a00, |
1666 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1667 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1668 | | (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)), |
1669 | | OPCODE_INFO2 (0x3a00, |
1670 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1671 | | (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)), |
1672 | | CSKYV1_ISA_E1), |
1673 | | DOP16 ("lslc", |
1674 | | OPCODE_INFO3 (0x3c00, |
1675 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1676 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1677 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1678 | | OPCODE_INFO1 (0x3c00, |
1679 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1680 | | CSKYV1_ISA_E1), |
1681 | | DOP16 ("lsli", |
1682 | | OPCODE_INFO3 (0x3c00, |
1683 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1684 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1685 | | (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)), |
1686 | | OPCODE_INFO2 (0x3c00, |
1687 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1688 | | (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)), |
1689 | | CSKYV1_ISA_E1), |
1690 | | DOP16 ("lsrc", |
1691 | | OPCODE_INFO3 (0x3e00, |
1692 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1693 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1694 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
1695 | | OPCODE_INFO1 (0x3e00, |
1696 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
1697 | | CSKYV1_ISA_E1), |
1698 | | DOP16 ("lsri", |
1699 | | OPCODE_INFO3 (0x3e00, |
1700 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1701 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1702 | | (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)), |
1703 | | OPCODE_INFO2 (0x3e00, |
1704 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1705 | | (4_8, IMM5b_1_31, OPRND_SHIFT_0_BIT)), |
1706 | | CSKYV1_ISA_E1), |
1707 | | OP16 ("ldex", |
1708 | | SOPCODE_INFO2 (0x4000, |
1709 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1710 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1711 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1712 | | CSKY_ISA_MP), |
1713 | | OP16 ("ldex.w", |
1714 | | SOPCODE_INFO2 (0x4000, |
1715 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1716 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1717 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1718 | | CSKY_ISA_MP), |
1719 | | OP16 ("ldwex", |
1720 | | SOPCODE_INFO2 (0x4000, |
1721 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1722 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1723 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1724 | | CSKY_ISA_MP), |
1725 | | OP16 ("stex", |
1726 | | SOPCODE_INFO2 (0x5000, |
1727 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1728 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1729 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1730 | | CSKY_ISA_MP), |
1731 | | OP16 ("stex.w", |
1732 | | SOPCODE_INFO2 (0x5000, |
1733 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1734 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1735 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1736 | | CSKY_ISA_MP), |
1737 | | OP16 ("stwex", |
1738 | | SOPCODE_INFO2 (0x5000, |
1739 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1740 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1741 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1742 | | CSKY_ISA_MP), |
1743 | | OP16 ("omflip0", |
1744 | | OPCODE_INFO2 (0x4000, |
1745 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1746 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1747 | | CSKY_ISA_MAC), |
1748 | | OP16 ("omflip1", |
1749 | | OPCODE_INFO2 (0x4100, |
1750 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1751 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1752 | | CSKY_ISA_MAC), |
1753 | | OP16 ("omflip2", |
1754 | | OPCODE_INFO2 (0x4200, |
1755 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1756 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1757 | | CSKY_ISA_MAC), |
1758 | | OP16 ("omflip3", |
1759 | | OPCODE_INFO2 (0x4300, |
1760 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1761 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1762 | | CSKY_ISA_MAC), |
1763 | | OP16 ("muls", |
1764 | | OPCODE_INFO2 (0x5000, |
1765 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1766 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1767 | | CSKY_ISA_DSP), |
1768 | | OP16 ("mulsa", |
1769 | | OPCODE_INFO2 (0x5100, |
1770 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1771 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1772 | | CSKY_ISA_DSP), |
1773 | | OP16 ("mulss", |
1774 | | OPCODE_INFO2 (0x5200, |
1775 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1776 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1777 | | CSKY_ISA_DSP), |
1778 | | OP16 ("mulu", |
1779 | | OPCODE_INFO2 (0x5400, |
1780 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1781 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1782 | | CSKY_ISA_DSP), |
1783 | | OP16 ("mulua", |
1784 | | OPCODE_INFO2 (0x5500, |
1785 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1786 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1787 | | CSKY_ISA_DSP), |
1788 | | OP16 ("mulus", |
1789 | | OPCODE_INFO2 (0x5600, |
1790 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1791 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1792 | | CSKY_ISA_DSP), |
1793 | | OP16 ("vmulsh", |
1794 | | OPCODE_INFO2 (0x5800, |
1795 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1796 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1797 | | CSKY_ISA_DSP), |
1798 | | OP16 ("vmulsha", |
1799 | | OPCODE_INFO2 (0x5900, |
1800 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1801 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1802 | | CSKY_ISA_DSP), |
1803 | | OP16 ("vmulshs", |
1804 | | OPCODE_INFO2 (0x5a00, |
1805 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1806 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1807 | | CSKY_ISA_DSP), |
1808 | | OP16 ("vmulsw", |
1809 | | OPCODE_INFO2 (0x5c00, |
1810 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1811 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1812 | | CSKY_ISA_DSP), |
1813 | | OP16 ("vmulswa", |
1814 | | OPCODE_INFO2 (0x5d00, |
1815 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1816 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1817 | | CSKY_ISA_DSP), |
1818 | | OP16 ("vmulsws", |
1819 | | OPCODE_INFO2 (0x5e00, |
1820 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1821 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1822 | | CSKY_ISA_DSP), |
1823 | | OP16 ("movi", |
1824 | | OPCODE_INFO2 (0x6000, |
1825 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1826 | | (4_10, IMM7b, OPRND_SHIFT_0_BIT)), |
1827 | | CSKYV1_ISA_E1), |
1828 | | DOP16 ("mulsh", |
1829 | | OPCODE_INFO3 (0x6800, |
1830 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1831 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1832 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1833 | | OPCODE_INFO2 (0x6800, |
1834 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1835 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1836 | | CSKYV1_ISA_E1), |
1837 | | DOP16 ("mulsh.h", |
1838 | | OPCODE_INFO3 (0x6800, |
1839 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1840 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
1841 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1842 | | OPCODE_INFO2 (0x6800, |
1843 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1844 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1845 | | CSKYV1_ISA_E1), |
1846 | | OP16 ("mulsha", |
1847 | | OPCODE_INFO2 (0x6900, |
1848 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1849 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1850 | | CSKY_ISA_DSP), |
1851 | | OP16 ("mulshs", |
1852 | | OPCODE_INFO2 (0x6a00, |
1853 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1854 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1855 | | CSKY_ISA_DSP), |
1856 | | OP16 ("cprcr", |
1857 | | OPCODE_INFO2 (0x6b00, |
1858 | | (0_2, GREG0_7, OPRND_SHIFT_0_BIT), |
1859 | | (3_7, CPCREG, OPRND_SHIFT_0_BIT)), |
1860 | | CSKY_ISA_CP), |
1861 | | OP16 ("mulsw", |
1862 | | OPCODE_INFO2 (0x6c00, |
1863 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1864 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1865 | | CSKY_ISA_DSP), |
1866 | | OP16 ("mulswa", |
1867 | | OPCODE_INFO2 (0x6d00, |
1868 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1869 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1870 | | CSKY_ISA_DSP), |
1871 | | OP16 ("mulsws", |
1872 | | OPCODE_INFO2 (0x6e00, |
1873 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1874 | | (4_7, GREG0_15, OPRND_SHIFT_0_BIT)), |
1875 | | CSKY_ISA_DSP), |
1876 | | OP16 ("cpwcr", |
1877 | | OPCODE_INFO2 (0x6f00, |
1878 | | (0_2, GREG0_7, OPRND_SHIFT_0_BIT), |
1879 | | (3_7, CPCREG, OPRND_SHIFT_0_BIT)), |
1880 | | CSKY_ISA_CP), |
1881 | | #undef _RELOC16 |
1882 | | #define _RELOC16 BFD_RELOC_CKCORE_PCREL_IMM8BY4 |
1883 | | #undef _TRANSFER |
1884 | | #define _TRANSFER 1 |
1885 | | OP16 ("jmpi", |
1886 | | OPCODE_INFO1 (0x7000, |
1887 | | (0_7, OFF8b, OPRND_SHIFT_2_BIT)), |
1888 | | CSKYV1_ISA_E1), |
1889 | | #undef _TRANSFER |
1890 | | #define _TRANSFER 0 |
1891 | | OP16 ("jsri", |
1892 | | OPCODE_INFO1 (0x7f00, |
1893 | | (0_7, OFF8b, OPRND_SHIFT_2_BIT)), |
1894 | | CSKYV1_ISA_E1), |
1895 | | OP16_WITH_WORK ("lrw", |
1896 | | OPCODE_INFO2 (0x7000, |
1897 | | (8_11, REGnsplr, OPRND_SHIFT_0_BIT), |
1898 | | (0_7, CONSTANT, OPRND_SHIFT_2_BIT)), |
1899 | | CSKYV1_ISA_E1, |
1900 | | v1_work_lrw), |
1901 | | #undef _RELOC16 |
1902 | | #define _RELOC16 0 |
1903 | | DOP16 ("ld.w", |
1904 | | SOPCODE_INFO2 (0x8000, |
1905 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1906 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1907 | | (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))), |
1908 | | OPCODE_INFO2 (0x8000, |
1909 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1910 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1911 | | CSKYV1_ISA_E1), |
1912 | | DOP16 ("ldw", |
1913 | | SOPCODE_INFO2 (0x8000, |
1914 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1915 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1916 | | (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))), |
1917 | | OPCODE_INFO2 (0x8000, |
1918 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1919 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1920 | | CSKYV1_ISA_E1), |
1921 | | DOP16 ("ld", |
1922 | | SOPCODE_INFO2 (0x8000, |
1923 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1924 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1925 | | (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))), |
1926 | | OPCODE_INFO2 (0x8000, |
1927 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1928 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1929 | | CSKYV1_ISA_E1), |
1930 | | DOP16 ("st.w", |
1931 | | SOPCODE_INFO2 (0x9000, |
1932 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1933 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1934 | | (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))), |
1935 | | OPCODE_INFO2 (0x9000, |
1936 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1937 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1938 | | CSKYV1_ISA_E1), |
1939 | | DOP16 ("stw", |
1940 | | SOPCODE_INFO2 (0x9000, |
1941 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1942 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1943 | | (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))), |
1944 | | OPCODE_INFO2 (0x9000, |
1945 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1946 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1947 | | CSKYV1_ISA_E1), |
1948 | | DOP16 ("st", |
1949 | | SOPCODE_INFO2 (0x9000, |
1950 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1951 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1952 | | (4_7, IMM_LDST, OPRND_SHIFT_2_BIT))), |
1953 | | OPCODE_INFO2 (0x9000, |
1954 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1955 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1956 | | CSKYV1_ISA_E1), |
1957 | | DOP16 ("ld.b", |
1958 | | SOPCODE_INFO2 (0xa000, |
1959 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1960 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1961 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1962 | | OPCODE_INFO2 (0xa000, |
1963 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1964 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1965 | | CSKYV1_ISA_E1), |
1966 | | DOP16 ("ldb", |
1967 | | SOPCODE_INFO2 (0xa000, |
1968 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1969 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1970 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1971 | | OPCODE_INFO2 (0xa000, |
1972 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1973 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1974 | | CSKYV1_ISA_E1), |
1975 | | DOP16 ("st.b", |
1976 | | SOPCODE_INFO2 (0xb000, |
1977 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1978 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1979 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1980 | | OPCODE_INFO2 (0xb000, |
1981 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1982 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1983 | | CSKYV1_ISA_E1), |
1984 | | DOP16 ("stb", |
1985 | | SOPCODE_INFO2 (0xb000, |
1986 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1987 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1988 | | (4_7, IMM_LDST, OPRND_SHIFT_0_BIT))), |
1989 | | OPCODE_INFO2 (0xb000, |
1990 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1991 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
1992 | | CSKYV1_ISA_E1), |
1993 | | DOP16 ("ld.h", |
1994 | | SOPCODE_INFO2 (0xc000, |
1995 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
1996 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
1997 | | (4_7, IMM_LDST, OPRND_SHIFT_1_BIT))), |
1998 | | OPCODE_INFO2 (0xc000, |
1999 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
2000 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
2001 | | CSKYV1_ISA_E1), |
2002 | | DOP16 ("ldh", |
2003 | | SOPCODE_INFO2 (0xc000, |
2004 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
2005 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2006 | | (4_7, IMM_LDST, OPRND_SHIFT_1_BIT))), |
2007 | | OPCODE_INFO2 (0xc000, |
2008 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
2009 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
2010 | | CSKYV1_ISA_E1), |
2011 | | DOP16 ("st.h", |
2012 | | SOPCODE_INFO2 (0xd000, |
2013 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
2014 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2015 | | (4_7, IMM_LDST, OPRND_SHIFT_1_BIT))), |
2016 | | OPCODE_INFO2 (0xd000, |
2017 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
2018 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
2019 | | CSKYV1_ISA_E1), |
2020 | | DOP16 ("sth", |
2021 | | SOPCODE_INFO2 (0xd000, |
2022 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
2023 | | BRACKET_OPRND ((0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2024 | | (4_7, IMM_LDST, OPRND_SHIFT_1_BIT))), |
2025 | | OPCODE_INFO2 (0xd000, |
2026 | | (8_11, GREG0_15, OPRND_SHIFT_0_BIT), |
2027 | | (0_3, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
2028 | | CSKYV1_ISA_E1), |
2029 | | |
2030 | | #undef _RELOC16 |
2031 | | #define _RELOC16 BFD_RELOC_CKCORE_PCREL_IMM11BY2 |
2032 | | OP16 ("bt", |
2033 | | OPCODE_INFO1 (0xe000, |
2034 | | (0_10, OFF11b, OPRND_SHIFT_1_BIT)), |
2035 | | CSKYV1_ISA_E1), |
2036 | | OP16 ("bf", |
2037 | | OPCODE_INFO1 (0xe800, |
2038 | | (0_10, OFF11b, OPRND_SHIFT_1_BIT)), |
2039 | | CSKYV1_ISA_E1), |
2040 | | #undef _TRANSFER |
2041 | | #define _TRANSFER 1 |
2042 | | OP16 ("br", |
2043 | | OPCODE_INFO1 (0xf000, |
2044 | | (0_10, OFF11b, OPRND_SHIFT_1_BIT)), |
2045 | | CSKYV1_ISA_E1), |
2046 | | #undef _TRANSFER |
2047 | | #define _TRANSFER 0 |
2048 | | OP16 ("bsr", |
2049 | | OPCODE_INFO1 (0xf800, |
2050 | | (0_10, OFF11b, OPRND_SHIFT_1_BIT)), |
2051 | | CSKYV1_ISA_E1), |
2052 | | #undef _RELOC16 |
2053 | | #define _RELOC16 0 |
2054 | | |
2055 | | #undef _RELAX |
2056 | | #define _RELAX 1 |
2057 | | OP16 ("jbt", |
2058 | | OPCODE_INFO1 (0xe000, |
2059 | | (0_10, JBTF, OPRND_SHIFT_0_BIT)), |
2060 | | CSKYV1_ISA_E1), |
2061 | | OP16 ("jbf", |
2062 | | OPCODE_INFO1 (0xe800, |
2063 | | (0_10, JBTF, OPRND_SHIFT_0_BIT)), |
2064 | | CSKYV1_ISA_E1), |
2065 | | #undef _TRANSFER |
2066 | | #define _TRANSFER 1 |
2067 | | OP16 ("jbr", |
2068 | | OPCODE_INFO1 (0xf000, |
2069 | | (0_10, JBR, OPRND_SHIFT_0_BIT)), |
2070 | | CSKYV1_ISA_E1), |
2071 | | #undef _TRANSFER |
2072 | | #define _TRANSFER 0 |
2073 | | #undef _RELAX |
2074 | | #define _RELAX 0 |
2075 | | |
2076 | | OP16_WITH_WORK ("jbsr", |
2077 | | OPCODE_INFO1 (0xf800, |
2078 | | (0_10, JBSR, OPRND_SHIFT_0_BIT)), |
2079 | | CSKYV1_ISA_E1, |
2080 | | v1_work_jbsr), |
2081 | | |
2082 | | /* The following are aliases for other instructions. */ |
2083 | | /* rts -> jmp r15. */ |
2084 | | #undef _TRANSFER |
2085 | | #define _TRANSFER 2 |
2086 | | OP16 ("rts", |
2087 | | OPCODE_INFO0 (0x00CF), |
2088 | | CSKYV1_ISA_E1), |
2089 | | OP16 ("rte", |
2090 | | OPCODE_INFO0 (0x0002), |
2091 | | CSKYV1_ISA_E1), |
2092 | | OP16 ("rfe", |
2093 | | OPCODE_INFO0 (0x0002), |
2094 | | CSKYV1_ISA_E1), |
2095 | | #undef _TRANSFER |
2096 | | #define _TRANSFER 0 |
2097 | | |
2098 | | /* cmphs r0,r0 */ |
2099 | | OP16 ("setc", |
2100 | | OPCODE_INFO0 (0x0c00), |
2101 | | CSKYV1_ISA_E1), |
2102 | | /* cmpne r0,r0 */ |
2103 | | OP16 ("clrc", |
2104 | | OPCODE_INFO0 (0x0f00), |
2105 | | CSKYV1_ISA_E1), |
2106 | | /* cmplti rd,1 */ |
2107 | | OP16 ("tstle", |
2108 | | OPCODE_INFO1 (0x2200, |
2109 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
2110 | | CSKYV1_ISA_E1), |
2111 | | /* cmplei rd,X -> cmplti rd,X+1 */ |
2112 | | OP16 ("cmplei", |
2113 | | OPCODE_INFO2 (0x2200, |
2114 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2115 | | (4_8, IMM5b, OPRND_SHIFT_0_BIT)), |
2116 | | CSKYV1_ISA_E1), |
2117 | | /* rsubi rd,0 */ |
2118 | | OP16 ("neg", |
2119 | | OPCODE_INFO1 (0x2800, |
2120 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
2121 | | CSKYV1_ISA_E1), |
2122 | | /* cmpnei rd,0. */ |
2123 | | OP16 ("tstne", |
2124 | | OPCODE_INFO1 (0x2a00, |
2125 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
2126 | | CSKYV1_ISA_E1), |
2127 | | /* btsti rx,31. */ |
2128 | | OP16 ("tstlt", |
2129 | | OPCODE_INFO1 (0x37f0, |
2130 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT)), |
2131 | | CSKYV1_ISA_E1), |
2132 | | /* bclri rx,log2(imm). */ |
2133 | | OP16 ("mclri", |
2134 | | OPCODE_INFO2 (0x3000, |
2135 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2136 | | (4_8, IMM5b_POWER, OPRND_SHIFT_0_BIT)), |
2137 | | CSKYV1_ISA_E1), |
2138 | | /* bgeni rx,log2(imm). */ |
2139 | | OP16 ("mgeni", |
2140 | | OPCODE_INFO2 (0x3200, |
2141 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2142 | | (4_8, IMM5b_7_31_POWER, OPRND_SHIFT_0_BIT)), |
2143 | | CSKYV1_ISA_E1), |
2144 | | /* bseti rx,log2(imm). */ |
2145 | | OP16 ("mseti", |
2146 | | OPCODE_INFO2 (0x3400, |
2147 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2148 | | (4_8, IMM5b_POWER, OPRND_SHIFT_0_BIT)), |
2149 | | CSKYV1_ISA_E1), |
2150 | | /* btsti rx,log2(imm). */ |
2151 | | OP16 ("mtsti", |
2152 | | OPCODE_INFO2 (0x3600, |
2153 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2154 | | (4_8, IMM5b_POWER, OPRND_SHIFT_0_BIT)), |
2155 | | CSKYV1_ISA_E1), |
2156 | | OP16 ("rori", |
2157 | | OPCODE_INFO2 (0x3800, |
2158 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2159 | | (4_8, IMM5b_RORI, OPRND_SHIFT_0_BIT)), |
2160 | | CSKYV1_ISA_E1), |
2161 | | OP16 ("rotri", |
2162 | | OPCODE_INFO2 (0x3800, |
2163 | | (0_3, GREG0_15, OPRND_SHIFT_0_BIT), |
2164 | | (4_8, IMM5b_RORI, OPRND_SHIFT_0_BIT)), |
2165 | | CSKYV1_ISA_E1), |
2166 | | /* mov r0, r0. */ |
2167 | | OP16 ("nop", |
2168 | | OPCODE_INFO0 (0x1200), |
2169 | | CSKYV1_ISA_E1), |
2170 | | |
2171 | | /* Float instruction with work. */ |
2172 | | OP16_WITH_WORK ("fabss", |
2173 | | OPCODE_INFO3 (0xffe04400, |
2174 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2175 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2176 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2177 | | CSKY_ISA_FLOAT_E1, |
2178 | | v1_work_fpu_fo), |
2179 | | OP16_WITH_WORK ("fnegs", |
2180 | | OPCODE_INFO3 (0xffe04c00, |
2181 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2182 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2183 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2184 | | CSKY_ISA_FLOAT_E1, |
2185 | | v1_work_fpu_fo), |
2186 | | OP16_WITH_WORK ("fsqrts", |
2187 | | OPCODE_INFO3 (0xffe05400, |
2188 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2189 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2190 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2191 | | CSKY_ISA_FLOAT_E1, |
2192 | | v1_work_fpu_fo), |
2193 | | OP16_WITH_WORK ("frecips", |
2194 | | OPCODE_INFO3 (0xffe05c00, |
2195 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
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), |
2200 | | OP16_WITH_WORK ("fadds", |
2201 | | OPCODE_INFO4 (0xffe38000, |
2202 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2203 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2204 | | (10_14, FREG, OPRND_SHIFT_0_BIT), |
2205 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2206 | | CSKY_ISA_FLOAT_E1, |
2207 | | v1_work_fpu_fo), |
2208 | | OP16_WITH_WORK ("fsubs", |
2209 | | OPCODE_INFO4 (0xffe48000, |
2210 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2211 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2212 | | (10_14, FREG, OPRND_SHIFT_0_BIT), |
2213 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2214 | | CSKY_ISA_FLOAT_E1, v1_work_fpu_fo), |
2215 | | OP16_WITH_WORK ("fmacs", |
2216 | | OPCODE_INFO4 (0xffe58000, |
2217 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2218 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2219 | | (10_14, FREG, OPRND_SHIFT_0_BIT), |
2220 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2221 | | CSKY_ISA_FLOAT_E1, |
2222 | | v1_work_fpu_fo), |
2223 | | OP16_WITH_WORK ("fmscs", |
2224 | | OPCODE_INFO4 (0xffe68000, |
2225 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2226 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2227 | | (10_14, FREG, OPRND_SHIFT_0_BIT), |
2228 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2229 | | CSKY_ISA_FLOAT_E1, |
2230 | | v1_work_fpu_fo), |
2231 | | OP16_WITH_WORK ("fmuls", |
2232 | | OPCODE_INFO4 (0xffe78000, |
2233 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2234 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2235 | | (10_14, 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 ("fdivs", |
2240 | | OPCODE_INFO4 (0xffe88000, |
2241 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2242 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2243 | | (10_14, FREG, OPRND_SHIFT_0_BIT), |
2244 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2245 | | CSKY_ISA_FLOAT_E1, |
2246 | | v1_work_fpu_fo), |
2247 | | OP16_WITH_WORK ("fnmacs", |
2248 | | OPCODE_INFO4 (0xffe98000, |
2249 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2250 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2251 | | (10_14, FREG, OPRND_SHIFT_0_BIT), |
2252 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2253 | | CSKY_ISA_FLOAT_E1, |
2254 | | v1_work_fpu_fo), |
2255 | | OP16_WITH_WORK ("fnmscs", |
2256 | | OPCODE_INFO4 (0xffea8000, |
2257 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2258 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2259 | | (10_14, FREG, OPRND_SHIFT_0_BIT), |
2260 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2261 | | CSKY_ISA_FLOAT_E1, |
2262 | | v1_work_fpu_fo), |
2263 | | OP16_WITH_WORK ("fnmuls", |
2264 | | OPCODE_INFO4 (0xffeb8000, |
2265 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2266 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2267 | | (10_14, FREG, OPRND_SHIFT_0_BIT), |
2268 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2269 | | CSKY_ISA_FLOAT_E1, |
2270 | | v1_work_fpu_fo), |
2271 | | OP16_WITH_WORK ("fabsd", |
2272 | | OPCODE_INFO3 (0xffe04000, |
2273 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2274 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2275 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2276 | | CSKY_ISA_FLOAT_E1, |
2277 | | v1_work_fpu_fo), |
2278 | | OP16_WITH_WORK ("fnegd", |
2279 | | OPCODE_INFO3 (0xffe04800, |
2280 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2281 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2282 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2283 | | CSKY_ISA_FLOAT_E1, |
2284 | | v1_work_fpu_fo), |
2285 | | OP16_WITH_WORK ("fsqrtd", |
2286 | | OPCODE_INFO3 (0xffe05000, |
2287 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2288 | | (0_4, FEREG, 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 ("frecipd", |
2293 | | OPCODE_INFO3 (0xffe05800, |
2294 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2295 | | (0_4, FEREG, 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 ("faddd", |
2300 | | OPCODE_INFO4 (0xffe30000, |
2301 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2302 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2303 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2304 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2305 | | CSKY_ISA_FLOAT_E1, |
2306 | | v1_work_fpu_fo), |
2307 | | OP16_WITH_WORK ("fsubd", |
2308 | | OPCODE_INFO4 (0xffe40000, |
2309 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2310 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2311 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2312 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2313 | | CSKY_ISA_FLOAT_E1, |
2314 | | v1_work_fpu_fo), |
2315 | | OP16_WITH_WORK ("fmacd", |
2316 | | OPCODE_INFO4 (0xffe50000, |
2317 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2318 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2319 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2320 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2321 | | CSKY_ISA_FLOAT_E1, |
2322 | | v1_work_fpu_fo), |
2323 | | OP16_WITH_WORK ("fmscd", |
2324 | | OPCODE_INFO4 (0xffe60000, |
2325 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2326 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2327 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2328 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2329 | | CSKY_ISA_FLOAT_E1, |
2330 | | v1_work_fpu_fo), |
2331 | | OP16_WITH_WORK ("fmuld", |
2332 | | OPCODE_INFO4 (0xffe70000, |
2333 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2334 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2335 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2336 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2337 | | CSKY_ISA_FLOAT_E1, |
2338 | | v1_work_fpu_fo), |
2339 | | OP16_WITH_WORK ("fdivd", |
2340 | | OPCODE_INFO4 (0xffe80000, |
2341 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2342 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2343 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2344 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2345 | | CSKY_ISA_FLOAT_E1, |
2346 | | v1_work_fpu_fo), |
2347 | | OP16_WITH_WORK ("fnmacd", |
2348 | | OPCODE_INFO4 (0xffe90000, |
2349 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2350 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2351 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2352 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2353 | | CSKY_ISA_FLOAT_E1, |
2354 | | v1_work_fpu_fo), |
2355 | | OP16_WITH_WORK ("fnmscd", |
2356 | | OPCODE_INFO4 (0xffea0000, |
2357 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2358 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2359 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2360 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2361 | | CSKY_ISA_FLOAT_E1, |
2362 | | v1_work_fpu_fo), |
2363 | | OP16_WITH_WORK ("fnmuld", |
2364 | | OPCODE_INFO4 (0xffeb0000, |
2365 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2366 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2367 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2368 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2369 | | CSKY_ISA_FLOAT_E1, |
2370 | | v1_work_fpu_fo), |
2371 | | OP16_WITH_WORK ("fabsm", |
2372 | | OPCODE_INFO3 (0xffe06000, |
2373 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2374 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2375 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2376 | | CSKY_ISA_FLOAT_E1, |
2377 | | v1_work_fpu_fo), |
2378 | | OP16_WITH_WORK ("fnegm", |
2379 | | OPCODE_INFO3 (0xffe06400, |
2380 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2381 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2382 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2383 | | CSKY_ISA_FLOAT_E1, |
2384 | | v1_work_fpu_fo), |
2385 | | OP16_WITH_WORK ("faddm", |
2386 | | OPCODE_INFO4 (0xffec0000, |
2387 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2388 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2389 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2390 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2391 | | CSKY_ISA_FLOAT_E1, |
2392 | | v1_work_fpu_fo), |
2393 | | OP16_WITH_WORK ("fsubm", |
2394 | | OPCODE_INFO4 (0xffec8000, |
2395 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2396 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2397 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2398 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2399 | | CSKY_ISA_FLOAT_E1, |
2400 | | v1_work_fpu_fo), |
2401 | | OP16_WITH_WORK ("fmacm", |
2402 | | OPCODE_INFO4 (0xffed8000, |
2403 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2404 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2405 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2406 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2407 | | CSKY_ISA_FLOAT_E1, |
2408 | | v1_work_fpu_fo), |
2409 | | OP16_WITH_WORK ("fmscm", |
2410 | | OPCODE_INFO4 (0xffee0000, |
2411 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2412 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2413 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2414 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2415 | | CSKY_ISA_FLOAT_E1, |
2416 | | v1_work_fpu_fo), |
2417 | | OP16_WITH_WORK ("fmulm", |
2418 | | OPCODE_INFO4 (0xffed0000, |
2419 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2420 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2421 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2422 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2423 | | CSKY_ISA_FLOAT_E1, |
2424 | | v1_work_fpu_fo), |
2425 | | OP16_WITH_WORK ("fnmacm", |
2426 | | OPCODE_INFO4 (0xffee8000, |
2427 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2428 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2429 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2430 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2431 | | CSKY_ISA_FLOAT_E1, |
2432 | | v1_work_fpu_fo), |
2433 | | OP16_WITH_WORK ("fnmscm", |
2434 | | OPCODE_INFO4 (0xffef0000, |
2435 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2436 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2437 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2438 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2439 | | CSKY_ISA_FLOAT_E1, |
2440 | | v1_work_fpu_fo), |
2441 | | OP16_WITH_WORK ("fnmulm", |
2442 | | OPCODE_INFO4 (0xffef8000, |
2443 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2444 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2445 | | (10_14, FEREG, OPRND_SHIFT_0_BIT), |
2446 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2447 | | CSKY_ISA_FLOAT_E1, |
2448 | | v1_work_fpu_fo), |
2449 | | OP16_WITH_WORK ("fcmphsd", |
2450 | | OPCODE_INFO3 (0xffe00800, |
2451 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2452 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2453 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2454 | | CSKY_ISA_FLOAT_E1, |
2455 | | v1_work_fpu_fo_fc), |
2456 | | OP16_WITH_WORK ("fcmpltd", |
2457 | | OPCODE_INFO3 (0xffe00c00, |
2458 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2459 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2460 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2461 | | CSKY_ISA_FLOAT_E1, |
2462 | | v1_work_fpu_fo_fc), |
2463 | | OP16_WITH_WORK ("fcmpned", |
2464 | | OPCODE_INFO3 (0xffe01000, |
2465 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2466 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2467 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2468 | | CSKY_ISA_FLOAT_E1, |
2469 | | v1_work_fpu_fo_fc), |
2470 | | OP16_WITH_WORK ("fcmpuod", |
2471 | | OPCODE_INFO3 (0xffe01400, |
2472 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2473 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2474 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2475 | | CSKY_ISA_FLOAT_E1, |
2476 | | v1_work_fpu_fo_fc), |
2477 | | OP16_WITH_WORK ("fcmphss", |
2478 | | OPCODE_INFO3 (0xffe01800, |
2479 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2480 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2481 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2482 | | CSKY_ISA_FLOAT_E1, |
2483 | | v1_work_fpu_fo_fc), |
2484 | | OP16_WITH_WORK ("fcmplts", |
2485 | | OPCODE_INFO3 (0xffe01c00, |
2486 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2487 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2488 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2489 | | CSKY_ISA_FLOAT_E1, |
2490 | | v1_work_fpu_fo_fc), |
2491 | | OP16_WITH_WORK ("fcmpnes", |
2492 | | OPCODE_INFO3 (0xffe02000, |
2493 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2494 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2495 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2496 | | CSKY_ISA_FLOAT_E1, |
2497 | | v1_work_fpu_fo_fc), |
2498 | | OP16_WITH_WORK ("fcmpuos", |
2499 | | OPCODE_INFO3 (0xffe02400, |
2500 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2501 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2502 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2503 | | CSKY_ISA_FLOAT_E1, |
2504 | | v1_work_fpu_fo_fc), |
2505 | | OP16_WITH_WORK ("fcmpzhsd", |
2506 | | OPCODE_INFO2 (0xffe00400, |
2507 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2508 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2509 | | CSKY_ISA_FLOAT_E1, |
2510 | | v1_work_fpu_fo_fc), |
2511 | | OP16_WITH_WORK ("fcmpzltd", |
2512 | | OPCODE_INFO2 (0xffe00480, |
2513 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2514 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2515 | | CSKY_ISA_FLOAT_E1, |
2516 | | v1_work_fpu_fo_fc), |
2517 | | OP16_WITH_WORK ("fcmpzned", |
2518 | | OPCODE_INFO2 (0xffe00500, |
2519 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2520 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2521 | | CSKY_ISA_FLOAT_E1, |
2522 | | v1_work_fpu_fo_fc), |
2523 | | OP16_WITH_WORK ("fcmpzuod", |
2524 | | OPCODE_INFO2 (0xffe00580, |
2525 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2526 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2527 | | CSKY_ISA_FLOAT_E1, |
2528 | | v1_work_fpu_fo_fc), |
2529 | | OP16_WITH_WORK ("fcmpzhss", |
2530 | | OPCODE_INFO2 (0xffe00600, |
2531 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2532 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2533 | | CSKY_ISA_FLOAT_E1, |
2534 | | v1_work_fpu_fo_fc), |
2535 | | OP16_WITH_WORK ("fcmpzlts", |
2536 | | OPCODE_INFO2 (0xffe00680, |
2537 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2538 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2539 | | CSKY_ISA_FLOAT_E1, |
2540 | | v1_work_fpu_fo_fc), |
2541 | | OP16_WITH_WORK ("fcmpznes", |
2542 | | OPCODE_INFO2 (0xffe00700, |
2543 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2544 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2545 | | CSKY_ISA_FLOAT_E1, |
2546 | | v1_work_fpu_fo_fc), |
2547 | | OP16_WITH_WORK ("fcmpzuos", |
2548 | | OPCODE_INFO2 (0xffe00780, |
2549 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2550 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2551 | | CSKY_ISA_FLOAT_E1, |
2552 | | v1_work_fpu_fo_fc), |
2553 | | OP16_WITH_WORK ("fstod", |
2554 | | OPCODE_INFO3 (0xffe02800, |
2555 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2556 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2557 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2558 | | CSKY_ISA_FLOAT_E1, |
2559 | | v1_work_fpu_fo), |
2560 | | OP16_WITH_WORK ("fdtos", |
2561 | | OPCODE_INFO3 (0xffe02c00, |
2562 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2563 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2564 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2565 | | CSKY_ISA_FLOAT_E1, |
2566 | | v1_work_fpu_fo), |
2567 | | OP16_WITH_WORK ("fsitos", |
2568 | | OPCODE_INFO3 (0xffe03400, |
2569 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2570 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2571 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2572 | | CSKY_ISA_FLOAT_E1, |
2573 | | v1_work_fpu_fo), |
2574 | | OP16_WITH_WORK ("fsitod", |
2575 | | OPCODE_INFO3 (0xffe03000, |
2576 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2577 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2578 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2579 | | CSKY_ISA_FLOAT_E1, |
2580 | | v1_work_fpu_fo), |
2581 | | OP16_WITH_WORK ("fuitos", |
2582 | | OPCODE_INFO3 (0xffe03c00, |
2583 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2584 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2585 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2586 | | CSKY_ISA_FLOAT_E1, |
2587 | | v1_work_fpu_fo), |
2588 | | OP16_WITH_WORK ("fuitod", |
2589 | | OPCODE_INFO3 (0xffe03800, |
2590 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2591 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2592 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2593 | | CSKY_ISA_FLOAT_E1, |
2594 | | v1_work_fpu_fo), |
2595 | | OP16_WITH_WORK ("fstosi", |
2596 | | OPCODE_INFO4 (0xffe10000, |
2597 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2598 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2599 | | (13_17, RM, OPRND_SHIFT_0_BIT), |
2600 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2601 | | CSKY_ISA_FLOAT_E1, |
2602 | | v1_work_fpu_fo), |
2603 | | OP16_WITH_WORK ("fdtosi", |
2604 | | OPCODE_INFO4 (0xffe08000, |
2605 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2606 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2607 | | (13_17, RM, OPRND_SHIFT_0_BIT), |
2608 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2609 | | CSKY_ISA_FLOAT_E1, |
2610 | | v1_work_fpu_fo), |
2611 | | OP16_WITH_WORK ("fstoui", |
2612 | | OPCODE_INFO4 (0xffe20000, |
2613 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2614 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2615 | | (13_17, RM, OPRND_SHIFT_0_BIT), |
2616 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2617 | | CSKY_ISA_FLOAT_E1, |
2618 | | v1_work_fpu_fo), |
2619 | | OP16_WITH_WORK ("fdtoui", |
2620 | | OPCODE_INFO4 (0xffe18000, |
2621 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2622 | | (0_4, FEREG, OPRND_SHIFT_0_BIT), |
2623 | | (13_17, RM, OPRND_SHIFT_0_BIT), |
2624 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2625 | | CSKY_ISA_FLOAT_E1, |
2626 | | v1_work_fpu_fo), |
2627 | | OP16_WITH_WORK ("fmovd", |
2628 | | OPCODE_INFO3 (0xffe06800, |
2629 | | (5_9, FEREG, OPRND_SHIFT_0_BIT), |
2630 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2631 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2632 | | CSKY_ISA_FLOAT_E1, |
2633 | | v1_work_fpu_fo), |
2634 | | OP16_WITH_WORK ("fmovs", |
2635 | | OPCODE_INFO3 (0xffe06c00, |
2636 | | (5_9, FREG, OPRND_SHIFT_0_BIT), |
2637 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
2638 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT)), |
2639 | | CSKY_ISA_FLOAT_E1, |
2640 | | v1_work_fpu_fo), |
2641 | | OP16_WITH_WORK ("fmts", |
2642 | | OPCODE_INFO2 (0x00000000, |
2643 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT), |
2644 | | (NONE, FREG, OPRND_SHIFT_0_BIT)), |
2645 | | CSKY_ISA_FLOAT_E1, |
2646 | | v1_work_fpu_write), |
2647 | | OP16_WITH_WORK ("fmfs", |
2648 | | OPCODE_INFO2 (0x00000000, |
2649 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT), |
2650 | | (NONE, FREG, OPRND_SHIFT_0_BIT)), |
2651 | | CSKY_ISA_FLOAT_E1, |
2652 | | v1_work_fpu_read), |
2653 | | OP16_WITH_WORK ("fmtd", |
2654 | | OPCODE_INFO2 (0x00000000, |
2655 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT), |
2656 | | (NONE, FEREG, OPRND_SHIFT_0_BIT)), |
2657 | | CSKY_ISA_FLOAT_E1, |
2658 | | v1_work_fpu_writed), |
2659 | | OP16_WITH_WORK ("fmfd", |
2660 | | OPCODE_INFO2 (0x00000000, |
2661 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT), |
2662 | | (NONE, FEREG, OPRND_SHIFT_0_BIT)), |
2663 | | CSKY_ISA_FLOAT_E1, |
2664 | | v1_work_fpu_readd), |
2665 | | {NULL, 0, {}, {}, 0, 0, 0, 0, 0, NULL} |
2666 | | }; |
2667 | | |
2668 | | #undef _TRANSFER |
2669 | | #undef _RELOC16 |
2670 | | #undef _RELOC32 |
2671 | | #undef _RELAX |
2672 | | |
2673 | | /* C-SKY v2 opcodes. */ |
2674 | | const struct csky_opcode csky_v2_opcodes[] = |
2675 | | { |
2676 | | #define _TRANSFER 0 |
2677 | | #define _RELOC16 0 |
2678 | | #define _RELOC32 0 |
2679 | | #define _RELAX 0 |
2680 | | OP16 ("bkpt", |
2681 | | OPCODE_INFO0 (0x0000), |
2682 | | CSKYV2_ISA_E1), |
2683 | | OP16_WITH_WORK ("nie", |
2684 | | OPCODE_INFO0 (0x1460), |
2685 | | CSKYV2_ISA_E1, |
2686 | | v2_work_istack), |
2687 | | OP16_WITH_WORK ("nir", |
2688 | | OPCODE_INFO0 (0x1461), |
2689 | | CSKYV2_ISA_E1, |
2690 | | v2_work_istack), |
2691 | | OP16_WITH_WORK ("ipush", |
2692 | | OPCODE_INFO0 (0x1462), |
2693 | | CSKYV2_ISA_E1, |
2694 | | v2_work_istack), |
2695 | | OP16_WITH_WORK ("ipop", |
2696 | | OPCODE_INFO0 (0x1463), |
2697 | | CSKYV2_ISA_E1, |
2698 | | v2_work_istack), |
2699 | | OP16 ("bpop.h", |
2700 | | OPCODE_INFO1 (0x14a0, |
2701 | | (2_4, GREG0_7, OPRND_SHIFT_0_BIT)), |
2702 | | CSKY_ISA_JAVA), |
2703 | | OP16 ("bpop.w", |
2704 | | OPCODE_INFO1 (0x14a2, |
2705 | | (2_4, GREG0_7, OPRND_SHIFT_0_BIT)), |
2706 | | CSKY_ISA_JAVA), |
2707 | | OP16 ("bpush.h", |
2708 | | OPCODE_INFO1 (0x14e0, |
2709 | | (2_4, GREG0_7, OPRND_SHIFT_0_BIT)), |
2710 | | CSKY_ISA_JAVA), |
2711 | | OP16 ("bpush.w", |
2712 | | OPCODE_INFO1 (0x14e2, |
2713 | | (2_4, GREG0_7, OPRND_SHIFT_0_BIT)), |
2714 | | CSKY_ISA_JAVA), |
2715 | | OP32 ("bmset", |
2716 | | OPCODE_INFO0 (0xc0001020), |
2717 | | CSKY_ISA_JAVA), |
2718 | | OP32 ("bmclr", |
2719 | | OPCODE_INFO0 (0xc0001420), |
2720 | | CSKY_ISA_JAVA), |
2721 | | OP32 ("sce", |
2722 | | OPCODE_INFO1 (0xc0001820, |
2723 | | (21_24, IMM4b, OPRND_SHIFT_0_BIT)), |
2724 | | CSKY_ISA_MP), |
2725 | | OP32 ("trap", |
2726 | | OPCODE_INFO1 (0xc0002020, |
2727 | | (10_11, IMM2b, OPRND_SHIFT_0_BIT)), |
2728 | | CSKYV2_ISA_E1), |
2729 | | /* Secure/nsecure world switch. */ |
2730 | | OP32 ("wsc", |
2731 | | OPCODE_INFO0 (0xc0003c20), |
2732 | | CSKY_ISA_TRUST), |
2733 | | OP32 ("mtcr", |
2734 | | OPCODE_INFO2 (0xc0006420, |
2735 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2736 | | (0_4or21_25, CTRLREG, OPRND_SHIFT_0_BIT)), |
2737 | | CSKYV2_ISA_E1), |
2738 | | OP32 ("mfcr", |
2739 | | OPCODE_INFO2 (0xc0006020, |
2740 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2741 | | (16_20or21_25, CTRLREG, OPRND_SHIFT_0_BIT)), |
2742 | | CSKYV2_ISA_E1), |
2743 | | #undef _TRANSFER |
2744 | | #define _TRANSFER 2 |
2745 | | OP32 ("rte", |
2746 | | OPCODE_INFO0 (0xc0004020), |
2747 | | CSKYV2_ISA_E1), |
2748 | | OP32 ("rfi", |
2749 | | OPCODE_INFO0 (0xc0004420), |
2750 | | CSKYV2_ISA_2E3), |
2751 | | #undef _TRANSFER |
2752 | | #define _TRANSFER 0 |
2753 | | OP32 ("stop", |
2754 | | OPCODE_INFO0 (0xc0004820), |
2755 | | CSKYV2_ISA_E1), |
2756 | | OP32 ("wait", |
2757 | | OPCODE_INFO0 (0xc0004c20), |
2758 | | CSKYV2_ISA_E1), |
2759 | | OP32 ("doze", |
2760 | | OPCODE_INFO0 (0xc0005020), |
2761 | | CSKYV2_ISA_E1), |
2762 | | OP32 ("we", |
2763 | | OPCODE_INFO0 (0xc0005420), |
2764 | | CSKY_ISA_MP_1E2), |
2765 | | OP32 ("se", |
2766 | | OPCODE_INFO0 (0xc0005820), |
2767 | | CSKY_ISA_MP_1E2), |
2768 | | OP32 ("psrclr", |
2769 | | OPCODE_INFO_LIST (0xc0007020, |
2770 | | (21_25, PSR_BITS_LIST, OPRND_SHIFT_0_BIT)), |
2771 | | CSKYV2_ISA_E1), |
2772 | | OP32 ("psrset", |
2773 | | OPCODE_INFO_LIST (0xc0007420, |
2774 | | (21_25, PSR_BITS_LIST, OPRND_SHIFT_0_BIT)), |
2775 | | CSKYV2_ISA_E1), |
2776 | | DOP32 ("abs", |
2777 | | OPCODE_INFO2 (0xc4000200, |
2778 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2779 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2780 | | OPCODE_INFO1 (0xc4000200, |
2781 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
2782 | | CSKYV2_ISA_2E3), |
2783 | | OP32 ("mvc", |
2784 | | OPCODE_INFO1 (0xc4000500, |
2785 | | (0_4, AREG, OPRND_SHIFT_0_BIT)), |
2786 | | CSKYV2_ISA_1E2), |
2787 | | OP32 ("incf", |
2788 | | OPCODE_INFO3 (0xc4000c20, |
2789 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
2790 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2791 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
2792 | | CSKYV2_ISA_1E2), |
2793 | | OP32 ("movf", |
2794 | | OPCODE_INFO2 (0xc4000c20, |
2795 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
2796 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2797 | | CSKYV2_ISA_1E2), |
2798 | | OP32 ("inct", |
2799 | | OPCODE_INFO3 (0xc4000c40, |
2800 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
2801 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2802 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
2803 | | CSKYV2_ISA_1E2), |
2804 | | OP32 ("movt", |
2805 | | OPCODE_INFO2 (0xc4000c40, |
2806 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
2807 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2808 | | CSKYV2_ISA_1E2), |
2809 | | OP32 ("decf", |
2810 | | OPCODE_INFO3 (0xc4000c80, |
2811 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
2812 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2813 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
2814 | | CSKYV2_ISA_1E2), |
2815 | | OP32 ("dect", |
2816 | | OPCODE_INFO3 (0xc4000d00, |
2817 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
2818 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2819 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
2820 | | CSKYV2_ISA_1E2), |
2821 | | OP32 ("decgt", |
2822 | | OPCODE_INFO3 (0xc4001020, |
2823 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2824 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2825 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
2826 | | CSKYV2_ISA_2E3), |
2827 | | OP32 ("declt", |
2828 | | OPCODE_INFO3 (0xc4001040, |
2829 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2830 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2831 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
2832 | | CSKYV2_ISA_2E3), |
2833 | | OP32 ("decne", |
2834 | | OPCODE_INFO3 (0xc4001080, |
2835 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2836 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2837 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
2838 | | CSKYV2_ISA_2E3), |
2839 | | OP32 ("clrf", |
2840 | | OPCODE_INFO1 (0xc4002c20, |
2841 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2842 | | CSKYV2_ISA_2E3), |
2843 | | OP32 ("clrt", |
2844 | | OPCODE_INFO1 (0xc4002c40, |
2845 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2846 | | CSKYV2_ISA_2E3), |
2847 | | DOP32 ("rotli", |
2848 | | OPCODE_INFO3 (0xc4004900, |
2849 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2850 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2851 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
2852 | | OPCODE_INFO2 (0xc4004900, |
2853 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
2854 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
2855 | | CSKYV2_ISA_1E2), |
2856 | | OP32 ("lslc", |
2857 | | OPCODE_INFO3 (0xc4004c20, |
2858 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2859 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2860 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
2861 | | CSKYV2_ISA_1E2), |
2862 | | OP32 ("lsrc", |
2863 | | OPCODE_INFO3 (0xc4004c40, |
2864 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2865 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2866 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
2867 | | CSKYV2_ISA_1E2), |
2868 | | DOP32 ("asrc", |
2869 | | OPCODE_INFO3 (0xc4004c80, |
2870 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2871 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2872 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
2873 | | OPCODE_INFO1 (0xc4004c80, |
2874 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
2875 | | CSKYV2_ISA_1E2), |
2876 | | OP32 ("xsr", |
2877 | | OPCODE_INFO3 (0xc4004d00, |
2878 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2879 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2880 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
2881 | | CSKYV2_ISA_1E2), |
2882 | | OP32 ("bgenr", |
2883 | | OPCODE_INFO2 (0xc4005040, |
2884 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2885 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2886 | | CSKYV2_ISA_2E3), |
2887 | | DOP32 ("brev", |
2888 | | OPCODE_INFO2 (0xc4006200, |
2889 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2890 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2891 | | OPCODE_INFO1 (0xc4006200, |
2892 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
2893 | | CSKYV2_ISA_2E3), |
2894 | | OP32 ("xtrb0", |
2895 | | OPCODE_INFO2 (0xc4007020, |
2896 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2897 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2898 | | CSKYV2_ISA_1E2), |
2899 | | OP32 ("xtrb1", |
2900 | | OPCODE_INFO2 (0xc4007040, |
2901 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2902 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2903 | | CSKYV2_ISA_1E2), |
2904 | | OP32 ("xtrb2", |
2905 | | OPCODE_INFO2 (0xc4007080, |
2906 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2907 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2908 | | CSKYV2_ISA_1E2), |
2909 | | OP32 ("xtrb3", |
2910 | | OPCODE_INFO2 (0xc4007100, |
2911 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2912 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2913 | | CSKYV2_ISA_1E2), |
2914 | | OP32 ("ff0", |
2915 | | OPCODE_INFO2 (0xc4007c20, |
2916 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2917 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2918 | | CSKYV2_ISA_1E2), |
2919 | | DOP32 ("ff1", |
2920 | | OPCODE_INFO2 (0xc4007c40, |
2921 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
2922 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2923 | | OPCODE_INFO1 (0xc4007c40, |
2924 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
2925 | | CSKYV2_ISA_1E2), |
2926 | | OP32 ("mulu", |
2927 | | OPCODE_INFO2 (0xc4008820, |
2928 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2929 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2930 | | CSKY_ISA_DSP), |
2931 | | OP32 ("mulua", |
2932 | | OPCODE_INFO2 (0xc4008840, |
2933 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2934 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2935 | | CSKY_ISA_DSP), |
2936 | | OP32 ("mulus", |
2937 | | OPCODE_INFO2 (0xc4008880, |
2938 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2939 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2940 | | CSKY_ISA_DSP), |
2941 | | OP32 ("muls", |
2942 | | OPCODE_INFO2 (0xc4008c20, |
2943 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2944 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2945 | | CSKY_ISA_DSP), |
2946 | | OP32 ("mulsa", |
2947 | | OPCODE_INFO2 (0xc4008c40, |
2948 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2949 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2950 | | CSKY_ISA_DSP), |
2951 | | OP32 ("mulss", |
2952 | | OPCODE_INFO2 (0xc4008c80, |
2953 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2954 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2955 | | CSKY_ISA_DSP), |
2956 | | OP32 ("mulsha", |
2957 | | OPCODE_INFO2 (0xc4009040, |
2958 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2959 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2960 | | CSKY_ISA_DSP), |
2961 | | OP32 ("mulshs", |
2962 | | OPCODE_INFO2 (0xc4009080, |
2963 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2964 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2965 | | CSKY_ISA_DSP), |
2966 | | OP32 ("mulswa", |
2967 | | OPCODE_INFO2 (0xc4009440, |
2968 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2969 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2970 | | CSKY_ISA_DSP), |
2971 | | OP32 ("mulsws", |
2972 | | OPCODE_INFO2 (0xc4009500, |
2973 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
2974 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
2975 | | CSKY_ISA_DSP), |
2976 | | OP32 ("mfhis", |
2977 | | OPCODE_INFO1 (0xc4009820, |
2978 | | (0_4, AREG, OPRND_SHIFT_0_BIT)), |
2979 | | CSKY_ISA_DSP), |
2980 | | OP32 ("mflos", |
2981 | | OPCODE_INFO1 (0xc4009880, |
2982 | | (0_4, AREG, OPRND_SHIFT_0_BIT)), |
2983 | | CSKY_ISA_DSP), |
2984 | | OP32 ("mvtc", |
2985 | | OPCODE_INFO0 (0xc4009a00), |
2986 | | CSKY_ISA_DSPE60), |
2987 | | OP32 ("mfhi", |
2988 | | OPCODE_INFO1 (0xc4009c20, |
2989 | | (0_4, AREG, OPRND_SHIFT_0_BIT)), |
2990 | | CSKY_ISA_DSP), |
2991 | | OP32 ("mthi", |
2992 | | OPCODE_INFO1 (0xc4009c40, |
2993 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
2994 | | CSKY_ISA_DSP), |
2995 | | OP32 ("mflo", |
2996 | | OPCODE_INFO1 (0xc4009c80, |
2997 | | (0_4, AREG, OPRND_SHIFT_0_BIT)), |
2998 | | CSKY_ISA_DSP), |
2999 | | OP32 ("mtlo", |
3000 | | OPCODE_INFO1 (0xc4009d00, |
3001 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
3002 | | CSKY_ISA_DSP), |
3003 | | OP32 ("vmulsh", |
3004 | | OPCODE_INFO2 (0xc400b020, |
3005 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3006 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3007 | | CSKY_ISA_DSP_1E2), |
3008 | | OP32 ("vmulsha", |
3009 | | OPCODE_INFO2 (0xc400b040, |
3010 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3011 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3012 | | CSKY_ISA_DSP_1E2), |
3013 | | OP32 ("vmulshs", |
3014 | | OPCODE_INFO2 (0xc400b080, |
3015 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3016 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3017 | | CSKY_ISA_DSP_1E2), |
3018 | | OP32 ("vmulsw", |
3019 | | OPCODE_INFO2 (0xc400b420, |
3020 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3021 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3022 | | CSKY_ISA_DSP_1E2), |
3023 | | OP32 ("vmulswa", |
3024 | | OPCODE_INFO2 (0xc400b440, |
3025 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3026 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3027 | | CSKY_ISA_DSP_1E2), |
3028 | | OP32 ("vmulsws", |
3029 | | OPCODE_INFO2 (0xc400b480, |
3030 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3031 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3032 | | CSKY_ISA_DSP_1E2), |
3033 | | OP32 ("ldr.b", |
3034 | | SOPCODE_INFO2 (0xd0000000, |
3035 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3036 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3037 | | (5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))), |
3038 | | CSKYV2_ISA_2E3), |
3039 | | OP32 ("ldr.bs", |
3040 | | SOPCODE_INFO2 (0xd0001000, |
3041 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3042 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3043 | | (5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))), |
3044 | | CSKYV2_ISA_2E3), |
3045 | | OP32 ("ldr.h", |
3046 | | SOPCODE_INFO2 (0xd0000400, |
3047 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3048 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3049 | | (5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))), |
3050 | | CSKYV2_ISA_2E3), |
3051 | | OP32 ("ldr.hs", |
3052 | | SOPCODE_INFO2 (0xd0001400, |
3053 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3054 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3055 | | (5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))), |
3056 | | CSKYV2_ISA_2E3), |
3057 | | OP32 ("ldr.w", |
3058 | | SOPCODE_INFO2 (0xd0000800, |
3059 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3060 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3061 | | (5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))), |
3062 | | CSKYV2_ISA_2E3), |
3063 | | OP32 ("ldm", |
3064 | | OPCODE_INFO2 (0xd0001c20, |
3065 | | (0_4or21_25, REGLIST_DASH, OPRND_SHIFT_0_BIT), |
3066 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3067 | | CSKYV2_ISA_1E2), |
3068 | | OP32 ("ldq", |
3069 | | OPCODE_INFO2 (0xd0801c23, |
3070 | | (NONE, REGr4_r7, OPRND_SHIFT_0_BIT), |
3071 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3072 | | CSKYV2_ISA_2E3), |
3073 | | OP32 ("str.b", |
3074 | | SOPCODE_INFO2 (0xd4000000, |
3075 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3076 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3077 | | (5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))), |
3078 | | CSKYV2_ISA_2E3), |
3079 | | OP32 ("str.h", |
3080 | | SOPCODE_INFO2 (0xd4000400, |
3081 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3082 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3083 | | (5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))), |
3084 | | CSKYV2_ISA_2E3), |
3085 | | OP32 ("str.w", |
3086 | | SOPCODE_INFO2 (0xd4000800, |
3087 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3088 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3089 | | (5_9or21_25, AREG_WITH_LSHIFT, OPRND_SHIFT_0_BIT))), |
3090 | | CSKYV2_ISA_2E3), |
3091 | | OP32 ("stm", |
3092 | | OPCODE_INFO2 (0xd4001c20, |
3093 | | (0_4or21_25, REGLIST_DASH, OPRND_SHIFT_0_BIT), |
3094 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3095 | | CSKYV2_ISA_1E2), |
3096 | | OP32 ("stq", |
3097 | | OPCODE_INFO2 (0xd4801c23, |
3098 | | (NONE, REGr4_r7, OPRND_SHIFT_0_BIT), |
3099 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3100 | | CSKYV2_ISA_2E3), |
3101 | | OP32 ("ld.bs", |
3102 | | SOPCODE_INFO2 (0xd8004000, |
3103 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3104 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3105 | | (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))), |
3106 | | CSKYV2_ISA_1E2), |
3107 | | OP32 ("ldbs", |
3108 | | SOPCODE_INFO2 (0xd8004000, |
3109 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3110 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3111 | | (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))), |
3112 | | CSKYV2_ISA_1E2), |
3113 | | OP32 ("ld.hs", |
3114 | | SOPCODE_INFO2 (0xd8005000, |
3115 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3116 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3117 | | (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))), |
3118 | | CSKYV2_ISA_1E2), |
3119 | | OP32 ("ldhs", |
3120 | | SOPCODE_INFO2 (0xd8005000, |
3121 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3122 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3123 | | (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))), |
3124 | | CSKYV2_ISA_1E2), |
3125 | | OP32 ("ld.d", |
3126 | | SOPCODE_INFO2 (0xd8003000, |
3127 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3128 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3129 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3130 | | CSKYV2_ISA_3E7), |
3131 | | OP32 ("ldex.w", |
3132 | | SOPCODE_INFO2 (0xd8007000, |
3133 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3134 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3135 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3136 | | CSKY_ISA_MP_1E2), |
3137 | | OP32 ("ldexw", |
3138 | | SOPCODE_INFO2 (0xd8007000, |
3139 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3140 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3141 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3142 | | CSKY_ISA_MP_1E2), |
3143 | | OP32 ("ldex", |
3144 | | SOPCODE_INFO2 (0xd8007000, |
3145 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3146 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3147 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3148 | | CSKY_ISA_MP_1E2), |
3149 | | OP32 ("st.d", |
3150 | | SOPCODE_INFO2 (0xdc003000, |
3151 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3152 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3153 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3154 | | CSKYV2_ISA_3E7), |
3155 | | OP32 ("stex.w", |
3156 | | SOPCODE_INFO2 (0xdc007000, |
3157 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3158 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3159 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3160 | | CSKY_ISA_MP_1E2), |
3161 | | OP32 ("stexw", |
3162 | | SOPCODE_INFO2 (0xdc007000, |
3163 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3164 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3165 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3166 | | CSKY_ISA_MP_1E2), |
3167 | | OP32 ("stex", |
3168 | | SOPCODE_INFO2 (0xdc007000, |
3169 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3170 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3171 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3172 | | CSKY_ISA_MP_1E2), |
3173 | | DOP32 ("andi", |
3174 | | OPCODE_INFO3 (0xe4002000, |
3175 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3176 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3177 | | (0_11, IMM12b, OPRND_SHIFT_0_BIT)), |
3178 | | OPCODE_INFO2 (0xe4002000, |
3179 | | (16_20or21_25, DUP_AREG, OPRND_SHIFT_0_BIT), |
3180 | | (0_11, IMM12b, OPRND_SHIFT_0_BIT)), |
3181 | | CSKYV2_ISA_1E2), |
3182 | | OP32 ("andni", |
3183 | | OPCODE_INFO3 (0xe4003000, |
3184 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3185 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3186 | | (0_11, IMM12b, OPRND_SHIFT_0_BIT)), |
3187 | | CSKYV2_ISA_1E2), |
3188 | | OP32 ("xori", |
3189 | | OPCODE_INFO3 (0xe4004000, |
3190 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3191 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3192 | | (0_11, IMM12b, OPRND_SHIFT_0_BIT)), |
3193 | | CSKYV2_ISA_1E2), |
3194 | | OP32 ("ins", |
3195 | | OPCODE_INFO4 (0xc4005c00, |
3196 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3197 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3198 | | (5_9, MSB2SIZE, OPRND_SHIFT_0_BIT), |
3199 | | (0_4, LSB2SIZE, OPRND_SHIFT_0_BIT)), |
3200 | | CSKYV2_ISA_2E3), |
3201 | | #undef _TRANSFER |
3202 | | #undef _RELOC32 |
3203 | | #define _TRANSFER 1 |
3204 | | #define _RELOC32 BFD_RELOC_CKCORE_PCREL_IMM16BY4 |
3205 | | OP32 ("jmpi", |
3206 | | OPCODE_INFO1 (0xeac00000, |
3207 | | (0_15, OFF16b, OPRND_SHIFT_2_BIT)), |
3208 | | CSKYV2_ISA_2E3), |
3209 | | #undef _TRANSFER |
3210 | | #undef _RELOC32 |
3211 | | #define _TRANSFER 0 |
3212 | | #define _RELOC32 0 |
3213 | | |
3214 | | OP32 ("fadds", |
3215 | | OPCODE_INFO3 (0xf4000000, |
3216 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3217 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3218 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3219 | | CSKY_ISA_FLOAT_E1), |
3220 | | OP32 ("fsubs", |
3221 | | OPCODE_INFO3 (0xf4000020, |
3222 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3223 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3224 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3225 | | CSKY_ISA_FLOAT_E1), |
3226 | | OP32 ("fmovs", |
3227 | | OPCODE_INFO2 (0xf4000080, |
3228 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3229 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3230 | | CSKY_ISA_FLOAT_E1), |
3231 | | OP32 ("fabss", |
3232 | | OPCODE_INFO2 (0xf40000c0, |
3233 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3234 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3235 | | CSKY_ISA_FLOAT_E1), |
3236 | | OP32 ("fnegs", |
3237 | | OPCODE_INFO2 (0xf40000e0, |
3238 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3239 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3240 | | CSKY_ISA_FLOAT_E1), |
3241 | | OP32 ("fcmpzhss", |
3242 | | OPCODE_INFO1 (0xf4000100, |
3243 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3244 | | CSKY_ISA_FLOAT_E1), |
3245 | | OP32 ("fcmpzlss", |
3246 | | OPCODE_INFO1 (0xf4000120, |
3247 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3248 | | CSKY_ISA_FLOAT_E1), |
3249 | | OP32 ("fcmpznes", |
3250 | | OPCODE_INFO1 (0xf4000140, |
3251 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3252 | | CSKY_ISA_FLOAT_E1), |
3253 | | OP32 ("fcmpzuos", |
3254 | | OPCODE_INFO1 (0xf4000160, |
3255 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3256 | | CSKY_ISA_FLOAT_E1), |
3257 | | OP32 ("fcmphss", |
3258 | | OPCODE_INFO2 (0xf4000180, |
3259 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3260 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3261 | | CSKY_ISA_FLOAT_E1), |
3262 | | OP32 ("fcmplts", |
3263 | | OPCODE_INFO2 (0xf40001a0, |
3264 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3265 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3266 | | CSKY_ISA_FLOAT_E1), |
3267 | | OP32 ("fcmpnes", |
3268 | | OPCODE_INFO2 (0xf40001c0, |
3269 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3270 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3271 | | CSKY_ISA_FLOAT_E1), |
3272 | | OP32 ("fcmpuos", |
3273 | | OPCODE_INFO2 (0xf40001e0, |
3274 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3275 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3276 | | CSKY_ISA_FLOAT_E1), |
3277 | | OP32 ("fmuls", |
3278 | | OPCODE_INFO3 (0xf4000200, |
3279 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3280 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3281 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3282 | | CSKY_ISA_FLOAT_E1), |
3283 | | OP32 ("fmacs", |
3284 | | OPCODE_INFO3 (0xf4000280, |
3285 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3286 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3287 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3288 | | CSKY_ISA_FLOAT_E1), |
3289 | | OP32 ("fmscs", |
3290 | | OPCODE_INFO3 (0xf40002a0, |
3291 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3292 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3293 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3294 | | CSKY_ISA_FLOAT_E1), |
3295 | | OP32 ("fnmacs", |
3296 | | OPCODE_INFO3 (0xf40002c0, |
3297 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3298 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3299 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3300 | | CSKY_ISA_FLOAT_E1), |
3301 | | OP32 ("fnmscs", |
3302 | | OPCODE_INFO3 (0xf40002e0, |
3303 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3304 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3305 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3306 | | CSKY_ISA_FLOAT_E1), |
3307 | | OP32 ("fnmuls", |
3308 | | OPCODE_INFO3 (0xf4000220, |
3309 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3310 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3311 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3312 | | CSKY_ISA_FLOAT_E1), |
3313 | | OP32 ("fdivs", |
3314 | | OPCODE_INFO3 (0xf4000300, |
3315 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3316 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3317 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3318 | | CSKY_ISA_FLOAT_E1), |
3319 | | OP32 ("frecips", |
3320 | | OPCODE_INFO2 (0xf4000320, |
3321 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3322 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3323 | | CSKY_ISA_FLOAT_E1), |
3324 | | OP32 ("fsqrts", |
3325 | | OPCODE_INFO2 (0xf4000340, |
3326 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3327 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3328 | | CSKY_ISA_FLOAT_E1), |
3329 | | OP32 ("faddd", |
3330 | | OPCODE_INFO3 (0xf4000800, |
3331 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3332 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3333 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3334 | | CSKY_ISA_FLOAT_1E2), |
3335 | | OP32 ("fsubd", |
3336 | | OPCODE_INFO3 (0xf4000820, |
3337 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3338 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3339 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3340 | | CSKY_ISA_FLOAT_1E2), |
3341 | | OP32 ("fmovd", |
3342 | | OPCODE_INFO2 (0xf4000880, |
3343 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3344 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3345 | | CSKY_ISA_FLOAT_1E2), |
3346 | | OP32 ("fabsd", |
3347 | | OPCODE_INFO2 (0xf40008c0, |
3348 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3349 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3350 | | CSKY_ISA_FLOAT_1E2), |
3351 | | OP32 ("fnegd", |
3352 | | OPCODE_INFO2 (0xf40008e0, |
3353 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3354 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3355 | | CSKY_ISA_FLOAT_1E2), |
3356 | | OP32 ("fcmpzhsd", |
3357 | | OPCODE_INFO1 (0xf4000900, |
3358 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3359 | | CSKY_ISA_FLOAT_1E2), |
3360 | | OP32 ("fcmpzlsd", |
3361 | | OPCODE_INFO1 (0xf4000920, |
3362 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3363 | | CSKY_ISA_FLOAT_1E2), |
3364 | | OP32 ("fcmpzned", |
3365 | | OPCODE_INFO1 (0xf4000940, |
3366 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3367 | | CSKY_ISA_FLOAT_1E2), |
3368 | | OP32 ("fcmpzuod", |
3369 | | OPCODE_INFO1 (0xf4000960, |
3370 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3371 | | CSKY_ISA_FLOAT_1E2), |
3372 | | OP32 ("fcmphsd", |
3373 | | OPCODE_INFO2 (0xf4000980, |
3374 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3375 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3376 | | CSKY_ISA_FLOAT_1E2), |
3377 | | OP32 ("fcmpltd", |
3378 | | OPCODE_INFO2 (0xf40009a0, |
3379 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3380 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3381 | | CSKY_ISA_FLOAT_1E2), |
3382 | | OP32 ("fcmpned", |
3383 | | OPCODE_INFO2 (0xf40009c0, |
3384 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3385 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3386 | | CSKY_ISA_FLOAT_1E2), |
3387 | | OP32 ("fcmpuod", |
3388 | | OPCODE_INFO2 (0xf40009e0, |
3389 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3390 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3391 | | CSKY_ISA_FLOAT_1E2), |
3392 | | OP32 ("fmuld", |
3393 | | OPCODE_INFO3 (0xf4000a00, |
3394 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3395 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3396 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3397 | | CSKY_ISA_FLOAT_1E2), |
3398 | | OP32 ("fnmuld", |
3399 | | OPCODE_INFO3 (0xf4000a20, |
3400 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3401 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3402 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3403 | | CSKY_ISA_FLOAT_1E2), |
3404 | | OP32 ("fmacd", |
3405 | | OPCODE_INFO3 (0xf4000a80, |
3406 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3407 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3408 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3409 | | CSKY_ISA_FLOAT_1E2), |
3410 | | OP32 ("fmscd", |
3411 | | OPCODE_INFO3 (0xf4000aa0, |
3412 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3413 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3414 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3415 | | CSKY_ISA_FLOAT_1E2), |
3416 | | OP32 ("fnmacd", |
3417 | | OPCODE_INFO3 (0xf4000ac0, |
3418 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3419 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3420 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3421 | | CSKY_ISA_FLOAT_1E2), |
3422 | | OP32 ("fnmscd", |
3423 | | OPCODE_INFO3 (0xf4000ae0, |
3424 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3425 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3426 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3427 | | CSKY_ISA_FLOAT_1E2), |
3428 | | OP32 ("fdivd", |
3429 | | OPCODE_INFO3 (0xf4000b00, |
3430 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3431 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3432 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3433 | | CSKY_ISA_FLOAT_1E2), |
3434 | | OP32 ("frecipd", |
3435 | | OPCODE_INFO2 (0xf4000b20, |
3436 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3437 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3438 | | CSKY_ISA_FLOAT_1E2), |
3439 | | OP32 ("fsqrtd", |
3440 | | OPCODE_INFO2 (0xf4000b40, |
3441 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3442 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3443 | | CSKY_ISA_FLOAT_1E2), |
3444 | | OP32 ("faddm", |
3445 | | OPCODE_INFO3 (0xf4001000, |
3446 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3447 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3448 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3449 | | CSKY_ISA_FLOAT_1E2), |
3450 | | OP32 ("fsubm", |
3451 | | OPCODE_INFO3 (0xf4001020, |
3452 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3453 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3454 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3455 | | CSKY_ISA_FLOAT_1E2), |
3456 | | OP32 ("fmovm", |
3457 | | OPCODE_INFO2 (0xf4001080, |
3458 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3459 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3460 | | CSKY_ISA_FLOAT_1E2), |
3461 | | OP32 ("fabsm", |
3462 | | OPCODE_INFO2 (0xf40010c0, |
3463 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3464 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3465 | | CSKY_ISA_FLOAT_1E2), |
3466 | | OP32 ("fnegm", |
3467 | | OPCODE_INFO2 (0xf40010e0, |
3468 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3469 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3470 | | CSKY_ISA_FLOAT_1E2), |
3471 | | OP32 ("fmulm", |
3472 | | OPCODE_INFO3 (0xf4001200, |
3473 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3474 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3475 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3476 | | CSKY_ISA_FLOAT_1E2), |
3477 | | OP32 ("fnmulm", |
3478 | | OPCODE_INFO3 (0xf4001220, |
3479 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3480 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3481 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3482 | | CSKY_ISA_FLOAT_1E2), |
3483 | | OP32 ("fmacm", |
3484 | | OPCODE_INFO3 (0xf4001280, |
3485 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3486 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3487 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3488 | | CSKY_ISA_FLOAT_1E2), |
3489 | | OP32 ("fmscm", |
3490 | | OPCODE_INFO3 (0xf40012a0, |
3491 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3492 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3493 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3494 | | CSKY_ISA_FLOAT_1E2), |
3495 | | OP32 ("fnmacm", |
3496 | | OPCODE_INFO3 (0xf40012c0, |
3497 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3498 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3499 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3500 | | CSKY_ISA_FLOAT_1E2), |
3501 | | OP32 ("fnmscm", |
3502 | | OPCODE_INFO3 (0xf40012e0, |
3503 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3504 | | (16_19, FREG, OPRND_SHIFT_0_BIT), |
3505 | | (21_24, FREG, OPRND_SHIFT_0_BIT)), |
3506 | | CSKY_ISA_FLOAT_1E2), |
3507 | | OP32 ("fstosi.rn", |
3508 | | OPCODE_INFO2 (0xf4001800, |
3509 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3510 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3511 | | CSKY_ISA_FLOAT_E1), |
3512 | | OP32 ("fstosi.rz", |
3513 | | OPCODE_INFO2 (0xf4001820, |
3514 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3515 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3516 | | CSKY_ISA_FLOAT_E1), |
3517 | | OP32 ("fstosi.rpi", |
3518 | | OPCODE_INFO2 (0xf4001840, |
3519 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3520 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3521 | | CSKY_ISA_FLOAT_E1), |
3522 | | OP32 ("fstosi.rni", |
3523 | | OPCODE_INFO2 (0xf4001860, |
3524 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3525 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3526 | | CSKY_ISA_FLOAT_E1), |
3527 | | OP32 ("fstoui.rn", |
3528 | | OPCODE_INFO2 (0xf4001880, |
3529 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3530 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3531 | | CSKY_ISA_FLOAT_E1), |
3532 | | OP32 ("fstoui.rz", |
3533 | | OPCODE_INFO2 (0xf40018a0, |
3534 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3535 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3536 | | CSKY_ISA_FLOAT_E1), |
3537 | | OP32 ("fstoui.rpi", |
3538 | | OPCODE_INFO2 (0xf40018c0, |
3539 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3540 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3541 | | CSKY_ISA_FLOAT_E1), |
3542 | | OP32 ("fstoui.rni", |
3543 | | OPCODE_INFO2 (0xf40018e0, |
3544 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3545 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3546 | | CSKY_ISA_FLOAT_E1), |
3547 | | OP32 ("fdtosi.rn", |
3548 | | OPCODE_INFO2 (0xf4001900, |
3549 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3550 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3551 | | CSKY_ISA_FLOAT_1E2), |
3552 | | OP32 ("fdtosi.rz", |
3553 | | OPCODE_INFO2 (0xf4001920, |
3554 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3555 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3556 | | CSKY_ISA_FLOAT_1E2), |
3557 | | OP32 ("fdtosi.rpi", |
3558 | | OPCODE_INFO2 (0xf4001940, |
3559 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3560 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3561 | | CSKY_ISA_FLOAT_1E2), |
3562 | | OP32 ("fdtosi.rni", |
3563 | | OPCODE_INFO2 (0xf4001960, |
3564 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3565 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3566 | | CSKY_ISA_FLOAT_1E2), |
3567 | | OP32 ("fdtoui.rn", |
3568 | | OPCODE_INFO2 (0xf4001980, |
3569 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3570 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3571 | | CSKY_ISA_FLOAT_1E2), |
3572 | | OP32 ("fdtoui.rz", |
3573 | | OPCODE_INFO2 (0xf40019a0, |
3574 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3575 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3576 | | CSKY_ISA_FLOAT_1E2), |
3577 | | OP32 ("fdtoui.rpi", |
3578 | | OPCODE_INFO2 (0xf40019c0, |
3579 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3580 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3581 | | CSKY_ISA_FLOAT_1E2), |
3582 | | OP32 ("fdtoui.rni", |
3583 | | OPCODE_INFO2 (0xf40019e0, |
3584 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3585 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3586 | | CSKY_ISA_FLOAT_1E2), |
3587 | | OP32 ("fsitos", |
3588 | | OPCODE_INFO2 (0xf4001a00, |
3589 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3590 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3591 | | CSKY_ISA_FLOAT_E1), |
3592 | | OP32 ("fuitos", |
3593 | | OPCODE_INFO2 (0xf4001a20, |
3594 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3595 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3596 | | CSKY_ISA_FLOAT_E1), |
3597 | | OP32 ("fsitod", |
3598 | | OPCODE_INFO2 (0xf4001a80, |
3599 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3600 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3601 | | CSKY_ISA_FLOAT_1E2), |
3602 | | OP32 ("fuitod", |
3603 | | OPCODE_INFO2 (0xf4001aa0, |
3604 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3605 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3606 | | CSKY_ISA_FLOAT_1E2), |
3607 | | OP32 ("fdtos", |
3608 | | OPCODE_INFO2 (0xf4001ac0, |
3609 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3610 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3611 | | CSKY_ISA_FLOAT_1E2), |
3612 | | OP32 ("fstod", |
3613 | | OPCODE_INFO2 (0xf4001ae0, |
3614 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3615 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3616 | | CSKY_ISA_FLOAT_1E2), |
3617 | | OP32 ("fmfvrh", |
3618 | | OPCODE_INFO2 (0xf4001b00, |
3619 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3620 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3621 | | CSKY_ISA_FLOAT_1E2), |
3622 | | OP32 ("fmfvrl", |
3623 | | OPCODE_INFO2 (0xf4001b20, |
3624 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3625 | | (16_19, FREG, OPRND_SHIFT_0_BIT)), |
3626 | | CSKY_ISA_FLOAT_E1), |
3627 | | OP32 ("fmtvrh", |
3628 | | OPCODE_INFO2 (0xf4001b40, |
3629 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3630 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
3631 | | CSKY_ISA_FLOAT_1E2), |
3632 | | OP32 ("fmtvrl", |
3633 | | OPCODE_INFO2 (0xf4001b60, |
3634 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3635 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
3636 | | CSKY_ISA_FLOAT_E1), |
3637 | | OP32 ("flds", |
3638 | | SOPCODE_INFO2 (0xf4002000, |
3639 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3640 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3641 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_2_BIT))), |
3642 | | CSKY_ISA_FLOAT_E1), |
3643 | | OP32 ("fldd", |
3644 | | SOPCODE_INFO2 (0xf4002100, |
3645 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3646 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3647 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_2_BIT))), |
3648 | | CSKY_ISA_FLOAT_1E2), |
3649 | | OP32 ("fldm", |
3650 | | SOPCODE_INFO2 (0xf4002200, |
3651 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3652 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3653 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))), |
3654 | | CSKY_ISA_FLOAT_1E2), |
3655 | | OP32 ("fsts", |
3656 | | SOPCODE_INFO2 (0xf4002400, |
3657 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3658 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3659 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_2_BIT))), |
3660 | | CSKY_ISA_FLOAT_E1), |
3661 | | OP32 ("fstd", |
3662 | | SOPCODE_INFO2 (0xf4002500, |
3663 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3664 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3665 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_2_BIT))), |
3666 | | CSKY_ISA_FLOAT_1E2), |
3667 | | OP32 ("fstm", |
3668 | | SOPCODE_INFO2 (0xf4002600, |
3669 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3670 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3671 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))), |
3672 | | CSKY_ISA_FLOAT_1E2), |
3673 | | OP32 ("fldrs", |
3674 | | SOPCODE_INFO2 (0xf4002800, |
3675 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3676 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3677 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
3678 | | CSKY_ISA_FLOAT_E1), |
3679 | | OP32 ("fstrs", |
3680 | | SOPCODE_INFO2 (0xf4002c00, |
3681 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3682 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3683 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
3684 | | CSKY_ISA_FLOAT_E1), |
3685 | | OP32 ("fldrd", |
3686 | | SOPCODE_INFO2 (0xf4002900, |
3687 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3688 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3689 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
3690 | | CSKY_ISA_FLOAT_1E2), |
3691 | | OP32 ("fldrm", |
3692 | | SOPCODE_INFO2 (0xf4002a00, |
3693 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3694 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3695 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
3696 | | CSKY_ISA_FLOAT_1E2), |
3697 | | OP32 ("fstrd", |
3698 | | SOPCODE_INFO2 (0xf4002d00, |
3699 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3700 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3701 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
3702 | | CSKY_ISA_FLOAT_1E2), |
3703 | | OP32 ("fstrm", |
3704 | | SOPCODE_INFO2 (0xf4002e00, |
3705 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
3706 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3707 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
3708 | | CSKY_ISA_FLOAT_1E2), |
3709 | | OP32 ("fldms", |
3710 | | OPCODE_INFO2 (0xf4003000, |
3711 | | (0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
3712 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3713 | | CSKY_ISA_FLOAT_E1), |
3714 | | OP32 ("fldmd", |
3715 | | OPCODE_INFO2 (0xf4003100, |
3716 | | (0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
3717 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3718 | | CSKY_ISA_FLOAT_1E2), |
3719 | | OP32 ("fldmm", |
3720 | | OPCODE_INFO2 (0xf4003200, |
3721 | | (0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
3722 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3723 | | CSKY_ISA_FLOAT_1E2), |
3724 | | OP32 ("fstms", |
3725 | | OPCODE_INFO2 (0xf4003400, |
3726 | | (0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
3727 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3728 | | CSKY_ISA_FLOAT_E1), |
3729 | | OP32 ("fstmd", |
3730 | | OPCODE_INFO2 (0xf4003500, |
3731 | | (0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
3732 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3733 | | CSKY_ISA_FLOAT_1E2), |
3734 | | OP32 ("fstmm", |
3735 | | OPCODE_INFO2 (0xf4003600, |
3736 | | (0_3or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
3737 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
3738 | | CSKY_ISA_FLOAT_1E2), |
3739 | | DOP32 ("idly", |
3740 | | OPCODE_INFO1 (0xc0001c20, |
3741 | | (21_25, OIMM5b_IDLY, OPRND_SHIFT_0_BIT)), |
3742 | | OPCODE_INFO0 (0xc0601c20), |
3743 | | CSKYV2_ISA_E1), |
3744 | | |
3745 | | #undef _RELOC32 |
3746 | | #define _RELOC32 BFD_RELOC_CKCORE_PCREL_IMM18BY2 |
3747 | | OP32 ("grs", |
3748 | | OPCODE_INFO2 (0xcc0c0000, |
3749 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
3750 | | (0_17, IMM_OFF18b, OPRND_SHIFT_1_BIT)), |
3751 | | CSKYV2_ISA_2E3), |
3752 | | #undef _RELOC32 |
3753 | | #define _RELOC32 0 |
3754 | | DOP32 ("ixh", |
3755 | | OPCODE_INFO3 (0xc4000820, |
3756 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3757 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3758 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3759 | | OPCODE_INFO2 (0xc4000820, |
3760 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
3761 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3762 | | CSKYV2_ISA_1E2), |
3763 | | DOP32 ("ixw", |
3764 | | OPCODE_INFO3 (0xc4000840, |
3765 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3766 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3767 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3768 | | OPCODE_INFO2 (0xc4000840, |
3769 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
3770 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3771 | | CSKYV2_ISA_1E2), |
3772 | | OP32 ("ixd", |
3773 | | OPCODE_INFO3 (0xc4000880, |
3774 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3775 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3776 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3777 | | CSKYV2_ISA_2E3), |
3778 | | DOP32 ("divu", |
3779 | | OPCODE_INFO3 (0xc4008020, |
3780 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3781 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3782 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3783 | | OPCODE_INFO2 (0xc4008020, |
3784 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
3785 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3786 | | CSKYV2_ISA_2E3), |
3787 | | DOP32 ("divs", |
3788 | | OPCODE_INFO3 (0xc4008040, |
3789 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3790 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3791 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3792 | | OPCODE_INFO2 (0xc4008040, |
3793 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
3794 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
3795 | | CSKYV2_ISA_2E3), |
3796 | | OP32 ("pldr", |
3797 | | SOPCODE_INFO1 (0xd8006000, |
3798 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3799 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3800 | | CSKY_ISA_CACHE), |
3801 | | OP32 ("pldw", |
3802 | | SOPCODE_INFO1 (0xdc006000, |
3803 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
3804 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
3805 | | CSKY_ISA_CACHE), |
3806 | | OP32 ("cprgr", |
3807 | | SOPCODE_INFO2 (0xfc000000, |
3808 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3809 | | ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT), |
3810 | | (0_11 , IMM12b, OPRND_SHIFT_0_BIT))), |
3811 | | CSKYV2_ISA_E1), |
3812 | | OP32 ("cpwgr", |
3813 | | SOPCODE_INFO2 (0xfc001000, |
3814 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3815 | | ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT), |
3816 | | (0_11 , IMM12b, OPRND_SHIFT_0_BIT))), |
3817 | | CSKYV2_ISA_E1), |
3818 | | OP32 ("cprcr", |
3819 | | SOPCODE_INFO2 (0xfc002000, |
3820 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3821 | | ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT), |
3822 | | (0_11 , IMM12b, OPRND_SHIFT_0_BIT))), |
3823 | | CSKYV2_ISA_E1), |
3824 | | OP32 ("cpwcr", |
3825 | | SOPCODE_INFO2 (0xfc003000, |
3826 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3827 | | ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT), |
3828 | | (0_11 , IMM12b, OPRND_SHIFT_0_BIT))), |
3829 | | CSKYV2_ISA_E1), |
3830 | | OP32 ("cprc", |
3831 | | SOPCODE_INFO1 (0xfc004000, |
3832 | | ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT), |
3833 | | (0_11, IMM12b, OPRND_SHIFT_0_BIT))), |
3834 | | CSKYV2_ISA_E1), |
3835 | | OP32 ("cpop", |
3836 | | SOPCODE_INFO1 (0xfc008000, |
3837 | | ABRACKET_OPRND ((21_25, IMM5b, OPRND_SHIFT_0_BIT), |
3838 | | (0_14or16_20 , IMM15b, OPRND_SHIFT_0_BIT))), |
3839 | | CSKYV2_ISA_E1), |
3840 | | |
3841 | | OP16_OP32 ("push", |
3842 | | OPCODE_INFO_LIST (0x14c0, |
3843 | | (0_4, REGLIST_DASH_COMMA, OPRND_SHIFT_0_BIT)), |
3844 | | CSKYV2_ISA_E1, |
3845 | | OPCODE_INFO_LIST (0xebe00000, |
3846 | | (0_8, REGLIST_DASH_COMMA, OPRND_SHIFT_0_BIT)), |
3847 | | CSKYV2_ISA_2E3), |
3848 | | #undef _TRANSFER |
3849 | | #define _TRANSFER 2 |
3850 | | OP16_OP32 ("pop", |
3851 | | OPCODE_INFO_LIST (0x1480, |
3852 | | (0_4, REGLIST_DASH_COMMA, OPRND_SHIFT_0_BIT)), |
3853 | | CSKYV2_ISA_E1, |
3854 | | OPCODE_INFO_LIST (0xebc00000, |
3855 | | (0_8, REGLIST_DASH_COMMA, OPRND_SHIFT_0_BIT)), |
3856 | | CSKYV2_ISA_2E3), |
3857 | | #undef _TRANSFER |
3858 | | #define _TRANSFER 0 |
3859 | | OP16_OP32 ("movi", |
3860 | | OPCODE_INFO2 (0x3000, |
3861 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3862 | | (0_7, IMM8b, OPRND_SHIFT_0_BIT)), |
3863 | | CSKYV2_ISA_E1, |
3864 | | OPCODE_INFO2 (0xea000000, |
3865 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3866 | | (0_15, IMM16b, OPRND_SHIFT_0_BIT)), |
3867 | | CSKYV2_ISA_1E2), |
3868 | | /* bmaski will transfer to movi when imm < 17. */ |
3869 | | OP16_OP32 ("bmaski", |
3870 | | OPCODE_INFO2 (0x3000, |
3871 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3872 | | (0_7, IMM8b_BMASKI, OPRND_SHIFT_0_BIT)), |
3873 | | CSKYV2_ISA_1E2, |
3874 | | OPCODE_INFO2 (0xc4005020, |
3875 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3876 | | (21_25, OIMM5b_BMASKI, OPRND_SHIFT_0_BIT)), |
3877 | | CSKYV2_ISA_1E2), |
3878 | | OP16_OP32 ("cmphsi", |
3879 | | OPCODE_INFO2 (0x3800, |
3880 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3881 | | (0_4, OIMM5b, OPRND_SHIFT_0_BIT)), |
3882 | | CSKYV2_ISA_E1, |
3883 | | OPCODE_INFO2 (0xeb000000, |
3884 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3885 | | (0_15, OIMM16b, OPRND_SHIFT_0_BIT)), |
3886 | | CSKYV2_ISA_1E2), |
3887 | | OP16_OP32 ("cmplti", |
3888 | | OPCODE_INFO2 (0x3820, |
3889 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3890 | | (0_4, OIMM5b, OPRND_SHIFT_0_BIT)), |
3891 | | CSKYV2_ISA_E1, |
3892 | | OPCODE_INFO2 (0xeb200000, |
3893 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3894 | | (0_15, OIMM16b, OPRND_SHIFT_0_BIT)), |
3895 | | CSKYV2_ISA_1E2), |
3896 | | OP16_OP32 ("cmpnei", |
3897 | | OPCODE_INFO2 (0x3840, |
3898 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3899 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3900 | | CSKYV2_ISA_E1, |
3901 | | OPCODE_INFO2 (0xeb400000, |
3902 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3903 | | (0_15, IMM16b, OPRND_SHIFT_0_BIT)), |
3904 | | CSKYV2_ISA_1E2), |
3905 | | #undef _TRANSFER |
3906 | | #define _TRANSFER 1 |
3907 | | OP16_OP32 ("jmpix", |
3908 | | OPCODE_INFO2 (0x38e0, |
3909 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3910 | | (0_1, IMM2b_JMPIX, OPRND_SHIFT_0_BIT)), |
3911 | | CSKY_ISA_JAVA, |
3912 | | OPCODE_INFO2 (0xe9e00000, |
3913 | | (16_20, GREG0_7, OPRND_SHIFT_0_BIT), |
3914 | | (0_1, IMM2b_JMPIX, OPRND_SHIFT_0_BIT)), |
3915 | | CSKY_ISA_JAVA), |
3916 | | #undef _TRANSFER |
3917 | | #define _TRANSFER 0 |
3918 | | DOP16_DOP32 ("bclri", |
3919 | | OPCODE_INFO2 (0x3880, |
3920 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3921 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3922 | | OPCODE_INFO3 (0x3880, |
3923 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3924 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
3925 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3926 | | CSKYV2_ISA_E1, |
3927 | | OPCODE_INFO3 (0xc4002820, |
3928 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3929 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3930 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3931 | | OPCODE_INFO2 (0xc4002820, |
3932 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
3933 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3934 | | CSKYV2_ISA_1E2), |
3935 | | DOP16_DOP32 ("bseti", |
3936 | | OPCODE_INFO2 (0x38a0, |
3937 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3938 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3939 | | OPCODE_INFO3 (0x38a0, |
3940 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3941 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
3942 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3943 | | CSKYV2_ISA_E1, |
3944 | | OPCODE_INFO3 (0xc4002840, |
3945 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3946 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3947 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3948 | | OPCODE_INFO2 (0xc4002840, |
3949 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
3950 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3951 | | CSKYV2_ISA_1E2), |
3952 | | OP16_OP32_WITH_WORK ("btsti", |
3953 | | OPCODE_INFO2 (0x38c0, |
3954 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3955 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3956 | | CSKYV2_ISA_E1, |
3957 | | OPCODE_INFO2 (0xc4002880, |
3958 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3959 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3960 | | CSKYV2_ISA_1E2, v2_work_btsti), |
3961 | | DOP16_DOP32 ("lsli", |
3962 | | OPCODE_INFO3 (0x4000, |
3963 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
3964 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3965 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3966 | | OPCODE_INFO2 (0x4000, |
3967 | | (5_7or8_10, DUP_GREG0_7, OPRND_SHIFT_0_BIT), |
3968 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3969 | | CSKYV2_ISA_E1, |
3970 | | OPCODE_INFO3 (0xc4004820, |
3971 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3972 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3973 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3974 | | OPCODE_INFO2 (0xc4004820, |
3975 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
3976 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3977 | | CSKYV2_ISA_1E2), |
3978 | | DOP16_DOP32 ("lsri", |
3979 | | OPCODE_INFO3 (0x4800, |
3980 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
3981 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3982 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3983 | | OPCODE_INFO2 (0x4800, |
3984 | | (5_7or8_10, DUP_GREG0_7, OPRND_SHIFT_0_BIT), |
3985 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
3986 | | CSKYV2_ISA_E1, |
3987 | | OPCODE_INFO3 (0xc4004840, |
3988 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
3989 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
3990 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3991 | | OPCODE_INFO2 (0xc4004840, |
3992 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
3993 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
3994 | | CSKYV2_ISA_1E2), |
3995 | | OP16_OP32 ("asri", |
3996 | | OPCODE_INFO3 (0x5000, |
3997 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
3998 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
3999 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
4000 | | CSKYV2_ISA_E1, |
4001 | | OPCODE_INFO3 (0xc4004880, |
4002 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4003 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4004 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
4005 | | CSKYV2_ISA_1E2), |
4006 | | DOP16_DOP32_WITH_WORK ("addc", |
4007 | | OPCODE_INFO2 (0x6001, |
4008 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4009 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4010 | | OPCODE_INFO3 (0x6001, |
4011 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4012 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT), |
4013 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4014 | | CSKYV2_ISA_E1, |
4015 | | OPCODE_INFO3 (0xc4000040, |
4016 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4017 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4018 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4019 | | OPCODE_INFO2 (0xc4000040, |
4020 | | (0_4or16_20, AREG, OPRND_SHIFT_0_BIT), |
4021 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4022 | | CSKYV2_ISA_1E2, |
4023 | | v2_work_addc), |
4024 | | DOP16_DOP32 ("subc", |
4025 | | OPCODE_INFO2 (0x6003, |
4026 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4027 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4028 | | OPCODE_INFO3 (0x6003, |
4029 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4030 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
4031 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4032 | | CSKYV2_ISA_E1, |
4033 | | OPCODE_INFO3 (0xc4000100, |
4034 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4035 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4036 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4037 | | OPCODE_INFO2 (0xc4000100, |
4038 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4039 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4040 | | CSKYV2_ISA_1E2), |
4041 | | OP16_OP32 ("cmphs", |
4042 | | OPCODE_INFO2 (0x6400, |
4043 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT), |
4044 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT)), |
4045 | | CSKYV2_ISA_E1, |
4046 | | OPCODE_INFO2 (0xc4000420, |
4047 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4048 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4049 | | CSKYV2_ISA_2E3), |
4050 | | OP16_OP32 ("cmplt", |
4051 | | OPCODE_INFO2 (0x6401, |
4052 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT), |
4053 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT)), |
4054 | | CSKYV2_ISA_E1, |
4055 | | OPCODE_INFO2 (0xc4000440, |
4056 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4057 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4058 | | CSKYV2_ISA_2E3), |
4059 | | OP16_OP32 ("cmpne", |
4060 | | OPCODE_INFO2 (0x6402, |
4061 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT), |
4062 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT)), |
4063 | | CSKYV2_ISA_E1, |
4064 | | OPCODE_INFO2 (0xc4000480, |
4065 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4066 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4067 | | CSKYV2_ISA_2E3), |
4068 | | OP16_OP32 ("mvcv", |
4069 | | OPCODE_INFO1 (0x6403, |
4070 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT)), |
4071 | | CSKYV2_ISA_E1, |
4072 | | OPCODE_INFO1 (0xc4000600, |
4073 | | (0_4, AREG, OPRND_SHIFT_0_BIT)), |
4074 | | CSKYV2_ISA_2E3), |
4075 | | DOP16_DOP32 ("and", |
4076 | | OPCODE_INFO2 (0x6800, |
4077 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4078 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4079 | | OPCODE_INFO3 (0x6800, |
4080 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4081 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT), |
4082 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)), |
4083 | | CSKYV2_ISA_E1, |
4084 | | OPCODE_INFO3 (0xc4002020, |
4085 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4086 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4087 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4088 | | OPCODE_INFO2 (0xc4002020, |
4089 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4090 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4091 | | CSKYV2_ISA_1E2), |
4092 | | DOP16_DOP32 ("andn", |
4093 | | OPCODE_INFO2 (0x6801, |
4094 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4095 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4096 | | OPCODE_INFO3 (0x6801, |
4097 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4098 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
4099 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4100 | | CSKYV2_ISA_E1, |
4101 | | OPCODE_INFO3 (0xc4002040, |
4102 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4103 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4104 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4105 | | OPCODE_INFO2 (0xc4002040, |
4106 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4107 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4108 | | CSKYV2_ISA_1E2), |
4109 | | OP16_OP32 ("tst", |
4110 | | OPCODE_INFO2 (0x6802, |
4111 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT), |
4112 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT)), |
4113 | | CSKYV2_ISA_E1, |
4114 | | OPCODE_INFO2 (0xc4002080, |
4115 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4116 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4117 | | CSKYV2_ISA_2E3), |
4118 | | OP16_OP32 ("tstnbz", |
4119 | | OPCODE_INFO1 (0x6803, |
4120 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4121 | | CSKYV2_ISA_E1, |
4122 | | OPCODE_INFO1 (0xc4002100, |
4123 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4124 | | CSKYV2_ISA_2E3), |
4125 | | DOP16_DOP32 ("or", |
4126 | | OPCODE_INFO2 (0x6c00, |
4127 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4128 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4129 | | OPCODE_INFO3 (0x6c00, |
4130 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4131 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT), |
4132 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)), |
4133 | | CSKYV2_ISA_E1, |
4134 | | OPCODE_INFO3 (0xc4002420, |
4135 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4136 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4137 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4138 | | OPCODE_INFO2 (0xc4002420, |
4139 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4140 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4141 | | CSKYV2_ISA_1E2), |
4142 | | DOP16_DOP32 ("xor", |
4143 | | OPCODE_INFO2 (0x6c01, |
4144 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4145 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4146 | | OPCODE_INFO3 (0x6c01, |
4147 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4148 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT), |
4149 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)), |
4150 | | CSKYV2_ISA_E1, |
4151 | | OPCODE_INFO3 (0xc4002440, |
4152 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4153 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4154 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4155 | | OPCODE_INFO2 (0xc4002440, |
4156 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4157 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4158 | | CSKYV2_ISA_1E2), |
4159 | | DOP16_DOP32 ("nor", |
4160 | | OPCODE_INFO2 (0x6c02, |
4161 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4162 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4163 | | OPCODE_INFO3 (0x6c02, |
4164 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4165 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT), |
4166 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)), |
4167 | | CSKYV2_ISA_E1, |
4168 | | OPCODE_INFO3 (0xc4002480, |
4169 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4170 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4171 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4172 | | OPCODE_INFO2 (0xc4002480, |
4173 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4174 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4175 | | CSKYV2_ISA_1E2), |
4176 | | OP16_OP32 ("mov", |
4177 | | OPCODE_INFO2 (0x6c03, |
4178 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4179 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4180 | | CSKYV2_ISA_E1, |
4181 | | OPCODE_INFO2 (0xc4004820, |
4182 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4183 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4184 | | CSKYV2_ISA_1E2), |
4185 | | OP16_OP32 ("nop", |
4186 | | OPCODE_INFO0 (0x6c03), |
4187 | | CSKYV2_ISA_E1, |
4188 | | OPCODE_INFO0 (0xc4004820), |
4189 | | CSKYV2_ISA_E1), |
4190 | | DOP16_DOP32 ("lsl", |
4191 | | OPCODE_INFO2 (0x7000, |
4192 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4193 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4194 | | OPCODE_INFO3 (0x7000, |
4195 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4196 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
4197 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4198 | | CSKYV2_ISA_E1, |
4199 | | OPCODE_INFO3 (0xc4004020, |
4200 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4201 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4202 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4203 | | OPCODE_INFO2 (0xc4004020, |
4204 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4205 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4206 | | CSKYV2_ISA_1E2), |
4207 | | DOP16_DOP32 ("lsr", |
4208 | | OPCODE_INFO2 (0x7001, |
4209 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4210 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4211 | | OPCODE_INFO3 (0x7001, |
4212 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4213 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
4214 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4215 | | CSKYV2_ISA_E1, |
4216 | | OPCODE_INFO3 (0xc4004040, |
4217 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4218 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4219 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4220 | | OPCODE_INFO2 (0xc4004040, |
4221 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4222 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4223 | | CSKYV2_ISA_1E2), |
4224 | | DOP16_DOP32 ("asr", |
4225 | | OPCODE_INFO2 (0x7002, |
4226 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4227 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4228 | | OPCODE_INFO3 (0x7002, |
4229 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4230 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
4231 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4232 | | CSKYV2_ISA_E1, |
4233 | | OPCODE_INFO3 (0xc4004080, |
4234 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4235 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4236 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4237 | | OPCODE_INFO2 (0xc4004080, |
4238 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4239 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4240 | | CSKYV2_ISA_1E2), |
4241 | | DOP16_DOP32 ("rotl", |
4242 | | OPCODE_INFO2 (0x7003, |
4243 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4244 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4245 | | OPCODE_INFO3 (0x7003, |
4246 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4247 | | (NONE, DUMMY_REG, OPRND_SHIFT_0_BIT), |
4248 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4249 | | CSKYV2_ISA_E1, |
4250 | | OPCODE_INFO3 (0xc4004100, |
4251 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4252 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4253 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4254 | | OPCODE_INFO2 (0xc4004100, |
4255 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4256 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4257 | | CSKYV2_ISA_1E2), |
4258 | | DOP16_DOP32 ("zextb", |
4259 | | OPCODE_INFO2 (0x7400, |
4260 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4261 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4262 | | OPCODE_INFO1 (0x7400, |
4263 | | (2_5or6_9, DUP_GREG0_15, OPRND_SHIFT_0_BIT)), |
4264 | | CSKYV2_ISA_E1, |
4265 | | OPCODE_INFO2 (0xc40054e0, |
4266 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4267 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4268 | | OPCODE_INFO1 (0xc40054e0, |
4269 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
4270 | | CSKYV2_ISA_2E3), |
4271 | | DOP16_DOP32 ("zexth", |
4272 | | OPCODE_INFO2 (0x7401, |
4273 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4274 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4275 | | OPCODE_INFO1 (0x7401, |
4276 | | (2_5or6_9, DUP_GREG0_15, OPRND_SHIFT_0_BIT)), |
4277 | | CSKYV2_ISA_E1, |
4278 | | OPCODE_INFO2 (0xc40055e0, |
4279 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4280 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4281 | | OPCODE_INFO1 (0xc40055e0, |
4282 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
4283 | | CSKYV2_ISA_2E3), |
4284 | | DOP16_DOP32 ("sextb", |
4285 | | OPCODE_INFO2 (0x7402, |
4286 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4287 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4288 | | OPCODE_INFO1 (0x7402, |
4289 | | (2_5or6_9, DUP_GREG0_15, OPRND_SHIFT_0_BIT)), |
4290 | | CSKYV2_ISA_E1, |
4291 | | OPCODE_INFO2 (0xc40058e0, |
4292 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4293 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4294 | | OPCODE_INFO1 (0xc40058e0, |
4295 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
4296 | | CSKYV2_ISA_2E3), |
4297 | | DOP16_DOP32 ("sexth", |
4298 | | OPCODE_INFO2 (0x7403, |
4299 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4300 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4301 | | OPCODE_INFO1 (0x7403, |
4302 | | (2_5or6_9, DUP_GREG0_15, OPRND_SHIFT_0_BIT)), |
4303 | | CSKYV2_ISA_E1, |
4304 | | OPCODE_INFO2 (0xc40059e0, |
4305 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4306 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4307 | | OPCODE_INFO1 (0xc40059e0, |
4308 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
4309 | | CSKYV2_ISA_2E3), |
4310 | | OP32 ("zext", |
4311 | | OPCODE_INFO4 (0xc4005400, |
4312 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4313 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4314 | | (5_9, IMM5b, OPRND_SHIFT_0_BIT), |
4315 | | (21_25, IMM5b_LS, OPRND_SHIFT_0_BIT)), |
4316 | | CSKYV2_ISA_2E3), |
4317 | | OP32 ("sext", |
4318 | | OPCODE_INFO4 (0xc4005800, |
4319 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4320 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4321 | | (5_9, IMM5b, OPRND_SHIFT_0_BIT), |
4322 | | (21_25, IMM5b_LS, OPRND_SHIFT_0_BIT)), |
4323 | | CSKYV2_ISA_2E3), |
4324 | | #undef _TRANSFER |
4325 | | #define _TRANSFER 2 |
4326 | | OP16_OP32 ("rts", |
4327 | | OPCODE_INFO0 (0x783c), |
4328 | | CSKYV2_ISA_E1, |
4329 | | OPCODE_INFO0 (0xe8cf0000), |
4330 | | CSKYV2_ISA_E1), |
4331 | | #undef _TRANSFER |
4332 | | #define _TRANSFER 1 |
4333 | | OP16_OP32 ("jmp", |
4334 | | OPCODE_INFO1 (0x7800, |
4335 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4336 | | CSKYV2_ISA_E1, |
4337 | | OPCODE_INFO1 (0xe8c00000, |
4338 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4339 | | CSKYV2_ISA_2E3), |
4340 | | #undef _TRANSFER |
4341 | | #define _TRANSFER 0 |
4342 | | OP16_OP32 ("revb", |
4343 | | OPCODE_INFO2 (0x7802, |
4344 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4345 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4346 | | CSKYV2_ISA_1E2, |
4347 | | OPCODE_INFO2 (0xc4006080, |
4348 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4349 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4350 | | CSKYV2_ISA_2E3), |
4351 | | OP16_OP32 ("revh", |
4352 | | OPCODE_INFO2 (0x7803, |
4353 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4354 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4355 | | CSKYV2_ISA_1E2, |
4356 | | OPCODE_INFO2 (0xc4006100, |
4357 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4358 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4359 | | CSKYV2_ISA_2E3), |
4360 | | OP16_OP32 ("jsr", |
4361 | | OPCODE_INFO1 (0x7bc1, |
4362 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4363 | | CSKYV2_ISA_E1, |
4364 | | OPCODE_INFO1 (0xe8e00000, |
4365 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
4366 | | CSKYV2_ISA_2E3), |
4367 | | DOP16_DOP32 ("mult", |
4368 | | OPCODE_INFO2 (0x7c00, |
4369 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4370 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4371 | | OPCODE_INFO3 (0x7c00, |
4372 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4373 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT), |
4374 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)), |
4375 | | CSKYV2_ISA_E1, |
4376 | | OPCODE_INFO3 (0xc4008420, |
4377 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4378 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4379 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4380 | | OPCODE_INFO2 (0xc4008420, |
4381 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4382 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4383 | | CSKYV2_ISA_1E2), |
4384 | | OP16 ("mul", |
4385 | | OPCODE_INFO2 (0x7c00, |
4386 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4387 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4388 | | CSKYV2_ISA_E1), |
4389 | | DOP16_DOP32 ("mulsh", |
4390 | | OPCODE_INFO2 (0x7c01, |
4391 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4392 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4393 | | OPCODE_INFO3 (0x7c01, |
4394 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4395 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT), |
4396 | | (2_5, 2IN1_DUMMY, OPRND_SHIFT_0_BIT)), |
4397 | | CSKYV2_ISA_2E3, |
4398 | | OPCODE_INFO3 (0xc4009020, |
4399 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4400 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4401 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4402 | | OPCODE_INFO2 (0xc4009020, |
4403 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4404 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4405 | | CSKYV2_ISA_2E3), |
4406 | | OP16 ("muls.h", |
4407 | | OPCODE_INFO2 (0x7c01, |
4408 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4409 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4410 | | CSKYV2_ISA_2E3), |
4411 | | DOP32 ("mulsw", |
4412 | | OPCODE_INFO3 (0xc4009420, |
4413 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4414 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4415 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4416 | | OPCODE_INFO2 (0xc4009420, |
4417 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4418 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4419 | | CSKY_ISA_DSPE60), |
4420 | | OP16_OP32 ("ld.b", |
4421 | | SOPCODE_INFO2 (0x8000, |
4422 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4423 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4424 | | (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4425 | | CSKYV2_ISA_E1, |
4426 | | SOPCODE_INFO2 (0xd8000000, |
4427 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4428 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4429 | | (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4430 | | CSKYV2_ISA_E1), |
4431 | | OP16_OP32 ("ldb", |
4432 | | SOPCODE_INFO2 (0x8000, |
4433 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4434 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4435 | | (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4436 | | CSKYV2_ISA_E1, |
4437 | | SOPCODE_INFO2 (0xd8000000, |
4438 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4439 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4440 | | (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4441 | | CSKYV2_ISA_E1), |
4442 | | OP16_OP32 ("st.b", |
4443 | | SOPCODE_INFO2 (0xa000, |
4444 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4445 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4446 | | (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4447 | | CSKYV2_ISA_E1, |
4448 | | SOPCODE_INFO2 (0xdc000000, |
4449 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4450 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4451 | | (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4452 | | CSKYV2_ISA_E1), |
4453 | | OP16_OP32 ("stb", |
4454 | | SOPCODE_INFO2 (0xa000, |
4455 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4456 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4457 | | (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4458 | | CSKYV2_ISA_E1, |
4459 | | SOPCODE_INFO2 (0xdc000000, |
4460 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4461 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4462 | | (0_11, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4463 | | CSKYV2_ISA_E1), |
4464 | | |
4465 | | OP16_OP32 ("ld.h", |
4466 | | SOPCODE_INFO2 (0x8800, |
4467 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4468 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4469 | | (0_4, IMM_LDST, OPRND_SHIFT_1_BIT))), |
4470 | | CSKYV2_ISA_E1, |
4471 | | SOPCODE_INFO2 (0xd8001000, |
4472 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4473 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4474 | | (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))), |
4475 | | CSKYV2_ISA_E1), |
4476 | | OP16_OP32 ("ldh", |
4477 | | SOPCODE_INFO2 (0x8800, |
4478 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4479 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4480 | | (0_4, IMM_LDST, OPRND_SHIFT_1_BIT))), |
4481 | | CSKYV2_ISA_E1, |
4482 | | SOPCODE_INFO2 (0xd8001000, |
4483 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4484 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4485 | | (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))), |
4486 | | CSKYV2_ISA_E1), |
4487 | | OP16_OP32 ("st.h", |
4488 | | SOPCODE_INFO2 (0xa800, |
4489 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4490 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4491 | | (0_4, IMM_LDST, OPRND_SHIFT_1_BIT))), |
4492 | | CSKYV2_ISA_E1, |
4493 | | SOPCODE_INFO2 (0xdc001000, |
4494 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4495 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4496 | | (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))), |
4497 | | CSKYV2_ISA_E1), |
4498 | | OP16_OP32 ("sth", |
4499 | | SOPCODE_INFO2 (0xa800, |
4500 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4501 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4502 | | (0_4, IMM_LDST, OPRND_SHIFT_1_BIT))), |
4503 | | CSKYV2_ISA_E1, |
4504 | | SOPCODE_INFO2 (0xdc001000, |
4505 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4506 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4507 | | (0_11, IMM_LDST, OPRND_SHIFT_1_BIT))), |
4508 | | CSKYV2_ISA_E1), |
4509 | | DOP16_OP32 ("ld.w", |
4510 | | SOPCODE_INFO2 (0x9000, |
4511 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4512 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4513 | | (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4514 | | SOPCODE_INFO2 (0x9800, |
4515 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4516 | | BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT), |
4517 | | (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4518 | | CSKYV2_ISA_E1, |
4519 | | SOPCODE_INFO2 (0xd8002000, |
4520 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4521 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4522 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4523 | | CSKYV2_ISA_E1), |
4524 | | DOP16_OP32 ("ldw", |
4525 | | SOPCODE_INFO2 (0x9000, |
4526 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4527 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4528 | | (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4529 | | SOPCODE_INFO2 (0x9800, |
4530 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4531 | | BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT), |
4532 | | (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4533 | | CSKYV2_ISA_E1, |
4534 | | SOPCODE_INFO2 (0xd8002000, |
4535 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4536 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4537 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4538 | | CSKYV2_ISA_E1), |
4539 | | DOP16_OP32 ("ld", |
4540 | | SOPCODE_INFO2 (0x9000, |
4541 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4542 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4543 | | (0_4, IMM_LDST, OPRND_SHIFT_0_BIT))), |
4544 | | SOPCODE_INFO2 (0x9800, |
4545 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4546 | | BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT), |
4547 | | (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4548 | | CSKYV2_ISA_E1, |
4549 | | SOPCODE_INFO2 (0xd8002000, |
4550 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4551 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4552 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4553 | | CSKYV2_ISA_E1), |
4554 | | DOP16_OP32 ("st.w", |
4555 | | SOPCODE_INFO2 (0xb000, |
4556 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4557 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4558 | | (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4559 | | SOPCODE_INFO2 (0xb800, |
4560 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4561 | | BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT), |
4562 | | (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4563 | | CSKYV2_ISA_E1, |
4564 | | SOPCODE_INFO2 (0xdc002000, |
4565 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4566 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4567 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4568 | | CSKYV2_ISA_E1), |
4569 | | DOP16_OP32 ("stw", |
4570 | | SOPCODE_INFO2 (0xb000, |
4571 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4572 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4573 | | (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4574 | | SOPCODE_INFO2 (0xb800, |
4575 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4576 | | BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT), |
4577 | | (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4578 | | CSKYV2_ISA_E1, |
4579 | | SOPCODE_INFO2 (0xdc002000, |
4580 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4581 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4582 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4583 | | CSKYV2_ISA_E1), |
4584 | | DOP16_OP32 ("st", |
4585 | | SOPCODE_INFO2 (0xb000, |
4586 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4587 | | BRACKET_OPRND ((8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4588 | | (0_4, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4589 | | SOPCODE_INFO2 (0xb800, |
4590 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4591 | | BRACKET_OPRND ((NONE, REGsp, OPRND_SHIFT_0_BIT), |
4592 | | (0_4or8_10, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4593 | | CSKYV2_ISA_E1, |
4594 | | SOPCODE_INFO2 (0xdc002000, |
4595 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4596 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
4597 | | (0_11, IMM_LDST, OPRND_SHIFT_2_BIT))), |
4598 | | CSKYV2_ISA_E1), |
4599 | | #ifdef BUILD_AS |
4600 | | DOP16_DOP32_WITH_WORK ("addi", |
4601 | | OPCODE_INFO2 (0x2000, |
4602 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4603 | | (NONE, IMM32b, OPRND_SHIFT_0_BIT)), |
4604 | | OPCODE_INFO3 (0x2000, |
4605 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4606 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4607 | | (NONE, IMM32b, OPRND_SHIFT_0_BIT)), |
4608 | | CSKYV2_ISA_E1, |
4609 | | OPCODE_INFO2 (0xe4000000, |
4610 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4611 | | (NONE, IMM32b, OPRND_SHIFT_0_BIT)), |
4612 | | OPCODE_INFO3 (0xe4000000, |
4613 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4614 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4615 | | (NONE, IMM32b, OPRND_SHIFT_0_BIT)), |
4616 | | CSKYV2_ISA_1E2, |
4617 | | v2_work_addi), |
4618 | | #else |
4619 | | DOP16 ("addi", |
4620 | | OPCODE_INFO2 (0x2000, |
4621 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4622 | | (0_7, OIMM8b, OPRND_SHIFT_0_BIT)), |
4623 | | OPCODE_INFO3 (0x5802, |
4624 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4625 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4626 | | (2_4, OIMM3b, OPRND_SHIFT_0_BIT)), |
4627 | | CSKYV2_ISA_E1), |
4628 | | DOP16 ("addi", |
4629 | | OPCODE_INFO3 (0x1800, |
4630 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4631 | | (NONE, REGsp, OPRND_SHIFT_0_BIT), |
4632 | | (0_7, IMM8b_LS2, OPRND_SHIFT_0_BIT)), |
4633 | | OPCODE_INFO3 (0x1400, |
4634 | | (NONE, REGsp, OPRND_SHIFT_0_BIT), |
4635 | | (NONE, REGsp, OPRND_SHIFT_0_BIT), |
4636 | | (0_4or8_9, IMM7b_LS2, OPRND_SHIFT_0_BIT)), |
4637 | | CSKYV2_ISA_E1), |
4638 | | DOP32 ("addi", |
4639 | | OPCODE_INFO3 (0xe4000000, |
4640 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4641 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4642 | | (0_11, OIMM12b, OPRND_SHIFT_0_BIT)), |
4643 | | OPCODE_INFO3 (0xcc1c0000, |
4644 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4645 | | (NONE, REG_r28, OPRND_SHIFT_0_BIT), |
4646 | | (0_17, OIMM18b, OPRND_SHIFT_0_BIT)), |
4647 | | CSKYV2_ISA_1E2), |
4648 | | #endif |
4649 | | #ifdef BUILD_AS |
4650 | | DOP16_DOP32_WITH_WORK ("subi", |
4651 | | OPCODE_INFO2 (0x2800, |
4652 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4653 | | (NONE, IMM32b, OPRND_SHIFT_0_BIT)), |
4654 | | OPCODE_INFO3 (0x2800, |
4655 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4656 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4657 | | (NONE, IMM32b, OPRND_SHIFT_0_BIT)), |
4658 | | CSKYV2_ISA_E1, |
4659 | | OPCODE_INFO2 (0xe4001000, |
4660 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4661 | | (NONE, IMM32b, OPRND_SHIFT_0_BIT)), |
4662 | | OPCODE_INFO3 (0xe4001000, |
4663 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4664 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
4665 | | (NONE, IMM32b, OPRND_SHIFT_0_BIT)), |
4666 | | CSKYV2_ISA_1E2, v2_work_subi), |
4667 | | #else |
4668 | | DOP16 ("subi", |
4669 | | OPCODE_INFO2 (0x2800, |
4670 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4671 | | (0_7, OIMM8b, OPRND_SHIFT_0_BIT)), |
4672 | | OPCODE_INFO3 (0x5803, |
4673 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4674 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4675 | | (2_4, OIMM3b, OPRND_SHIFT_0_BIT)), |
4676 | | CSKYV2_ISA_E1), |
4677 | | OP32 ("subi", |
4678 | | OPCODE_INFO3 (0xe4001000, |
4679 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4680 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4681 | | (0_11, OIMM12b, OPRND_SHIFT_0_BIT)), |
4682 | | CSKYV2_ISA_1E2), |
4683 | | OP16 ("subi", |
4684 | | OPCODE_INFO3 (0x1420, |
4685 | | (NONE, REGsp, OPRND_SHIFT_0_BIT), |
4686 | | (NONE, REGsp, OPRND_SHIFT_0_BIT), |
4687 | | (0_4or8_9, IMM7b_LS2, OPRND_SHIFT_0_BIT)), |
4688 | | CSKYV2_ISA_E1), |
4689 | | #endif |
4690 | | DOP16_DOP32_WITH_WORK ("addu", |
4691 | | OPCODE_INFO2 (0x6000, |
4692 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4693 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4694 | | OPCODE_INFO3 (0x5800, |
4695 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4696 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4697 | | (2_4, GREG0_7, OPRND_SHIFT_0_BIT)), |
4698 | | CSKYV2_ISA_E1, |
4699 | | OPCODE_INFO3 (0xc4000020, |
4700 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4701 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4702 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4703 | | OPCODE_INFO2 (0xc4000020, |
4704 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4705 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4706 | | CSKYV2_ISA_E1, |
4707 | | v2_work_add_sub), |
4708 | | DOP16_DOP32_WITH_WORK ("add", |
4709 | | OPCODE_INFO2 (0x6000, |
4710 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4711 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4712 | | OPCODE_INFO3 (0x5800, |
4713 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4714 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4715 | | (2_4, GREG0_7, OPRND_SHIFT_0_BIT)), |
4716 | | CSKYV2_ISA_E1, |
4717 | | OPCODE_INFO3 (0xc4000020, |
4718 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4719 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4720 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4721 | | OPCODE_INFO2 (0xc4000020, |
4722 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4723 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4724 | | CSKYV2_ISA_E1, |
4725 | | v2_work_add_sub), |
4726 | | DOP16_DOP32_WITH_WORK ("subu", |
4727 | | OPCODE_INFO2 (0x6002, |
4728 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4729 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4730 | | OPCODE_INFO3 (0x5801, |
4731 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4732 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4733 | | (2_4, GREG0_7, OPRND_SHIFT_0_BIT)), |
4734 | | CSKYV2_ISA_E1, |
4735 | | OPCODE_INFO3 (0xc4000080, |
4736 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4737 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4738 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4739 | | OPCODE_INFO2 (0xc4000080, |
4740 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4741 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4742 | | CSKYV2_ISA_E1, |
4743 | | v2_work_add_sub), |
4744 | | DOP16_DOP32_WITH_WORK ("sub", |
4745 | | OPCODE_INFO2 (0x6002, |
4746 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
4747 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
4748 | | OPCODE_INFO3 (0x5801, |
4749 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4750 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
4751 | | (2_4, GREG0_7, OPRND_SHIFT_0_BIT)), |
4752 | | CSKYV2_ISA_E1, |
4753 | | OPCODE_INFO3 (0xc4000080, |
4754 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
4755 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4756 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4757 | | OPCODE_INFO2 (0xc4000080, |
4758 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
4759 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
4760 | | CSKYV2_ISA_E1, |
4761 | | v2_work_add_sub), |
4762 | | OP32_WITH_WORK ("fmovis", |
4763 | | OPCODE_INFO2 (0xf4001c00, |
4764 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
4765 | | (4_7or16_24, SFLOAT, OPRND_SHIFT_2_BIT)), |
4766 | | CSKY_ISA_FLOAT_1E3, |
4767 | | float_work_fmovi), |
4768 | | OP32_WITH_WORK ("fmovid", |
4769 | | OPCODE_INFO2 (0xf4001e00, |
4770 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
4771 | | (4_7or16_24, DFLOAT, OPRND_SHIFT_2_BIT)), |
4772 | | CSKY_ISA_FLOAT_3E4, |
4773 | | float_work_fmovi), |
4774 | | #undef _RELOC32 |
4775 | | #define _RELOC32 BFD_RELOC_CKCORE_PCREL_IMM26BY2 |
4776 | | OP32 ("bsr", |
4777 | | OPCODE_INFO1 (0xe0000000, |
4778 | | (0_25, OFF26b, OPRND_SHIFT_1_BIT)), |
4779 | | CSKYV2_ISA_E1), |
4780 | | #undef _RELOC32 |
4781 | | #define _RELOC32 BFD_RELOC_CKCORE_DOFFSET_IMM18 |
4782 | | OP32 ("lrs.b", |
4783 | | OPCODE_INFO2 (0xcc000000, |
4784 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4785 | | (0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
4786 | | CSKYV2_ISA_2E3), |
4787 | | OP32 ("srs.b", |
4788 | | OPCODE_INFO2 (0xcc100000, |
4789 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4790 | | (0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
4791 | | CSKYV2_ISA_2E3), |
4792 | | #undef _RELOC32 |
4793 | | #define _RELOC32 BFD_RELOC_CKCORE_DOFFSET_IMM18BY2 |
4794 | | OP32 ("lrs.h", |
4795 | | OPCODE_INFO2 (0xcc040000, |
4796 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4797 | | (0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
4798 | | CSKYV2_ISA_2E3), |
4799 | | OP32 ("srs.h", |
4800 | | OPCODE_INFO2 (0xcc140000, |
4801 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4802 | | (0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
4803 | | CSKYV2_ISA_2E3), |
4804 | | #undef _RELOC32 |
4805 | | #define _RELOC32 BFD_RELOC_CKCORE_PCREL_FLRW_IMM8BY4 |
4806 | | OP32 ("flrws", |
4807 | | OPCODE_INFO2 (0xf4003800, |
4808 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
4809 | | (4_7or21_24, FCONSTANT, OPRND_SHIFT_2_BIT)), |
4810 | | CSKY_ISA_FLOAT_1E3), |
4811 | | OP32 ("flrwd", |
4812 | | OPCODE_INFO2 (0xf4003900, |
4813 | | (0_3, FREG, OPRND_SHIFT_0_BIT), |
4814 | | (4_7or21_24, FCONSTANT, OPRND_SHIFT_2_BIT)), |
4815 | | CSKY_ISA_FLOAT_3E4), |
4816 | | #undef _RELOC32 |
4817 | | #define _RELOC32 BFD_RELOC_CKCORE_DOFFSET_IMM18BY4 |
4818 | | OP32_WITH_WORK ("lrs.w", |
4819 | | OPCODE_INFO2 (0xcc080000, |
4820 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4821 | | (0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
4822 | | CSKYV2_ISA_2E3, |
4823 | | v2_work_lrsrsw), |
4824 | | OP32_WITH_WORK ("srs.w", |
4825 | | OPCODE_INFO2 (0xcc180000, |
4826 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4827 | | (0_17, LABEL_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
4828 | | CSKYV2_ISA_2E3, |
4829 | | v2_work_lrsrsw), |
4830 | | |
4831 | | #undef _RELOC32 |
4832 | | #define _RELOC32 BFD_RELOC_CKCORE_PCREL_IMM16BY4 |
4833 | | OP32_WITH_WORK ("jsri", |
4834 | | OPCODE_INFO1 (0xeae00000, |
4835 | | (0_15, OFF16b, OPRND_SHIFT_2_BIT)), |
4836 | | CSKYV2_ISA_2E3, |
4837 | | v2_work_jsri), |
4838 | | #undef _RELOC32 |
4839 | | #define _RELOC32 BFD_RELOC_CKCORE_PCREL_IMM16BY2 |
4840 | | OP32 ("bez", |
4841 | | OPCODE_INFO2 (0xe9000000, |
4842 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4843 | | (0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)), |
4844 | | CSKYV2_ISA_2E3), |
4845 | | OP32 ("bnez", |
4846 | | OPCODE_INFO2 (0xe9200000, |
4847 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4848 | | (0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)), |
4849 | | CSKYV2_ISA_2E3), |
4850 | | OP32 ("bhz", |
4851 | | OPCODE_INFO2 (0xe9400000, |
4852 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4853 | | (0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)), |
4854 | | CSKYV2_ISA_2E3), |
4855 | | OP32 ("blsz", |
4856 | | OPCODE_INFO2 (0xe9600000, |
4857 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4858 | | (0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)), |
4859 | | CSKYV2_ISA_2E3), |
4860 | | OP32 ("blz", |
4861 | | OPCODE_INFO2 (0xe9800000, |
4862 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4863 | | (0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)), |
4864 | | CSKYV2_ISA_2E3), |
4865 | | OP32 ("bhsz", |
4866 | | OPCODE_INFO2 (0xe9a00000, |
4867 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4868 | | (0_15, OFF16b_LSL1, OPRND_SHIFT_1_BIT)), |
4869 | | CSKYV2_ISA_2E3), |
4870 | | #undef _RELAX |
4871 | | #undef _RELOC16 |
4872 | | #undef _TRANSFER |
4873 | | #define _TRANSFER 1 |
4874 | | #define _RELAX 1 |
4875 | | #define _RELOC16 BFD_RELOC_CKCORE_PCREL_IMM10BY2 |
4876 | | OP16_OP32 ("br", |
4877 | | OPCODE_INFO1 (0x0400, |
4878 | | (0_9, UNCOND10b, OPRND_SHIFT_1_BIT)), |
4879 | | CSKYV2_ISA_E1, |
4880 | | OPCODE_INFO1 (0xe8000000, |
4881 | | (0_15, UNCOND16b, OPRND_SHIFT_1_BIT)), |
4882 | | CSKYV2_ISA_E1), |
4883 | | #undef _TRANSFER |
4884 | | #define _TRANSFER 0 |
4885 | | OP16_OP32 ("bt", |
4886 | | OPCODE_INFO1 (0x0800, |
4887 | | (0_9, COND10b, OPRND_SHIFT_1_BIT)), |
4888 | | CSKYV2_ISA_E1, |
4889 | | OPCODE_INFO1 (0xe8600000, |
4890 | | (0_15, COND16b, OPRND_SHIFT_1_BIT)), |
4891 | | CSKYV2_ISA_1E2), |
4892 | | OP16_OP32 ("bf", |
4893 | | OPCODE_INFO1 (0x0c00, |
4894 | | (0_9, COND10b, OPRND_SHIFT_1_BIT)), |
4895 | | CSKYV2_ISA_E1, |
4896 | | OPCODE_INFO1 (0xe8400000, |
4897 | | (0_15, COND16b, OPRND_SHIFT_1_BIT)), |
4898 | | CSKYV2_ISA_1E2), |
4899 | | #undef _RELAX |
4900 | | #undef _RELOC16 |
4901 | | #define _RELAX 0 |
4902 | | #define _RELOC16 0 |
4903 | | OP32 ("bnezad", |
4904 | | OPCODE_INFO2 (0xe8200000, |
4905 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4906 | | (0_15, COND16b, OPRND_SHIFT_1_BIT)), |
4907 | | CSKYV2_ISA_3E3R2), |
4908 | | #undef _RELOC16 |
4909 | | #undef _RELOC32 |
4910 | | #define _RELOC16 0 |
4911 | | #define _RELOC32 0 |
4912 | | #undef _TRANSFER |
4913 | | #define _TRANSFER 1 |
4914 | | OP16_WITH_WORK ("jbr", |
4915 | | OPCODE_INFO1 (0x0400, |
4916 | | (0_10, UNCOND10b, OPRND_SHIFT_1_BIT)), |
4917 | | CSKYV2_ISA_E1, |
4918 | | v2_work_jbr), |
4919 | | #undef _TRANSFER |
4920 | | #define _TRANSFER 0 |
4921 | | OP16_WITH_WORK ("jbt", |
4922 | | OPCODE_INFO1 (0x0800, |
4923 | | (0_10, COND10b, OPRND_SHIFT_1_BIT)), |
4924 | | CSKYV2_ISA_E1, |
4925 | | v2_work_jbtf), |
4926 | | OP16_WITH_WORK ("jbf", |
4927 | | OPCODE_INFO1 (0x0c00, |
4928 | | (0_10, COND10b, OPRND_SHIFT_1_BIT)), |
4929 | | CSKYV2_ISA_E1, |
4930 | | v2_work_jbtf), |
4931 | | OP32_WITH_WORK ("jbsr", |
4932 | | OPCODE_INFO1 (0xe0000000, |
4933 | | (0_25, OFF26b, OPRND_SHIFT_1_BIT)), |
4934 | | CSKYV2_ISA_E1, |
4935 | | v2_work_jbsr), |
4936 | | OP32_WITH_WORK ("movih", |
4937 | | OPCODE_INFO2 (0xea200000, |
4938 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4939 | | (0_15, IMM16b_MOVIH, OPRND_SHIFT_0_BIT)), |
4940 | | CSKYV2_ISA_1E2, |
4941 | | v2_work_movih), |
4942 | | OP32_WITH_WORK ("ori", |
4943 | | OPCODE_INFO3 (0xec000000, |
4944 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
4945 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4946 | | (0_15, IMM16b_ORI, OPRND_SHIFT_0_BIT)), |
4947 | | CSKYV2_ISA_1E2, |
4948 | | v2_work_ori), |
4949 | | DOP32_WITH_WORK ("bgeni", |
4950 | | OPCODE_INFO2 (0xea000000, |
4951 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4952 | | (0_4, IMM4b, OPRND_SHIFT_0_BIT)), |
4953 | | OPCODE_INFO2 (0xea200000, |
4954 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4955 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
4956 | | CSKYV2_ISA_E1, |
4957 | | v2_work_bgeni), |
4958 | | #undef _RELOC16 |
4959 | | #undef _RELOC32 |
4960 | | #define _RELOC16 BFD_RELOC_CKCORE_PCREL_IMM7BY4 |
4961 | | #define _RELOC32 BFD_RELOC_CKCORE_PCREL_IMM16BY4 |
4962 | | DOP16_OP32_WITH_WORK ("lrw", |
4963 | | OPCODE_INFO2 (0x1000, |
4964 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4965 | | (0_4or8_9, CONSTANT, OPRND_SHIFT_2_BIT)), |
4966 | | OPCODE_INFO2 (0x0000, |
4967 | | (5_7, GREG0_7, OPRND_SHIFT_0_BIT), |
4968 | | (0_4or8_9, ELRW_CONSTANT, OPRND_SHIFT_2_BIT)), |
4969 | | CSKYV2_ISA_E1, |
4970 | | OPCODE_INFO2 (0xea800000, |
4971 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4972 | | (0_15, CONSTANT, OPRND_SHIFT_2_BIT)), |
4973 | | CSKYV2_ISA_E1, |
4974 | | v2_work_lrw), |
4975 | | #undef _RELOC16 |
4976 | | #undef _RELOC32 |
4977 | | #define _RELOC16 0 |
4978 | | #define _RELOC32 0 |
4979 | | |
4980 | | #undef _RELAX |
4981 | | #define _RELAX 1 |
4982 | | OP32 ("jbez", |
4983 | | OPCODE_INFO2 (0xe9000000, |
4984 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4985 | | (0_15, JCOMPZ, OPRND_SHIFT_0_BIT)), |
4986 | | CSKYV2_ISA_2E3), |
4987 | | OP32 ("jbnez", |
4988 | | OPCODE_INFO2 (0xe9200000, |
4989 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4990 | | (0_15, JCOMPZ, OPRND_SHIFT_0_BIT)), |
4991 | | CSKYV2_ISA_2E3), |
4992 | | OP32 ("jbhz", |
4993 | | OPCODE_INFO2 (0xe9400000, |
4994 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
4995 | | (0_15, JCOMPZ, OPRND_SHIFT_0_BIT)), |
4996 | | CSKYV2_ISA_2E3), |
4997 | | OP32 ("jblsz", |
4998 | | OPCODE_INFO2 (0xe9600000, |
4999 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5000 | | (0_15, JCOMPZ, OPRND_SHIFT_0_BIT)), |
5001 | | CSKYV2_ISA_2E3), |
5002 | | OP32 ("jblz", |
5003 | | OPCODE_INFO2 (0xe9800000, |
5004 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5005 | | (0_15, JCOMPZ, OPRND_SHIFT_0_BIT)), |
5006 | | CSKYV2_ISA_2E3), |
5007 | | OP32 ("jbhsz", |
5008 | | OPCODE_INFO2 (0xe9a00000, |
5009 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5010 | | (0_15, JCOMPZ, OPRND_SHIFT_0_BIT)), |
5011 | | CSKYV2_ISA_2E3), |
5012 | | #undef _RELAX |
5013 | | #define _RELAX 0 |
5014 | | |
5015 | | /* CK860 instructions. */ |
5016 | | OP32 ("sync.is", |
5017 | | OPCODE_INFO0 (0xc2200420), |
5018 | | CSKYV2_ISA_10E60), |
5019 | | OP32 ("sync.i", |
5020 | | OPCODE_INFO0 (0xc0200420), |
5021 | | CSKYV2_ISA_10E60), |
5022 | | OP32 ("sync.s", |
5023 | | OPCODE_INFO0 (0xc2000420), |
5024 | | CSKYV2_ISA_10E60), |
5025 | | OP32 ("bar.brwarw", |
5026 | | OPCODE_INFO0 (0xc000842f), |
5027 | | CSKYV2_ISA_10E60), |
5028 | | OP32 ("bar.brwarws", |
5029 | | OPCODE_INFO0 (0xc200842f), |
5030 | | CSKYV2_ISA_10E60), |
5031 | | OP32 ("bar.brar", |
5032 | | OPCODE_INFO0 (0xc0008425), |
5033 | | CSKYV2_ISA_10E60), |
5034 | | OP32 ("bar.brars", |
5035 | | OPCODE_INFO0 (0xc2008425), |
5036 | | CSKYV2_ISA_10E60), |
5037 | | OP32 ("bar.bwaw", |
5038 | | OPCODE_INFO0 (0xc000842a), |
5039 | | CSKYV2_ISA_10E60), |
5040 | | OP32 ("bar.bwaws", |
5041 | | OPCODE_INFO0 (0xc200842a), |
5042 | | CSKYV2_ISA_10E60), |
5043 | | OP32 ("icache.iall", |
5044 | | OPCODE_INFO0 (0xc1009020), |
5045 | | CSKYV2_ISA_10E60), |
5046 | | OP32 ("icache.ialls", |
5047 | | OPCODE_INFO0 (0xc3009020), |
5048 | | CSKYV2_ISA_10E60), |
5049 | | OP32 ("l2cache.iall", |
5050 | | OPCODE_INFO0 (0xc1009820), |
5051 | | CSKYV2_ISA_10E60), |
5052 | | OP32 ("l2cache.call", |
5053 | | OPCODE_INFO0 (0xc0809820), |
5054 | | CSKYV2_ISA_10E60), |
5055 | | OP32 ("l2cache.ciall", |
5056 | | OPCODE_INFO0 (0xc1809820), |
5057 | | CSKYV2_ISA_10E60), |
5058 | | OP32 ("icache.iva", |
5059 | | OPCODE_INFO1 (0xc1609020, |
5060 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5061 | | CSKYV2_ISA_10E60), |
5062 | | OP32 ("dcache.iall", |
5063 | | OPCODE_INFO0 (0xc1009420), |
5064 | | CSKYV2_ISA_10E60), |
5065 | | OP32 ("dcache.iva", |
5066 | | OPCODE_INFO1 (0xc1609420, |
5067 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5068 | | CSKYV2_ISA_10E60), |
5069 | | OP32 ("dcache.isw", |
5070 | | OPCODE_INFO1 (0xc1409420, |
5071 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5072 | | CSKYV2_ISA_10E60), |
5073 | | OP32 ("dcache.call", |
5074 | | OPCODE_INFO0 (0xc0809420), |
5075 | | CSKYV2_ISA_10E60), |
5076 | | OP32 ("dcache.cva", |
5077 | | OPCODE_INFO1 (0xc0e09420, |
5078 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5079 | | CSKYV2_ISA_10E60), |
5080 | | OP32 ("dcache.cval1", |
5081 | | OPCODE_INFO1 (0xc2e09420, |
5082 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5083 | | CSKYV2_ISA_10E60), |
5084 | | OP32 ("dcache.csw", |
5085 | | OPCODE_INFO1 (0xc0c09420, |
5086 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5087 | | CSKYV2_ISA_10E60), |
5088 | | OP32 ("dcache.ciall", |
5089 | | OPCODE_INFO0 (0xc1809420), |
5090 | | CSKYV2_ISA_10E60), |
5091 | | OP32 ("dcache.civa", |
5092 | | OPCODE_INFO1 (0xc1e09420, |
5093 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5094 | | CSKYV2_ISA_10E60), |
5095 | | OP32 ("dcache.cisw", |
5096 | | OPCODE_INFO1 (0xc1c09420, |
5097 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5098 | | CSKYV2_ISA_10E60), |
5099 | | OP32 ("tlbi.vaa", |
5100 | | OPCODE_INFO1 (0xc0408820, |
5101 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5102 | | CSKYV2_ISA_10E60), |
5103 | | OP32 ("tlbi.vaas", |
5104 | | OPCODE_INFO1 (0xc2408820, |
5105 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5106 | | CSKYV2_ISA_10E60), |
5107 | | OP32 ("tlbi.asid", |
5108 | | OPCODE_INFO1 (0xc0208820, |
5109 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5110 | | CSKYV2_ISA_10E60), |
5111 | | OP32 ("tlbi.asids", |
5112 | | OPCODE_INFO1 (0xc2208820, |
5113 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5114 | | CSKYV2_ISA_10E60), |
5115 | | OP32 ("tlbi.va", |
5116 | | OPCODE_INFO1 (0xc0608820, |
5117 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5118 | | CSKYV2_ISA_10E60), |
5119 | | OP32 ("tlbi.vas", |
5120 | | OPCODE_INFO1 (0xc2608820, |
5121 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5122 | | CSKYV2_ISA_10E60), |
5123 | | OP32 ("tlbi.all", |
5124 | | OPCODE_INFO0 (0xc0008820), |
5125 | | CSKYV2_ISA_10E60), |
5126 | | OP32 ("tlbi.alls", |
5127 | | OPCODE_INFO0 (0xc2008820), |
5128 | | CSKYV2_ISA_10E60), |
5129 | | DOP32 ("sync", |
5130 | | OPCODE_INFO0 (0xc0000420), |
5131 | | OPCODE_INFO1 (0xc0000420, |
5132 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
5133 | | CSKYV2_ISA_E1), |
5134 | | |
5135 | | /* The followings are enhance DSP instructions. */ |
5136 | | DOP32_WITH_WORK ("bloop", |
5137 | | OPCODE_INFO3 (0xe9c00000, |
5138 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5139 | | (0_11, BLOOP_OFF12b, OPRND_SHIFT_1_BIT), |
5140 | | (12_15, BLOOP_OFF4b, OPRND_SHIFT_1_BIT)), |
5141 | | OPCODE_INFO2 (0xe9c00000, |
5142 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5143 | | (0_11, BLOOP_OFF12b, OPRND_SHIFT_1_BIT)), |
5144 | | CSKY_ISA_DSP_ENHANCE, |
5145 | | dsp_work_bloop), |
5146 | | /* The followings are ld/st instructions. */ |
5147 | | OP32 ("ldbi.b", |
5148 | | OPCODE_INFO2 (0xd0008000, |
5149 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5150 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5151 | | CSKY_ISA_DSP_ENHANCE), |
5152 | | OP32 ("ldbi.h", |
5153 | | OPCODE_INFO2 (0xd0008400, |
5154 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5155 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5156 | | CSKY_ISA_DSP_ENHANCE), |
5157 | | OP32 ("ldbi.w", |
5158 | | OPCODE_INFO2 (0xd0008800, |
5159 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5160 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5161 | | CSKY_ISA_DSP_ENHANCE), |
5162 | | OP32 ("pldbi.d", |
5163 | | OPCODE_INFO2 (0xd0008c00, |
5164 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5165 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5166 | | CSKY_ISA_DSP_ENHANCE), |
5167 | | OP32 ("ldbi.hs", |
5168 | | OPCODE_INFO2 (0xd0009000, |
5169 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5170 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5171 | | CSKY_ISA_DSP_ENHANCE), |
5172 | | OP32 ("ldbi.bs", |
5173 | | OPCODE_INFO2 (0xd0009400, |
5174 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5175 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5176 | | CSKY_ISA_DSP_ENHANCE), |
5177 | | OP32 ("stbi.b", |
5178 | | OPCODE_INFO2 (0xd4008000, |
5179 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5180 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5181 | | CSKY_ISA_DSP_ENHANCE), |
5182 | | OP32 ("stbi.h", |
5183 | | OPCODE_INFO2 (0xd4008400, |
5184 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5185 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5186 | | CSKY_ISA_DSP_ENHANCE), |
5187 | | OP32 ("stbi.w", |
5188 | | OPCODE_INFO2 (0xd4008800, |
5189 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5190 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT)), |
5191 | | CSKY_ISA_DSP_ENHANCE), |
5192 | | OP32 ("ldbir.b", |
5193 | | OPCODE_INFO3 (0xd000a000, |
5194 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5195 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5196 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5197 | | CSKY_ISA_DSP_ENHANCE), |
5198 | | OP32 ("ldbir.h", |
5199 | | OPCODE_INFO3 (0xd000a400, |
5200 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5201 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5202 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5203 | | CSKY_ISA_DSP_ENHANCE), |
5204 | | OP32 ("ldbir.w", |
5205 | | OPCODE_INFO3 (0xd000a800, |
5206 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5207 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5208 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5209 | | CSKY_ISA_DSP_ENHANCE), |
5210 | | OP32 ("pldbir.d", |
5211 | | OPCODE_INFO3 (0xd000ac00, |
5212 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5213 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5214 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5215 | | CSKY_ISA_DSP_ENHANCE), |
5216 | | OP32 ("ldbir.bs", |
5217 | | OPCODE_INFO3 (0xd000b000, |
5218 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5219 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5220 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5221 | | CSKY_ISA_DSP_ENHANCE), |
5222 | | OP32 ("ldbir.hs", |
5223 | | OPCODE_INFO3 (0xd000b400, |
5224 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5225 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5226 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5227 | | CSKY_ISA_DSP_ENHANCE), |
5228 | | OP32 ("stbir.b", |
5229 | | OPCODE_INFO3 (0xd400a000, |
5230 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5231 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5232 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5233 | | CSKY_ISA_DSP_ENHANCE), |
5234 | | OP32 ("stbir.h", |
5235 | | OPCODE_INFO3 (0xd400a400, |
5236 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5237 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5238 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5239 | | CSKY_ISA_DSP_ENHANCE), |
5240 | | OP32 ("stbir.w", |
5241 | | OPCODE_INFO3 (0xd400a800, |
5242 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5243 | | (16_20, AREG_WITH_BRACKET, OPRND_SHIFT_0_BIT), |
5244 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5245 | | CSKY_ISA_DSP_ENHANCE), |
5246 | | /* The followings are add/sub instructions. */ |
5247 | | OP32 ("padd.8", |
5248 | | OPCODE_INFO3 (0xf800c040, |
5249 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5250 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5251 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5252 | | CSKY_ISA_DSP_ENHANCE), |
5253 | | OP32 ("padd.16", |
5254 | | OPCODE_INFO3 (0xf800c000, |
5255 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5256 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5257 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5258 | | CSKY_ISA_DSP_ENHANCE), |
5259 | | OP32 ("padd.u8.s", |
5260 | | OPCODE_INFO3 (0xf800c140, |
5261 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5262 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5263 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5264 | | CSKY_ISA_DSP_ENHANCE), |
5265 | | OP32 ("padd.s8.s", |
5266 | | OPCODE_INFO3 (0xf800c1c0, |
5267 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5268 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5269 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5270 | | CSKY_ISA_DSP_ENHANCE), |
5271 | | OP32 ("padd.u16.s", |
5272 | | OPCODE_INFO3 (0xf800c100, |
5273 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5274 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5275 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5276 | | CSKY_ISA_DSP_ENHANCE), |
5277 | | OP32 ("padd.s16.s", |
5278 | | OPCODE_INFO3 (0xf800c180, |
5279 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5280 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5281 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5282 | | CSKY_ISA_DSP_ENHANCE), |
5283 | | OP32 ("add.u32.s", |
5284 | | OPCODE_INFO3 (0xf800c120, |
5285 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5286 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5287 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5288 | | CSKY_ISA_DSP_ENHANCE), |
5289 | | OP32 ("add.s32.s", |
5290 | | OPCODE_INFO3 (0xf800c1a0, |
5291 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5292 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5293 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5294 | | CSKY_ISA_DSP_ENHANCE), |
5295 | | OP32 ("psub.8", |
5296 | | OPCODE_INFO3 (0xf800c440, |
5297 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5298 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5299 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5300 | | CSKY_ISA_DSP_ENHANCE), |
5301 | | OP32 ("psub.16", |
5302 | | OPCODE_INFO3 (0xf800c400, |
5303 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5304 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5305 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5306 | | CSKY_ISA_DSP_ENHANCE), |
5307 | | OP32 ("psub.u8.s", |
5308 | | OPCODE_INFO3 (0xf800c540, |
5309 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5310 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5311 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5312 | | CSKY_ISA_DSP_ENHANCE), |
5313 | | OP32 ("psub.s8.s", |
5314 | | OPCODE_INFO3 (0xf800c5c0, |
5315 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5316 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5317 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5318 | | CSKY_ISA_DSP_ENHANCE), |
5319 | | OP32 ("psub.u16.s", |
5320 | | OPCODE_INFO3 (0xf800c500, |
5321 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5322 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5323 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5324 | | CSKY_ISA_DSP_ENHANCE), |
5325 | | OP32 ("psub.s16.s", |
5326 | | OPCODE_INFO3 (0xf800c580, |
5327 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5328 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5329 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5330 | | CSKY_ISA_DSP_ENHANCE), |
5331 | | OP32 ("sub.u32.s", |
5332 | | OPCODE_INFO3 (0xf800c520, |
5333 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5334 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5335 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5336 | | CSKY_ISA_DSP_ENHANCE), |
5337 | | OP32 ("sub.s32.s", |
5338 | | OPCODE_INFO3 (0xf800c5a0, |
5339 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5340 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5341 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5342 | | CSKY_ISA_DSP_ENHANCE), |
5343 | | OP32 ("paddh.u8", |
5344 | | OPCODE_INFO3 (0xf800c240, |
5345 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5346 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5347 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5348 | | CSKY_ISA_DSP_ENHANCE), |
5349 | | OP32 ("paddh.s8", |
5350 | | OPCODE_INFO3 (0xf800c2c0, |
5351 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5352 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5353 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5354 | | CSKY_ISA_DSP_ENHANCE), |
5355 | | OP32 ("paddh.u16", |
5356 | | OPCODE_INFO3 (0xf800c200, |
5357 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5358 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5359 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5360 | | CSKY_ISA_DSP_ENHANCE), |
5361 | | OP32 ("paddh.s16", |
5362 | | OPCODE_INFO3 (0xf800c280, |
5363 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5364 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5365 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5366 | | CSKY_ISA_DSP_ENHANCE), |
5367 | | OP32 ("addh.u32", |
5368 | | OPCODE_INFO3 (0xf800c220, |
5369 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5370 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5371 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5372 | | CSKY_ISA_DSP_ENHANCE), |
5373 | | OP32 ("addh.s32", |
5374 | | OPCODE_INFO3 (0xf800c2a0, |
5375 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5376 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5377 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5378 | | CSKY_ISA_DSP_ENHANCE), |
5379 | | OP32 ("psubh.u8", |
5380 | | OPCODE_INFO3 (0xf800c640, |
5381 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5382 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5383 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5384 | | CSKY_ISA_DSP_ENHANCE), |
5385 | | OP32 ("psubh.s8", |
5386 | | OPCODE_INFO3 (0xf800c6c0, |
5387 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5388 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5389 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5390 | | CSKY_ISA_DSP_ENHANCE), |
5391 | | OP32 ("psubh.u16", |
5392 | | OPCODE_INFO3 (0xf800c600, |
5393 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5394 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5395 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5396 | | CSKY_ISA_DSP_ENHANCE), |
5397 | | OP32 ("psubh.s16", |
5398 | | OPCODE_INFO3 (0xf800c680, |
5399 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5400 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5401 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5402 | | CSKY_ISA_DSP_ENHANCE), |
5403 | | OP32 ("subh.u32", |
5404 | | OPCODE_INFO3 (0xf800c620, |
5405 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5406 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5407 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5408 | | CSKY_ISA_DSP_ENHANCE), |
5409 | | OP32 ("subh.s32", |
5410 | | OPCODE_INFO3 (0xf800c6a0, |
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 ("add.64", |
5416 | | OPCODE_INFO3 (0xf800c060, |
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 ("sub.64", |
5422 | | OPCODE_INFO3 (0xf800c460, |
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 ("add.u64.s", |
5428 | | OPCODE_INFO3 (0xf800c160, |
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 ("add.s64.s", |
5434 | | OPCODE_INFO3 (0xf800c1e0, |
5435 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5436 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5437 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5438 | | CSKY_ISA_DSP_ENHANCE), |
5439 | | OP32 ("sub.u64.s", |
5440 | | OPCODE_INFO3 (0xf800c560, |
5441 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5442 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5443 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5444 | | CSKY_ISA_DSP_ENHANCE), |
5445 | | OP32 ("sub.s64.s", |
5446 | | OPCODE_INFO3 (0xf800c5e0, |
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 | | /* The following are comparison instructions. */ |
5452 | | OP32 ("pasx.16", |
5453 | | OPCODE_INFO3 (0xf800c860, |
5454 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5455 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5456 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5457 | | CSKY_ISA_DSP_ENHANCE), |
5458 | | OP32 ("psax.16", |
5459 | | OPCODE_INFO3 (0xf800cc60, |
5460 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5461 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5462 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5463 | | CSKY_ISA_DSP_ENHANCE), |
5464 | | OP32 ("pasx.u16.s", |
5465 | | OPCODE_INFO3 (0xf800c960, |
5466 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5467 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5468 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5469 | | CSKY_ISA_DSP_ENHANCE), |
5470 | | OP32 ("pasx.s16.s", |
5471 | | OPCODE_INFO3 (0xf800c9e0, |
5472 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5473 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5474 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5475 | | CSKY_ISA_DSP_ENHANCE), |
5476 | | OP32 ("psax.u16.s", |
5477 | | OPCODE_INFO3 (0xf800cd60, |
5478 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5479 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5480 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5481 | | CSKY_ISA_DSP_ENHANCE), |
5482 | | OP32 ("psax.s16.s", |
5483 | | OPCODE_INFO3 (0xf800cde0, |
5484 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5485 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5486 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5487 | | CSKY_ISA_DSP_ENHANCE), |
5488 | | OP32 ("pasxh.u16", |
5489 | | OPCODE_INFO3 (0xf800ca60, |
5490 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5491 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5492 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5493 | | CSKY_ISA_DSP_ENHANCE), |
5494 | | OP32 ("pasxh.s16", |
5495 | | OPCODE_INFO3 (0xf800cae0, |
5496 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5497 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5498 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5499 | | CSKY_ISA_DSP_ENHANCE), |
5500 | | OP32 ("psaxh.u16", |
5501 | | OPCODE_INFO3 (0xf800ce60, |
5502 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5503 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5504 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5505 | | CSKY_ISA_DSP_ENHANCE), |
5506 | | OP32 ("psaxh.s16", |
5507 | | OPCODE_INFO3 (0xf800cee0, |
5508 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5509 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5510 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5511 | | CSKY_ISA_DSP_ENHANCE), |
5512 | | OP32 ("pcmpne.8", |
5513 | | OPCODE_INFO3 (0xf800c840, |
5514 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5515 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5516 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5517 | | CSKY_ISA_DSP_ENHANCE), |
5518 | | OP32 ("pcmpne.16", |
5519 | | OPCODE_INFO3 (0xf800c800, |
5520 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5521 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5522 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5523 | | CSKY_ISA_DSP_ENHANCE), |
5524 | | OP32 ("pcmphs.u8", |
5525 | | OPCODE_INFO3 (0xf800c940, |
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 | | CSKY_ISA_DSP_ENHANCE), |
5530 | | OP32 ("pcmphs.s8", |
5531 | | OPCODE_INFO3 (0xf800c9c0, |
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 | | CSKY_ISA_DSP_ENHANCE), |
5536 | | OP32 ("pcmphs.u16", |
5537 | | OPCODE_INFO3 (0xf800c900, |
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 | | CSKY_ISA_DSP_ENHANCE), |
5542 | | OP32 ("pcmphs.s16", |
5543 | | OPCODE_INFO3 (0xf800c980, |
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 | | CSKY_ISA_DSP_ENHANCE), |
5548 | | OP32 ("pcmplt.u8", |
5549 | | OPCODE_INFO3 (0xf800ca40, |
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 | | CSKY_ISA_DSP_ENHANCE), |
5554 | | OP32 ("pcmplt.s8", |
5555 | | OPCODE_INFO3 (0xf800cac0, |
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 | | CSKY_ISA_DSP_ENHANCE), |
5560 | | OP32 ("pcmplt.u16", |
5561 | | OPCODE_INFO3 (0xf800ca00, |
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 ("pcmplt.s16", |
5567 | | OPCODE_INFO3 (0xf800ca80, |
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 ("pmax.u8", |
5573 | | OPCODE_INFO3 (0xf800cc40, |
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 ("pmax.s8", |
5579 | | OPCODE_INFO3 (0xf800ccc0, |
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 ("pmax.u16", |
5585 | | OPCODE_INFO3 (0xf800cc00, |
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 ("pmax.s16", |
5591 | | OPCODE_INFO3 (0xf800cc80, |
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 ("max.u32", |
5597 | | OPCODE_INFO3 (0xf800cc20, |
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 ("max.s32", |
5603 | | OPCODE_INFO3 (0xf800cca0, |
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 ("pmin.u8", |
5609 | | OPCODE_INFO3 (0xf800cd40, |
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 ("pmin.s8", |
5615 | | OPCODE_INFO3 (0xf800cdc0, |
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 ("pmin.u16", |
5621 | | OPCODE_INFO3 (0xf800cd00, |
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 ("pmin.s16", |
5627 | | OPCODE_INFO3 (0xf800cd80, |
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 ("min.u32", |
5633 | | OPCODE_INFO3 (0xf800cd20, |
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 ("min.s32", |
5639 | | OPCODE_INFO3 (0xf800cda0, |
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 ("sel", |
5645 | | OPCODE_INFO4 (0xf8009000, |
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 | | (5_9, AREG, OPRND_SHIFT_0_BIT)), |
5650 | | CSKY_ISA_DSP_ENHANCE), |
5651 | | /* The followings are miscs. */ |
5652 | | OP32 ("psabsa.u8", |
5653 | | OPCODE_INFO3 (0xf800e040, |
5654 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5655 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5656 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5657 | | CSKY_ISA_DSP_ENHANCE), |
5658 | | OP32 ("psabsaa.u8", |
5659 | | OPCODE_INFO3 (0xf800e140, |
5660 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5661 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5662 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5663 | | CSKY_ISA_DSP_ENHANCE), |
5664 | | OP32 ("divul", |
5665 | | OPCODE_INFO3 (0xf800e260, |
5666 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5667 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5668 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5669 | | CSKYV2_ISA_3E3R3), |
5670 | | OP32 ("divsl", |
5671 | | OPCODE_INFO3 (0xf800e2e0, |
5672 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5673 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5674 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5675 | | CSKYV2_ISA_3E3R3), |
5676 | | OP32 ("mulaca.s8", |
5677 | | OPCODE_INFO3 (0xf800e4c0, |
5678 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5679 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5680 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5681 | | CSKY_ISA_DSP_ENHANCE), |
5682 | | /* The followings are shift instructions. */ |
5683 | | OP32 ("asri.s32.r", |
5684 | | OPCODE_INFO3 (0xf800d1a0, |
5685 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5686 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5687 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
5688 | | CSKY_ISA_DSP_ENHANCE), |
5689 | | OP32 ("asr.s32.r", |
5690 | | OPCODE_INFO3 (0xf800d1e0, |
5691 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5692 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5693 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5694 | | CSKY_ISA_DSP_ENHANCE), |
5695 | | OP32 ("lsri.u32.r", |
5696 | | OPCODE_INFO3 (0xf800d320, |
5697 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5698 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5699 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
5700 | | CSKY_ISA_DSP_ENHANCE), |
5701 | | OP32 ("lsr.u32.r", |
5702 | | OPCODE_INFO3 (0xf800d360, |
5703 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5704 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5705 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5706 | | CSKY_ISA_DSP_ENHANCE), |
5707 | | OP32 ("lsli.u32.s", |
5708 | | OPCODE_INFO3 (0xf800d520, |
5709 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5710 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5711 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
5712 | | CSKY_ISA_DSP_ENHANCE), |
5713 | | OP32 ("lsli.s32.s", |
5714 | | OPCODE_INFO3 (0xf800d5a0, |
5715 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5716 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5717 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
5718 | | CSKY_ISA_DSP_ENHANCE), |
5719 | | OP32 ("lsl.u32.s", |
5720 | | OPCODE_INFO3 (0xf800d560, |
5721 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5722 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5723 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5724 | | CSKY_ISA_DSP_ENHANCE), |
5725 | | OP32 ("lsl.s32.s", |
5726 | | OPCODE_INFO3 (0xf800d5e0, |
5727 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5728 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5729 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5730 | | CSKY_ISA_DSP_ENHANCE), |
5731 | | OP32 ("pasri.s16", |
5732 | | OPCODE_INFO3 (0xf800d080, |
5733 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5734 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5735 | | (21_25, OIMM4b, OPRND_SHIFT_0_BIT)), |
5736 | | CSKY_ISA_DSP_ENHANCE), |
5737 | | OP32 ("pasr.s16", |
5738 | | OPCODE_INFO3 (0xf800d0c0, |
5739 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5740 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5741 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5742 | | CSKY_ISA_DSP_ENHANCE), |
5743 | | OP32 ("pasri.s16.r", |
5744 | | OPCODE_INFO3 (0xf800d180, |
5745 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5746 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5747 | | (21_25, OIMM4b, OPRND_SHIFT_0_BIT)), |
5748 | | CSKY_ISA_DSP_ENHANCE), |
5749 | | OP32 ("pasr.s16.r", |
5750 | | OPCODE_INFO3 (0xf800d1c0, |
5751 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5752 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5753 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5754 | | CSKY_ISA_DSP_ENHANCE), |
5755 | | OP32 ("plsri.u16", |
5756 | | OPCODE_INFO3 (0xf800d200, |
5757 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5758 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5759 | | (21_25, OIMM4b, OPRND_SHIFT_0_BIT)), |
5760 | | CSKY_ISA_DSP_ENHANCE), |
5761 | | OP32 ("plsr.u16", |
5762 | | OPCODE_INFO3 (0xf800d240, |
5763 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5764 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5765 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5766 | | CSKY_ISA_DSP_ENHANCE), |
5767 | | OP32 ("plsri.u16.r", |
5768 | | OPCODE_INFO3 (0xf800d300, |
5769 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5770 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5771 | | (21_25, OIMM4b, OPRND_SHIFT_0_BIT)), |
5772 | | CSKY_ISA_DSP_ENHANCE), |
5773 | | OP32 ("plsr.u16.r", |
5774 | | OPCODE_INFO3 (0xf800d340, |
5775 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5776 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5777 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5778 | | CSKY_ISA_DSP_ENHANCE), |
5779 | | OP32 ("plsli.16", |
5780 | | OPCODE_INFO3 (0xf800d400, |
5781 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5782 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5783 | | (21_25, OIMM4b, OPRND_SHIFT_0_BIT)), |
5784 | | CSKY_ISA_DSP_ENHANCE), |
5785 | | OP32 ("plsl.16", |
5786 | | OPCODE_INFO3 (0xf800d440, |
5787 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5788 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5789 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5790 | | CSKY_ISA_DSP_ENHANCE), |
5791 | | OP32 ("plsli.u16.s", |
5792 | | OPCODE_INFO3 (0xf800d500, |
5793 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5794 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5795 | | (21_25, OIMM4b, OPRND_SHIFT_0_BIT)), |
5796 | | CSKY_ISA_DSP_ENHANCE), |
5797 | | OP32 ("plsli.s16.s", |
5798 | | OPCODE_INFO3 (0xf800d580, |
5799 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5800 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5801 | | (21_25, OIMM4b, OPRND_SHIFT_0_BIT)), |
5802 | | CSKY_ISA_DSP_ENHANCE), |
5803 | | OP32 ("plsl.u16.s", |
5804 | | OPCODE_INFO3 (0xf800d540, |
5805 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5806 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5807 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5808 | | CSKY_ISA_DSP_ENHANCE), |
5809 | | OP32 ("plsl.s16.s", |
5810 | | OPCODE_INFO3 (0xf800d5c0, |
5811 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5812 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5813 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5814 | | CSKY_ISA_DSP_ENHANCE), |
5815 | | /* The following are package & unpackage instructions. */ |
5816 | | OP32 ("pkg", |
5817 | | OPCODE_INFO5 (0xf800a000, |
5818 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5819 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5820 | | (5_8, IMM4b, OPRND_SHIFT_0_BIT), |
5821 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
5822 | | (9_12, OIMM4b, OPRND_SHIFT_0_BIT)), |
5823 | | CSKY_ISA_DSP_ENHANCE), |
5824 | | OP32 ("dexti", |
5825 | | OPCODE_INFO4 (0xf8009800, |
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 | | (5_9, IMM5b, OPRND_SHIFT_0_BIT)), |
5830 | | CSKY_ISA_DSP_ENHANCE), |
5831 | | OP32 ("dext", |
5832 | | OPCODE_INFO4 (0xf8009c00, |
5833 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5834 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5835 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
5836 | | (5_9, AREG, OPRND_SHIFT_0_BIT)), |
5837 | | CSKY_ISA_DSP_ENHANCE), |
5838 | | OP32 ("pkgll", |
5839 | | OPCODE_INFO3 (0xf800d840, |
5840 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5841 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5842 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5843 | | CSKY_ISA_DSP_ENHANCE), |
5844 | | OP32 ("pkghh", |
5845 | | OPCODE_INFO3 (0xf800d860, |
5846 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5847 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5848 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5849 | | CSKY_ISA_DSP_ENHANCE), |
5850 | | OP32 ("pext.u8.e", |
5851 | | OPCODE_INFO2 (0xf800d900, |
5852 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5853 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5854 | | CSKY_ISA_DSP_ENHANCE), |
5855 | | OP32 ("pext.s8.e", |
5856 | | OPCODE_INFO2 (0xf800d980, |
5857 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5858 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5859 | | CSKY_ISA_DSP_ENHANCE), |
5860 | | OP32 ("pextx.u8.e", |
5861 | | OPCODE_INFO2 (0xf800d920, |
5862 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5863 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5864 | | CSKY_ISA_DSP_ENHANCE), |
5865 | | OP32 ("pextx.s8.e", |
5866 | | OPCODE_INFO2 (0xf800d9a0, |
5867 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5868 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5869 | | CSKY_ISA_DSP_ENHANCE), |
5870 | | OP32 ("narl", |
5871 | | OPCODE_INFO3 (0xf800da00, |
5872 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5873 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5874 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5875 | | CSKY_ISA_DSP_ENHANCE), |
5876 | | OP32 ("narh", |
5877 | | OPCODE_INFO3 (0xf800da20, |
5878 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5879 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5880 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5881 | | CSKY_ISA_DSP_ENHANCE), |
5882 | | OP32 ("narlx", |
5883 | | OPCODE_INFO3 (0xf800da40, |
5884 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5885 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5886 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5887 | | CSKY_ISA_DSP_ENHANCE), |
5888 | | OP32 ("narhx", |
5889 | | OPCODE_INFO3 (0xf800da60, |
5890 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5891 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5892 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5893 | | CSKY_ISA_DSP_ENHANCE), |
5894 | | OP32 ("clipi.u32", |
5895 | | OPCODE_INFO3 (0xf800db00, |
5896 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5897 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5898 | | (21_25, IMM5b, OPRND_SHIFT_0_BIT)), |
5899 | | CSKY_ISA_DSP_ENHANCE), |
5900 | | OP32 ("clipi.s32", |
5901 | | OPCODE_INFO3 (0xf800db80, |
5902 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5903 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5904 | | (21_25, OIMM5b, OPRND_SHIFT_0_BIT)), |
5905 | | CSKY_ISA_DSP_ENHANCE), |
5906 | | OP32 ("clip.u32", |
5907 | | OPCODE_INFO3 (0xf800db20, |
5908 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5909 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5910 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5911 | | CSKY_ISA_DSP_ENHANCE), |
5912 | | OP32 ("clip.s32", |
5913 | | OPCODE_INFO3 (0xf800dba0, |
5914 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5915 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5916 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5917 | | CSKY_ISA_DSP_ENHANCE), |
5918 | | OP32 ("pclipi.u16", |
5919 | | OPCODE_INFO3 (0xf800db40, |
5920 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5921 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5922 | | (21_25, IMM4b, OPRND_SHIFT_0_BIT)), |
5923 | | CSKY_ISA_DSP_ENHANCE), |
5924 | | OP32 ("pclipi.s16", |
5925 | | OPCODE_INFO3 (0xf800dbc0, |
5926 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5927 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5928 | | (21_25, OIMM4b, OPRND_SHIFT_0_BIT)), |
5929 | | CSKY_ISA_DSP_ENHANCE), |
5930 | | OP32 ("pclip.u16", |
5931 | | OPCODE_INFO3 (0xf800db60, |
5932 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5933 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5934 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5935 | | CSKY_ISA_DSP_ENHANCE), |
5936 | | OP32 ("pclip.s16", |
5937 | | OPCODE_INFO3 (0xf800dbe0, |
5938 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5939 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5940 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5941 | | CSKY_ISA_DSP_ENHANCE), |
5942 | | OP32 ("pabs.s8.s", |
5943 | | OPCODE_INFO2 (0xf800dc80, |
5944 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5945 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5946 | | CSKY_ISA_DSP_ENHANCE), |
5947 | | OP32 ("pabs.s16.s", |
5948 | | OPCODE_INFO2 (0xf800dca0, |
5949 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5950 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5951 | | CSKY_ISA_DSP_ENHANCE), |
5952 | | OP32 ("abs.s32.s", |
5953 | | OPCODE_INFO2 (0xf800dcc0, |
5954 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5955 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5956 | | CSKY_ISA_DSP_ENHANCE), |
5957 | | OP32 ("pneg.s8.s", |
5958 | | OPCODE_INFO2 (0xf800dd80, |
5959 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5960 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5961 | | CSKY_ISA_DSP_ENHANCE), |
5962 | | OP32 ("pneg.s16.s", |
5963 | | OPCODE_INFO2 (0xf800dda0, |
5964 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5965 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5966 | | CSKY_ISA_DSP_ENHANCE), |
5967 | | OP32 ("neg.s32.s", |
5968 | | OPCODE_INFO2 (0xf800ddc0, |
5969 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5970 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
5971 | | CSKY_ISA_DSP_ENHANCE), |
5972 | | OP32 ("dup.8", |
5973 | | OPCODE_INFO3 (0xf800de00, |
5974 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5975 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5976 | | (5_6, IMM2b, OPRND_SHIFT_0_BIT)), |
5977 | | CSKY_ISA_DSP_ENHANCE), |
5978 | | OP32 ("dup.16", |
5979 | | OPCODE_INFO3 (0xf800df00, |
5980 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5981 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5982 | | (5_6, IMM1b, OPRND_SHIFT_0_BIT)), |
5983 | | CSKY_ISA_DSP_ENHANCE), |
5984 | | /* The followings are multiplication instructions. */ |
5985 | | OP32 ("mul.u32", |
5986 | | OPCODE_INFO3 (0xf8008000, |
5987 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5988 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5989 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5990 | | CSKYV2_ISA_3E3R1), |
5991 | | OP32 ("mul.s32", |
5992 | | OPCODE_INFO3 (0xf8008200, |
5993 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
5994 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
5995 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
5996 | | CSKYV2_ISA_3E3R1), |
5997 | | OP32 ("mula.u32", |
5998 | | OPCODE_INFO3 (0xf8008080, |
5999 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6000 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6001 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6002 | | CSKYV2_ISA_3E3R1), |
6003 | | OP32 ("mula.s32", |
6004 | | OPCODE_INFO3 (0xf8008280, |
6005 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6006 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6007 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6008 | | CSKYV2_ISA_3E3R1), |
6009 | | OP32 ("mula.32.l", |
6010 | | OPCODE_INFO3 (0xf8008440, |
6011 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6012 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6013 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6014 | | CSKYV2_ISA_3E3R1), |
6015 | | OP32 ("mulall.s16.s", |
6016 | | OPCODE_INFO3 (0xf80081a0, |
6017 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6018 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6019 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6020 | | CSKYV2_ISA_3E3R1), |
6021 | | OP32 ("muls.u32", |
6022 | | OPCODE_INFO3 (0xf80080c0, |
6023 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6024 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6025 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6026 | | CSKY_ISA_DSP_ENHANCE), |
6027 | | OP32 ("muls.s32", |
6028 | | OPCODE_INFO3 (0xf80082c0, |
6029 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6030 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6031 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6032 | | CSKY_ISA_DSP_ENHANCE), |
6033 | | OP32 ("mula.u32.s", |
6034 | | OPCODE_INFO3 (0xf8008180, |
6035 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6036 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6037 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6038 | | CSKY_ISA_DSP_ENHANCE), |
6039 | | OP32 ("mula.s32.s", |
6040 | | OPCODE_INFO3 (0xf8008380, |
6041 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6042 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6043 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6044 | | CSKY_ISA_DSP_ENHANCE), |
6045 | | OP32 ("muls.u32.s", |
6046 | | OPCODE_INFO3 (0xf80081c0, |
6047 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6048 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6049 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6050 | | CSKY_ISA_DSP_ENHANCE), |
6051 | | OP32 ("muls.s32.s", |
6052 | | OPCODE_INFO3 (0xf80083c0, |
6053 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6054 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6055 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6056 | | CSKY_ISA_DSP_ENHANCE), |
6057 | | OP32 ("mul.s32.h", |
6058 | | OPCODE_INFO3 (0xf8008400, |
6059 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6060 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6061 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6062 | | CSKY_ISA_DSP_ENHANCE), |
6063 | | OP32 ("mul.s32.rh", |
6064 | | OPCODE_INFO3 (0xf8008600, |
6065 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6066 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6067 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6068 | | CSKY_ISA_DSP_ENHANCE), |
6069 | | OP32 ("rmul.s32.h", |
6070 | | OPCODE_INFO3 (0xf8008500, |
6071 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6072 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6073 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6074 | | CSKY_ISA_DSP_ENHANCE), |
6075 | | OP32 ("rmul.s32.rh", |
6076 | | OPCODE_INFO3 (0xf8008700, |
6077 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6078 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6079 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6080 | | CSKY_ISA_DSP_ENHANCE), |
6081 | | OP32 ("mula.s32.hs", |
6082 | | OPCODE_INFO3 (0xf8008580, |
6083 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6084 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6085 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6086 | | CSKY_ISA_DSP_ENHANCE), |
6087 | | OP32 ("muls.s32.hs", |
6088 | | OPCODE_INFO3 (0xf80085c0, |
6089 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6090 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6091 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6092 | | CSKY_ISA_DSP_ENHANCE), |
6093 | | OP32 ("mula.s32.rhs", |
6094 | | OPCODE_INFO3 (0xf8008780, |
6095 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6096 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6097 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6098 | | CSKY_ISA_DSP_ENHANCE), |
6099 | | OP32 ("muls.s32.rhs", |
6100 | | OPCODE_INFO3 (0xf80087c0, |
6101 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6102 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6103 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6104 | | CSKY_ISA_DSP_ENHANCE), |
6105 | | OP32 ("mulxl.s32", |
6106 | | OPCODE_INFO3 (0xf8008800, |
6107 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6108 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6109 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6110 | | CSKY_ISA_DSP_ENHANCE), |
6111 | | OP32 ("mulxl.s32.r", |
6112 | | OPCODE_INFO3 (0xf8008a00, |
6113 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6114 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6115 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6116 | | CSKY_ISA_DSP_ENHANCE), |
6117 | | OP32 ("mulxh.s32", |
6118 | | OPCODE_INFO3 (0xf8008c00, |
6119 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6120 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6121 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6122 | | CSKY_ISA_DSP_ENHANCE), |
6123 | | OP32 ("mulxh.s32.r", |
6124 | | OPCODE_INFO3 (0xf8008e00, |
6125 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6126 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6127 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6128 | | CSKY_ISA_DSP_ENHANCE), |
6129 | | OP32 ("rmulxl.s32", |
6130 | | OPCODE_INFO3 (0xf8008900, |
6131 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6132 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6133 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6134 | | CSKY_ISA_DSP_ENHANCE), |
6135 | | OP32 ("rmulxl.s32.r", |
6136 | | OPCODE_INFO3 (0xf8008b00, |
6137 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6138 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6139 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6140 | | CSKY_ISA_DSP_ENHANCE), |
6141 | | OP32 ("rmulxh.s32", |
6142 | | OPCODE_INFO3 (0xf8008d00, |
6143 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6144 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6145 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6146 | | CSKY_ISA_DSP_ENHANCE), |
6147 | | OP32 ("rmulxh.s32.r", |
6148 | | OPCODE_INFO3 (0xf8008f00, |
6149 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6150 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6151 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6152 | | CSKY_ISA_DSP_ENHANCE), |
6153 | | OP32 ("mulaxl.s32.s", |
6154 | | OPCODE_INFO3 (0xf8008980, |
6155 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6156 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6157 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6158 | | CSKY_ISA_DSP_ENHANCE), |
6159 | | OP32 ("mulaxl.s32.rs", |
6160 | | OPCODE_INFO3 (0xf8008b80, |
6161 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6162 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6163 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6164 | | CSKY_ISA_DSP_ENHANCE), |
6165 | | OP32 ("mulaxh.s32.s", |
6166 | | OPCODE_INFO3 (0xf8008d80, |
6167 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6168 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6169 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6170 | | CSKY_ISA_DSP_ENHANCE), |
6171 | | OP32 ("mulaxh.s32.rs", |
6172 | | OPCODE_INFO3 (0xf8008f80, |
6173 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6174 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6175 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6176 | | CSKY_ISA_DSP_ENHANCE), |
6177 | | OP32 ("mulll.s16", |
6178 | | OPCODE_INFO3 (0xf8008020, |
6179 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6180 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6181 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6182 | | CSKY_ISA_DSP_ENHANCE), |
6183 | | OP32 ("mulhh.s16", |
6184 | | OPCODE_INFO3 (0xf8008260, |
6185 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6186 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6187 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6188 | | CSKY_ISA_DSP_ENHANCE), |
6189 | | OP32 ("mulhl.s16", |
6190 | | OPCODE_INFO3 (0xf8008220, |
6191 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6192 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6193 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6194 | | CSKY_ISA_DSP_ENHANCE), |
6195 | | OP32 ("rmulll.s16", |
6196 | | OPCODE_INFO3 (0xf8008120, |
6197 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6198 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6199 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6200 | | CSKY_ISA_DSP_ENHANCE), |
6201 | | OP32 ("rmulhh.s16", |
6202 | | OPCODE_INFO3 (0xf8008360, |
6203 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6204 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6205 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6206 | | CSKY_ISA_DSP_ENHANCE), |
6207 | | OP32 ("rmulhl.s16", |
6208 | | OPCODE_INFO3 (0xf8008320, |
6209 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6210 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6211 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6212 | | CSKY_ISA_DSP_ENHANCE), |
6213 | | OP32 ("mulahh.s16.s", |
6214 | | OPCODE_INFO3 (0xf80083e0, |
6215 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6216 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6217 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6218 | | CSKY_ISA_DSP_ENHANCE), |
6219 | | OP32 ("mulahl.s16.s", |
6220 | | OPCODE_INFO3 (0xf80083a0, |
6221 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6222 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6223 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6224 | | CSKY_ISA_DSP_ENHANCE), |
6225 | | OP32 ("mulall.s16.e", |
6226 | | OPCODE_INFO3 (0xf80080a0, |
6227 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6228 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6229 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6230 | | CSKY_ISA_DSP_ENHANCE), |
6231 | | OP32 ("mulahh.s16.e", |
6232 | | OPCODE_INFO3 (0xf80082e0, |
6233 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6234 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6235 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6236 | | CSKY_ISA_DSP_ENHANCE), |
6237 | | OP32 ("mulahl.s16.e", |
6238 | | OPCODE_INFO3 (0xf80080e0, |
6239 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6240 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6241 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6242 | | CSKY_ISA_DSP_ENHANCE), |
6243 | | OP32 ("pmul.u16", |
6244 | | OPCODE_INFO3 (0xf80084a0, |
6245 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6246 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6247 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6248 | | CSKY_ISA_DSP_ENHANCE), |
6249 | | OP32 ("pmulx.u16", |
6250 | | OPCODE_INFO3 (0xf80084e0, |
6251 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6252 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6253 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6254 | | CSKY_ISA_DSP_ENHANCE), |
6255 | | OP32 ("pmul.s16", |
6256 | | OPCODE_INFO3 (0xf8008420, |
6257 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6258 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6259 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6260 | | CSKY_ISA_DSP_ENHANCE), |
6261 | | OP32 ("pmulx.s16", |
6262 | | OPCODE_INFO3 (0xf8008460, |
6263 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6264 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6265 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6266 | | CSKY_ISA_DSP_ENHANCE), |
6267 | | OP32 ("prmul.s16", |
6268 | | OPCODE_INFO3 (0xf8008520, |
6269 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6270 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6271 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6272 | | CSKY_ISA_DSP_ENHANCE), |
6273 | | OP32 ("prmulx.s16", |
6274 | | OPCODE_INFO3 (0xf8008560, |
6275 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6276 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6277 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6278 | | CSKY_ISA_DSP_ENHANCE), |
6279 | | OP32 ("prmul.s16.h", |
6280 | | OPCODE_INFO3 (0xf80085a0, |
6281 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6282 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6283 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6284 | | CSKY_ISA_DSP_ENHANCE), |
6285 | | OP32 ("prmul.s16.rh", |
6286 | | OPCODE_INFO3 (0xf80087a0, |
6287 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6288 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6289 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6290 | | CSKY_ISA_DSP_ENHANCE), |
6291 | | OP32 ("prmulx.s16.h", |
6292 | | OPCODE_INFO3 (0xf80085e0, |
6293 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6294 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6295 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6296 | | CSKY_ISA_DSP_ENHANCE), |
6297 | | OP32 ("prmulx.s16.rh", |
6298 | | OPCODE_INFO3 (0xf80087e0, |
6299 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6300 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6301 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6302 | | CSKY_ISA_DSP_ENHANCE), |
6303 | | OP32 ("mulca.s16.s", |
6304 | | OPCODE_INFO3 (0xf8008920, |
6305 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6306 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6307 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6308 | | CSKY_ISA_DSP_ENHANCE), |
6309 | | OP32 ("mulcax.s16.s", |
6310 | | OPCODE_INFO3 (0xf8008960, |
6311 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6312 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6313 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6314 | | CSKY_ISA_DSP_ENHANCE), |
6315 | | OP32 ("mulcs.s16", |
6316 | | OPCODE_INFO3 (0xf8008a20, |
6317 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6318 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6319 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6320 | | CSKY_ISA_DSP_ENHANCE), |
6321 | | OP32 ("mulcsr.s16", |
6322 | | OPCODE_INFO3 (0xf8008a60, |
6323 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6324 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6325 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6326 | | CSKY_ISA_DSP_ENHANCE), |
6327 | | OP32 ("mulcsx.s16", |
6328 | | OPCODE_INFO3 (0xf8008c20, |
6329 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6330 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6331 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6332 | | CSKY_ISA_DSP_ENHANCE), |
6333 | | OP32 ("mulaca.s16.s", |
6334 | | OPCODE_INFO3 (0xf80089a0, |
6335 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6336 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6337 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6338 | | CSKY_ISA_DSP_ENHANCE), |
6339 | | OP32 ("mulacax.s16.s", |
6340 | | OPCODE_INFO3 (0xf80089e0, |
6341 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6342 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6343 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6344 | | CSKY_ISA_DSP_ENHANCE), |
6345 | | OP32 ("mulacs.s16.s", |
6346 | | OPCODE_INFO3 (0xf8008ba0, |
6347 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6348 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6349 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6350 | | CSKY_ISA_DSP_ENHANCE), |
6351 | | OP32 ("mulacsr.s16.s", |
6352 | | OPCODE_INFO3 (0xf8008be0, |
6353 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6354 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6355 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6356 | | CSKY_ISA_DSP_ENHANCE), |
6357 | | OP32 ("mulacsx.s16.s", |
6358 | | OPCODE_INFO3 (0xf8008da0, |
6359 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6360 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6361 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6362 | | CSKY_ISA_DSP_ENHANCE), |
6363 | | OP32 ("mulsca.s16.s", |
6364 | | OPCODE_INFO3 (0xf8008de0, |
6365 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6366 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6367 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6368 | | CSKY_ISA_DSP_ENHANCE), |
6369 | | OP32 ("mulscax.s16.s", |
6370 | | OPCODE_INFO3 (0xf8008fa0, |
6371 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6372 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6373 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6374 | | CSKY_ISA_DSP_ENHANCE), |
6375 | | OP32 ("mulaca.s16.e", |
6376 | | OPCODE_INFO3 (0xf80088a0, |
6377 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6378 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6379 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6380 | | CSKY_ISA_DSP_ENHANCE), |
6381 | | OP32 ("mulacax.s16.e", |
6382 | | OPCODE_INFO3 (0xf80088e0, |
6383 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6384 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6385 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6386 | | CSKY_ISA_DSP_ENHANCE), |
6387 | | OP32 ("mulacs.s16.e", |
6388 | | OPCODE_INFO3 (0xf8008aa0, |
6389 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6390 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6391 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6392 | | CSKY_ISA_DSP_ENHANCE), |
6393 | | OP32 ("mulacsr.s16.e", |
6394 | | OPCODE_INFO3 (0xf8008ae0, |
6395 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6396 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6397 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6398 | | CSKY_ISA_DSP_ENHANCE), |
6399 | | OP32 ("mulacsx.s16.e", |
6400 | | OPCODE_INFO3 (0xf8008ca0, |
6401 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6402 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6403 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6404 | | CSKY_ISA_DSP_ENHANCE), |
6405 | | OP32 ("mulsca.s16.e", |
6406 | | OPCODE_INFO3 (0xf8008ce0, |
6407 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6408 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6409 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6410 | | CSKY_ISA_DSP_ENHANCE), |
6411 | | OP32 ("mulscax.s16.e", |
6412 | | OPCODE_INFO3 (0xf8008ea0, |
6413 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6414 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
6415 | | (21_25, AREG, OPRND_SHIFT_0_BIT)), |
6416 | | CSKY_ISA_DSP_ENHANCE), |
6417 | | |
6418 | | /* The followings are vdsp instructions for ck810. */ |
6419 | | OP32 ("vdup.8", |
6420 | | OPCODE_INFO2 (0xf8000e80, |
6421 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6422 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6423 | | CSKY_ISA_VDSP), |
6424 | | OP32 ("vdup.16", |
6425 | | OPCODE_INFO2 (0xf8100e80, |
6426 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6427 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6428 | | CSKY_ISA_VDSP), |
6429 | | OP32 ("vdup.32", |
6430 | | OPCODE_INFO2 (0xfa000e80, |
6431 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6432 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6433 | | CSKY_ISA_VDSP), |
6434 | | OP32 ("vmfvr.u8", |
6435 | | OPCODE_INFO2 (0xf8001200, |
6436 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6437 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6438 | | CSKY_ISA_VDSP), |
6439 | | OP32 ("vmfvr.u16", |
6440 | | OPCODE_INFO2 (0xf8001220, |
6441 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6442 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6443 | | CSKY_ISA_VDSP), |
6444 | | OP32 ("vmfvr.u32", |
6445 | | OPCODE_INFO2 (0xf8001240, |
6446 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6447 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6448 | | CSKY_ISA_VDSP), |
6449 | | OP32 ("vmfvr.s8", |
6450 | | OPCODE_INFO2 (0xf8001280, |
6451 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6452 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6453 | | CSKY_ISA_VDSP), |
6454 | | OP32 ("vmfvr.s16", |
6455 | | OPCODE_INFO2 (0xf80012a0, |
6456 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
6457 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6458 | | CSKY_ISA_VDSP), |
6459 | | OP32 ("vmtvr.u8", |
6460 | | OPCODE_INFO2 (0xf8001300, |
6461 | | (0_3or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT), |
6462 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
6463 | | CSKY_ISA_VDSP), |
6464 | | OP32 ("vmtvr.u16", |
6465 | | OPCODE_INFO2 (0xf8001320, |
6466 | | (0_3or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT), |
6467 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
6468 | | CSKY_ISA_VDSP), |
6469 | | OP32 ("vins.8", |
6470 | | OPCODE_INFO2 (0xf8001400, |
6471 | | (0_3or5_8, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT), |
6472 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6473 | | CSKY_ISA_VDSP), |
6474 | | OP32 ("vins.16", |
6475 | | OPCODE_INFO2 (0xf8101400, |
6476 | | (0_3or5_8, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT), |
6477 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6478 | | CSKY_ISA_VDSP), |
6479 | | OP32 ("vins.32", |
6480 | | OPCODE_INFO2 (0xfa001400, |
6481 | | (0_3or5_8, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT), |
6482 | | (16_19or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT)), |
6483 | | CSKY_ISA_VDSP), |
6484 | | OP32 ("vmtvr.u32", |
6485 | | OPCODE_INFO2 (0xf8001340, |
6486 | | (0_3or21_24, VREG_WITH_INDEX, OPRND_SHIFT_0_BIT), |
6487 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
6488 | | CSKY_ISA_VDSP), |
6489 | | OP32 ("vldd.8", |
6490 | | SOPCODE_INFO2 (0xf8002000, |
6491 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6492 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6493 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))), |
6494 | | CSKY_ISA_VDSP), |
6495 | | OP32 ("vldd.16", |
6496 | | SOPCODE_INFO2 (0xf8002100, |
6497 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6498 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6499 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))), |
6500 | | CSKY_ISA_VDSP), |
6501 | | OP32 ("vldd.32", |
6502 | | SOPCODE_INFO2 (0xf8002200, |
6503 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6504 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6505 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))), |
6506 | | CSKY_ISA_VDSP), |
6507 | | OP32 ("vldq.8", |
6508 | | SOPCODE_INFO2 (0xf8002400, |
6509 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6510 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6511 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))), |
6512 | | CSKY_ISA_VDSP), |
6513 | | OP32 ("vldq.16", |
6514 | | SOPCODE_INFO2 (0xf8002500, |
6515 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6516 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6517 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))), |
6518 | | CSKY_ISA_VDSP), |
6519 | | OP32 ("vldq.32", |
6520 | | SOPCODE_INFO2 (0xf8002600, |
6521 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6522 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6523 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))), |
6524 | | CSKY_ISA_VDSP), |
6525 | | OP32 ("vstd.8", |
6526 | | SOPCODE_INFO2 (0xf8002800, |
6527 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6528 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6529 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))), |
6530 | | CSKY_ISA_VDSP), |
6531 | | OP32 ("vstd.16", |
6532 | | SOPCODE_INFO2 (0xf8002900, |
6533 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6534 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6535 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))), |
6536 | | CSKY_ISA_VDSP), |
6537 | | OP32 ("vstd.32", |
6538 | | SOPCODE_INFO2 (0xf8002a00, |
6539 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6540 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6541 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_3_BIT))), |
6542 | | CSKY_ISA_VDSP), |
6543 | | OP32 ("vstq.8", |
6544 | | SOPCODE_INFO2 (0xf8002c00, |
6545 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6546 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6547 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))), |
6548 | | CSKY_ISA_VDSP), |
6549 | | OP32 ("vstq.16", |
6550 | | SOPCODE_INFO2 (0xf8002d00, |
6551 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6552 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6553 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))), |
6554 | | CSKY_ISA_VDSP), |
6555 | | OP32 ("vstq.32", |
6556 | | SOPCODE_INFO2 (0xf8002e00, |
6557 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6558 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6559 | | (4_7or21_24, IMM_FLDST, OPRND_SHIFT_4_BIT))), |
6560 | | CSKY_ISA_VDSP), |
6561 | | OP32 ("vldrd.8", |
6562 | | SOPCODE_INFO2 (0xf8003000, |
6563 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6564 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6565 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6566 | | CSKY_ISA_VDSP), |
6567 | | OP32 ("vldrd.16", |
6568 | | SOPCODE_INFO2 (0xf8003100, |
6569 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6570 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6571 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6572 | | CSKY_ISA_VDSP), |
6573 | | OP32 ("vldrd.32", |
6574 | | SOPCODE_INFO2 (0xf8003200, |
6575 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6576 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6577 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6578 | | CSKY_ISA_VDSP), |
6579 | | OP32 ("vldrq.8", |
6580 | | SOPCODE_INFO2 (0xf8003400, |
6581 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6582 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6583 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6584 | | CSKY_ISA_VDSP), |
6585 | | OP32 ("vldrq.16", |
6586 | | SOPCODE_INFO2 (0xf8003500, |
6587 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6588 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6589 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6590 | | CSKY_ISA_VDSP), |
6591 | | OP32 ("vldrq.32", |
6592 | | SOPCODE_INFO2 (0xf8003600, |
6593 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6594 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6595 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6596 | | CSKY_ISA_VDSP), |
6597 | | OP32 ("vstrd.8", |
6598 | | SOPCODE_INFO2 (0xf8003800, |
6599 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6600 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6601 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6602 | | CSKY_ISA_VDSP), |
6603 | | OP32 ("vstrd.16", |
6604 | | SOPCODE_INFO2 (0xf8003900, |
6605 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6606 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6607 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6608 | | CSKY_ISA_VDSP), |
6609 | | OP32 ("vstrd.32", |
6610 | | SOPCODE_INFO2 (0xf8003a00, |
6611 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6612 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6613 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6614 | | CSKY_ISA_VDSP), |
6615 | | OP32 ("vstrq.8", |
6616 | | SOPCODE_INFO2 (0xf8003c00, |
6617 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6618 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6619 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6620 | | CSKY_ISA_VDSP), |
6621 | | OP32 ("vstrq.16", |
6622 | | SOPCODE_INFO2 (0xf8003d00, |
6623 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6624 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6625 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6626 | | CSKY_ISA_VDSP), |
6627 | | OP32 ("vstrq.32", |
6628 | | SOPCODE_INFO2 (0xf8003e00, |
6629 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6630 | | BRACKET_OPRND ((16_20, AREG, OPRND_SHIFT_0_BIT), |
6631 | | (5_6or21_25, AREG_WITH_LSHIFT_FPU, OPRND_SHIFT_0_BIT))), |
6632 | | CSKY_ISA_VDSP), |
6633 | | OP32 ("vmov", |
6634 | | OPCODE_INFO2 (0xf8000c00, |
6635 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6636 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6637 | | CSKY_ISA_VDSP), |
6638 | | OP32 ("vcadd.eu8", |
6639 | | OPCODE_INFO2 (0xf8000060, |
6640 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6641 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6642 | | CSKY_ISA_VDSP), |
6643 | | OP32 ("vcadd.eu16", |
6644 | | OPCODE_INFO2 (0xf8100060, |
6645 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6646 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6647 | | CSKY_ISA_VDSP), |
6648 | | OP32 ("vcadd.es8", |
6649 | | OPCODE_INFO2 (0xf8000070, |
6650 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6651 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6652 | | CSKY_ISA_VDSP), |
6653 | | OP32 ("vcadd.es16", |
6654 | | OPCODE_INFO2 (0xf8100070, |
6655 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6656 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6657 | | CSKY_ISA_VDSP), |
6658 | | OP32 ("vmov.eu8", |
6659 | | OPCODE_INFO2 (0xf8000c20, |
6660 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6661 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6662 | | CSKY_ISA_VDSP), |
6663 | | OP32 ("vmov.eu16", |
6664 | | OPCODE_INFO2 (0xf8100c20, |
6665 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6666 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6667 | | CSKY_ISA_VDSP), |
6668 | | OP32 ("vmov.es8", |
6669 | | OPCODE_INFO2 (0xf8000c30, |
6670 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6671 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6672 | | CSKY_ISA_VDSP), |
6673 | | OP32 ("vmov.es16", |
6674 | | OPCODE_INFO2 (0xf8100c30, |
6675 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6676 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6677 | | CSKY_ISA_VDSP), |
6678 | | OP32 ("vmov.u16.l", |
6679 | | OPCODE_INFO2 (0xf8100d00, |
6680 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6681 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6682 | | CSKY_ISA_VDSP), |
6683 | | OP32 ("vmov.u32.l", |
6684 | | OPCODE_INFO2 (0xfa000d00, |
6685 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6686 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6687 | | CSKY_ISA_VDSP), |
6688 | | OP32 ("vmov.s16.l", |
6689 | | OPCODE_INFO2 (0xf8100d10, |
6690 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6691 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6692 | | CSKY_ISA_VDSP), |
6693 | | OP32 ("vmov.s32.l", |
6694 | | OPCODE_INFO2 (0xfa000d10, |
6695 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6696 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6697 | | CSKY_ISA_VDSP), |
6698 | | OP32 ("vmov.u16.sl", |
6699 | | OPCODE_INFO2 (0xf8100d40, |
6700 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6701 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6702 | | CSKY_ISA_VDSP), |
6703 | | OP32 ("vmov.u32.sl", |
6704 | | OPCODE_INFO2 (0xfa000d40, |
6705 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6706 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6707 | | CSKY_ISA_VDSP), |
6708 | | OP32 ("vmov.s16.sl", |
6709 | | OPCODE_INFO2 (0xf8100d50, |
6710 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6711 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6712 | | CSKY_ISA_VDSP), |
6713 | | OP32 ("vmov.s32.sl", |
6714 | | OPCODE_INFO2 (0xfa000d50, |
6715 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6716 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6717 | | CSKY_ISA_VDSP), |
6718 | | OP32 ("vmov.u16.h", |
6719 | | OPCODE_INFO2 (0xf8100d60, |
6720 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6721 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6722 | | CSKY_ISA_VDSP), |
6723 | | OP32 ("vmov.u32.h", |
6724 | | OPCODE_INFO2 (0xfa000d60, |
6725 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6726 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6727 | | CSKY_ISA_VDSP), |
6728 | | OP32 ("vmov.s16.h", |
6729 | | OPCODE_INFO2 (0xf8100d70, |
6730 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6731 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6732 | | CSKY_ISA_VDSP), |
6733 | | OP32 ("vmov.s32.h", |
6734 | | OPCODE_INFO2 (0xfa000d70, |
6735 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6736 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6737 | | CSKY_ISA_VDSP), |
6738 | | OP32 ("vmov.u16.rh", |
6739 | | OPCODE_INFO2 (0xf8100d80, |
6740 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6741 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6742 | | CSKY_ISA_VDSP), |
6743 | | OP32 ("vmov.u32.rh", |
6744 | | OPCODE_INFO2 (0xfa000d80, |
6745 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6746 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6747 | | CSKY_ISA_VDSP), |
6748 | | OP32 ("vmov.s16.rh", |
6749 | | OPCODE_INFO2 (0xf8100d90, |
6750 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6751 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6752 | | CSKY_ISA_VDSP), |
6753 | | OP32 ("vmov.s32.rh", |
6754 | | OPCODE_INFO2 (0xfa000d90, |
6755 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6756 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6757 | | CSKY_ISA_VDSP), |
6758 | | OP32 ("vstou.u16.sl", |
6759 | | OPCODE_INFO2 (0xf8100dc0, |
6760 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6761 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6762 | | CSKY_ISA_VDSP), |
6763 | | OP32 ("vstou.u32.sl", |
6764 | | OPCODE_INFO2 (0xfa000dc0, |
6765 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6766 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6767 | | CSKY_ISA_VDSP), |
6768 | | OP32 ("vstou.s16.sl", |
6769 | | OPCODE_INFO2 (0xf8100dd0, |
6770 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6771 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6772 | | CSKY_ISA_VDSP), |
6773 | | OP32 ("vstou.s32.sl", |
6774 | | OPCODE_INFO2 (0xfa000dd0, |
6775 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6776 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6777 | | CSKY_ISA_VDSP), |
6778 | | OP32 ("vrev.8", |
6779 | | OPCODE_INFO2 (0xf8000e60, |
6780 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6781 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6782 | | CSKY_ISA_VDSP), |
6783 | | OP32 ("vrev.16", |
6784 | | OPCODE_INFO2 (0xf8100e60, |
6785 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6786 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6787 | | CSKY_ISA_VDSP), |
6788 | | OP32 ("vrev.32", |
6789 | | OPCODE_INFO2 (0xfa000e60, |
6790 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6791 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6792 | | CSKY_ISA_VDSP), |
6793 | | OP32 ("vcnt1.8", |
6794 | | OPCODE_INFO2 (0xf8000ea0, |
6795 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6796 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6797 | | CSKY_ISA_VDSP), |
6798 | | OP32 ("vclz.8", |
6799 | | OPCODE_INFO2 (0xf8000ec0, |
6800 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6801 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6802 | | CSKY_ISA_VDSP), |
6803 | | OP32 ("vclz.16", |
6804 | | OPCODE_INFO2 (0xf8100ec0, |
6805 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6806 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6807 | | CSKY_ISA_VDSP), |
6808 | | OP32 ("vclz.32", |
6809 | | OPCODE_INFO2 (0xfa000ec0, |
6810 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6811 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6812 | | CSKY_ISA_VDSP), |
6813 | | OP32 ("vcls.u8", |
6814 | | OPCODE_INFO2 (0xf8000ee0, |
6815 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6816 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6817 | | CSKY_ISA_VDSP), |
6818 | | OP32 ("vcls.u16", |
6819 | | OPCODE_INFO2 (0xf8100ee0, |
6820 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6821 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6822 | | CSKY_ISA_VDSP), |
6823 | | OP32 ("vcls.u32", |
6824 | | OPCODE_INFO2 (0xfa000ee0, |
6825 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6826 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6827 | | CSKY_ISA_VDSP), |
6828 | | OP32 ("vcls.s8", |
6829 | | OPCODE_INFO2 (0xf8000ef0, |
6830 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6831 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6832 | | CSKY_ISA_VDSP), |
6833 | | OP32 ("vcls.s16", |
6834 | | OPCODE_INFO2 (0xf8100ef0, |
6835 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6836 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6837 | | CSKY_ISA_VDSP), |
6838 | | OP32 ("vcls.s32", |
6839 | | OPCODE_INFO2 (0xfa000ef0, |
6840 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6841 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6842 | | CSKY_ISA_VDSP), |
6843 | | OP32 ("vabs.s8", |
6844 | | OPCODE_INFO2 (0xf8001010, |
6845 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6846 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6847 | | CSKY_ISA_VDSP), |
6848 | | OP32 ("vabs.s16", |
6849 | | OPCODE_INFO2 (0xf8101010, |
6850 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6851 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6852 | | CSKY_ISA_VDSP), |
6853 | | OP32 ("vabs.s32", |
6854 | | OPCODE_INFO2 (0xfa001010, |
6855 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6856 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6857 | | CSKY_ISA_VDSP), |
6858 | | OP32 ("vabs.u8.s", |
6859 | | OPCODE_INFO2 (0xf8001040, |
6860 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6861 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6862 | | CSKY_ISA_VDSP), |
6863 | | OP32 ("vabs.u16.s", |
6864 | | OPCODE_INFO2 (0xf8101040, |
6865 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6866 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6867 | | CSKY_ISA_VDSP), |
6868 | | OP32 ("vabs.u32.s", |
6869 | | OPCODE_INFO2 (0xfa001040, |
6870 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6871 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6872 | | CSKY_ISA_VDSP), |
6873 | | OP32 ("vabs.s8.s", |
6874 | | OPCODE_INFO2 (0xf8001050, |
6875 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6876 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6877 | | CSKY_ISA_VDSP), |
6878 | | OP32 ("vabs.s16.s", |
6879 | | OPCODE_INFO2 (0xf8101050, |
6880 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6881 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6882 | | CSKY_ISA_VDSP), |
6883 | | OP32 ("vabs.s32.s", |
6884 | | OPCODE_INFO2 (0xfa001050, |
6885 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6886 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6887 | | CSKY_ISA_VDSP), |
6888 | | OP32 ("vneg.u8", |
6889 | | OPCODE_INFO2 (0xf8001080, |
6890 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6891 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6892 | | CSKY_ISA_VDSP), |
6893 | | OP32 ("vneg.u16", |
6894 | | OPCODE_INFO2 (0xf8101080, |
6895 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6896 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6897 | | CSKY_ISA_VDSP), |
6898 | | OP32 ("vneg.u32", |
6899 | | OPCODE_INFO2 (0xfa001080, |
6900 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6901 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6902 | | CSKY_ISA_VDSP), |
6903 | | OP32 ("vneg.s8", |
6904 | | OPCODE_INFO2 (0xf8001090, |
6905 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6906 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6907 | | CSKY_ISA_VDSP), |
6908 | | OP32 ("vneg.s16", |
6909 | | OPCODE_INFO2 (0xf8101090, |
6910 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6911 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6912 | | CSKY_ISA_VDSP), |
6913 | | OP32 ("vneg.s32", |
6914 | | OPCODE_INFO2 (0xfa001090, |
6915 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6916 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6917 | | CSKY_ISA_VDSP), |
6918 | | OP32 ("vneg.u8.s", |
6919 | | OPCODE_INFO2 (0xf80010c0, |
6920 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6921 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6922 | | CSKY_ISA_VDSP), |
6923 | | OP32 ("vneg.u16.s", |
6924 | | OPCODE_INFO2 (0xf81010c0, |
6925 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6926 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6927 | | CSKY_ISA_VDSP), |
6928 | | OP32 ("vneg.u32.s", |
6929 | | OPCODE_INFO2 (0xfa0010c0, |
6930 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6931 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6932 | | CSKY_ISA_VDSP), |
6933 | | OP32 ("vneg.s8.s", |
6934 | | OPCODE_INFO2 (0xf80010d0, |
6935 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6936 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6937 | | CSKY_ISA_VDSP), |
6938 | | OP32 ("vneg.s16.s", |
6939 | | OPCODE_INFO2 (0xf81010d0, |
6940 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6941 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6942 | | CSKY_ISA_VDSP), |
6943 | | OP32 ("vneg.s32.s", |
6944 | | OPCODE_INFO2 (0xfa0010d0, |
6945 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6946 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6947 | | CSKY_ISA_VDSP), |
6948 | | OP32 ("vcmphsz.u8", |
6949 | | OPCODE_INFO2 (0xf8000880, |
6950 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6951 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6952 | | CSKY_ISA_VDSP), |
6953 | | OP32 ("vcmphsz.u16", |
6954 | | OPCODE_INFO2 (0xf8100880, |
6955 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6956 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6957 | | CSKY_ISA_VDSP), |
6958 | | OP32 ("vcmphsz.u32", |
6959 | | OPCODE_INFO2 (0xfa000880, |
6960 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6961 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6962 | | CSKY_ISA_VDSP), |
6963 | | OP32 ("vcmphsz.s8", |
6964 | | OPCODE_INFO2 (0xf8000890, |
6965 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6966 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6967 | | CSKY_ISA_VDSP), |
6968 | | OP32 ("vcmphsz.s16", |
6969 | | OPCODE_INFO2 (0xf8100890, |
6970 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6971 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6972 | | CSKY_ISA_VDSP), |
6973 | | OP32 ("vcmphsz.s32", |
6974 | | OPCODE_INFO2 (0xfa000890, |
6975 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6976 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6977 | | CSKY_ISA_VDSP), |
6978 | | OP32 ("vcmpltz.u8", |
6979 | | OPCODE_INFO2 (0xf80008a0, |
6980 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6981 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6982 | | CSKY_ISA_VDSP), |
6983 | | OP32 ("vcmpltz.u16", |
6984 | | OPCODE_INFO2 (0xf81008a0, |
6985 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6986 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6987 | | CSKY_ISA_VDSP), |
6988 | | OP32 ("vcmpltz.u32", |
6989 | | OPCODE_INFO2 (0xfa0008a0, |
6990 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6991 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6992 | | CSKY_ISA_VDSP), |
6993 | | OP32 ("vcmpltz.s8", |
6994 | | OPCODE_INFO2 (0xf80008b0, |
6995 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
6996 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
6997 | | CSKY_ISA_VDSP), |
6998 | | OP32 ("vcmpltz.s16", |
6999 | | OPCODE_INFO2 (0xf81008b0, |
7000 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7001 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
7002 | | CSKY_ISA_VDSP), |
7003 | | OP32 ("vcmpltz.s32", |
7004 | | OPCODE_INFO2 (0xfa0008b0, |
7005 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7006 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
7007 | | CSKY_ISA_VDSP), |
7008 | | OP32 ("vcmpnez.u8", |
7009 | | OPCODE_INFO2 (0xf80008c0, |
7010 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7011 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
7012 | | CSKY_ISA_VDSP), |
7013 | | OP32 ("vcmpnez.u16", |
7014 | | OPCODE_INFO2 (0xf81008c0, |
7015 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7016 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
7017 | | CSKY_ISA_VDSP), |
7018 | | OP32 ("vcmpnez.u32", |
7019 | | OPCODE_INFO2 (0xfa0008c0, |
7020 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7021 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
7022 | | CSKY_ISA_VDSP), |
7023 | | OP32 ("vcmpnez.s8", |
7024 | | OPCODE_INFO2 (0xf80008d0, |
7025 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7026 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
7027 | | CSKY_ISA_VDSP), |
7028 | | OP32 ("vcmpnez.s16", |
7029 | | OPCODE_INFO2 (0xf81008d0, |
7030 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7031 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
7032 | | CSKY_ISA_VDSP), |
7033 | | OP32 ("vcmpnez.s32", |
7034 | | OPCODE_INFO2 (0xfa0008d0, |
7035 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7036 | | (16_19, VREG, OPRND_SHIFT_0_BIT)), |
7037 | | CSKY_ISA_VDSP), |
7038 | | OP32 ("vtrch.8", |
7039 | | OPCODE_INFO3 (0xf8000f40, |
7040 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7041 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7042 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7043 | | CSKY_ISA_VDSP), |
7044 | | OP32 ("vtrch.16", |
7045 | | OPCODE_INFO3 (0xf8100f40, |
7046 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7047 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7048 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7049 | | CSKY_ISA_VDSP), |
7050 | | OP32 ("vtrch.32", |
7051 | | OPCODE_INFO3 (0xfa000f40, |
7052 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7053 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7054 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7055 | | CSKY_ISA_VDSP), |
7056 | | OP32 ("vtrcl.8", |
7057 | | OPCODE_INFO3 (0xf8000f60, |
7058 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7059 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7060 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7061 | | CSKY_ISA_VDSP), |
7062 | | OP32 ("vtrcl.16", |
7063 | | OPCODE_INFO3 (0xf8100f60, |
7064 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7065 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7066 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7067 | | CSKY_ISA_VDSP), |
7068 | | OP32 ("vtrcl.32", |
7069 | | OPCODE_INFO3 (0xfa000f60, |
7070 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7071 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7072 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7073 | | CSKY_ISA_VDSP), |
7074 | | OP32 ("vadd.u8", |
7075 | | OPCODE_INFO3 (0xf8000000, |
7076 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7077 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7078 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7079 | | CSKY_ISA_VDSP), |
7080 | | OP32 ("vadd.u16", |
7081 | | OPCODE_INFO3 (0xf8100000, |
7082 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7083 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7084 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7085 | | CSKY_ISA_VDSP), |
7086 | | OP32 ("vadd.u32", |
7087 | | OPCODE_INFO3 (0xfa000000, |
7088 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7089 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7090 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7091 | | CSKY_ISA_VDSP), |
7092 | | OP32 ("vadd.s8", |
7093 | | OPCODE_INFO3 (0xf8000010, |
7094 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7095 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7096 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7097 | | CSKY_ISA_VDSP), |
7098 | | OP32 ("vadd.s16", |
7099 | | OPCODE_INFO3 (0xf8100010, |
7100 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7101 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7102 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7103 | | CSKY_ISA_VDSP), |
7104 | | OP32 ("vadd.s32", |
7105 | | OPCODE_INFO3 (0xfa000010, |
7106 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7107 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7108 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7109 | | CSKY_ISA_VDSP), |
7110 | | OP32 ("vadd.eu8", |
7111 | | OPCODE_INFO3 (0xf8000020, |
7112 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7113 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7114 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7115 | | CSKY_ISA_VDSP), |
7116 | | OP32 ("vadd.eu16", |
7117 | | OPCODE_INFO3 (0xf8100020, |
7118 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7119 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7120 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7121 | | CSKY_ISA_VDSP), |
7122 | | OP32 ("vadd.es8", |
7123 | | OPCODE_INFO3 (0xf8000030, |
7124 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7125 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7126 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7127 | | CSKY_ISA_VDSP), |
7128 | | OP32 ("vadd.es16", |
7129 | | OPCODE_INFO3 (0xf8100030, |
7130 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7131 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7132 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7133 | | CSKY_ISA_VDSP), |
7134 | | OP32 ("vcadd.u8", |
7135 | | OPCODE_INFO3 (0xf8000040, |
7136 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7137 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7138 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7139 | | CSKY_ISA_VDSP), |
7140 | | OP32 ("vcadd.u16", |
7141 | | OPCODE_INFO3 (0xf8100040, |
7142 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7143 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7144 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7145 | | CSKY_ISA_VDSP), |
7146 | | OP32 ("vcadd.u32", |
7147 | | OPCODE_INFO3 (0xfa000040, |
7148 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7149 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7150 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7151 | | CSKY_ISA_VDSP), |
7152 | | OP32 ("vcadd.s8", |
7153 | | OPCODE_INFO3 (0xf8000050, |
7154 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7155 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7156 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7157 | | CSKY_ISA_VDSP), |
7158 | | OP32 ("vcadd.s16", |
7159 | | OPCODE_INFO3 (0xf8100050, |
7160 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7161 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7162 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7163 | | CSKY_ISA_VDSP), |
7164 | | OP32 ("vcadd.s32", |
7165 | | OPCODE_INFO3 (0xfa000050, |
7166 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7167 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7168 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7169 | | CSKY_ISA_VDSP), |
7170 | | OP32 ("vadd.xu16.sl", |
7171 | | OPCODE_INFO3 (0xf8100140, |
7172 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7173 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7174 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7175 | | CSKY_ISA_VDSP), |
7176 | | OP32 ("vadd.xu32.sl", |
7177 | | OPCODE_INFO3 (0xfa000140, |
7178 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7179 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7180 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7181 | | CSKY_ISA_VDSP), |
7182 | | OP32 ("vadd.xs16.sl", |
7183 | | OPCODE_INFO3 (0xf8100150, |
7184 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7185 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7186 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7187 | | CSKY_ISA_VDSP), |
7188 | | OP32 ("vadd.xs32.sl", |
7189 | | OPCODE_INFO3 (0xfa000150, |
7190 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7191 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7192 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7193 | | CSKY_ISA_VDSP), |
7194 | | OP32 ("vadd.xu16", |
7195 | | OPCODE_INFO3 (0xf8100160, |
7196 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7197 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7198 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7199 | | CSKY_ISA_VDSP), |
7200 | | OP32 ("vadd.xu32", |
7201 | | OPCODE_INFO3 (0xfa000160, |
7202 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7203 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7204 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7205 | | CSKY_ISA_VDSP), |
7206 | | OP32 ("vadd.xs16", |
7207 | | OPCODE_INFO3 (0xf8100170, |
7208 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7209 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7210 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7211 | | CSKY_ISA_VDSP), |
7212 | | OP32 ("vadd.xs32", |
7213 | | OPCODE_INFO3 (0xfa000170, |
7214 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7215 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7216 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7217 | | CSKY_ISA_VDSP), |
7218 | | OP32 ("vaddh.u8", |
7219 | | OPCODE_INFO3 (0xf8000180, |
7220 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7221 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7222 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7223 | | CSKY_ISA_VDSP), |
7224 | | OP32 ("vaddh.u16", |
7225 | | OPCODE_INFO3 (0xf8100180, |
7226 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7227 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7228 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7229 | | CSKY_ISA_VDSP), |
7230 | | OP32 ("vaddh.u32", |
7231 | | OPCODE_INFO3 (0xfa000180, |
7232 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7233 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7234 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7235 | | CSKY_ISA_VDSP), |
7236 | | OP32 ("vaddh.s8", |
7237 | | OPCODE_INFO3 (0xf8000190, |
7238 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7239 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7240 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7241 | | CSKY_ISA_VDSP), |
7242 | | OP32 ("vaddh.s16", |
7243 | | OPCODE_INFO3 (0xf8100190, |
7244 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7245 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7246 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7247 | | CSKY_ISA_VDSP), |
7248 | | OP32 ("vaddh.s32", |
7249 | | OPCODE_INFO3 (0xfa000190, |
7250 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7251 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7252 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7253 | | CSKY_ISA_VDSP), |
7254 | | OP32 ("vaddh.u8.r", |
7255 | | OPCODE_INFO3 (0xf80001a0, |
7256 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7257 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7258 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7259 | | CSKY_ISA_VDSP), |
7260 | | OP32 ("vaddh.u16.r", |
7261 | | OPCODE_INFO3 (0xf81001a0, |
7262 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7263 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7264 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7265 | | CSKY_ISA_VDSP), |
7266 | | OP32 ("vaddh.u32.r", |
7267 | | OPCODE_INFO3 (0xfa0001a0, |
7268 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7269 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7270 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7271 | | CSKY_ISA_VDSP), |
7272 | | OP32 ("vaddh.s8.r", |
7273 | | OPCODE_INFO3 (0xf80001b0, |
7274 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7275 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7276 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7277 | | CSKY_ISA_VDSP), |
7278 | | OP32 ("vaddh.s16.r", |
7279 | | OPCODE_INFO3 (0xf81001b0, |
7280 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7281 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7282 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7283 | | CSKY_ISA_VDSP), |
7284 | | OP32 ("vaddh.s32.r", |
7285 | | OPCODE_INFO3 (0xfa0001b0, |
7286 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7287 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7288 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7289 | | CSKY_ISA_VDSP), |
7290 | | OP32 ("vadd.u8.s", |
7291 | | OPCODE_INFO3 (0xf80001c0, |
7292 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7293 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7294 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7295 | | CSKY_ISA_VDSP), |
7296 | | OP32 ("vadd.u16.s", |
7297 | | OPCODE_INFO3 (0xf81001c0, |
7298 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7299 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7300 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7301 | | CSKY_ISA_VDSP), |
7302 | | OP32 ("vadd.u32.s", |
7303 | | OPCODE_INFO3 (0xfa0001c0, |
7304 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7305 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7306 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7307 | | CSKY_ISA_VDSP), |
7308 | | OP32 ("vadd.s8.s", |
7309 | | OPCODE_INFO3 (0xf80001d0, |
7310 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7311 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7312 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7313 | | CSKY_ISA_VDSP), |
7314 | | OP32 ("vadd.s16.s", |
7315 | | OPCODE_INFO3 (0xf81001d0, |
7316 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7317 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7318 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7319 | | CSKY_ISA_VDSP), |
7320 | | OP32 ("vadd.s32.s", |
7321 | | OPCODE_INFO3 (0xfa0001d0, |
7322 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7323 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7324 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7325 | | CSKY_ISA_VDSP), |
7326 | | OP32 ("vsub.u8", |
7327 | | OPCODE_INFO3 (0xf8000200, |
7328 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7329 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7330 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7331 | | CSKY_ISA_VDSP), |
7332 | | OP32 ("vsub.u16", |
7333 | | OPCODE_INFO3 (0xf8100200, |
7334 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7335 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7336 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7337 | | CSKY_ISA_VDSP), |
7338 | | OP32 ("vsub.u32", |
7339 | | OPCODE_INFO3 (0xfa000200, |
7340 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7341 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7342 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7343 | | CSKY_ISA_VDSP), |
7344 | | OP32 ("vsub.s8", |
7345 | | OPCODE_INFO3 (0xf8000210, |
7346 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7347 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7348 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7349 | | CSKY_ISA_VDSP), |
7350 | | OP32 ("vsub.s16", |
7351 | | OPCODE_INFO3 (0xf8100210, |
7352 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7353 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7354 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7355 | | CSKY_ISA_VDSP), |
7356 | | OP32 ("vsub.s32", |
7357 | | OPCODE_INFO3 (0xfa000210, |
7358 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7359 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7360 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7361 | | CSKY_ISA_VDSP), |
7362 | | OP32 ("vsub.eu8", |
7363 | | OPCODE_INFO3 (0xf8000220, |
7364 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7365 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7366 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7367 | | CSKY_ISA_VDSP), |
7368 | | OP32 ("vsub.eu16", |
7369 | | OPCODE_INFO3 (0xf8100220, |
7370 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7371 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7372 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7373 | | CSKY_ISA_VDSP), |
7374 | | OP32 ("vsub.eu32", |
7375 | | OPCODE_INFO3 (0xfa000220, |
7376 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7377 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7378 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7379 | | CSKY_ISA_VDSP), |
7380 | | OP32 ("vsub.es8", |
7381 | | OPCODE_INFO3 (0xf8000230, |
7382 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7383 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7384 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7385 | | CSKY_ISA_VDSP), |
7386 | | OP32 ("vsub.es16", |
7387 | | OPCODE_INFO3 (0xf8100230, |
7388 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7389 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7390 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7391 | | CSKY_ISA_VDSP), |
7392 | | OP32 ("vsub.es32", |
7393 | | OPCODE_INFO3 (0xfa000230, |
7394 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7395 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7396 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7397 | | CSKY_ISA_VDSP), |
7398 | | OP32 ("vsabs.u8", |
7399 | | OPCODE_INFO3 (0xf8000240, |
7400 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7401 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7402 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7403 | | CSKY_ISA_VDSP), |
7404 | | OP32 ("vsabs.u16", |
7405 | | OPCODE_INFO3 (0xf8100240, |
7406 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7407 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7408 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7409 | | CSKY_ISA_VDSP), |
7410 | | OP32 ("vsabs.u32", |
7411 | | OPCODE_INFO3 (0xfa000240, |
7412 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7413 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7414 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7415 | | CSKY_ISA_VDSP), |
7416 | | OP32 ("vsabs.s8", |
7417 | | OPCODE_INFO3 (0xf8000250, |
7418 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7419 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7420 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7421 | | CSKY_ISA_VDSP), |
7422 | | OP32 ("vsabs.s16", |
7423 | | OPCODE_INFO3 (0xf8100250, |
7424 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7425 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7426 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7427 | | CSKY_ISA_VDSP), |
7428 | | OP32 ("vsabs.s32", |
7429 | | OPCODE_INFO3 (0xfa000250, |
7430 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7431 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7432 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7433 | | CSKY_ISA_VDSP), |
7434 | | OP32 ("vsabs.eu8", |
7435 | | OPCODE_INFO3 (0xf8000260, |
7436 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7437 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7438 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7439 | | CSKY_ISA_VDSP), |
7440 | | OP32 ("vsabs.eu16", |
7441 | | OPCODE_INFO3 (0xf8100260, |
7442 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7443 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7444 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7445 | | CSKY_ISA_VDSP), |
7446 | | OP32 ("vsabs.es8", |
7447 | | OPCODE_INFO3 (0xf8000270, |
7448 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7449 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7450 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7451 | | CSKY_ISA_VDSP), |
7452 | | OP32 ("vsabs.es16", |
7453 | | OPCODE_INFO3 (0xf8100270, |
7454 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7455 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7456 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7457 | | CSKY_ISA_VDSP), |
7458 | | OP32 ("vsabsa.u8", |
7459 | | OPCODE_INFO3 (0xf8000280, |
7460 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7461 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7462 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7463 | | CSKY_ISA_VDSP), |
7464 | | OP32 ("vsabsa.u16", |
7465 | | OPCODE_INFO3 (0xf8100280, |
7466 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7467 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7468 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7469 | | CSKY_ISA_VDSP), |
7470 | | OP32 ("vsabsa.u32", |
7471 | | OPCODE_INFO3 (0xfa000280, |
7472 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7473 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7474 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7475 | | CSKY_ISA_VDSP), |
7476 | | OP32 ("vsabsa.s8", |
7477 | | OPCODE_INFO3 (0xf8000290, |
7478 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7479 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7480 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7481 | | CSKY_ISA_VDSP), |
7482 | | OP32 ("vsabsa.s16", |
7483 | | OPCODE_INFO3 (0xf8100290, |
7484 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7485 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7486 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7487 | | CSKY_ISA_VDSP), |
7488 | | OP32 ("vsabsa.s32", |
7489 | | OPCODE_INFO3 (0xfa000290, |
7490 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7491 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7492 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7493 | | CSKY_ISA_VDSP), |
7494 | | OP32 ("vsabsa.eu8", |
7495 | | OPCODE_INFO3 (0xf80002a0, |
7496 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7497 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7498 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7499 | | CSKY_ISA_VDSP), |
7500 | | OP32 ("vsabsa.eu16", |
7501 | | OPCODE_INFO3 (0xf81002a0, |
7502 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7503 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7504 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7505 | | CSKY_ISA_VDSP), |
7506 | | OP32 ("vsabsa.es8", |
7507 | | OPCODE_INFO3 (0xf80002b0, |
7508 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7509 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7510 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7511 | | CSKY_ISA_VDSP), |
7512 | | OP32 ("vsabsa.es16", |
7513 | | OPCODE_INFO3 (0xf81002b0, |
7514 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7515 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7516 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7517 | | CSKY_ISA_VDSP), |
7518 | | OP32 ("vsub.xu16", |
7519 | | OPCODE_INFO3 (0xf8100360, |
7520 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7521 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7522 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7523 | | CSKY_ISA_VDSP), |
7524 | | OP32 ("vsub.xu32", |
7525 | | OPCODE_INFO3 (0xfa000360, |
7526 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7527 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7528 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7529 | | CSKY_ISA_VDSP), |
7530 | | OP32 ("vsub.xs16", |
7531 | | OPCODE_INFO3 (0xf8100370, |
7532 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7533 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7534 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7535 | | CSKY_ISA_VDSP), |
7536 | | OP32 ("vsub.xs32", |
7537 | | OPCODE_INFO3 (0xfa000370, |
7538 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7539 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7540 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7541 | | CSKY_ISA_VDSP), |
7542 | | OP32 ("vsubh.u8", |
7543 | | OPCODE_INFO3 (0xf8000380, |
7544 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7545 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7546 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7547 | | CSKY_ISA_VDSP), |
7548 | | OP32 ("vsubh.u16", |
7549 | | OPCODE_INFO3 (0xf8100380, |
7550 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7551 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7552 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7553 | | CSKY_ISA_VDSP), |
7554 | | OP32 ("vsubh.u32", |
7555 | | OPCODE_INFO3 (0xfa000380, |
7556 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7557 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7558 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7559 | | CSKY_ISA_VDSP), |
7560 | | OP32 ("vsubh.s8", |
7561 | | OPCODE_INFO3 (0xf8000390, |
7562 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7563 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7564 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7565 | | CSKY_ISA_VDSP), |
7566 | | OP32 ("vsubh.s16", |
7567 | | OPCODE_INFO3 (0xf8100390, |
7568 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7569 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7570 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7571 | | CSKY_ISA_VDSP), |
7572 | | OP32 ("vsubh.s32", |
7573 | | OPCODE_INFO3 (0xfa000390, |
7574 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7575 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7576 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7577 | | CSKY_ISA_VDSP), |
7578 | | OP32 ("vsubh.u8.r", |
7579 | | OPCODE_INFO3 (0xf80003a0, |
7580 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7581 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7582 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7583 | | CSKY_ISA_VDSP), |
7584 | | OP32 ("vsubh.u16.r", |
7585 | | OPCODE_INFO3 (0xf81003a0, |
7586 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7587 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7588 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7589 | | CSKY_ISA_VDSP), |
7590 | | OP32 ("vsubh.u32.r", |
7591 | | OPCODE_INFO3 (0xfa0003a0, |
7592 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7593 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7594 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7595 | | CSKY_ISA_VDSP), |
7596 | | OP32 ("vsubh.s8.r", |
7597 | | OPCODE_INFO3 (0xf80003b0, |
7598 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7599 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7600 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7601 | | CSKY_ISA_VDSP), |
7602 | | OP32 ("vsubh.s16.r", |
7603 | | OPCODE_INFO3 (0xf81003b0, |
7604 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7605 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7606 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7607 | | CSKY_ISA_VDSP), |
7608 | | OP32 ("vsubh.s32.r", |
7609 | | OPCODE_INFO3 (0xfa0003b0, |
7610 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7611 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7612 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7613 | | CSKY_ISA_VDSP), |
7614 | | OP32 ("vsub.u8.s", |
7615 | | OPCODE_INFO3 (0xf80003c0, |
7616 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7617 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7618 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7619 | | CSKY_ISA_VDSP), |
7620 | | OP32 ("vsub.u16.s", |
7621 | | OPCODE_INFO3 (0xf81003c0, |
7622 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7623 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7624 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7625 | | CSKY_ISA_VDSP), |
7626 | | OP32 ("vsub.u32.s", |
7627 | | OPCODE_INFO3 (0xfa0003c0, |
7628 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7629 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7630 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7631 | | CSKY_ISA_VDSP), |
7632 | | OP32 ("vsub.s8.s", |
7633 | | OPCODE_INFO3 (0xf80003d0, |
7634 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7635 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7636 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7637 | | CSKY_ISA_VDSP), |
7638 | | OP32 ("vsub.s16.s", |
7639 | | OPCODE_INFO3 (0xf81003d0, |
7640 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7641 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7642 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7643 | | CSKY_ISA_VDSP), |
7644 | | OP32 ("vsub.s32.s", |
7645 | | OPCODE_INFO3 (0xfa0003d0, |
7646 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7647 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7648 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7649 | | CSKY_ISA_VDSP), |
7650 | | OP32 ("vmul.u8", |
7651 | | OPCODE_INFO3 (0xf8000400, |
7652 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7653 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7654 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7655 | | CSKY_ISA_VDSP), |
7656 | | OP32 ("vmul.u16", |
7657 | | OPCODE_INFO3 (0xf8100400, |
7658 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7659 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7660 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7661 | | CSKY_ISA_VDSP), |
7662 | | OP32 ("vmul.u32", |
7663 | | OPCODE_INFO3 (0xfa000400, |
7664 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7665 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7666 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7667 | | CSKY_ISA_VDSP), |
7668 | | OP32 ("vmul.s8", |
7669 | | OPCODE_INFO3 (0xf8000410, |
7670 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7671 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7672 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7673 | | CSKY_ISA_VDSP), |
7674 | | OP32 ("vmul.s16", |
7675 | | OPCODE_INFO3 (0xf8100410, |
7676 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7677 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7678 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7679 | | CSKY_ISA_VDSP), |
7680 | | OP32 ("vmul.s32", |
7681 | | OPCODE_INFO3 (0xfa000410, |
7682 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7683 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7684 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7685 | | CSKY_ISA_VDSP), |
7686 | | OP32 ("vmul.eu8", |
7687 | | OPCODE_INFO3 (0xf8000420, |
7688 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7689 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7690 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7691 | | CSKY_ISA_VDSP), |
7692 | | OP32 ("vmul.eu16", |
7693 | | OPCODE_INFO3 (0xf8100420, |
7694 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7695 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7696 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7697 | | CSKY_ISA_VDSP), |
7698 | | OP32 ("vmul.es8", |
7699 | | OPCODE_INFO3 (0xf8000430, |
7700 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7701 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7702 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7703 | | CSKY_ISA_VDSP), |
7704 | | OP32 ("vmul.es16", |
7705 | | OPCODE_INFO3 (0xf8100430, |
7706 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7707 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7708 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7709 | | CSKY_ISA_VDSP), |
7710 | | OP32 ("vmula.u8", |
7711 | | OPCODE_INFO3 (0xf8000440, |
7712 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7713 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7714 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7715 | | CSKY_ISA_VDSP), |
7716 | | OP32 ("vmula.u16", |
7717 | | OPCODE_INFO3 (0xf8100440, |
7718 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7719 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7720 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7721 | | CSKY_ISA_VDSP), |
7722 | | OP32 ("vmula.u32", |
7723 | | OPCODE_INFO3 (0xfa000440, |
7724 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7725 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7726 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7727 | | CSKY_ISA_VDSP), |
7728 | | OP32 ("vmula.s8", |
7729 | | OPCODE_INFO3 (0xf8000450, |
7730 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7731 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7732 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7733 | | CSKY_ISA_VDSP), |
7734 | | OP32 ("vmula.s16", |
7735 | | OPCODE_INFO3 (0xf8100450, |
7736 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7737 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7738 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7739 | | CSKY_ISA_VDSP), |
7740 | | OP32 ("vmula.s32", |
7741 | | OPCODE_INFO3 (0xfa000450, |
7742 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7743 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7744 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7745 | | CSKY_ISA_VDSP), |
7746 | | OP32 ("vmula.eu8", |
7747 | | OPCODE_INFO3 (0xf8000460, |
7748 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7749 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7750 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7751 | | CSKY_ISA_VDSP), |
7752 | | OP32 ("vmula.eu16", |
7753 | | OPCODE_INFO3 (0xf8100460, |
7754 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7755 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7756 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7757 | | CSKY_ISA_VDSP), |
7758 | | OP32 ("vmula.eu32", |
7759 | | OPCODE_INFO3 (0xfa000460, |
7760 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7761 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7762 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7763 | | CSKY_ISA_VDSP), |
7764 | | OP32 ("vmula.es8", |
7765 | | OPCODE_INFO3 (0xf8000470, |
7766 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7767 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7768 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7769 | | CSKY_ISA_VDSP), |
7770 | | OP32 ("vmula.es16", |
7771 | | OPCODE_INFO3 (0xf8100470, |
7772 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7773 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7774 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7775 | | CSKY_ISA_VDSP), |
7776 | | OP32 ("vmula.es32", |
7777 | | OPCODE_INFO3 (0xfa000470, |
7778 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7779 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7780 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7781 | | CSKY_ISA_VDSP), |
7782 | | OP32 ("vmuls.u8", |
7783 | | OPCODE_INFO3 (0xf8000480, |
7784 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7785 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7786 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7787 | | CSKY_ISA_VDSP), |
7788 | | OP32 ("vmuls.u16", |
7789 | | OPCODE_INFO3 (0xf8100480, |
7790 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7791 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7792 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7793 | | CSKY_ISA_VDSP), |
7794 | | OP32 ("vmuls.u32", |
7795 | | OPCODE_INFO3 (0xfa000480, |
7796 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7797 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7798 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7799 | | CSKY_ISA_VDSP), |
7800 | | OP32 ("vmuls.s8", |
7801 | | OPCODE_INFO3 (0xf8000490, |
7802 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7803 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7804 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7805 | | CSKY_ISA_VDSP), |
7806 | | OP32 ("vmuls.s16", |
7807 | | OPCODE_INFO3 (0xf8100490, |
7808 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7809 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7810 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7811 | | CSKY_ISA_VDSP), |
7812 | | OP32 ("vmuls.s32", |
7813 | | OPCODE_INFO3 (0xfa000490, |
7814 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7815 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7816 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7817 | | CSKY_ISA_VDSP), |
7818 | | OP32 ("vmuls.eu8", |
7819 | | OPCODE_INFO3 (0xf80004a0, |
7820 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7821 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7822 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7823 | | CSKY_ISA_VDSP), |
7824 | | OP32 ("vmuls.eu16", |
7825 | | OPCODE_INFO3 (0xf81004a0, |
7826 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7827 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7828 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7829 | | CSKY_ISA_VDSP), |
7830 | | OP32 ("vmuls.es8", |
7831 | | OPCODE_INFO3 (0xf80004b0, |
7832 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7833 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7834 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7835 | | CSKY_ISA_VDSP), |
7836 | | OP32 ("vmuls.es16", |
7837 | | OPCODE_INFO3 (0xf81004b0, |
7838 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7839 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7840 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7841 | | CSKY_ISA_VDSP), |
7842 | | OP32 ("vshr.u8", |
7843 | | OPCODE_INFO3 (0xf8000680, |
7844 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7845 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7846 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7847 | | CSKY_ISA_VDSP), |
7848 | | OP32 ("vshr.u16", |
7849 | | OPCODE_INFO3 (0xf8100680, |
7850 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7851 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7852 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7853 | | CSKY_ISA_VDSP), |
7854 | | OP32 ("vshr.u32", |
7855 | | OPCODE_INFO3 (0xfa000680, |
7856 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7857 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7858 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7859 | | CSKY_ISA_VDSP), |
7860 | | OP32 ("vshr.s8", |
7861 | | OPCODE_INFO3 (0xf8000690, |
7862 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7863 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7864 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7865 | | CSKY_ISA_VDSP), |
7866 | | OP32 ("vshr.s16", |
7867 | | OPCODE_INFO3 (0xf8100690, |
7868 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7869 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7870 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7871 | | CSKY_ISA_VDSP), |
7872 | | OP32 ("vshr.s32", |
7873 | | OPCODE_INFO3 (0xfa000690, |
7874 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7875 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7876 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7877 | | CSKY_ISA_VDSP), |
7878 | | OP32 ("vshr.u8.r", |
7879 | | OPCODE_INFO3 (0xf80006c0, |
7880 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7881 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7882 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7883 | | CSKY_ISA_VDSP), |
7884 | | OP32 ("vshr.u16.r", |
7885 | | OPCODE_INFO3 (0xf81006c0, |
7886 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7887 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7888 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7889 | | CSKY_ISA_VDSP), |
7890 | | OP32 ("vshr.u32.r", |
7891 | | OPCODE_INFO3 (0xfa0006c0, |
7892 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7893 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7894 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7895 | | CSKY_ISA_VDSP), |
7896 | | OP32 ("vshr.s8.r", |
7897 | | OPCODE_INFO3 (0xf80006d0, |
7898 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7899 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7900 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7901 | | CSKY_ISA_VDSP), |
7902 | | OP32 ("vshr.s16.r", |
7903 | | OPCODE_INFO3 (0xf81006d0, |
7904 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7905 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7906 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7907 | | CSKY_ISA_VDSP), |
7908 | | OP32 ("vshri.u8", |
7909 | | OPCODE_INFO3 (0xf8000600, |
7910 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7911 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7912 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7913 | | CSKY_ISA_VDSP), |
7914 | | OP32 ("vshri.u16", |
7915 | | OPCODE_INFO3 (0xf8100600, |
7916 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7917 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7918 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7919 | | CSKY_ISA_VDSP), |
7920 | | OP32 ("vshri.u32", |
7921 | | OPCODE_INFO3 (0xfa000600, |
7922 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7923 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7924 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7925 | | CSKY_ISA_VDSP), |
7926 | | OP32 ("vshri.s8", |
7927 | | OPCODE_INFO3 (0xf8000610, |
7928 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7929 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7930 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7931 | | CSKY_ISA_VDSP), |
7932 | | OP32 ("vshri.s16", |
7933 | | OPCODE_INFO3 (0xf8100610, |
7934 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7935 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7936 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7937 | | CSKY_ISA_VDSP), |
7938 | | OP32 ("vshri.s32", |
7939 | | OPCODE_INFO3 (0xfa000610, |
7940 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7941 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7942 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7943 | | CSKY_ISA_VDSP), |
7944 | | OP32 ("vshri.u8.r", |
7945 | | OPCODE_INFO3 (0xf8000640, |
7946 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7947 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7948 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7949 | | CSKY_ISA_VDSP), |
7950 | | OP32 ("vshri.u16.r", |
7951 | | OPCODE_INFO3 (0xf8100640, |
7952 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7953 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7954 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7955 | | CSKY_ISA_VDSP), |
7956 | | OP32 ("vshri.u32.r", |
7957 | | OPCODE_INFO3 (0xfa000640, |
7958 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7959 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7960 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7961 | | CSKY_ISA_VDSP), |
7962 | | OP32 ("vshri.s8.r", |
7963 | | OPCODE_INFO3 (0xf8000650, |
7964 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7965 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7966 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7967 | | CSKY_ISA_VDSP), |
7968 | | OP32 ("vshri.s16.r", |
7969 | | OPCODE_INFO3 (0xf8100650, |
7970 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7971 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7972 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7973 | | CSKY_ISA_VDSP), |
7974 | | OP32 ("vshri.s32.r", |
7975 | | OPCODE_INFO3 (0xfa000650, |
7976 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7977 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7978 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
7979 | | CSKY_ISA_VDSP), |
7980 | | OP32 ("vshr.s32.r", |
7981 | | OPCODE_INFO3 (0xfa0006d0, |
7982 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7983 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7984 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7985 | | CSKY_ISA_VDSP), |
7986 | | OP32 ("vshr.s32.r", |
7987 | | OPCODE_INFO3 (0xfa0006d0, |
7988 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7989 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7990 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7991 | | CSKY_ISA_VDSP), |
7992 | | OP32 ("vshl.u8", |
7993 | | OPCODE_INFO3 (0xf8000780, |
7994 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
7995 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
7996 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
7997 | | CSKY_ISA_VDSP), |
7998 | | OP32 ("vshl.u16", |
7999 | | OPCODE_INFO3 (0xf8100780, |
8000 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8001 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8002 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8003 | | CSKY_ISA_VDSP), |
8004 | | OP32 ("vshl.u32", |
8005 | | OPCODE_INFO3 (0xfa000780, |
8006 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8007 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8008 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8009 | | CSKY_ISA_VDSP), |
8010 | | OP32 ("vshl.s8", |
8011 | | OPCODE_INFO3 (0xf8000790, |
8012 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8013 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8014 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8015 | | CSKY_ISA_VDSP), |
8016 | | OP32 ("vshl.s16", |
8017 | | OPCODE_INFO3 (0xf8100790, |
8018 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8019 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8020 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8021 | | CSKY_ISA_VDSP), |
8022 | | OP32 ("vshl.s32", |
8023 | | OPCODE_INFO3 (0xfa000790, |
8024 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8025 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8026 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8027 | | CSKY_ISA_VDSP), |
8028 | | OP32 ("vshl.u8.s", |
8029 | | OPCODE_INFO3 (0xf80007c0, |
8030 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8031 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8032 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8033 | | CSKY_ISA_VDSP), |
8034 | | OP32 ("vshl.u16.s", |
8035 | | OPCODE_INFO3 (0xf81007c0, |
8036 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8037 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8038 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8039 | | CSKY_ISA_VDSP), |
8040 | | OP32 ("vshl.u32.s", |
8041 | | OPCODE_INFO3 (0xfa0007c0, |
8042 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8043 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8044 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8045 | | CSKY_ISA_VDSP), |
8046 | | OP32 ("vshl.s8.s", |
8047 | | OPCODE_INFO3 (0xf80007d0, |
8048 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8049 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8050 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8051 | | CSKY_ISA_VDSP), |
8052 | | OP32 ("vshl.s16.s", |
8053 | | OPCODE_INFO3 (0xf81007d0, |
8054 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8055 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8056 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8057 | | CSKY_ISA_VDSP), |
8058 | | OP32 ("vshl.s32.s", |
8059 | | OPCODE_INFO3 (0xfa0007d0, |
8060 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8061 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8062 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8063 | | CSKY_ISA_VDSP), |
8064 | | OP32 ("vshli.u8", |
8065 | | OPCODE_INFO3 (0xf8000700, |
8066 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8067 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8068 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8069 | | CSKY_ISA_VDSP), |
8070 | | OP32 ("vshli.u16", |
8071 | | OPCODE_INFO3 (0xf8100700, |
8072 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8073 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8074 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8075 | | CSKY_ISA_VDSP), |
8076 | | OP32 ("vshli.u32", |
8077 | | OPCODE_INFO3 (0xfa000700, |
8078 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8079 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8080 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8081 | | CSKY_ISA_VDSP), |
8082 | | OP32 ("vshli.s8", |
8083 | | OPCODE_INFO3 (0xf8000710, |
8084 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8085 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8086 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8087 | | CSKY_ISA_VDSP), |
8088 | | OP32 ("vshli.s16", |
8089 | | OPCODE_INFO3 (0xf8100710, |
8090 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8091 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8092 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8093 | | CSKY_ISA_VDSP), |
8094 | | OP32 ("vshli.s32", |
8095 | | OPCODE_INFO3 (0xfa000710, |
8096 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8097 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8098 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8099 | | CSKY_ISA_VDSP), |
8100 | | OP32 ("vshli.u8.s", |
8101 | | OPCODE_INFO3 (0xf8000740, |
8102 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8103 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8104 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8105 | | CSKY_ISA_VDSP), |
8106 | | OP32 ("vshli.u16.s", |
8107 | | OPCODE_INFO3 (0xf8100740, |
8108 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8109 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8110 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8111 | | CSKY_ISA_VDSP), |
8112 | | OP32 ("vshli.u32.s", |
8113 | | OPCODE_INFO3 (0xfa000740, |
8114 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8115 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8116 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8117 | | CSKY_ISA_VDSP), |
8118 | | OP32 ("vshli.s8.s", |
8119 | | OPCODE_INFO3 (0xf8000750, |
8120 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8121 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8122 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8123 | | CSKY_ISA_VDSP), |
8124 | | OP32 ("vshli.s16.s", |
8125 | | OPCODE_INFO3 (0xf8100750, |
8126 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8127 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8128 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8129 | | CSKY_ISA_VDSP), |
8130 | | OP32 ("vshli.s32.s", |
8131 | | OPCODE_INFO3 (0xfa000750, |
8132 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8133 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8134 | | (5or21_24, IMM5b_VSH, OPRND_SHIFT_0_BIT)), |
8135 | | CSKY_ISA_VDSP), |
8136 | | OP32 ("vcmphs.u8", |
8137 | | OPCODE_INFO3 (0xf8000800, |
8138 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8139 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8140 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8141 | | CSKY_ISA_VDSP), |
8142 | | OP32 ("vcmphs.u16", |
8143 | | OPCODE_INFO3 (0xf8100800, |
8144 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8145 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8146 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8147 | | CSKY_ISA_VDSP), |
8148 | | OP32 ("vcmphs.u32", |
8149 | | OPCODE_INFO3 (0xfa000800, |
8150 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8151 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8152 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8153 | | CSKY_ISA_VDSP), |
8154 | | OP32 ("vcmphs.s8", |
8155 | | OPCODE_INFO3 (0xf8000810, |
8156 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8157 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8158 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8159 | | CSKY_ISA_VDSP), |
8160 | | OP32 ("vcmphs.s16", |
8161 | | OPCODE_INFO3 (0xf8100810, |
8162 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8163 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8164 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8165 | | CSKY_ISA_VDSP), |
8166 | | OP32 ("vcmphs.s32", |
8167 | | OPCODE_INFO3 (0xfa000810, |
8168 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8169 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8170 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8171 | | CSKY_ISA_VDSP), |
8172 | | OP32 ("vcmplt.u8", |
8173 | | OPCODE_INFO3 (0xf8000820, |
8174 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8175 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8176 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8177 | | CSKY_ISA_VDSP), |
8178 | | OP32 ("vcmplt.u16", |
8179 | | OPCODE_INFO3 (0xf8100820, |
8180 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8181 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8182 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8183 | | CSKY_ISA_VDSP), |
8184 | | OP32 ("vcmplt.u32", |
8185 | | OPCODE_INFO3 (0xfa000820, |
8186 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8187 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8188 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8189 | | CSKY_ISA_VDSP), |
8190 | | OP32 ("vcmplt.s8", |
8191 | | OPCODE_INFO3 (0xf8000830, |
8192 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8193 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8194 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8195 | | CSKY_ISA_VDSP), |
8196 | | OP32 ("vcmplt.s16", |
8197 | | OPCODE_INFO3 (0xf8100830, |
8198 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8199 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8200 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8201 | | CSKY_ISA_VDSP), |
8202 | | OP32 ("vcmplt.s32", |
8203 | | OPCODE_INFO3 (0xfa000830, |
8204 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8205 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8206 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8207 | | CSKY_ISA_VDSP), |
8208 | | OP32 ("vcmpne.u8", |
8209 | | OPCODE_INFO3 (0xf8000840, |
8210 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8211 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8212 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8213 | | CSKY_ISA_VDSP), |
8214 | | OP32 ("vcmpne.u16", |
8215 | | OPCODE_INFO3 (0xf8100840, |
8216 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8217 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8218 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8219 | | CSKY_ISA_VDSP), |
8220 | | OP32 ("vcmpne.u32", |
8221 | | OPCODE_INFO3 (0xfa000840, |
8222 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8223 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8224 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8225 | | CSKY_ISA_VDSP), |
8226 | | OP32 ("vcmpne.s8", |
8227 | | OPCODE_INFO3 (0xf8000850, |
8228 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8229 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8230 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8231 | | CSKY_ISA_VDSP), |
8232 | | OP32 ("vcmpne.s16", |
8233 | | OPCODE_INFO3 (0xf8100850, |
8234 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8235 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8236 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8237 | | CSKY_ISA_VDSP), |
8238 | | OP32 ("vcmpne.s32", |
8239 | | OPCODE_INFO3 (0xfa000850, |
8240 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8241 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8242 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8243 | | CSKY_ISA_VDSP), |
8244 | | OP32 ("vmax.u8", |
8245 | | OPCODE_INFO3 (0xf8000900, |
8246 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8247 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8248 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8249 | | CSKY_ISA_VDSP), |
8250 | | OP32 ("vmax.u16", |
8251 | | OPCODE_INFO3 (0xf8100900, |
8252 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8253 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8254 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8255 | | CSKY_ISA_VDSP), |
8256 | | OP32 ("vmax.u32", |
8257 | | OPCODE_INFO3 (0xfa000900, |
8258 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8259 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8260 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8261 | | CSKY_ISA_VDSP), |
8262 | | OP32 ("vmax.s8", |
8263 | | OPCODE_INFO3 (0xf8000910, |
8264 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8265 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8266 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8267 | | CSKY_ISA_VDSP), |
8268 | | OP32 ("vmax.s16", |
8269 | | OPCODE_INFO3 (0xf8100910, |
8270 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8271 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8272 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8273 | | CSKY_ISA_VDSP), |
8274 | | OP32 ("vmax.s32", |
8275 | | OPCODE_INFO3 (0xfa000910, |
8276 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8277 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8278 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8279 | | CSKY_ISA_VDSP), |
8280 | | OP32 ("vmin.u8", |
8281 | | OPCODE_INFO3 (0xf8000920, |
8282 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8283 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8284 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8285 | | CSKY_ISA_VDSP), |
8286 | | OP32 ("vmin.u16", |
8287 | | OPCODE_INFO3 (0xf8100920, |
8288 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8289 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8290 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8291 | | CSKY_ISA_VDSP), |
8292 | | OP32 ("vmin.u32", |
8293 | | OPCODE_INFO3 (0xfa000920, |
8294 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8295 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8296 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8297 | | CSKY_ISA_VDSP), |
8298 | | OP32 ("vmin.s8", |
8299 | | OPCODE_INFO3 (0xf8000930, |
8300 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8301 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8302 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8303 | | CSKY_ISA_VDSP), |
8304 | | OP32 ("vmin.s16", |
8305 | | OPCODE_INFO3 (0xf8100930, |
8306 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8307 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8308 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8309 | | CSKY_ISA_VDSP), |
8310 | | OP32 ("vmin.s32", |
8311 | | OPCODE_INFO3 (0xfa000930, |
8312 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8313 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8314 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8315 | | CSKY_ISA_VDSP), |
8316 | | OP32 ("vcmax.u8", |
8317 | | OPCODE_INFO3 (0xf8000980, |
8318 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8319 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8320 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8321 | | CSKY_ISA_VDSP), |
8322 | | OP32 ("vcmax.u16", |
8323 | | OPCODE_INFO3 (0xf8100980, |
8324 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8325 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8326 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8327 | | CSKY_ISA_VDSP), |
8328 | | OP32 ("vcmax.u32", |
8329 | | OPCODE_INFO3 (0xfa000980, |
8330 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8331 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8332 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8333 | | CSKY_ISA_VDSP), |
8334 | | OP32 ("vcmax.s8", |
8335 | | OPCODE_INFO3 (0xf8000990, |
8336 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8337 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8338 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8339 | | CSKY_ISA_VDSP), |
8340 | | OP32 ("vcmax.s16", |
8341 | | OPCODE_INFO3 (0xf8100990, |
8342 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8343 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8344 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8345 | | CSKY_ISA_VDSP), |
8346 | | OP32 ("vcmax.s32", |
8347 | | OPCODE_INFO3 (0xfa000990, |
8348 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8349 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8350 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8351 | | CSKY_ISA_VDSP), |
8352 | | OP32 ("vcmin.u8", |
8353 | | OPCODE_INFO3 (0xf80009a0, |
8354 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8355 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8356 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8357 | | CSKY_ISA_VDSP), |
8358 | | OP32 ("vcmin.u16", |
8359 | | OPCODE_INFO3 (0xf81009a0, |
8360 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8361 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8362 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8363 | | CSKY_ISA_VDSP), |
8364 | | OP32 ("vcmin.u32", |
8365 | | OPCODE_INFO3 (0xfa0009a0, |
8366 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8367 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8368 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8369 | | CSKY_ISA_VDSP), |
8370 | | OP32 ("vcmin.s8", |
8371 | | OPCODE_INFO3 (0xf80009b0, |
8372 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8373 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8374 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8375 | | CSKY_ISA_VDSP), |
8376 | | OP32 ("vcmin.s16", |
8377 | | OPCODE_INFO3 (0xf81009b0, |
8378 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8379 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8380 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8381 | | CSKY_ISA_VDSP), |
8382 | | OP32 ("vcmin.s32", |
8383 | | OPCODE_INFO3 (0xfa0009b0, |
8384 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8385 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8386 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8387 | | CSKY_ISA_VDSP), |
8388 | | OP32 ("vand.8", |
8389 | | OPCODE_INFO3 (0xf8000a00, |
8390 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8391 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8392 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8393 | | CSKY_ISA_VDSP), |
8394 | | OP32 ("vand.16", |
8395 | | OPCODE_INFO3 (0xf8100a00, |
8396 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8397 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8398 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8399 | | CSKY_ISA_VDSP), |
8400 | | OP32 ("vand.32", |
8401 | | OPCODE_INFO3 (0xfa000a00, |
8402 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8403 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8404 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8405 | | CSKY_ISA_VDSP), |
8406 | | OP32 ("vandn.8", |
8407 | | OPCODE_INFO3 (0xf8000a20, |
8408 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8409 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8410 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8411 | | CSKY_ISA_VDSP), |
8412 | | OP32 ("vandn.16", |
8413 | | OPCODE_INFO3 (0xf8100a20, |
8414 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8415 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8416 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8417 | | CSKY_ISA_VDSP), |
8418 | | OP32 ("vandn.32", |
8419 | | OPCODE_INFO3 (0xfa000a20, |
8420 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8421 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8422 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8423 | | CSKY_ISA_VDSP), |
8424 | | OP32 ("vor.8", |
8425 | | OPCODE_INFO3 (0xf8000a40, |
8426 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8427 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8428 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8429 | | CSKY_ISA_VDSP), |
8430 | | OP32 ("vor.16", |
8431 | | OPCODE_INFO3 (0xf8100a40, |
8432 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8433 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8434 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8435 | | CSKY_ISA_VDSP), |
8436 | | OP32 ("vor.32", |
8437 | | OPCODE_INFO3 (0xfa000a40, |
8438 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8439 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8440 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8441 | | CSKY_ISA_VDSP), |
8442 | | OP32 ("vnor.8", |
8443 | | OPCODE_INFO3 (0xf8000a60, |
8444 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8445 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8446 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8447 | | CSKY_ISA_VDSP), |
8448 | | OP32 ("vnor.16", |
8449 | | OPCODE_INFO3 (0xf8100a60, |
8450 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8451 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8452 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8453 | | CSKY_ISA_VDSP), |
8454 | | OP32 ("vnor.32", |
8455 | | OPCODE_INFO3 (0xfa000a60, |
8456 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8457 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8458 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8459 | | CSKY_ISA_VDSP), |
8460 | | OP32 ("vxor.8", |
8461 | | OPCODE_INFO3 (0xf8000a80, |
8462 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8463 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8464 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8465 | | CSKY_ISA_VDSP), |
8466 | | OP32 ("vxor.16", |
8467 | | OPCODE_INFO3 (0xf8100a80, |
8468 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8469 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8470 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8471 | | CSKY_ISA_VDSP), |
8472 | | OP32 ("vxor.32", |
8473 | | OPCODE_INFO3 (0xfa000a80, |
8474 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8475 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8476 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8477 | | CSKY_ISA_VDSP), |
8478 | | OP32 ("vtst.8", |
8479 | | OPCODE_INFO3 (0xf8000b20, |
8480 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8481 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8482 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8483 | | CSKY_ISA_VDSP), |
8484 | | OP32 ("vtst.16", |
8485 | | OPCODE_INFO3 (0xf8100b20, |
8486 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8487 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8488 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8489 | | CSKY_ISA_VDSP), |
8490 | | OP32 ("vtst.32", |
8491 | | OPCODE_INFO3 (0xfa000b20, |
8492 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8493 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8494 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8495 | | CSKY_ISA_VDSP), |
8496 | | OP32 ("vbpermz.8", |
8497 | | OPCODE_INFO3 (0xf8000f00, |
8498 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8499 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8500 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8501 | | CSKY_ISA_VDSP), |
8502 | | OP32 ("vbpermz.16", |
8503 | | OPCODE_INFO3 (0xf8100f00, |
8504 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8505 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8506 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8507 | | CSKY_ISA_VDSP), |
8508 | | OP32 ("vbpermz.32", |
8509 | | OPCODE_INFO3 (0xfa000f00, |
8510 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8511 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8512 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8513 | | CSKY_ISA_VDSP), |
8514 | | OP32 ("vbperm.8", |
8515 | | OPCODE_INFO3 (0xf8000f20, |
8516 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8517 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8518 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8519 | | CSKY_ISA_VDSP), |
8520 | | OP32 ("vbperm.16", |
8521 | | OPCODE_INFO3 (0xf8100f20, |
8522 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8523 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8524 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8525 | | CSKY_ISA_VDSP), |
8526 | | OP32 ("vbperm.32", |
8527 | | OPCODE_INFO3 (0xfa000f20, |
8528 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8529 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8530 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8531 | | CSKY_ISA_VDSP), |
8532 | | OP32 ("vdch.8", |
8533 | | OPCODE_INFO3 (0xf8000fc0, |
8534 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8535 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8536 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8537 | | CSKY_ISA_VDSP), |
8538 | | OP32 ("vdch.16", |
8539 | | OPCODE_INFO3 (0xf8100fc0, |
8540 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8541 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8542 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8543 | | CSKY_ISA_VDSP), |
8544 | | OP32 ("vdch.32", |
8545 | | OPCODE_INFO3 (0xfa000fc0, |
8546 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8547 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8548 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8549 | | CSKY_ISA_VDSP), |
8550 | | OP32 ("vdcl.8", |
8551 | | OPCODE_INFO3 (0xf8000fe0, |
8552 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8553 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8554 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8555 | | CSKY_ISA_VDSP), |
8556 | | OP32 ("vdcl.16", |
8557 | | OPCODE_INFO3 (0xf8100fe0, |
8558 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8559 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8560 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8561 | | CSKY_ISA_VDSP), |
8562 | | OP32 ("vdcl.32", |
8563 | | OPCODE_INFO3 (0xfa000fe0, |
8564 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8565 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8566 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8567 | | CSKY_ISA_VDSP), |
8568 | | OP32 ("vich.8", |
8569 | | OPCODE_INFO3 (0xf8000f80, |
8570 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8571 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8572 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8573 | | CSKY_ISA_VDSP), |
8574 | | OP32 ("vich.16", |
8575 | | OPCODE_INFO3 (0xf8100f80, |
8576 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8577 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8578 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8579 | | CSKY_ISA_VDSP), |
8580 | | OP32 ("vich.32", |
8581 | | OPCODE_INFO3 (0xfa000f80, |
8582 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8583 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8584 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8585 | | CSKY_ISA_VDSP), |
8586 | | OP32 ("vicl.8", |
8587 | | OPCODE_INFO3 (0xf8000fa0, |
8588 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8589 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8590 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8591 | | CSKY_ISA_VDSP), |
8592 | | OP32 ("vicl.16", |
8593 | | OPCODE_INFO3 (0xf8100fa0, |
8594 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8595 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8596 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8597 | | CSKY_ISA_VDSP), |
8598 | | OP32 ("vicl.32", |
8599 | | OPCODE_INFO3 (0xfa000fa0, |
8600 | | (0_3, VREG, OPRND_SHIFT_0_BIT), |
8601 | | (16_19, VREG, OPRND_SHIFT_0_BIT), |
8602 | | (21_24, VREG, OPRND_SHIFT_0_BIT)), |
8603 | | CSKY_ISA_VDSP), |
8604 | | |
8605 | | #define OPRND_SHIFT0(mask, type) (mask, type, OPRND_SHIFT_0_BIT) |
8606 | | #define OPRND_SHIFT1(mask, type) (mask, type, OPRND_SHIFT_1_BIT) |
8607 | | #define OPRND_SHIFT2(mask, type) (mask, type, OPRND_SHIFT_2_BIT) |
8608 | | #define OPRND_SHIFT3(mask, type) (mask, type, OPRND_SHIFT_3_BIT) |
8609 | | #define OPRND_SHIFT4(mask, type) (mask, type, OPRND_SHIFT_4_BIT) |
8610 | | |
8611 | | /* The followings are 860 floating instructions. */ |
8612 | | OP32 ("fadd.16", |
8613 | | OPCODE_INFO3 (0xf400c800, |
8614 | | OPRND_SHIFT0 (0_4, FREG), |
8615 | | OPRND_SHIFT0 (16_20, FREG), |
8616 | | OPRND_SHIFT0 (21_25, FREG)), |
8617 | | CSKY_ISA_FLOAT_7E60), |
8618 | | OP32 ("faddh", |
8619 | | OPCODE_INFO3 (0xf400c800, |
8620 | | OPRND_SHIFT0 (0_4, FREG), |
8621 | | OPRND_SHIFT0 (16_20, FREG), |
8622 | | OPRND_SHIFT0 (21_25, FREG)), |
8623 | | CSKY_ISA_FLOAT_7E60), |
8624 | | OP32 ("fsub.16", |
8625 | | OPCODE_INFO3 (0xf400c820, |
8626 | | OPRND_SHIFT0 (0_4, FREG), |
8627 | | OPRND_SHIFT0 (16_20, FREG), |
8628 | | OPRND_SHIFT0 (21_25, FREG)), |
8629 | | CSKY_ISA_FLOAT_7E60), |
8630 | | OP32 ("fsubh", |
8631 | | OPCODE_INFO3 (0xf400c820, |
8632 | | OPRND_SHIFT0 (0_4, FREG), |
8633 | | OPRND_SHIFT0 (16_20, FREG), |
8634 | | OPRND_SHIFT0 (21_25, FREG)), |
8635 | | CSKY_ISA_FLOAT_7E60), |
8636 | | OP32 ("fmov.16", |
8637 | | OPCODE_INFO2 (0xf400c880, |
8638 | | OPRND_SHIFT0 (0_4, FREG), |
8639 | | OPRND_SHIFT0 (16_20, FREG)), |
8640 | | CSKY_ISA_FLOAT_7E60), |
8641 | | OP32 ("fmovh", |
8642 | | OPCODE_INFO2 (0xf400c880, |
8643 | | OPRND_SHIFT0 (0_4, FREG), |
8644 | | OPRND_SHIFT0 (16_20, FREG)), |
8645 | | CSKY_ISA_FLOAT_7E60), |
8646 | | OP32 ("fabs.16", |
8647 | | OPCODE_INFO2 (0xf400c8c0, |
8648 | | OPRND_SHIFT0 (0_4, FREG), |
8649 | | OPRND_SHIFT0 (16_20, FREG)), |
8650 | | CSKY_ISA_FLOAT_7E60), |
8651 | | OP32 ("fabsh", |
8652 | | OPCODE_INFO2 (0xf400c8c0, |
8653 | | OPRND_SHIFT0 (0_4, FREG), |
8654 | | OPRND_SHIFT0 (16_20, FREG)), |
8655 | | CSKY_ISA_FLOAT_7E60), |
8656 | | OP32 ("fneg.16", |
8657 | | OPCODE_INFO2 (0xf400c8e0, |
8658 | | OPRND_SHIFT0 (0_4, FREG), |
8659 | | OPRND_SHIFT0 (16_20, FREG)), |
8660 | | CSKY_ISA_FLOAT_7E60), |
8661 | | OP32 ("fnegh", |
8662 | | OPCODE_INFO2 (0xf400c8e0, |
8663 | | OPRND_SHIFT0 (0_4, FREG), |
8664 | | OPRND_SHIFT0 (16_20, FREG)), |
8665 | | CSKY_ISA_FLOAT_7E60), |
8666 | | OP32 ("fcmphsz.16", |
8667 | | OPCODE_INFO1 (0xf400c900, |
8668 | | OPRND_SHIFT0 (16_20, FREG)), |
8669 | | CSKY_ISA_FLOAT_7E60), |
8670 | | OP32 ("fcmpzhsh", |
8671 | | OPCODE_INFO1 (0xf400c900, |
8672 | | OPRND_SHIFT0 (16_20, FREG)), |
8673 | | CSKY_ISA_FLOAT_7E60), |
8674 | | OP32 ("fcmpltz.16", |
8675 | | OPCODE_INFO1 (0xf400c920, |
8676 | | OPRND_SHIFT0 (16_20, FREG)), |
8677 | | CSKY_ISA_FLOAT_7E60), |
8678 | | OP32 ("fcmpzlth", |
8679 | | OPCODE_INFO1 (0xf400c920, |
8680 | | OPRND_SHIFT0 (16_20, FREG)), |
8681 | | CSKY_ISA_FLOAT_7E60), |
8682 | | OP32 ("fcmpnez.16", |
8683 | | OPCODE_INFO1 (0xf400c940, |
8684 | | OPRND_SHIFT0 (16_20, FREG)), |
8685 | | CSKY_ISA_FLOAT_7E60), |
8686 | | OP32 ("fcmpzneh", |
8687 | | OPCODE_INFO1 (0xf400c940, |
8688 | | OPRND_SHIFT0 (16_20, FREG)), |
8689 | | CSKY_ISA_FLOAT_7E60), |
8690 | | OP32 ("fcmpuoz.16", |
8691 | | OPCODE_INFO1 (0xf400c960, |
8692 | | OPRND_SHIFT0 (16_20, FREG)), |
8693 | | CSKY_ISA_FLOAT_7E60), |
8694 | | OP32 ("fcmpzuoh", |
8695 | | OPCODE_INFO1 (0xf400c960, |
8696 | | OPRND_SHIFT0 (16_20, FREG)), |
8697 | | CSKY_ISA_FLOAT_7E60), |
8698 | | OP32 ("fcmphs.16", |
8699 | | OPCODE_INFO2 (0xf400c980, |
8700 | | OPRND_SHIFT0 (16_20, FREG), |
8701 | | OPRND_SHIFT0 (21_25, FREG)), |
8702 | | CSKY_ISA_FLOAT_7E60), |
8703 | | OP32 ("fcmphsh", |
8704 | | OPCODE_INFO2 (0xf400c980, |
8705 | | OPRND_SHIFT0 (16_20, FREG), |
8706 | | OPRND_SHIFT0 (21_25, FREG)), |
8707 | | CSKY_ISA_FLOAT_7E60), |
8708 | | OP32 ("fcmplt.16", |
8709 | | OPCODE_INFO2 (0xf400c9a0, |
8710 | | OPRND_SHIFT0 (16_20, FREG), |
8711 | | OPRND_SHIFT0 (21_25, FREG)), |
8712 | | CSKY_ISA_FLOAT_7E60), |
8713 | | OP32 ("fcmpne.16", |
8714 | | OPCODE_INFO2 (0xf400c9c0, |
8715 | | OPRND_SHIFT0 (16_20, FREG), |
8716 | | OPRND_SHIFT0 (21_25, FREG)), |
8717 | | CSKY_ISA_FLOAT_7E60), |
8718 | | OP32 ("fcmpneh", |
8719 | | OPCODE_INFO2 (0xf400c9c0, |
8720 | | OPRND_SHIFT0 (16_20, FREG), |
8721 | | OPRND_SHIFT0 (21_25, FREG)), |
8722 | | CSKY_ISA_FLOAT_7E60), |
8723 | | OP32 ("fcmpuo.16", |
8724 | | OPCODE_INFO2 (0xf400c9e0, |
8725 | | OPRND_SHIFT0 (16_20, FREG), |
8726 | | OPRND_SHIFT0 (21_25, FREG)), |
8727 | | CSKY_ISA_FLOAT_7E60), |
8728 | | OP32 ("fcmpuoh", |
8729 | | OPCODE_INFO2 (0xf400c9e0, |
8730 | | OPRND_SHIFT0 (16_20, FREG), |
8731 | | OPRND_SHIFT0 (21_25, FREG)), |
8732 | | CSKY_ISA_FLOAT_7E60), |
8733 | | OP32 ("fmaxnm.16", |
8734 | | OPCODE_INFO3 (0xf400cd00, |
8735 | | OPRND_SHIFT0 (0_4, FREG), |
8736 | | OPRND_SHIFT0 (16_20, FREG), |
8737 | | OPRND_SHIFT0 (21_25, FREG)), |
8738 | | CSKY_ISA_FLOAT_7E60), |
8739 | | OP32 ("fminnm.16", |
8740 | | OPCODE_INFO3 (0xf400cd20, |
8741 | | OPRND_SHIFT0 (0_4, FREG), |
8742 | | OPRND_SHIFT0 (16_20, FREG), |
8743 | | OPRND_SHIFT0 (21_25, FREG)), |
8744 | | CSKY_ISA_FLOAT_7E60), |
8745 | | OP32 ("fcmphz.16", |
8746 | | OPCODE_INFO1 (0xf400cd40, |
8747 | | OPRND_SHIFT0 (16_20, FREG)), |
8748 | | CSKY_ISA_FLOAT_7E60), |
8749 | | OP32 ("fcmplsz.16", |
8750 | | OPCODE_INFO1 (0xf400cd60, |
8751 | | OPRND_SHIFT0 (16_20, FREG)), |
8752 | | CSKY_ISA_FLOAT_7E60), |
8753 | | OP32 ("fmul.16", |
8754 | | OPCODE_INFO3 (0xf400ca00, |
8755 | | OPRND_SHIFT0 (0_4, FREG), |
8756 | | OPRND_SHIFT0 (16_20, FREG), |
8757 | | OPRND_SHIFT0 (21_25, FREG)), |
8758 | | CSKY_ISA_FLOAT_7E60), |
8759 | | OP32 ("fmulh", |
8760 | | OPCODE_INFO3 (0xf400ca00, |
8761 | | OPRND_SHIFT0 (0_4, FREG), |
8762 | | OPRND_SHIFT0 (16_20, FREG), |
8763 | | OPRND_SHIFT0 (21_25, FREG)), |
8764 | | CSKY_ISA_FLOAT_7E60), |
8765 | | OP32 ("fnmul.16", |
8766 | | OPCODE_INFO3 (0xf400ca20, |
8767 | | OPRND_SHIFT0 (0_4, FREG), |
8768 | | OPRND_SHIFT0 (16_20, FREG), |
8769 | | OPRND_SHIFT0 (21_25, FREG)), |
8770 | | CSKY_ISA_FLOAT_7E60), |
8771 | | OP32 ("fnmulh", |
8772 | | OPCODE_INFO3 (0xf400ca20, |
8773 | | OPRND_SHIFT0 (0_4, FREG), |
8774 | | OPRND_SHIFT0 (16_20, FREG), |
8775 | | OPRND_SHIFT0 (21_25, FREG)), |
8776 | | CSKY_ISA_FLOAT_7E60), |
8777 | | OP32 ("fmula.16", |
8778 | | OPCODE_INFO3 (0xf400ca80, |
8779 | | OPRND_SHIFT0 (0_4, FREG), |
8780 | | OPRND_SHIFT0 (16_20, FREG), |
8781 | | OPRND_SHIFT0 (21_25, FREG)), |
8782 | | CSKY_ISA_FLOAT_7E60), |
8783 | | OP32 ("fmach", |
8784 | | OPCODE_INFO3 (0xf400ca80, |
8785 | | OPRND_SHIFT0 (0_4, FREG), |
8786 | | OPRND_SHIFT0 (16_20, FREG), |
8787 | | OPRND_SHIFT0 (21_25, FREG)), |
8788 | | CSKY_ISA_FLOAT_7E60), |
8789 | | OP32 ("fnmuls.16", |
8790 | | OPCODE_INFO3 (0xf400caa0, |
8791 | | OPRND_SHIFT0 (0_4, FREG), |
8792 | | OPRND_SHIFT0 (16_20, FREG), |
8793 | | OPRND_SHIFT0 (21_25, FREG)), |
8794 | | CSKY_ISA_FLOAT_7E60), |
8795 | | OP32 ("fmsch", |
8796 | | OPCODE_INFO3 (0xf400caa0, |
8797 | | OPRND_SHIFT0 (0_4, FREG), |
8798 | | OPRND_SHIFT0 (16_20, FREG), |
8799 | | OPRND_SHIFT0 (21_25, FREG)), |
8800 | | CSKY_ISA_FLOAT_7E60), |
8801 | | OP32 ("fmuls.16", |
8802 | | OPCODE_INFO3 (0xf400cac0, |
8803 | | OPRND_SHIFT0 (0_4, FREG), |
8804 | | OPRND_SHIFT0 (16_20, FREG), |
8805 | | OPRND_SHIFT0 (21_25, FREG)), |
8806 | | CSKY_ISA_FLOAT_7E60), |
8807 | | OP32 ("fnmach", |
8808 | | OPCODE_INFO3 (0xf400cac0, |
8809 | | OPRND_SHIFT0 (0_4, FREG), |
8810 | | OPRND_SHIFT0 (16_20, FREG), |
8811 | | OPRND_SHIFT0 (21_25, FREG)), |
8812 | | CSKY_ISA_FLOAT_7E60), |
8813 | | OP32 ("fnmula.16", |
8814 | | OPCODE_INFO3 (0xf400cae0, |
8815 | | OPRND_SHIFT0 (0_4, FREG), |
8816 | | OPRND_SHIFT0 (16_20, FREG), |
8817 | | OPRND_SHIFT0 (21_25, FREG)), |
8818 | | CSKY_ISA_FLOAT_7E60), |
8819 | | OP32 ("fnmsch", |
8820 | | OPCODE_INFO3 (0xf400cae0, |
8821 | | OPRND_SHIFT0 (0_4, FREG), |
8822 | | OPRND_SHIFT0 (16_20, FREG), |
8823 | | OPRND_SHIFT0 (21_25, FREG)), |
8824 | | CSKY_ISA_FLOAT_7E60), |
8825 | | OP32 ("ffmula.16", |
8826 | | OPCODE_INFO3 (0xf400ce00, |
8827 | | OPRND_SHIFT0 (0_4, FREG), |
8828 | | OPRND_SHIFT0 (16_20, FREG), |
8829 | | OPRND_SHIFT0 (21_25, FREG)), |
8830 | | CSKY_ISA_FLOAT_7E60), |
8831 | | OP32 ("ffmuls.16", |
8832 | | OPCODE_INFO3 (0xf400ce20, |
8833 | | OPRND_SHIFT0 (0_4, FREG), |
8834 | | OPRND_SHIFT0 (16_20, FREG), |
8835 | | OPRND_SHIFT0 (21_25, FREG)), |
8836 | | CSKY_ISA_FLOAT_7E60), |
8837 | | OP32 ("ffnmula.16", |
8838 | | OPCODE_INFO3 (0xf400ce40, |
8839 | | OPRND_SHIFT0 (0_4, FREG), |
8840 | | OPRND_SHIFT0 (16_20, FREG), |
8841 | | OPRND_SHIFT0 (21_25, FREG)), |
8842 | | CSKY_ISA_FLOAT_7E60), |
8843 | | OP32 ("ffnmuls.16", |
8844 | | OPCODE_INFO3 (0xf400ce60, |
8845 | | OPRND_SHIFT0 (0_4, FREG), |
8846 | | OPRND_SHIFT0 (16_20, FREG), |
8847 | | OPRND_SHIFT0 (21_25, FREG)), |
8848 | | CSKY_ISA_FLOAT_7E60), |
8849 | | OP32 ("fdivh", |
8850 | | OPCODE_INFO3 (0xf400cb00, |
8851 | | OPRND_SHIFT0 (0_4, FREG), |
8852 | | OPRND_SHIFT0 (16_20, FREG), |
8853 | | OPRND_SHIFT0 (21_25, FREG)), |
8854 | | CSKY_ISA_FLOAT_7E60), |
8855 | | OP32 ("fdiv.16", |
8856 | | OPCODE_INFO3 (0xf400cb00, |
8857 | | OPRND_SHIFT0 (0_4, FREG), |
8858 | | OPRND_SHIFT0 (16_20, FREG), |
8859 | | OPRND_SHIFT0 (21_25, FREG)), |
8860 | | CSKY_ISA_FLOAT_7E60), |
8861 | | OP32 ("freciph", |
8862 | | OPCODE_INFO2 (0xf400cb20, |
8863 | | OPRND_SHIFT0 (0_4, FREG), |
8864 | | OPRND_SHIFT0 (16_20, FREG)), |
8865 | | CSKY_ISA_FLOAT_7E60), |
8866 | | OP32 ("frecip.16", |
8867 | | OPCODE_INFO2 (0xf400cb20, |
8868 | | OPRND_SHIFT0 (0_4, FREG), |
8869 | | OPRND_SHIFT0 (16_20, FREG)), |
8870 | | CSKY_ISA_FLOAT_7E60), |
8871 | | OP32 ("fsqrt.16", |
8872 | | OPCODE_INFO2 (0xf400cb40, |
8873 | | OPRND_SHIFT0 (0_4, FREG), |
8874 | | OPRND_SHIFT0 (16_20, FREG)), |
8875 | | CSKY_ISA_FLOAT_7E60), |
8876 | | OP32 ("fsqrth", |
8877 | | OPCODE_INFO2 (0xf400cb40, |
8878 | | OPRND_SHIFT0 (0_4, FREG), |
8879 | | OPRND_SHIFT0 (16_20, FREG)), |
8880 | | CSKY_ISA_FLOAT_7E60), |
8881 | | OP32 ("fsel.16", |
8882 | | OPCODE_INFO3 (0xf400cf20, |
8883 | | OPRND_SHIFT0 (0_4, FREG), |
8884 | | OPRND_SHIFT0 (16_20, FREG), |
8885 | | OPRND_SHIFT0 (21_25, FREG)), |
8886 | | CSKY_ISA_FLOAT_7E60), |
8887 | | /* Single floating. */ |
8888 | | OP32 ("fadd.32", |
8889 | | OPCODE_INFO3 (0xf4000000, |
8890 | | OPRND_SHIFT0 (0_4, FREG), |
8891 | | OPRND_SHIFT0 (16_20, FREG), |
8892 | | OPRND_SHIFT0 (21_25, FREG)), |
8893 | | CSKY_ISA_FLOAT_7E60), |
8894 | | OP32 ("fadds", |
8895 | | OPCODE_INFO3 (0xf4000000, |
8896 | | OPRND_SHIFT0 (0_4, FREG), |
8897 | | OPRND_SHIFT0 (16_20, FREG), |
8898 | | OPRND_SHIFT0 (21_25, FREG)), |
8899 | | CSKY_ISA_FLOAT_7E60), |
8900 | | OP32 ("fsub.32", |
8901 | | OPCODE_INFO3 (0xf4000020, |
8902 | | OPRND_SHIFT0 (0_4, FREG), |
8903 | | OPRND_SHIFT0 (16_20, FREG), |
8904 | | OPRND_SHIFT0 (21_25, FREG)), |
8905 | | CSKY_ISA_FLOAT_7E60), |
8906 | | OP32 ("fsubs", |
8907 | | OPCODE_INFO3 (0xf4000020, |
8908 | | OPRND_SHIFT0 (0_4, FREG), |
8909 | | OPRND_SHIFT0 (16_20, FREG), |
8910 | | OPRND_SHIFT0 (21_25, FREG)), |
8911 | | CSKY_ISA_FLOAT_7E60), |
8912 | | OP32 ("fmov.32", |
8913 | | OPCODE_INFO2 (0xf4000080, |
8914 | | OPRND_SHIFT0 (0_4, FREG), |
8915 | | OPRND_SHIFT0 (16_20, FREG)), |
8916 | | CSKY_ISA_FLOAT_7E60), |
8917 | | OP32 ("fmovs", |
8918 | | OPCODE_INFO2 (0xf4000080, |
8919 | | OPRND_SHIFT0 (0_4, FREG), |
8920 | | OPRND_SHIFT0 (16_20, FREG)), |
8921 | | CSKY_ISA_FLOAT_7E60), |
8922 | | OP32 ("fabs.32", |
8923 | | OPCODE_INFO2 (0xf40000c0, |
8924 | | OPRND_SHIFT0 (0_4, FREG), |
8925 | | OPRND_SHIFT0 (16_20, FREG)), |
8926 | | CSKY_ISA_FLOAT_7E60), |
8927 | | OP32 ("fabss", |
8928 | | OPCODE_INFO2 (0xf40000c0, |
8929 | | OPRND_SHIFT0 (0_4, FREG), |
8930 | | OPRND_SHIFT0 (16_20, FREG)), |
8931 | | CSKY_ISA_FLOAT_7E60), |
8932 | | OP32 ("fneg.32", |
8933 | | OPCODE_INFO2 (0xf40000e0, |
8934 | | OPRND_SHIFT0 (0_4, FREG), |
8935 | | OPRND_SHIFT0 (16_20, FREG)), |
8936 | | CSKY_ISA_FLOAT_7E60), |
8937 | | OP32 ("fnegs", |
8938 | | OPCODE_INFO2 (0xf40000e0, |
8939 | | OPRND_SHIFT0 (0_4, FREG), |
8940 | | OPRND_SHIFT0 (16_20, FREG)), |
8941 | | CSKY_ISA_FLOAT_7E60), |
8942 | | OP32 ("fcmphsz.32", |
8943 | | OPCODE_INFO1 (0xf4000100, |
8944 | | OPRND_SHIFT0 (16_20, FREG)), |
8945 | | CSKY_ISA_FLOAT_7E60), |
8946 | | OP32 ("fcmpzhss", |
8947 | | OPCODE_INFO1 (0xf4000100, |
8948 | | OPRND_SHIFT0 (16_20, FREG)), |
8949 | | CSKY_ISA_FLOAT_7E60), |
8950 | | OP32 ("fcmpltz.32", |
8951 | | OPCODE_INFO1 (0xf4000120, |
8952 | | OPRND_SHIFT0 (16_20, FREG)), |
8953 | | CSKY_ISA_FLOAT_7E60), |
8954 | | OP32 ("fcmpzlts", |
8955 | | OPCODE_INFO1 (0xf4000120, |
8956 | | OPRND_SHIFT0 (16_20, FREG)), |
8957 | | CSKY_ISA_FLOAT_7E60), |
8958 | | OP32 ("fcmpnez.32", |
8959 | | OPCODE_INFO1 (0xf4000140, |
8960 | | OPRND_SHIFT0 (16_20, FREG)), |
8961 | | CSKY_ISA_FLOAT_7E60), |
8962 | | OP32 ("fcmpznes", |
8963 | | OPCODE_INFO1 (0xf4000140, |
8964 | | OPRND_SHIFT0 (16_20, FREG)), |
8965 | | CSKY_ISA_FLOAT_7E60), |
8966 | | OP32 ("fcmpuoz.32", |
8967 | | OPCODE_INFO1 (0xf4000160, |
8968 | | OPRND_SHIFT0 (16_20, FREG)), |
8969 | | CSKY_ISA_FLOAT_7E60), |
8970 | | OP32 ("fcmpzuos", |
8971 | | OPCODE_INFO1 (0xf4000160, |
8972 | | OPRND_SHIFT0 (16_20, FREG)), |
8973 | | CSKY_ISA_FLOAT_7E60), |
8974 | | OP32 ("fcmphs.32", |
8975 | | OPCODE_INFO2 (0xf4000180, |
8976 | | OPRND_SHIFT0 (16_20, FREG), |
8977 | | OPRND_SHIFT0 (21_25, FREG)), |
8978 | | CSKY_ISA_FLOAT_7E60), |
8979 | | OP32 ("fcmphss", |
8980 | | OPCODE_INFO2 (0xf4000180, |
8981 | | OPRND_SHIFT0 (16_20, FREG), |
8982 | | OPRND_SHIFT0 (21_25, FREG)), |
8983 | | CSKY_ISA_FLOAT_7E60), |
8984 | | OP32 ("fcmplt.32", |
8985 | | OPCODE_INFO2 (0xf40001a0, |
8986 | | OPRND_SHIFT0 (16_20, FREG), |
8987 | | OPRND_SHIFT0 (21_25, FREG)), |
8988 | | CSKY_ISA_FLOAT_7E60), |
8989 | | OP32 ("fcmplts", |
8990 | | OPCODE_INFO2 (0xf40001a0, |
8991 | | OPRND_SHIFT0 (16_20, FREG), |
8992 | | OPRND_SHIFT0 (21_25, FREG)), |
8993 | | CSKY_ISA_FLOAT_7E60), |
8994 | | OP32 ("fcmpne.32", |
8995 | | OPCODE_INFO2 (0xf40001c0, |
8996 | | OPRND_SHIFT0 (16_20, FREG), |
8997 | | OPRND_SHIFT0 (21_25, FREG)), |
8998 | | CSKY_ISA_FLOAT_7E60), |
8999 | | OP32 ("fcmpnes", |
9000 | | OPCODE_INFO2 (0xf40001c0, |
9001 | | OPRND_SHIFT0 (16_20, FREG), |
9002 | | OPRND_SHIFT0 (21_25, FREG)), |
9003 | | CSKY_ISA_FLOAT_7E60), |
9004 | | OP32 ("fcmpuo.32", |
9005 | | OPCODE_INFO2 (0xf40001e0, |
9006 | | OPRND_SHIFT0 (16_20, FREG), |
9007 | | OPRND_SHIFT0 (21_25, FREG)), |
9008 | | CSKY_ISA_FLOAT_7E60), |
9009 | | OP32 ("fcmpuos", |
9010 | | OPCODE_INFO2 (0xf40001e0, |
9011 | | OPRND_SHIFT0 (16_20, FREG), |
9012 | | OPRND_SHIFT0 (21_25, FREG)), |
9013 | | CSKY_ISA_FLOAT_7E60), |
9014 | | OP32 ("fmaxnm.32", |
9015 | | OPCODE_INFO3 (0xf4000500, |
9016 | | OPRND_SHIFT0 (0_4, FREG), |
9017 | | OPRND_SHIFT0 (16_20, FREG), |
9018 | | OPRND_SHIFT0 (21_25, FREG)), |
9019 | | CSKY_ISA_FLOAT_7E60), |
9020 | | OP32 ("fminnm.32", |
9021 | | OPCODE_INFO3 (0xf4000520, |
9022 | | OPRND_SHIFT0 (0_4, FREG), |
9023 | | OPRND_SHIFT0 (16_20, FREG), |
9024 | | OPRND_SHIFT0 (21_25, FREG)), |
9025 | | CSKY_ISA_FLOAT_7E60), |
9026 | | OP32 ("fcmphz.32", |
9027 | | OPCODE_INFO1 (0xf4000540, |
9028 | | OPRND_SHIFT0 (16_20, FREG)), |
9029 | | CSKY_ISA_FLOAT_7E60), |
9030 | | OP32 ("fcmplsz.32", |
9031 | | OPCODE_INFO1 (0xf4000560, |
9032 | | OPRND_SHIFT0 (16_20, FREG)), |
9033 | | CSKY_ISA_FLOAT_7E60), |
9034 | | OP32 ("fmul.32", |
9035 | | OPCODE_INFO3 (0xf4000200, |
9036 | | OPRND_SHIFT0 (0_4, FREG), |
9037 | | OPRND_SHIFT0 (16_20, FREG), |
9038 | | OPRND_SHIFT0 (21_25, FREG)), |
9039 | | CSKY_ISA_FLOAT_7E60), |
9040 | | OP32 ("fmuls", |
9041 | | OPCODE_INFO3 (0xf4000200, |
9042 | | OPRND_SHIFT0 (0_4, FREG), |
9043 | | OPRND_SHIFT0 (16_20, FREG), |
9044 | | OPRND_SHIFT0 (21_25, FREG)), |
9045 | | CSKY_ISA_FLOAT_7E60), |
9046 | | OP32 ("fnmul.32", |
9047 | | OPCODE_INFO3 (0xf4000220, |
9048 | | OPRND_SHIFT0 (0_4, FREG), |
9049 | | OPRND_SHIFT0 (16_20, FREG), |
9050 | | OPRND_SHIFT0 (21_25, FREG)), |
9051 | | CSKY_ISA_FLOAT_7E60), |
9052 | | OP32 ("fnmuls", |
9053 | | OPCODE_INFO3 (0xf4000220, |
9054 | | OPRND_SHIFT0 (0_4, FREG), |
9055 | | OPRND_SHIFT0 (16_20, FREG), |
9056 | | OPRND_SHIFT0 (21_25, FREG)), |
9057 | | CSKY_ISA_FLOAT_7E60), |
9058 | | OP32 ("fmula.32", |
9059 | | OPCODE_INFO3 (0xf4000280, |
9060 | | OPRND_SHIFT0 (0_4, FREG), |
9061 | | OPRND_SHIFT0 (16_20, FREG), |
9062 | | OPRND_SHIFT0 (21_25, FREG)), |
9063 | | CSKY_ISA_FLOAT_7E60), |
9064 | | OP32 ("fmacs", |
9065 | | OPCODE_INFO3 (0xf4000280, |
9066 | | OPRND_SHIFT0 (0_4, FREG), |
9067 | | OPRND_SHIFT0 (16_20, FREG), |
9068 | | OPRND_SHIFT0 (21_25, FREG)), |
9069 | | CSKY_ISA_FLOAT_7E60), |
9070 | | OP32 ("fnmuls.32", |
9071 | | OPCODE_INFO3 (0xf40002a0, |
9072 | | OPRND_SHIFT0 (0_4, FREG), |
9073 | | OPRND_SHIFT0 (16_20, FREG), |
9074 | | OPRND_SHIFT0 (21_25, FREG)), |
9075 | | CSKY_ISA_FLOAT_7E60), |
9076 | | OP32 ("fmscs", |
9077 | | OPCODE_INFO3 (0xf40002a0, |
9078 | | OPRND_SHIFT0 (0_4, FREG), |
9079 | | OPRND_SHIFT0 (16_20, FREG), |
9080 | | OPRND_SHIFT0 (21_25, FREG)), |
9081 | | CSKY_ISA_FLOAT_7E60), |
9082 | | OP32 ("fmuls.32", |
9083 | | OPCODE_INFO3 (0xf40002c0, |
9084 | | OPRND_SHIFT0 (0_4, FREG), |
9085 | | OPRND_SHIFT0 (16_20, FREG), |
9086 | | OPRND_SHIFT0 (21_25, FREG)), |
9087 | | CSKY_ISA_FLOAT_7E60), |
9088 | | OP32 ("fnmacs", |
9089 | | OPCODE_INFO3 (0xf40002c0, |
9090 | | OPRND_SHIFT0 (0_4, FREG), |
9091 | | OPRND_SHIFT0 (16_20, FREG), |
9092 | | OPRND_SHIFT0 (21_25, FREG)), |
9093 | | CSKY_ISA_FLOAT_7E60), |
9094 | | OP32 ("fnmula.32", |
9095 | | OPCODE_INFO3 (0xf40002e0, |
9096 | | OPRND_SHIFT0 (0_4, FREG), |
9097 | | OPRND_SHIFT0 (16_20, FREG), |
9098 | | OPRND_SHIFT0 (21_25, FREG)), |
9099 | | CSKY_ISA_FLOAT_7E60), |
9100 | | OP32 ("fnmscs", |
9101 | | OPCODE_INFO3 (0xf40002e0, |
9102 | | OPRND_SHIFT0 (0_4, FREG), |
9103 | | OPRND_SHIFT0 (16_20, FREG), |
9104 | | OPRND_SHIFT0 (21_25, FREG)), |
9105 | | CSKY_ISA_FLOAT_7E60), |
9106 | | OP32 ("ffmula.32", |
9107 | | OPCODE_INFO3 (0xf4000600, |
9108 | | OPRND_SHIFT0 (0_4, FREG), |
9109 | | OPRND_SHIFT0 (16_20, FREG), |
9110 | | OPRND_SHIFT0 (21_25, FREG)), |
9111 | | CSKY_ISA_FLOAT_7E60), |
9112 | | OP32 ("ffmuls.32", |
9113 | | OPCODE_INFO3 (0xf4000620, |
9114 | | OPRND_SHIFT0 (0_4, FREG), |
9115 | | OPRND_SHIFT0 (16_20, FREG), |
9116 | | OPRND_SHIFT0 (21_25, FREG)), |
9117 | | CSKY_ISA_FLOAT_7E60), |
9118 | | OP32 ("ffnmula.32", |
9119 | | OPCODE_INFO3 (0xf4000640, |
9120 | | OPRND_SHIFT0 (0_4, FREG), |
9121 | | OPRND_SHIFT0 (16_20, FREG), |
9122 | | OPRND_SHIFT0 (21_25, FREG)), |
9123 | | CSKY_ISA_FLOAT_7E60), |
9124 | | OP32 ("ffnmuls.32", |
9125 | | OPCODE_INFO3 (0xf4000660, |
9126 | | OPRND_SHIFT0 (0_4, FREG), |
9127 | | OPRND_SHIFT0 (16_20, FREG), |
9128 | | OPRND_SHIFT0 (21_25, FREG)), |
9129 | | CSKY_ISA_FLOAT_7E60), |
9130 | | OP32 ("fdiv.32", |
9131 | | OPCODE_INFO3 (0xf4000300, |
9132 | | OPRND_SHIFT0 (0_4, FREG), |
9133 | | OPRND_SHIFT0 (16_20, FREG), |
9134 | | OPRND_SHIFT0 (21_25, FREG)), |
9135 | | CSKY_ISA_FLOAT_7E60), |
9136 | | OP32 ("fdivs", |
9137 | | OPCODE_INFO3 (0xf4000300, |
9138 | | OPRND_SHIFT0 (0_4, FREG), |
9139 | | OPRND_SHIFT0 (16_20, FREG), |
9140 | | OPRND_SHIFT0 (21_25, FREG)), |
9141 | | CSKY_ISA_FLOAT_7E60), |
9142 | | OP32 ("frecip.32", |
9143 | | OPCODE_INFO2 (0xf4000320, |
9144 | | OPRND_SHIFT0 (0_4, FREG), |
9145 | | OPRND_SHIFT0 (16_20, FREG)), |
9146 | | CSKY_ISA_FLOAT_7E60), |
9147 | | OP32 ("frecips", |
9148 | | OPCODE_INFO2 (0xf4000320, |
9149 | | OPRND_SHIFT0 (0_4, FREG), |
9150 | | OPRND_SHIFT0 (16_20, FREG)), |
9151 | | CSKY_ISA_FLOAT_7E60), |
9152 | | OP32 ("fsqrt.32", |
9153 | | OPCODE_INFO2 (0xf4000340, |
9154 | | OPRND_SHIFT0 (0_4, FREG), |
9155 | | OPRND_SHIFT0 (16_20, FREG)), |
9156 | | CSKY_ISA_FLOAT_7E60), |
9157 | | OP32 ("fsqrts", |
9158 | | OPCODE_INFO2 (0xf4000340, |
9159 | | OPRND_SHIFT0 (0_4, FREG), |
9160 | | OPRND_SHIFT0 (16_20, FREG)), |
9161 | | CSKY_ISA_FLOAT_7E60), |
9162 | | OP32 ("fsel.32", |
9163 | | OPCODE_INFO3 (0xf4000720, |
9164 | | OPRND_SHIFT0 (0_4, FREG), |
9165 | | OPRND_SHIFT0 (16_20, FREG), |
9166 | | OPRND_SHIFT0 (21_25, FREG)), |
9167 | | CSKY_ISA_FLOAT_7E60), |
9168 | | /* Double floating. */ |
9169 | | OP32 ("fadd.64", |
9170 | | OPCODE_INFO3 (0xf4000800, |
9171 | | OPRND_SHIFT0 (0_4, FREG), |
9172 | | OPRND_SHIFT0 (16_20, FREG), |
9173 | | OPRND_SHIFT0 (21_25, FREG)), |
9174 | | CSKY_ISA_FLOAT_7E60), |
9175 | | OP32 ("faddd", |
9176 | | OPCODE_INFO3 (0xf4000800, |
9177 | | OPRND_SHIFT0 (0_4, FREG), |
9178 | | OPRND_SHIFT0 (16_20, FREG), |
9179 | | OPRND_SHIFT0 (21_25, FREG)), |
9180 | | CSKY_ISA_FLOAT_7E60), |
9181 | | OP32 ("fsub.64", |
9182 | | OPCODE_INFO3 (0xf4000820, |
9183 | | OPRND_SHIFT0 (0_4, FREG), |
9184 | | OPRND_SHIFT0 (16_20, FREG), |
9185 | | OPRND_SHIFT0 (21_25, FREG)), |
9186 | | CSKY_ISA_FLOAT_7E60), |
9187 | | OP32 ("fsubd", |
9188 | | OPCODE_INFO3 (0xf4000820, |
9189 | | OPRND_SHIFT0 (0_4, FREG), |
9190 | | OPRND_SHIFT0 (16_20, FREG), |
9191 | | OPRND_SHIFT0 (21_25, FREG)), |
9192 | | CSKY_ISA_FLOAT_7E60), |
9193 | | OP32 ("fmov.64", |
9194 | | OPCODE_INFO2 (0xf4000880, |
9195 | | OPRND_SHIFT0 (0_4, FREG), |
9196 | | OPRND_SHIFT0 (16_20, FREG)), |
9197 | | CSKY_ISA_FLOAT_7E60), |
9198 | | OP32 ("fmovd", |
9199 | | OPCODE_INFO2 (0xf4000880, |
9200 | | OPRND_SHIFT0 (0_4, FREG), |
9201 | | OPRND_SHIFT0 (16_20, FREG)), |
9202 | | CSKY_ISA_FLOAT_7E60), |
9203 | | OP32 ("fmovx.32", |
9204 | | OPCODE_INFO2 (0xf40008a0, |
9205 | | OPRND_SHIFT0 (0_4, FREG), |
9206 | | OPRND_SHIFT0 (16_20, FREG)), |
9207 | | CSKY_ISA_FLOAT_7E60), |
9208 | | OP32 ("fabs.64", |
9209 | | OPCODE_INFO2 (0xf40008c0, |
9210 | | OPRND_SHIFT0 (0_4, FREG), |
9211 | | OPRND_SHIFT0 (16_20, FREG)), |
9212 | | CSKY_ISA_FLOAT_7E60), |
9213 | | OP32 ("fabsd", |
9214 | | OPCODE_INFO2 (0xf40008c0, |
9215 | | OPRND_SHIFT0 (0_4, FREG), |
9216 | | OPRND_SHIFT0 (16_20, FREG)), |
9217 | | CSKY_ISA_FLOAT_7E60), |
9218 | | OP32 ("fneg.64", |
9219 | | OPCODE_INFO2 (0xf40008e0, |
9220 | | OPRND_SHIFT0 (0_4, FREG), |
9221 | | OPRND_SHIFT0 (16_20, FREG)), |
9222 | | CSKY_ISA_FLOAT_7E60), |
9223 | | OP32 ("fnegd", |
9224 | | OPCODE_INFO2 (0xf40008e0, |
9225 | | OPRND_SHIFT0 (0_4, FREG), |
9226 | | OPRND_SHIFT0 (16_20, FREG)), |
9227 | | CSKY_ISA_FLOAT_7E60), |
9228 | | OP32 ("fcmphsz.64", |
9229 | | OPCODE_INFO1 (0xf4000900, |
9230 | | OPRND_SHIFT0 (16_20, FREG)), |
9231 | | CSKY_ISA_FLOAT_7E60), |
9232 | | OP32 ("fcmpzhsd", |
9233 | | OPCODE_INFO1 (0xf4000900, |
9234 | | OPRND_SHIFT0 (16_20, FREG)), |
9235 | | CSKY_ISA_FLOAT_7E60), |
9236 | | OP32 ("fcmpltz.64", |
9237 | | OPCODE_INFO1 (0xf4000920, |
9238 | | OPRND_SHIFT0 (16_20, FREG)), |
9239 | | CSKY_ISA_FLOAT_7E60), |
9240 | | OP32 ("fcmpzltd", |
9241 | | OPCODE_INFO1 (0xf4000920, |
9242 | | OPRND_SHIFT0 (16_20, FREG)), |
9243 | | CSKY_ISA_FLOAT_7E60), |
9244 | | OP32 ("fcmpnez.64", |
9245 | | OPCODE_INFO1 (0xf4000940, |
9246 | | OPRND_SHIFT0 (16_20, FREG)), |
9247 | | CSKY_ISA_FLOAT_7E60), |
9248 | | OP32 ("fcmpzned", |
9249 | | OPCODE_INFO1 (0xf4000940, |
9250 | | OPRND_SHIFT0 (16_20, FREG)), |
9251 | | CSKY_ISA_FLOAT_7E60), |
9252 | | OP32 ("fcmpuoz.64", |
9253 | | OPCODE_INFO1 (0xf4000960, |
9254 | | OPRND_SHIFT0 (16_20, FREG)), |
9255 | | CSKY_ISA_FLOAT_7E60), |
9256 | | OP32 ("fcmpzuod", |
9257 | | OPCODE_INFO1 (0xf4000960, |
9258 | | OPRND_SHIFT0 (16_20, FREG)), |
9259 | | CSKY_ISA_FLOAT_7E60), |
9260 | | OP32 ("fcmphs.64", |
9261 | | OPCODE_INFO2 (0xf4000980, |
9262 | | OPRND_SHIFT0 (16_20, FREG), |
9263 | | OPRND_SHIFT0 (21_25, FREG)), |
9264 | | CSKY_ISA_FLOAT_7E60), |
9265 | | OP32 ("fcmphsd", |
9266 | | OPCODE_INFO2 (0xf4000980, |
9267 | | OPRND_SHIFT0 (16_20, FREG), |
9268 | | OPRND_SHIFT0 (21_25, FREG)), |
9269 | | CSKY_ISA_FLOAT_7E60), |
9270 | | OP32 ("fcmplt.64", |
9271 | | OPCODE_INFO2 (0xf40009a0, |
9272 | | OPRND_SHIFT0 (16_20, FREG), |
9273 | | OPRND_SHIFT0 (21_25, FREG)), |
9274 | | CSKY_ISA_FLOAT_7E60), |
9275 | | OP32 ("fcmpltd", |
9276 | | OPCODE_INFO2 (0xf40009a0, |
9277 | | OPRND_SHIFT0 (16_20, FREG), |
9278 | | OPRND_SHIFT0 (21_25, FREG)), |
9279 | | CSKY_ISA_FLOAT_7E60), |
9280 | | OP32 ("fcmpne.64", |
9281 | | OPCODE_INFO2 (0xf40009c0, |
9282 | | OPRND_SHIFT0 (16_20, FREG), |
9283 | | OPRND_SHIFT0 (21_25, FREG)), |
9284 | | CSKY_ISA_FLOAT_7E60), |
9285 | | OP32 ("fcmpned", |
9286 | | OPCODE_INFO2 (0xf40009c0, |
9287 | | OPRND_SHIFT0 (16_20, FREG), |
9288 | | OPRND_SHIFT0 (21_25, FREG)), |
9289 | | CSKY_ISA_FLOAT_7E60), |
9290 | | OP32 ("fcmpuo.64", |
9291 | | OPCODE_INFO2 (0xf40009e0, |
9292 | | OPRND_SHIFT0 (16_20, FREG), |
9293 | | OPRND_SHIFT0 (21_25, FREG)), |
9294 | | CSKY_ISA_FLOAT_7E60), |
9295 | | OP32 ("fcmpuod", |
9296 | | OPCODE_INFO2 (0xf40009e0, |
9297 | | OPRND_SHIFT0 (16_20, FREG), |
9298 | | OPRND_SHIFT0 (21_25, FREG)), |
9299 | | CSKY_ISA_FLOAT_7E60), |
9300 | | OP32 ("fmaxnm.64", |
9301 | | OPCODE_INFO3 (0xf4000d00, |
9302 | | OPRND_SHIFT0 (0_4, FREG), |
9303 | | OPRND_SHIFT0 (16_20, FREG), |
9304 | | OPRND_SHIFT0 (21_25, FREG)), |
9305 | | CSKY_ISA_FLOAT_7E60), |
9306 | | OP32 ("fminnm.64", |
9307 | | OPCODE_INFO3 (0xf4000d20, |
9308 | | OPRND_SHIFT0 (0_4, FREG), |
9309 | | OPRND_SHIFT0 (16_20, FREG), |
9310 | | OPRND_SHIFT0 (21_25, FREG)), |
9311 | | CSKY_ISA_FLOAT_7E60), |
9312 | | OP32 ("fcmphz.64", |
9313 | | OPCODE_INFO1 (0xf4000d40, |
9314 | | OPRND_SHIFT0 (16_20, FREG)), |
9315 | | CSKY_ISA_FLOAT_7E60), |
9316 | | OP32 ("fcmplsz.64", |
9317 | | OPCODE_INFO1 (0xf4000d60, |
9318 | | OPRND_SHIFT0 (16_20, FREG)), |
9319 | | CSKY_ISA_FLOAT_7E60), |
9320 | | OP32 ("fmul.64", |
9321 | | OPCODE_INFO3 (0xf4000a00, |
9322 | | OPRND_SHIFT0 (0_4, FREG), |
9323 | | OPRND_SHIFT0 (16_20, FREG), |
9324 | | OPRND_SHIFT0 (21_25, FREG)), |
9325 | | CSKY_ISA_FLOAT_7E60), |
9326 | | OP32 ("fmuld", |
9327 | | OPCODE_INFO3 (0xf4000a00, |
9328 | | OPRND_SHIFT0 (0_4, FREG), |
9329 | | OPRND_SHIFT0 (16_20, FREG), |
9330 | | OPRND_SHIFT0 (21_25, FREG)), |
9331 | | CSKY_ISA_FLOAT_7E60), |
9332 | | OP32 ("fnmul.64", |
9333 | | OPCODE_INFO3 (0xf4000a20, |
9334 | | OPRND_SHIFT0 (0_4, FREG), |
9335 | | OPRND_SHIFT0 (16_20, FREG), |
9336 | | OPRND_SHIFT0 (21_25, FREG)), |
9337 | | CSKY_ISA_FLOAT_7E60), |
9338 | | OP32 ("fnmuld", |
9339 | | OPCODE_INFO3 (0xf4000a20, |
9340 | | OPRND_SHIFT0 (0_4, FREG), |
9341 | | OPRND_SHIFT0 (16_20, FREG), |
9342 | | OPRND_SHIFT0 (21_25, FREG)), |
9343 | | CSKY_ISA_FLOAT_7E60), |
9344 | | OP32 ("fmula.64", |
9345 | | OPCODE_INFO3 (0xf4000a80, |
9346 | | OPRND_SHIFT0 (0_4, FREG), |
9347 | | OPRND_SHIFT0 (16_20, FREG), |
9348 | | OPRND_SHIFT0 (21_25, FREG)), |
9349 | | CSKY_ISA_FLOAT_7E60), |
9350 | | OP32 ("fmacd", |
9351 | | OPCODE_INFO3 (0xf4000a80, |
9352 | | OPRND_SHIFT0 (0_4, FREG), |
9353 | | OPRND_SHIFT0 (16_20, FREG), |
9354 | | OPRND_SHIFT0 (21_25, FREG)), |
9355 | | CSKY_ISA_FLOAT_7E60), |
9356 | | OP32 ("fnmuls.64", |
9357 | | OPCODE_INFO3 (0xf4000aa0, |
9358 | | OPRND_SHIFT0 (0_4, FREG), |
9359 | | OPRND_SHIFT0 (16_20, FREG), |
9360 | | OPRND_SHIFT0 (21_25, FREG)), |
9361 | | CSKY_ISA_FLOAT_7E60), |
9362 | | OP32 ("fmscd", |
9363 | | OPCODE_INFO3 (0xf4000aa0, |
9364 | | OPRND_SHIFT0 (0_4, FREG), |
9365 | | OPRND_SHIFT0 (16_20, FREG), |
9366 | | OPRND_SHIFT0 (21_25, FREG)), |
9367 | | CSKY_ISA_FLOAT_7E60), |
9368 | | OP32 ("fmuls.64", |
9369 | | OPCODE_INFO3 (0xf4000ac0, |
9370 | | OPRND_SHIFT0 (0_4, FREG), |
9371 | | OPRND_SHIFT0 (16_20, FREG), |
9372 | | OPRND_SHIFT0 (21_25, FREG)), |
9373 | | CSKY_ISA_FLOAT_7E60), |
9374 | | OP32 ("fnmacd", |
9375 | | OPCODE_INFO3 (0xf4000ac0, |
9376 | | OPRND_SHIFT0 (0_4, FREG), |
9377 | | OPRND_SHIFT0 (16_20, FREG), |
9378 | | OPRND_SHIFT0 (21_25, FREG)), |
9379 | | CSKY_ISA_FLOAT_7E60), |
9380 | | OP32 ("fnmula.64", |
9381 | | OPCODE_INFO3 (0xf4000ae0, |
9382 | | OPRND_SHIFT0 (0_4, FREG), |
9383 | | OPRND_SHIFT0 (16_20, FREG), |
9384 | | OPRND_SHIFT0 (21_25, FREG)), |
9385 | | CSKY_ISA_FLOAT_7E60), |
9386 | | OP32 ("fnmscd", |
9387 | | OPCODE_INFO3 (0xf4000ae0, |
9388 | | OPRND_SHIFT0 (0_4, FREG), |
9389 | | OPRND_SHIFT0 (16_20, FREG), |
9390 | | OPRND_SHIFT0 (21_25, FREG)), |
9391 | | CSKY_ISA_FLOAT_7E60), |
9392 | | OP32 ("ffmula.64", |
9393 | | OPCODE_INFO3 (0xf4000e00, |
9394 | | OPRND_SHIFT0 (0_4, FREG), |
9395 | | OPRND_SHIFT0 (16_20, FREG), |
9396 | | OPRND_SHIFT0 (21_25, FREG)), |
9397 | | CSKY_ISA_FLOAT_7E60), |
9398 | | OP32 ("ffmuls.64", |
9399 | | OPCODE_INFO3 (0xf4000e20, |
9400 | | OPRND_SHIFT0 (0_4, FREG), |
9401 | | OPRND_SHIFT0 (16_20, FREG), |
9402 | | OPRND_SHIFT0 (21_25, FREG)), |
9403 | | CSKY_ISA_FLOAT_7E60), |
9404 | | OP32 ("ffnmula.64", |
9405 | | OPCODE_INFO3 (0xf4000e40, |
9406 | | OPRND_SHIFT0 (0_4, FREG), |
9407 | | OPRND_SHIFT0 (16_20, FREG), |
9408 | | OPRND_SHIFT0 (21_25, FREG)), |
9409 | | CSKY_ISA_FLOAT_7E60), |
9410 | | OP32 ("ffnmuls.64", |
9411 | | OPCODE_INFO3 (0xf4000e60, |
9412 | | OPRND_SHIFT0 (0_4, FREG), |
9413 | | OPRND_SHIFT0 (16_20, FREG), |
9414 | | OPRND_SHIFT0 (21_25, FREG)), |
9415 | | CSKY_ISA_FLOAT_7E60), |
9416 | | OP32 ("fdiv.64", |
9417 | | OPCODE_INFO3 (0xf4000b00, |
9418 | | OPRND_SHIFT0 (0_4, FREG), |
9419 | | OPRND_SHIFT0 (16_20, FREG), |
9420 | | OPRND_SHIFT0 (21_25, FREG)), |
9421 | | CSKY_ISA_FLOAT_7E60), |
9422 | | OP32 ("fdivd", |
9423 | | OPCODE_INFO3 (0xf4000b00, |
9424 | | OPRND_SHIFT0 (0_4, FREG), |
9425 | | OPRND_SHIFT0 (16_20, FREG), |
9426 | | OPRND_SHIFT0 (21_25, FREG)), |
9427 | | CSKY_ISA_FLOAT_7E60), |
9428 | | OP32 ("frecip.64", |
9429 | | OPCODE_INFO2 (0xf4000b20, |
9430 | | OPRND_SHIFT0 (0_4, FREG), |
9431 | | OPRND_SHIFT0 (16_20, FREG)), |
9432 | | CSKY_ISA_FLOAT_7E60), |
9433 | | OP32 ("frecipd", |
9434 | | OPCODE_INFO2 (0xf4000b20, |
9435 | | OPRND_SHIFT0 (0_4, FREG), |
9436 | | OPRND_SHIFT0 (16_20, FREG)), |
9437 | | CSKY_ISA_FLOAT_7E60), |
9438 | | OP32 ("fsqrt.64", |
9439 | | OPCODE_INFO2 (0xf4000b40, |
9440 | | OPRND_SHIFT0 (0_4, FREG), |
9441 | | OPRND_SHIFT0 (16_20, FREG)), |
9442 | | CSKY_ISA_FLOAT_7E60), |
9443 | | OP32 ("fsqrtd", |
9444 | | OPCODE_INFO2 (0xf4000b40, |
9445 | | OPRND_SHIFT0 (0_4, FREG), |
9446 | | OPRND_SHIFT0 (16_20, FREG)), |
9447 | | CSKY_ISA_FLOAT_7E60), |
9448 | | OP32 ("fins.32", |
9449 | | OPCODE_INFO2 (0xf4000360, |
9450 | | OPRND_SHIFT0 (0_4, FREG), |
9451 | | OPRND_SHIFT0 (16_20, FREG)), |
9452 | | CSKY_ISA_FLOAT_7E60), |
9453 | | OP32 ("fsel.64", |
9454 | | OPCODE_INFO3 (0xf4000f20, |
9455 | | OPRND_SHIFT0 (0_4, FREG), |
9456 | | OPRND_SHIFT0 (16_20, FREG), |
9457 | | OPRND_SHIFT0 (21_25, FREG)), |
9458 | | CSKY_ISA_FLOAT_7E60), |
9459 | | /* SIMD floating. */ |
9460 | | OP32 ("fadd.f32", |
9461 | | OPCODE_INFO3 (0xf4001000, |
9462 | | OPRND_SHIFT0 (0_4, FREG), |
9463 | | OPRND_SHIFT0 (16_20, FREG), |
9464 | | OPRND_SHIFT0 (21_25, FREG)), |
9465 | | CSKY_ISA_FLOAT_7E60), |
9466 | | OP32 ("faddm", |
9467 | | OPCODE_INFO3 (0xf4001000, |
9468 | | OPRND_SHIFT0 (0_4, FREG), |
9469 | | OPRND_SHIFT0 (16_20, FREG), |
9470 | | OPRND_SHIFT0 (21_25, FREG)), |
9471 | | CSKY_ISA_FLOAT_7E60), |
9472 | | OP32 ("fsub.f32", |
9473 | | OPCODE_INFO3 (0xf4001020, |
9474 | | OPRND_SHIFT0 (0_4, FREG), |
9475 | | OPRND_SHIFT0 (16_20, FREG), |
9476 | | OPRND_SHIFT0 (21_25, FREG)), |
9477 | | CSKY_ISA_FLOAT_7E60), |
9478 | | OP32 ("fsubm", |
9479 | | OPCODE_INFO3 (0xf4001020, |
9480 | | OPRND_SHIFT0 (0_4, FREG), |
9481 | | OPRND_SHIFT0 (16_20, FREG), |
9482 | | OPRND_SHIFT0 (21_25, FREG)), |
9483 | | CSKY_ISA_FLOAT_7E60), |
9484 | | OP32 ("fmov.f32", |
9485 | | OPCODE_INFO2 (0xf4001080, |
9486 | | OPRND_SHIFT0 (0_4, FREG), |
9487 | | OPRND_SHIFT0 (16_20, FREG)), |
9488 | | CSKY_ISA_FLOAT_7E60), |
9489 | | OP32 ("fmovm", |
9490 | | OPCODE_INFO2 (0xf4001080, |
9491 | | OPRND_SHIFT0 (0_4, FREG), |
9492 | | OPRND_SHIFT0 (16_20, FREG)), |
9493 | | CSKY_ISA_FLOAT_7E60), |
9494 | | OP32 ("fabs.f32", |
9495 | | OPCODE_INFO2 (0xf40010c0, |
9496 | | OPRND_SHIFT0 (0_4, FREG), |
9497 | | OPRND_SHIFT0 (16_20, FREG)), |
9498 | | CSKY_ISA_FLOAT_7E60), |
9499 | | OP32 ("fabsm", |
9500 | | OPCODE_INFO2 (0xf40010c0, |
9501 | | OPRND_SHIFT0 (0_4, FREG), |
9502 | | OPRND_SHIFT0 (16_20, FREG)), |
9503 | | CSKY_ISA_FLOAT_7E60), |
9504 | | OP32 ("fneg.f32", |
9505 | | OPCODE_INFO2 (0xf40010e0, |
9506 | | OPRND_SHIFT0 (0_4, FREG), |
9507 | | OPRND_SHIFT0 (16_20, FREG)), |
9508 | | CSKY_ISA_FLOAT_7E60), |
9509 | | OP32 ("fnegm", |
9510 | | OPCODE_INFO2 (0xf40010e0, |
9511 | | OPRND_SHIFT0 (0_4, FREG), |
9512 | | OPRND_SHIFT0 (16_20, FREG)), |
9513 | | CSKY_ISA_FLOAT_7E60), |
9514 | | OP32 ("fmul.f32", |
9515 | | OPCODE_INFO3 (0xf4001200, |
9516 | | OPRND_SHIFT0 (0_4, FREG), |
9517 | | OPRND_SHIFT0 (16_20, FREG), |
9518 | | OPRND_SHIFT0 (21_25, FREG)), |
9519 | | CSKY_ISA_FLOAT_7E60), |
9520 | | OP32 ("fmulm", |
9521 | | OPCODE_INFO3 (0xf4001200, |
9522 | | OPRND_SHIFT0 (0_4, FREG), |
9523 | | OPRND_SHIFT0 (16_20, FREG), |
9524 | | OPRND_SHIFT0 (21_25, FREG)), |
9525 | | CSKY_ISA_FLOAT_7E60), |
9526 | | OP32 ("fmula.f32", |
9527 | | OPCODE_INFO3 (0xf4001280, |
9528 | | OPRND_SHIFT0 (0_4, FREG), |
9529 | | OPRND_SHIFT0 (16_20, FREG), |
9530 | | OPRND_SHIFT0 (21_25, FREG)), |
9531 | | CSKY_ISA_FLOAT_7E60), |
9532 | | OP32 ("fmuls.f32", |
9533 | | OPCODE_INFO3 (0xf40012c0, |
9534 | | OPRND_SHIFT0 (0_4, FREG), |
9535 | | OPRND_SHIFT0 (16_20, FREG), |
9536 | | OPRND_SHIFT0 (21_25, FREG)), |
9537 | | CSKY_ISA_FLOAT_7E60), |
9538 | | OP32 ("fnmacm", |
9539 | | OPCODE_INFO3 (0xf40012c0, |
9540 | | OPRND_SHIFT0 (0_4, FREG), |
9541 | | OPRND_SHIFT0 (16_20, FREG), |
9542 | | OPRND_SHIFT0 (21_25, FREG)), |
9543 | | CSKY_ISA_FLOAT_7E60), |
9544 | | /* floating formate. */ |
9545 | | OP32 ("fftoi.f32.s32.rn", |
9546 | | OPCODE_INFO2 (0xf4001800, |
9547 | | OPRND_SHIFT0 (0_4, FREG), |
9548 | | OPRND_SHIFT0 (16_20, FREG)), |
9549 | | CSKY_ISA_FLOAT_7E60), |
9550 | | OP32 ("fstosi.rn", |
9551 | | OPCODE_INFO2 (0xf4001800, |
9552 | | OPRND_SHIFT0 (0_4, FREG), |
9553 | | OPRND_SHIFT0 (16_20, FREG)), |
9554 | | CSKY_ISA_FLOAT_7E60), |
9555 | | OP32 ("fftoi.f32.s32.rz", |
9556 | | OPCODE_INFO2 (0xf4001820, |
9557 | | OPRND_SHIFT0 (0_4, FREG), |
9558 | | OPRND_SHIFT0 (16_20, FREG)), |
9559 | | CSKY_ISA_FLOAT_7E60), |
9560 | | OP32 ("fstosi.rz", |
9561 | | OPCODE_INFO2 (0xf4001820, |
9562 | | OPRND_SHIFT0 (0_4, FREG), |
9563 | | OPRND_SHIFT0 (16_20, FREG)), |
9564 | | CSKY_ISA_FLOAT_7E60), |
9565 | | OP32 ("fftoi.f32.s32.rpi", |
9566 | | OPCODE_INFO2 (0xf4001840, |
9567 | | OPRND_SHIFT0 (0_4, FREG), |
9568 | | OPRND_SHIFT0 (16_20, FREG)), |
9569 | | CSKY_ISA_FLOAT_7E60), |
9570 | | OP32 ("fstosi.rpi", |
9571 | | OPCODE_INFO2 (0xf4001840, |
9572 | | OPRND_SHIFT0 (0_4, FREG), |
9573 | | OPRND_SHIFT0 (16_20, FREG)), |
9574 | | CSKY_ISA_FLOAT_7E60), |
9575 | | OP32 ("fftoi.f32.s32.rni", |
9576 | | OPCODE_INFO2 (0xf4001860, |
9577 | | OPRND_SHIFT0 (0_4, FREG), |
9578 | | OPRND_SHIFT0 (16_20, FREG)), |
9579 | | CSKY_ISA_FLOAT_7E60), |
9580 | | OP32 ("fstosi.rni", |
9581 | | OPCODE_INFO2 (0xf4001860, |
9582 | | OPRND_SHIFT0 (0_4, FREG), |
9583 | | OPRND_SHIFT0 (16_20, FREG)), |
9584 | | CSKY_ISA_FLOAT_7E60), |
9585 | | OP32 ("fftoi.f32.u32.rn", |
9586 | | OPCODE_INFO2 (0xf4001880, |
9587 | | OPRND_SHIFT0 (0_4, FREG), |
9588 | | OPRND_SHIFT0 (16_20, FREG)), |
9589 | | CSKY_ISA_FLOAT_7E60), |
9590 | | OP32 ("fstoui.rn", |
9591 | | OPCODE_INFO2 (0xf4001880, |
9592 | | OPRND_SHIFT0 (0_4, FREG), |
9593 | | OPRND_SHIFT0 (16_20, FREG)), |
9594 | | CSKY_ISA_FLOAT_7E60), |
9595 | | OP32 ("fftoi.f32.u32.rz", |
9596 | | OPCODE_INFO2 (0xf40018a0, |
9597 | | OPRND_SHIFT0 (0_4, FREG), |
9598 | | OPRND_SHIFT0 (16_20, FREG)), |
9599 | | CSKY_ISA_FLOAT_7E60), |
9600 | | OP32 ("fstoui.rz", |
9601 | | OPCODE_INFO2 (0xf40018a0, |
9602 | | OPRND_SHIFT0 (0_4, FREG), |
9603 | | OPRND_SHIFT0 (16_20, FREG)), |
9604 | | CSKY_ISA_FLOAT_7E60), |
9605 | | OP32 ("fftoi.f32.u32.rpi", |
9606 | | OPCODE_INFO2 (0xf40018c0, |
9607 | | OPRND_SHIFT0 (0_4, FREG), |
9608 | | OPRND_SHIFT0 (16_20, FREG)), |
9609 | | CSKY_ISA_FLOAT_7E60), |
9610 | | OP32 ("fstoui.rpi", |
9611 | | OPCODE_INFO2 (0xf40018c0, |
9612 | | OPRND_SHIFT0 (0_4, FREG), |
9613 | | OPRND_SHIFT0 (16_20, FREG)), |
9614 | | CSKY_ISA_FLOAT_7E60), |
9615 | | OP32 ("fftoi.f32.u32.rni", |
9616 | | OPCODE_INFO2 (0xf40018e0, |
9617 | | OPRND_SHIFT0 (0_4, FREG), |
9618 | | OPRND_SHIFT0 (16_20, FREG)), |
9619 | | CSKY_ISA_FLOAT_7E60), |
9620 | | OP32 ("fstoui.rni", |
9621 | | OPCODE_INFO2 (0xf40018e0, |
9622 | | OPRND_SHIFT0 (0_4, FREG), |
9623 | | OPRND_SHIFT0 (16_20, FREG)), |
9624 | | CSKY_ISA_FLOAT_7E60), |
9625 | | OP32 ("fftoi.f64.s32.rn", |
9626 | | OPCODE_INFO2 (0xf4001900, |
9627 | | OPRND_SHIFT0 (0_4, FREG), |
9628 | | OPRND_SHIFT0 (16_20, FREG)), |
9629 | | CSKY_ISA_FLOAT_7E60), |
9630 | | OP32 ("fdtosi.rn", |
9631 | | OPCODE_INFO2 (0xf4001900, |
9632 | | OPRND_SHIFT0 (0_4, FREG), |
9633 | | OPRND_SHIFT0 (16_20, FREG)), |
9634 | | CSKY_ISA_FLOAT_7E60), |
9635 | | OP32 ("fftoi.f64.s32.rz", |
9636 | | OPCODE_INFO2 (0xf4001920, |
9637 | | OPRND_SHIFT0 (0_4, FREG), |
9638 | | OPRND_SHIFT0 (16_20, FREG)), |
9639 | | CSKY_ISA_FLOAT_7E60), |
9640 | | OP32 ("fdtosi.rz", |
9641 | | OPCODE_INFO2 (0xf4001920, |
9642 | | OPRND_SHIFT0 (0_4, FREG), |
9643 | | OPRND_SHIFT0 (16_20, FREG)), |
9644 | | CSKY_ISA_FLOAT_7E60), |
9645 | | OP32 ("fftoi.f64.s32.rpi", |
9646 | | OPCODE_INFO2 (0xf4001940, |
9647 | | OPRND_SHIFT0 (0_4, FREG), |
9648 | | OPRND_SHIFT0 (16_20, FREG)), |
9649 | | CSKY_ISA_FLOAT_7E60), |
9650 | | OP32 ("fdtosi.rpi", |
9651 | | OPCODE_INFO2 (0xf4001940, |
9652 | | OPRND_SHIFT0 (0_4, FREG), |
9653 | | OPRND_SHIFT0 (16_20, FREG)), |
9654 | | CSKY_ISA_FLOAT_7E60), |
9655 | | OP32 ("fftoi.f64.s32.rni", |
9656 | | OPCODE_INFO2 (0xf4001960, |
9657 | | OPRND_SHIFT0 (0_4, FREG), |
9658 | | OPRND_SHIFT0 (16_20, FREG)), |
9659 | | CSKY_ISA_FLOAT_7E60), |
9660 | | OP32 ("fdtosi.rni", |
9661 | | OPCODE_INFO2 (0xf4001960, |
9662 | | OPRND_SHIFT0 (0_4, FREG), |
9663 | | OPRND_SHIFT0 (16_20, FREG)), |
9664 | | CSKY_ISA_FLOAT_7E60), |
9665 | | OP32 ("fftoi.f64.u32.rn", |
9666 | | OPCODE_INFO2 (0xf4001980, |
9667 | | OPRND_SHIFT0 (0_4, FREG), |
9668 | | OPRND_SHIFT0 (16_20, FREG)), |
9669 | | CSKY_ISA_FLOAT_7E60), |
9670 | | OP32 ("fdtoui.rn", |
9671 | | OPCODE_INFO2 (0xf4001980, |
9672 | | OPRND_SHIFT0 (0_4, FREG), |
9673 | | OPRND_SHIFT0 (16_20, FREG)), |
9674 | | CSKY_ISA_FLOAT_7E60), |
9675 | | OP32 ("fftoi.f64.u32.rz", |
9676 | | OPCODE_INFO2 (0xf40019a0, |
9677 | | OPRND_SHIFT0 (0_4, FREG), |
9678 | | OPRND_SHIFT0 (16_20, FREG)), |
9679 | | CSKY_ISA_FLOAT_7E60), |
9680 | | OP32 ("fdtoui.rz", |
9681 | | OPCODE_INFO2 (0xf40019a0, |
9682 | | OPRND_SHIFT0 (0_4, FREG), |
9683 | | OPRND_SHIFT0 (16_20, FREG)), |
9684 | | CSKY_ISA_FLOAT_7E60), |
9685 | | OP32 ("fftoi.f64.u32.rpi", |
9686 | | OPCODE_INFO2 (0xf40019c0, |
9687 | | OPRND_SHIFT0 (0_4, FREG), |
9688 | | OPRND_SHIFT0 (16_20, FREG)), |
9689 | | CSKY_ISA_FLOAT_7E60), |
9690 | | OP32 ("fdtoui.rpi", |
9691 | | OPCODE_INFO2 (0xf40019c0, |
9692 | | OPRND_SHIFT0 (0_4, FREG), |
9693 | | OPRND_SHIFT0 (16_20, FREG)), |
9694 | | CSKY_ISA_FLOAT_7E60), |
9695 | | OP32 ("fftoi.f64.u32.rni", |
9696 | | OPCODE_INFO2 (0xf40019e0, |
9697 | | OPRND_SHIFT0 (0_4, FREG), |
9698 | | OPRND_SHIFT0 (16_20, FREG)), |
9699 | | CSKY_ISA_FLOAT_7E60), |
9700 | | OP32 ("fdtoui.rni", |
9701 | | OPCODE_INFO2 (0xf40019e0, |
9702 | | OPRND_SHIFT0 (0_4, FREG), |
9703 | | OPRND_SHIFT0 (16_20, FREG)), |
9704 | | CSKY_ISA_FLOAT_7E60), |
9705 | | OP32 ("fftoi.f16.s32.rn", |
9706 | | OPCODE_INFO2 (0xf4001c00, |
9707 | | OPRND_SHIFT0 (0_4, FREG), |
9708 | | OPRND_SHIFT0 (16_20, FREG)), |
9709 | | CSKY_ISA_FLOAT_7E60), |
9710 | | OP32 ("fhtosi.rn", |
9711 | | OPCODE_INFO2 (0xf4001c00, |
9712 | | OPRND_SHIFT0 (0_4, FREG), |
9713 | | OPRND_SHIFT0 (16_20, FREG)), |
9714 | | CSKY_ISA_FLOAT_7E60), |
9715 | | OP32 ("fftoi.f16.s32.rz", |
9716 | | OPCODE_INFO2 (0xf4001c20, |
9717 | | OPRND_SHIFT0 (0_4, FREG), |
9718 | | OPRND_SHIFT0 (16_20, FREG)), |
9719 | | CSKY_ISA_FLOAT_7E60), |
9720 | | OP32 ("fhtosi.rz", |
9721 | | OPCODE_INFO2 (0xf4001c20, |
9722 | | OPRND_SHIFT0 (0_4, FREG), |
9723 | | OPRND_SHIFT0 (16_20, FREG)), |
9724 | | CSKY_ISA_FLOAT_7E60), |
9725 | | OP32 ("fftoi.f16.s32.rpi", |
9726 | | OPCODE_INFO2 (0xf4001c40, |
9727 | | OPRND_SHIFT0 (0_4, FREG), |
9728 | | OPRND_SHIFT0 (16_20, FREG)), |
9729 | | CSKY_ISA_FLOAT_7E60), |
9730 | | OP32 ("fhtosi.rpi", |
9731 | | OPCODE_INFO2 (0xf4001c40, |
9732 | | OPRND_SHIFT0 (0_4, FREG), |
9733 | | OPRND_SHIFT0 (16_20, FREG)), |
9734 | | CSKY_ISA_FLOAT_7E60), |
9735 | | OP32 ("fftoi.f16.s32.rni", |
9736 | | OPCODE_INFO2 (0xf4001c60, |
9737 | | OPRND_SHIFT0 (0_4, FREG), |
9738 | | OPRND_SHIFT0 (16_20, FREG)), |
9739 | | CSKY_ISA_FLOAT_7E60), |
9740 | | OP32 ("fhtosi.rni", |
9741 | | OPCODE_INFO2 (0xf4001c60, |
9742 | | OPRND_SHIFT0 (0_4, FREG), |
9743 | | OPRND_SHIFT0 (16_20, FREG)), |
9744 | | CSKY_ISA_FLOAT_7E60), |
9745 | | OP32 ("fftoi.f16.u32.rn", |
9746 | | OPCODE_INFO2 (0xf4001c80, |
9747 | | OPRND_SHIFT0 (0_4, FREG), |
9748 | | OPRND_SHIFT0 (16_20, FREG)), |
9749 | | CSKY_ISA_FLOAT_7E60), |
9750 | | OP32 ("fhtoui.rn", |
9751 | | OPCODE_INFO2 (0xf4001c80, |
9752 | | OPRND_SHIFT0 (0_4, FREG), |
9753 | | OPRND_SHIFT0 (16_20, FREG)), |
9754 | | CSKY_ISA_FLOAT_7E60), |
9755 | | OP32 ("fftoi.f16.u32.rz", |
9756 | | OPCODE_INFO2 (0xf4001ca0, |
9757 | | OPRND_SHIFT0 (0_4, FREG), |
9758 | | OPRND_SHIFT0 (16_20, FREG)), |
9759 | | CSKY_ISA_FLOAT_7E60), |
9760 | | OP32 ("fhtoui.rz", |
9761 | | OPCODE_INFO2 (0xf4001ca0, |
9762 | | OPRND_SHIFT0 (0_4, FREG), |
9763 | | OPRND_SHIFT0 (16_20, FREG)), |
9764 | | CSKY_ISA_FLOAT_7E60), |
9765 | | OP32 ("fftoi.f16.u32.rpi", |
9766 | | OPCODE_INFO2 (0xf4001cc0, |
9767 | | OPRND_SHIFT0 (0_4, FREG), |
9768 | | OPRND_SHIFT0 (16_20, FREG)), |
9769 | | CSKY_ISA_FLOAT_7E60), |
9770 | | OP32 ("fhtoui.rpi", |
9771 | | OPCODE_INFO2 (0xf4001cc0, |
9772 | | OPRND_SHIFT0 (0_4, FREG), |
9773 | | OPRND_SHIFT0 (16_20, FREG)), |
9774 | | CSKY_ISA_FLOAT_7E60), |
9775 | | OP32 ("fftoi.f16.u32.rni", |
9776 | | OPCODE_INFO2 (0xf4001ce0, |
9777 | | OPRND_SHIFT0 (0_4, FREG), |
9778 | | OPRND_SHIFT0 (16_20, FREG)), |
9779 | | CSKY_ISA_FLOAT_7E60), |
9780 | | OP32 ("fhtoui.rni", |
9781 | | OPCODE_INFO2 (0xf4001ce0, |
9782 | | OPRND_SHIFT0 (0_4, FREG), |
9783 | | OPRND_SHIFT0 (16_20, FREG)), |
9784 | | CSKY_ISA_FLOAT_7E60), |
9785 | | OP32 ("fhtos", |
9786 | | OPCODE_INFO2 (0xf4001a40, |
9787 | | OPRND_SHIFT0 (0_4, FREG), |
9788 | | OPRND_SHIFT0 (16_20, FREG)), |
9789 | | CSKY_ISA_FLOAT_7E60), |
9790 | | OP32 ("fhtos.f16", |
9791 | | OPCODE_INFO2 (0xf4001a40, |
9792 | | OPRND_SHIFT0 (0_4, FREG), |
9793 | | OPRND_SHIFT0 (16_20, FREG)), |
9794 | | CSKY_ISA_FLOAT_7E60), |
9795 | | OP32 ("fstoh", |
9796 | | OPCODE_INFO2 (0xf4001a60, |
9797 | | OPRND_SHIFT0 (0_4, FREG), |
9798 | | OPRND_SHIFT0 (16_20, FREG)), |
9799 | | CSKY_ISA_FLOAT_7E60), |
9800 | | OP32 ("fstoh.f32", |
9801 | | OPCODE_INFO2 (0xf4001a60, |
9802 | | OPRND_SHIFT0 (0_4, FREG), |
9803 | | OPRND_SHIFT0 (16_20, FREG)), |
9804 | | CSKY_ISA_FLOAT_7E60), |
9805 | | OP32 ("fdtos", |
9806 | | OPCODE_INFO2 (0xf4001ac0, |
9807 | | OPRND_SHIFT0 (0_4, FREG), |
9808 | | OPRND_SHIFT0 (16_20, FREG)), |
9809 | | CSKY_ISA_FLOAT_7E60), |
9810 | | OP32 ("fdtos.f64", |
9811 | | OPCODE_INFO2 (0xf4001ac0, |
9812 | | OPRND_SHIFT0 (0_4, FREG), |
9813 | | OPRND_SHIFT0 (16_20, FREG)), |
9814 | | CSKY_ISA_FLOAT_7E60), |
9815 | | OP32 ("fstod", |
9816 | | OPCODE_INFO2 (0xf4001ae0, |
9817 | | OPRND_SHIFT0 (0_4, FREG), |
9818 | | OPRND_SHIFT0 (16_20, FREG)), |
9819 | | CSKY_ISA_FLOAT_7E60), |
9820 | | OP32 ("fmfvrh", |
9821 | | OPCODE_INFO2 (0xf4001b00, |
9822 | | OPRND_SHIFT0 (0_4, AREG), |
9823 | | OPRND_SHIFT0 (16_20, FREG)), |
9824 | | CSKY_ISA_FLOAT_7E60), |
9825 | | OP32 ("fmfvr.32.1", |
9826 | | OPCODE_INFO2 (0xf4001b20, |
9827 | | OPRND_SHIFT0 (0_4, AREG), |
9828 | | OPRND_SHIFT0 (16_20, FREG)), |
9829 | | CSKY_ISA_FLOAT_7E60), |
9830 | | OP32 ("fmfvrl", |
9831 | | OPCODE_INFO2 (0xf4001b20, |
9832 | | OPRND_SHIFT0 (0_4, AREG), |
9833 | | OPRND_SHIFT0 (16_20, FREG)), |
9834 | | CSKY_ISA_FLOAT_7E60), |
9835 | | OP32 ("fmtvr.16", |
9836 | | OPCODE_INFO2 (0xf4001fa0, |
9837 | | OPRND_SHIFT0 (0_4, FREG), |
9838 | | OPRND_SHIFT0 (16_20, AREG)), |
9839 | | CSKY_ISA_FLOAT_7E60), |
9840 | | OP32 ("fmfvr.16", |
9841 | | OPCODE_INFO2 (0xf4001f20, |
9842 | | OPRND_SHIFT0 (0_4, AREG), |
9843 | | OPRND_SHIFT0 (16_20, FREG)), |
9844 | | CSKY_ISA_FLOAT_7E60), |
9845 | | OP32 ("fmtvrh", |
9846 | | OPCODE_INFO2 (0xf4001b40, |
9847 | | OPRND_SHIFT0 (0_4, FREG), |
9848 | | OPRND_SHIFT0 (16_20, AREG)), |
9849 | | CSKY_ISA_FLOAT_7E60), |
9850 | | OP32 ("fmtvr.32.1", |
9851 | | OPCODE_INFO2 (0xf4001b60, |
9852 | | OPRND_SHIFT0 (0_4, FREG), |
9853 | | OPRND_SHIFT0 (16_20, AREG)), |
9854 | | CSKY_ISA_FLOAT_7E60), |
9855 | | OP32 ("fmtvrl", |
9856 | | OPCODE_INFO2 (0xf4001b60, |
9857 | | OPRND_SHIFT0 (0_4, FREG), |
9858 | | OPRND_SHIFT0 (16_20, AREG)), |
9859 | | CSKY_ISA_FLOAT_7E60), |
9860 | | OP32 ("fmtvr.64", |
9861 | | OPCODE_INFO3 (0xf4001f80, |
9862 | | OPRND_SHIFT0 (0_4, FREG), |
9863 | | OPRND_SHIFT0 (16_20, AREG), |
9864 | | OPRND_SHIFT0 (21_25, AREG)), |
9865 | | CSKY_ISA_FLOAT_7E60), |
9866 | | OP32 ("fmfvr.64", |
9867 | | OPCODE_INFO3 (0xf4001f00, |
9868 | | OPRND_SHIFT0 (0_4, AREG), |
9869 | | OPRND_SHIFT0 (21_25, AREG), |
9870 | | OPRND_SHIFT0 (16_20, FREG)), |
9871 | | CSKY_ISA_FLOAT_7E60), |
9872 | | OP32 ("fmtvr.32.2", |
9873 | | OPCODE_INFO3 (0xf4001fc0, |
9874 | | OPRND_SHIFT0 (0_4, FREG), |
9875 | | OPRND_SHIFT0 (16_20, AREG), |
9876 | | OPRND_SHIFT0 (21_25, AREG)), |
9877 | | CSKY_ISA_FLOAT_7E60), |
9878 | | OP32 ("fmfvr.32.2", |
9879 | | OPCODE_INFO3 (0xf4001f40, |
9880 | | OPRND_SHIFT0 (0_4, AREG), |
9881 | | OPRND_SHIFT0 (21_25, AREG), |
9882 | | OPRND_SHIFT0 (16_20, FREG)), |
9883 | | CSKY_ISA_FLOAT_7E60), |
9884 | | /* flsu. */ |
9885 | | OP32 ("fld.16", |
9886 | | SOPCODE_INFO2 (0xf4002300, |
9887 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
9888 | | BRACKET_OPRND ((16_20, |
9889 | | AREG, |
9890 | | OPRND_SHIFT_0_BIT), |
9891 | | (4_7or21_24, |
9892 | | IMM_FLDST, |
9893 | | OPRND_SHIFT_1_BIT))), |
9894 | | CSKY_ISA_FLOAT_7E60), |
9895 | | OP32 ("fldh", |
9896 | | SOPCODE_INFO2 (0xf4002300, |
9897 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
9898 | | BRACKET_OPRND ((16_20, |
9899 | | AREG, |
9900 | | OPRND_SHIFT_0_BIT), |
9901 | | (4_7or21_24, |
9902 | | IMM_FLDST, |
9903 | | OPRND_SHIFT_1_BIT))), |
9904 | | CSKY_ISA_FLOAT_7E60), |
9905 | | OP32_WITH_WORK ("fst.16", |
9906 | | SOPCODE_INFO2 (0xf4002700, |
9907 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
9908 | | BRACKET_OPRND ((16_20, |
9909 | | AREG, |
9910 | | OPRND_SHIFT_0_BIT), |
9911 | | (4_7or21_24, |
9912 | | IMM_FLDST, |
9913 | | OPRND_SHIFT_1_BIT))), |
9914 | | CSKY_ISA_FLOAT_7E60, |
9915 | | float_work_fpuv3_fstore), |
9916 | | OP32_WITH_WORK ("fsth", |
9917 | | SOPCODE_INFO2 (0xf4002700, |
9918 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
9919 | | BRACKET_OPRND ((16_20, |
9920 | | AREG, |
9921 | | OPRND_SHIFT_0_BIT), |
9922 | | (4_7or21_24, |
9923 | | IMM_FLDST, |
9924 | | OPRND_SHIFT_1_BIT))), |
9925 | | CSKY_ISA_FLOAT_7E60, |
9926 | | float_work_fpuv3_fstore), |
9927 | | OP32 ("fldr16", |
9928 | | SOPCODE_INFO2 (0xf4002b00, |
9929 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
9930 | | BRACKET_OPRND ((16_20, |
9931 | | AREG, |
9932 | | OPRND_SHIFT_0_BIT), |
9933 | | (5_6or21_25, |
9934 | | AREG_WITH_LSHIFT_FPU, |
9935 | | OPRND_SHIFT_0_BIT))), |
9936 | | CSKY_ISA_FLOAT_7E60), |
9937 | | OP32 ("fldrh", |
9938 | | SOPCODE_INFO2 (0xf4002b00, |
9939 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
9940 | | BRACKET_OPRND ((16_20, |
9941 | | AREG, |
9942 | | OPRND_SHIFT_0_BIT), |
9943 | | (5_6or21_25, |
9944 | | AREG_WITH_LSHIFT_FPU, |
9945 | | OPRND_SHIFT_0_BIT))), |
9946 | | CSKY_ISA_FLOAT_7E60), |
9947 | | OP32_WITH_WORK ("fstr.16", |
9948 | | SOPCODE_INFO2 (0xf4002f00, |
9949 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
9950 | | BRACKET_OPRND ((16_20, |
9951 | | AREG, |
9952 | | OPRND_SHIFT_0_BIT), |
9953 | | (5_6or21_25, |
9954 | | AREG_WITH_LSHIFT_FPU, |
9955 | | OPRND_SHIFT_0_BIT))), |
9956 | | CSKY_ISA_FLOAT_7E60, |
9957 | | float_work_fpuv3_fstore), |
9958 | | OP32_WITH_WORK ("fstrh", |
9959 | | SOPCODE_INFO2 (0xf4002f00, |
9960 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
9961 | | BRACKET_OPRND ((16_20, |
9962 | | AREG, |
9963 | | OPRND_SHIFT_0_BIT), |
9964 | | (5_6or21_25, |
9965 | | AREG_WITH_LSHIFT_FPU, |
9966 | | OPRND_SHIFT_0_BIT))), |
9967 | | CSKY_ISA_FLOAT_7E60, |
9968 | | float_work_fpuv3_fstore), |
9969 | | OP32 ("fldm.16", |
9970 | | OPCODE_INFO2 (0xf4003300, |
9971 | | (0_4or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
9972 | | (16_20, AREG_WITH_BRACKET,OPRND_SHIFT_0_BIT)), |
9973 | | CSKY_ISA_FLOAT_7E60), |
9974 | | OP32 ("fldmh", |
9975 | | OPCODE_INFO2 (0xf4003300, |
9976 | | (0_4or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
9977 | | (16_20, AREG_WITH_BRACKET,OPRND_SHIFT_0_BIT)), |
9978 | | CSKY_ISA_FLOAT_7E60), |
9979 | | OP32_WITH_WORK ("fstm.16", |
9980 | | OPCODE_INFO2 (0xf4003700, |
9981 | | (0_4or21_24, |
9982 | | FREGLIST_DASH, |
9983 | | OPRND_SHIFT_0_BIT), |
9984 | | (16_20, |
9985 | | AREG_WITH_BRACKET, |
9986 | | OPRND_SHIFT_0_BIT)), |
9987 | | CSKY_ISA_FLOAT_7E60, |
9988 | | float_work_fpuv3_fstore), |
9989 | | OP32_WITH_WORK ("fstmh", |
9990 | | OPCODE_INFO2 (0xf4003700, |
9991 | | (0_4or21_24, |
9992 | | FREGLIST_DASH, |
9993 | | OPRND_SHIFT_0_BIT), |
9994 | | (16_20, |
9995 | | AREG_WITH_BRACKET, |
9996 | | OPRND_SHIFT_0_BIT)), |
9997 | | CSKY_ISA_FLOAT_7E60, |
9998 | | float_work_fpuv3_fstore), |
9999 | | OP32 ("fldmu.16", |
10000 | | OPCODE_INFO2 (0xf4003380, |
10001 | | OPRND_SHIFT0 (0_4or21_24, FREGLIST_DASH), |
10002 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10003 | | CSKY_ISA_FLOAT_7E60), |
10004 | | OP32 ("fldmu.h", |
10005 | | OPCODE_INFO2 (0xf4003380, |
10006 | | OPRND_SHIFT0 (0_4or21_24, FREGLIST_DASH), |
10007 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10008 | | CSKY_ISA_FLOAT_7E60), |
10009 | | OP32_WITH_WORK ("fstmu.16", |
10010 | | OPCODE_INFO2 (0xf4003780, |
10011 | | OPRND_SHIFT0 (0_4or21_24, FREGLIST_DASH), |
10012 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10013 | | CSKY_ISA_FLOAT_7E60, |
10014 | | float_work_fpuv3_fstore), |
10015 | | OP32_WITH_WORK ("fstmu.h", |
10016 | | OPCODE_INFO2 (0xf4003780, |
10017 | | OPRND_SHIFT0 (0_4or21_24, FREGLIST_DASH), |
10018 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10019 | | CSKY_ISA_FLOAT_7E60, |
10020 | | float_work_fpuv3_fstore), |
10021 | | OP32 ("fld.32", |
10022 | | SOPCODE_INFO2 (0xf4002000, |
10023 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10024 | | BRACKET_OPRND ((16_20, |
10025 | | AREG, |
10026 | | OPRND_SHIFT_0_BIT), |
10027 | | (4_7or21_24, |
10028 | | IMM_FLDST, |
10029 | | OPRND_SHIFT_2_BIT))), |
10030 | | CSKY_ISA_FLOAT_7E60), |
10031 | | OP32 ("flds", |
10032 | | SOPCODE_INFO2 (0xf4002000, |
10033 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10034 | | BRACKET_OPRND ((16_20, |
10035 | | AREG, |
10036 | | OPRND_SHIFT_0_BIT), |
10037 | | (4_7or21_24, |
10038 | | IMM_FLDST, |
10039 | | OPRND_SHIFT_2_BIT))), |
10040 | | CSKY_ISA_FLOAT_7E60), |
10041 | | OP32_WITH_WORK ("fst.32", |
10042 | | SOPCODE_INFO2 (0xf4002400, |
10043 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10044 | | BRACKET_OPRND ((16_20, |
10045 | | AREG, |
10046 | | OPRND_SHIFT_0_BIT), |
10047 | | (4_7or21_24, |
10048 | | IMM_FLDST, |
10049 | | OPRND_SHIFT_2_BIT))), |
10050 | | CSKY_ISA_FLOAT_7E60, |
10051 | | float_work_fpuv3_fstore), |
10052 | | OP32_WITH_WORK ("fsts", |
10053 | | SOPCODE_INFO2 (0xf4002400, |
10054 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10055 | | BRACKET_OPRND ((16_20, |
10056 | | AREG, |
10057 | | OPRND_SHIFT_0_BIT), |
10058 | | (4_7or21_24, |
10059 | | IMM_FLDST, |
10060 | | OPRND_SHIFT_2_BIT))), |
10061 | | CSKY_ISA_FLOAT_7E60, |
10062 | | float_work_fpuv3_fstore), |
10063 | | OP32 ("fldr.32", |
10064 | | SOPCODE_INFO2 (0xf4002800, |
10065 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10066 | | BRACKET_OPRND ((16_20, |
10067 | | AREG, |
10068 | | OPRND_SHIFT_0_BIT), |
10069 | | (5_6or21_25, |
10070 | | AREG_WITH_LSHIFT_FPU, |
10071 | | OPRND_SHIFT_0_BIT))), |
10072 | | CSKY_ISA_FLOAT_7E60), |
10073 | | OP32 ("fldrs", |
10074 | | SOPCODE_INFO2 (0xf4002800, |
10075 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10076 | | BRACKET_OPRND ((16_20, |
10077 | | AREG, |
10078 | | OPRND_SHIFT_0_BIT), |
10079 | | (5_6or21_25, |
10080 | | AREG_WITH_LSHIFT_FPU, |
10081 | | OPRND_SHIFT_0_BIT))), |
10082 | | CSKY_ISA_FLOAT_7E60), |
10083 | | OP32_WITH_WORK ("fstr.32", |
10084 | | SOPCODE_INFO2 (0xf4002c00, |
10085 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10086 | | BRACKET_OPRND ((16_20, |
10087 | | AREG, |
10088 | | OPRND_SHIFT_0_BIT), |
10089 | | (5_6or21_25, |
10090 | | AREG_WITH_LSHIFT_FPU, |
10091 | | OPRND_SHIFT_0_BIT))), |
10092 | | CSKY_ISA_FLOAT_7E60, |
10093 | | float_work_fpuv3_fstore), |
10094 | | OP32_WITH_WORK ("fstrs", |
10095 | | SOPCODE_INFO2 (0xf4002c00, |
10096 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10097 | | BRACKET_OPRND ((16_20, |
10098 | | AREG, |
10099 | | OPRND_SHIFT_0_BIT), |
10100 | | (5_6or21_25, |
10101 | | AREG_WITH_LSHIFT_FPU, |
10102 | | OPRND_SHIFT_0_BIT))), |
10103 | | CSKY_ISA_FLOAT_7E60, |
10104 | | float_work_fpuv3_fstore), |
10105 | | OP32 ("fldm.32", |
10106 | | OPCODE_INFO2 (0xf4003000, |
10107 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10108 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10109 | | CSKY_ISA_FLOAT_7E60), |
10110 | | OP32 ("fldms", |
10111 | | OPCODE_INFO2 (0xf4003000, |
10112 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10113 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10114 | | CSKY_ISA_FLOAT_7E60), |
10115 | | OP32_WITH_WORK ("fstm.32", |
10116 | | OPCODE_INFO2 (0xf4003400, |
10117 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10118 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10119 | | CSKY_ISA_FLOAT_7E60, |
10120 | | float_work_fpuv3_fstore), |
10121 | | OP32_WITH_WORK ("fstms", |
10122 | | OPCODE_INFO2 (0xf4003400, |
10123 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10124 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10125 | | CSKY_ISA_FLOAT_7E60, |
10126 | | float_work_fpuv3_fstore), |
10127 | | OP32 ("fldmu.32", |
10128 | | OPCODE_INFO2 (0xf4003080, |
10129 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10130 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10131 | | CSKY_ISA_FLOAT_7E60), |
10132 | | OP32 ("fldmu.s", |
10133 | | OPCODE_INFO2 (0xf4003080, |
10134 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10135 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10136 | | CSKY_ISA_FLOAT_7E60), |
10137 | | OP32_WITH_WORK ("fstmu.32", |
10138 | | OPCODE_INFO2 (0xf4003480, |
10139 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10140 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10141 | | CSKY_ISA_FLOAT_7E60, |
10142 | | float_work_fpuv3_fstore), |
10143 | | OP32_WITH_WORK ("fstmu.s", |
10144 | | OPCODE_INFO2 (0xf4003480, |
10145 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10146 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10147 | | CSKY_ISA_FLOAT_7E60, |
10148 | | float_work_fpuv3_fstore), |
10149 | | OP32 ("fld.64", |
10150 | | SOPCODE_INFO2 (0xf4002100, |
10151 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10152 | | BRACKET_OPRND ((16_20, |
10153 | | AREG, |
10154 | | OPRND_SHIFT_0_BIT), |
10155 | | (4_7or21_24, |
10156 | | IMM_FLDST, |
10157 | | OPRND_SHIFT_2_BIT))), |
10158 | | CSKY_ISA_FLOAT_7E60), |
10159 | | OP32 ("fldd", |
10160 | | SOPCODE_INFO2 (0xf4002100, |
10161 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10162 | | BRACKET_OPRND ((16_20, |
10163 | | AREG, |
10164 | | OPRND_SHIFT_0_BIT), |
10165 | | (4_7or21_24, |
10166 | | IMM_FLDST, |
10167 | | OPRND_SHIFT_2_BIT))), |
10168 | | CSKY_ISA_FLOAT_7E60), |
10169 | | OP32_WITH_WORK ("fst.64", |
10170 | | SOPCODE_INFO2 (0xf4002500, |
10171 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10172 | | BRACKET_OPRND ((16_20, |
10173 | | AREG, |
10174 | | OPRND_SHIFT_0_BIT), |
10175 | | (4_7or21_24, |
10176 | | IMM_FLDST, |
10177 | | OPRND_SHIFT_2_BIT))), |
10178 | | CSKY_ISA_FLOAT_7E60, |
10179 | | float_work_fpuv3_fstore), |
10180 | | OP32_WITH_WORK ("fstd", |
10181 | | SOPCODE_INFO2 (0xf4002500, |
10182 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10183 | | BRACKET_OPRND ((16_20, |
10184 | | AREG, |
10185 | | OPRND_SHIFT_0_BIT), |
10186 | | (4_7or21_24, |
10187 | | IMM_FLDST, |
10188 | | OPRND_SHIFT_2_BIT))), |
10189 | | CSKY_ISA_FLOAT_7E60, |
10190 | | float_work_fpuv3_fstore), |
10191 | | OP32 ("fldr.64", |
10192 | | SOPCODE_INFO2 (0xf4002900, |
10193 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10194 | | BRACKET_OPRND ((16_20, |
10195 | | AREG, |
10196 | | OPRND_SHIFT_0_BIT), |
10197 | | (5_6or21_25, |
10198 | | AREG_WITH_LSHIFT_FPU, |
10199 | | OPRND_SHIFT_0_BIT))), |
10200 | | CSKY_ISA_FLOAT_7E60), |
10201 | | OP32 ("fldrd", |
10202 | | SOPCODE_INFO2 (0xf4002900, |
10203 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10204 | | BRACKET_OPRND ((16_20, |
10205 | | AREG, |
10206 | | OPRND_SHIFT_0_BIT), |
10207 | | (5_6or21_25, |
10208 | | AREG_WITH_LSHIFT_FPU, |
10209 | | OPRND_SHIFT_0_BIT))), |
10210 | | CSKY_ISA_FLOAT_7E60), |
10211 | | OP32_WITH_WORK ("fstr.64", |
10212 | | SOPCODE_INFO2 (0xf4002d00, |
10213 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10214 | | BRACKET_OPRND ((16_20, |
10215 | | AREG, |
10216 | | OPRND_SHIFT_0_BIT), |
10217 | | (5_6or21_25, |
10218 | | AREG_WITH_LSHIFT_FPU, |
10219 | | OPRND_SHIFT_0_BIT))), |
10220 | | CSKY_ISA_FLOAT_7E60, |
10221 | | float_work_fpuv3_fstore), |
10222 | | OP32_WITH_WORK ("fstrd", |
10223 | | SOPCODE_INFO2 (0xf4002d00, |
10224 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10225 | | BRACKET_OPRND ((16_20, |
10226 | | AREG, |
10227 | | OPRND_SHIFT_0_BIT), |
10228 | | (5_6or21_25, |
10229 | | AREG_WITH_LSHIFT_FPU, |
10230 | | OPRND_SHIFT_0_BIT))), |
10231 | | CSKY_ISA_FLOAT_7E60, |
10232 | | float_work_fpuv3_fstore), |
10233 | | OP32 ("fldm.64", |
10234 | | OPCODE_INFO2 (0xf4003100, |
10235 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10236 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10237 | | CSKY_ISA_FLOAT_7E60), |
10238 | | OP32 ("fldmd", |
10239 | | OPCODE_INFO2 (0xf4003100, |
10240 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10241 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10242 | | CSKY_ISA_FLOAT_7E60), |
10243 | | OP32_WITH_WORK ("fstm.64", |
10244 | | OPCODE_INFO2 (0xf4003500, |
10245 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10246 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10247 | | CSKY_ISA_FLOAT_7E60, |
10248 | | float_work_fpuv3_fstore), |
10249 | | OP32_WITH_WORK ("fstmd", |
10250 | | OPCODE_INFO2 (0xf4003500, |
10251 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10252 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10253 | | CSKY_ISA_FLOAT_7E60, |
10254 | | float_work_fpuv3_fstore), |
10255 | | OP32 ("fldmu.64", |
10256 | | OPCODE_INFO2 (0xf4003180, |
10257 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10258 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10259 | | CSKY_ISA_FLOAT_7E60), |
10260 | | OP32 ("fldmu.d", |
10261 | | OPCODE_INFO2 (0xf4003180, |
10262 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10263 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10264 | | CSKY_ISA_FLOAT_7E60), |
10265 | | OP32_WITH_WORK ("fstmu.64", |
10266 | | OPCODE_INFO2 (0xf4003580, |
10267 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10268 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10269 | | CSKY_ISA_FLOAT_7E60, |
10270 | | float_work_fpuv3_fstore), |
10271 | | OP32_WITH_WORK ("fstmu.d", |
10272 | | OPCODE_INFO2 (0xf4003580, |
10273 | | OPRND_SHIFT0 (0_4or21_25, FREGLIST_DASH), |
10274 | | OPRND_SHIFT0 (16_20, AREG_WITH_BRACKET)), |
10275 | | CSKY_ISA_FLOAT_7E60, |
10276 | | float_work_fpuv3_fstore), |
10277 | | OP32 ("fldrm", |
10278 | | SOPCODE_INFO2 (0xf4002a00, |
10279 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10280 | | BRACKET_OPRND ((16_20, |
10281 | | AREG, |
10282 | | OPRND_SHIFT_0_BIT), |
10283 | | (5_6or21_25, |
10284 | | AREG_WITH_LSHIFT_FPU, |
10285 | | OPRND_SHIFT_0_BIT))), |
10286 | | CSKY_ISA_FLOAT_7E60), |
10287 | | OP32_WITH_WORK ("fstrm", |
10288 | | SOPCODE_INFO2 (0xf4002e00, |
10289 | | (0_4, FREG, OPRND_SHIFT_0_BIT), |
10290 | | BRACKET_OPRND ((16_20, |
10291 | | AREG, |
10292 | | OPRND_SHIFT_0_BIT), |
10293 | | (5_6or21_25, |
10294 | | AREG_WITH_LSHIFT_FPU, |
10295 | | OPRND_SHIFT_0_BIT))), |
10296 | | CSKY_ISA_FLOAT_7E60, |
10297 | | float_work_fpuv3_fstore), |
10298 | | OP32 ("fldmm", |
10299 | | OPCODE_INFO2 (0xf4003200, |
10300 | | (0_4or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
10301 | | (16_20, AREG_WITH_BRACKET,OPRND_SHIFT_0_BIT)), |
10302 | | CSKY_ISA_FLOAT_7E60), |
10303 | | OP32_WITH_WORK ("fstmm", |
10304 | | OPCODE_INFO2 (0xf4003600, |
10305 | | (0_4or21_24, FREGLIST_DASH, OPRND_SHIFT_0_BIT), |
10306 | | (16_20, AREG_WITH_BRACKET,OPRND_SHIFT_0_BIT)), |
10307 | | CSKY_ISA_FLOAT_7E60, |
10308 | | float_work_fpuv3_fstore), |
10309 | | OP32 ("fftox.f16.u16", |
10310 | | OPCODE_INFO2 (0xf4004000, |
10311 | | OPRND_SHIFT0 (0_4, FREG), |
10312 | | OPRND_SHIFT0 (16_20, FREG)), |
10313 | | CSKY_ISA_FLOAT_7E60), |
10314 | | OP32 ("fftox.f16.s16", |
10315 | | OPCODE_INFO2 (0xf4004020, |
10316 | | OPRND_SHIFT0 (0_4, FREG), |
10317 | | OPRND_SHIFT0 (16_20, FREG)), |
10318 | | CSKY_ISA_FLOAT_7E60), |
10319 | | OP32 ("fftox.f16.u32", |
10320 | | OPCODE_INFO2 (0xf4004100, |
10321 | | OPRND_SHIFT0 (0_4, FREG), |
10322 | | OPRND_SHIFT0 (16_20, FREG)), |
10323 | | CSKY_ISA_FLOAT_7E60), |
10324 | | OP32 ("fftox.f16.s32", |
10325 | | OPCODE_INFO2 (0xf4004120, |
10326 | | OPRND_SHIFT0 (0_4, FREG), |
10327 | | OPRND_SHIFT0 (16_20, FREG)), |
10328 | | CSKY_ISA_FLOAT_7E60), |
10329 | | OP32 ("fftox.f32.u32", |
10330 | | OPCODE_INFO2 (0xf4004140, |
10331 | | OPRND_SHIFT0 (0_4, FREG), |
10332 | | OPRND_SHIFT0 (16_20, FREG)), |
10333 | | CSKY_ISA_FLOAT_7E60), |
10334 | | OP32 ("fftox.f32.s32", |
10335 | | OPCODE_INFO2 (0xf4004160, |
10336 | | OPRND_SHIFT0 (0_4, FREG), |
10337 | | OPRND_SHIFT0 (16_20, FREG)), |
10338 | | CSKY_ISA_FLOAT_7E60), |
10339 | | OP32 ("fftox.f64.u32", |
10340 | | OPCODE_INFO2 (0xf4004180, |
10341 | | OPRND_SHIFT0 (0_4, FREG), |
10342 | | OPRND_SHIFT0 (16_20, FREG)), |
10343 | | CSKY_ISA_FLOAT_7E60), |
10344 | | OP32 ("fftox.f64.s32", |
10345 | | OPCODE_INFO2 (0xf40041a0, |
10346 | | OPRND_SHIFT0 (0_4, FREG), |
10347 | | OPRND_SHIFT0 (16_20, FREG)), |
10348 | | CSKY_ISA_FLOAT_7E60), |
10349 | | OP32 ("fxtof.u16.f16", |
10350 | | OPCODE_INFO2 (0xf4004800, |
10351 | | OPRND_SHIFT0 (0_4, FREG), |
10352 | | OPRND_SHIFT0 (16_20, FREG)), |
10353 | | CSKY_ISA_FLOAT_7E60), |
10354 | | OP32 ("fxtof.s16.f16", |
10355 | | OPCODE_INFO2 (0xf4004820, |
10356 | | OPRND_SHIFT0 (0_4, FREG), |
10357 | | OPRND_SHIFT0 (16_20, FREG)), |
10358 | | CSKY_ISA_FLOAT_7E60), |
10359 | | OP32 ("fxtof.u32.f16", |
10360 | | OPCODE_INFO2 (0xf4004900, |
10361 | | OPRND_SHIFT0 (0_4, FREG), |
10362 | | OPRND_SHIFT0 (16_20, FREG)), |
10363 | | CSKY_ISA_FLOAT_7E60), |
10364 | | OP32 ("fxtof.s32.f16", |
10365 | | OPCODE_INFO2 (0xf4004920, |
10366 | | OPRND_SHIFT0 (0_4, FREG), |
10367 | | OPRND_SHIFT0 (16_20, FREG)), |
10368 | | CSKY_ISA_FLOAT_7E60), |
10369 | | OP32 ("fxtof.u32.f32", |
10370 | | OPCODE_INFO2 (0xf4004940, |
10371 | | OPRND_SHIFT0 (0_4, FREG), |
10372 | | OPRND_SHIFT0 (16_20, FREG)), |
10373 | | CSKY_ISA_FLOAT_7E60), |
10374 | | OP32 ("fxtof.s32.f32", |
10375 | | OPCODE_INFO2 (0xf4004960, |
10376 | | OPRND_SHIFT0 (0_4, FREG), |
10377 | | OPRND_SHIFT0 (16_20, FREG)), |
10378 | | CSKY_ISA_FLOAT_7E60), |
10379 | | OP32 ("fxtof.u32.f64", |
10380 | | OPCODE_INFO2 (0xf4004980, |
10381 | | OPRND_SHIFT0 (0_4, FREG), |
10382 | | OPRND_SHIFT0 (16_20, FREG)), |
10383 | | CSKY_ISA_FLOAT_7E60), |
10384 | | OP32 ("fxtof.s32.f64", |
10385 | | OPCODE_INFO2 (0xf40049a0, |
10386 | | OPRND_SHIFT0 (0_4, FREG), |
10387 | | OPRND_SHIFT0 (16_20, FREG)), |
10388 | | CSKY_ISA_FLOAT_7E60), |
10389 | | OP32 ("fftoi.f16.s16", |
10390 | | OPCODE_INFO2 (0xf4004220, |
10391 | | OPRND_SHIFT0 (0_4, FREG), |
10392 | | OPRND_SHIFT0 (16_20, FREG)), |
10393 | | CSKY_ISA_FLOAT_7E60), |
10394 | | OP32 ("fftoi.f16.u16", |
10395 | | OPCODE_INFO2 (0xf4004200, |
10396 | | OPRND_SHIFT0 (0_4, FREG), |
10397 | | OPRND_SHIFT0 (16_20, FREG)), |
10398 | | CSKY_ISA_FLOAT_7E60), |
10399 | | OP32 ("fftoi.f16.s32", |
10400 | | OPCODE_INFO2 (0xf4004320, |
10401 | | OPRND_SHIFT0 (0_4, FREG), |
10402 | | OPRND_SHIFT0 (16_20, FREG)), |
10403 | | CSKY_ISA_FLOAT_7E60), |
10404 | | OP32 ("fftoi.f16.u32", |
10405 | | OPCODE_INFO2 (0xf4004300, |
10406 | | OPRND_SHIFT0 (0_4, FREG), |
10407 | | OPRND_SHIFT0 (16_20, FREG)), |
10408 | | CSKY_ISA_FLOAT_7E60), |
10409 | | OP32 ("fftoi.f32.s32", |
10410 | | OPCODE_INFO2 (0xf4004360, |
10411 | | OPRND_SHIFT0 (0_4, FREG), |
10412 | | OPRND_SHIFT0 (16_20, FREG)), |
10413 | | CSKY_ISA_FLOAT_7E60), |
10414 | | OP32 ("fftoi.f32.u32", |
10415 | | OPCODE_INFO2 (0xf4004340, |
10416 | | OPRND_SHIFT0 (0_4, FREG), |
10417 | | OPRND_SHIFT0 (16_20, FREG)), |
10418 | | CSKY_ISA_FLOAT_7E60), |
10419 | | OP32 ("fftoi.f64.s32", |
10420 | | OPCODE_INFO2 (0xf40043a0, |
10421 | | OPRND_SHIFT0 (0_4, FREG), |
10422 | | OPRND_SHIFT0 (16_20, FREG)), |
10423 | | CSKY_ISA_FLOAT_7E60), |
10424 | | OP32 ("fftoi.f64.u32", |
10425 | | OPCODE_INFO2 (0xf4004380, |
10426 | | OPRND_SHIFT0 (0_4, FREG), |
10427 | | OPRND_SHIFT0 (16_20, FREG)), |
10428 | | CSKY_ISA_FLOAT_7E60), |
10429 | | OP32 ("fitof.s16.f16", |
10430 | | OPCODE_INFO2 (0xf4004a20, |
10431 | | OPRND_SHIFT0 (0_4, FREG), |
10432 | | OPRND_SHIFT0 (16_20, FREG)), |
10433 | | CSKY_ISA_FLOAT_7E60), |
10434 | | OP32 ("fitof.u16.f16", |
10435 | | OPCODE_INFO2 (0xf4004a00, |
10436 | | OPRND_SHIFT0 (0_4, FREG), |
10437 | | OPRND_SHIFT0 (16_20, FREG)), |
10438 | | CSKY_ISA_FLOAT_7E60), |
10439 | | OP32 ("fitof.s32.f16", |
10440 | | OPCODE_INFO2 (0xf4004b20, |
10441 | | OPRND_SHIFT0 (0_4, FREG), |
10442 | | OPRND_SHIFT0 (16_20, FREG)), |
10443 | | CSKY_ISA_FLOAT_7E60), |
10444 | | OP32 ("fitof.u32.f16", |
10445 | | OPCODE_INFO2 (0xf4004b00, |
10446 | | OPRND_SHIFT0 (0_4, FREG), |
10447 | | OPRND_SHIFT0 (16_20, FREG)), |
10448 | | CSKY_ISA_FLOAT_7E60), |
10449 | | OP32 ("fitof.s32.f32", |
10450 | | OPCODE_INFO2 (0xf4004b60, |
10451 | | OPRND_SHIFT0 (0_4, FREG), |
10452 | | OPRND_SHIFT0 (16_20, FREG)), |
10453 | | CSKY_ISA_FLOAT_7E60), |
10454 | | OP32 ("fsitos", |
10455 | | OPCODE_INFO2 (0xf4004b60, |
10456 | | OPRND_SHIFT0 (0_4, FREG), |
10457 | | OPRND_SHIFT0 (16_20, FREG)), |
10458 | | CSKY_ISA_FLOAT_7E60), |
10459 | | OP32 ("fitof.u32.f32", |
10460 | | OPCODE_INFO2 (0xf4004b40, |
10461 | | OPRND_SHIFT0 (0_4, FREG), |
10462 | | OPRND_SHIFT0 (16_20, FREG)), |
10463 | | CSKY_ISA_FLOAT_7E60), |
10464 | | OP32 ("fuitos", |
10465 | | OPCODE_INFO2 (0xf4004b40, |
10466 | | OPRND_SHIFT0 (0_4, FREG), |
10467 | | OPRND_SHIFT0 (16_20, FREG)), |
10468 | | CSKY_ISA_FLOAT_7E60), |
10469 | | OP32 ("fitof.s32.f64", |
10470 | | OPCODE_INFO2 (0xf4004ba0, |
10471 | | OPRND_SHIFT0 (0_4, FREG), |
10472 | | OPRND_SHIFT0 (16_20, FREG)), |
10473 | | CSKY_ISA_FLOAT_7E60), |
10474 | | OP32 ("fsitod", |
10475 | | OPCODE_INFO2 (0xf4004ba0, |
10476 | | OPRND_SHIFT0 (0_4, FREG), |
10477 | | OPRND_SHIFT0 (16_20, FREG)), |
10478 | | CSKY_ISA_FLOAT_7E60), |
10479 | | OP32 ("fitof.u32.f64", |
10480 | | OPCODE_INFO2 (0xf4004b80, |
10481 | | OPRND_SHIFT0 (0_4, FREG), |
10482 | | OPRND_SHIFT0 (16_20, FREG)), |
10483 | | CSKY_ISA_FLOAT_7E60), |
10484 | | OP32 ("fuitod", |
10485 | | OPCODE_INFO2 (0xf4004b80, |
10486 | | OPRND_SHIFT0 (0_4, FREG), |
10487 | | OPRND_SHIFT0 (16_20, FREG)), |
10488 | | CSKY_ISA_FLOAT_7E60), |
10489 | | OP32 ("fftofi.f16.rn", |
10490 | | OPCODE_INFO2 (0xf4004400, |
10491 | | OPRND_SHIFT0 (0_4, FREG), |
10492 | | OPRND_SHIFT0 (16_20, FREG)), |
10493 | | CSKY_ISA_FLOAT_7E60), |
10494 | | OP32 ("fftofi.f16.rz", |
10495 | | OPCODE_INFO2 (0xf4004420, |
10496 | | OPRND_SHIFT0 (0_4, FREG), |
10497 | | OPRND_SHIFT0 (16_20, FREG)), |
10498 | | CSKY_ISA_FLOAT_7E60), |
10499 | | OP32 ("fftofi.f16.rpi", |
10500 | | OPCODE_INFO2 (0xf4004440, |
10501 | | OPRND_SHIFT0 (0_4, FREG), |
10502 | | OPRND_SHIFT0 (16_20, FREG)), |
10503 | | CSKY_ISA_FLOAT_7E60), |
10504 | | OP32 ("fftofi.f16.rni", |
10505 | | OPCODE_INFO2 (0xf4004460, |
10506 | | OPRND_SHIFT0 (0_4, FREG), |
10507 | | OPRND_SHIFT0 (16_20, FREG)), |
10508 | | CSKY_ISA_FLOAT_7E60), |
10509 | | OP32 ("fftofi.f32.rn", |
10510 | | OPCODE_INFO2 (0xf4004480, |
10511 | | OPRND_SHIFT0 (0_4, FREG), |
10512 | | OPRND_SHIFT0 (16_20, FREG)), |
10513 | | CSKY_ISA_FLOAT_7E60), |
10514 | | OP32 ("fftofi.f32.rz", |
10515 | | OPCODE_INFO2 (0xf40044a0, |
10516 | | OPRND_SHIFT0 (0_4, FREG), |
10517 | | OPRND_SHIFT0 (16_20, FREG)), |
10518 | | CSKY_ISA_FLOAT_7E60), |
10519 | | OP32 ("fftofi.f32.rpi", |
10520 | | OPCODE_INFO2 (0xf40044c0, |
10521 | | OPRND_SHIFT0 (0_4, FREG), |
10522 | | OPRND_SHIFT0 (16_20, FREG)), |
10523 | | CSKY_ISA_FLOAT_7E60), |
10524 | | OP32 ("fftofi.f32.rni", |
10525 | | OPCODE_INFO2 (0xf40044e0, |
10526 | | OPRND_SHIFT0 (0_4, FREG), |
10527 | | OPRND_SHIFT0 (16_20, FREG)), |
10528 | | CSKY_ISA_FLOAT_7E60), |
10529 | | OP32 ("fftofi.f64.rn", |
10530 | | OPCODE_INFO2 (0xf4004500, |
10531 | | OPRND_SHIFT0 (0_4, FREG), |
10532 | | OPRND_SHIFT0 (16_20, FREG)), |
10533 | | CSKY_ISA_FLOAT_7E60), |
10534 | | OP32 ("fftofi.f64.rz", |
10535 | | OPCODE_INFO2 (0xf4004520, |
10536 | | OPRND_SHIFT0 (0_4, FREG), |
10537 | | OPRND_SHIFT0 (16_20, FREG)), |
10538 | | CSKY_ISA_FLOAT_7E60), |
10539 | | OP32 ("fftofi.f64.rpi", |
10540 | | OPCODE_INFO2 (0xf4004540, |
10541 | | OPRND_SHIFT0 (0_4, FREG), |
10542 | | OPRND_SHIFT0 (16_20, FREG)), |
10543 | | CSKY_ISA_FLOAT_7E60), |
10544 | | OP32 ("fftofi.f64.rni", |
10545 | | OPCODE_INFO2 (0xf4004560, |
10546 | | OPRND_SHIFT0 (0_4, FREG), |
10547 | | OPRND_SHIFT0 (16_20, FREG)), |
10548 | | CSKY_ISA_FLOAT_7E60), |
10549 | | DOP32_WITH_WORK ("fmovi.16", |
10550 | | OPCODE_INFO2 (0xf400e400, |
10551 | | OPRND_SHIFT0 (0_4, FREG), |
10552 | | OPRND_SHIFT0 (5or8_9or16_25, HFLOAT_FMOVI)), |
10553 | | OPCODE_INFO3 (0xf400e400, |
10554 | | OPRND_SHIFT0 (0_4, FREG), |
10555 | | OPRND_SHIFT0 (5or8_9or20_25, IMM9b), |
10556 | | OPRND_SHIFT0 (16_19, IMM4b)), |
10557 | | CSKY_ISA_FLOAT_7E60, |
10558 | | float_work_fpuv3_fmovi), |
10559 | | DOP32_WITH_WORK ("fmovi.32", |
10560 | | OPCODE_INFO2 (0xf400e440, |
10561 | | OPRND_SHIFT0 (0_4, FREG), |
10562 | | OPRND_SHIFT0 (5or8_9or16_25, SFLOAT_FMOVI)), |
10563 | | OPCODE_INFO3 (0xf400e440, |
10564 | | OPRND_SHIFT0 (0_4, FREG), |
10565 | | OPRND_SHIFT0 (5or8_9or20_25, IMM9b), |
10566 | | OPRND_SHIFT0 (16_19, IMM4b)), |
10567 | | CSKY_ISA_FLOAT_7E60, |
10568 | | float_work_fpuv3_fmovi), |
10569 | | DOP32_WITH_WORK ("fmovi.64", |
10570 | | OPCODE_INFO2 (0xf400e480, |
10571 | | OPRND_SHIFT0 (0_4, FREG), |
10572 | | OPRND_SHIFT0 (5or8_9or16_25, DFLOAT_FMOVI)), |
10573 | | OPCODE_INFO3 (0xf400e480, |
10574 | | OPRND_SHIFT0 (0_4, FREG), |
10575 | | OPRND_SHIFT0 (5or8_9or20_25, IMM9b), |
10576 | | OPRND_SHIFT0 (16_19, IMM4b)), |
10577 | | CSKY_ISA_FLOAT_7E60, |
10578 | | float_work_fpuv3_fmovi), |
10579 | | #undef _RELOC32 |
10580 | | #define _RELOC32 BFD_RELOC_CKCORE_PCREL_FLRW_IMM8BY4 |
10581 | | OP32 ("flrw.32", |
10582 | | OPCODE_INFO2 (0xf4003800, |
10583 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10584 | | (4_7or21_24, FCONSTANT, OPRND_SHIFT_2_BIT)), |
10585 | | CSKY_ISA_FLOAT_7E60), |
10586 | | OP32 ("flrws", |
10587 | | OPCODE_INFO2 (0xf4003800, |
10588 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10589 | | (4_7or21_24, FCONSTANT, OPRND_SHIFT_2_BIT)), |
10590 | | CSKY_ISA_FLOAT_7E60), |
10591 | | OP32 ("flrw.64", |
10592 | | OPCODE_INFO2 (0xf4003900, |
10593 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10594 | | (4_7or21_24, FCONSTANT, OPRND_SHIFT_2_BIT)), |
10595 | | CSKY_ISA_FLOAT_7E60), |
10596 | | OP32 ("flrwd", |
10597 | | OPCODE_INFO2 (0xf4003900, |
10598 | | (0_3or25, FREG, OPRND_SHIFT_0_BIT), |
10599 | | (4_7or21_24, FCONSTANT, OPRND_SHIFT_2_BIT)), |
10600 | | CSKY_ISA_FLOAT_7E60), |
10601 | | #undef _RELOC32 |
10602 | | #define _RELOC32 0 |
10603 | | |
10604 | | /* The following are aliases for other instructions. */ |
10605 | | /* setc -> cmphs r0, r0 */ |
10606 | | OP16 ("setc", |
10607 | | OPCODE_INFO0 (0x6400), |
10608 | | CSKYV2_ISA_E1), |
10609 | | /* clrc -> cmpne r0, r0 */ |
10610 | | OP16 ("clrc", |
10611 | | OPCODE_INFO0 (0x6402), |
10612 | | CSKYV2_ISA_E1), |
10613 | | /* tstlt rd -> btsti rd,31 */ |
10614 | | OP32 ("tstlt", |
10615 | | OPCODE_INFO1 (0xc7e02880, |
10616 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10617 | | CSKYV2_ISA_1E2), |
10618 | | /* idly4 -> idly 4 */ |
10619 | | OP32 ("idly4", |
10620 | | OPCODE_INFO0 (0xc0601c20), |
10621 | | CSKYV2_ISA_E1), |
10622 | | /* rsub rz, ry, rx -> subu rz, rx, ry */ |
10623 | | DOP32 ("rsub", |
10624 | | OPCODE_INFO3 (0xc4000080, |
10625 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10626 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
10627 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10628 | | OPCODE_INFO2 (0xc4000080, |
10629 | | (0_4or21_25, DUP_AREG, OPRND_SHIFT_0_BIT), |
10630 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), CSKYV2_ISA_1E2), |
10631 | | /* cmplei rd,X -> cmplti rd,X+1 */ |
10632 | | OP16_OP32 ("cmplei", |
10633 | | OPCODE_INFO2 (0x3820, |
10634 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT), |
10635 | | (0_4, IMM5b, OPRND_SHIFT_0_BIT)), |
10636 | | CSKYV2_ISA_E1, |
10637 | | OPCODE_INFO2 (0xeb200000, |
10638 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
10639 | | (0_15, IMM16b, OPRND_SHIFT_0_BIT)), |
10640 | | CSKYV2_ISA_1E2), |
10641 | | /* cmpls -> cmphs */ |
10642 | | OP16_OP32 ("cmpls", |
10643 | | OPCODE_INFO2 (0x6400, |
10644 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
10645 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
10646 | | CSKYV2_ISA_E1, |
10647 | | OPCODE_INFO2 (0xc4000420, |
10648 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
10649 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10650 | | CSKYV2_ISA_2E3), |
10651 | | /* cmpgt -> cmplt */ |
10652 | | OP16_OP32 ("cmpgt", |
10653 | | OPCODE_INFO2 (0x6401, |
10654 | | (6_9, GREG0_15, OPRND_SHIFT_0_BIT), |
10655 | | (2_5, GREG0_15, OPRND_SHIFT_0_BIT)), |
10656 | | CSKYV2_ISA_E1, |
10657 | | OPCODE_INFO2 (0xc4000440, |
10658 | | (21_25, AREG, OPRND_SHIFT_0_BIT), |
10659 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10660 | | CSKYV2_ISA_2E3), |
10661 | | /* tstle rd -> cmplti rd,1 */ |
10662 | | OP16_OP32 ("tstle", |
10663 | | OPCODE_INFO1 (0x3820, |
10664 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT)), |
10665 | | CSKYV2_ISA_E1, |
10666 | | OPCODE_INFO1 (0xeb200000, |
10667 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10668 | | CSKYV2_ISA_1E2), |
10669 | | /* tstne rd -> cmpnei rd,0 */ |
10670 | | OP16_OP32 ("tstne", |
10671 | | OPCODE_INFO1 (0x3840, |
10672 | | (8_10, GREG0_7, OPRND_SHIFT_0_BIT)), |
10673 | | CSKYV2_ISA_E1, |
10674 | | OPCODE_INFO1 (0xeb400000, |
10675 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10676 | | CSKYV2_ISA_1E2), |
10677 | | /* rotri rz, rx, imm5 -> rotli rz, rx, 32-imm5 */ |
10678 | | DOP32 ("rotri", |
10679 | | OPCODE_INFO3 (0xc4004900, |
10680 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10681 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
10682 | | (21_25, IMM5b_RORI, OPRND_SHIFT_0_BIT)), |
10683 | | OPCODE_INFO2 (0xc4004900, |
10684 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
10685 | | (21_25, IMM5b_RORI, OPRND_SHIFT_0_BIT)), |
10686 | | CSKYV2_ISA_2E3), |
10687 | | DOP32 ("rori", |
10688 | | OPCODE_INFO3 (0xc4004900, |
10689 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10690 | | (16_20, AREG, OPRND_SHIFT_0_BIT), |
10691 | | (21_25, IMM5b_RORI, OPRND_SHIFT_0_BIT)), |
10692 | | OPCODE_INFO2 (0xc4004900, |
10693 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT), |
10694 | | (21_25, IMM5b_RORI, OPRND_SHIFT_0_BIT)), |
10695 | | CSKYV2_ISA_2E3), |
10696 | | |
10697 | | /* rotlc rd -> addc rd, rd/ addc rd, rd, rd */ |
10698 | | OP16_OP32_WITH_WORK ("rotlc", |
10699 | | OPCODE_INFO2 (0x6001, |
10700 | | (NONE, GREG0_15, OPRND_SHIFT_0_BIT), |
10701 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
10702 | | CSKYV2_ISA_E1, |
10703 | | OPCODE_INFO2 (0xc4000040, |
10704 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
10705 | | (NONE, CONST1, OPRND_SHIFT_0_BIT)), |
10706 | | CSKYV2_ISA_2E3, |
10707 | | v2_work_rotlc), |
10708 | | /* not rd -> nor rd, rd, not rz, rx -> nor rz, rx, rx */ |
10709 | | OP16_OP32_WITH_WORK ("not", |
10710 | | OPCODE_INFO1 (0x6c02, |
10711 | | (NONE, AREG, OPRND_SHIFT_0_BIT)), |
10712 | | CSKYV2_ISA_E1, |
10713 | | OPCODE_INFO2 (0xc4002480, |
10714 | | (NONE, AREG, OPRND_SHIFT_0_BIT), |
10715 | | (NONE, AREG, OPRND_SHIFT_0_BIT)), |
10716 | | CSKYV2_ISA_E1, v2_work_not), |
10717 | | |
10718 | | /* Special force 32 bits instruction. */ |
10719 | | OP32 ("xtrb0.32", |
10720 | | OPCODE_INFO2 (0xc4007020, |
10721 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10722 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10723 | | CSKYV2_ISA_1E2), |
10724 | | OP32 ("xtrb1.32", |
10725 | | OPCODE_INFO2 (0xc4007040, |
10726 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10727 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10728 | | CSKYV2_ISA_1E2), |
10729 | | OP32 ("xtrb2.32", |
10730 | | OPCODE_INFO2 (0xc4007080, |
10731 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10732 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10733 | | CSKYV2_ISA_1E2), |
10734 | | OP32 ("xtrb3.32", |
10735 | | OPCODE_INFO2 (0xc4007100, |
10736 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10737 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10738 | | CSKYV2_ISA_1E2), |
10739 | | OP32 ("ff0.32", |
10740 | | OPCODE_INFO2 (0xc4007c20, |
10741 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10742 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10743 | | CSKYV2_ISA_1E2), |
10744 | | DOP32 ("ff1.32", |
10745 | | OPCODE_INFO2 (0xc4007c40, |
10746 | | (0_4, AREG, OPRND_SHIFT_0_BIT), |
10747 | | (16_20, AREG, OPRND_SHIFT_0_BIT)), |
10748 | | OPCODE_INFO1 (0xc4007c40, |
10749 | | (0_4or16_20, DUP_AREG, OPRND_SHIFT_0_BIT)), |
10750 | | CSKYV2_ISA_1E2), |
10751 | | |
10752 | | {NULL, 0, {}, {}, 0, 0, 0, 0, 0, NULL} |
10753 | | }; |