1 /* Simulator instruction decoder for mepcore1.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2010 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
18 using namespace mep_ext1; // FIXME: namespace organization still wip
21 // The instruction descriptor array.
23 mepcore1_idesc mepcore1_idesc::idesc_table[MEPCORE1_INSN_RI_26 + 1] =
25 { mepcore1_sem_x_invalid, "X_INVALID", MEPCORE1_INSN_X_INVALID, { 0|(1<<CGEN_INSN_VIRTUAL), (1<<MACH_BASE), { 1, "\x40" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
26 { mepcore1_sem_stcb_r, "STCB_R", MEPCORE1_INSN_STCB_R, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
27 { mepcore1_sem_ldcb_r, "LDCB_R", MEPCORE1_INSN_LDCB_R, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 3, CONFIG_NONE, (1<<SLOTS_CORE) } },
28 { mepcore1_sem_pref, "PREF", MEPCORE1_INSN_PREF, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
29 { mepcore1_sem_prefd, "PREFD", MEPCORE1_INSN_PREFD, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
30 { mepcore1_sem_casb3, "CASB3", MEPCORE1_INSN_CASB3, { 0|(1<<CGEN_INSN_OPTIONAL_BIT_INSN)|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
31 { mepcore1_sem_cash3, "CASH3", MEPCORE1_INSN_CASH3, { 0|(1<<CGEN_INSN_OPTIONAL_BIT_INSN)|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
32 { mepcore1_sem_casw3, "CASW3", MEPCORE1_INSN_CASW3, { 0|(1<<CGEN_INSN_OPTIONAL_BIT_INSN)|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
33 { mepcore1_sem_sbcp, "SBCP", MEPCORE1_INSN_SBCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
34 { mepcore1_sem_lbcp, "LBCP", MEPCORE1_INSN_LBCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
35 { mepcore1_sem_lbucp, "LBUCP", MEPCORE1_INSN_LBUCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
36 { mepcore1_sem_shcp, "SHCP", MEPCORE1_INSN_SHCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
37 { mepcore1_sem_lhcp, "LHCP", MEPCORE1_INSN_LHCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
38 { mepcore1_sem_lhucp, "LHUCP", MEPCORE1_INSN_LHUCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
39 { mepcore1_sem_lbucpa, "LBUCPA", MEPCORE1_INSN_LBUCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
40 { mepcore1_sem_lhucpa, "LHUCPA", MEPCORE1_INSN_LHUCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
41 { mepcore1_sem_lbucpm0, "LBUCPM0", MEPCORE1_INSN_LBUCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
42 { mepcore1_sem_lhucpm0, "LHUCPM0", MEPCORE1_INSN_LHUCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
43 { mepcore1_sem_lbucpm1, "LBUCPM1", MEPCORE1_INSN_LBUCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
44 { mepcore1_sem_lhucpm1, "LHUCPM1", MEPCORE1_INSN_LHUCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
45 { mepcore1_sem_uci, "UCI", MEPCORE1_INSN_UCI, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
46 { mepcore1_sem_dsp, "DSP", MEPCORE1_INSN_DSP, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_C5), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
47 { mepcore1_sem_sb, "SB", MEPCORE1_INSN_SB, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
48 { mepcore1_sem_sh, "SH", MEPCORE1_INSN_SH, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
49 { mepcore1_sem_sw, "SW", MEPCORE1_INSN_SW, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
50 { mepcore1_sem_lb, "LB", MEPCORE1_INSN_LB, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
51 { mepcore1_sem_lh, "LH", MEPCORE1_INSN_LH, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
52 { mepcore1_sem_lw, "LW", MEPCORE1_INSN_LW, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
53 { mepcore1_sem_lbu, "LBU", MEPCORE1_INSN_LBU, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
54 { mepcore1_sem_lhu, "LHU", MEPCORE1_INSN_LHU, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
55 { mepcore1_sem_sw_sp, "SW_SP", MEPCORE1_INSN_SW_SP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
56 { mepcore1_sem_lw_sp, "LW_SP", MEPCORE1_INSN_LW_SP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
57 { mepcore1_sem_sb_tp, "SB_TP", MEPCORE1_INSN_SB_TP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
58 { mepcore1_sem_sh_tp, "SH_TP", MEPCORE1_INSN_SH_TP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
59 { mepcore1_sem_sw_tp, "SW_TP", MEPCORE1_INSN_SW_TP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
60 { mepcore1_sem_lb_tp, "LB_TP", MEPCORE1_INSN_LB_TP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
61 { mepcore1_sem_lh_tp, "LH_TP", MEPCORE1_INSN_LH_TP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
62 { mepcore1_sem_lw_tp, "LW_TP", MEPCORE1_INSN_LW_TP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
63 { mepcore1_sem_lbu_tp, "LBU_TP", MEPCORE1_INSN_LBU_TP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
64 { mepcore1_sem_lhu_tp, "LHU_TP", MEPCORE1_INSN_LHU_TP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
65 { mepcore1_sem_sb16, "SB16", MEPCORE1_INSN_SB16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
66 { mepcore1_sem_sh16, "SH16", MEPCORE1_INSN_SH16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
67 { mepcore1_sem_sw16, "SW16", MEPCORE1_INSN_SW16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
68 { mepcore1_sem_lb16, "LB16", MEPCORE1_INSN_LB16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
69 { mepcore1_sem_lh16, "LH16", MEPCORE1_INSN_LH16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
70 { mepcore1_sem_lw16, "LW16", MEPCORE1_INSN_LW16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
71 { mepcore1_sem_lbu16, "LBU16", MEPCORE1_INSN_LBU16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
72 { mepcore1_sem_lhu16, "LHU16", MEPCORE1_INSN_LHU16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
73 { mepcore1_sem_sw24, "SW24", MEPCORE1_INSN_SW24, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
74 { mepcore1_sem_lw24, "LW24", MEPCORE1_INSN_LW24, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
75 { mepcore1_sem_extb, "EXTB", MEPCORE1_INSN_EXTB, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
76 { mepcore1_sem_exth, "EXTH", MEPCORE1_INSN_EXTH, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
77 { mepcore1_sem_extub, "EXTUB", MEPCORE1_INSN_EXTUB, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
78 { mepcore1_sem_extuh, "EXTUH", MEPCORE1_INSN_EXTUH, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
79 { mepcore1_sem_ssarb, "SSARB", MEPCORE1_INSN_SSARB, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
80 { mepcore1_sem_mov, "MOV", MEPCORE1_INSN_MOV, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
81 { mepcore1_sem_movi8, "MOVI8", MEPCORE1_INSN_MOVI8, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
82 { mepcore1_sem_movi16, "MOVI16", MEPCORE1_INSN_MOVI16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
83 { mepcore1_sem_movu24, "MOVU24", MEPCORE1_INSN_MOVU24, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
84 { mepcore1_sem_movu16, "MOVU16", MEPCORE1_INSN_MOVU16, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
85 { mepcore1_sem_movh, "MOVH", MEPCORE1_INSN_MOVH, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
86 { mepcore1_sem_add3, "ADD3", MEPCORE1_INSN_ADD3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
87 { mepcore1_sem_add, "ADD", MEPCORE1_INSN_ADD, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
88 { mepcore1_sem_add3i, "ADD3I", MEPCORE1_INSN_ADD3I, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
89 { mepcore1_sem_advck3, "ADVCK3", MEPCORE1_INSN_ADVCK3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
90 { mepcore1_sem_sub, "SUB", MEPCORE1_INSN_SUB, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
91 { mepcore1_sem_sbvck3, "SBVCK3", MEPCORE1_INSN_SBVCK3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
92 { mepcore1_sem_neg, "NEG", MEPCORE1_INSN_NEG, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
93 { mepcore1_sem_slt3, "SLT3", MEPCORE1_INSN_SLT3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
94 { mepcore1_sem_sltu3, "SLTU3", MEPCORE1_INSN_SLTU3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
95 { mepcore1_sem_slt3i, "SLT3I", MEPCORE1_INSN_SLT3I, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
96 { mepcore1_sem_sltu3i, "SLTU3I", MEPCORE1_INSN_SLTU3I, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
97 { mepcore1_sem_sl1ad3, "SL1AD3", MEPCORE1_INSN_SL1AD3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
98 { mepcore1_sem_sl2ad3, "SL2AD3", MEPCORE1_INSN_SL2AD3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
99 { mepcore1_sem_add3x, "ADD3X", MEPCORE1_INSN_ADD3X, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
100 { mepcore1_sem_slt3x, "SLT3X", MEPCORE1_INSN_SLT3X, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
101 { mepcore1_sem_sltu3x, "SLTU3X", MEPCORE1_INSN_SLTU3X, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
102 { mepcore1_sem_or, "OR", MEPCORE1_INSN_OR, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
103 { mepcore1_sem_and, "AND", MEPCORE1_INSN_AND, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
104 { mepcore1_sem_xor, "XOR", MEPCORE1_INSN_XOR, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
105 { mepcore1_sem_nor, "NOR", MEPCORE1_INSN_NOR, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
106 { mepcore1_sem_or3, "OR3", MEPCORE1_INSN_OR3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
107 { mepcore1_sem_and3, "AND3", MEPCORE1_INSN_AND3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
108 { mepcore1_sem_xor3, "XOR3", MEPCORE1_INSN_XOR3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
109 { mepcore1_sem_sra, "SRA", MEPCORE1_INSN_SRA, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
110 { mepcore1_sem_srl, "SRL", MEPCORE1_INSN_SRL, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
111 { mepcore1_sem_sll, "SLL", MEPCORE1_INSN_SLL, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
112 { mepcore1_sem_srai, "SRAI", MEPCORE1_INSN_SRAI, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
113 { mepcore1_sem_srli, "SRLI", MEPCORE1_INSN_SRLI, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
114 { mepcore1_sem_slli, "SLLI", MEPCORE1_INSN_SLLI, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
115 { mepcore1_sem_sll3, "SLL3", MEPCORE1_INSN_SLL3, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
116 { mepcore1_sem_fsft, "FSFT", MEPCORE1_INSN_FSFT, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
117 { mepcore1_sem_bra, "BRA", MEPCORE1_INSN_BRA, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
118 { mepcore1_sem_beqz, "BEQZ", MEPCORE1_INSN_BEQZ, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
119 { mepcore1_sem_bnez, "BNEZ", MEPCORE1_INSN_BNEZ, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
120 { mepcore1_sem_beqi, "BEQI", MEPCORE1_INSN_BEQI, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
121 { mepcore1_sem_bnei, "BNEI", MEPCORE1_INSN_BNEI, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
122 { mepcore1_sem_blti, "BLTI", MEPCORE1_INSN_BLTI, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
123 { mepcore1_sem_bgei, "BGEI", MEPCORE1_INSN_BGEI, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
124 { mepcore1_sem_beq, "BEQ", MEPCORE1_INSN_BEQ, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
125 { mepcore1_sem_bne, "BNE", MEPCORE1_INSN_BNE, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
126 { mepcore1_sem_bsr12, "BSR12", MEPCORE1_INSN_BSR12, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
127 { mepcore1_sem_bsr24, "BSR24", MEPCORE1_INSN_BSR24, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
128 { mepcore1_sem_jmp, "JMP", MEPCORE1_INSN_JMP, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
129 { mepcore1_sem_jmp24, "JMP24", MEPCORE1_INSN_JMP24, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
130 { mepcore1_sem_jsr, "JSR", MEPCORE1_INSN_JSR, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
131 { mepcore1_sem_ret, "RET", MEPCORE1_INSN_RET, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
132 { mepcore1_sem_repeat, "REPEAT", MEPCORE1_INSN_REPEAT, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
133 { mepcore1_sem_erepeat, "EREPEAT", MEPCORE1_INSN_EREPEAT, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
134 { mepcore1_sem_stc_lp, "STC_LP", MEPCORE1_INSN_STC_LP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
135 { mepcore1_sem_stc_hi, "STC_HI", MEPCORE1_INSN_STC_HI, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
136 { mepcore1_sem_stc_lo, "STC_LO", MEPCORE1_INSN_STC_LO, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
137 { mepcore1_sem_stc, "STC", MEPCORE1_INSN_STC, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
138 { mepcore1_sem_ldc_lp, "LDC_LP", MEPCORE1_INSN_LDC_LP, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
139 { mepcore1_sem_ldc_hi, "LDC_HI", MEPCORE1_INSN_LDC_HI, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
140 { mepcore1_sem_ldc_lo, "LDC_LO", MEPCORE1_INSN_LDC_LO, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
141 { mepcore1_sem_ldc, "LDC", MEPCORE1_INSN_LDC, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 2, CONFIG_NONE, (1<<SLOTS_CORE) } },
142 { mepcore1_sem_di, "DI", MEPCORE1_INSN_DI, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
143 { mepcore1_sem_ei, "EI", MEPCORE1_INSN_EI, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
144 { mepcore1_sem_reti, "RETI", MEPCORE1_INSN_RETI, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
145 { mepcore1_sem_halt, "HALT", MEPCORE1_INSN_HALT, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
146 { mepcore1_sem_sleep, "SLEEP", MEPCORE1_INSN_SLEEP, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
147 { mepcore1_sem_swi, "SWI", MEPCORE1_INSN_SWI, { 0|(1<<CGEN_INSN_VOLATILE)|(1<<CGEN_INSN_MAY_TRAP), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
148 { mepcore1_sem_break, "BREAK", MEPCORE1_INSN_BREAK, { 0|(1<<CGEN_INSN_VOLATILE)|(1<<CGEN_INSN_MAY_TRAP)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
149 { mepcore1_sem_syncm, "SYNCM", MEPCORE1_INSN_SYNCM, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
150 { mepcore1_sem_stcb, "STCB", MEPCORE1_INSN_STCB, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
151 { mepcore1_sem_ldcb, "LDCB", MEPCORE1_INSN_LDCB, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 3, CONFIG_NONE, (1<<SLOTS_CORE) } },
152 { mepcore1_sem_bsetm, "BSETM", MEPCORE1_INSN_BSETM, { 0|(1<<CGEN_INSN_OPTIONAL_BIT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
153 { mepcore1_sem_bclrm, "BCLRM", MEPCORE1_INSN_BCLRM, { 0|(1<<CGEN_INSN_OPTIONAL_BIT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
154 { mepcore1_sem_bnotm, "BNOTM", MEPCORE1_INSN_BNOTM, { 0|(1<<CGEN_INSN_OPTIONAL_BIT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
155 { mepcore1_sem_btstm, "BTSTM", MEPCORE1_INSN_BTSTM, { 0|(1<<CGEN_INSN_OPTIONAL_BIT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
156 { mepcore1_sem_tas, "TAS", MEPCORE1_INSN_TAS, { 0|(1<<CGEN_INSN_OPTIONAL_BIT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
157 { mepcore1_sem_cache, "CACHE", MEPCORE1_INSN_CACHE, { 0|(1<<CGEN_INSN_VOLATILE), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
158 { mepcore1_sem_mul, "MUL", MEPCORE1_INSN_MUL, { 0|(1<<CGEN_INSN_OPTIONAL_MUL_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
159 { mepcore1_sem_mulu, "MULU", MEPCORE1_INSN_MULU, { 0|(1<<CGEN_INSN_OPTIONAL_MUL_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
160 { mepcore1_sem_mulr, "MULR", MEPCORE1_INSN_MULR, { 0|(1<<CGEN_INSN_OPTIONAL_MUL_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 3, CONFIG_NONE, (1<<SLOTS_CORE) } },
161 { mepcore1_sem_mulru, "MULRU", MEPCORE1_INSN_MULRU, { 0|(1<<CGEN_INSN_OPTIONAL_MUL_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 3, CONFIG_NONE, (1<<SLOTS_CORE) } },
162 { mepcore1_sem_madd, "MADD", MEPCORE1_INSN_MADD, { 0|(1<<CGEN_INSN_OPTIONAL_MUL_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
163 { mepcore1_sem_maddu, "MADDU", MEPCORE1_INSN_MADDU, { 0|(1<<CGEN_INSN_OPTIONAL_MUL_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
164 { mepcore1_sem_maddr, "MADDR", MEPCORE1_INSN_MADDR, { 0|(1<<CGEN_INSN_OPTIONAL_MUL_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 3, CONFIG_NONE, (1<<SLOTS_CORE) } },
165 { mepcore1_sem_maddru, "MADDRU", MEPCORE1_INSN_MADDRU, { 0|(1<<CGEN_INSN_OPTIONAL_MUL_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 3, CONFIG_NONE, (1<<SLOTS_CORE) } },
166 { mepcore1_sem_div, "DIV", MEPCORE1_INSN_DIV, { 0|(1<<CGEN_INSN_MAY_TRAP)|(1<<CGEN_INSN_OPTIONAL_DIV_INSN)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 34, CONFIG_NONE, (1<<SLOTS_CORE) } },
167 { mepcore1_sem_divu, "DIVU", MEPCORE1_INSN_DIVU, { 0|(1<<CGEN_INSN_MAY_TRAP)|(1<<CGEN_INSN_OPTIONAL_DIV_INSN)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 34, CONFIG_NONE, (1<<SLOTS_CORE) } },
168 { mepcore1_sem_dret, "DRET", MEPCORE1_INSN_DRET, { 0|(1<<CGEN_INSN_OPTIONAL_DEBUG_INSN)|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
169 { mepcore1_sem_dbreak, "DBREAK", MEPCORE1_INSN_DBREAK, { 0|(1<<CGEN_INSN_VOLATILE)|(1<<CGEN_INSN_MAY_TRAP)|(1<<CGEN_INSN_OPTIONAL_DEBUG_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
170 { mepcore1_sem_ldz, "LDZ", MEPCORE1_INSN_LDZ, { 0|(1<<CGEN_INSN_OPTIONAL_LDZ_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
171 { mepcore1_sem_abs, "ABS", MEPCORE1_INSN_ABS, { 0|(1<<CGEN_INSN_OPTIONAL_ABS_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
172 { mepcore1_sem_ave, "AVE", MEPCORE1_INSN_AVE, { 0|(1<<CGEN_INSN_OPTIONAL_AVE_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
173 { mepcore1_sem_min, "MIN", MEPCORE1_INSN_MIN, { 0|(1<<CGEN_INSN_OPTIONAL_MINMAX_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
174 { mepcore1_sem_max, "MAX", MEPCORE1_INSN_MAX, { 0|(1<<CGEN_INSN_OPTIONAL_MINMAX_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
175 { mepcore1_sem_minu, "MINU", MEPCORE1_INSN_MINU, { 0|(1<<CGEN_INSN_OPTIONAL_MINMAX_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
176 { mepcore1_sem_maxu, "MAXU", MEPCORE1_INSN_MAXU, { 0|(1<<CGEN_INSN_OPTIONAL_MINMAX_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
177 { mepcore1_sem_clip, "CLIP", MEPCORE1_INSN_CLIP, { 0|(1<<CGEN_INSN_OPTIONAL_CLIP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
178 { mepcore1_sem_clipu, "CLIPU", MEPCORE1_INSN_CLIPU, { 0|(1<<CGEN_INSN_OPTIONAL_CLIP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
179 { mepcore1_sem_sadd, "SADD", MEPCORE1_INSN_SADD, { 0|(1<<CGEN_INSN_OPTIONAL_SAT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
180 { mepcore1_sem_ssub, "SSUB", MEPCORE1_INSN_SSUB, { 0|(1<<CGEN_INSN_OPTIONAL_SAT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
181 { mepcore1_sem_saddu, "SADDU", MEPCORE1_INSN_SADDU, { 0|(1<<CGEN_INSN_OPTIONAL_SAT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
182 { mepcore1_sem_ssubu, "SSUBU", MEPCORE1_INSN_SSUBU, { 0|(1<<CGEN_INSN_OPTIONAL_SAT_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
183 { mepcore1_sem_swcp, "SWCP", MEPCORE1_INSN_SWCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
184 { mepcore1_sem_lwcp, "LWCP", MEPCORE1_INSN_LWCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
185 { mepcore1_sem_smcp, "SMCP", MEPCORE1_INSN_SMCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
186 { mepcore1_sem_lmcp, "LMCP", MEPCORE1_INSN_LMCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
187 { mepcore1_sem_swcpi, "SWCPI", MEPCORE1_INSN_SWCPI, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
188 { mepcore1_sem_lwcpi, "LWCPI", MEPCORE1_INSN_LWCPI, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
189 { mepcore1_sem_smcpi, "SMCPI", MEPCORE1_INSN_SMCPI, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
190 { mepcore1_sem_lmcpi, "LMCPI", MEPCORE1_INSN_LMCPI, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
191 { mepcore1_sem_swcp16, "SWCP16", MEPCORE1_INSN_SWCP16, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
192 { mepcore1_sem_lwcp16, "LWCP16", MEPCORE1_INSN_LWCP16, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
193 { mepcore1_sem_smcp16, "SMCP16", MEPCORE1_INSN_SMCP16, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
194 { mepcore1_sem_lmcp16, "LMCP16", MEPCORE1_INSN_LMCP16, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
195 { mepcore1_sem_sbcpa, "SBCPA", MEPCORE1_INSN_SBCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
196 { mepcore1_sem_lbcpa, "LBCPA", MEPCORE1_INSN_LBCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
197 { mepcore1_sem_shcpa, "SHCPA", MEPCORE1_INSN_SHCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
198 { mepcore1_sem_lhcpa, "LHCPA", MEPCORE1_INSN_LHCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
199 { mepcore1_sem_swcpa, "SWCPA", MEPCORE1_INSN_SWCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
200 { mepcore1_sem_lwcpa, "LWCPA", MEPCORE1_INSN_LWCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
201 { mepcore1_sem_smcpa, "SMCPA", MEPCORE1_INSN_SMCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
202 { mepcore1_sem_lmcpa, "LMCPA", MEPCORE1_INSN_LMCPA, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
203 { mepcore1_sem_sbcpm0, "SBCPM0", MEPCORE1_INSN_SBCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
204 { mepcore1_sem_lbcpm0, "LBCPM0", MEPCORE1_INSN_LBCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
205 { mepcore1_sem_shcpm0, "SHCPM0", MEPCORE1_INSN_SHCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
206 { mepcore1_sem_lhcpm0, "LHCPM0", MEPCORE1_INSN_LHCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
207 { mepcore1_sem_swcpm0, "SWCPM0", MEPCORE1_INSN_SWCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
208 { mepcore1_sem_lwcpm0, "LWCPM0", MEPCORE1_INSN_LWCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
209 { mepcore1_sem_smcpm0, "SMCPM0", MEPCORE1_INSN_SMCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
210 { mepcore1_sem_lmcpm0, "LMCPM0", MEPCORE1_INSN_LMCPM0, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
211 { mepcore1_sem_sbcpm1, "SBCPM1", MEPCORE1_INSN_SBCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
212 { mepcore1_sem_lbcpm1, "LBCPM1", MEPCORE1_INSN_LBCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
213 { mepcore1_sem_shcpm1, "SHCPM1", MEPCORE1_INSN_SHCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
214 { mepcore1_sem_lhcpm1, "LHCPM1", MEPCORE1_INSN_LHCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
215 { mepcore1_sem_swcpm1, "SWCPM1", MEPCORE1_INSN_SWCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
216 { mepcore1_sem_lwcpm1, "LWCPM1", MEPCORE1_INSN_LWCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
217 { mepcore1_sem_smcpm1, "SMCPM1", MEPCORE1_INSN_SMCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
218 { mepcore1_sem_lmcpm1, "LMCPM1", MEPCORE1_INSN_LMCPM1, { 0|(1<<CGEN_INSN_OPTIONAL_CP64_INSN)|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
219 { mepcore1_sem_bcpeq, "BCPEQ", MEPCORE1_INSN_BCPEQ, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_OPTIONAL_CP_INSN)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
220 { mepcore1_sem_bcpne, "BCPNE", MEPCORE1_INSN_BCPNE, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_OPTIONAL_CP_INSN)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
221 { mepcore1_sem_bcpat, "BCPAT", MEPCORE1_INSN_BCPAT, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_OPTIONAL_CP_INSN)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
222 { mepcore1_sem_bcpaf, "BCPAF", MEPCORE1_INSN_BCPAF, { 0|(1<<CGEN_INSN_RELAXABLE)|(1<<CGEN_INSN_OPTIONAL_CP_INSN)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
223 { mepcore1_sem_synccp, "SYNCCP", MEPCORE1_INSN_SYNCCP, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
224 { mepcore1_sem_jsrv, "JSRV", MEPCORE1_INSN_JSRV, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
225 { mepcore1_sem_bsrv, "BSRV", MEPCORE1_INSN_BSRV, { 0|(1<<CGEN_INSN_OPTIONAL_CP_INSN)|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
226 { mepcore1_sem_sim_syscall, "SIM_SYSCALL", MEPCORE1_INSN_SIM_SYSCALL, { 0, (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
227 { mepcore1_sem_ri_0, "RI_0", MEPCORE1_INSN_RI_0, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
228 { mepcore1_sem_ri_1, "RI_1", MEPCORE1_INSN_RI_1, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
229 { mepcore1_sem_ri_2, "RI_2", MEPCORE1_INSN_RI_2, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
230 { mepcore1_sem_ri_3, "RI_3", MEPCORE1_INSN_RI_3, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
231 { mepcore1_sem_ri_4, "RI_4", MEPCORE1_INSN_RI_4, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
232 { mepcore1_sem_ri_5, "RI_5", MEPCORE1_INSN_RI_5, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
233 { mepcore1_sem_ri_6, "RI_6", MEPCORE1_INSN_RI_6, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
234 { mepcore1_sem_ri_7, "RI_7", MEPCORE1_INSN_RI_7, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
235 { mepcore1_sem_ri_8, "RI_8", MEPCORE1_INSN_RI_8, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
236 { mepcore1_sem_ri_9, "RI_9", MEPCORE1_INSN_RI_9, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
237 { mepcore1_sem_ri_10, "RI_10", MEPCORE1_INSN_RI_10, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
238 { mepcore1_sem_ri_11, "RI_11", MEPCORE1_INSN_RI_11, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
239 { mepcore1_sem_ri_12, "RI_12", MEPCORE1_INSN_RI_12, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
240 { mepcore1_sem_ri_13, "RI_13", MEPCORE1_INSN_RI_13, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
241 { mepcore1_sem_ri_14, "RI_14", MEPCORE1_INSN_RI_14, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
242 { mepcore1_sem_ri_15, "RI_15", MEPCORE1_INSN_RI_15, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
243 { mepcore1_sem_ri_17, "RI_17", MEPCORE1_INSN_RI_17, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
244 { mepcore1_sem_ri_20, "RI_20", MEPCORE1_INSN_RI_20, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
245 { mepcore1_sem_ri_21, "RI_21", MEPCORE1_INSN_RI_21, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
246 { mepcore1_sem_ri_22, "RI_22", MEPCORE1_INSN_RI_22, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
247 { mepcore1_sem_ri_23, "RI_23", MEPCORE1_INSN_RI_23, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
248 { mepcore1_sem_ri_26, "RI_26", MEPCORE1_INSN_RI_26, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\xc0" }, CPTYPE_CP_DATA_BUS_INT, CRET_VOID, 0, CONFIG_NONE, (1<<SLOTS_CORE) } },
252 // Given a canonical virtual insn id, return the target specific one.
255 mepcore1_idesc::lookup_virtual (virtual_insn_type vit)
259 case VIRTUAL_INSN_INVALID: return MEPCORE1_INSN_X_INVALID;
260 case VIRTUAL_INSN_COND: return MEPCORE1_INSN_X_INVALID;
266 // Declare extractor functions
269 mepcore1_extract_sfmt_empty (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
271 mepcore1_extract_sfmt_stcb_r (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
273 mepcore1_extract_sfmt_ldcb_r (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
275 mepcore1_extract_sfmt_pref (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
277 mepcore1_extract_sfmt_prefd (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
279 mepcore1_extract_sfmt_casb3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
281 mepcore1_extract_sfmt_sbcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
283 mepcore1_extract_sfmt_lbcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
285 mepcore1_extract_sfmt_shcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
287 mepcore1_extract_sfmt_lhcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
289 mepcore1_extract_sfmt_lbucpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
291 mepcore1_extract_sfmt_lhucpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
293 mepcore1_extract_sfmt_lbucpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
295 mepcore1_extract_sfmt_lhucpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
297 mepcore1_extract_sfmt_lbucpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
299 mepcore1_extract_sfmt_lhucpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
301 mepcore1_extract_sfmt_uci (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
303 mepcore1_extract_sfmt_dsp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
305 mepcore1_extract_sfmt_sb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
307 mepcore1_extract_sfmt_sh (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
309 mepcore1_extract_sfmt_sw (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
311 mepcore1_extract_sfmt_lb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
313 mepcore1_extract_sfmt_lh (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
315 mepcore1_extract_sfmt_lw (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
317 mepcore1_extract_sfmt_lbu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
319 mepcore1_extract_sfmt_lhu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
321 mepcore1_extract_sfmt_sw_sp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
323 mepcore1_extract_sfmt_lw_sp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
325 mepcore1_extract_sfmt_sb_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
327 mepcore1_extract_sfmt_sh_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
329 mepcore1_extract_sfmt_sw_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
331 mepcore1_extract_sfmt_lb_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
333 mepcore1_extract_sfmt_lh_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
335 mepcore1_extract_sfmt_lw_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
337 mepcore1_extract_sfmt_lbu_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
339 mepcore1_extract_sfmt_lhu_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
341 mepcore1_extract_sfmt_sb16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
343 mepcore1_extract_sfmt_sh16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
345 mepcore1_extract_sfmt_sw16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
347 mepcore1_extract_sfmt_lb16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
349 mepcore1_extract_sfmt_lh16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
351 mepcore1_extract_sfmt_lw16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
353 mepcore1_extract_sfmt_lbu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
355 mepcore1_extract_sfmt_lhu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
357 mepcore1_extract_sfmt_sw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
359 mepcore1_extract_sfmt_lw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
361 mepcore1_extract_sfmt_extb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
363 mepcore1_extract_sfmt_ssarb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
365 mepcore1_extract_sfmt_mov (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
367 mepcore1_extract_sfmt_movi8 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
369 mepcore1_extract_sfmt_movi16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
371 mepcore1_extract_sfmt_movu24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
373 mepcore1_extract_sfmt_movu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
375 mepcore1_extract_sfmt_add3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
377 mepcore1_extract_sfmt_add (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
379 mepcore1_extract_sfmt_add3i (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
381 mepcore1_extract_sfmt_advck3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
383 mepcore1_extract_sfmt_sub (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
385 mepcore1_extract_sfmt_slt3i (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
387 mepcore1_extract_sfmt_sl1ad3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
389 mepcore1_extract_sfmt_add3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
391 mepcore1_extract_sfmt_slt3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
393 mepcore1_extract_sfmt_sltu3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
395 mepcore1_extract_sfmt_or3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
397 mepcore1_extract_sfmt_srai (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
399 mepcore1_extract_sfmt_sll3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
401 mepcore1_extract_sfmt_fsft (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
403 mepcore1_extract_sfmt_bra (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
405 mepcore1_extract_sfmt_beqz (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
407 mepcore1_extract_sfmt_beqi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
409 mepcore1_extract_sfmt_beq (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
411 mepcore1_extract_sfmt_bsr12 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
413 mepcore1_extract_sfmt_bsr24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
415 mepcore1_extract_sfmt_jmp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
417 mepcore1_extract_sfmt_jmp24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
419 mepcore1_extract_sfmt_jsr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
421 mepcore1_extract_sfmt_ret (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
423 mepcore1_extract_sfmt_repeat (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
425 mepcore1_extract_sfmt_erepeat (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
427 mepcore1_extract_sfmt_stc_lp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
429 mepcore1_extract_sfmt_stc_hi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
431 mepcore1_extract_sfmt_stc_lo (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
433 mepcore1_extract_sfmt_stc (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
435 mepcore1_extract_sfmt_ldc_lp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
437 mepcore1_extract_sfmt_ldc_hi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
439 mepcore1_extract_sfmt_ldc_lo (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
441 mepcore1_extract_sfmt_ldc (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
443 mepcore1_extract_sfmt_di (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
445 mepcore1_extract_sfmt_reti (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
447 mepcore1_extract_sfmt_halt (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
449 mepcore1_extract_sfmt_sleep (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
451 mepcore1_extract_sfmt_swi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
453 mepcore1_extract_sfmt_break (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
455 mepcore1_extract_sfmt_stcb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
457 mepcore1_extract_sfmt_bsetm (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
459 mepcore1_extract_sfmt_btstm (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
461 mepcore1_extract_sfmt_tas (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
463 mepcore1_extract_sfmt_mul (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
465 mepcore1_extract_sfmt_mulr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
467 mepcore1_extract_sfmt_madd (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
469 mepcore1_extract_sfmt_maddr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
471 mepcore1_extract_sfmt_div (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
473 mepcore1_extract_sfmt_dret (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
475 mepcore1_extract_sfmt_dbreak (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
477 mepcore1_extract_sfmt_ldz (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
479 mepcore1_extract_sfmt_abs (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
481 mepcore1_extract_sfmt_min (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
483 mepcore1_extract_sfmt_clip (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
485 mepcore1_extract_sfmt_swcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
487 mepcore1_extract_sfmt_lwcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
489 mepcore1_extract_sfmt_smcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
491 mepcore1_extract_sfmt_lmcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
493 mepcore1_extract_sfmt_swcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
495 mepcore1_extract_sfmt_lwcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
497 mepcore1_extract_sfmt_smcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
499 mepcore1_extract_sfmt_lmcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
501 mepcore1_extract_sfmt_swcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
503 mepcore1_extract_sfmt_lwcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
505 mepcore1_extract_sfmt_smcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
507 mepcore1_extract_sfmt_lmcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
509 mepcore1_extract_sfmt_sbcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
511 mepcore1_extract_sfmt_shcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
513 mepcore1_extract_sfmt_swcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
515 mepcore1_extract_sfmt_lwcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
517 mepcore1_extract_sfmt_smcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
519 mepcore1_extract_sfmt_lmcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
521 mepcore1_extract_sfmt_sbcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
523 mepcore1_extract_sfmt_shcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
525 mepcore1_extract_sfmt_swcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
527 mepcore1_extract_sfmt_lwcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
529 mepcore1_extract_sfmt_smcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
531 mepcore1_extract_sfmt_lmcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
533 mepcore1_extract_sfmt_sbcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
535 mepcore1_extract_sfmt_shcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
537 mepcore1_extract_sfmt_swcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
539 mepcore1_extract_sfmt_lwcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
541 mepcore1_extract_sfmt_smcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
543 mepcore1_extract_sfmt_lmcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
545 mepcore1_extract_sfmt_bcpeq (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
547 mepcore1_extract_sfmt_synccp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
549 mepcore1_extract_sfmt_sim_syscall (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
551 // Fetch & decode instruction
553 mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn)
555 /* Result of decoder. */
556 MEPCORE1_INSN_TYPE itype;
559 mepcore1_insn_word insn = base_insn;
562 unsigned int val = (((insn >> 24) & (15 << 4)) | ((insn >> 16) & (15 << 0)));
566 entire_insn = entire_insn >> 16;
567 itype = MEPCORE1_INSN_MOV; mepcore1_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done;
569 entire_insn = entire_insn >> 16;
570 itype = MEPCORE1_INSN_NEG; mepcore1_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done;
572 entire_insn = entire_insn >> 16;
573 itype = MEPCORE1_INSN_SLT3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
575 entire_insn = entire_insn >> 16;
576 itype = MEPCORE1_INSN_SLTU3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
578 entire_insn = entire_insn >> 16;
579 itype = MEPCORE1_INSN_SUB; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
581 entire_insn = entire_insn >> 16;
582 itype = MEPCORE1_INSN_SBVCK3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
584 entire_insn = entire_insn >> 16;
585 itype = MEPCORE1_INSN_RI_0; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
587 entire_insn = entire_insn >> 16;
588 itype = MEPCORE1_INSN_ADVCK3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
590 entire_insn = entire_insn >> 16;
591 itype = MEPCORE1_INSN_SB; mepcore1_extract_sfmt_sb (this, current_cpu, pc, base_insn, entire_insn); goto done;
593 entire_insn = entire_insn >> 16;
594 itype = MEPCORE1_INSN_SH; mepcore1_extract_sfmt_sh (this, current_cpu, pc, base_insn, entire_insn); goto done;
596 entire_insn = entire_insn >> 16;
597 itype = MEPCORE1_INSN_SW; mepcore1_extract_sfmt_sw (this, current_cpu, pc, base_insn, entire_insn); goto done;
599 entire_insn = entire_insn >> 16;
600 itype = MEPCORE1_INSN_LBU; mepcore1_extract_sfmt_lbu (this, current_cpu, pc, base_insn, entire_insn); goto done;
602 entire_insn = entire_insn >> 16;
603 itype = MEPCORE1_INSN_LB; mepcore1_extract_sfmt_lb (this, current_cpu, pc, base_insn, entire_insn); goto done;
605 entire_insn = entire_insn >> 16;
606 itype = MEPCORE1_INSN_LH; mepcore1_extract_sfmt_lh (this, current_cpu, pc, base_insn, entire_insn); goto done;
608 entire_insn = entire_insn >> 16;
609 itype = MEPCORE1_INSN_LW; mepcore1_extract_sfmt_lw (this, current_cpu, pc, base_insn, entire_insn); goto done;
611 entire_insn = entire_insn >> 16;
612 itype = MEPCORE1_INSN_LHU; mepcore1_extract_sfmt_lhu (this, current_cpu, pc, base_insn, entire_insn); goto done;
614 entire_insn = entire_insn >> 16;
615 itype = MEPCORE1_INSN_OR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
617 entire_insn = entire_insn >> 16;
618 itype = MEPCORE1_INSN_AND; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
620 entire_insn = entire_insn >> 16;
621 itype = MEPCORE1_INSN_XOR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
623 entire_insn = entire_insn >> 16;
624 itype = MEPCORE1_INSN_NOR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
626 entire_insn = entire_insn >> 16;
627 itype = MEPCORE1_INSN_MUL; mepcore1_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done;
629 entire_insn = entire_insn >> 16;
630 itype = MEPCORE1_INSN_MULU; mepcore1_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done;
632 entire_insn = entire_insn >> 16;
633 itype = MEPCORE1_INSN_MULR; mepcore1_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done;
635 entire_insn = entire_insn >> 16;
636 itype = MEPCORE1_INSN_MULRU; mepcore1_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done;
638 entire_insn = entire_insn >> 16;
639 itype = MEPCORE1_INSN_DIV; mepcore1_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done;
641 entire_insn = entire_insn >> 16;
642 itype = MEPCORE1_INSN_DIVU; mepcore1_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done;
644 entire_insn = entire_insn >> 16;
645 itype = MEPCORE1_INSN_RI_1; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
647 entire_insn = entire_insn >> 16;
648 itype = MEPCORE1_INSN_RI_2; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
650 entire_insn = entire_insn >> 16;
651 if ((entire_insn & 0xfc0f) == 0x100c)
652 { itype = MEPCORE1_INSN_SSARB; mepcore1_extract_sfmt_ssarb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
653 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
656 unsigned int val = (((insn >> 22) & (1 << 1)) | ((insn >> 21) & (1 << 0)));
660 entire_insn = entire_insn >> 16;
661 if ((entire_insn & 0xf0ff) == 0x100d)
662 { itype = MEPCORE1_INSN_EXTB; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
663 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
665 entire_insn = entire_insn >> 16;
666 if ((entire_insn & 0xf0ff) == 0x102d)
667 { itype = MEPCORE1_INSN_EXTH; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
668 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
670 entire_insn = entire_insn >> 16;
671 if ((entire_insn & 0xf0ff) == 0x108d)
672 { itype = MEPCORE1_INSN_EXTUB; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
673 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
675 entire_insn = entire_insn >> 16;
676 if ((entire_insn & 0xf0ff) == 0x10ad)
677 { itype = MEPCORE1_INSN_EXTUH; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
678 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
679 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
683 entire_insn = entire_insn >> 16;
684 if ((entire_insn & 0xff0f) == 0x100e)
685 { itype = MEPCORE1_INSN_JMP; mepcore1_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
686 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
689 unsigned int val = (((insn >> 27) & (1 << 0)));
693 entire_insn = entire_insn >> 16;
694 if ((entire_insn & 0xff0f) == 0x100f)
695 { itype = MEPCORE1_INSN_JSR; mepcore1_extract_sfmt_jsr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
696 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
698 entire_insn = entire_insn >> 16;
699 if ((entire_insn & 0xff0f) == 0x180f)
700 { itype = MEPCORE1_INSN_JSRV; mepcore1_extract_sfmt_jsr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
701 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
702 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
706 entire_insn = entire_insn >> 16;
707 if ((entire_insn & 0xf80f) == 0x2000)
708 { itype = MEPCORE1_INSN_BSETM; mepcore1_extract_sfmt_bsetm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
709 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
711 entire_insn = entire_insn >> 16;
712 if ((entire_insn & 0xf80f) == 0x2001)
713 { itype = MEPCORE1_INSN_BCLRM; mepcore1_extract_sfmt_bsetm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
714 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
716 entire_insn = entire_insn >> 16;
717 if ((entire_insn & 0xf80f) == 0x2002)
718 { itype = MEPCORE1_INSN_BNOTM; mepcore1_extract_sfmt_bsetm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
719 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
721 entire_insn = entire_insn >> 16;
722 if ((entire_insn & 0xf80f) == 0x2003)
723 { itype = MEPCORE1_INSN_BTSTM; mepcore1_extract_sfmt_btstm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
724 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
726 entire_insn = entire_insn >> 16;
727 itype = MEPCORE1_INSN_TAS; mepcore1_extract_sfmt_tas (this, current_cpu, pc, base_insn, entire_insn); goto done;
729 entire_insn = entire_insn >> 16;
730 itype = MEPCORE1_INSN_RI_3; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
732 entire_insn = entire_insn >> 16;
733 itype = MEPCORE1_INSN_SL1AD3; mepcore1_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
735 entire_insn = entire_insn >> 16;
736 itype = MEPCORE1_INSN_SL2AD3; mepcore1_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
738 entire_insn = entire_insn >> 16;
739 itype = MEPCORE1_INSN_RI_4; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
741 entire_insn = entire_insn >> 16;
742 itype = MEPCORE1_INSN_RI_5; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
744 entire_insn = entire_insn >> 16;
745 itype = MEPCORE1_INSN_RI_6; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
747 entire_insn = entire_insn >> 16;
748 itype = MEPCORE1_INSN_RI_7; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
750 entire_insn = entire_insn >> 16;
751 itype = MEPCORE1_INSN_SRL; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
753 entire_insn = entire_insn >> 16;
754 itype = MEPCORE1_INSN_SRA; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
756 entire_insn = entire_insn >> 16;
757 itype = MEPCORE1_INSN_SLL; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
759 entire_insn = entire_insn >> 16;
760 itype = MEPCORE1_INSN_FSFT; mepcore1_extract_sfmt_fsft (this, current_cpu, pc, base_insn, entire_insn); goto done;
762 entire_insn = entire_insn >> 16;
763 itype = MEPCORE1_INSN_SWCPI; mepcore1_extract_sfmt_swcpi (this, current_cpu, pc, base_insn, entire_insn); goto done;
765 entire_insn = entire_insn >> 16;
766 itype = MEPCORE1_INSN_LWCPI; mepcore1_extract_sfmt_lwcpi (this, current_cpu, pc, base_insn, entire_insn); goto done;
768 entire_insn = entire_insn >> 16;
769 itype = MEPCORE1_INSN_SMCPI; mepcore1_extract_sfmt_smcpi (this, current_cpu, pc, base_insn, entire_insn); goto done;
771 entire_insn = entire_insn >> 16;
772 itype = MEPCORE1_INSN_LMCPI; mepcore1_extract_sfmt_lmcpi (this, current_cpu, pc, base_insn, entire_insn); goto done;
774 entire_insn = entire_insn >> 16;
775 itype = MEPCORE1_INSN_RI_8; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
777 entire_insn = entire_insn >> 16;
778 itype = MEPCORE1_INSN_RI_9; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
780 entire_insn = entire_insn >> 16;
781 itype = MEPCORE1_INSN_RI_10; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
783 entire_insn = entire_insn >> 16;
784 itype = MEPCORE1_INSN_RI_11; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
786 entire_insn = entire_insn >> 16;
787 itype = MEPCORE1_INSN_SWCP; mepcore1_extract_sfmt_swcp (this, current_cpu, pc, base_insn, entire_insn); goto done;
789 entire_insn = entire_insn >> 16;
790 itype = MEPCORE1_INSN_LWCP; mepcore1_extract_sfmt_lwcp (this, current_cpu, pc, base_insn, entire_insn); goto done;
792 entire_insn = entire_insn >> 16;
793 itype = MEPCORE1_INSN_SMCP; mepcore1_extract_sfmt_smcp (this, current_cpu, pc, base_insn, entire_insn); goto done;
795 entire_insn = entire_insn >> 16;
796 itype = MEPCORE1_INSN_LMCP; mepcore1_extract_sfmt_lmcp (this, current_cpu, pc, base_insn, entire_insn); goto done;
798 entire_insn = entire_insn >> 16;
799 itype = MEPCORE1_INSN_RI_12; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
801 entire_insn = entire_insn >> 16;
802 itype = MEPCORE1_INSN_RI_13; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
804 entire_insn = entire_insn >> 16;
805 itype = MEPCORE1_INSN_RI_14; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
807 entire_insn = entire_insn >> 16;
808 itype = MEPCORE1_INSN_RI_15; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
809 case 64 : /* fall through */
810 case 68 : /* fall through */
811 case 72 : /* fall through */
814 unsigned int val = (((insn >> 23) & (1 << 0)));
818 entire_insn = entire_insn >> 16;
819 itype = MEPCORE1_INSN_ADD3I; mepcore1_extract_sfmt_add3i (this, current_cpu, pc, base_insn, entire_insn); goto done;
821 entire_insn = entire_insn >> 16;
822 if ((entire_insn & 0xf880) == 0x4880)
823 { itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
824 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
825 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
828 case 65 : /* fall through */
829 case 69 : /* fall through */
830 case 73 : /* fall through */
832 entire_insn = entire_insn >> 16;
833 if ((entire_insn & 0xf880) == 0x4880)
834 { itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
835 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
836 case 66 : /* fall through */
837 case 70 : /* fall through */
838 case 74 : /* fall through */
841 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 23) & (1 << 0)));
844 case 0 : /* fall through */
846 entire_insn = entire_insn >> 16;
847 itype = MEPCORE1_INSN_SW_SP; mepcore1_extract_sfmt_sw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done;
849 entire_insn = entire_insn >> 16;
850 itype = MEPCORE1_INSN_SW_TP; mepcore1_extract_sfmt_sw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
852 entire_insn = entire_insn >> 16;
853 itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
854 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
857 case 67 : /* fall through */
858 case 71 : /* fall through */
859 case 75 : /* fall through */
862 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 23) & (1 << 0)));
865 case 0 : /* fall through */
867 entire_insn = entire_insn >> 16;
868 itype = MEPCORE1_INSN_LW_SP; mepcore1_extract_sfmt_lw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done;
870 entire_insn = entire_insn >> 16;
871 itype = MEPCORE1_INSN_LW_TP; mepcore1_extract_sfmt_lw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
873 entire_insn = entire_insn >> 16;
874 itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
875 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
878 case 80 : /* fall through */
879 case 81 : /* fall through */
880 case 82 : /* fall through */
881 case 83 : /* fall through */
882 case 84 : /* fall through */
883 case 85 : /* fall through */
884 case 86 : /* fall through */
885 case 87 : /* fall through */
886 case 88 : /* fall through */
887 case 89 : /* fall through */
888 case 90 : /* fall through */
889 case 91 : /* fall through */
890 case 92 : /* fall through */
891 case 93 : /* fall through */
892 case 94 : /* fall through */
894 entire_insn = entire_insn >> 16;
895 itype = MEPCORE1_INSN_MOVI8; mepcore1_extract_sfmt_movi8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
896 case 96 : /* fall through */
897 case 100 : /* fall through */
898 case 104 : /* fall through */
900 entire_insn = entire_insn >> 16;
901 itype = MEPCORE1_INSN_ADD; mepcore1_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done;
902 case 97 : /* fall through */
904 entire_insn = entire_insn >> 16;
905 itype = MEPCORE1_INSN_SLT3I; mepcore1_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done;
906 case 98 : /* fall through */
908 entire_insn = entire_insn >> 16;
909 itype = MEPCORE1_INSN_SRLI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done;
910 case 99 : /* fall through */
912 entire_insn = entire_insn >> 16;
913 itype = MEPCORE1_INSN_SRAI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done;
914 case 101 : /* fall through */
916 entire_insn = entire_insn >> 16;
917 itype = MEPCORE1_INSN_SLTU3I; mepcore1_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done;
918 case 102 : /* fall through */
920 entire_insn = entire_insn >> 16;
921 itype = MEPCORE1_INSN_SLLI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done;
922 case 103 : /* fall through */
924 entire_insn = entire_insn >> 16;
925 itype = MEPCORE1_INSN_SLL3; mepcore1_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
928 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 20) & (1 << 0)));
932 entire_insn = entire_insn >> 16;
933 if ((entire_insn & 0xffff) == 0x7000)
934 { itype = MEPCORE1_INSN_DI; mepcore1_extract_sfmt_di (this, current_cpu, pc, base_insn, entire_insn); goto done; }
935 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
937 entire_insn = entire_insn >> 16;
938 if ((entire_insn & 0xffff) == 0x7010)
939 { itype = MEPCORE1_INSN_EI; mepcore1_extract_sfmt_di (this, current_cpu, pc, base_insn, entire_insn); goto done; }
940 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
941 case 2 : /* fall through */
943 entire_insn = entire_insn >> 16;
944 if ((entire_insn & 0xf8ef) == 0x7800)
945 { itype = MEPCORE1_INSN_SIM_SYSCALL; mepcore1_extract_sfmt_sim_syscall (this, current_cpu, pc, base_insn, entire_insn); goto done; }
946 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
947 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
952 unsigned int val = (((insn >> 20) & (3 << 0)));
956 entire_insn = entire_insn >> 16;
957 if ((entire_insn & 0xffff) == 0x7011)
958 { itype = MEPCORE1_INSN_SYNCM; mepcore1_extract_sfmt_sleep (this, current_cpu, pc, base_insn, entire_insn); goto done; }
959 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
961 entire_insn = entire_insn >> 16;
962 if ((entire_insn & 0xffff) == 0x7021)
963 { itype = MEPCORE1_INSN_SYNCCP; mepcore1_extract_sfmt_synccp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
964 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
965 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
970 unsigned int val = (((insn >> 20) & (7 << 0)));
974 entire_insn = entire_insn >> 16;
975 if ((entire_insn & 0xffff) == 0x7002)
976 { itype = MEPCORE1_INSN_RET; mepcore1_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done; }
977 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
979 entire_insn = entire_insn >> 16;
980 if ((entire_insn & 0xffff) == 0x7012)
981 { itype = MEPCORE1_INSN_RETI; mepcore1_extract_sfmt_reti (this, current_cpu, pc, base_insn, entire_insn); goto done; }
982 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
984 entire_insn = entire_insn >> 16;
985 if ((entire_insn & 0xffff) == 0x7022)
986 { itype = MEPCORE1_INSN_HALT; mepcore1_extract_sfmt_halt (this, current_cpu, pc, base_insn, entire_insn); goto done; }
987 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
989 entire_insn = entire_insn >> 16;
990 if ((entire_insn & 0xffff) == 0x7032)
991 { itype = MEPCORE1_INSN_BREAK; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; }
992 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
994 entire_insn = entire_insn >> 16;
995 if ((entire_insn & 0xffff) == 0x7062)
996 { itype = MEPCORE1_INSN_SLEEP; mepcore1_extract_sfmt_sleep (this, current_cpu, pc, base_insn, entire_insn); goto done; }
997 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
998 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1003 unsigned int val = (((insn >> 21) & (1 << 0)));
1007 entire_insn = entire_insn >> 16;
1008 if ((entire_insn & 0xffff) == 0x7013)
1009 { itype = MEPCORE1_INSN_DRET; mepcore1_extract_sfmt_dret (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1010 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1012 entire_insn = entire_insn >> 16;
1013 if ((entire_insn & 0xffff) == 0x7033)
1014 { itype = MEPCORE1_INSN_DBREAK; mepcore1_extract_sfmt_dbreak (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1015 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1016 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1020 entire_insn = entire_insn >> 16;
1021 itype = MEPCORE1_INSN_CACHE; mepcore1_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done;
1023 entire_insn = entire_insn >> 16;
1024 itype = MEPCORE1_INSN_PREF; mepcore1_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done;
1026 entire_insn = entire_insn >> 16;
1027 if ((entire_insn & 0xffcf) == 0x7006)
1028 { itype = MEPCORE1_INSN_SWI; mepcore1_extract_sfmt_swi (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1029 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1031 entire_insn = entire_insn >> 16;
1032 itype = MEPCORE1_INSN_RI_17; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1035 unsigned int val = (((insn >> 20) & (15 << 0)));
1038 case 0 : /* fall through */
1039 case 2 : /* fall through */
1040 case 3 : /* fall through */
1041 case 4 : /* fall through */
1042 case 5 : /* fall through */
1043 case 6 : /* fall through */
1044 case 9 : /* fall through */
1045 case 10 : /* fall through */
1046 case 11 : /* fall through */
1047 case 12 : /* fall through */
1048 case 13 : /* fall through */
1049 case 14 : /* fall through */
1051 entire_insn = entire_insn >> 16;
1052 itype = MEPCORE1_INSN_STC; mepcore1_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1054 entire_insn = entire_insn >> 16;
1055 itype = MEPCORE1_INSN_STC_LP; mepcore1_extract_sfmt_stc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1057 entire_insn = entire_insn >> 16;
1058 itype = MEPCORE1_INSN_STC_HI; mepcore1_extract_sfmt_stc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1060 entire_insn = entire_insn >> 16;
1061 itype = MEPCORE1_INSN_STC_LO; mepcore1_extract_sfmt_stc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done;
1062 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1066 entire_insn = entire_insn >> 16;
1067 itype = MEPCORE1_INSN_STC; mepcore1_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1070 unsigned int val = (((insn >> 20) & (15 << 0)));
1073 case 0 : /* fall through */
1074 case 2 : /* fall through */
1075 case 3 : /* fall through */
1076 case 4 : /* fall through */
1077 case 5 : /* fall through */
1078 case 6 : /* fall through */
1079 case 9 : /* fall through */
1080 case 10 : /* fall through */
1081 case 11 : /* fall through */
1082 case 12 : /* fall through */
1083 case 13 : /* fall through */
1084 case 14 : /* fall through */
1086 entire_insn = entire_insn >> 16;
1087 itype = MEPCORE1_INSN_LDC; mepcore1_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1089 entire_insn = entire_insn >> 16;
1090 itype = MEPCORE1_INSN_LDC_LP; mepcore1_extract_sfmt_ldc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1092 entire_insn = entire_insn >> 16;
1093 itype = MEPCORE1_INSN_LDC_HI; mepcore1_extract_sfmt_ldc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1095 entire_insn = entire_insn >> 16;
1096 itype = MEPCORE1_INSN_LDC_LO; mepcore1_extract_sfmt_ldc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done;
1097 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1101 entire_insn = entire_insn >> 16;
1102 itype = MEPCORE1_INSN_LDC; mepcore1_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1104 entire_insn = entire_insn >> 16;
1105 itype = MEPCORE1_INSN_STCB_R; mepcore1_extract_sfmt_stcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done;
1107 entire_insn = entire_insn >> 16;
1108 itype = MEPCORE1_INSN_LDCB_R; mepcore1_extract_sfmt_ldcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done;
1110 entire_insn = entire_insn >> 16;
1111 itype = MEPCORE1_INSN_RI_20; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1113 entire_insn = entire_insn >> 16;
1114 itype = MEPCORE1_INSN_RI_21; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1115 case 128 : /* fall through */
1116 case 130 : /* fall through */
1117 case 132 : /* fall through */
1118 case 134 : /* fall through */
1119 case 136 : /* fall through */
1120 case 138 : /* fall through */
1121 case 140 : /* fall through */
1124 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 23) & (1 << 0)));
1128 entire_insn = entire_insn >> 16;
1129 itype = MEPCORE1_INSN_SB_TP; mepcore1_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1131 entire_insn = entire_insn >> 16;
1132 itype = MEPCORE1_INSN_SH_TP; mepcore1_extract_sfmt_sh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1134 entire_insn = entire_insn >> 16;
1135 itype = MEPCORE1_INSN_LB_TP; mepcore1_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1137 entire_insn = entire_insn >> 16;
1138 itype = MEPCORE1_INSN_LH_TP; mepcore1_extract_sfmt_lh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1139 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1142 case 129 : /* fall through */
1143 case 131 : /* fall through */
1144 case 133 : /* fall through */
1145 case 135 : /* fall through */
1146 case 137 : /* fall through */
1147 case 139 : /* fall through */
1148 case 141 : /* fall through */
1151 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 23) & (1 << 0)));
1155 entire_insn = entire_insn >> 16;
1156 itype = MEPCORE1_INSN_SB_TP; mepcore1_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1158 entire_insn = entire_insn >> 16;
1159 itype = MEPCORE1_INSN_LB_TP; mepcore1_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1161 entire_insn = entire_insn >> 16;
1162 itype = MEPCORE1_INSN_LHU_TP; mepcore1_extract_sfmt_lhu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1163 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1166 case 144 : /* fall through */
1167 case 145 : /* fall through */
1168 case 146 : /* fall through */
1169 case 147 : /* fall through */
1170 case 148 : /* fall through */
1171 case 149 : /* fall through */
1172 case 150 : /* fall through */
1173 case 151 : /* fall through */
1174 case 152 : /* fall through */
1175 case 153 : /* fall through */
1176 case 154 : /* fall through */
1177 case 155 : /* fall through */
1178 case 156 : /* fall through */
1179 case 157 : /* fall through */
1180 case 158 : /* fall through */
1182 entire_insn = entire_insn >> 16;
1183 itype = MEPCORE1_INSN_ADD3; mepcore1_extract_sfmt_add3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1184 case 160 : /* fall through */
1185 case 162 : /* fall through */
1186 case 164 : /* fall through */
1187 case 166 : /* fall through */
1188 case 168 : /* fall through */
1189 case 170 : /* fall through */
1190 case 172 : /* fall through */
1192 entire_insn = entire_insn >> 16;
1193 itype = MEPCORE1_INSN_BEQZ; mepcore1_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done;
1194 case 161 : /* fall through */
1195 case 163 : /* fall through */
1196 case 165 : /* fall through */
1197 case 167 : /* fall through */
1198 case 169 : /* fall through */
1199 case 171 : /* fall through */
1200 case 173 : /* fall through */
1202 entire_insn = entire_insn >> 16;
1203 itype = MEPCORE1_INSN_BNEZ; mepcore1_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done;
1204 case 176 : /* fall through */
1205 case 178 : /* fall through */
1206 case 180 : /* fall through */
1207 case 182 : /* fall through */
1208 case 184 : /* fall through */
1209 case 186 : /* fall through */
1210 case 188 : /* fall through */
1212 entire_insn = entire_insn >> 16;
1213 itype = MEPCORE1_INSN_BRA; mepcore1_extract_sfmt_bra (this, current_cpu, pc, base_insn, entire_insn); goto done;
1214 case 177 : /* fall through */
1215 case 179 : /* fall through */
1216 case 181 : /* fall through */
1217 case 183 : /* fall through */
1218 case 185 : /* fall through */
1219 case 187 : /* fall through */
1220 case 189 : /* fall through */
1222 entire_insn = entire_insn >> 16;
1223 itype = MEPCORE1_INSN_BSR12; mepcore1_extract_sfmt_bsr12 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1224 case 192 : itype = MEPCORE1_INSN_ADD3X; mepcore1_extract_sfmt_add3x (this, current_cpu, pc, base_insn, entire_insn); goto done;
1227 unsigned int val = (((insn >> 20) & (3 << 0)));
1231 if ((entire_insn & 0xf0ff0000) == 0xc0010000)
1232 { itype = MEPCORE1_INSN_MOVI16; mepcore1_extract_sfmt_movi16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1233 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1235 if ((entire_insn & 0xf0ff0000) == 0xc0110000)
1236 { itype = MEPCORE1_INSN_MOVU16; mepcore1_extract_sfmt_movu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1237 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1239 if ((entire_insn & 0xf0ff0000) == 0xc0210000)
1240 { itype = MEPCORE1_INSN_MOVH; mepcore1_extract_sfmt_movu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1241 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1242 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1245 case 194 : itype = MEPCORE1_INSN_SLT3X; mepcore1_extract_sfmt_slt3x (this, current_cpu, pc, base_insn, entire_insn); goto done;
1246 case 195 : itype = MEPCORE1_INSN_SLTU3X; mepcore1_extract_sfmt_sltu3x (this, current_cpu, pc, base_insn, entire_insn); goto done;
1247 case 196 : itype = MEPCORE1_INSN_OR3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1248 case 197 : itype = MEPCORE1_INSN_AND3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1249 case 198 : itype = MEPCORE1_INSN_XOR3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1251 entire_insn = entire_insn >> 16;
1252 itype = MEPCORE1_INSN_RI_22; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1253 case 200 : itype = MEPCORE1_INSN_SB16; mepcore1_extract_sfmt_sb16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1254 case 201 : itype = MEPCORE1_INSN_SH16; mepcore1_extract_sfmt_sh16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1255 case 202 : itype = MEPCORE1_INSN_SW16; mepcore1_extract_sfmt_sw16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1256 case 203 : itype = MEPCORE1_INSN_LBU16; mepcore1_extract_sfmt_lbu16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1257 case 204 : itype = MEPCORE1_INSN_LB16; mepcore1_extract_sfmt_lb16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1258 case 205 : itype = MEPCORE1_INSN_LH16; mepcore1_extract_sfmt_lh16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1259 case 206 : itype = MEPCORE1_INSN_LW16; mepcore1_extract_sfmt_lw16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1260 case 207 : itype = MEPCORE1_INSN_LHU16; mepcore1_extract_sfmt_lhu16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1261 case 208 : /* fall through */
1262 case 209 : /* fall through */
1263 case 210 : /* fall through */
1264 case 211 : /* fall through */
1265 case 218 : /* fall through */
1266 case 220 : /* fall through */
1267 case 221 : /* fall through */
1268 case 222 : /* fall through */
1270 if ((entire_insn & 0xf8000000) == 0xd0000000)
1271 { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1272 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1275 unsigned int val = (((insn >> 27) & (1 << 0)));
1278 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1280 if ((entire_insn & 0xff0f0000) == 0xd8040000)
1281 { itype = MEPCORE1_INSN_BCPEQ; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1282 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1283 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1288 unsigned int val = (((insn >> 27) & (1 << 0)));
1291 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1293 if ((entire_insn & 0xff0f0000) == 0xd8050000)
1294 { itype = MEPCORE1_INSN_BCPNE; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1295 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1296 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1301 unsigned int val = (((insn >> 27) & (1 << 0)));
1304 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1306 if ((entire_insn & 0xff0f0000) == 0xd8060000)
1307 { itype = MEPCORE1_INSN_BCPAT; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1308 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1309 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1314 unsigned int val = (((insn >> 27) & (1 << 0)));
1317 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1319 if ((entire_insn & 0xff0f0000) == 0xd8070000)
1320 { itype = MEPCORE1_INSN_BCPAF; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1321 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1322 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1327 unsigned int val = (((insn >> 27) & (1 << 0)));
1330 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1331 case 1 : itype = MEPCORE1_INSN_JMP24; mepcore1_extract_sfmt_jmp24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1332 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1337 unsigned int val = (((insn >> 27) & (1 << 0)));
1340 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1341 case 1 : itype = MEPCORE1_INSN_BSR24; mepcore1_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1342 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1347 unsigned int val = (((insn >> 27) & (1 << 0)));
1350 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1351 case 1 : itype = MEPCORE1_INSN_BSRV; mepcore1_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1352 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1355 case 224 : itype = MEPCORE1_INSN_BEQI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1356 case 225 : itype = MEPCORE1_INSN_BEQ; mepcore1_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done;
1357 case 226 : /* fall through */
1358 case 230 : /* fall through */
1359 case 234 : /* fall through */
1360 case 238 : itype = MEPCORE1_INSN_SW24; mepcore1_extract_sfmt_sw24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1361 case 227 : /* fall through */
1362 case 231 : /* fall through */
1363 case 235 : /* fall through */
1364 case 239 : itype = MEPCORE1_INSN_LW24; mepcore1_extract_sfmt_lw24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1365 case 228 : itype = MEPCORE1_INSN_BNEI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1366 case 229 : itype = MEPCORE1_INSN_BNE; mepcore1_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done;
1367 case 232 : itype = MEPCORE1_INSN_BGEI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1370 unsigned int val = (((insn >> 20) & (1 << 0)));
1374 if ((entire_insn & 0xf0ff0000) == 0xe0090000)
1375 { itype = MEPCORE1_INSN_REPEAT; mepcore1_extract_sfmt_repeat (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1376 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1378 if ((entire_insn & 0xffff0000) == 0xe0190000)
1379 { itype = MEPCORE1_INSN_EREPEAT; mepcore1_extract_sfmt_erepeat (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1380 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1381 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1384 case 236 : itype = MEPCORE1_INSN_BLTI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1386 entire_insn = entire_insn >> 16;
1387 itype = MEPCORE1_INSN_RI_23; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1388 case 240 : itype = MEPCORE1_INSN_DSP; mepcore1_extract_sfmt_dsp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1391 unsigned int val = (((insn >> 8) & (3 << 4)) | ((insn >> 0) & (15 << 0)));
1395 if ((entire_insn & 0xf00fffff) == 0xf0010000)
1396 { itype = MEPCORE1_INSN_LDZ; mepcore1_extract_sfmt_ldz (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1397 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1399 if ((entire_insn & 0xf00fffff) == 0xf0010002)
1400 { itype = MEPCORE1_INSN_AVE; mepcore1_extract_sfmt_abs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1401 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1403 if ((entire_insn & 0xf00fffff) == 0xf0010003)
1404 { itype = MEPCORE1_INSN_ABS; mepcore1_extract_sfmt_abs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1405 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1407 if ((entire_insn & 0xf00fffff) == 0xf0010004)
1408 { itype = MEPCORE1_INSN_MIN; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1409 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1411 if ((entire_insn & 0xf00fffff) == 0xf0010005)
1412 { itype = MEPCORE1_INSN_MAX; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1413 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1415 if ((entire_insn & 0xf00fffff) == 0xf0010006)
1416 { itype = MEPCORE1_INSN_MINU; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1417 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1419 if ((entire_insn & 0xf00fffff) == 0xf0010007)
1420 { itype = MEPCORE1_INSN_MAXU; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1421 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1423 if ((entire_insn & 0xf00fffff) == 0xf0010008)
1424 { itype = MEPCORE1_INSN_SADD; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1425 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1427 if ((entire_insn & 0xf00fffff) == 0xf0010009)
1428 { itype = MEPCORE1_INSN_SADDU; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1429 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1431 if ((entire_insn & 0xf00fffff) == 0xf001000a)
1432 { itype = MEPCORE1_INSN_SSUB; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1433 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1435 if ((entire_insn & 0xf00fffff) == 0xf001000b)
1436 { itype = MEPCORE1_INSN_SSUBU; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1437 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1438 case 16 : /* fall through */
1440 if ((entire_insn & 0xf0ffff07) == 0xf0011000)
1441 { itype = MEPCORE1_INSN_CLIP; mepcore1_extract_sfmt_clip (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1442 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1443 case 17 : /* fall through */
1445 if ((entire_insn & 0xf0ffff07) == 0xf0011001)
1446 { itype = MEPCORE1_INSN_CLIPU; mepcore1_extract_sfmt_clip (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1447 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1449 if ((entire_insn & 0xf00ff0ff) == 0xf0012000)
1450 { itype = MEPCORE1_INSN_CASB3; mepcore1_extract_sfmt_casb3 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1451 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1453 if ((entire_insn & 0xf00ff0ff) == 0xf0012001)
1454 { itype = MEPCORE1_INSN_CASH3; mepcore1_extract_sfmt_casb3 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1455 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1457 if ((entire_insn & 0xf00ff0ff) == 0xf0012002)
1458 { itype = MEPCORE1_INSN_CASW3; mepcore1_extract_sfmt_casb3 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1459 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1461 if ((entire_insn & 0xf00fffff) == 0xf0013004)
1462 { itype = MEPCORE1_INSN_MADD; mepcore1_extract_sfmt_madd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1463 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1465 if ((entire_insn & 0xf00fffff) == 0xf0013005)
1466 { itype = MEPCORE1_INSN_MADDU; mepcore1_extract_sfmt_madd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1467 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1469 if ((entire_insn & 0xf00fffff) == 0xf0013006)
1470 { itype = MEPCORE1_INSN_MADDR; mepcore1_extract_sfmt_maddr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1471 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1473 if ((entire_insn & 0xf00fffff) == 0xf0013007)
1474 { itype = MEPCORE1_INSN_MADDRU; mepcore1_extract_sfmt_maddr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1475 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1476 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1479 case 242 : itype = MEPCORE1_INSN_UCI; mepcore1_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done;
1480 case 243 : itype = MEPCORE1_INSN_PREFD; mepcore1_extract_sfmt_prefd (this, current_cpu, pc, base_insn, entire_insn); goto done;
1483 unsigned int val = (((insn >> 20) & (1 << 0)));
1487 if ((entire_insn & 0xf0ff0000) == 0xf0040000)
1488 { itype = MEPCORE1_INSN_STCB; mepcore1_extract_sfmt_stcb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1489 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1491 if ((entire_insn & 0xf0ff0000) == 0xf0140000)
1492 { itype = MEPCORE1_INSN_LDCB; mepcore1_extract_sfmt_movu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1493 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1494 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1499 unsigned int val = (((insn >> 10) & (63 << 0)));
1502 case 0 : itype = MEPCORE1_INSN_SBCPA; mepcore1_extract_sfmt_sbcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1503 case 2 : itype = MEPCORE1_INSN_SBCPM0; mepcore1_extract_sfmt_sbcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1504 case 3 : itype = MEPCORE1_INSN_SBCPM1; mepcore1_extract_sfmt_sbcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1505 case 4 : itype = MEPCORE1_INSN_SHCPA; mepcore1_extract_sfmt_shcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1506 case 6 : itype = MEPCORE1_INSN_SHCPM0; mepcore1_extract_sfmt_shcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1507 case 7 : itype = MEPCORE1_INSN_SHCPM1; mepcore1_extract_sfmt_shcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1508 case 8 : itype = MEPCORE1_INSN_SWCPA; mepcore1_extract_sfmt_swcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1509 case 10 : itype = MEPCORE1_INSN_SWCPM0; mepcore1_extract_sfmt_swcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1510 case 11 : itype = MEPCORE1_INSN_SWCPM1; mepcore1_extract_sfmt_swcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1511 case 12 : itype = MEPCORE1_INSN_SMCPA; mepcore1_extract_sfmt_smcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1512 case 14 : itype = MEPCORE1_INSN_SMCPM0; mepcore1_extract_sfmt_smcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1513 case 15 : itype = MEPCORE1_INSN_SMCPM1; mepcore1_extract_sfmt_smcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1514 case 16 : itype = MEPCORE1_INSN_LBCPA; mepcore1_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1515 case 18 : itype = MEPCORE1_INSN_LBCPM0; mepcore1_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1516 case 19 : itype = MEPCORE1_INSN_LBCPM1; mepcore1_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1517 case 20 : itype = MEPCORE1_INSN_LHCPA; mepcore1_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1518 case 22 : itype = MEPCORE1_INSN_LHCPM0; mepcore1_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1519 case 23 : itype = MEPCORE1_INSN_LHCPM1; mepcore1_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1520 case 24 : itype = MEPCORE1_INSN_LWCPA; mepcore1_extract_sfmt_lwcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1521 case 26 : itype = MEPCORE1_INSN_LWCPM0; mepcore1_extract_sfmt_lwcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1522 case 27 : itype = MEPCORE1_INSN_LWCPM1; mepcore1_extract_sfmt_lwcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1523 case 28 : itype = MEPCORE1_INSN_LMCPA; mepcore1_extract_sfmt_lmcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1524 case 30 : itype = MEPCORE1_INSN_LMCPM0; mepcore1_extract_sfmt_lmcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1525 case 31 : itype = MEPCORE1_INSN_LMCPM1; mepcore1_extract_sfmt_lmcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1526 case 48 : itype = MEPCORE1_INSN_LBUCPA; mepcore1_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1527 case 50 : itype = MEPCORE1_INSN_LBUCPM0; mepcore1_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1528 case 51 : itype = MEPCORE1_INSN_LBUCPM1; mepcore1_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1529 case 52 : itype = MEPCORE1_INSN_LHUCPA; mepcore1_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1530 case 54 : itype = MEPCORE1_INSN_LHUCPM0; mepcore1_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1531 case 55 : itype = MEPCORE1_INSN_LHUCPM1; mepcore1_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1532 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1537 unsigned int val = (((insn >> 13) & (3 << 1)) | ((insn >> 12) & (1 << 0)));
1541 if ((entire_insn & 0xf00ff000) == 0xf0060000)
1542 { itype = MEPCORE1_INSN_SBCP; mepcore1_extract_sfmt_sbcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1543 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1545 if ((entire_insn & 0xf00ff000) == 0xf0061000)
1546 { itype = MEPCORE1_INSN_SHCP; mepcore1_extract_sfmt_shcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1547 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1549 if ((entire_insn & 0xf00ff000) == 0xf0064000)
1550 { itype = MEPCORE1_INSN_LBCP; mepcore1_extract_sfmt_lbcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1551 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1553 if ((entire_insn & 0xf00ff000) == 0xf0065000)
1554 { itype = MEPCORE1_INSN_LHCP; mepcore1_extract_sfmt_lhcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1555 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1557 if ((entire_insn & 0xf00ff000) == 0xf006c000)
1558 { itype = MEPCORE1_INSN_LBUCP; mepcore1_extract_sfmt_lbcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1559 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1561 if ((entire_insn & 0xf00ff000) == 0xf006d000)
1562 { itype = MEPCORE1_INSN_LHUCP; mepcore1_extract_sfmt_lhcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1563 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1564 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1568 entire_insn = entire_insn >> 16;
1569 itype = MEPCORE1_INSN_RI_26; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1570 case 252 : itype = MEPCORE1_INSN_SWCP16; mepcore1_extract_sfmt_swcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1571 case 253 : itype = MEPCORE1_INSN_LWCP16; mepcore1_extract_sfmt_lwcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1572 case 254 : itype = MEPCORE1_INSN_SMCP16; mepcore1_extract_sfmt_smcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1573 case 255 : itype = MEPCORE1_INSN_LMCP16; mepcore1_extract_sfmt_lmcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1574 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1580 /* The instruction has been decoded and fields extracted. */
1584 // FIXME: To be redone (to handle ISA variants).
1585 this->idesc = & mepcore1_idesc::idesc_table[itype];
1586 // ??? record semantic handler?
1587 assert(this->idesc->sem_index == itype);
1591 mepcore1_extract_sfmt_empty (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1592 mepcore1_insn_word insn = entire_insn;
1593 #define FLD(f) abuf->fields.sfmt_empty.f
1596 /* Record the fields for the semantic handler. */
1597 if (UNLIKELY(current_cpu->trace_extract_p))
1599 current_cpu->trace_stream
1600 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
1608 mepcore1_extract_sfmt_stcb_r (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1609 mepcore1_insn_word insn = entire_insn;
1610 #define FLD(f) abuf->fields.sfmt_stcb_r.f
1614 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
1615 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1617 /* Record the fields for the semantic handler. */
1620 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1621 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
1622 if (UNLIKELY(current_cpu->trace_extract_p))
1624 current_cpu->trace_stream
1625 << "0x" << hex << pc << dec << " (sfmt_stcb_r)\t"
1626 << " f_rm:0x" << hex << f_rm << dec
1627 << " f_rn:0x" << hex << f_rn << dec
1631 /* Record the fields for profiling. */
1632 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1634 FLD (in_rma) = f_rm;
1641 mepcore1_extract_sfmt_ldcb_r (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1642 mepcore1_insn_word insn = entire_insn;
1643 #define FLD(f) abuf->fields.sfmt_ldcb_r.f
1647 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
1648 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1650 /* Record the fields for the semantic handler. */
1653 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1654 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
1655 if (UNLIKELY(current_cpu->trace_extract_p))
1657 current_cpu->trace_stream
1658 << "0x" << hex << pc << dec << " (sfmt_ldcb_r)\t"
1659 << " f_rm:0x" << hex << f_rm << dec
1660 << " f_rn:0x" << hex << f_rn << dec
1664 /* Record the fields for profiling. */
1665 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1667 FLD (in_rma) = f_rm;
1668 FLD (out_rn) = f_rn;
1674 mepcore1_extract_sfmt_pref (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1675 mepcore1_insn_word insn = entire_insn;
1676 #define FLD(f) abuf->fields.sfmt_ldcb_r.f
1680 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
1681 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1683 /* Record the fields for the semantic handler. */
1686 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1687 if (UNLIKELY(current_cpu->trace_extract_p))
1689 current_cpu->trace_stream
1690 << "0x" << hex << pc << dec << " (sfmt_pref)\t"
1691 << " f_rn:0x" << hex << f_rn << dec
1692 << " f_rm:0x" << hex << f_rm << dec
1696 /* Record the fields for profiling. */
1697 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1699 FLD (in_rma) = f_rm;
1705 mepcore1_extract_sfmt_prefd (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1706 mepcore1_insn_word insn = entire_insn;
1707 #define FLD(f) abuf->fields.sfmt_lhu16.f
1712 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1713 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1714 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
1716 /* Record the fields for the semantic handler. */
1719 FLD (f_16s16) = f_16s16;
1720 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1721 if (UNLIKELY(current_cpu->trace_extract_p))
1723 current_cpu->trace_stream
1724 << "0x" << hex << pc << dec << " (sfmt_prefd)\t"
1725 << " f_rn:0x" << hex << f_rn << dec
1726 << " f_rm:0x" << hex << f_rm << dec
1727 << " f_16s16:0x" << hex << f_16s16 << dec
1731 /* Record the fields for profiling. */
1732 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1734 FLD (in_rma) = f_rm;
1740 mepcore1_extract_sfmt_casb3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1741 mepcore1_insn_word insn = entire_insn;
1742 #define FLD(f) abuf->fields.sfmt_casb3.f
1747 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1748 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1749 f_rl5 = EXTRACT_MSB0_UINT (insn, 32, 20, 4);
1751 /* Record the fields for the semantic handler. */
1752 FLD (f_rl5) = f_rl5;
1755 FLD (i_rl5) = & current_cpu->hardware.h_gpr[f_rl5];
1756 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
1757 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
1758 if (UNLIKELY(current_cpu->trace_extract_p))
1760 current_cpu->trace_stream
1761 << "0x" << hex << pc << dec << " (sfmt_casb3)\t"
1762 << " f_rl5:0x" << hex << f_rl5 << dec
1763 << " f_rm:0x" << hex << f_rm << dec
1764 << " f_rn:0x" << hex << f_rn << dec
1768 /* Record the fields for profiling. */
1769 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1771 FLD (in_rl5) = f_rl5;
1774 FLD (out_rl5) = f_rl5;
1780 mepcore1_extract_sfmt_sbcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1781 mepcore1_insn_word insn = entire_insn;
1782 #define FLD(f) abuf->fields.sfmt_sbcp.f
1787 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1788 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1789 f_12s20 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
1791 /* Record the fields for the semantic handler. */
1792 FLD (f_12s20) = f_12s20;
1793 FLD (f_crn) = f_crn;
1795 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1796 if (UNLIKELY(current_cpu->trace_extract_p))
1798 current_cpu->trace_stream
1799 << "0x" << hex << pc << dec << " (sfmt_sbcp)\t"
1800 << " f_12s20:0x" << hex << f_12s20 << dec
1801 << " f_crn:0x" << hex << f_crn << dec
1802 << " f_rm:0x" << hex << f_rm << dec
1806 /* Record the fields for profiling. */
1807 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1809 FLD (in_rma) = f_rm;
1815 mepcore1_extract_sfmt_lbcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1816 mepcore1_insn_word insn = entire_insn;
1817 #define FLD(f) abuf->fields.sfmt_sbcp.f
1822 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1823 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1824 f_12s20 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
1826 /* Record the fields for the semantic handler. */
1827 FLD (f_12s20) = f_12s20;
1829 FLD (f_crn) = f_crn;
1830 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1831 if (UNLIKELY(current_cpu->trace_extract_p))
1833 current_cpu->trace_stream
1834 << "0x" << hex << pc << dec << " (sfmt_lbcp)\t"
1835 << " f_12s20:0x" << hex << f_12s20 << dec
1836 << " f_rm:0x" << hex << f_rm << dec
1837 << " f_crn:0x" << hex << f_crn << dec
1841 /* Record the fields for profiling. */
1842 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1844 FLD (in_rma) = f_rm;
1850 mepcore1_extract_sfmt_shcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1851 mepcore1_insn_word insn = entire_insn;
1852 #define FLD(f) abuf->fields.sfmt_sbcp.f
1857 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1858 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1859 f_12s20 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
1861 /* Record the fields for the semantic handler. */
1862 FLD (f_12s20) = f_12s20;
1863 FLD (f_crn) = f_crn;
1865 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1866 if (UNLIKELY(current_cpu->trace_extract_p))
1868 current_cpu->trace_stream
1869 << "0x" << hex << pc << dec << " (sfmt_shcp)\t"
1870 << " f_12s20:0x" << hex << f_12s20 << dec
1871 << " f_crn:0x" << hex << f_crn << dec
1872 << " f_rm:0x" << hex << f_rm << dec
1876 /* Record the fields for profiling. */
1877 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1879 FLD (in_rma) = f_rm;
1885 mepcore1_extract_sfmt_lhcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1886 mepcore1_insn_word insn = entire_insn;
1887 #define FLD(f) abuf->fields.sfmt_sbcp.f
1892 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1893 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1894 f_12s20 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
1896 /* Record the fields for the semantic handler. */
1897 FLD (f_12s20) = f_12s20;
1899 FLD (f_crn) = f_crn;
1900 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1901 if (UNLIKELY(current_cpu->trace_extract_p))
1903 current_cpu->trace_stream
1904 << "0x" << hex << pc << dec << " (sfmt_lhcp)\t"
1905 << " f_12s20:0x" << hex << f_12s20 << dec
1906 << " f_rm:0x" << hex << f_rm << dec
1907 << " f_crn:0x" << hex << f_crn << dec
1911 /* Record the fields for profiling. */
1912 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1914 FLD (in_rma) = f_rm;
1920 mepcore1_extract_sfmt_lbucpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1921 mepcore1_insn_word insn = entire_insn;
1922 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
1927 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1928 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1929 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
1931 /* Record the fields for the semantic handler. */
1932 FLD (f_cdisp10) = f_cdisp10;
1934 FLD (f_crn) = f_crn;
1935 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1936 if (UNLIKELY(current_cpu->trace_extract_p))
1938 current_cpu->trace_stream
1939 << "0x" << hex << pc << dec << " (sfmt_lbucpa)\t"
1940 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
1941 << " f_rm:0x" << hex << f_rm << dec
1942 << " f_crn:0x" << hex << f_crn << dec
1946 /* Record the fields for profiling. */
1947 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1949 FLD (in_rma) = f_rm;
1950 FLD (out_rma) = f_rm;
1956 mepcore1_extract_sfmt_lhucpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1957 mepcore1_insn_word insn = entire_insn;
1958 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
1963 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1964 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1965 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
1967 /* Record the fields for the semantic handler. */
1968 FLD (f_cdisp10) = f_cdisp10;
1970 FLD (f_crn) = f_crn;
1971 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1972 if (UNLIKELY(current_cpu->trace_extract_p))
1974 current_cpu->trace_stream
1975 << "0x" << hex << pc << dec << " (sfmt_lhucpa)\t"
1976 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
1977 << " f_rm:0x" << hex << f_rm << dec
1978 << " f_crn:0x" << hex << f_crn << dec
1982 /* Record the fields for profiling. */
1983 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1985 FLD (in_rma) = f_rm;
1986 FLD (out_rma) = f_rm;
1992 mepcore1_extract_sfmt_lbucpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1993 mepcore1_insn_word insn = entire_insn;
1994 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
1999 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2000 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2001 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
2003 /* Record the fields for the semantic handler. */
2004 FLD (f_cdisp10) = f_cdisp10;
2006 FLD (f_crn) = f_crn;
2007 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2008 if (UNLIKELY(current_cpu->trace_extract_p))
2010 current_cpu->trace_stream
2011 << "0x" << hex << pc << dec << " (sfmt_lbucpm0)\t"
2012 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
2013 << " f_rm:0x" << hex << f_rm << dec
2014 << " f_crn:0x" << hex << f_crn << dec
2018 /* Record the fields for profiling. */
2019 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2023 FLD (in_rma) = f_rm;
2024 FLD (out_rma) = f_rm;
2030 mepcore1_extract_sfmt_lhucpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2031 mepcore1_insn_word insn = entire_insn;
2032 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
2037 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2038 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2039 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
2041 /* Record the fields for the semantic handler. */
2042 FLD (f_cdisp10) = f_cdisp10;
2044 FLD (f_crn) = f_crn;
2045 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2046 if (UNLIKELY(current_cpu->trace_extract_p))
2048 current_cpu->trace_stream
2049 << "0x" << hex << pc << dec << " (sfmt_lhucpm0)\t"
2050 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
2051 << " f_rm:0x" << hex << f_rm << dec
2052 << " f_crn:0x" << hex << f_crn << dec
2056 /* Record the fields for profiling. */
2057 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2061 FLD (in_rma) = f_rm;
2062 FLD (out_rma) = f_rm;
2068 mepcore1_extract_sfmt_lbucpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2069 mepcore1_insn_word insn = entire_insn;
2070 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
2075 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2076 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2077 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
2079 /* Record the fields for the semantic handler. */
2080 FLD (f_cdisp10) = f_cdisp10;
2082 FLD (f_crn) = f_crn;
2083 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2084 if (UNLIKELY(current_cpu->trace_extract_p))
2086 current_cpu->trace_stream
2087 << "0x" << hex << pc << dec << " (sfmt_lbucpm1)\t"
2088 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
2089 << " f_rm:0x" << hex << f_rm << dec
2090 << " f_crn:0x" << hex << f_crn << dec
2094 /* Record the fields for profiling. */
2095 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2099 FLD (in_rma) = f_rm;
2100 FLD (out_rma) = f_rm;
2106 mepcore1_extract_sfmt_lhucpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2107 mepcore1_insn_word insn = entire_insn;
2108 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
2113 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2114 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2115 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
2117 /* Record the fields for the semantic handler. */
2118 FLD (f_cdisp10) = f_cdisp10;
2120 FLD (f_crn) = f_crn;
2121 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2122 if (UNLIKELY(current_cpu->trace_extract_p))
2124 current_cpu->trace_stream
2125 << "0x" << hex << pc << dec << " (sfmt_lhucpm1)\t"
2126 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
2127 << " f_rm:0x" << hex << f_rm << dec
2128 << " f_crn:0x" << hex << f_crn << dec
2132 /* Record the fields for profiling. */
2133 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2137 FLD (in_rma) = f_rm;
2138 FLD (out_rma) = f_rm;
2144 mepcore1_extract_sfmt_uci (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2145 mepcore1_insn_word insn = entire_insn;
2146 #define FLD(f) abuf->fields.sfmt_uci.f
2151 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2152 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2153 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
2155 /* Record the fields for the semantic handler. */
2158 FLD (f_16u16) = f_16u16;
2159 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
2160 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
2161 if (UNLIKELY(current_cpu->trace_extract_p))
2163 current_cpu->trace_stream
2164 << "0x" << hex << pc << dec << " (sfmt_uci)\t"
2165 << " f_rm:0x" << hex << f_rm << dec
2166 << " f_rn:0x" << hex << f_rn << dec
2167 << " f_16u16:0x" << hex << f_16u16 << dec
2171 /* Record the fields for profiling. */
2172 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2176 FLD (out_rn) = f_rn;
2182 mepcore1_extract_sfmt_dsp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2183 mepcore1_insn_word insn = entire_insn;
2184 #define FLD(f) abuf->fields.sfmt_uci.f
2189 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2190 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2191 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
2193 /* Record the fields for the semantic handler. */
2196 FLD (f_16u16) = f_16u16;
2197 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
2198 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
2199 if (UNLIKELY(current_cpu->trace_extract_p))
2201 current_cpu->trace_stream
2202 << "0x" << hex << pc << dec << " (sfmt_dsp)\t"
2203 << " f_rm:0x" << hex << f_rm << dec
2204 << " f_rn:0x" << hex << f_rn << dec
2205 << " f_16u16:0x" << hex << f_16u16 << dec
2209 /* Record the fields for profiling. */
2210 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2214 FLD (out_rn) = f_rn;
2220 mepcore1_extract_sfmt_sb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2221 mepcore1_insn_word insn = entire_insn;
2222 #define FLD(f) abuf->fields.sfmt_sb16.f
2226 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2227 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2229 /* Record the fields for the semantic handler. */
2232 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2233 FLD (i_rnc) = & current_cpu->hardware.h_gpr[f_rn];
2234 if (UNLIKELY(current_cpu->trace_extract_p))
2236 current_cpu->trace_stream
2237 << "0x" << hex << pc << dec << " (sfmt_sb)\t"
2238 << " f_rm:0x" << hex << f_rm << dec
2239 << " f_rn:0x" << hex << f_rn << dec
2243 /* Record the fields for profiling. */
2244 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2246 FLD (in_rma) = f_rm;
2247 FLD (in_rnc) = f_rn;
2253 mepcore1_extract_sfmt_sh (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2254 mepcore1_insn_word insn = entire_insn;
2255 #define FLD(f) abuf->fields.sfmt_sh16.f
2259 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2260 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2262 /* Record the fields for the semantic handler. */
2265 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2266 FLD (i_rns) = & current_cpu->hardware.h_gpr[f_rn];
2267 if (UNLIKELY(current_cpu->trace_extract_p))
2269 current_cpu->trace_stream
2270 << "0x" << hex << pc << dec << " (sfmt_sh)\t"
2271 << " f_rm:0x" << hex << f_rm << dec
2272 << " f_rn:0x" << hex << f_rn << dec
2276 /* Record the fields for profiling. */
2277 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2279 FLD (in_rma) = f_rm;
2280 FLD (in_rns) = f_rn;
2286 mepcore1_extract_sfmt_sw (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2287 mepcore1_insn_word insn = entire_insn;
2288 #define FLD(f) abuf->fields.sfmt_sw16.f
2292 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2293 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2295 /* Record the fields for the semantic handler. */
2298 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2299 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2300 if (UNLIKELY(current_cpu->trace_extract_p))
2302 current_cpu->trace_stream
2303 << "0x" << hex << pc << dec << " (sfmt_sw)\t"
2304 << " f_rm:0x" << hex << f_rm << dec
2305 << " f_rn:0x" << hex << f_rn << dec
2309 /* Record the fields for profiling. */
2310 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2312 FLD (in_rma) = f_rm;
2313 FLD (in_rnl) = f_rn;
2319 mepcore1_extract_sfmt_lb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2320 mepcore1_insn_word insn = entire_insn;
2321 #define FLD(f) abuf->fields.sfmt_lb16.f
2325 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2326 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2328 /* Record the fields for the semantic handler. */
2331 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2332 FLD (i_rnc) = & current_cpu->hardware.h_gpr[f_rn];
2333 if (UNLIKELY(current_cpu->trace_extract_p))
2335 current_cpu->trace_stream
2336 << "0x" << hex << pc << dec << " (sfmt_lb)\t"
2337 << " f_rm:0x" << hex << f_rm << dec
2338 << " f_rn:0x" << hex << f_rn << dec
2342 /* Record the fields for profiling. */
2343 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2345 FLD (in_rma) = f_rm;
2346 FLD (out_rnc) = f_rn;
2352 mepcore1_extract_sfmt_lh (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2353 mepcore1_insn_word insn = entire_insn;
2354 #define FLD(f) abuf->fields.sfmt_lh16.f
2358 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2359 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2361 /* Record the fields for the semantic handler. */
2364 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2365 FLD (i_rns) = & current_cpu->hardware.h_gpr[f_rn];
2366 if (UNLIKELY(current_cpu->trace_extract_p))
2368 current_cpu->trace_stream
2369 << "0x" << hex << pc << dec << " (sfmt_lh)\t"
2370 << " f_rm:0x" << hex << f_rm << dec
2371 << " f_rn:0x" << hex << f_rn << dec
2375 /* Record the fields for profiling. */
2376 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2378 FLD (in_rma) = f_rm;
2379 FLD (out_rns) = f_rn;
2385 mepcore1_extract_sfmt_lw (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2386 mepcore1_insn_word insn = entire_insn;
2387 #define FLD(f) abuf->fields.sfmt_lw16.f
2391 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2392 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2394 /* Record the fields for the semantic handler. */
2397 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2398 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2399 if (UNLIKELY(current_cpu->trace_extract_p))
2401 current_cpu->trace_stream
2402 << "0x" << hex << pc << dec << " (sfmt_lw)\t"
2403 << " f_rm:0x" << hex << f_rm << dec
2404 << " f_rn:0x" << hex << f_rn << dec
2408 /* Record the fields for profiling. */
2409 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2411 FLD (in_rma) = f_rm;
2412 FLD (out_rnl) = f_rn;
2418 mepcore1_extract_sfmt_lbu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2419 mepcore1_insn_word insn = entire_insn;
2420 #define FLD(f) abuf->fields.sfmt_lbu16.f
2424 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2425 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2427 /* Record the fields for the semantic handler. */
2430 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2431 FLD (i_rnuc) = & current_cpu->hardware.h_gpr[f_rn];
2432 if (UNLIKELY(current_cpu->trace_extract_p))
2434 current_cpu->trace_stream
2435 << "0x" << hex << pc << dec << " (sfmt_lbu)\t"
2436 << " f_rm:0x" << hex << f_rm << dec
2437 << " f_rn:0x" << hex << f_rn << dec
2441 /* Record the fields for profiling. */
2442 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2444 FLD (in_rma) = f_rm;
2445 FLD (out_rnuc) = f_rn;
2451 mepcore1_extract_sfmt_lhu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2452 mepcore1_insn_word insn = entire_insn;
2453 #define FLD(f) abuf->fields.sfmt_lhu16.f
2457 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2458 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2460 /* Record the fields for the semantic handler. */
2463 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2464 FLD (i_rnus) = & current_cpu->hardware.h_gpr[f_rn];
2465 if (UNLIKELY(current_cpu->trace_extract_p))
2467 current_cpu->trace_stream
2468 << "0x" << hex << pc << dec << " (sfmt_lhu)\t"
2469 << " f_rm:0x" << hex << f_rm << dec
2470 << " f_rn:0x" << hex << f_rn << dec
2474 /* Record the fields for profiling. */
2475 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2477 FLD (in_rma) = f_rm;
2478 FLD (out_rnus) = f_rn;
2484 mepcore1_extract_sfmt_sw_sp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2485 mepcore1_insn_word insn = entire_insn;
2486 #define FLD(f) abuf->fields.sfmt_sw_sp.f
2490 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2491 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
2493 /* Record the fields for the semantic handler. */
2495 FLD (f_7u9a4) = f_7u9a4;
2496 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2497 if (UNLIKELY(current_cpu->trace_extract_p))
2499 current_cpu->trace_stream
2500 << "0x" << hex << pc << dec << " (sfmt_sw_sp)\t"
2501 << " f_rn:0x" << hex << f_rn << dec
2502 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
2506 /* Record the fields for profiling. */
2507 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2509 FLD (in_rnl) = f_rn;
2516 mepcore1_extract_sfmt_lw_sp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2517 mepcore1_insn_word insn = entire_insn;
2518 #define FLD(f) abuf->fields.sfmt_lw_sp.f
2522 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2523 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
2525 /* Record the fields for the semantic handler. */
2526 FLD (f_7u9a4) = f_7u9a4;
2528 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2529 if (UNLIKELY(current_cpu->trace_extract_p))
2531 current_cpu->trace_stream
2532 << "0x" << hex << pc << dec << " (sfmt_lw_sp)\t"
2533 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
2534 << " f_rn:0x" << hex << f_rn << dec
2538 /* Record the fields for profiling. */
2539 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2542 FLD (out_rnl) = f_rn;
2548 mepcore1_extract_sfmt_sb_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2549 mepcore1_insn_word insn = entire_insn;
2550 #define FLD(f) abuf->fields.sfmt_sb_tp.f
2554 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2555 f_7u9 = EXTRACT_MSB0_UINT (insn, 16, 9, 7);
2557 /* Record the fields for the semantic handler. */
2558 FLD (f_rn3) = f_rn3;
2559 FLD (f_7u9) = f_7u9;
2560 FLD (i_rn3c) = & current_cpu->hardware.h_gpr[f_rn3];
2561 if (UNLIKELY(current_cpu->trace_extract_p))
2563 current_cpu->trace_stream
2564 << "0x" << hex << pc << dec << " (sfmt_sb_tp)\t"
2565 << " f_rn3:0x" << hex << f_rn3 << dec
2566 << " f_7u9:0x" << hex << f_7u9 << dec
2570 /* Record the fields for profiling. */
2571 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2573 FLD (in_rn3c) = f_rn3;
2580 mepcore1_extract_sfmt_sh_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2581 mepcore1_insn_word insn = entire_insn;
2582 #define FLD(f) abuf->fields.sfmt_sh_tp.f
2586 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2587 f_7u9a2 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 6)) << (1));
2589 /* Record the fields for the semantic handler. */
2590 FLD (f_rn3) = f_rn3;
2591 FLD (f_7u9a2) = f_7u9a2;
2592 FLD (i_rn3s) = & current_cpu->hardware.h_gpr[f_rn3];
2593 if (UNLIKELY(current_cpu->trace_extract_p))
2595 current_cpu->trace_stream
2596 << "0x" << hex << pc << dec << " (sfmt_sh_tp)\t"
2597 << " f_rn3:0x" << hex << f_rn3 << dec
2598 << " f_7u9a2:0x" << hex << f_7u9a2 << dec
2602 /* Record the fields for profiling. */
2603 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2605 FLD (in_rn3s) = f_rn3;
2612 mepcore1_extract_sfmt_sw_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2613 mepcore1_insn_word insn = entire_insn;
2614 #define FLD(f) abuf->fields.sfmt_sw_tp.f
2618 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2619 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
2621 /* Record the fields for the semantic handler. */
2622 FLD (f_rn3) = f_rn3;
2623 FLD (f_7u9a4) = f_7u9a4;
2624 FLD (i_rn3l) = & current_cpu->hardware.h_gpr[f_rn3];
2625 if (UNLIKELY(current_cpu->trace_extract_p))
2627 current_cpu->trace_stream
2628 << "0x" << hex << pc << dec << " (sfmt_sw_tp)\t"
2629 << " f_rn3:0x" << hex << f_rn3 << dec
2630 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
2634 /* Record the fields for profiling. */
2635 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2637 FLD (in_rn3l) = f_rn3;
2644 mepcore1_extract_sfmt_lb_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2645 mepcore1_insn_word insn = entire_insn;
2646 #define FLD(f) abuf->fields.sfmt_lb_tp.f
2650 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2651 f_7u9 = EXTRACT_MSB0_UINT (insn, 16, 9, 7);
2653 /* Record the fields for the semantic handler. */
2654 FLD (f_7u9) = f_7u9;
2655 FLD (f_rn3) = f_rn3;
2656 FLD (i_rn3c) = & current_cpu->hardware.h_gpr[f_rn3];
2657 if (UNLIKELY(current_cpu->trace_extract_p))
2659 current_cpu->trace_stream
2660 << "0x" << hex << pc << dec << " (sfmt_lb_tp)\t"
2661 << " f_7u9:0x" << hex << f_7u9 << dec
2662 << " f_rn3:0x" << hex << f_rn3 << dec
2666 /* Record the fields for profiling. */
2667 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2670 FLD (out_rn3c) = f_rn3;
2676 mepcore1_extract_sfmt_lh_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2677 mepcore1_insn_word insn = entire_insn;
2678 #define FLD(f) abuf->fields.sfmt_lh_tp.f
2682 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2683 f_7u9a2 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 6)) << (1));
2685 /* Record the fields for the semantic handler. */
2686 FLD (f_7u9a2) = f_7u9a2;
2687 FLD (f_rn3) = f_rn3;
2688 FLD (i_rn3s) = & current_cpu->hardware.h_gpr[f_rn3];
2689 if (UNLIKELY(current_cpu->trace_extract_p))
2691 current_cpu->trace_stream
2692 << "0x" << hex << pc << dec << " (sfmt_lh_tp)\t"
2693 << " f_7u9a2:0x" << hex << f_7u9a2 << dec
2694 << " f_rn3:0x" << hex << f_rn3 << dec
2698 /* Record the fields for profiling. */
2699 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2702 FLD (out_rn3s) = f_rn3;
2708 mepcore1_extract_sfmt_lw_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2709 mepcore1_insn_word insn = entire_insn;
2710 #define FLD(f) abuf->fields.sfmt_lw_tp.f
2714 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2715 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
2717 /* Record the fields for the semantic handler. */
2718 FLD (f_7u9a4) = f_7u9a4;
2719 FLD (f_rn3) = f_rn3;
2720 FLD (i_rn3l) = & current_cpu->hardware.h_gpr[f_rn3];
2721 if (UNLIKELY(current_cpu->trace_extract_p))
2723 current_cpu->trace_stream
2724 << "0x" << hex << pc << dec << " (sfmt_lw_tp)\t"
2725 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
2726 << " f_rn3:0x" << hex << f_rn3 << dec
2730 /* Record the fields for profiling. */
2731 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2734 FLD (out_rn3l) = f_rn3;
2740 mepcore1_extract_sfmt_lbu_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2741 mepcore1_insn_word insn = entire_insn;
2742 #define FLD(f) abuf->fields.sfmt_lbu_tp.f
2746 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2747 f_7u9 = EXTRACT_MSB0_UINT (insn, 16, 9, 7);
2749 /* Record the fields for the semantic handler. */
2750 FLD (f_7u9) = f_7u9;
2751 FLD (f_rn3) = f_rn3;
2752 FLD (i_rn3uc) = & current_cpu->hardware.h_gpr[f_rn3];
2753 if (UNLIKELY(current_cpu->trace_extract_p))
2755 current_cpu->trace_stream
2756 << "0x" << hex << pc << dec << " (sfmt_lbu_tp)\t"
2757 << " f_7u9:0x" << hex << f_7u9 << dec
2758 << " f_rn3:0x" << hex << f_rn3 << dec
2762 /* Record the fields for profiling. */
2763 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2766 FLD (out_rn3uc) = f_rn3;
2772 mepcore1_extract_sfmt_lhu_tp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2773 mepcore1_insn_word insn = entire_insn;
2774 #define FLD(f) abuf->fields.sfmt_lhu_tp.f
2778 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2779 f_7u9a2 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 6)) << (1));
2781 /* Record the fields for the semantic handler. */
2782 FLD (f_7u9a2) = f_7u9a2;
2783 FLD (f_rn3) = f_rn3;
2784 FLD (i_rn3us) = & current_cpu->hardware.h_gpr[f_rn3];
2785 if (UNLIKELY(current_cpu->trace_extract_p))
2787 current_cpu->trace_stream
2788 << "0x" << hex << pc << dec << " (sfmt_lhu_tp)\t"
2789 << " f_7u9a2:0x" << hex << f_7u9a2 << dec
2790 << " f_rn3:0x" << hex << f_rn3 << dec
2794 /* Record the fields for profiling. */
2795 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2798 FLD (out_rn3us) = f_rn3;
2804 mepcore1_extract_sfmt_sb16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2805 mepcore1_insn_word insn = entire_insn;
2806 #define FLD(f) abuf->fields.sfmt_sb16.f
2811 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2812 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2813 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2815 /* Record the fields for the semantic handler. */
2818 FLD (f_16s16) = f_16s16;
2819 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2820 FLD (i_rnc) = & current_cpu->hardware.h_gpr[f_rn];
2821 if (UNLIKELY(current_cpu->trace_extract_p))
2823 current_cpu->trace_stream
2824 << "0x" << hex << pc << dec << " (sfmt_sb16)\t"
2825 << " f_rm:0x" << hex << f_rm << dec
2826 << " f_rn:0x" << hex << f_rn << dec
2827 << " f_16s16:0x" << hex << f_16s16 << dec
2831 /* Record the fields for profiling. */
2832 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2834 FLD (in_rma) = f_rm;
2835 FLD (in_rnc) = f_rn;
2841 mepcore1_extract_sfmt_sh16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2842 mepcore1_insn_word insn = entire_insn;
2843 #define FLD(f) abuf->fields.sfmt_sh16.f
2848 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2849 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2850 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2852 /* Record the fields for the semantic handler. */
2855 FLD (f_16s16) = f_16s16;
2856 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2857 FLD (i_rns) = & current_cpu->hardware.h_gpr[f_rn];
2858 if (UNLIKELY(current_cpu->trace_extract_p))
2860 current_cpu->trace_stream
2861 << "0x" << hex << pc << dec << " (sfmt_sh16)\t"
2862 << " f_rm:0x" << hex << f_rm << dec
2863 << " f_rn:0x" << hex << f_rn << dec
2864 << " f_16s16:0x" << hex << f_16s16 << dec
2868 /* Record the fields for profiling. */
2869 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2871 FLD (in_rma) = f_rm;
2872 FLD (in_rns) = f_rn;
2878 mepcore1_extract_sfmt_sw16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2879 mepcore1_insn_word insn = entire_insn;
2880 #define FLD(f) abuf->fields.sfmt_sw16.f
2885 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2886 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2887 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2889 /* Record the fields for the semantic handler. */
2892 FLD (f_16s16) = f_16s16;
2893 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2894 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2895 if (UNLIKELY(current_cpu->trace_extract_p))
2897 current_cpu->trace_stream
2898 << "0x" << hex << pc << dec << " (sfmt_sw16)\t"
2899 << " f_rm:0x" << hex << f_rm << dec
2900 << " f_rn:0x" << hex << f_rn << dec
2901 << " f_16s16:0x" << hex << f_16s16 << dec
2905 /* Record the fields for profiling. */
2906 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2908 FLD (in_rma) = f_rm;
2909 FLD (in_rnl) = f_rn;
2915 mepcore1_extract_sfmt_lb16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2916 mepcore1_insn_word insn = entire_insn;
2917 #define FLD(f) abuf->fields.sfmt_lb16.f
2922 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2923 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2924 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2926 /* Record the fields for the semantic handler. */
2928 FLD (f_16s16) = f_16s16;
2930 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2931 FLD (i_rnc) = & current_cpu->hardware.h_gpr[f_rn];
2932 if (UNLIKELY(current_cpu->trace_extract_p))
2934 current_cpu->trace_stream
2935 << "0x" << hex << pc << dec << " (sfmt_lb16)\t"
2936 << " f_rm:0x" << hex << f_rm << dec
2937 << " f_16s16:0x" << hex << f_16s16 << dec
2938 << " f_rn:0x" << hex << f_rn << dec
2942 /* Record the fields for profiling. */
2943 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2945 FLD (in_rma) = f_rm;
2946 FLD (out_rnc) = f_rn;
2952 mepcore1_extract_sfmt_lh16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2953 mepcore1_insn_word insn = entire_insn;
2954 #define FLD(f) abuf->fields.sfmt_lh16.f
2959 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2960 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2961 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2963 /* Record the fields for the semantic handler. */
2965 FLD (f_16s16) = f_16s16;
2967 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2968 FLD (i_rns) = & current_cpu->hardware.h_gpr[f_rn];
2969 if (UNLIKELY(current_cpu->trace_extract_p))
2971 current_cpu->trace_stream
2972 << "0x" << hex << pc << dec << " (sfmt_lh16)\t"
2973 << " f_rm:0x" << hex << f_rm << dec
2974 << " f_16s16:0x" << hex << f_16s16 << dec
2975 << " f_rn:0x" << hex << f_rn << dec
2979 /* Record the fields for profiling. */
2980 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2982 FLD (in_rma) = f_rm;
2983 FLD (out_rns) = f_rn;
2989 mepcore1_extract_sfmt_lw16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2990 mepcore1_insn_word insn = entire_insn;
2991 #define FLD(f) abuf->fields.sfmt_lw16.f
2996 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2997 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2998 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3000 /* Record the fields for the semantic handler. */
3002 FLD (f_16s16) = f_16s16;
3004 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
3005 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
3006 if (UNLIKELY(current_cpu->trace_extract_p))
3008 current_cpu->trace_stream
3009 << "0x" << hex << pc << dec << " (sfmt_lw16)\t"
3010 << " f_rm:0x" << hex << f_rm << dec
3011 << " f_16s16:0x" << hex << f_16s16 << dec
3012 << " f_rn:0x" << hex << f_rn << dec
3016 /* Record the fields for profiling. */
3017 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3019 FLD (in_rma) = f_rm;
3020 FLD (out_rnl) = f_rn;
3026 mepcore1_extract_sfmt_lbu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3027 mepcore1_insn_word insn = entire_insn;
3028 #define FLD(f) abuf->fields.sfmt_lbu16.f
3033 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3034 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3035 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3037 /* Record the fields for the semantic handler. */
3039 FLD (f_16s16) = f_16s16;
3041 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
3042 FLD (i_rnuc) = & current_cpu->hardware.h_gpr[f_rn];
3043 if (UNLIKELY(current_cpu->trace_extract_p))
3045 current_cpu->trace_stream
3046 << "0x" << hex << pc << dec << " (sfmt_lbu16)\t"
3047 << " f_rm:0x" << hex << f_rm << dec
3048 << " f_16s16:0x" << hex << f_16s16 << dec
3049 << " f_rn:0x" << hex << f_rn << dec
3053 /* Record the fields for profiling. */
3054 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3056 FLD (in_rma) = f_rm;
3057 FLD (out_rnuc) = f_rn;
3063 mepcore1_extract_sfmt_lhu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3064 mepcore1_insn_word insn = entire_insn;
3065 #define FLD(f) abuf->fields.sfmt_lhu16.f
3070 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3071 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3072 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3074 /* Record the fields for the semantic handler. */
3076 FLD (f_16s16) = f_16s16;
3078 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
3079 FLD (i_rnus) = & current_cpu->hardware.h_gpr[f_rn];
3080 if (UNLIKELY(current_cpu->trace_extract_p))
3082 current_cpu->trace_stream
3083 << "0x" << hex << pc << dec << " (sfmt_lhu16)\t"
3084 << " f_rm:0x" << hex << f_rm << dec
3085 << " f_16s16:0x" << hex << f_16s16 << dec
3086 << " f_rn:0x" << hex << f_rn << dec
3090 /* Record the fields for profiling. */
3091 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3093 FLD (in_rma) = f_rm;
3094 FLD (out_rnus) = f_rn;
3100 mepcore1_extract_sfmt_sw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3101 mepcore1_insn_word insn = entire_insn;
3102 #define FLD(f) abuf->fields.sfmt_sw24.f
3108 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3109 f_24u8a4n_lo = EXTRACT_MSB0_UINT (insn, 32, 8, 6);
3110 f_24u8a4n_hi = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3111 f_24u8a4n = ((((f_24u8a4n_hi) << (8))) | (((f_24u8a4n_lo) << (2))));
3113 /* Record the fields for the semantic handler. */
3114 FLD (f_24u8a4n) = f_24u8a4n;
3116 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
3117 if (UNLIKELY(current_cpu->trace_extract_p))
3119 current_cpu->trace_stream
3120 << "0x" << hex << pc << dec << " (sfmt_sw24)\t"
3121 << " f_24u8a4n:0x" << hex << f_24u8a4n << dec
3122 << " f_rn:0x" << hex << f_rn << dec
3126 /* Record the fields for profiling. */
3127 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3129 FLD (in_rnl) = f_rn;
3135 mepcore1_extract_sfmt_lw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3136 mepcore1_insn_word insn = entire_insn;
3137 #define FLD(f) abuf->fields.sfmt_lw24.f
3143 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3144 f_24u8a4n_lo = EXTRACT_MSB0_UINT (insn, 32, 8, 6);
3145 f_24u8a4n_hi = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3146 f_24u8a4n = ((((f_24u8a4n_hi) << (8))) | (((f_24u8a4n_lo) << (2))));
3148 /* Record the fields for the semantic handler. */
3149 FLD (f_24u8a4n) = f_24u8a4n;
3151 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
3152 if (UNLIKELY(current_cpu->trace_extract_p))
3154 current_cpu->trace_stream
3155 << "0x" << hex << pc << dec << " (sfmt_lw24)\t"
3156 << " f_24u8a4n:0x" << hex << f_24u8a4n << dec
3157 << " f_rn:0x" << hex << f_rn << dec
3161 /* Record the fields for profiling. */
3162 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3164 FLD (out_rnl) = f_rn;
3170 mepcore1_extract_sfmt_extb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3171 mepcore1_insn_word insn = entire_insn;
3172 #define FLD(f) abuf->fields.sfmt_clip.f
3175 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3177 /* Record the fields for the semantic handler. */
3179 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3180 if (UNLIKELY(current_cpu->trace_extract_p))
3182 current_cpu->trace_stream
3183 << "0x" << hex << pc << dec << " (sfmt_extb)\t"
3184 << " f_rn:0x" << hex << f_rn << dec
3188 /* Record the fields for profiling. */
3189 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3192 FLD (out_rn) = f_rn;
3198 mepcore1_extract_sfmt_ssarb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3199 mepcore1_insn_word insn = entire_insn;
3200 #define FLD(f) abuf->fields.sfmt_ssarb.f
3204 f_2u6 = EXTRACT_MSB0_UINT (insn, 16, 6, 2);
3205 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3207 /* Record the fields for the semantic handler. */
3209 FLD (f_2u6) = f_2u6;
3210 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3211 if (UNLIKELY(current_cpu->trace_extract_p))
3213 current_cpu->trace_stream
3214 << "0x" << hex << pc << dec << " (sfmt_ssarb)\t"
3215 << " f_rm:0x" << hex << f_rm << dec
3216 << " f_2u6:0x" << hex << f_2u6 << dec
3220 /* Record the fields for profiling. */
3221 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3230 mepcore1_extract_sfmt_mov (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3231 mepcore1_insn_word insn = entire_insn;
3232 #define FLD(f) abuf->fields.sfmt_add3x.f
3236 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3237 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3239 /* Record the fields for the semantic handler. */
3242 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3243 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3244 if (UNLIKELY(current_cpu->trace_extract_p))
3246 current_cpu->trace_stream
3247 << "0x" << hex << pc << dec << " (sfmt_mov)\t"
3248 << " f_rm:0x" << hex << f_rm << dec
3249 << " f_rn:0x" << hex << f_rn << dec
3253 /* Record the fields for profiling. */
3254 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3257 FLD (out_rn) = f_rn;
3263 mepcore1_extract_sfmt_movi8 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3264 mepcore1_insn_word insn = entire_insn;
3265 #define FLD(f) abuf->fields.sfmt_movi8.f
3269 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3270 f_8s8 = EXTRACT_MSB0_SINT (insn, 16, 8, 8);
3272 /* Record the fields for the semantic handler. */
3273 FLD (f_8s8) = f_8s8;
3275 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3276 if (UNLIKELY(current_cpu->trace_extract_p))
3278 current_cpu->trace_stream
3279 << "0x" << hex << pc << dec << " (sfmt_movi8)\t"
3280 << " f_8s8:0x" << hex << f_8s8 << dec
3281 << " f_rn:0x" << hex << f_rn << dec
3285 /* Record the fields for profiling. */
3286 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3288 FLD (out_rn) = f_rn;
3294 mepcore1_extract_sfmt_movi16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3295 mepcore1_insn_word insn = entire_insn;
3296 #define FLD(f) abuf->fields.sfmt_add3x.f
3300 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3301 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3303 /* Record the fields for the semantic handler. */
3304 FLD (f_16s16) = f_16s16;
3306 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3307 if (UNLIKELY(current_cpu->trace_extract_p))
3309 current_cpu->trace_stream
3310 << "0x" << hex << pc << dec << " (sfmt_movi16)\t"
3311 << " f_16s16:0x" << hex << f_16s16 << dec
3312 << " f_rn:0x" << hex << f_rn << dec
3316 /* Record the fields for profiling. */
3317 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3319 FLD (out_rn) = f_rn;
3325 mepcore1_extract_sfmt_movu24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3326 mepcore1_insn_word insn = entire_insn;
3327 #define FLD(f) abuf->fields.sfmt_movu24.f
3333 f_rn3 = EXTRACT_MSB0_UINT (insn, 32, 5, 3);
3334 f_24u8n_lo = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
3335 f_24u8n_hi = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3336 f_24u8n = ((((f_24u8n_hi) << (8))) | (f_24u8n_lo));
3338 /* Record the fields for the semantic handler. */
3339 FLD (f_24u8n) = f_24u8n;
3340 FLD (f_rn3) = f_rn3;
3341 FLD (i_rn3) = & current_cpu->hardware.h_gpr[f_rn3];
3342 if (UNLIKELY(current_cpu->trace_extract_p))
3344 current_cpu->trace_stream
3345 << "0x" << hex << pc << dec << " (sfmt_movu24)\t"
3346 << " f_24u8n:0x" << hex << f_24u8n << dec
3347 << " f_rn3:0x" << hex << f_rn3 << dec
3351 /* Record the fields for profiling. */
3352 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3354 FLD (out_rn3) = f_rn3;
3360 mepcore1_extract_sfmt_movu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3361 mepcore1_insn_word insn = entire_insn;
3362 #define FLD(f) abuf->fields.sfmt_uci.f
3366 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3367 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3369 /* Record the fields for the semantic handler. */
3370 FLD (f_16u16) = f_16u16;
3372 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3373 if (UNLIKELY(current_cpu->trace_extract_p))
3375 current_cpu->trace_stream
3376 << "0x" << hex << pc << dec << " (sfmt_movu16)\t"
3377 << " f_16u16:0x" << hex << f_16u16 << dec
3378 << " f_rn:0x" << hex << f_rn << dec
3382 /* Record the fields for profiling. */
3383 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3385 FLD (out_rn) = f_rn;
3391 mepcore1_extract_sfmt_add3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3392 mepcore1_insn_word insn = entire_insn;
3393 #define FLD(f) abuf->fields.sfmt_add3.f
3398 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3399 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3400 f_rl = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3402 /* Record the fields for the semantic handler. */
3406 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3407 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3408 FLD (i_rl) = & current_cpu->hardware.h_gpr[f_rl];
3409 if (UNLIKELY(current_cpu->trace_extract_p))
3411 current_cpu->trace_stream
3412 << "0x" << hex << pc << dec << " (sfmt_add3)\t"
3413 << " f_rm:0x" << hex << f_rm << dec
3414 << " f_rn:0x" << hex << f_rn << dec
3415 << " f_rl:0x" << hex << f_rl << dec
3419 /* Record the fields for profiling. */
3420 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3424 FLD (out_rl) = f_rl;
3430 mepcore1_extract_sfmt_add (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3431 mepcore1_insn_word insn = entire_insn;
3432 #define FLD(f) abuf->fields.sfmt_add.f
3436 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3437 f_6s8 = EXTRACT_MSB0_SINT (insn, 16, 8, 6);
3439 /* Record the fields for the semantic handler. */
3441 FLD (f_6s8) = f_6s8;
3442 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3443 if (UNLIKELY(current_cpu->trace_extract_p))
3445 current_cpu->trace_stream
3446 << "0x" << hex << pc << dec << " (sfmt_add)\t"
3447 << " f_rn:0x" << hex << f_rn << dec
3448 << " f_6s8:0x" << hex << f_6s8 << dec
3452 /* Record the fields for profiling. */
3453 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3456 FLD (out_rn) = f_rn;
3462 mepcore1_extract_sfmt_add3i (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3463 mepcore1_insn_word insn = entire_insn;
3464 #define FLD(f) abuf->fields.sfmt_add3i.f
3468 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3469 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
3471 /* Record the fields for the semantic handler. */
3472 FLD (f_7u9a4) = f_7u9a4;
3474 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3475 if (UNLIKELY(current_cpu->trace_extract_p))
3477 current_cpu->trace_stream
3478 << "0x" << hex << pc << dec << " (sfmt_add3i)\t"
3479 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
3480 << " f_rn:0x" << hex << f_rn << dec
3484 /* Record the fields for profiling. */
3485 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3488 FLD (out_rn) = f_rn;
3494 mepcore1_extract_sfmt_advck3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3495 mepcore1_insn_word insn = entire_insn;
3496 #define FLD(f) abuf->fields.sfmt_advck3.f
3500 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3501 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3503 /* Record the fields for the semantic handler. */
3506 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3507 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3508 if (UNLIKELY(current_cpu->trace_extract_p))
3510 current_cpu->trace_stream
3511 << "0x" << hex << pc << dec << " (sfmt_advck3)\t"
3512 << " f_rm:0x" << hex << f_rm << dec
3513 << " f_rn:0x" << hex << f_rn << dec
3517 /* Record the fields for profiling. */
3518 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3528 mepcore1_extract_sfmt_sub (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3529 mepcore1_insn_word insn = entire_insn;
3530 #define FLD(f) abuf->fields.sfmt_fsft.f
3534 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3535 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3537 /* Record the fields for the semantic handler. */
3540 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3541 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3542 if (UNLIKELY(current_cpu->trace_extract_p))
3544 current_cpu->trace_stream
3545 << "0x" << hex << pc << dec << " (sfmt_sub)\t"
3546 << " f_rm:0x" << hex << f_rm << dec
3547 << " f_rn:0x" << hex << f_rn << dec
3551 /* Record the fields for profiling. */
3552 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3556 FLD (out_rn) = f_rn;
3562 mepcore1_extract_sfmt_slt3i (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3563 mepcore1_insn_word insn = entire_insn;
3564 #define FLD(f) abuf->fields.sfmt_slt3i.f
3568 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3569 f_5u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 5);
3571 /* Record the fields for the semantic handler. */
3573 FLD (f_5u8) = f_5u8;
3574 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3575 if (UNLIKELY(current_cpu->trace_extract_p))
3577 current_cpu->trace_stream
3578 << "0x" << hex << pc << dec << " (sfmt_slt3i)\t"
3579 << " f_rn:0x" << hex << f_rn << dec
3580 << " f_5u8:0x" << hex << f_5u8 << dec
3584 /* Record the fields for profiling. */
3585 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3594 mepcore1_extract_sfmt_sl1ad3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3595 mepcore1_insn_word insn = entire_insn;
3596 #define FLD(f) abuf->fields.sfmt_advck3.f
3600 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3601 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3603 /* Record the fields for the semantic handler. */
3606 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3607 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3608 if (UNLIKELY(current_cpu->trace_extract_p))
3610 current_cpu->trace_stream
3611 << "0x" << hex << pc << dec << " (sfmt_sl1ad3)\t"
3612 << " f_rm:0x" << hex << f_rm << dec
3613 << " f_rn:0x" << hex << f_rn << dec
3617 /* Record the fields for profiling. */
3618 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3628 mepcore1_extract_sfmt_add3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3629 mepcore1_insn_word insn = entire_insn;
3630 #define FLD(f) abuf->fields.sfmt_add3x.f
3635 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3636 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3637 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3639 /* Record the fields for the semantic handler. */
3641 FLD (f_16s16) = f_16s16;
3643 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3644 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3645 if (UNLIKELY(current_cpu->trace_extract_p))
3647 current_cpu->trace_stream
3648 << "0x" << hex << pc << dec << " (sfmt_add3x)\t"
3649 << " f_rm:0x" << hex << f_rm << dec
3650 << " f_16s16:0x" << hex << f_16s16 << dec
3651 << " f_rn:0x" << hex << f_rn << dec
3655 /* Record the fields for profiling. */
3656 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3659 FLD (out_rn) = f_rn;
3665 mepcore1_extract_sfmt_slt3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3666 mepcore1_insn_word insn = entire_insn;
3667 #define FLD(f) abuf->fields.sfmt_add3x.f
3672 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3673 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3674 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3676 /* Record the fields for the semantic handler. */
3678 FLD (f_16s16) = f_16s16;
3680 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3681 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3682 if (UNLIKELY(current_cpu->trace_extract_p))
3684 current_cpu->trace_stream
3685 << "0x" << hex << pc << dec << " (sfmt_slt3x)\t"
3686 << " f_rm:0x" << hex << f_rm << dec
3687 << " f_16s16:0x" << hex << f_16s16 << dec
3688 << " f_rn:0x" << hex << f_rn << dec
3692 /* Record the fields for profiling. */
3693 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3696 FLD (out_rn) = f_rn;
3702 mepcore1_extract_sfmt_sltu3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3703 mepcore1_insn_word insn = entire_insn;
3704 #define FLD(f) abuf->fields.sfmt_uci.f
3709 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3710 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3711 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3713 /* Record the fields for the semantic handler. */
3715 FLD (f_16u16) = f_16u16;
3717 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3718 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3719 if (UNLIKELY(current_cpu->trace_extract_p))
3721 current_cpu->trace_stream
3722 << "0x" << hex << pc << dec << " (sfmt_sltu3x)\t"
3723 << " f_rm:0x" << hex << f_rm << dec
3724 << " f_16u16:0x" << hex << f_16u16 << dec
3725 << " f_rn:0x" << hex << f_rn << dec
3729 /* Record the fields for profiling. */
3730 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3733 FLD (out_rn) = f_rn;
3739 mepcore1_extract_sfmt_or3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3740 mepcore1_insn_word insn = entire_insn;
3741 #define FLD(f) abuf->fields.sfmt_uci.f
3746 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3747 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3748 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3750 /* Record the fields for the semantic handler. */
3752 FLD (f_16u16) = f_16u16;
3754 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3755 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3756 if (UNLIKELY(current_cpu->trace_extract_p))
3758 current_cpu->trace_stream
3759 << "0x" << hex << pc << dec << " (sfmt_or3)\t"
3760 << " f_rm:0x" << hex << f_rm << dec
3761 << " f_16u16:0x" << hex << f_16u16 << dec
3762 << " f_rn:0x" << hex << f_rn << dec
3766 /* Record the fields for profiling. */
3767 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3770 FLD (out_rn) = f_rn;
3776 mepcore1_extract_sfmt_srai (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3777 mepcore1_insn_word insn = entire_insn;
3778 #define FLD(f) abuf->fields.sfmt_srai.f
3782 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3783 f_5u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 5);
3785 /* Record the fields for the semantic handler. */
3787 FLD (f_5u8) = f_5u8;
3788 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3789 if (UNLIKELY(current_cpu->trace_extract_p))
3791 current_cpu->trace_stream
3792 << "0x" << hex << pc << dec << " (sfmt_srai)\t"
3793 << " f_rn:0x" << hex << f_rn << dec
3794 << " f_5u8:0x" << hex << f_5u8 << dec
3798 /* Record the fields for profiling. */
3799 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3802 FLD (out_rn) = f_rn;
3808 mepcore1_extract_sfmt_sll3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3809 mepcore1_insn_word insn = entire_insn;
3810 #define FLD(f) abuf->fields.sfmt_slt3i.f
3814 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3815 f_5u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 5);
3817 /* Record the fields for the semantic handler. */
3819 FLD (f_5u8) = f_5u8;
3820 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3821 if (UNLIKELY(current_cpu->trace_extract_p))
3823 current_cpu->trace_stream
3824 << "0x" << hex << pc << dec << " (sfmt_sll3)\t"
3825 << " f_rn:0x" << hex << f_rn << dec
3826 << " f_5u8:0x" << hex << f_5u8 << dec
3830 /* Record the fields for profiling. */
3831 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3840 mepcore1_extract_sfmt_fsft (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3841 mepcore1_insn_word insn = entire_insn;
3842 #define FLD(f) abuf->fields.sfmt_fsft.f
3846 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3847 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3849 /* Record the fields for the semantic handler. */
3852 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3853 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3854 if (UNLIKELY(current_cpu->trace_extract_p))
3856 current_cpu->trace_stream
3857 << "0x" << hex << pc << dec << " (sfmt_fsft)\t"
3858 << " f_rm:0x" << hex << f_rm << dec
3859 << " f_rn:0x" << hex << f_rn << dec
3863 /* Record the fields for profiling. */
3864 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3869 FLD (out_rn) = f_rn;
3875 mepcore1_extract_sfmt_bra (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3876 mepcore1_insn_word insn = entire_insn;
3877 #define FLD(f) abuf->fields.sfmt_bsr12.f
3880 f_12s4a2 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 11)) << (1))) + (pc));
3882 /* Record the fields for the semantic handler. */
3883 FLD (f_12s4a2) = f_12s4a2;
3884 if (UNLIKELY(current_cpu->trace_extract_p))
3886 current_cpu->trace_stream
3887 << "0x" << hex << pc << dec << " (sfmt_bra)\t"
3888 << " f_12s4a2:0x" << hex << f_12s4a2 << dec
3892 /* Record the fields for profiling. */
3893 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3902 mepcore1_extract_sfmt_beqz (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3903 mepcore1_insn_word insn = entire_insn;
3904 #define FLD(f) abuf->fields.sfmt_beqz.f
3908 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3909 f_8s8a2 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 7)) << (1))) + (pc));
3911 /* Record the fields for the semantic handler. */
3912 FLD (f_8s8a2) = f_8s8a2;
3914 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3915 if (UNLIKELY(current_cpu->trace_extract_p))
3917 current_cpu->trace_stream
3918 << "0x" << hex << pc << dec << " (sfmt_beqz)\t"
3919 << " f_8s8a2:0x" << hex << f_8s8a2 << dec
3920 << " f_rn:0x" << hex << f_rn << dec
3924 /* Record the fields for profiling. */
3925 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3935 mepcore1_extract_sfmt_beqi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3936 mepcore1_insn_word insn = entire_insn;
3937 #define FLD(f) abuf->fields.sfmt_beqi.f
3942 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3943 f_4u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3944 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
3946 /* Record the fields for the semantic handler. */
3947 FLD (f_17s16a2) = f_17s16a2;
3949 FLD (f_4u8) = f_4u8;
3950 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3951 if (UNLIKELY(current_cpu->trace_extract_p))
3953 current_cpu->trace_stream
3954 << "0x" << hex << pc << dec << " (sfmt_beqi)\t"
3955 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
3956 << " f_rn:0x" << hex << f_rn << dec
3957 << " f_4u8:0x" << hex << f_4u8 << dec
3961 /* Record the fields for profiling. */
3962 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3972 mepcore1_extract_sfmt_beq (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3973 mepcore1_insn_word insn = entire_insn;
3974 #define FLD(f) abuf->fields.sfmt_beq.f
3979 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3980 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3981 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
3983 /* Record the fields for the semantic handler. */
3984 FLD (f_17s16a2) = f_17s16a2;
3987 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3988 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3989 if (UNLIKELY(current_cpu->trace_extract_p))
3991 current_cpu->trace_stream
3992 << "0x" << hex << pc << dec << " (sfmt_beq)\t"
3993 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
3994 << " f_rm:0x" << hex << f_rm << dec
3995 << " f_rn:0x" << hex << f_rn << dec
3999 /* Record the fields for profiling. */
4000 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4011 mepcore1_extract_sfmt_bsr12 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4012 mepcore1_insn_word insn = entire_insn;
4013 #define FLD(f) abuf->fields.sfmt_bsr12.f
4016 f_12s4a2 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 11)) << (1))) + (pc));
4018 /* Record the fields for the semantic handler. */
4019 FLD (f_12s4a2) = f_12s4a2;
4020 if (UNLIKELY(current_cpu->trace_extract_p))
4022 current_cpu->trace_stream
4023 << "0x" << hex << pc << dec << " (sfmt_bsr12)\t"
4024 << " f_12s4a2:0x" << hex << f_12s4a2 << dec
4028 /* Record the fields for profiling. */
4029 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4039 mepcore1_extract_sfmt_bsr24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4040 mepcore1_insn_word insn = entire_insn;
4041 #define FLD(f) abuf->fields.sfmt_bsr24.f
4046 f_24s5a2n_lo = EXTRACT_MSB0_UINT (insn, 32, 5, 7);
4047 f_24s5a2n_hi = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
4048 f_24s5a2n = ((((((f_24s5a2n_hi) << (8))) | (((f_24s5a2n_lo) << (1))))) + (pc));
4050 /* Record the fields for the semantic handler. */
4051 FLD (f_24s5a2n) = f_24s5a2n;
4052 if (UNLIKELY(current_cpu->trace_extract_p))
4054 current_cpu->trace_stream
4055 << "0x" << hex << pc << dec << " (sfmt_bsr24)\t"
4056 << " f_24s5a2n:0x" << hex << f_24s5a2n << dec
4060 /* Record the fields for profiling. */
4061 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4071 mepcore1_extract_sfmt_jmp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4072 mepcore1_insn_word insn = entire_insn;
4073 #define FLD(f) abuf->fields.sfmt_jsr.f
4076 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4078 /* Record the fields for the semantic handler. */
4080 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4081 if (UNLIKELY(current_cpu->trace_extract_p))
4083 current_cpu->trace_stream
4084 << "0x" << hex << pc << dec << " (sfmt_jmp)\t"
4085 << " f_rm:0x" << hex << f_rm << dec
4089 /* Record the fields for profiling. */
4090 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4100 mepcore1_extract_sfmt_jmp24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4101 mepcore1_insn_word insn = entire_insn;
4102 #define FLD(f) abuf->fields.sfmt_jmp24.f
4107 f_24u5a2n_lo = EXTRACT_MSB0_UINT (insn, 32, 5, 7);
4108 f_24u5a2n_hi = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4109 f_24u5a2n = ((((f_24u5a2n_hi) << (8))) | (((f_24u5a2n_lo) << (1))));
4111 /* Record the fields for the semantic handler. */
4112 FLD (f_24u5a2n) = f_24u5a2n;
4113 if (UNLIKELY(current_cpu->trace_extract_p))
4115 current_cpu->trace_stream
4116 << "0x" << hex << pc << dec << " (sfmt_jmp24)\t"
4117 << " f_24u5a2n:0x" << hex << f_24u5a2n << dec
4121 /* Record the fields for profiling. */
4122 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4131 mepcore1_extract_sfmt_jsr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4132 mepcore1_insn_word insn = entire_insn;
4133 #define FLD(f) abuf->fields.sfmt_jsr.f
4136 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4138 /* Record the fields for the semantic handler. */
4140 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4141 if (UNLIKELY(current_cpu->trace_extract_p))
4143 current_cpu->trace_stream
4144 << "0x" << hex << pc << dec << " (sfmt_jsr)\t"
4145 << " f_rm:0x" << hex << f_rm << dec
4149 /* Record the fields for profiling. */
4150 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4161 mepcore1_extract_sfmt_ret (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4162 mepcore1_insn_word insn = entire_insn;
4163 #define FLD(f) abuf->fields.sfmt_ret.f
4166 /* Record the fields for the semantic handler. */
4167 if (UNLIKELY(current_cpu->trace_extract_p))
4169 current_cpu->trace_stream
4170 << "0x" << hex << pc << dec << " (sfmt_ret)\t"
4174 /* Record the fields for profiling. */
4175 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4185 mepcore1_extract_sfmt_repeat (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4186 mepcore1_insn_word insn = entire_insn;
4187 #define FLD(f) abuf->fields.sfmt_repeat.f
4191 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4192 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
4194 /* Record the fields for the semantic handler. */
4195 FLD (f_17s16a2) = f_17s16a2;
4197 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4198 if (UNLIKELY(current_cpu->trace_extract_p))
4200 current_cpu->trace_stream
4201 << "0x" << hex << pc << dec << " (sfmt_repeat)\t"
4202 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
4203 << " f_rn:0x" << hex << f_rn << dec
4207 /* Record the fields for profiling. */
4208 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4213 FLD (out_h_csr_SI_4) = 4;
4214 FLD (out_h_csr_SI_5) = 5;
4215 FLD (out_h_csr_SI_6) = 6;
4221 mepcore1_extract_sfmt_erepeat (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4222 mepcore1_insn_word insn = entire_insn;
4223 #define FLD(f) abuf->fields.sfmt_repeat.f
4226 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
4228 /* Record the fields for the semantic handler. */
4229 FLD (f_17s16a2) = f_17s16a2;
4230 if (UNLIKELY(current_cpu->trace_extract_p))
4232 current_cpu->trace_stream
4233 << "0x" << hex << pc << dec << " (sfmt_erepeat)\t"
4234 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
4238 /* Record the fields for profiling. */
4239 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4243 FLD (out_h_csr_SI_4) = 4;
4244 FLD (out_h_csr_SI_5) = 5;
4245 FLD (out_h_csr_SI_6) = 6;
4251 mepcore1_extract_sfmt_stc_lp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4252 mepcore1_insn_word insn = entire_insn;
4253 #define FLD(f) abuf->fields.sfmt_stc_lp.f
4256 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4258 /* Record the fields for the semantic handler. */
4260 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4261 if (UNLIKELY(current_cpu->trace_extract_p))
4263 current_cpu->trace_stream
4264 << "0x" << hex << pc << dec << " (sfmt_stc_lp)\t"
4265 << " f_rn:0x" << hex << f_rn << dec
4269 /* Record the fields for profiling. */
4270 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4279 mepcore1_extract_sfmt_stc_hi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4280 mepcore1_insn_word insn = entire_insn;
4281 #define FLD(f) abuf->fields.sfmt_maddr.f
4284 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4286 /* Record the fields for the semantic handler. */
4288 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4289 if (UNLIKELY(current_cpu->trace_extract_p))
4291 current_cpu->trace_stream
4292 << "0x" << hex << pc << dec << " (sfmt_stc_hi)\t"
4293 << " f_rn:0x" << hex << f_rn << dec
4297 /* Record the fields for profiling. */
4298 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4307 mepcore1_extract_sfmt_stc_lo (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4308 mepcore1_insn_word insn = entire_insn;
4309 #define FLD(f) abuf->fields.sfmt_maddr.f
4312 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4314 /* Record the fields for the semantic handler. */
4316 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4317 if (UNLIKELY(current_cpu->trace_extract_p))
4319 current_cpu->trace_stream
4320 << "0x" << hex << pc << dec << " (sfmt_stc_lo)\t"
4321 << " f_rn:0x" << hex << f_rn << dec
4325 /* Record the fields for profiling. */
4326 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4335 mepcore1_extract_sfmt_stc (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4336 mepcore1_insn_word insn = entire_insn;
4337 #define FLD(f) abuf->fields.sfmt_stc.f
4343 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4344 f_csrn_lo = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4345 f_csrn_hi = EXTRACT_MSB0_UINT (insn, 16, 15, 1);
4346 f_csrn = ((((f_csrn_hi) << (4))) | (f_csrn_lo));
4348 /* Record the fields for the semantic handler. */
4350 FLD (f_csrn) = f_csrn;
4351 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4352 if (UNLIKELY(current_cpu->trace_extract_p))
4354 current_cpu->trace_stream
4355 << "0x" << hex << pc << dec << " (sfmt_stc)\t"
4356 << " f_rn:0x" << hex << f_rn << dec
4357 << " f_csrn:0x" << hex << f_csrn << dec
4361 /* Record the fields for profiling. */
4362 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4365 FLD (out_csrn) = f_csrn;
4371 mepcore1_extract_sfmt_ldc_lp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4372 mepcore1_insn_word insn = entire_insn;
4373 #define FLD(f) abuf->fields.sfmt_ldc_lp.f
4376 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4378 /* Record the fields for the semantic handler. */
4380 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4381 if (UNLIKELY(current_cpu->trace_extract_p))
4383 current_cpu->trace_stream
4384 << "0x" << hex << pc << dec << " (sfmt_ldc_lp)\t"
4385 << " f_rn:0x" << hex << f_rn << dec
4389 /* Record the fields for profiling. */
4390 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4393 FLD (out_rn) = f_rn;
4399 mepcore1_extract_sfmt_ldc_hi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4400 mepcore1_insn_word insn = entire_insn;
4401 #define FLD(f) abuf->fields.sfmt_maddr.f
4404 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4406 /* Record the fields for the semantic handler. */
4408 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4409 if (UNLIKELY(current_cpu->trace_extract_p))
4411 current_cpu->trace_stream
4412 << "0x" << hex << pc << dec << " (sfmt_ldc_hi)\t"
4413 << " f_rn:0x" << hex << f_rn << dec
4417 /* Record the fields for profiling. */
4418 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4421 FLD (out_rn) = f_rn;
4427 mepcore1_extract_sfmt_ldc_lo (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4428 mepcore1_insn_word insn = entire_insn;
4429 #define FLD(f) abuf->fields.sfmt_maddr.f
4432 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4434 /* Record the fields for the semantic handler. */
4436 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4437 if (UNLIKELY(current_cpu->trace_extract_p))
4439 current_cpu->trace_stream
4440 << "0x" << hex << pc << dec << " (sfmt_ldc_lo)\t"
4441 << " f_rn:0x" << hex << f_rn << dec
4445 /* Record the fields for profiling. */
4446 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4449 FLD (out_rn) = f_rn;
4455 mepcore1_extract_sfmt_ldc (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4456 mepcore1_insn_word insn = entire_insn;
4457 #define FLD(f) abuf->fields.sfmt_ldc.f
4463 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4464 f_csrn_lo = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4465 f_csrn_hi = EXTRACT_MSB0_UINT (insn, 16, 15, 1);
4466 f_csrn = ((((f_csrn_hi) << (4))) | (f_csrn_lo));
4468 /* Record the fields for the semantic handler. */
4469 FLD (f_csrn) = f_csrn;
4471 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4472 if (UNLIKELY(current_cpu->trace_extract_p))
4474 current_cpu->trace_stream
4475 << "0x" << hex << pc << dec << " (sfmt_ldc)\t"
4476 << " f_csrn:0x" << hex << f_csrn << dec
4477 << " f_rn:0x" << hex << f_rn << dec
4481 /* Record the fields for profiling. */
4482 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4484 FLD (in_csrn) = f_csrn;
4487 FLD (out_rn) = f_rn;
4493 mepcore1_extract_sfmt_di (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4494 mepcore1_insn_word insn = entire_insn;
4495 #define FLD(f) abuf->fields.sfmt_di.f
4498 /* Record the fields for the semantic handler. */
4499 if (UNLIKELY(current_cpu->trace_extract_p))
4501 current_cpu->trace_stream
4502 << "0x" << hex << pc << dec << " (sfmt_di)\t"
4506 /* Record the fields for profiling. */
4507 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4516 mepcore1_extract_sfmt_reti (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4517 mepcore1_insn_word insn = entire_insn;
4518 #define FLD(f) abuf->fields.sfmt_reti.f
4521 /* Record the fields for the semantic handler. */
4522 if (UNLIKELY(current_cpu->trace_extract_p))
4524 current_cpu->trace_stream
4525 << "0x" << hex << pc << dec << " (sfmt_reti)\t"
4529 /* Record the fields for profiling. */
4530 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4541 mepcore1_extract_sfmt_halt (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4542 mepcore1_insn_word insn = entire_insn;
4543 #define FLD(f) abuf->fields.sfmt_di.f
4546 /* Record the fields for the semantic handler. */
4547 if (UNLIKELY(current_cpu->trace_extract_p))
4549 current_cpu->trace_stream
4550 << "0x" << hex << pc << dec << " (sfmt_halt)\t"
4554 /* Record the fields for profiling. */
4555 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4563 mepcore1_extract_sfmt_sleep (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4564 mepcore1_insn_word insn = entire_insn;
4565 #define FLD(f) abuf->fields.sfmt_empty.f
4568 /* Record the fields for the semantic handler. */
4569 if (UNLIKELY(current_cpu->trace_extract_p))
4571 current_cpu->trace_stream
4572 << "0x" << hex << pc << dec << " (sfmt_sleep)\t"
4580 mepcore1_extract_sfmt_swi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4581 mepcore1_insn_word insn = entire_insn;
4582 #define FLD(f) abuf->fields.sfmt_swi.f
4585 f_2u10 = EXTRACT_MSB0_UINT (insn, 16, 10, 2);
4587 /* Record the fields for the semantic handler. */
4588 FLD (f_2u10) = f_2u10;
4589 if (UNLIKELY(current_cpu->trace_extract_p))
4591 current_cpu->trace_stream
4592 << "0x" << hex << pc << dec << " (sfmt_swi)\t"
4593 << " f_2u10:0x" << hex << f_2u10 << dec
4597 /* Record the fields for profiling. */
4598 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4607 mepcore1_extract_sfmt_break (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4608 mepcore1_insn_word insn = entire_insn;
4609 #define FLD(f) abuf->fields.sfmt_empty.f
4612 /* Record the fields for the semantic handler. */
4613 if (UNLIKELY(current_cpu->trace_extract_p))
4615 current_cpu->trace_stream
4616 << "0x" << hex << pc << dec << " (sfmt_break)\t"
4620 /* Record the fields for profiling. */
4621 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4628 mepcore1_extract_sfmt_stcb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4629 mepcore1_insn_word insn = entire_insn;
4630 #define FLD(f) abuf->fields.sfmt_uci.f
4634 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4635 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4637 /* Record the fields for the semantic handler. */
4639 FLD (f_16u16) = f_16u16;
4640 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4641 if (UNLIKELY(current_cpu->trace_extract_p))
4643 current_cpu->trace_stream
4644 << "0x" << hex << pc << dec << " (sfmt_stcb)\t"
4645 << " f_rn:0x" << hex << f_rn << dec
4646 << " f_16u16:0x" << hex << f_16u16 << dec
4650 /* Record the fields for profiling. */
4651 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4659 mepcore1_extract_sfmt_bsetm (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4660 mepcore1_insn_word insn = entire_insn;
4661 #define FLD(f) abuf->fields.sfmt_btstm.f
4665 f_3u5 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
4666 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4668 /* Record the fields for the semantic handler. */
4670 FLD (f_3u5) = f_3u5;
4671 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
4672 if (UNLIKELY(current_cpu->trace_extract_p))
4674 current_cpu->trace_stream
4675 << "0x" << hex << pc << dec << " (sfmt_bsetm)\t"
4676 << " f_rm:0x" << hex << f_rm << dec
4677 << " f_3u5:0x" << hex << f_3u5 << dec
4681 /* Record the fields for profiling. */
4682 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4684 FLD (in_rma) = f_rm;
4690 mepcore1_extract_sfmt_btstm (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4691 mepcore1_insn_word insn = entire_insn;
4692 #define FLD(f) abuf->fields.sfmt_btstm.f
4696 f_3u5 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
4697 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4699 /* Record the fields for the semantic handler. */
4701 FLD (f_3u5) = f_3u5;
4702 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
4703 if (UNLIKELY(current_cpu->trace_extract_p))
4705 current_cpu->trace_stream
4706 << "0x" << hex << pc << dec << " (sfmt_btstm)\t"
4707 << " f_rm:0x" << hex << f_rm << dec
4708 << " f_3u5:0x" << hex << f_3u5 << dec
4712 /* Record the fields for profiling. */
4713 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4715 FLD (in_rma) = f_rm;
4722 mepcore1_extract_sfmt_tas (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4723 mepcore1_insn_word insn = entire_insn;
4724 #define FLD(f) abuf->fields.sfmt_ldcb_r.f
4728 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4729 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4731 /* Record the fields for the semantic handler. */
4734 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
4735 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4736 if (UNLIKELY(current_cpu->trace_extract_p))
4738 current_cpu->trace_stream
4739 << "0x" << hex << pc << dec << " (sfmt_tas)\t"
4740 << " f_rm:0x" << hex << f_rm << dec
4741 << " f_rn:0x" << hex << f_rn << dec
4745 /* Record the fields for profiling. */
4746 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4748 FLD (in_rma) = f_rm;
4749 FLD (out_rn) = f_rn;
4755 mepcore1_extract_sfmt_mul (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4756 mepcore1_insn_word insn = entire_insn;
4757 #define FLD(f) abuf->fields.sfmt_maddr.f
4761 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4762 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4764 /* Record the fields for the semantic handler. */
4767 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4768 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4769 if (UNLIKELY(current_cpu->trace_extract_p))
4771 current_cpu->trace_stream
4772 << "0x" << hex << pc << dec << " (sfmt_mul)\t"
4773 << " f_rm:0x" << hex << f_rm << dec
4774 << " f_rn:0x" << hex << f_rn << dec
4778 /* Record the fields for profiling. */
4779 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4790 mepcore1_extract_sfmt_mulr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4791 mepcore1_insn_word insn = entire_insn;
4792 #define FLD(f) abuf->fields.sfmt_maddr.f
4796 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4797 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4799 /* Record the fields for the semantic handler. */
4802 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4803 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4804 if (UNLIKELY(current_cpu->trace_extract_p))
4806 current_cpu->trace_stream
4807 << "0x" << hex << pc << dec << " (sfmt_mulr)\t"
4808 << " f_rm:0x" << hex << f_rm << dec
4809 << " f_rn:0x" << hex << f_rn << dec
4813 /* Record the fields for profiling. */
4814 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4820 FLD (out_rn) = f_rn;
4826 mepcore1_extract_sfmt_madd (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4827 mepcore1_insn_word insn = entire_insn;
4828 #define FLD(f) abuf->fields.sfmt_maddr.f
4832 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4833 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4835 /* Record the fields for the semantic handler. */
4838 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4839 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4840 if (UNLIKELY(current_cpu->trace_extract_p))
4842 current_cpu->trace_stream
4843 << "0x" << hex << pc << dec << " (sfmt_madd)\t"
4844 << " f_rm:0x" << hex << f_rm << dec
4845 << " f_rn:0x" << hex << f_rn << dec
4849 /* Record the fields for profiling. */
4850 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4863 mepcore1_extract_sfmt_maddr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4864 mepcore1_insn_word insn = entire_insn;
4865 #define FLD(f) abuf->fields.sfmt_maddr.f
4869 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4870 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4872 /* Record the fields for the semantic handler. */
4875 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4876 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4877 if (UNLIKELY(current_cpu->trace_extract_p))
4879 current_cpu->trace_stream
4880 << "0x" << hex << pc << dec << " (sfmt_maddr)\t"
4881 << " f_rm:0x" << hex << f_rm << dec
4882 << " f_rn:0x" << hex << f_rn << dec
4886 /* Record the fields for profiling. */
4887 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4895 FLD (out_rn) = f_rn;
4901 mepcore1_extract_sfmt_div (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4902 mepcore1_insn_word insn = entire_insn;
4903 #define FLD(f) abuf->fields.sfmt_maddr.f
4907 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4908 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4910 /* Record the fields for the semantic handler. */
4913 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4914 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4915 if (UNLIKELY(current_cpu->trace_extract_p))
4917 current_cpu->trace_stream
4918 << "0x" << hex << pc << dec << " (sfmt_div)\t"
4919 << " f_rm:0x" << hex << f_rm << dec
4920 << " f_rn:0x" << hex << f_rn << dec
4924 /* Record the fields for profiling. */
4925 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4936 mepcore1_extract_sfmt_dret (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4937 mepcore1_insn_word insn = entire_insn;
4938 #define FLD(f) abuf->fields.sfmt_dret.f
4941 /* Record the fields for the semantic handler. */
4942 if (UNLIKELY(current_cpu->trace_extract_p))
4944 current_cpu->trace_stream
4945 << "0x" << hex << pc << dec << " (sfmt_dret)\t"
4949 /* Record the fields for profiling. */
4950 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4960 mepcore1_extract_sfmt_dbreak (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4961 mepcore1_insn_word insn = entire_insn;
4962 #define FLD(f) abuf->fields.sfmt_dret.f
4965 /* Record the fields for the semantic handler. */
4966 if (UNLIKELY(current_cpu->trace_extract_p))
4968 current_cpu->trace_stream
4969 << "0x" << hex << pc << dec << " (sfmt_dbreak)\t"
4973 /* Record the fields for profiling. */
4974 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4983 mepcore1_extract_sfmt_ldz (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4984 mepcore1_insn_word insn = entire_insn;
4985 #define FLD(f) abuf->fields.sfmt_add3x.f
4989 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4990 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4992 /* Record the fields for the semantic handler. */
4995 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4996 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4997 if (UNLIKELY(current_cpu->trace_extract_p))
4999 current_cpu->trace_stream
5000 << "0x" << hex << pc << dec << " (sfmt_ldz)\t"
5001 << " f_rm:0x" << hex << f_rm << dec
5002 << " f_rn:0x" << hex << f_rn << dec
5006 /* Record the fields for profiling. */
5007 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5010 FLD (out_rn) = f_rn;
5016 mepcore1_extract_sfmt_abs (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5017 mepcore1_insn_word insn = entire_insn;
5018 #define FLD(f) abuf->fields.sfmt_fsft.f
5022 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5023 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5025 /* Record the fields for the semantic handler. */
5028 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
5029 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
5030 if (UNLIKELY(current_cpu->trace_extract_p))
5032 current_cpu->trace_stream
5033 << "0x" << hex << pc << dec << " (sfmt_abs)\t"
5034 << " f_rm:0x" << hex << f_rm << dec
5035 << " f_rn:0x" << hex << f_rn << dec
5039 /* Record the fields for profiling. */
5040 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5044 FLD (out_rn) = f_rn;
5050 mepcore1_extract_sfmt_min (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5051 mepcore1_insn_word insn = entire_insn;
5052 #define FLD(f) abuf->fields.sfmt_fsft.f
5056 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5057 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5059 /* Record the fields for the semantic handler. */
5062 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
5063 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
5064 if (UNLIKELY(current_cpu->trace_extract_p))
5066 current_cpu->trace_stream
5067 << "0x" << hex << pc << dec << " (sfmt_min)\t"
5068 << " f_rm:0x" << hex << f_rm << dec
5069 << " f_rn:0x" << hex << f_rn << dec
5073 /* Record the fields for profiling. */
5074 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5078 FLD (out_rn) = f_rn;
5084 mepcore1_extract_sfmt_clip (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5085 mepcore1_insn_word insn = entire_insn;
5086 #define FLD(f) abuf->fields.sfmt_clip.f
5090 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5091 f_5u24 = EXTRACT_MSB0_UINT (insn, 32, 24, 5);
5093 /* Record the fields for the semantic handler. */
5094 FLD (f_5u24) = f_5u24;
5096 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
5097 if (UNLIKELY(current_cpu->trace_extract_p))
5099 current_cpu->trace_stream
5100 << "0x" << hex << pc << dec << " (sfmt_clip)\t"
5101 << " f_5u24:0x" << hex << f_5u24 << dec
5102 << " f_rn:0x" << hex << f_rn << dec
5106 /* Record the fields for profiling. */
5107 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5110 FLD (out_rn) = f_rn;
5116 mepcore1_extract_sfmt_swcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5117 mepcore1_insn_word insn = entire_insn;
5118 #define FLD(f) abuf->fields.sfmt_swcp16.f
5122 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5123 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5125 /* Record the fields for the semantic handler. */
5126 FLD (f_crn) = f_crn;
5128 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5129 if (UNLIKELY(current_cpu->trace_extract_p))
5131 current_cpu->trace_stream
5132 << "0x" << hex << pc << dec << " (sfmt_swcp)\t"
5133 << " f_crn:0x" << hex << f_crn << dec
5134 << " f_rm:0x" << hex << f_rm << dec
5138 /* Record the fields for profiling. */
5139 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5141 FLD (in_rma) = f_rm;
5147 mepcore1_extract_sfmt_lwcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5148 mepcore1_insn_word insn = entire_insn;
5149 #define FLD(f) abuf->fields.sfmt_swcp16.f
5153 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5154 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5156 /* Record the fields for the semantic handler. */
5158 FLD (f_crn) = f_crn;
5159 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5160 if (UNLIKELY(current_cpu->trace_extract_p))
5162 current_cpu->trace_stream
5163 << "0x" << hex << pc << dec << " (sfmt_lwcp)\t"
5164 << " f_rm:0x" << hex << f_rm << dec
5165 << " f_crn:0x" << hex << f_crn << dec
5169 /* Record the fields for profiling. */
5170 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5172 FLD (in_rma) = f_rm;
5178 mepcore1_extract_sfmt_smcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5179 mepcore1_insn_word insn = entire_insn;
5180 #define FLD(f) abuf->fields.sfmt_swcp16.f
5184 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5185 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5187 /* Record the fields for the semantic handler. */
5188 FLD (f_crn) = f_crn;
5190 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5191 if (UNLIKELY(current_cpu->trace_extract_p))
5193 current_cpu->trace_stream
5194 << "0x" << hex << pc << dec << " (sfmt_smcp)\t"
5195 << " f_crn:0x" << hex << f_crn << dec
5196 << " f_rm:0x" << hex << f_rm << dec
5200 /* Record the fields for profiling. */
5201 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5203 FLD (in_rma) = f_rm;
5209 mepcore1_extract_sfmt_lmcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5210 mepcore1_insn_word insn = entire_insn;
5211 #define FLD(f) abuf->fields.sfmt_swcp16.f
5215 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5216 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5218 /* Record the fields for the semantic handler. */
5220 FLD (f_crn) = f_crn;
5221 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5222 if (UNLIKELY(current_cpu->trace_extract_p))
5224 current_cpu->trace_stream
5225 << "0x" << hex << pc << dec << " (sfmt_lmcp)\t"
5226 << " f_rm:0x" << hex << f_rm << dec
5227 << " f_crn:0x" << hex << f_crn << dec
5231 /* Record the fields for profiling. */
5232 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5234 FLD (in_rma) = f_rm;
5240 mepcore1_extract_sfmt_swcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5241 mepcore1_insn_word insn = entire_insn;
5242 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5246 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5247 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5249 /* Record the fields for the semantic handler. */
5250 FLD (f_crn) = f_crn;
5252 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5253 if (UNLIKELY(current_cpu->trace_extract_p))
5255 current_cpu->trace_stream
5256 << "0x" << hex << pc << dec << " (sfmt_swcpi)\t"
5257 << " f_crn:0x" << hex << f_crn << dec
5258 << " f_rm:0x" << hex << f_rm << dec
5262 /* Record the fields for profiling. */
5263 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5265 FLD (in_rma) = f_rm;
5266 FLD (out_rma) = f_rm;
5272 mepcore1_extract_sfmt_lwcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5273 mepcore1_insn_word insn = entire_insn;
5274 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5278 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5279 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5281 /* Record the fields for the semantic handler. */
5283 FLD (f_crn) = f_crn;
5284 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5285 if (UNLIKELY(current_cpu->trace_extract_p))
5287 current_cpu->trace_stream
5288 << "0x" << hex << pc << dec << " (sfmt_lwcpi)\t"
5289 << " f_rm:0x" << hex << f_rm << dec
5290 << " f_crn:0x" << hex << f_crn << dec
5294 /* Record the fields for profiling. */
5295 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5297 FLD (in_rma) = f_rm;
5298 FLD (out_rma) = f_rm;
5304 mepcore1_extract_sfmt_smcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5305 mepcore1_insn_word insn = entire_insn;
5306 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5310 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5311 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5313 /* Record the fields for the semantic handler. */
5314 FLD (f_crn) = f_crn;
5316 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5317 if (UNLIKELY(current_cpu->trace_extract_p))
5319 current_cpu->trace_stream
5320 << "0x" << hex << pc << dec << " (sfmt_smcpi)\t"
5321 << " f_crn:0x" << hex << f_crn << dec
5322 << " f_rm:0x" << hex << f_rm << dec
5326 /* Record the fields for profiling. */
5327 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5329 FLD (in_rma) = f_rm;
5330 FLD (out_rma) = f_rm;
5336 mepcore1_extract_sfmt_lmcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5337 mepcore1_insn_word insn = entire_insn;
5338 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5342 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5343 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5345 /* Record the fields for the semantic handler. */
5347 FLD (f_crn) = f_crn;
5348 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5349 if (UNLIKELY(current_cpu->trace_extract_p))
5351 current_cpu->trace_stream
5352 << "0x" << hex << pc << dec << " (sfmt_lmcpi)\t"
5353 << " f_rm:0x" << hex << f_rm << dec
5354 << " f_crn:0x" << hex << f_crn << dec
5358 /* Record the fields for profiling. */
5359 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5361 FLD (in_rma) = f_rm;
5362 FLD (out_rma) = f_rm;
5368 mepcore1_extract_sfmt_swcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5369 mepcore1_insn_word insn = entire_insn;
5370 #define FLD(f) abuf->fields.sfmt_swcp16.f
5375 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5376 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5377 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
5379 /* Record the fields for the semantic handler. */
5380 FLD (f_crn) = f_crn;
5382 FLD (f_16s16) = f_16s16;
5383 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5384 if (UNLIKELY(current_cpu->trace_extract_p))
5386 current_cpu->trace_stream
5387 << "0x" << hex << pc << dec << " (sfmt_swcp16)\t"
5388 << " f_crn:0x" << hex << f_crn << dec
5389 << " f_rm:0x" << hex << f_rm << dec
5390 << " f_16s16:0x" << hex << f_16s16 << dec
5394 /* Record the fields for profiling. */
5395 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5397 FLD (in_rma) = f_rm;
5403 mepcore1_extract_sfmt_lwcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5404 mepcore1_insn_word insn = entire_insn;
5405 #define FLD(f) abuf->fields.sfmt_swcp16.f
5410 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5411 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5412 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
5414 /* Record the fields for the semantic handler. */
5416 FLD (f_16s16) = f_16s16;
5417 FLD (f_crn) = f_crn;
5418 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5419 if (UNLIKELY(current_cpu->trace_extract_p))
5421 current_cpu->trace_stream
5422 << "0x" << hex << pc << dec << " (sfmt_lwcp16)\t"
5423 << " f_rm:0x" << hex << f_rm << dec
5424 << " f_16s16:0x" << hex << f_16s16 << dec
5425 << " f_crn:0x" << hex << f_crn << dec
5429 /* Record the fields for profiling. */
5430 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5432 FLD (in_rma) = f_rm;
5438 mepcore1_extract_sfmt_smcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5439 mepcore1_insn_word insn = entire_insn;
5440 #define FLD(f) abuf->fields.sfmt_swcp16.f
5445 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5446 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5447 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
5449 /* Record the fields for the semantic handler. */
5450 FLD (f_crn) = f_crn;
5452 FLD (f_16s16) = f_16s16;
5453 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5454 if (UNLIKELY(current_cpu->trace_extract_p))
5456 current_cpu->trace_stream
5457 << "0x" << hex << pc << dec << " (sfmt_smcp16)\t"
5458 << " f_crn:0x" << hex << f_crn << dec
5459 << " f_rm:0x" << hex << f_rm << dec
5460 << " f_16s16:0x" << hex << f_16s16 << dec
5464 /* Record the fields for profiling. */
5465 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5467 FLD (in_rma) = f_rm;
5473 mepcore1_extract_sfmt_lmcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5474 mepcore1_insn_word insn = entire_insn;
5475 #define FLD(f) abuf->fields.sfmt_swcp16.f
5480 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5481 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5482 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
5484 /* Record the fields for the semantic handler. */
5486 FLD (f_16s16) = f_16s16;
5487 FLD (f_crn) = f_crn;
5488 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5489 if (UNLIKELY(current_cpu->trace_extract_p))
5491 current_cpu->trace_stream
5492 << "0x" << hex << pc << dec << " (sfmt_lmcp16)\t"
5493 << " f_rm:0x" << hex << f_rm << dec
5494 << " f_16s16:0x" << hex << f_16s16 << dec
5495 << " f_crn:0x" << hex << f_crn << dec
5499 /* Record the fields for profiling. */
5500 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5502 FLD (in_rma) = f_rm;
5508 mepcore1_extract_sfmt_sbcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5509 mepcore1_insn_word insn = entire_insn;
5510 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5515 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5516 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5517 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5519 /* Record the fields for the semantic handler. */
5520 FLD (f_cdisp10) = f_cdisp10;
5521 FLD (f_crn) = f_crn;
5523 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5524 if (UNLIKELY(current_cpu->trace_extract_p))
5526 current_cpu->trace_stream
5527 << "0x" << hex << pc << dec << " (sfmt_sbcpa)\t"
5528 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5529 << " f_crn:0x" << hex << f_crn << dec
5530 << " f_rm:0x" << hex << f_rm << dec
5534 /* Record the fields for profiling. */
5535 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5537 FLD (in_rma) = f_rm;
5538 FLD (out_rma) = f_rm;
5544 mepcore1_extract_sfmt_shcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5545 mepcore1_insn_word insn = entire_insn;
5546 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5551 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5552 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5553 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5555 /* Record the fields for the semantic handler. */
5556 FLD (f_cdisp10) = f_cdisp10;
5557 FLD (f_crn) = f_crn;
5559 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5560 if (UNLIKELY(current_cpu->trace_extract_p))
5562 current_cpu->trace_stream
5563 << "0x" << hex << pc << dec << " (sfmt_shcpa)\t"
5564 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5565 << " f_crn:0x" << hex << f_crn << dec
5566 << " f_rm:0x" << hex << f_rm << dec
5570 /* Record the fields for profiling. */
5571 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5573 FLD (in_rma) = f_rm;
5574 FLD (out_rma) = f_rm;
5580 mepcore1_extract_sfmt_swcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5581 mepcore1_insn_word insn = entire_insn;
5582 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5587 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5588 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5589 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5591 /* Record the fields for the semantic handler. */
5592 FLD (f_cdisp10) = f_cdisp10;
5593 FLD (f_crn) = f_crn;
5595 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5596 if (UNLIKELY(current_cpu->trace_extract_p))
5598 current_cpu->trace_stream
5599 << "0x" << hex << pc << dec << " (sfmt_swcpa)\t"
5600 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5601 << " f_crn:0x" << hex << f_crn << dec
5602 << " f_rm:0x" << hex << f_rm << dec
5606 /* Record the fields for profiling. */
5607 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5609 FLD (in_rma) = f_rm;
5610 FLD (out_rma) = f_rm;
5616 mepcore1_extract_sfmt_lwcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5617 mepcore1_insn_word insn = entire_insn;
5618 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5623 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5624 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5625 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5627 /* Record the fields for the semantic handler. */
5628 FLD (f_cdisp10) = f_cdisp10;
5630 FLD (f_crn) = f_crn;
5631 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5632 if (UNLIKELY(current_cpu->trace_extract_p))
5634 current_cpu->trace_stream
5635 << "0x" << hex << pc << dec << " (sfmt_lwcpa)\t"
5636 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5637 << " f_rm:0x" << hex << f_rm << dec
5638 << " f_crn:0x" << hex << f_crn << dec
5642 /* Record the fields for profiling. */
5643 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5645 FLD (in_rma) = f_rm;
5646 FLD (out_rma) = f_rm;
5652 mepcore1_extract_sfmt_smcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5653 mepcore1_insn_word insn = entire_insn;
5654 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5659 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5660 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5661 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5663 /* Record the fields for the semantic handler. */
5664 FLD (f_cdisp10) = f_cdisp10;
5665 FLD (f_crn) = f_crn;
5667 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5668 if (UNLIKELY(current_cpu->trace_extract_p))
5670 current_cpu->trace_stream
5671 << "0x" << hex << pc << dec << " (sfmt_smcpa)\t"
5672 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5673 << " f_crn:0x" << hex << f_crn << dec
5674 << " f_rm:0x" << hex << f_rm << dec
5678 /* Record the fields for profiling. */
5679 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5681 FLD (in_rma) = f_rm;
5682 FLD (out_rma) = f_rm;
5688 mepcore1_extract_sfmt_lmcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5689 mepcore1_insn_word insn = entire_insn;
5690 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5695 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5696 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5697 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5699 /* Record the fields for the semantic handler. */
5700 FLD (f_cdisp10) = f_cdisp10;
5702 FLD (f_crn) = f_crn;
5703 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5704 if (UNLIKELY(current_cpu->trace_extract_p))
5706 current_cpu->trace_stream
5707 << "0x" << hex << pc << dec << " (sfmt_lmcpa)\t"
5708 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5709 << " f_rm:0x" << hex << f_rm << dec
5710 << " f_crn:0x" << hex << f_crn << dec
5714 /* Record the fields for profiling. */
5715 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5717 FLD (in_rma) = f_rm;
5718 FLD (out_rma) = f_rm;
5724 mepcore1_extract_sfmt_sbcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5725 mepcore1_insn_word insn = entire_insn;
5726 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5731 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5732 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5733 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5735 /* Record the fields for the semantic handler. */
5736 FLD (f_cdisp10) = f_cdisp10;
5737 FLD (f_crn) = f_crn;
5739 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5740 if (UNLIKELY(current_cpu->trace_extract_p))
5742 current_cpu->trace_stream
5743 << "0x" << hex << pc << dec << " (sfmt_sbcpm0)\t"
5744 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5745 << " f_crn:0x" << hex << f_crn << dec
5746 << " f_rm:0x" << hex << f_rm << dec
5750 /* Record the fields for profiling. */
5751 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5755 FLD (in_rma) = f_rm;
5756 FLD (out_rma) = f_rm;
5762 mepcore1_extract_sfmt_shcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5763 mepcore1_insn_word insn = entire_insn;
5764 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5769 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5770 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5771 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5773 /* Record the fields for the semantic handler. */
5774 FLD (f_cdisp10) = f_cdisp10;
5775 FLD (f_crn) = f_crn;
5777 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5778 if (UNLIKELY(current_cpu->trace_extract_p))
5780 current_cpu->trace_stream
5781 << "0x" << hex << pc << dec << " (sfmt_shcpm0)\t"
5782 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5783 << " f_crn:0x" << hex << f_crn << dec
5784 << " f_rm:0x" << hex << f_rm << dec
5788 /* Record the fields for profiling. */
5789 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5793 FLD (in_rma) = f_rm;
5794 FLD (out_rma) = f_rm;
5800 mepcore1_extract_sfmt_swcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5801 mepcore1_insn_word insn = entire_insn;
5802 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5807 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5808 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5809 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5811 /* Record the fields for the semantic handler. */
5812 FLD (f_cdisp10) = f_cdisp10;
5813 FLD (f_crn) = f_crn;
5815 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5816 if (UNLIKELY(current_cpu->trace_extract_p))
5818 current_cpu->trace_stream
5819 << "0x" << hex << pc << dec << " (sfmt_swcpm0)\t"
5820 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5821 << " f_crn:0x" << hex << f_crn << dec
5822 << " f_rm:0x" << hex << f_rm << dec
5826 /* Record the fields for profiling. */
5827 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5831 FLD (in_rma) = f_rm;
5832 FLD (out_rma) = f_rm;
5838 mepcore1_extract_sfmt_lwcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5839 mepcore1_insn_word insn = entire_insn;
5840 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5845 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5846 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5847 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5849 /* Record the fields for the semantic handler. */
5850 FLD (f_cdisp10) = f_cdisp10;
5852 FLD (f_crn) = f_crn;
5853 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5854 if (UNLIKELY(current_cpu->trace_extract_p))
5856 current_cpu->trace_stream
5857 << "0x" << hex << pc << dec << " (sfmt_lwcpm0)\t"
5858 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5859 << " f_rm:0x" << hex << f_rm << dec
5860 << " f_crn:0x" << hex << f_crn << dec
5864 /* Record the fields for profiling. */
5865 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5869 FLD (in_rma) = f_rm;
5870 FLD (out_rma) = f_rm;
5876 mepcore1_extract_sfmt_smcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5877 mepcore1_insn_word insn = entire_insn;
5878 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5883 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5884 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5885 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5887 /* Record the fields for the semantic handler. */
5888 FLD (f_cdisp10) = f_cdisp10;
5889 FLD (f_crn) = f_crn;
5891 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5892 if (UNLIKELY(current_cpu->trace_extract_p))
5894 current_cpu->trace_stream
5895 << "0x" << hex << pc << dec << " (sfmt_smcpm0)\t"
5896 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5897 << " f_crn:0x" << hex << f_crn << dec
5898 << " f_rm:0x" << hex << f_rm << dec
5902 /* Record the fields for profiling. */
5903 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5907 FLD (in_rma) = f_rm;
5908 FLD (out_rma) = f_rm;
5914 mepcore1_extract_sfmt_lmcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5915 mepcore1_insn_word insn = entire_insn;
5916 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5921 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5922 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5923 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5925 /* Record the fields for the semantic handler. */
5926 FLD (f_cdisp10) = f_cdisp10;
5928 FLD (f_crn) = f_crn;
5929 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5930 if (UNLIKELY(current_cpu->trace_extract_p))
5932 current_cpu->trace_stream
5933 << "0x" << hex << pc << dec << " (sfmt_lmcpm0)\t"
5934 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5935 << " f_rm:0x" << hex << f_rm << dec
5936 << " f_crn:0x" << hex << f_crn << dec
5940 /* Record the fields for profiling. */
5941 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5945 FLD (in_rma) = f_rm;
5946 FLD (out_rma) = f_rm;
5952 mepcore1_extract_sfmt_sbcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5953 mepcore1_insn_word insn = entire_insn;
5954 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5959 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5960 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5961 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
5963 /* Record the fields for the semantic handler. */
5964 FLD (f_cdisp10) = f_cdisp10;
5965 FLD (f_crn) = f_crn;
5967 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5968 if (UNLIKELY(current_cpu->trace_extract_p))
5970 current_cpu->trace_stream
5971 << "0x" << hex << pc << dec << " (sfmt_sbcpm1)\t"
5972 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5973 << " f_crn:0x" << hex << f_crn << dec
5974 << " f_rm:0x" << hex << f_rm << dec
5978 /* Record the fields for profiling. */
5979 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5983 FLD (in_rma) = f_rm;
5984 FLD (out_rma) = f_rm;
5990 mepcore1_extract_sfmt_shcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5991 mepcore1_insn_word insn = entire_insn;
5992 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5997 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5998 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5999 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
6001 /* Record the fields for the semantic handler. */
6002 FLD (f_cdisp10) = f_cdisp10;
6003 FLD (f_crn) = f_crn;
6005 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6006 if (UNLIKELY(current_cpu->trace_extract_p))
6008 current_cpu->trace_stream
6009 << "0x" << hex << pc << dec << " (sfmt_shcpm1)\t"
6010 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6011 << " f_crn:0x" << hex << f_crn << dec
6012 << " f_rm:0x" << hex << f_rm << dec
6016 /* Record the fields for profiling. */
6017 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6021 FLD (in_rma) = f_rm;
6022 FLD (out_rma) = f_rm;
6028 mepcore1_extract_sfmt_swcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6029 mepcore1_insn_word insn = entire_insn;
6030 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
6035 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
6036 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6037 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
6039 /* Record the fields for the semantic handler. */
6040 FLD (f_cdisp10) = f_cdisp10;
6041 FLD (f_crn) = f_crn;
6043 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6044 if (UNLIKELY(current_cpu->trace_extract_p))
6046 current_cpu->trace_stream
6047 << "0x" << hex << pc << dec << " (sfmt_swcpm1)\t"
6048 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6049 << " f_crn:0x" << hex << f_crn << dec
6050 << " f_rm:0x" << hex << f_rm << dec
6054 /* Record the fields for profiling. */
6055 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6059 FLD (in_rma) = f_rm;
6060 FLD (out_rma) = f_rm;
6066 mepcore1_extract_sfmt_lwcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6067 mepcore1_insn_word insn = entire_insn;
6068 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
6073 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
6074 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6075 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
6077 /* Record the fields for the semantic handler. */
6078 FLD (f_cdisp10) = f_cdisp10;
6080 FLD (f_crn) = f_crn;
6081 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6082 if (UNLIKELY(current_cpu->trace_extract_p))
6084 current_cpu->trace_stream
6085 << "0x" << hex << pc << dec << " (sfmt_lwcpm1)\t"
6086 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6087 << " f_rm:0x" << hex << f_rm << dec
6088 << " f_crn:0x" << hex << f_crn << dec
6092 /* Record the fields for profiling. */
6093 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6097 FLD (in_rma) = f_rm;
6098 FLD (out_rma) = f_rm;
6104 mepcore1_extract_sfmt_smcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6105 mepcore1_insn_word insn = entire_insn;
6106 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
6111 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
6112 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6113 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
6115 /* Record the fields for the semantic handler. */
6116 FLD (f_cdisp10) = f_cdisp10;
6117 FLD (f_crn) = f_crn;
6119 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6120 if (UNLIKELY(current_cpu->trace_extract_p))
6122 current_cpu->trace_stream
6123 << "0x" << hex << pc << dec << " (sfmt_smcpm1)\t"
6124 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6125 << " f_crn:0x" << hex << f_crn << dec
6126 << " f_rm:0x" << hex << f_rm << dec
6130 /* Record the fields for profiling. */
6131 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6135 FLD (in_rma) = f_rm;
6136 FLD (out_rma) = f_rm;
6142 mepcore1_extract_sfmt_lmcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6143 mepcore1_insn_word insn = entire_insn;
6144 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
6149 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
6150 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6151 f_cdisp10 = (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (512))) ? (((((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023))) - (1024))) : (((((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) & (512))) ? ((((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10))) - (1024))) : ((((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) & (128))) ? (((EXTRACT_MSB0_SINT (insn, 32, 22, 10)) ^ (768))) : (EXTRACT_MSB0_SINT (insn, 32, 22, 10)))) & (1023)));
6153 /* Record the fields for the semantic handler. */
6154 FLD (f_cdisp10) = f_cdisp10;
6156 FLD (f_crn) = f_crn;
6157 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6158 if (UNLIKELY(current_cpu->trace_extract_p))
6160 current_cpu->trace_stream
6161 << "0x" << hex << pc << dec << " (sfmt_lmcpm1)\t"
6162 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6163 << " f_rm:0x" << hex << f_rm << dec
6164 << " f_crn:0x" << hex << f_crn << dec
6168 /* Record the fields for profiling. */
6169 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6173 FLD (in_rma) = f_rm;
6174 FLD (out_rma) = f_rm;
6180 mepcore1_extract_sfmt_bcpeq (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6181 mepcore1_insn_word insn = entire_insn;
6182 #define FLD(f) abuf->fields.sfmt_beq.f
6186 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6187 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
6189 /* Record the fields for the semantic handler. */
6191 FLD (f_17s16a2) = f_17s16a2;
6192 if (UNLIKELY(current_cpu->trace_extract_p))
6194 current_cpu->trace_stream
6195 << "0x" << hex << pc << dec << " (sfmt_bcpeq)\t"
6196 << " f_rm:0x" << hex << f_rm << dec
6197 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
6201 /* Record the fields for profiling. */
6202 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6211 mepcore1_extract_sfmt_synccp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6212 mepcore1_insn_word insn = entire_insn;
6213 #define FLD(f) abuf->fields.sfmt_empty.f
6216 /* Record the fields for the semantic handler. */
6217 if (UNLIKELY(current_cpu->trace_extract_p))
6219 current_cpu->trace_stream
6220 << "0x" << hex << pc << dec << " (sfmt_synccp)\t"
6224 /* Record the fields for profiling. */
6225 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6232 mepcore1_extract_sfmt_sim_syscall (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6233 mepcore1_insn_word insn = entire_insn;
6234 #define FLD(f) abuf->fields.sfmt_sim_syscall.f
6241 f_5 = EXTRACT_MSB0_UINT (insn, 16, 5, 1);
6242 f_6 = EXTRACT_MSB0_UINT (insn, 16, 6, 1);
6243 f_7 = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
6244 f_11 = EXTRACT_MSB0_UINT (insn, 16, 11, 1);
6245 f_callnum = ((((f_5) << (3))) | (((((f_6) << (2))) | (((((f_7) << (1))) | (f_11))))));
6247 /* Record the fields for the semantic handler. */
6248 FLD (f_callnum) = f_callnum;
6249 if (UNLIKELY(current_cpu->trace_extract_p))
6251 current_cpu->trace_stream
6252 << "0x" << hex << pc << dec << " (sfmt_sim_syscall)\t"
6253 << " f_callnum:0x" << hex << f_callnum << dec
6257 /* Record the fields for profiling. */
6258 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))