Index: xstormy16-decode.cxx =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/xstormy16/xstormy16-decode.cxx,v retrieving revision 1.8 diff -c -p -r1.8 xstormy16-decode.cxx *** xstormy16-decode.cxx 22 Jul 2004 01:49:45 -0000 1.8 --- xstormy16-decode.cxx 18 May 2005 21:20:26 -0000 *************** *** 2,8 **** THIS FILE IS MACHINE GENERATED WITH CGEN. ! Copyright (C) 2000-2004 Red Hat, Inc. This file is part of the Red Hat simulators. --- 2,8 ---- THIS FILE IS MACHINE GENERATED WITH CGEN. ! Copyright (C) 2000-2005 Red Hat, Inc. This file is part of the Red Hat simulators. *************** xstormy16_scache::decode (xstormy16_cpu* *** 366,376 **** unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_NOP; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_SYSCALL; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : itype = XSTORMY16_INSN_IRET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_iret (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : itype = XSTORMY16_INSN_RET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 5 : itype = XSTORMY16_INSN_BRK; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : /* fall through */ case 9 : /* fall through */ case 10 : /* fall through */ --- 366,396 ---- unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0x0) ! { itype = XSTORMY16_INSN_NOP; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0x1) ! { itype = XSTORMY16_INSN_SYSCALL; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0x2) ! { itype = XSTORMY16_INSN_IRET; xstormy16_extract_sfmt_iret (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0x3) ! { itype = XSTORMY16_INSN_RET; xstormy16_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 5 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0x5) ! { itype = XSTORMY16_INSN_BRK; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : /* fall through */ case 9 : /* fall through */ case 10 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 378,384 **** case 12 : /* fall through */ case 13 : /* fall through */ case 14 : /* fall through */ ! case 15 : itype = XSTORMY16_INSN_CALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ --- 398,408 ---- case 12 : /* fall through */ case 13 : /* fall through */ case 14 : /* fall through */ ! case 15 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x10) ! { itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 386,392 **** case 20 : /* fall through */ case 21 : /* fall through */ case 22 : /* fall through */ ! case 23 : itype = XSTORMY16_INSN_BGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ --- 410,420 ---- case 20 : /* fall through */ case 21 : /* fall through */ case 22 : /* fall through */ ! case 23 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x20) ! { itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 394,401 **** case 28 : /* fall through */ case 29 : /* fall through */ case 30 : /* fall through */ ! case 31 : itype = XSTORMY16_INSN_ICALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 1 : --- 422,433 ---- case 28 : /* fall through */ case 29 : /* fall through */ case 30 : /* fall through */ ! case 31 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x30) ! { itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 1 : *************** xstormy16_scache::decode (xstormy16_cpu* *** 403,412 **** unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_HALT; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : itype = XSTORMY16_INSN_HOLD; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : itype = XSTORMY16_INSN_HOLDX; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 7 : itype = XSTORMY16_INSN_RESET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : /* fall through */ case 9 : /* fall through */ case 10 : /* fall through */ --- 435,460 ---- unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0x8) ! { itype = XSTORMY16_INSN_HALT; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0xa) ! { itype = XSTORMY16_INSN_HOLD; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0xb) ! { itype = XSTORMY16_INSN_HOLDX; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 7 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0xf) ! { itype = XSTORMY16_INSN_RESET; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 8 : /* fall through */ case 9 : /* fall through */ case 10 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 414,420 **** case 12 : /* fall through */ case 13 : /* fall through */ case 14 : /* fall through */ ! case 15 : itype = XSTORMY16_INSN_CALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ --- 462,472 ---- case 12 : /* fall through */ case 13 : /* fall through */ case 14 : /* fall through */ ! case 15 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x10) ! { itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 422,428 **** case 20 : /* fall through */ case 21 : /* fall through */ case 22 : /* fall through */ ! case 23 : itype = XSTORMY16_INSN_BGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ --- 474,484 ---- case 20 : /* fall through */ case 21 : /* fall through */ case 22 : /* fall through */ ! case 23 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x20) ! { itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 430,437 **** case 28 : /* fall through */ case 29 : /* fall through */ case 30 : /* fall through */ ! case 31 : itype = XSTORMY16_INSN_ICALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 2 : /* fall through */ --- 486,497 ---- case 28 : /* fall through */ case 29 : /* fall through */ case 30 : /* fall through */ ! case 31 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x30) ! { itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 2 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 440,448 **** unsigned int val = (((insn >> 21) & (1 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_JMP; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_ICALLGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallgr (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 4 : /* fall through */ --- 500,516 ---- unsigned int val = (((insn >> 21) & (1 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffe0) == 0x40) ! { itype = XSTORMY16_INSN_JMP; xstormy16_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffe0) == 0x60) ! { itype = XSTORMY16_INSN_ICALLGR; xstormy16_extract_sfmt_icallgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 4 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 451,461 **** unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_PUSHGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_pushgr (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_POPGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_popgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : /* fall through */ ! case 3 : itype = XSTORMY16_INSN_CALLGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callgr (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 6 : --- 519,541 ---- unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x80) ! { itype = XSTORMY16_INSN_PUSHGR; xstormy16_extract_sfmt_pushgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x90) ! { itype = XSTORMY16_INSN_POPGR; xstormy16_extract_sfmt_popgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 2 : /* fall through */ ! case 3 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffe0) == 0xa0) ! { itype = XSTORMY16_INSN_CALLGR; xstormy16_extract_sfmt_callgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 6 : *************** xstormy16_scache::decode (xstormy16_cpu* *** 463,472 **** unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_DIV; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_MUL; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : itype = XSTORMY16_INSN_DIVLH; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 7 : --- 543,564 ---- unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0xc0) ! { itype = XSTORMY16_INSN_DIV; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0xd0) ! { itype = XSTORMY16_INSN_MUL; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0xe0) ! { itype = XSTORMY16_INSN_DIVLH; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 7 : *************** xstormy16_scache::decode (xstormy16_cpu* *** 474,482 **** unsigned int val = (((insn >> 21) & (1 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_SDIV; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdiv (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_SDIVLH; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 8 : /* fall through */ --- 566,582 ---- unsigned int val = (((insn >> 21) & (1 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0xc8) ! { itype = XSTORMY16_INSN_SDIV; xstormy16_extract_sfmt_sdiv (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffff) == 0xe8) ! { itype = XSTORMY16_INSN_SDIVLH; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 8 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 486,492 **** case 12 : /* fall through */ case 13 : /* fall through */ case 14 : /* fall through */ ! case 15 : itype = XSTORMY16_INSN_CALLFIMM; xstormy16_extract_sfmt_callfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ --- 586,595 ---- case 12 : /* fall through */ case 13 : /* fall through */ case 14 : /* fall through */ ! case 15 : ! if ((entire_insn & 0xff000000) == 0x1000000) ! { itype = XSTORMY16_INSN_CALLFIMM; xstormy16_extract_sfmt_callfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 16 : /* fall through */ case 17 : /* fall through */ case 18 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 494,500 **** case 20 : /* fall through */ case 21 : /* fall through */ case 22 : /* fall through */ ! case 23 : itype = XSTORMY16_INSN_JMPF; xstormy16_extract_sfmt_jmpf (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ --- 597,606 ---- case 20 : /* fall through */ case 21 : /* fall through */ case 22 : /* fall through */ ! case 23 : ! if ((entire_insn & 0xff000000) == 0x2000000) ! { itype = XSTORMY16_INSN_JMPF; xstormy16_extract_sfmt_jmpf (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 24 : /* fall through */ case 25 : /* fall through */ case 26 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 502,508 **** case 28 : /* fall through */ case 29 : /* fall through */ case 30 : /* fall through */ ! case 31 : itype = XSTORMY16_INSN_ICALLFIMM; xstormy16_extract_sfmt_icallfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 32 : /* fall through */ case 33 : /* fall through */ case 34 : /* fall through */ --- 608,617 ---- case 28 : /* fall through */ case 29 : /* fall through */ case 30 : /* fall through */ ! case 31 : ! if ((entire_insn & 0xff000000) == 0x3000000) ! { itype = XSTORMY16_INSN_ICALLFIMM; xstormy16_extract_sfmt_icallfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 32 : /* fall through */ case 33 : /* fall through */ case 34 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 510,516 **** case 36 : /* fall through */ case 37 : /* fall through */ case 38 : /* fall through */ ! case 39 : itype = XSTORMY16_INSN_BNGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 40 : /* fall through */ case 41 : /* fall through */ case 42 : /* fall through */ --- 619,628 ---- case 36 : /* fall through */ case 37 : /* fall through */ case 38 : /* fall through */ ! case 39 : ! if ((entire_insn & 0xff00f000) == 0x4000000) ! { itype = XSTORMY16_INSN_BNGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 40 : /* fall through */ case 41 : /* fall through */ case 42 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 518,524 **** case 44 : /* fall through */ case 45 : /* fall through */ case 46 : /* fall through */ ! case 47 : itype = XSTORMY16_INSN_BPGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 48 : /* fall through */ case 49 : /* fall through */ case 50 : /* fall through */ --- 630,639 ---- case 44 : /* fall through */ case 45 : /* fall through */ case 46 : /* fall through */ ! case 47 : ! if ((entire_insn & 0xff00f000) == 0x5000000) ! { itype = XSTORMY16_INSN_BPGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 48 : /* fall through */ case 49 : /* fall through */ case 50 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 526,532 **** case 52 : /* fall through */ case 53 : /* fall through */ case 54 : /* fall through */ ! case 55 : itype = XSTORMY16_INSN_BNGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 56 : /* fall through */ case 57 : /* fall through */ case 58 : /* fall through */ --- 641,650 ---- case 52 : /* fall through */ case 53 : /* fall through */ case 54 : /* fall through */ ! case 55 : ! if ((entire_insn & 0xff00f000) == 0x6000000) ! { itype = XSTORMY16_INSN_BNGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 56 : /* fall through */ case 57 : /* fall through */ case 58 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 534,540 **** case 60 : /* fall through */ case 61 : /* fall through */ case 62 : /* fall through */ ! case 63 : itype = XSTORMY16_INSN_BPGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 64 : /* fall through */ case 65 : /* fall through */ case 66 : /* fall through */ --- 652,661 ---- case 60 : /* fall through */ case 61 : /* fall through */ case 62 : /* fall through */ ! case 63 : ! if ((entire_insn & 0xff00f000) == 0x7000000) ! { itype = XSTORMY16_INSN_BPGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 64 : /* fall through */ case 65 : /* fall through */ case 66 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 542,548 **** case 68 : /* fall through */ case 69 : /* fall through */ case 70 : /* fall through */ ! case 71 : itype = XSTORMY16_INSN_CLR1GRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 72 : /* fall through */ case 73 : /* fall through */ case 74 : /* fall through */ --- 663,673 ---- case 68 : /* fall through */ case 69 : /* fall through */ case 70 : /* fall through */ ! case 71 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x800) ! { itype = XSTORMY16_INSN_CLR1GRIMM; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 72 : /* fall through */ case 73 : /* fall through */ case 74 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 550,556 **** case 76 : /* fall through */ case 77 : /* fall through */ case 78 : /* fall through */ ! case 79 : itype = XSTORMY16_INSN_SET1GRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 80 : /* fall through */ case 81 : /* fall through */ case 82 : /* fall through */ --- 675,685 ---- case 76 : /* fall through */ case 77 : /* fall through */ case 78 : /* fall through */ ! case 79 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x900) ! { itype = XSTORMY16_INSN_SET1GRIMM; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 80 : /* fall through */ case 81 : /* fall through */ case 82 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 558,564 **** case 84 : /* fall through */ case 85 : /* fall through */ case 86 : /* fall through */ ! case 87 : itype = XSTORMY16_INSN_CLR1GRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 88 : /* fall through */ case 89 : /* fall through */ case 90 : /* fall through */ --- 687,697 ---- case 84 : /* fall through */ case 85 : /* fall through */ case 86 : /* fall through */ ! case 87 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0xa00) ! { itype = XSTORMY16_INSN_CLR1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 88 : /* fall through */ case 89 : /* fall through */ case 90 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 566,572 **** case 92 : /* fall through */ case 93 : /* fall through */ case 94 : /* fall through */ ! case 95 : itype = XSTORMY16_INSN_SET1GRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 104 : /* fall through */ case 105 : /* fall through */ case 106 : /* fall through */ --- 699,709 ---- case 92 : /* fall through */ case 93 : /* fall through */ case 94 : /* fall through */ ! case 95 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0xb00) ! { itype = XSTORMY16_INSN_SET1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 104 : /* fall through */ case 105 : /* fall through */ case 106 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 574,580 **** case 108 : /* fall through */ case 109 : /* fall through */ case 110 : /* fall through */ ! case 111 : itype = XSTORMY16_INSN_BCCGRGR; xstormy16_extract_sfmt_bccgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 129 : /* fall through */ case 130 : /* fall through */ --- 711,720 ---- case 108 : /* fall through */ case 109 : /* fall through */ case 110 : /* fall through */ ! case 111 : ! if ((entire_insn & 0xff000000) == 0xd000000) ! { itype = XSTORMY16_INSN_BCCGRGR; xstormy16_extract_sfmt_bccgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 128 : /* fall through */ case 129 : /* fall through */ case 130 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 707,715 **** unsigned int val = (((insn >> 16) & (1 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_BR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_br (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_CALLRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 256 : /* fall through */ --- 847,863 ---- unsigned int val = (((insn >> 16) & (1 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf001) == 0x1000) ! { itype = XSTORMY16_INSN_BR; xstormy16_extract_sfmt_br (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf001) == 0x1001) ! { itype = XSTORMY16_INSN_CALLRIMM; xstormy16_extract_sfmt_callrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 256 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 775,781 **** case 372 : /* fall through */ case 373 : /* fall through */ case 374 : /* fall through */ ! case 375 : itype = XSTORMY16_INSN_BCCGRIMM8; xstormy16_extract_sfmt_bccgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 265 : /* fall through */ case 266 : /* fall through */ --- 923,932 ---- case 372 : /* fall through */ case 373 : /* fall through */ case 374 : /* fall through */ ! case 375 : ! if ((entire_insn & 0xf1000000) == 0x20000000) ! { itype = XSTORMY16_INSN_BCCGRIMM8; xstormy16_extract_sfmt_bccgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 264 : /* fall through */ case 265 : /* fall through */ case 266 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 839,860 **** case 380 : /* fall through */ case 381 : /* fall through */ case 382 : /* fall through */ ! case 383 : itype = XSTORMY16_INSN_MOVWGRIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movwgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ ! case 385 : itype = XSTORMY16_INSN_INCGRIMM2; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ ! case 387 : itype = XSTORMY16_INSN_DECGRIMM2; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 389 : { unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_SWPB; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_SWPN; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : itype = XSTORMY16_INSN_CBWGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : itype = XSTORMY16_INSN_NOTGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 390 : /* fall through */ --- 990,1039 ---- case 380 : /* fall through */ case 381 : /* fall through */ case 382 : /* fall through */ ! case 383 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf100) == 0x2100) ! { itype = XSTORMY16_INSN_MOVWGRIMM8; xstormy16_extract_sfmt_movwgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 384 : /* fall through */ ! case 385 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffc0) == 0x3000) ! { itype = XSTORMY16_INSN_INCGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 386 : /* fall through */ ! case 387 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xffc0) == 0x3040) ! { itype = XSTORMY16_INSN_DECGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 388 : /* fall through */ case 389 : { unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x3080) ! { itype = XSTORMY16_INSN_SWPB; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x3090) ! { itype = XSTORMY16_INSN_SWPN; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x30a0) ! { itype = XSTORMY16_INSN_CBWGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x30b0) ! { itype = XSTORMY16_INSN_NOTGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 390 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 863,873 **** unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_MOVLOWGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_MOVHIGHGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : itype = XSTORMY16_INSN_MASKGRIMM16; xstormy16_extract_sfmt_maskgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : itype = XSTORMY16_INSN_REVGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 392 : /* fall through */ --- 1042,1067 ---- unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x30c0) ! { itype = XSTORMY16_INSN_MOVLOWGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x30d0) ! { itype = XSTORMY16_INSN_MOVHIGHGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : ! if ((entire_insn & 0xfff00000) == 0x30e00000) ! { itype = XSTORMY16_INSN_MASKGRIMM16; xstormy16_extract_sfmt_maskgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfff0) == 0x30f0) ! { itype = XSTORMY16_INSN_REVGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 392 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 876,886 **** unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_ANDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_ORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : itype = XSTORMY16_INSN_XORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : itype = XSTORMY16_INSN_MOVWGRIMM16; xstormy16_extract_sfmt_movwgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 394 : /* fall through */ --- 1070,1092 ---- unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : ! if ((entire_insn & 0xfff00000) == 0x31000000) ! { itype = XSTORMY16_INSN_ANDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! if ((entire_insn & 0xfff00000) == 0x31100000) ! { itype = XSTORMY16_INSN_ORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : ! if ((entire_insn & 0xfff00000) == 0x31200000) ! { itype = XSTORMY16_INSN_XORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : ! if ((entire_insn & 0xfff00000) == 0x31300000) ! { itype = XSTORMY16_INSN_MOVWGRIMM16; xstormy16_extract_sfmt_movwgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 394 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 889,899 **** unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : itype = XSTORMY16_INSN_ADDGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : itype = XSTORMY16_INSN_ADCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : itype = XSTORMY16_INSN_SUBGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : itype = XSTORMY16_INSN_SBCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 400 : /* fall through */ --- 1095,1117 ---- unsigned int val = (((insn >> 20) & (3 << 0))); switch (val) { ! case 0 : ! if ((entire_insn & 0xfff00000) == 0x31400000) ! { itype = XSTORMY16_INSN_ADDGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 1 : ! if ((entire_insn & 0xfff00000) == 0x31500000) ! { itype = XSTORMY16_INSN_ADCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 2 : ! if ((entire_insn & 0xfff00000) == 0x31600000) ! { itype = XSTORMY16_INSN_SUBGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! case 3 : ! if ((entire_insn & 0xfff00000) == 0x31700000) ! { itype = XSTORMY16_INSN_SBCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } case 400 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 903,909 **** case 404 : /* fall through */ case 405 : /* fall through */ case 406 : /* fall through */ ! case 407 : itype = XSTORMY16_INSN_SWPW; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpw (this, current_cpu, pc, base_insn, entire_insn); goto done; case 408 : /* fall through */ case 409 : /* fall through */ case 410 : /* fall through */ --- 1121,1131 ---- case 404 : /* fall through */ case 405 : /* fall through */ case 406 : /* fall through */ ! case 407 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3200) ! { itype = XSTORMY16_INSN_SWPW; xstormy16_extract_sfmt_swpw (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 408 : /* fall through */ case 409 : /* fall through */ case 410 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 911,917 **** case 412 : /* fall through */ case 413 : /* fall through */ case 414 : /* fall through */ ! case 415 : itype = XSTORMY16_INSN_MASKGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_maskgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 432 : /* fall through */ case 433 : /* fall through */ case 434 : /* fall through */ --- 1133,1143 ---- case 412 : /* fall through */ case 413 : /* fall through */ case 414 : /* fall through */ ! case 415 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3300) ! { itype = XSTORMY16_INSN_MASKGRGR; xstormy16_extract_sfmt_maskgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 432 : /* fall through */ case 433 : /* fall through */ case 434 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 919,925 **** case 436 : /* fall through */ case 437 : /* fall through */ case 438 : /* fall through */ ! case 439 : itype = XSTORMY16_INSN_ASRGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_asrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 440 : /* fall through */ case 441 : /* fall through */ case 442 : /* fall through */ --- 1145,1155 ---- case 436 : /* fall through */ case 437 : /* fall through */ case 438 : /* fall through */ ! case 439 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3600) ! { itype = XSTORMY16_INSN_ASRGRGR; xstormy16_extract_sfmt_asrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 440 : /* fall through */ case 441 : /* fall through */ case 442 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 927,933 **** case 444 : /* fall through */ case 445 : /* fall through */ case 446 : /* fall through */ ! case 447 : itype = XSTORMY16_INSN_ASRGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_asrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 448 : /* fall through */ case 449 : /* fall through */ case 450 : /* fall through */ --- 1157,1167 ---- case 444 : /* fall through */ case 445 : /* fall through */ case 446 : /* fall through */ ! case 447 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3700) ! { itype = XSTORMY16_INSN_ASRGRIMM; xstormy16_extract_sfmt_asrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 448 : /* fall through */ case 449 : /* fall through */ case 450 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 935,941 **** case 452 : /* fall through */ case 453 : /* fall through */ case 454 : /* fall through */ ! case 455 : itype = XSTORMY16_INSN_RRCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 456 : /* fall through */ case 457 : /* fall through */ case 458 : /* fall through */ --- 1169,1179 ---- case 452 : /* fall through */ case 453 : /* fall through */ case 454 : /* fall through */ ! case 455 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3800) ! { itype = XSTORMY16_INSN_RRCGRGR; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 456 : /* fall through */ case 457 : /* fall through */ case 458 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 943,949 **** case 460 : /* fall through */ case 461 : /* fall through */ case 462 : /* fall through */ ! case 463 : itype = XSTORMY16_INSN_RRCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 464 : /* fall through */ case 465 : /* fall through */ case 466 : /* fall through */ --- 1181,1191 ---- case 460 : /* fall through */ case 461 : /* fall through */ case 462 : /* fall through */ ! case 463 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3900) ! { itype = XSTORMY16_INSN_RRCGRIMM4; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 464 : /* fall through */ case 465 : /* fall through */ case 466 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 951,957 **** case 468 : /* fall through */ case 469 : /* fall through */ case 470 : /* fall through */ ! case 471 : itype = XSTORMY16_INSN_RLCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 472 : /* fall through */ case 473 : /* fall through */ case 474 : /* fall through */ --- 1193,1203 ---- case 468 : /* fall through */ case 469 : /* fall through */ case 470 : /* fall through */ ! case 471 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3a00) ! { itype = XSTORMY16_INSN_RLCGRGR; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 472 : /* fall through */ case 473 : /* fall through */ case 474 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 959,965 **** case 476 : /* fall through */ case 477 : /* fall through */ case 478 : /* fall through */ ! case 479 : itype = XSTORMY16_INSN_RLCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 480 : /* fall through */ case 481 : /* fall through */ case 482 : /* fall through */ --- 1205,1215 ---- case 476 : /* fall through */ case 477 : /* fall through */ case 478 : /* fall through */ ! case 479 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3b00) ! { itype = XSTORMY16_INSN_RLCGRIMM4; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 480 : /* fall through */ case 481 : /* fall through */ case 482 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 967,973 **** case 484 : /* fall through */ case 485 : /* fall through */ case 486 : /* fall through */ ! case 487 : itype = XSTORMY16_INSN_SHRGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 488 : /* fall through */ case 489 : /* fall through */ case 490 : /* fall through */ --- 1217,1227 ---- case 484 : /* fall through */ case 485 : /* fall through */ case 486 : /* fall through */ ! case 487 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3c00) ! { itype = XSTORMY16_INSN_SHRGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 488 : /* fall through */ case 489 : /* fall through */ case 490 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 975,981 **** case 492 : /* fall through */ case 493 : /* fall through */ case 494 : /* fall through */ ! case 495 : itype = XSTORMY16_INSN_SHRGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 496 : /* fall through */ case 497 : /* fall through */ case 498 : /* fall through */ --- 1229,1239 ---- case 492 : /* fall through */ case 493 : /* fall through */ case 494 : /* fall through */ ! case 495 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3d00) ! { itype = XSTORMY16_INSN_SHRGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 496 : /* fall through */ case 497 : /* fall through */ case 498 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 983,989 **** case 500 : /* fall through */ case 501 : /* fall through */ case 502 : /* fall through */ ! case 503 : itype = XSTORMY16_INSN_SHLGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 504 : /* fall through */ case 505 : /* fall through */ case 506 : /* fall through */ --- 1241,1251 ---- case 500 : /* fall through */ case 501 : /* fall through */ case 502 : /* fall through */ ! case 503 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3e00) ! { itype = XSTORMY16_INSN_SHLGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 504 : /* fall through */ case 505 : /* fall through */ case 506 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 991,997 **** case 508 : /* fall through */ case 509 : /* fall through */ case 510 : /* fall through */ ! case 511 : itype = XSTORMY16_INSN_SHLGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : /* fall through */ case 513 : /* fall through */ case 514 : /* fall through */ --- 1253,1263 ---- case 508 : /* fall through */ case 509 : /* fall through */ case 510 : /* fall through */ ! case 511 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x3f00) ! { itype = XSTORMY16_INSN_SHLGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 512 : /* fall through */ case 513 : /* fall through */ case 514 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 999,1005 **** case 516 : /* fall through */ case 517 : /* fall through */ case 518 : /* fall through */ ! case 519 : itype = XSTORMY16_INSN_ANDGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 520 : /* fall through */ case 521 : /* fall through */ case 522 : /* fall through */ --- 1265,1275 ---- case 516 : /* fall through */ case 517 : /* fall through */ case 518 : /* fall through */ ! case 519 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4000) ! { itype = XSTORMY16_INSN_ANDGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 520 : /* fall through */ case 521 : /* fall through */ case 522 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1007,1013 **** case 524 : /* fall through */ case 525 : /* fall through */ case 526 : /* fall through */ ! case 527 : itype = XSTORMY16_INSN_ANDIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : /* fall through */ case 529 : /* fall through */ case 530 : /* fall through */ --- 1277,1287 ---- case 524 : /* fall through */ case 525 : /* fall through */ case 526 : /* fall through */ ! case 527 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4100) ! { itype = XSTORMY16_INSN_ANDIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 528 : /* fall through */ case 529 : /* fall through */ case 530 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1015,1021 **** case 532 : /* fall through */ case 533 : /* fall through */ case 534 : /* fall through */ ! case 535 : itype = XSTORMY16_INSN_ORGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 536 : /* fall through */ case 537 : /* fall through */ case 538 : /* fall through */ --- 1289,1299 ---- case 532 : /* fall through */ case 533 : /* fall through */ case 534 : /* fall through */ ! case 535 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4200) ! { itype = XSTORMY16_INSN_ORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 536 : /* fall through */ case 537 : /* fall through */ case 538 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1023,1029 **** case 540 : /* fall through */ case 541 : /* fall through */ case 542 : /* fall through */ ! case 543 : itype = XSTORMY16_INSN_ORIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 544 : /* fall through */ case 545 : /* fall through */ case 546 : /* fall through */ --- 1301,1311 ---- case 540 : /* fall through */ case 541 : /* fall through */ case 542 : /* fall through */ ! case 543 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4300) ! { itype = XSTORMY16_INSN_ORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 544 : /* fall through */ case 545 : /* fall through */ case 546 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1031,1037 **** case 548 : /* fall through */ case 549 : /* fall through */ case 550 : /* fall through */ ! case 551 : itype = XSTORMY16_INSN_XORGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 552 : /* fall through */ case 553 : /* fall through */ case 554 : /* fall through */ --- 1313,1323 ---- case 548 : /* fall through */ case 549 : /* fall through */ case 550 : /* fall through */ ! case 551 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4400) ! { itype = XSTORMY16_INSN_XORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 552 : /* fall through */ case 553 : /* fall through */ case 554 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1039,1045 **** case 556 : /* fall through */ case 557 : /* fall through */ case 558 : /* fall through */ ! case 559 : itype = XSTORMY16_INSN_XORIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 560 : /* fall through */ case 561 : /* fall through */ case 562 : /* fall through */ --- 1325,1335 ---- case 556 : /* fall through */ case 557 : /* fall through */ case 558 : /* fall through */ ! case 559 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4500) ! { itype = XSTORMY16_INSN_XORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 560 : /* fall through */ case 561 : /* fall through */ case 562 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1047,1053 **** case 564 : /* fall through */ case 565 : /* fall through */ case 566 : /* fall through */ ! case 567 : itype = XSTORMY16_INSN_MOVGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 568 : /* fall through */ case 569 : /* fall through */ case 570 : /* fall through */ --- 1337,1347 ---- case 564 : /* fall through */ case 565 : /* fall through */ case 566 : /* fall through */ ! case 567 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4600) ! { itype = XSTORMY16_INSN_MOVGRGR; xstormy16_extract_sfmt_movgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 568 : /* fall through */ case 569 : /* fall through */ case 570 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1055,1061 **** case 572 : /* fall through */ case 573 : /* fall through */ case 574 : /* fall through */ ! case 575 : itype = XSTORMY16_INSN_MOVWIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movwimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 584 : /* fall through */ case 585 : /* fall through */ case 586 : /* fall through */ --- 1349,1359 ---- case 572 : /* fall through */ case 573 : /* fall through */ case 574 : /* fall through */ ! case 575 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4700) ! { itype = XSTORMY16_INSN_MOVWIMM8; xstormy16_extract_sfmt_movwimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 584 : /* fall through */ case 585 : /* fall through */ case 586 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1063,1069 **** case 588 : /* fall through */ case 589 : /* fall through */ case 590 : /* fall through */ ! case 591 : itype = XSTORMY16_INSN_ADDGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 600 : /* fall through */ case 601 : /* fall through */ case 602 : /* fall through */ --- 1361,1371 ---- case 588 : /* fall through */ case 589 : /* fall through */ case 590 : /* fall through */ ! case 591 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4900) ! { itype = XSTORMY16_INSN_ADDGRGR; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 600 : /* fall through */ case 601 : /* fall through */ case 602 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1071,1077 **** case 604 : /* fall through */ case 605 : /* fall through */ case 606 : /* fall through */ ! case 607 : itype = XSTORMY16_INSN_ADCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 616 : /* fall through */ case 617 : /* fall through */ case 618 : /* fall through */ --- 1373,1383 ---- case 604 : /* fall through */ case 605 : /* fall through */ case 606 : /* fall through */ ! case 607 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4b00) ! { itype = XSTORMY16_INSN_ADCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 616 : /* fall through */ case 617 : /* fall through */ case 618 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1079,1085 **** case 620 : /* fall through */ case 621 : /* fall through */ case 622 : /* fall through */ ! case 623 : itype = XSTORMY16_INSN_SUBGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 632 : /* fall through */ case 633 : /* fall through */ case 634 : /* fall through */ --- 1385,1395 ---- case 620 : /* fall through */ case 621 : /* fall through */ case 622 : /* fall through */ ! case 623 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4d00) ! { itype = XSTORMY16_INSN_SUBGRGR; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 632 : /* fall through */ case 633 : /* fall through */ case 634 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1087,1093 **** case 636 : /* fall through */ case 637 : /* fall through */ case 638 : /* fall through */ ! case 639 : itype = XSTORMY16_INSN_SBCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 648 : /* fall through */ case 649 : /* fall through */ case 650 : /* fall through */ --- 1397,1407 ---- case 636 : /* fall through */ case 637 : /* fall through */ case 638 : /* fall through */ ! case 639 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x4f00) ! { itype = XSTORMY16_INSN_SBCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 648 : /* fall through */ case 649 : /* fall through */ case 650 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1095,1101 **** case 652 : /* fall through */ case 653 : /* fall through */ case 654 : /* fall through */ ! case 655 : itype = XSTORMY16_INSN_ADDGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 664 : /* fall through */ case 665 : /* fall through */ case 666 : /* fall through */ --- 1409,1419 ---- case 652 : /* fall through */ case 653 : /* fall through */ case 654 : /* fall through */ ! case 655 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x5100) ! { itype = XSTORMY16_INSN_ADDGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 664 : /* fall through */ case 665 : /* fall through */ case 666 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1103,1109 **** case 668 : /* fall through */ case 669 : /* fall through */ case 670 : /* fall through */ ! case 671 : itype = XSTORMY16_INSN_ADCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 680 : /* fall through */ case 681 : /* fall through */ case 682 : /* fall through */ --- 1421,1431 ---- case 668 : /* fall through */ case 669 : /* fall through */ case 670 : /* fall through */ ! case 671 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x5300) ! { itype = XSTORMY16_INSN_ADCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 680 : /* fall through */ case 681 : /* fall through */ case 682 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1111,1117 **** case 684 : /* fall through */ case 685 : /* fall through */ case 686 : /* fall through */ ! case 687 : itype = XSTORMY16_INSN_SUBGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 696 : /* fall through */ case 697 : /* fall through */ case 698 : /* fall through */ --- 1433,1443 ---- case 684 : /* fall through */ case 685 : /* fall through */ case 686 : /* fall through */ ! case 687 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x5500) ! { itype = XSTORMY16_INSN_SUBGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 696 : /* fall through */ case 697 : /* fall through */ case 698 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1119,1125 **** case 700 : /* fall through */ case 701 : /* fall through */ case 702 : /* fall through */ ! case 703 : itype = XSTORMY16_INSN_SBCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 712 : /* fall through */ case 713 : /* fall through */ case 714 : /* fall through */ --- 1445,1455 ---- case 700 : /* fall through */ case 701 : /* fall through */ case 702 : /* fall through */ ! case 703 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x5700) ! { itype = XSTORMY16_INSN_SBCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 712 : /* fall through */ case 713 : /* fall through */ case 714 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1127,1133 **** case 716 : /* fall through */ case 717 : /* fall through */ case 718 : /* fall through */ ! case 719 : itype = XSTORMY16_INSN_ADDIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 728 : /* fall through */ case 729 : /* fall through */ case 730 : /* fall through */ --- 1457,1467 ---- case 716 : /* fall through */ case 717 : /* fall through */ case 718 : /* fall through */ ! case 719 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x5900) ! { itype = XSTORMY16_INSN_ADDIMM8; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 728 : /* fall through */ case 729 : /* fall through */ case 730 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1135,1141 **** case 732 : /* fall through */ case 733 : /* fall through */ case 734 : /* fall through */ ! case 735 : itype = XSTORMY16_INSN_ADCIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 744 : /* fall through */ case 745 : /* fall through */ case 746 : /* fall through */ --- 1469,1479 ---- case 732 : /* fall through */ case 733 : /* fall through */ case 734 : /* fall through */ ! case 735 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x5b00) ! { itype = XSTORMY16_INSN_ADCIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 744 : /* fall through */ case 745 : /* fall through */ case 746 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1143,1149 **** case 748 : /* fall through */ case 749 : /* fall through */ case 750 : /* fall through */ ! case 751 : itype = XSTORMY16_INSN_SUBIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 760 : /* fall through */ case 761 : /* fall through */ case 762 : /* fall through */ --- 1481,1491 ---- case 748 : /* fall through */ case 749 : /* fall through */ case 750 : /* fall through */ ! case 751 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x5d00) ! { itype = XSTORMY16_INSN_SUBIMM8; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 760 : /* fall through */ case 761 : /* fall through */ case 762 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1151,1157 **** case 764 : /* fall through */ case 765 : /* fall through */ case 766 : /* fall through */ ! case 767 : itype = XSTORMY16_INSN_SBCGRIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 770 : /* fall through */ case 772 : /* fall through */ --- 1493,1503 ---- case 764 : /* fall through */ case 765 : /* fall through */ case 766 : /* fall through */ ! case 767 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xff00) == 0x5f00) ! { itype = XSTORMY16_INSN_SBCGRIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 768 : /* fall through */ case 770 : /* fall through */ case 772 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1159,1165 **** case 776 : /* fall through */ case 778 : /* fall through */ case 780 : /* fall through */ ! case 782 : itype = XSTORMY16_INSN_MOVGRGRIPOSTINC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 771 : /* fall through */ case 773 : /* fall through */ --- 1505,1515 ---- case 776 : /* fall through */ case 778 : /* fall through */ case 780 : /* fall through */ ! case 782 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x6000) ! { itype = XSTORMY16_INSN_MOVGRGRIPOSTINC; xstormy16_extract_sfmt_movgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 769 : /* fall through */ case 771 : /* fall through */ case 773 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1167,1173 **** case 777 : /* fall through */ case 779 : /* fall through */ case 781 : /* fall through */ ! case 783 : itype = XSTORMY16_INSN_MOVGRGRIIPOSTINC; xstormy16_extract_sfmt_movgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 784 : /* fall through */ case 786 : /* fall through */ case 788 : /* fall through */ --- 1517,1526 ---- case 777 : /* fall through */ case 779 : /* fall through */ case 781 : /* fall through */ ! case 783 : ! if ((entire_insn & 0xfe08f000) == 0x60080000) ! { itype = XSTORMY16_INSN_MOVGRGRIIPOSTINC; xstormy16_extract_sfmt_movgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 784 : /* fall through */ case 786 : /* fall through */ case 788 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1175,1181 **** case 792 : /* fall through */ case 794 : /* fall through */ case 796 : /* fall through */ ! case 798 : itype = XSTORMY16_INSN_MOVGRIPOSTINCGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 785 : /* fall through */ case 787 : /* fall through */ case 789 : /* fall through */ --- 1528,1538 ---- case 792 : /* fall through */ case 794 : /* fall through */ case 796 : /* fall through */ ! case 798 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x6200) ! { itype = XSTORMY16_INSN_MOVGRIPOSTINCGR; xstormy16_extract_sfmt_movgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 785 : /* fall through */ case 787 : /* fall through */ case 789 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1183,1189 **** case 793 : /* fall through */ case 795 : /* fall through */ case 797 : /* fall through */ ! case 799 : itype = XSTORMY16_INSN_MOVGRIIPOSTINCGR; xstormy16_extract_sfmt_movgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 800 : /* fall through */ case 802 : /* fall through */ case 804 : /* fall through */ --- 1540,1549 ---- case 793 : /* fall through */ case 795 : /* fall through */ case 797 : /* fall through */ ! case 799 : ! if ((entire_insn & 0xfe08f000) == 0x62080000) ! { itype = XSTORMY16_INSN_MOVGRIIPOSTINCGR; xstormy16_extract_sfmt_movgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 800 : /* fall through */ case 802 : /* fall through */ case 804 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1191,1197 **** case 808 : /* fall through */ case 810 : /* fall through */ case 812 : /* fall through */ ! case 814 : itype = XSTORMY16_INSN_MOVFGRGRIPOSTINC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 801 : /* fall through */ case 803 : /* fall through */ case 805 : /* fall through */ --- 1551,1561 ---- case 808 : /* fall through */ case 810 : /* fall through */ case 812 : /* fall through */ ! case 814 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x6400) ! { itype = XSTORMY16_INSN_MOVFGRGRIPOSTINC; xstormy16_extract_sfmt_movfgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 801 : /* fall through */ case 803 : /* fall through */ case 805 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1199,1205 **** case 809 : /* fall through */ case 811 : /* fall through */ case 813 : /* fall through */ ! case 815 : itype = XSTORMY16_INSN_MOVFGRGRIIPOSTINC; xstormy16_extract_sfmt_movfgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 816 : /* fall through */ case 818 : /* fall through */ case 820 : /* fall through */ --- 1563,1572 ---- case 809 : /* fall through */ case 811 : /* fall through */ case 813 : /* fall through */ ! case 815 : ! if ((entire_insn & 0xfe088000) == 0x64080000) ! { itype = XSTORMY16_INSN_MOVFGRGRIIPOSTINC; xstormy16_extract_sfmt_movfgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 816 : /* fall through */ case 818 : /* fall through */ case 820 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1207,1213 **** case 824 : /* fall through */ case 826 : /* fall through */ case 828 : /* fall through */ ! case 830 : itype = XSTORMY16_INSN_MOVFGRIPOSTINCGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 817 : /* fall through */ case 819 : /* fall through */ case 821 : /* fall through */ --- 1574,1584 ---- case 824 : /* fall through */ case 826 : /* fall through */ case 828 : /* fall through */ ! case 830 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x6600) ! { itype = XSTORMY16_INSN_MOVFGRIPOSTINCGR; xstormy16_extract_sfmt_movfgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 817 : /* fall through */ case 819 : /* fall through */ case 821 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1215,1221 **** case 825 : /* fall through */ case 827 : /* fall through */ case 829 : /* fall through */ ! case 831 : itype = XSTORMY16_INSN_MOVFGRIIPOSTINCGR; xstormy16_extract_sfmt_movfgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 832 : /* fall through */ case 834 : /* fall through */ case 836 : /* fall through */ --- 1586,1595 ---- case 825 : /* fall through */ case 827 : /* fall through */ case 829 : /* fall through */ ! case 831 : ! if ((entire_insn & 0xfe088000) == 0x66080000) ! { itype = XSTORMY16_INSN_MOVFGRIIPOSTINCGR; xstormy16_extract_sfmt_movfgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 832 : /* fall through */ case 834 : /* fall through */ case 836 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1223,1229 **** case 840 : /* fall through */ case 842 : /* fall through */ case 844 : /* fall through */ ! case 846 : itype = XSTORMY16_INSN_MOVGRGRIPREDEC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; case 833 : /* fall through */ case 835 : /* fall through */ case 837 : /* fall through */ --- 1597,1607 ---- case 840 : /* fall through */ case 842 : /* fall through */ case 844 : /* fall through */ ! case 846 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x6800) ! { itype = XSTORMY16_INSN_MOVGRGRIPREDEC; xstormy16_extract_sfmt_movgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 833 : /* fall through */ case 835 : /* fall through */ case 837 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1231,1237 **** case 841 : /* fall through */ case 843 : /* fall through */ case 845 : /* fall through */ ! case 847 : itype = XSTORMY16_INSN_MOVGRGRIIPREDEC; xstormy16_extract_sfmt_movgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done; case 848 : /* fall through */ case 850 : /* fall through */ case 852 : /* fall through */ --- 1609,1618 ---- case 841 : /* fall through */ case 843 : /* fall through */ case 845 : /* fall through */ ! case 847 : ! if ((entire_insn & 0xfe08f000) == 0x68080000) ! { itype = XSTORMY16_INSN_MOVGRGRIIPREDEC; xstormy16_extract_sfmt_movgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 848 : /* fall through */ case 850 : /* fall through */ case 852 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1239,1245 **** case 856 : /* fall through */ case 858 : /* fall through */ case 860 : /* fall through */ ! case 862 : itype = XSTORMY16_INSN_MOVGRIPREDECGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 849 : /* fall through */ case 851 : /* fall through */ case 853 : /* fall through */ --- 1620,1630 ---- case 856 : /* fall through */ case 858 : /* fall through */ case 860 : /* fall through */ ! case 862 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x6a00) ! { itype = XSTORMY16_INSN_MOVGRIPREDECGR; xstormy16_extract_sfmt_movgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 849 : /* fall through */ case 851 : /* fall through */ case 853 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1247,1253 **** case 857 : /* fall through */ case 859 : /* fall through */ case 861 : /* fall through */ ! case 863 : itype = XSTORMY16_INSN_MOVGRIIPREDECGR; xstormy16_extract_sfmt_movgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 864 : /* fall through */ case 866 : /* fall through */ case 868 : /* fall through */ --- 1632,1641 ---- case 857 : /* fall through */ case 859 : /* fall through */ case 861 : /* fall through */ ! case 863 : ! if ((entire_insn & 0xfe08f000) == 0x6a080000) ! { itype = XSTORMY16_INSN_MOVGRIIPREDECGR; xstormy16_extract_sfmt_movgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 864 : /* fall through */ case 866 : /* fall through */ case 868 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1255,1261 **** case 872 : /* fall through */ case 874 : /* fall through */ case 876 : /* fall through */ ! case 878 : itype = XSTORMY16_INSN_MOVFGRGRIPREDEC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; case 865 : /* fall through */ case 867 : /* fall through */ case 869 : /* fall through */ --- 1643,1653 ---- case 872 : /* fall through */ case 874 : /* fall through */ case 876 : /* fall through */ ! case 878 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x6c00) ! { itype = XSTORMY16_INSN_MOVFGRGRIPREDEC; xstormy16_extract_sfmt_movfgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 865 : /* fall through */ case 867 : /* fall through */ case 869 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1263,1269 **** case 873 : /* fall through */ case 875 : /* fall through */ case 877 : /* fall through */ ! case 879 : itype = XSTORMY16_INSN_MOVFGRGRIIPREDEC; xstormy16_extract_sfmt_movfgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done; case 880 : /* fall through */ case 882 : /* fall through */ case 884 : /* fall through */ --- 1655,1664 ---- case 873 : /* fall through */ case 875 : /* fall through */ case 877 : /* fall through */ ! case 879 : ! if ((entire_insn & 0xfe088000) == 0x6c080000) ! { itype = XSTORMY16_INSN_MOVFGRGRIIPREDEC; xstormy16_extract_sfmt_movfgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 880 : /* fall through */ case 882 : /* fall through */ case 884 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1271,1277 **** case 888 : /* fall through */ case 890 : /* fall through */ case 892 : /* fall through */ ! case 894 : itype = XSTORMY16_INSN_MOVFGRIPREDECGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 881 : /* fall through */ case 883 : /* fall through */ case 885 : /* fall through */ --- 1666,1676 ---- case 888 : /* fall through */ case 890 : /* fall through */ case 892 : /* fall through */ ! case 894 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x6e00) ! { itype = XSTORMY16_INSN_MOVFGRIPREDECGR; xstormy16_extract_sfmt_movfgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 881 : /* fall through */ case 883 : /* fall through */ case 885 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1279,1285 **** case 889 : /* fall through */ case 891 : /* fall through */ case 893 : /* fall through */ ! case 895 : itype = XSTORMY16_INSN_MOVFGRIIPREDECGR; xstormy16_extract_sfmt_movfgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 898 : /* fall through */ case 900 : /* fall through */ --- 1678,1687 ---- case 889 : /* fall through */ case 891 : /* fall through */ case 893 : /* fall through */ ! case 895 : ! if ((entire_insn & 0xfe088000) == 0x6e080000) ! { itype = XSTORMY16_INSN_MOVFGRIIPREDECGR; xstormy16_extract_sfmt_movfgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 896 : /* fall through */ case 898 : /* fall through */ case 900 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1287,1293 **** case 904 : /* fall through */ case 906 : /* fall through */ case 908 : /* fall through */ ! case 910 : itype = XSTORMY16_INSN_MOVGRGRI; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; case 897 : /* fall through */ case 899 : /* fall through */ case 901 : /* fall through */ --- 1689,1699 ---- case 904 : /* fall through */ case 906 : /* fall through */ case 908 : /* fall through */ ! case 910 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x7000) ! { itype = XSTORMY16_INSN_MOVGRGRI; xstormy16_extract_sfmt_movgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 897 : /* fall through */ case 899 : /* fall through */ case 901 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1295,1301 **** case 905 : /* fall through */ case 907 : /* fall through */ case 909 : /* fall through */ ! case 911 : itype = XSTORMY16_INSN_MOVGRGRII; xstormy16_extract_sfmt_movgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done; case 912 : /* fall through */ case 914 : /* fall through */ case 916 : /* fall through */ --- 1701,1710 ---- case 905 : /* fall through */ case 907 : /* fall through */ case 909 : /* fall through */ ! case 911 : ! if ((entire_insn & 0xfe08f000) == 0x70080000) ! { itype = XSTORMY16_INSN_MOVGRGRII; xstormy16_extract_sfmt_movgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 912 : /* fall through */ case 914 : /* fall through */ case 916 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1303,1309 **** case 920 : /* fall through */ case 922 : /* fall through */ case 924 : /* fall through */ ! case 926 : itype = XSTORMY16_INSN_MOVGRIGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 913 : /* fall through */ case 915 : /* fall through */ case 917 : /* fall through */ --- 1712,1722 ---- case 920 : /* fall through */ case 922 : /* fall through */ case 924 : /* fall through */ ! case 926 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x7200) ! { itype = XSTORMY16_INSN_MOVGRIGR; xstormy16_extract_sfmt_movgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 913 : /* fall through */ case 915 : /* fall through */ case 917 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1311,1317 **** case 921 : /* fall through */ case 923 : /* fall through */ case 925 : /* fall through */ ! case 927 : itype = XSTORMY16_INSN_MOVGRIIGR; xstormy16_extract_sfmt_movgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 928 : /* fall through */ case 930 : /* fall through */ case 932 : /* fall through */ --- 1724,1733 ---- case 921 : /* fall through */ case 923 : /* fall through */ case 925 : /* fall through */ ! case 927 : ! if ((entire_insn & 0xfe08f000) == 0x72080000) ! { itype = XSTORMY16_INSN_MOVGRIIGR; xstormy16_extract_sfmt_movgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 928 : /* fall through */ case 930 : /* fall through */ case 932 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1319,1325 **** case 936 : /* fall through */ case 938 : /* fall through */ case 940 : /* fall through */ ! case 942 : itype = XSTORMY16_INSN_MOVFGRGRI; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; case 929 : /* fall through */ case 931 : /* fall through */ case 933 : /* fall through */ --- 1735,1745 ---- case 936 : /* fall through */ case 938 : /* fall through */ case 940 : /* fall through */ ! case 942 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x7400) ! { itype = XSTORMY16_INSN_MOVFGRGRI; xstormy16_extract_sfmt_movfgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 929 : /* fall through */ case 931 : /* fall through */ case 933 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1327,1333 **** case 937 : /* fall through */ case 939 : /* fall through */ case 941 : /* fall through */ ! case 943 : itype = XSTORMY16_INSN_MOVFGRGRII; xstormy16_extract_sfmt_movfgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done; case 944 : /* fall through */ case 946 : /* fall through */ case 948 : /* fall through */ --- 1747,1756 ---- case 937 : /* fall through */ case 939 : /* fall through */ case 941 : /* fall through */ ! case 943 : ! if ((entire_insn & 0xfe088000) == 0x74080000) ! { itype = XSTORMY16_INSN_MOVFGRGRII; xstormy16_extract_sfmt_movfgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 944 : /* fall through */ case 946 : /* fall through */ case 948 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1335,1341 **** case 952 : /* fall through */ case 954 : /* fall through */ case 956 : /* fall through */ ! case 958 : itype = XSTORMY16_INSN_MOVFGRIGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 945 : /* fall through */ case 947 : /* fall through */ case 949 : /* fall through */ --- 1758,1768 ---- case 952 : /* fall through */ case 954 : /* fall through */ case 956 : /* fall through */ ! case 958 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xfe08) == 0x7600) ! { itype = XSTORMY16_INSN_MOVFGRIGR; xstormy16_extract_sfmt_movfgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 945 : /* fall through */ case 947 : /* fall through */ case 949 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1343,1349 **** case 953 : /* fall through */ case 955 : /* fall through */ case 957 : /* fall through */ ! case 959 : itype = XSTORMY16_INSN_MOVFGRIIGR; xstormy16_extract_sfmt_movfgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 960 : /* fall through */ case 961 : /* fall through */ case 962 : /* fall through */ --- 1770,1779 ---- case 953 : /* fall through */ case 955 : /* fall through */ case 957 : /* fall through */ ! case 959 : ! if ((entire_insn & 0xfe088000) == 0x76080000) ! { itype = XSTORMY16_INSN_MOVFGRIIGR; xstormy16_extract_sfmt_movfgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 960 : /* fall through */ case 961 : /* fall through */ case 962 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1359,1365 **** case 972 : /* fall through */ case 973 : /* fall through */ case 974 : /* fall through */ ! case 975 : itype = XSTORMY16_INSN_MOVLMEMIMM; xstormy16_extract_sfmt_movlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 976 : /* fall through */ case 977 : /* fall through */ case 978 : /* fall through */ --- 1789,1798 ---- case 972 : /* fall through */ case 973 : /* fall through */ case 974 : /* fall through */ ! case 975 : ! if ((entire_insn & 0xfe000000) == 0x78000000) ! { itype = XSTORMY16_INSN_MOVLMEMIMM; xstormy16_extract_sfmt_movlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 976 : /* fall through */ case 977 : /* fall through */ case 978 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1375,1381 **** case 988 : /* fall through */ case 989 : /* fall through */ case 990 : /* fall through */ ! case 991 : itype = XSTORMY16_INSN_MOVHMEMIMM; xstormy16_extract_sfmt_movhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 992 : /* fall through */ case 993 : /* fall through */ case 994 : /* fall through */ --- 1808,1817 ---- case 988 : /* fall through */ case 989 : /* fall through */ case 990 : /* fall through */ ! case 991 : ! if ((entire_insn & 0xfe000000) == 0x7a000000) ! { itype = XSTORMY16_INSN_MOVHMEMIMM; xstormy16_extract_sfmt_movhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 992 : /* fall through */ case 993 : /* fall through */ case 994 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1383,1389 **** case 996 : /* fall through */ case 997 : /* fall through */ case 998 : /* fall through */ ! case 999 : itype = XSTORMY16_INSN_BNLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1000 : /* fall through */ case 1001 : /* fall through */ case 1002 : /* fall through */ --- 1819,1828 ---- case 996 : /* fall through */ case 997 : /* fall through */ case 998 : /* fall through */ ! case 999 : ! if ((entire_insn & 0xff008000) == 0x7c000000) ! { itype = XSTORMY16_INSN_BNLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1000 : /* fall through */ case 1001 : /* fall through */ case 1002 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1391,1397 **** case 1004 : /* fall through */ case 1005 : /* fall through */ case 1006 : /* fall through */ ! case 1007 : itype = XSTORMY16_INSN_BPLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1008 : /* fall through */ case 1009 : /* fall through */ case 1010 : /* fall through */ --- 1830,1839 ---- case 1004 : /* fall through */ case 1005 : /* fall through */ case 1006 : /* fall through */ ! case 1007 : ! if ((entire_insn & 0xff008000) == 0x7d000000) ! { itype = XSTORMY16_INSN_BPLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1008 : /* fall through */ case 1009 : /* fall through */ case 1010 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1399,1405 **** case 1012 : /* fall through */ case 1013 : /* fall through */ case 1014 : /* fall through */ ! case 1015 : itype = XSTORMY16_INSN_BNHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1016 : /* fall through */ case 1017 : /* fall through */ case 1018 : /* fall through */ --- 1841,1850 ---- case 1012 : /* fall through */ case 1013 : /* fall through */ case 1014 : /* fall through */ ! case 1015 : ! if ((entire_insn & 0xff008000) == 0x7e000000) ! { itype = XSTORMY16_INSN_BNHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1016 : /* fall through */ case 1017 : /* fall through */ case 1018 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1407,1413 **** case 1020 : /* fall through */ case 1021 : /* fall through */ case 1022 : /* fall through */ ! case 1023 : itype = XSTORMY16_INSN_BPHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ --- 1852,1861 ---- case 1020 : /* fall through */ case 1021 : /* fall through */ case 1022 : /* fall through */ ! case 1023 : ! if ((entire_insn & 0xff008000) == 0x7f000000) ! { itype = XSTORMY16_INSN_BPHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1024 : /* fall through */ case 1025 : /* fall through */ case 1026 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1535,1541 **** case 1148 : /* fall through */ case 1149 : /* fall through */ case 1150 : /* fall through */ ! case 1151 : itype = XSTORMY16_INSN_MOVLGRMEM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1152 : /* fall through */ case 1153 : /* fall through */ case 1154 : /* fall through */ --- 1983,1993 ---- case 1148 : /* fall through */ case 1149 : /* fall through */ case 1150 : /* fall through */ ! case 1151 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf000) == 0x8000) ! { itype = XSTORMY16_INSN_MOVLGRMEM; xstormy16_extract_sfmt_movlgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1152 : /* fall through */ case 1153 : /* fall through */ case 1154 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1663,1669 **** case 1276 : /* fall through */ case 1277 : /* fall through */ case 1278 : /* fall through */ ! case 1279 : itype = XSTORMY16_INSN_MOVLMEMGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ --- 2115,2125 ---- case 1276 : /* fall through */ case 1277 : /* fall through */ case 1278 : /* fall through */ ! case 1279 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf000) == 0x9000) ! { itype = XSTORMY16_INSN_MOVLMEMGR; xstormy16_extract_sfmt_movlmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1280 : /* fall through */ case 1281 : /* fall through */ case 1282 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1791,1797 **** case 1404 : /* fall through */ case 1405 : /* fall through */ case 1406 : /* fall through */ ! case 1407 : itype = XSTORMY16_INSN_MOVHGRMEM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movhgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ --- 2247,2257 ---- case 1404 : /* fall through */ case 1405 : /* fall through */ case 1406 : /* fall through */ ! case 1407 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf000) == 0xa000) ! { itype = XSTORMY16_INSN_MOVHGRMEM; xstormy16_extract_sfmt_movhgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1408 : /* fall through */ case 1409 : /* fall through */ case 1410 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 1919,1925 **** case 1532 : /* fall through */ case 1533 : /* fall through */ case 1534 : /* fall through */ ! case 1535 : itype = XSTORMY16_INSN_MOVHMEMGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movhmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ --- 2379,2389 ---- case 1532 : /* fall through */ case 1533 : /* fall through */ case 1534 : /* fall through */ ! case 1535 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf000) == 0xb000) ! { itype = XSTORMY16_INSN_MOVHMEMGR; xstormy16_extract_sfmt_movhmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1536 : /* fall through */ case 1537 : /* fall through */ case 1538 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 2047,2053 **** case 1660 : /* fall through */ case 1661 : /* fall through */ case 1662 : /* fall through */ ! case 1663 : itype = XSTORMY16_INSN_BCCIMM16; xstormy16_extract_sfmt_bccimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1664 : /* fall through */ case 1665 : /* fall through */ case 1666 : /* fall through */ --- 2511,2520 ---- case 1660 : /* fall through */ case 1661 : /* fall through */ case 1662 : /* fall through */ ! case 1663 : ! if ((entire_insn & 0xf0000000) == 0xc0000000) ! { itype = XSTORMY16_INSN_BCCIMM16; xstormy16_extract_sfmt_bccimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1664 : /* fall through */ case 1665 : /* fall through */ case 1666 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 2175,2181 **** case 1788 : /* fall through */ case 1789 : /* fall through */ case 1790 : /* fall through */ ! case 1791 : itype = XSTORMY16_INSN_BCC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bcc (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ --- 2642,2652 ---- case 1788 : /* fall through */ case 1789 : /* fall through */ case 1790 : /* fall through */ ! case 1791 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf000) == 0xd000) ! { itype = XSTORMY16_INSN_BCC; xstormy16_extract_sfmt_bcc (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1792 : /* fall through */ case 1793 : /* fall through */ case 1794 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 2239,2245 **** case 1908 : /* fall through */ case 1909 : /* fall through */ case 1910 : /* fall through */ ! case 1911 : itype = XSTORMY16_INSN_CLR1LMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1800 : /* fall through */ case 1801 : /* fall through */ case 1802 : /* fall through */ --- 2710,2720 ---- case 1908 : /* fall through */ case 1909 : /* fall through */ case 1910 : /* fall through */ ! case 1911 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf100) == 0xe000) ! { itype = XSTORMY16_INSN_CLR1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1800 : /* fall through */ case 1801 : /* fall through */ case 1802 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 2303,2309 **** case 1916 : /* fall through */ case 1917 : /* fall through */ case 1918 : /* fall through */ ! case 1919 : itype = XSTORMY16_INSN_SET1LMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1921 : /* fall through */ case 1922 : /* fall through */ --- 2778,2788 ---- case 1916 : /* fall through */ case 1917 : /* fall through */ case 1918 : /* fall through */ ! case 1919 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf100) == 0xe100) ! { itype = XSTORMY16_INSN_SET1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1920 : /* fall through */ case 1921 : /* fall through */ case 1922 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 2367,2373 **** case 2036 : /* fall through */ case 2037 : /* fall through */ case 2038 : /* fall through */ ! case 2039 : itype = XSTORMY16_INSN_CLR1HMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1929 : /* fall through */ case 1930 : /* fall through */ --- 2846,2856 ---- case 2036 : /* fall through */ case 2037 : /* fall through */ case 2038 : /* fall through */ ! case 2039 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf100) == 0xf000) ! { itype = XSTORMY16_INSN_CLR1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; case 1928 : /* fall through */ case 1929 : /* fall through */ case 1930 : /* fall through */ *************** xstormy16_scache::decode (xstormy16_cpu* *** 2431,2438 **** case 2044 : /* fall through */ case 2045 : /* fall through */ case 2046 : /* fall through */ ! case 2047 : itype = XSTORMY16_INSN_SET1HMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } } --- 2914,2925 ---- case 2044 : /* fall through */ case 2045 : /* fall through */ case 2046 : /* fall through */ ! case 2047 : ! entire_insn = base_insn >> 16; ! if ((entire_insn & 0xf100) == 0xf100) ! { itype = XSTORMY16_INSN_SET1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; } ! itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; ! default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done; } }