csky-opc.h revision 1.1.1.2
1/* Declarations for C-SKY opcode table 2 Copyright (C) 2007-2022 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#define OP_TABLE_NUM 2 26#define MAX_OPRND_NUM 5 27 28enum 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. */ 210struct 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 220struct 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 232union 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. */ 248struct 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. */ 260struct 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#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#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 632struct psrbit 633{ 634 int value; 635 int isa; 636 const char *name; 637}; 638 639const 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 648const 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#define GENERAL_REG_BANK 0x80000000 659#define REG_SUPPORT_ALL 0xffffffff 660 661/* CSKY register description. */ 662struct 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. */ 700static 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. */ 727static 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. */ 768static 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. */ 821static 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. */ 921static inline const char * 922get_register_name (struct csky_reg_def *reg_table, 923 int arch, int bank, int regno, int is_abi) 924{ 925 static char regname[64] = {0}; 926 unsigned int i = 0; 927 while (reg_table[i].name != NULL) 928 { 929 if (reg_table[i].bank == bank 930 && reg_table[i].regno == regno 931 && (reg_table[i].arch_flag & (1u << (arch & CSKY_ARCH_MASK)))) 932 { 933 if (is_abi && reg_table[i].abi_name) 934 return reg_table[i].abi_name; 935 else 936 return reg_table[i].name; 937 } 938 i++; 939 } 940 941 if (bank & 0x80000000) 942 return "unkown register"; 943 944 sprintf (regname, "cr<%d, %d>", regno, bank); 945 946 return regname; 947} 948 949/* Get register number according to giving parameters. 950 If not found, return -1. */ 951static inline int 952get_register_number (struct csky_reg_def *reg_table, 953 int arch, char *s, char **end, int *bank) 954{ 955 unsigned int i = 0; 956 int len = 0; 957 while (reg_table[i].name != NULL) 958 { 959 len = strlen (reg_table[i].name); 960 if ((strncasecmp (reg_table[i].name, s, len) == 0) 961 && !(ISDIGIT (s[len])) 962 && (reg_table[i].arch_flag & (1u << (arch & CSKY_ARCH_MASK)))) 963 { 964 *end = s + len; 965 *bank = reg_table[i].bank; 966 return reg_table[i].regno; 967 } 968 969 if (reg_table[i].abi_name == NULL) 970 { 971 i++; 972 continue; 973 } 974 975 len = strlen (reg_table[i].abi_name); 976 if ((strncasecmp (reg_table[i].abi_name, s, len) == 0) 977 && !(ISALNUM (s[len])) 978 && (reg_table[i].arch_flag & (1u << (arch & CSKY_ARCH_MASK)))) 979 { 980 *end = s + len; 981 *bank = reg_table[i].bank; 982 return reg_table[i].regno; 983 } 984 i++; 985 } 986 return -1; 987} 988 989/* Return general register's name. */ 990static inline const char * 991csky_get_general_reg_name (int arch, int regno, int is_abi) 992{ 993 struct csky_reg_def *reg_table; 994 995 if (IS_CSKY_ARCH_V1 (arch)) 996 reg_table = csky_abiv1_general_regs; 997 else 998 reg_table = csky_abiv2_general_regs; 999 1000 return get_register_name (reg_table, arch, GENERAL_REG_BANK, regno, is_abi); 1001} 1002 1003/* Return general register's number. */ 1004static inline int 1005csky_get_general_regno (int arch, char *s, char **end) 1006{ 1007 struct csky_reg_def *reg_table; 1008 int bank = 0; 1009 1010 if (IS_CSKY_ARCH_V1 (arch)) 1011 reg_table = csky_abiv1_general_regs; 1012 else 1013 reg_table = csky_abiv2_general_regs; 1014 1015 return get_register_number (reg_table, arch, s, end, &bank); 1016} 1017 1018/* Return control register's name. */ 1019static inline const char * 1020csky_get_control_reg_name (int arch, int bank, int regno, int is_abi) 1021{ 1022 struct csky_reg_def *reg_table; 1023 1024 if (IS_CSKY_ARCH_V1 (arch)) 1025 reg_table = csky_abiv1_control_regs; 1026 else 1027 reg_table = csky_abiv2_control_regs; 1028 1029 return get_register_name (reg_table, arch, bank, regno, is_abi); 1030} 1031 1032/* Return control register's number. */ 1033static inline int 1034csky_get_control_regno (int arch, char *s, char **end, int *bank) 1035{ 1036 struct csky_reg_def *reg_table; 1037 1038 if (IS_CSKY_ARCH_V1 (arch)) 1039 reg_table = csky_abiv1_control_regs; 1040 else 1041 reg_table = csky_abiv2_control_regs; 1042 1043 return get_register_number (reg_table, arch, s, end, bank); 1044} 1045 1046/* C-SKY V1 opcodes. */ 1047const 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. */ 2674const 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 }; 10754