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_sb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
305 mepcore1_extract_sfmt_sh (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
307 mepcore1_extract_sfmt_sw (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
309 mepcore1_extract_sfmt_lb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
311 mepcore1_extract_sfmt_lh (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
313 mepcore1_extract_sfmt_lw (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
315 mepcore1_extract_sfmt_lbu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
317 mepcore1_extract_sfmt_lhu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
319 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);
321 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);
323 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);
325 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);
327 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);
329 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);
331 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);
333 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);
335 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);
337 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);
339 mepcore1_extract_sfmt_sb16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
341 mepcore1_extract_sfmt_sh16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
343 mepcore1_extract_sfmt_sw16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
345 mepcore1_extract_sfmt_lb16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
347 mepcore1_extract_sfmt_lh16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
349 mepcore1_extract_sfmt_lw16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
351 mepcore1_extract_sfmt_lbu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
353 mepcore1_extract_sfmt_lhu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
355 mepcore1_extract_sfmt_sw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
357 mepcore1_extract_sfmt_lw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
359 mepcore1_extract_sfmt_extb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
361 mepcore1_extract_sfmt_ssarb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
363 mepcore1_extract_sfmt_mov (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
365 mepcore1_extract_sfmt_movi8 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
367 mepcore1_extract_sfmt_movi16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
369 mepcore1_extract_sfmt_movu24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
371 mepcore1_extract_sfmt_movu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
373 mepcore1_extract_sfmt_add3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
375 mepcore1_extract_sfmt_add (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
377 mepcore1_extract_sfmt_add3i (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
379 mepcore1_extract_sfmt_advck3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
381 mepcore1_extract_sfmt_sub (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
383 mepcore1_extract_sfmt_slt3i (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
385 mepcore1_extract_sfmt_sl1ad3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
387 mepcore1_extract_sfmt_add3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
389 mepcore1_extract_sfmt_slt3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
391 mepcore1_extract_sfmt_sltu3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
393 mepcore1_extract_sfmt_or3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
395 mepcore1_extract_sfmt_srai (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
397 mepcore1_extract_sfmt_sll3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
399 mepcore1_extract_sfmt_fsft (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
401 mepcore1_extract_sfmt_bra (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
403 mepcore1_extract_sfmt_beqz (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
405 mepcore1_extract_sfmt_beqi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
407 mepcore1_extract_sfmt_beq (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
409 mepcore1_extract_sfmt_bsr12 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
411 mepcore1_extract_sfmt_bsr24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
413 mepcore1_extract_sfmt_jmp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
415 mepcore1_extract_sfmt_jmp24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
417 mepcore1_extract_sfmt_jsr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
419 mepcore1_extract_sfmt_ret (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
421 mepcore1_extract_sfmt_repeat (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
423 mepcore1_extract_sfmt_erepeat (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
425 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);
427 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);
429 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);
431 mepcore1_extract_sfmt_stc (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
433 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);
435 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);
437 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);
439 mepcore1_extract_sfmt_ldc (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
441 mepcore1_extract_sfmt_di (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
443 mepcore1_extract_sfmt_reti (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
445 mepcore1_extract_sfmt_halt (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
447 mepcore1_extract_sfmt_sleep (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
449 mepcore1_extract_sfmt_swi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
451 mepcore1_extract_sfmt_break (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
453 mepcore1_extract_sfmt_stcb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
455 mepcore1_extract_sfmt_bsetm (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
457 mepcore1_extract_sfmt_btstm (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
459 mepcore1_extract_sfmt_tas (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
461 mepcore1_extract_sfmt_mul (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
463 mepcore1_extract_sfmt_mulr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
465 mepcore1_extract_sfmt_madd (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
467 mepcore1_extract_sfmt_maddr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
469 mepcore1_extract_sfmt_div (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
471 mepcore1_extract_sfmt_dret (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
473 mepcore1_extract_sfmt_dbreak (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
475 mepcore1_extract_sfmt_ldz (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
477 mepcore1_extract_sfmt_abs (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
479 mepcore1_extract_sfmt_min (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
481 mepcore1_extract_sfmt_clip (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
483 mepcore1_extract_sfmt_swcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
485 mepcore1_extract_sfmt_lwcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
487 mepcore1_extract_sfmt_smcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
489 mepcore1_extract_sfmt_lmcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
491 mepcore1_extract_sfmt_swcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
493 mepcore1_extract_sfmt_lwcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
495 mepcore1_extract_sfmt_smcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
497 mepcore1_extract_sfmt_lmcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
499 mepcore1_extract_sfmt_swcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
501 mepcore1_extract_sfmt_lwcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
503 mepcore1_extract_sfmt_smcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
505 mepcore1_extract_sfmt_lmcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
507 mepcore1_extract_sfmt_sbcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
509 mepcore1_extract_sfmt_shcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
511 mepcore1_extract_sfmt_swcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
513 mepcore1_extract_sfmt_lwcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
515 mepcore1_extract_sfmt_smcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
517 mepcore1_extract_sfmt_lmcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
519 mepcore1_extract_sfmt_sbcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
521 mepcore1_extract_sfmt_shcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
523 mepcore1_extract_sfmt_swcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
525 mepcore1_extract_sfmt_lwcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
527 mepcore1_extract_sfmt_smcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
529 mepcore1_extract_sfmt_lmcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
531 mepcore1_extract_sfmt_sbcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
533 mepcore1_extract_sfmt_shcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
535 mepcore1_extract_sfmt_swcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
537 mepcore1_extract_sfmt_lwcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
539 mepcore1_extract_sfmt_smcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
541 mepcore1_extract_sfmt_lmcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
543 mepcore1_extract_sfmt_bcpeq (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
545 mepcore1_extract_sfmt_synccp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn);
547 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);
549 // Fetch & decode instruction
551 mepcore1_scache::decode (mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn)
553 /* Result of decoder. */
554 MEPCORE1_INSN_TYPE itype;
557 mepcore1_insn_word insn = base_insn;
560 unsigned int val = (((insn >> 24) & (15 << 4)) | ((insn >> 16) & (15 << 0)));
564 entire_insn = entire_insn >> 16;
565 itype = MEPCORE1_INSN_MOV; mepcore1_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done;
567 entire_insn = entire_insn >> 16;
568 itype = MEPCORE1_INSN_NEG; mepcore1_extract_sfmt_mov (this, current_cpu, pc, base_insn, entire_insn); goto done;
570 entire_insn = entire_insn >> 16;
571 itype = MEPCORE1_INSN_SLT3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
573 entire_insn = entire_insn >> 16;
574 itype = MEPCORE1_INSN_SLTU3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
576 entire_insn = entire_insn >> 16;
577 itype = MEPCORE1_INSN_SUB; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
579 entire_insn = entire_insn >> 16;
580 itype = MEPCORE1_INSN_SBVCK3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
582 entire_insn = entire_insn >> 16;
583 itype = MEPCORE1_INSN_RI_0; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
585 entire_insn = entire_insn >> 16;
586 itype = MEPCORE1_INSN_ADVCK3; mepcore1_extract_sfmt_advck3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
588 entire_insn = entire_insn >> 16;
589 itype = MEPCORE1_INSN_SB; mepcore1_extract_sfmt_sb (this, current_cpu, pc, base_insn, entire_insn); goto done;
591 entire_insn = entire_insn >> 16;
592 itype = MEPCORE1_INSN_SH; mepcore1_extract_sfmt_sh (this, current_cpu, pc, base_insn, entire_insn); goto done;
594 entire_insn = entire_insn >> 16;
595 itype = MEPCORE1_INSN_SW; mepcore1_extract_sfmt_sw (this, current_cpu, pc, base_insn, entire_insn); goto done;
597 entire_insn = entire_insn >> 16;
598 itype = MEPCORE1_INSN_LBU; mepcore1_extract_sfmt_lbu (this, current_cpu, pc, base_insn, entire_insn); goto done;
600 entire_insn = entire_insn >> 16;
601 itype = MEPCORE1_INSN_LB; mepcore1_extract_sfmt_lb (this, current_cpu, pc, base_insn, entire_insn); goto done;
603 entire_insn = entire_insn >> 16;
604 itype = MEPCORE1_INSN_LH; mepcore1_extract_sfmt_lh (this, current_cpu, pc, base_insn, entire_insn); goto done;
606 entire_insn = entire_insn >> 16;
607 itype = MEPCORE1_INSN_LW; mepcore1_extract_sfmt_lw (this, current_cpu, pc, base_insn, entire_insn); goto done;
609 entire_insn = entire_insn >> 16;
610 itype = MEPCORE1_INSN_LHU; mepcore1_extract_sfmt_lhu (this, current_cpu, pc, base_insn, entire_insn); goto done;
612 entire_insn = entire_insn >> 16;
613 itype = MEPCORE1_INSN_OR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
615 entire_insn = entire_insn >> 16;
616 itype = MEPCORE1_INSN_AND; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
618 entire_insn = entire_insn >> 16;
619 itype = MEPCORE1_INSN_XOR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
621 entire_insn = entire_insn >> 16;
622 itype = MEPCORE1_INSN_NOR; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
624 entire_insn = entire_insn >> 16;
625 itype = MEPCORE1_INSN_MUL; mepcore1_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done;
627 entire_insn = entire_insn >> 16;
628 itype = MEPCORE1_INSN_MULU; mepcore1_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done;
630 entire_insn = entire_insn >> 16;
631 itype = MEPCORE1_INSN_MULR; mepcore1_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done;
633 entire_insn = entire_insn >> 16;
634 itype = MEPCORE1_INSN_MULRU; mepcore1_extract_sfmt_mulr (this, current_cpu, pc, base_insn, entire_insn); goto done;
636 entire_insn = entire_insn >> 16;
637 itype = MEPCORE1_INSN_DIV; mepcore1_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done;
639 entire_insn = entire_insn >> 16;
640 itype = MEPCORE1_INSN_DIVU; mepcore1_extract_sfmt_div (this, current_cpu, pc, base_insn, entire_insn); goto done;
642 entire_insn = entire_insn >> 16;
643 itype = MEPCORE1_INSN_RI_1; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
645 entire_insn = entire_insn >> 16;
646 itype = MEPCORE1_INSN_RI_2; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
648 entire_insn = entire_insn >> 16;
649 if ((entire_insn & 0xfc0f) == 0x100c)
650 { itype = MEPCORE1_INSN_SSARB; mepcore1_extract_sfmt_ssarb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
651 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
654 unsigned int val = (((insn >> 22) & (1 << 1)) | ((insn >> 21) & (1 << 0)));
658 entire_insn = entire_insn >> 16;
659 if ((entire_insn & 0xf0ff) == 0x100d)
660 { itype = MEPCORE1_INSN_EXTB; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
661 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
663 entire_insn = entire_insn >> 16;
664 if ((entire_insn & 0xf0ff) == 0x102d)
665 { itype = MEPCORE1_INSN_EXTH; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
666 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
668 entire_insn = entire_insn >> 16;
669 if ((entire_insn & 0xf0ff) == 0x108d)
670 { itype = MEPCORE1_INSN_EXTUB; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
671 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
673 entire_insn = entire_insn >> 16;
674 if ((entire_insn & 0xf0ff) == 0x10ad)
675 { itype = MEPCORE1_INSN_EXTUH; mepcore1_extract_sfmt_extb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
676 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
677 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
681 entire_insn = entire_insn >> 16;
682 if ((entire_insn & 0xff0f) == 0x100e)
683 { itype = MEPCORE1_INSN_JMP; mepcore1_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
684 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
687 unsigned int val = (((insn >> 27) & (1 << 0)));
691 entire_insn = entire_insn >> 16;
692 if ((entire_insn & 0xff0f) == 0x100f)
693 { itype = MEPCORE1_INSN_JSR; mepcore1_extract_sfmt_jsr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
694 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
696 entire_insn = entire_insn >> 16;
697 if ((entire_insn & 0xff0f) == 0x180f)
698 { itype = MEPCORE1_INSN_JSRV; mepcore1_extract_sfmt_jsr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
699 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
700 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
704 entire_insn = entire_insn >> 16;
705 if ((entire_insn & 0xf80f) == 0x2000)
706 { itype = MEPCORE1_INSN_BSETM; mepcore1_extract_sfmt_bsetm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
707 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
709 entire_insn = entire_insn >> 16;
710 if ((entire_insn & 0xf80f) == 0x2001)
711 { itype = MEPCORE1_INSN_BCLRM; mepcore1_extract_sfmt_bsetm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
712 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
714 entire_insn = entire_insn >> 16;
715 if ((entire_insn & 0xf80f) == 0x2002)
716 { itype = MEPCORE1_INSN_BNOTM; mepcore1_extract_sfmt_bsetm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
717 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
719 entire_insn = entire_insn >> 16;
720 if ((entire_insn & 0xf80f) == 0x2003)
721 { itype = MEPCORE1_INSN_BTSTM; mepcore1_extract_sfmt_btstm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
722 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
724 entire_insn = entire_insn >> 16;
725 itype = MEPCORE1_INSN_TAS; mepcore1_extract_sfmt_tas (this, current_cpu, pc, base_insn, entire_insn); goto done;
727 entire_insn = entire_insn >> 16;
728 itype = MEPCORE1_INSN_RI_3; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
730 entire_insn = entire_insn >> 16;
731 itype = MEPCORE1_INSN_SL1AD3; mepcore1_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
733 entire_insn = entire_insn >> 16;
734 itype = MEPCORE1_INSN_SL2AD3; mepcore1_extract_sfmt_sl1ad3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
736 entire_insn = entire_insn >> 16;
737 itype = MEPCORE1_INSN_RI_4; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
739 entire_insn = entire_insn >> 16;
740 itype = MEPCORE1_INSN_RI_5; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
742 entire_insn = entire_insn >> 16;
743 itype = MEPCORE1_INSN_RI_6; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
745 entire_insn = entire_insn >> 16;
746 itype = MEPCORE1_INSN_RI_7; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
748 entire_insn = entire_insn >> 16;
749 itype = MEPCORE1_INSN_SRL; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
751 entire_insn = entire_insn >> 16;
752 itype = MEPCORE1_INSN_SRA; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
754 entire_insn = entire_insn >> 16;
755 itype = MEPCORE1_INSN_SLL; mepcore1_extract_sfmt_sub (this, current_cpu, pc, base_insn, entire_insn); goto done;
757 entire_insn = entire_insn >> 16;
758 itype = MEPCORE1_INSN_FSFT; mepcore1_extract_sfmt_fsft (this, current_cpu, pc, base_insn, entire_insn); goto done;
760 entire_insn = entire_insn >> 16;
761 itype = MEPCORE1_INSN_SWCPI; mepcore1_extract_sfmt_swcpi (this, current_cpu, pc, base_insn, entire_insn); goto done;
763 entire_insn = entire_insn >> 16;
764 itype = MEPCORE1_INSN_LWCPI; mepcore1_extract_sfmt_lwcpi (this, current_cpu, pc, base_insn, entire_insn); goto done;
766 entire_insn = entire_insn >> 16;
767 itype = MEPCORE1_INSN_SMCPI; mepcore1_extract_sfmt_smcpi (this, current_cpu, pc, base_insn, entire_insn); goto done;
769 entire_insn = entire_insn >> 16;
770 itype = MEPCORE1_INSN_LMCPI; mepcore1_extract_sfmt_lmcpi (this, current_cpu, pc, base_insn, entire_insn); goto done;
772 entire_insn = entire_insn >> 16;
773 itype = MEPCORE1_INSN_RI_8; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
775 entire_insn = entire_insn >> 16;
776 itype = MEPCORE1_INSN_RI_9; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
778 entire_insn = entire_insn >> 16;
779 itype = MEPCORE1_INSN_RI_10; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
781 entire_insn = entire_insn >> 16;
782 itype = MEPCORE1_INSN_RI_11; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
784 entire_insn = entire_insn >> 16;
785 itype = MEPCORE1_INSN_SWCP; mepcore1_extract_sfmt_swcp (this, current_cpu, pc, base_insn, entire_insn); goto done;
787 entire_insn = entire_insn >> 16;
788 itype = MEPCORE1_INSN_LWCP; mepcore1_extract_sfmt_lwcp (this, current_cpu, pc, base_insn, entire_insn); goto done;
790 entire_insn = entire_insn >> 16;
791 itype = MEPCORE1_INSN_SMCP; mepcore1_extract_sfmt_smcp (this, current_cpu, pc, base_insn, entire_insn); goto done;
793 entire_insn = entire_insn >> 16;
794 itype = MEPCORE1_INSN_LMCP; mepcore1_extract_sfmt_lmcp (this, current_cpu, pc, base_insn, entire_insn); goto done;
796 entire_insn = entire_insn >> 16;
797 itype = MEPCORE1_INSN_RI_12; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
799 entire_insn = entire_insn >> 16;
800 itype = MEPCORE1_INSN_RI_13; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
802 entire_insn = entire_insn >> 16;
803 itype = MEPCORE1_INSN_RI_14; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
805 entire_insn = entire_insn >> 16;
806 itype = MEPCORE1_INSN_RI_15; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
807 case 64 : /* fall through */
808 case 68 : /* fall through */
809 case 72 : /* fall through */
812 unsigned int val = (((insn >> 23) & (1 << 0)));
816 entire_insn = entire_insn >> 16;
817 itype = MEPCORE1_INSN_ADD3I; mepcore1_extract_sfmt_add3i (this, current_cpu, pc, base_insn, entire_insn); goto done;
819 entire_insn = entire_insn >> 16;
820 if ((entire_insn & 0xf880) == 0x4880)
821 { itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
822 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
823 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
826 case 65 : /* fall through */
827 case 69 : /* fall through */
828 case 73 : /* fall through */
830 entire_insn = entire_insn >> 16;
831 if ((entire_insn & 0xf880) == 0x4880)
832 { itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
833 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
834 case 66 : /* fall through */
835 case 70 : /* fall through */
836 case 74 : /* fall through */
839 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 23) & (1 << 0)));
842 case 0 : /* fall through */
844 entire_insn = entire_insn >> 16;
845 itype = MEPCORE1_INSN_SW_SP; mepcore1_extract_sfmt_sw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done;
847 entire_insn = entire_insn >> 16;
848 itype = MEPCORE1_INSN_SW_TP; mepcore1_extract_sfmt_sw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
850 entire_insn = entire_insn >> 16;
851 itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
852 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
855 case 67 : /* fall through */
856 case 71 : /* fall through */
857 case 75 : /* fall through */
860 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 23) & (1 << 0)));
863 case 0 : /* fall through */
865 entire_insn = entire_insn >> 16;
866 itype = MEPCORE1_INSN_LW_SP; mepcore1_extract_sfmt_lw_sp (this, current_cpu, pc, base_insn, entire_insn); goto done;
868 entire_insn = entire_insn >> 16;
869 itype = MEPCORE1_INSN_LW_TP; mepcore1_extract_sfmt_lw_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
871 entire_insn = entire_insn >> 16;
872 itype = MEPCORE1_INSN_LBU_TP; mepcore1_extract_sfmt_lbu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
873 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
876 case 80 : /* fall through */
877 case 81 : /* fall through */
878 case 82 : /* fall through */
879 case 83 : /* fall through */
880 case 84 : /* fall through */
881 case 85 : /* fall through */
882 case 86 : /* fall through */
883 case 87 : /* fall through */
884 case 88 : /* fall through */
885 case 89 : /* fall through */
886 case 90 : /* fall through */
887 case 91 : /* fall through */
888 case 92 : /* fall through */
889 case 93 : /* fall through */
890 case 94 : /* fall through */
892 entire_insn = entire_insn >> 16;
893 itype = MEPCORE1_INSN_MOVI8; mepcore1_extract_sfmt_movi8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
894 case 96 : /* fall through */
895 case 100 : /* fall through */
896 case 104 : /* fall through */
898 entire_insn = entire_insn >> 16;
899 itype = MEPCORE1_INSN_ADD; mepcore1_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done;
900 case 97 : /* fall through */
902 entire_insn = entire_insn >> 16;
903 itype = MEPCORE1_INSN_SLT3I; mepcore1_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done;
904 case 98 : /* fall through */
906 entire_insn = entire_insn >> 16;
907 itype = MEPCORE1_INSN_SRLI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done;
908 case 99 : /* fall through */
910 entire_insn = entire_insn >> 16;
911 itype = MEPCORE1_INSN_SRAI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done;
912 case 101 : /* fall through */
914 entire_insn = entire_insn >> 16;
915 itype = MEPCORE1_INSN_SLTU3I; mepcore1_extract_sfmt_slt3i (this, current_cpu, pc, base_insn, entire_insn); goto done;
916 case 102 : /* fall through */
918 entire_insn = entire_insn >> 16;
919 itype = MEPCORE1_INSN_SLLI; mepcore1_extract_sfmt_srai (this, current_cpu, pc, base_insn, entire_insn); goto done;
920 case 103 : /* fall through */
922 entire_insn = entire_insn >> 16;
923 itype = MEPCORE1_INSN_SLL3; mepcore1_extract_sfmt_sll3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
926 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 20) & (1 << 0)));
930 entire_insn = entire_insn >> 16;
931 if ((entire_insn & 0xffff) == 0x7000)
932 { itype = MEPCORE1_INSN_DI; mepcore1_extract_sfmt_di (this, current_cpu, pc, base_insn, entire_insn); goto done; }
933 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
935 entire_insn = entire_insn >> 16;
936 if ((entire_insn & 0xffff) == 0x7010)
937 { itype = MEPCORE1_INSN_EI; mepcore1_extract_sfmt_di (this, current_cpu, pc, base_insn, entire_insn); goto done; }
938 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
939 case 2 : /* fall through */
941 entire_insn = entire_insn >> 16;
942 if ((entire_insn & 0xf8ef) == 0x7800)
943 { itype = MEPCORE1_INSN_SIM_SYSCALL; mepcore1_extract_sfmt_sim_syscall (this, current_cpu, pc, base_insn, entire_insn); goto done; }
944 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
945 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
950 unsigned int val = (((insn >> 20) & (3 << 0)));
954 entire_insn = entire_insn >> 16;
955 if ((entire_insn & 0xffff) == 0x7011)
956 { itype = MEPCORE1_INSN_SYNCM; mepcore1_extract_sfmt_sleep (this, current_cpu, pc, base_insn, entire_insn); goto done; }
957 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
959 entire_insn = entire_insn >> 16;
960 if ((entire_insn & 0xffff) == 0x7021)
961 { itype = MEPCORE1_INSN_SYNCCP; mepcore1_extract_sfmt_synccp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
962 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
963 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
968 unsigned int val = (((insn >> 20) & (7 << 0)));
972 entire_insn = entire_insn >> 16;
973 if ((entire_insn & 0xffff) == 0x7002)
974 { itype = MEPCORE1_INSN_RET; mepcore1_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done; }
975 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
977 entire_insn = entire_insn >> 16;
978 if ((entire_insn & 0xffff) == 0x7012)
979 { itype = MEPCORE1_INSN_RETI; mepcore1_extract_sfmt_reti (this, current_cpu, pc, base_insn, entire_insn); goto done; }
980 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
982 entire_insn = entire_insn >> 16;
983 if ((entire_insn & 0xffff) == 0x7022)
984 { itype = MEPCORE1_INSN_HALT; mepcore1_extract_sfmt_halt (this, current_cpu, pc, base_insn, entire_insn); goto done; }
985 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
987 entire_insn = entire_insn >> 16;
988 if ((entire_insn & 0xffff) == 0x7032)
989 { itype = MEPCORE1_INSN_BREAK; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done; }
990 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
992 entire_insn = entire_insn >> 16;
993 if ((entire_insn & 0xffff) == 0x7062)
994 { itype = MEPCORE1_INSN_SLEEP; mepcore1_extract_sfmt_sleep (this, current_cpu, pc, base_insn, entire_insn); goto done; }
995 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
996 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1001 unsigned int val = (((insn >> 21) & (1 << 0)));
1005 entire_insn = entire_insn >> 16;
1006 if ((entire_insn & 0xffff) == 0x7013)
1007 { itype = MEPCORE1_INSN_DRET; mepcore1_extract_sfmt_dret (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1008 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1010 entire_insn = entire_insn >> 16;
1011 if ((entire_insn & 0xffff) == 0x7033)
1012 { itype = MEPCORE1_INSN_DBREAK; mepcore1_extract_sfmt_dbreak (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1013 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1014 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1018 entire_insn = entire_insn >> 16;
1019 itype = MEPCORE1_INSN_CACHE; mepcore1_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done;
1021 entire_insn = entire_insn >> 16;
1022 itype = MEPCORE1_INSN_PREF; mepcore1_extract_sfmt_pref (this, current_cpu, pc, base_insn, entire_insn); goto done;
1024 entire_insn = entire_insn >> 16;
1025 if ((entire_insn & 0xffcf) == 0x7006)
1026 { itype = MEPCORE1_INSN_SWI; mepcore1_extract_sfmt_swi (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1027 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1029 entire_insn = entire_insn >> 16;
1030 itype = MEPCORE1_INSN_RI_17; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1033 unsigned int val = (((insn >> 20) & (15 << 0)));
1036 case 0 : /* fall through */
1037 case 2 : /* fall through */
1038 case 3 : /* fall through */
1039 case 4 : /* fall through */
1040 case 5 : /* fall through */
1041 case 6 : /* fall through */
1042 case 9 : /* fall through */
1043 case 10 : /* fall through */
1044 case 11 : /* fall through */
1045 case 12 : /* fall through */
1046 case 13 : /* fall through */
1047 case 14 : /* fall through */
1049 entire_insn = entire_insn >> 16;
1050 itype = MEPCORE1_INSN_STC; mepcore1_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1052 entire_insn = entire_insn >> 16;
1053 itype = MEPCORE1_INSN_STC_LP; mepcore1_extract_sfmt_stc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1055 entire_insn = entire_insn >> 16;
1056 itype = MEPCORE1_INSN_STC_HI; mepcore1_extract_sfmt_stc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1058 entire_insn = entire_insn >> 16;
1059 itype = MEPCORE1_INSN_STC_LO; mepcore1_extract_sfmt_stc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done;
1060 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1064 entire_insn = entire_insn >> 16;
1065 itype = MEPCORE1_INSN_STC; mepcore1_extract_sfmt_stc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1068 unsigned int val = (((insn >> 20) & (15 << 0)));
1071 case 0 : /* fall through */
1072 case 2 : /* fall through */
1073 case 3 : /* fall through */
1074 case 4 : /* fall through */
1075 case 5 : /* fall through */
1076 case 6 : /* fall through */
1077 case 9 : /* fall through */
1078 case 10 : /* fall through */
1079 case 11 : /* fall through */
1080 case 12 : /* fall through */
1081 case 13 : /* fall through */
1082 case 14 : /* fall through */
1084 entire_insn = entire_insn >> 16;
1085 itype = MEPCORE1_INSN_LDC; mepcore1_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1087 entire_insn = entire_insn >> 16;
1088 itype = MEPCORE1_INSN_LDC_LP; mepcore1_extract_sfmt_ldc_lp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1090 entire_insn = entire_insn >> 16;
1091 itype = MEPCORE1_INSN_LDC_HI; mepcore1_extract_sfmt_ldc_hi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1093 entire_insn = entire_insn >> 16;
1094 itype = MEPCORE1_INSN_LDC_LO; mepcore1_extract_sfmt_ldc_lo (this, current_cpu, pc, base_insn, entire_insn); goto done;
1095 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1099 entire_insn = entire_insn >> 16;
1100 itype = MEPCORE1_INSN_LDC; mepcore1_extract_sfmt_ldc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1102 entire_insn = entire_insn >> 16;
1103 itype = MEPCORE1_INSN_STCB_R; mepcore1_extract_sfmt_stcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done;
1105 entire_insn = entire_insn >> 16;
1106 itype = MEPCORE1_INSN_LDCB_R; mepcore1_extract_sfmt_ldcb_r (this, current_cpu, pc, base_insn, entire_insn); goto done;
1108 entire_insn = entire_insn >> 16;
1109 itype = MEPCORE1_INSN_RI_20; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1111 entire_insn = entire_insn >> 16;
1112 itype = MEPCORE1_INSN_RI_21; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1113 case 128 : /* fall through */
1114 case 130 : /* fall through */
1115 case 132 : /* fall through */
1116 case 134 : /* fall through */
1117 case 136 : /* fall through */
1118 case 138 : /* fall through */
1119 case 140 : /* fall through */
1122 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 23) & (1 << 0)));
1126 entire_insn = entire_insn >> 16;
1127 itype = MEPCORE1_INSN_SB_TP; mepcore1_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1129 entire_insn = entire_insn >> 16;
1130 itype = MEPCORE1_INSN_SH_TP; mepcore1_extract_sfmt_sh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1132 entire_insn = entire_insn >> 16;
1133 itype = MEPCORE1_INSN_LB_TP; mepcore1_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1135 entire_insn = entire_insn >> 16;
1136 itype = MEPCORE1_INSN_LH_TP; mepcore1_extract_sfmt_lh_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1137 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1140 case 129 : /* fall through */
1141 case 131 : /* fall through */
1142 case 133 : /* fall through */
1143 case 135 : /* fall through */
1144 case 137 : /* fall through */
1145 case 139 : /* fall through */
1146 case 141 : /* fall through */
1149 unsigned int val = (((insn >> 26) & (1 << 1)) | ((insn >> 23) & (1 << 0)));
1153 entire_insn = entire_insn >> 16;
1154 itype = MEPCORE1_INSN_SB_TP; mepcore1_extract_sfmt_sb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1156 entire_insn = entire_insn >> 16;
1157 itype = MEPCORE1_INSN_LB_TP; mepcore1_extract_sfmt_lb_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1159 entire_insn = entire_insn >> 16;
1160 itype = MEPCORE1_INSN_LHU_TP; mepcore1_extract_sfmt_lhu_tp (this, current_cpu, pc, base_insn, entire_insn); goto done;
1161 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1164 case 144 : /* fall through */
1165 case 145 : /* fall through */
1166 case 146 : /* fall through */
1167 case 147 : /* fall through */
1168 case 148 : /* fall through */
1169 case 149 : /* fall through */
1170 case 150 : /* fall through */
1171 case 151 : /* fall through */
1172 case 152 : /* fall through */
1173 case 153 : /* fall through */
1174 case 154 : /* fall through */
1175 case 155 : /* fall through */
1176 case 156 : /* fall through */
1177 case 157 : /* fall through */
1178 case 158 : /* fall through */
1180 entire_insn = entire_insn >> 16;
1181 itype = MEPCORE1_INSN_ADD3; mepcore1_extract_sfmt_add3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1182 case 160 : /* fall through */
1183 case 162 : /* fall through */
1184 case 164 : /* fall through */
1185 case 166 : /* fall through */
1186 case 168 : /* fall through */
1187 case 170 : /* fall through */
1188 case 172 : /* fall through */
1190 entire_insn = entire_insn >> 16;
1191 itype = MEPCORE1_INSN_BEQZ; mepcore1_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done;
1192 case 161 : /* fall through */
1193 case 163 : /* fall through */
1194 case 165 : /* fall through */
1195 case 167 : /* fall through */
1196 case 169 : /* fall through */
1197 case 171 : /* fall through */
1198 case 173 : /* fall through */
1200 entire_insn = entire_insn >> 16;
1201 itype = MEPCORE1_INSN_BNEZ; mepcore1_extract_sfmt_beqz (this, current_cpu, pc, base_insn, entire_insn); goto done;
1202 case 176 : /* fall through */
1203 case 178 : /* fall through */
1204 case 180 : /* fall through */
1205 case 182 : /* fall through */
1206 case 184 : /* fall through */
1207 case 186 : /* fall through */
1208 case 188 : /* fall through */
1210 entire_insn = entire_insn >> 16;
1211 itype = MEPCORE1_INSN_BRA; mepcore1_extract_sfmt_bra (this, current_cpu, pc, base_insn, entire_insn); goto done;
1212 case 177 : /* fall through */
1213 case 179 : /* fall through */
1214 case 181 : /* fall through */
1215 case 183 : /* fall through */
1216 case 185 : /* fall through */
1217 case 187 : /* fall through */
1218 case 189 : /* fall through */
1220 entire_insn = entire_insn >> 16;
1221 itype = MEPCORE1_INSN_BSR12; mepcore1_extract_sfmt_bsr12 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1222 case 192 : itype = MEPCORE1_INSN_ADD3X; mepcore1_extract_sfmt_add3x (this, current_cpu, pc, base_insn, entire_insn); goto done;
1225 unsigned int val = (((insn >> 20) & (3 << 0)));
1229 if ((entire_insn & 0xf0ff0000) == 0xc0010000)
1230 { itype = MEPCORE1_INSN_MOVI16; mepcore1_extract_sfmt_movi16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1231 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1233 if ((entire_insn & 0xf0ff0000) == 0xc0110000)
1234 { itype = MEPCORE1_INSN_MOVU16; mepcore1_extract_sfmt_movu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1235 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1237 if ((entire_insn & 0xf0ff0000) == 0xc0210000)
1238 { itype = MEPCORE1_INSN_MOVH; mepcore1_extract_sfmt_movu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1239 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1240 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1243 case 194 : itype = MEPCORE1_INSN_SLT3X; mepcore1_extract_sfmt_slt3x (this, current_cpu, pc, base_insn, entire_insn); goto done;
1244 case 195 : itype = MEPCORE1_INSN_SLTU3X; mepcore1_extract_sfmt_sltu3x (this, current_cpu, pc, base_insn, entire_insn); goto done;
1245 case 196 : itype = MEPCORE1_INSN_OR3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1246 case 197 : itype = MEPCORE1_INSN_AND3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1247 case 198 : itype = MEPCORE1_INSN_XOR3; mepcore1_extract_sfmt_or3 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1249 entire_insn = entire_insn >> 16;
1250 itype = MEPCORE1_INSN_RI_22; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1251 case 200 : itype = MEPCORE1_INSN_SB16; mepcore1_extract_sfmt_sb16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1252 case 201 : itype = MEPCORE1_INSN_SH16; mepcore1_extract_sfmt_sh16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1253 case 202 : itype = MEPCORE1_INSN_SW16; mepcore1_extract_sfmt_sw16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1254 case 203 : itype = MEPCORE1_INSN_LBU16; mepcore1_extract_sfmt_lbu16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1255 case 204 : itype = MEPCORE1_INSN_LB16; mepcore1_extract_sfmt_lb16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1256 case 205 : itype = MEPCORE1_INSN_LH16; mepcore1_extract_sfmt_lh16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1257 case 206 : itype = MEPCORE1_INSN_LW16; mepcore1_extract_sfmt_lw16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1258 case 207 : itype = MEPCORE1_INSN_LHU16; mepcore1_extract_sfmt_lhu16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1259 case 208 : /* fall through */
1260 case 209 : /* fall through */
1261 case 210 : /* fall through */
1262 case 211 : /* fall through */
1263 case 218 : /* fall through */
1264 case 220 : /* fall through */
1265 case 221 : /* fall through */
1266 case 222 : /* fall through */
1268 if ((entire_insn & 0xf8000000) == 0xd0000000)
1269 { itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1270 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1273 unsigned int val = (((insn >> 27) & (1 << 0)));
1276 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1278 if ((entire_insn & 0xff0f0000) == 0xd8040000)
1279 { itype = MEPCORE1_INSN_BCPEQ; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1280 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1281 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1286 unsigned int val = (((insn >> 27) & (1 << 0)));
1289 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1291 if ((entire_insn & 0xff0f0000) == 0xd8050000)
1292 { itype = MEPCORE1_INSN_BCPNE; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1293 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1294 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1299 unsigned int val = (((insn >> 27) & (1 << 0)));
1302 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1304 if ((entire_insn & 0xff0f0000) == 0xd8060000)
1305 { itype = MEPCORE1_INSN_BCPAT; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1306 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1307 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1312 unsigned int val = (((insn >> 27) & (1 << 0)));
1315 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1317 if ((entire_insn & 0xff0f0000) == 0xd8070000)
1318 { itype = MEPCORE1_INSN_BCPAF; mepcore1_extract_sfmt_bcpeq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1319 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1320 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1325 unsigned int val = (((insn >> 27) & (1 << 0)));
1328 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1329 case 1 : itype = MEPCORE1_INSN_JMP24; mepcore1_extract_sfmt_jmp24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1330 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1335 unsigned int val = (((insn >> 27) & (1 << 0)));
1338 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1339 case 1 : itype = MEPCORE1_INSN_BSR24; mepcore1_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1340 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1345 unsigned int val = (((insn >> 27) & (1 << 0)));
1348 case 0 : itype = MEPCORE1_INSN_MOVU24; mepcore1_extract_sfmt_movu24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1349 case 1 : itype = MEPCORE1_INSN_BSRV; mepcore1_extract_sfmt_bsr24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1350 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1353 case 224 : itype = MEPCORE1_INSN_BEQI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1354 case 225 : itype = MEPCORE1_INSN_BEQ; mepcore1_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done;
1355 case 226 : /* fall through */
1356 case 230 : /* fall through */
1357 case 234 : /* fall through */
1358 case 238 : itype = MEPCORE1_INSN_SW24; mepcore1_extract_sfmt_sw24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1359 case 227 : /* fall through */
1360 case 231 : /* fall through */
1361 case 235 : /* fall through */
1362 case 239 : itype = MEPCORE1_INSN_LW24; mepcore1_extract_sfmt_lw24 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1363 case 228 : itype = MEPCORE1_INSN_BNEI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1364 case 229 : itype = MEPCORE1_INSN_BNE; mepcore1_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done;
1365 case 232 : itype = MEPCORE1_INSN_BGEI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1368 unsigned int val = (((insn >> 20) & (1 << 0)));
1372 if ((entire_insn & 0xf0ff0000) == 0xe0090000)
1373 { itype = MEPCORE1_INSN_REPEAT; mepcore1_extract_sfmt_repeat (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1374 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1376 if ((entire_insn & 0xffff0000) == 0xe0190000)
1377 { itype = MEPCORE1_INSN_EREPEAT; mepcore1_extract_sfmt_erepeat (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1378 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1379 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1382 case 236 : itype = MEPCORE1_INSN_BLTI; mepcore1_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done;
1384 entire_insn = entire_insn >> 16;
1385 itype = MEPCORE1_INSN_RI_23; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1386 case 240 : itype = MEPCORE1_INSN_DSP; mepcore1_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done;
1389 unsigned int val = (((insn >> 8) & (3 << 4)) | ((insn >> 0) & (15 << 0)));
1393 if ((entire_insn & 0xf00fffff) == 0xf0010000)
1394 { itype = MEPCORE1_INSN_LDZ; mepcore1_extract_sfmt_ldz (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1395 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1397 if ((entire_insn & 0xf00fffff) == 0xf0010002)
1398 { itype = MEPCORE1_INSN_AVE; mepcore1_extract_sfmt_abs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1399 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1401 if ((entire_insn & 0xf00fffff) == 0xf0010003)
1402 { itype = MEPCORE1_INSN_ABS; mepcore1_extract_sfmt_abs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1403 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1405 if ((entire_insn & 0xf00fffff) == 0xf0010004)
1406 { itype = MEPCORE1_INSN_MIN; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1407 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1409 if ((entire_insn & 0xf00fffff) == 0xf0010005)
1410 { itype = MEPCORE1_INSN_MAX; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1411 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1413 if ((entire_insn & 0xf00fffff) == 0xf0010006)
1414 { itype = MEPCORE1_INSN_MINU; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1415 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1417 if ((entire_insn & 0xf00fffff) == 0xf0010007)
1418 { itype = MEPCORE1_INSN_MAXU; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1419 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1421 if ((entire_insn & 0xf00fffff) == 0xf0010008)
1422 { itype = MEPCORE1_INSN_SADD; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1423 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1425 if ((entire_insn & 0xf00fffff) == 0xf0010009)
1426 { itype = MEPCORE1_INSN_SADDU; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1427 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1429 if ((entire_insn & 0xf00fffff) == 0xf001000a)
1430 { itype = MEPCORE1_INSN_SSUB; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1431 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1433 if ((entire_insn & 0xf00fffff) == 0xf001000b)
1434 { itype = MEPCORE1_INSN_SSUBU; mepcore1_extract_sfmt_min (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1435 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1436 case 16 : /* fall through */
1438 if ((entire_insn & 0xf0ffff07) == 0xf0011000)
1439 { itype = MEPCORE1_INSN_CLIP; mepcore1_extract_sfmt_clip (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1440 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1441 case 17 : /* fall through */
1443 if ((entire_insn & 0xf0ffff07) == 0xf0011001)
1444 { itype = MEPCORE1_INSN_CLIPU; mepcore1_extract_sfmt_clip (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1445 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1447 if ((entire_insn & 0xf00ff0ff) == 0xf0012000)
1448 { itype = MEPCORE1_INSN_CASB3; mepcore1_extract_sfmt_casb3 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1449 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1451 if ((entire_insn & 0xf00ff0ff) == 0xf0012001)
1452 { itype = MEPCORE1_INSN_CASH3; mepcore1_extract_sfmt_casb3 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1453 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1455 if ((entire_insn & 0xf00ff0ff) == 0xf0012002)
1456 { itype = MEPCORE1_INSN_CASW3; mepcore1_extract_sfmt_casb3 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1457 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1459 if ((entire_insn & 0xf00fffff) == 0xf0013004)
1460 { itype = MEPCORE1_INSN_MADD; mepcore1_extract_sfmt_madd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1461 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1463 if ((entire_insn & 0xf00fffff) == 0xf0013005)
1464 { itype = MEPCORE1_INSN_MADDU; mepcore1_extract_sfmt_madd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1465 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1467 if ((entire_insn & 0xf00fffff) == 0xf0013006)
1468 { itype = MEPCORE1_INSN_MADDR; mepcore1_extract_sfmt_maddr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1469 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1471 if ((entire_insn & 0xf00fffff) == 0xf0013007)
1472 { itype = MEPCORE1_INSN_MADDRU; mepcore1_extract_sfmt_maddr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1473 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1474 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1477 case 242 : itype = MEPCORE1_INSN_UCI; mepcore1_extract_sfmt_uci (this, current_cpu, pc, base_insn, entire_insn); goto done;
1478 case 243 : itype = MEPCORE1_INSN_PREFD; mepcore1_extract_sfmt_prefd (this, current_cpu, pc, base_insn, entire_insn); goto done;
1481 unsigned int val = (((insn >> 20) & (1 << 0)));
1485 if ((entire_insn & 0xf0ff0000) == 0xf0040000)
1486 { itype = MEPCORE1_INSN_STCB; mepcore1_extract_sfmt_stcb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1487 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1489 if ((entire_insn & 0xf0ff0000) == 0xf0140000)
1490 { itype = MEPCORE1_INSN_LDCB; mepcore1_extract_sfmt_movu16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1491 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1492 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1497 unsigned int val = (((insn >> 10) & (63 << 0)));
1500 case 0 : itype = MEPCORE1_INSN_SBCPA; mepcore1_extract_sfmt_sbcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1501 case 2 : itype = MEPCORE1_INSN_SBCPM0; mepcore1_extract_sfmt_sbcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1502 case 3 : itype = MEPCORE1_INSN_SBCPM1; mepcore1_extract_sfmt_sbcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1503 case 4 : itype = MEPCORE1_INSN_SHCPA; mepcore1_extract_sfmt_shcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1504 case 6 : itype = MEPCORE1_INSN_SHCPM0; mepcore1_extract_sfmt_shcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1505 case 7 : itype = MEPCORE1_INSN_SHCPM1; mepcore1_extract_sfmt_shcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1506 case 8 : itype = MEPCORE1_INSN_SWCPA; mepcore1_extract_sfmt_swcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1507 case 10 : itype = MEPCORE1_INSN_SWCPM0; mepcore1_extract_sfmt_swcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1508 case 11 : itype = MEPCORE1_INSN_SWCPM1; mepcore1_extract_sfmt_swcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1509 case 12 : itype = MEPCORE1_INSN_SMCPA; mepcore1_extract_sfmt_smcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1510 case 14 : itype = MEPCORE1_INSN_SMCPM0; mepcore1_extract_sfmt_smcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1511 case 15 : itype = MEPCORE1_INSN_SMCPM1; mepcore1_extract_sfmt_smcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1512 case 16 : itype = MEPCORE1_INSN_LBCPA; mepcore1_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1513 case 18 : itype = MEPCORE1_INSN_LBCPM0; mepcore1_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1514 case 19 : itype = MEPCORE1_INSN_LBCPM1; mepcore1_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1515 case 20 : itype = MEPCORE1_INSN_LHCPA; mepcore1_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1516 case 22 : itype = MEPCORE1_INSN_LHCPM0; mepcore1_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1517 case 23 : itype = MEPCORE1_INSN_LHCPM1; mepcore1_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1518 case 24 : itype = MEPCORE1_INSN_LWCPA; mepcore1_extract_sfmt_lwcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1519 case 26 : itype = MEPCORE1_INSN_LWCPM0; mepcore1_extract_sfmt_lwcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1520 case 27 : itype = MEPCORE1_INSN_LWCPM1; mepcore1_extract_sfmt_lwcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1521 case 28 : itype = MEPCORE1_INSN_LMCPA; mepcore1_extract_sfmt_lmcpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1522 case 30 : itype = MEPCORE1_INSN_LMCPM0; mepcore1_extract_sfmt_lmcpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1523 case 31 : itype = MEPCORE1_INSN_LMCPM1; mepcore1_extract_sfmt_lmcpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1524 case 48 : itype = MEPCORE1_INSN_LBUCPA; mepcore1_extract_sfmt_lbucpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1525 case 50 : itype = MEPCORE1_INSN_LBUCPM0; mepcore1_extract_sfmt_lbucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1526 case 51 : itype = MEPCORE1_INSN_LBUCPM1; mepcore1_extract_sfmt_lbucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1527 case 52 : itype = MEPCORE1_INSN_LHUCPA; mepcore1_extract_sfmt_lhucpa (this, current_cpu, pc, base_insn, entire_insn); goto done;
1528 case 54 : itype = MEPCORE1_INSN_LHUCPM0; mepcore1_extract_sfmt_lhucpm0 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1529 case 55 : itype = MEPCORE1_INSN_LHUCPM1; mepcore1_extract_sfmt_lhucpm1 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1530 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1535 unsigned int val = (((insn >> 13) & (3 << 1)) | ((insn >> 12) & (1 << 0)));
1539 if ((entire_insn & 0xf00ff000) == 0xf0060000)
1540 { itype = MEPCORE1_INSN_SBCP; mepcore1_extract_sfmt_sbcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1541 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1543 if ((entire_insn & 0xf00ff000) == 0xf0061000)
1544 { itype = MEPCORE1_INSN_SHCP; mepcore1_extract_sfmt_shcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1545 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1547 if ((entire_insn & 0xf00ff000) == 0xf0064000)
1548 { itype = MEPCORE1_INSN_LBCP; mepcore1_extract_sfmt_lbcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1549 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1551 if ((entire_insn & 0xf00ff000) == 0xf0065000)
1552 { itype = MEPCORE1_INSN_LHCP; mepcore1_extract_sfmt_lhcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1553 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1555 if ((entire_insn & 0xf00ff000) == 0xf006c000)
1556 { itype = MEPCORE1_INSN_LBUCP; mepcore1_extract_sfmt_lbcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1557 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1559 if ((entire_insn & 0xf00ff000) == 0xf006d000)
1560 { itype = MEPCORE1_INSN_LHUCP; mepcore1_extract_sfmt_lhcp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1561 itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1562 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1566 entire_insn = entire_insn >> 16;
1567 itype = MEPCORE1_INSN_RI_26; mepcore1_extract_sfmt_break (this, current_cpu, pc, base_insn, entire_insn); goto done;
1568 case 252 : itype = MEPCORE1_INSN_SWCP16; mepcore1_extract_sfmt_swcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1569 case 253 : itype = MEPCORE1_INSN_LWCP16; mepcore1_extract_sfmt_lwcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1570 case 254 : itype = MEPCORE1_INSN_SMCP16; mepcore1_extract_sfmt_smcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1571 case 255 : itype = MEPCORE1_INSN_LMCP16; mepcore1_extract_sfmt_lmcp16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1572 default : itype = MEPCORE1_INSN_X_INVALID; mepcore1_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1578 /* The instruction has been decoded and fields extracted. */
1582 // FIXME: To be redone (to handle ISA variants).
1583 this->idesc = & mepcore1_idesc::idesc_table[itype];
1584 // ??? record semantic handler?
1585 assert(this->idesc->sem_index == itype);
1589 mepcore1_extract_sfmt_empty (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1590 mepcore1_insn_word insn = entire_insn;
1591 #define FLD(f) abuf->fields.fmt_empty.f
1594 /* Record the fields for the semantic handler. */
1595 if (UNLIKELY(current_cpu->trace_extract_p))
1597 current_cpu->trace_stream
1598 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
1606 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){
1607 mepcore1_insn_word insn = entire_insn;
1608 #define FLD(f) abuf->fields.sfmt_stcb_r.f
1612 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
1613 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1615 /* Record the fields for the semantic handler. */
1618 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1619 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
1620 if (UNLIKELY(current_cpu->trace_extract_p))
1622 current_cpu->trace_stream
1623 << "0x" << hex << pc << dec << " (sfmt_stcb_r)\t"
1624 << " f_rm:0x" << hex << f_rm << dec
1625 << " f_rn:0x" << hex << f_rn << dec
1629 /* Record the fields for profiling. */
1630 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1632 FLD (in_rma) = f_rm;
1639 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){
1640 mepcore1_insn_word insn = entire_insn;
1641 #define FLD(f) abuf->fields.sfmt_ldcb_r.f
1645 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
1646 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1648 /* Record the fields for the semantic handler. */
1651 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1652 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
1653 if (UNLIKELY(current_cpu->trace_extract_p))
1655 current_cpu->trace_stream
1656 << "0x" << hex << pc << dec << " (sfmt_ldcb_r)\t"
1657 << " f_rm:0x" << hex << f_rm << dec
1658 << " f_rn:0x" << hex << f_rn << dec
1662 /* Record the fields for profiling. */
1663 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1665 FLD (in_rma) = f_rm;
1666 FLD (out_rn) = f_rn;
1672 mepcore1_extract_sfmt_pref (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1673 mepcore1_insn_word insn = entire_insn;
1674 #define FLD(f) abuf->fields.sfmt_ldcb_r.f
1678 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
1679 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
1681 /* Record the fields for the semantic handler. */
1684 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1685 if (UNLIKELY(current_cpu->trace_extract_p))
1687 current_cpu->trace_stream
1688 << "0x" << hex << pc << dec << " (sfmt_pref)\t"
1689 << " f_rn:0x" << hex << f_rn << dec
1690 << " f_rm:0x" << hex << f_rm << dec
1694 /* Record the fields for profiling. */
1695 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1697 FLD (in_rma) = f_rm;
1703 mepcore1_extract_sfmt_prefd (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1704 mepcore1_insn_word insn = entire_insn;
1705 #define FLD(f) abuf->fields.sfmt_lhu16.f
1710 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1711 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1712 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
1714 /* Record the fields for the semantic handler. */
1717 FLD (f_16s16) = f_16s16;
1718 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1719 if (UNLIKELY(current_cpu->trace_extract_p))
1721 current_cpu->trace_stream
1722 << "0x" << hex << pc << dec << " (sfmt_prefd)\t"
1723 << " f_rn:0x" << hex << f_rn << dec
1724 << " f_rm:0x" << hex << f_rm << dec
1725 << " f_16s16:0x" << hex << f_16s16 << dec
1729 /* Record the fields for profiling. */
1730 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1732 FLD (in_rma) = f_rm;
1738 mepcore1_extract_sfmt_casb3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1739 mepcore1_insn_word insn = entire_insn;
1740 #define FLD(f) abuf->fields.sfmt_casb3.f
1745 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1746 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1747 f_rl5 = EXTRACT_MSB0_UINT (insn, 32, 20, 4);
1749 /* Record the fields for the semantic handler. */
1750 FLD (f_rl5) = f_rl5;
1753 FLD (i_rl5) = & current_cpu->hardware.h_gpr[f_rl5];
1754 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
1755 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
1756 if (UNLIKELY(current_cpu->trace_extract_p))
1758 current_cpu->trace_stream
1759 << "0x" << hex << pc << dec << " (sfmt_casb3)\t"
1760 << " f_rl5:0x" << hex << f_rl5 << dec
1761 << " f_rm:0x" << hex << f_rm << dec
1762 << " f_rn:0x" << hex << f_rn << dec
1766 /* Record the fields for profiling. */
1767 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1769 FLD (in_rl5) = f_rl5;
1772 FLD (out_rl5) = f_rl5;
1778 mepcore1_extract_sfmt_sbcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1779 mepcore1_insn_word insn = entire_insn;
1780 #define FLD(f) abuf->fields.sfmt_sbcp.f
1785 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1786 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1787 f_12s20 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
1789 /* Record the fields for the semantic handler. */
1790 FLD (f_12s20) = f_12s20;
1791 FLD (f_crn) = f_crn;
1793 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1794 if (UNLIKELY(current_cpu->trace_extract_p))
1796 current_cpu->trace_stream
1797 << "0x" << hex << pc << dec << " (sfmt_sbcp)\t"
1798 << " f_12s20:0x" << hex << f_12s20 << dec
1799 << " f_crn:0x" << hex << f_crn << dec
1800 << " f_rm:0x" << hex << f_rm << dec
1804 /* Record the fields for profiling. */
1805 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1807 FLD (in_rma) = f_rm;
1813 mepcore1_extract_sfmt_lbcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1814 mepcore1_insn_word insn = entire_insn;
1815 #define FLD(f) abuf->fields.sfmt_sbcp.f
1820 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1821 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1822 f_12s20 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
1824 /* Record the fields for the semantic handler. */
1825 FLD (f_12s20) = f_12s20;
1827 FLD (f_crn) = f_crn;
1828 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1829 if (UNLIKELY(current_cpu->trace_extract_p))
1831 current_cpu->trace_stream
1832 << "0x" << hex << pc << dec << " (sfmt_lbcp)\t"
1833 << " f_12s20:0x" << hex << f_12s20 << dec
1834 << " f_rm:0x" << hex << f_rm << dec
1835 << " f_crn:0x" << hex << f_crn << dec
1839 /* Record the fields for profiling. */
1840 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1842 FLD (in_rma) = f_rm;
1848 mepcore1_extract_sfmt_shcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1849 mepcore1_insn_word insn = entire_insn;
1850 #define FLD(f) abuf->fields.sfmt_sbcp.f
1855 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1856 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1857 f_12s20 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
1859 /* Record the fields for the semantic handler. */
1860 FLD (f_12s20) = f_12s20;
1861 FLD (f_crn) = f_crn;
1863 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1864 if (UNLIKELY(current_cpu->trace_extract_p))
1866 current_cpu->trace_stream
1867 << "0x" << hex << pc << dec << " (sfmt_shcp)\t"
1868 << " f_12s20:0x" << hex << f_12s20 << dec
1869 << " f_crn:0x" << hex << f_crn << dec
1870 << " f_rm:0x" << hex << f_rm << dec
1874 /* Record the fields for profiling. */
1875 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1877 FLD (in_rma) = f_rm;
1883 mepcore1_extract_sfmt_lhcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1884 mepcore1_insn_word insn = entire_insn;
1885 #define FLD(f) abuf->fields.sfmt_sbcp.f
1890 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1891 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1892 f_12s20 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
1894 /* Record the fields for the semantic handler. */
1895 FLD (f_12s20) = f_12s20;
1897 FLD (f_crn) = f_crn;
1898 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1899 if (UNLIKELY(current_cpu->trace_extract_p))
1901 current_cpu->trace_stream
1902 << "0x" << hex << pc << dec << " (sfmt_lhcp)\t"
1903 << " f_12s20:0x" << hex << f_12s20 << dec
1904 << " f_rm:0x" << hex << f_rm << dec
1905 << " f_crn:0x" << hex << f_crn << dec
1909 /* Record the fields for profiling. */
1910 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1912 FLD (in_rma) = f_rm;
1918 mepcore1_extract_sfmt_lbucpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1919 mepcore1_insn_word insn = entire_insn;
1920 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
1925 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1926 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1927 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)));
1929 /* Record the fields for the semantic handler. */
1930 FLD (f_cdisp10) = f_cdisp10;
1932 FLD (f_crn) = f_crn;
1933 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1934 if (UNLIKELY(current_cpu->trace_extract_p))
1936 current_cpu->trace_stream
1937 << "0x" << hex << pc << dec << " (sfmt_lbucpa)\t"
1938 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
1939 << " f_rm:0x" << hex << f_rm << dec
1940 << " f_crn:0x" << hex << f_crn << dec
1944 /* Record the fields for profiling. */
1945 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1947 FLD (in_rma) = f_rm;
1948 FLD (out_rma) = f_rm;
1954 mepcore1_extract_sfmt_lhucpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1955 mepcore1_insn_word insn = entire_insn;
1956 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
1961 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1962 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1963 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)));
1965 /* Record the fields for the semantic handler. */
1966 FLD (f_cdisp10) = f_cdisp10;
1968 FLD (f_crn) = f_crn;
1969 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
1970 if (UNLIKELY(current_cpu->trace_extract_p))
1972 current_cpu->trace_stream
1973 << "0x" << hex << pc << dec << " (sfmt_lhucpa)\t"
1974 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
1975 << " f_rm:0x" << hex << f_rm << dec
1976 << " f_crn:0x" << hex << f_crn << dec
1980 /* Record the fields for profiling. */
1981 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1983 FLD (in_rma) = f_rm;
1984 FLD (out_rma) = f_rm;
1990 mepcore1_extract_sfmt_lbucpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
1991 mepcore1_insn_word insn = entire_insn;
1992 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
1997 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
1998 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
1999 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)));
2001 /* Record the fields for the semantic handler. */
2002 FLD (f_cdisp10) = f_cdisp10;
2004 FLD (f_crn) = f_crn;
2005 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2006 if (UNLIKELY(current_cpu->trace_extract_p))
2008 current_cpu->trace_stream
2009 << "0x" << hex << pc << dec << " (sfmt_lbucpm0)\t"
2010 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
2011 << " f_rm:0x" << hex << f_rm << dec
2012 << " f_crn:0x" << hex << f_crn << dec
2016 /* Record the fields for profiling. */
2017 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2021 FLD (in_rma) = f_rm;
2022 FLD (out_rma) = f_rm;
2028 mepcore1_extract_sfmt_lhucpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2029 mepcore1_insn_word insn = entire_insn;
2030 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
2035 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2036 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2037 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)));
2039 /* Record the fields for the semantic handler. */
2040 FLD (f_cdisp10) = f_cdisp10;
2042 FLD (f_crn) = f_crn;
2043 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2044 if (UNLIKELY(current_cpu->trace_extract_p))
2046 current_cpu->trace_stream
2047 << "0x" << hex << pc << dec << " (sfmt_lhucpm0)\t"
2048 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
2049 << " f_rm:0x" << hex << f_rm << dec
2050 << " f_crn:0x" << hex << f_crn << dec
2054 /* Record the fields for profiling. */
2055 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2059 FLD (in_rma) = f_rm;
2060 FLD (out_rma) = f_rm;
2066 mepcore1_extract_sfmt_lbucpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2067 mepcore1_insn_word insn = entire_insn;
2068 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
2073 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2074 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2075 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)));
2077 /* Record the fields for the semantic handler. */
2078 FLD (f_cdisp10) = f_cdisp10;
2080 FLD (f_crn) = f_crn;
2081 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2082 if (UNLIKELY(current_cpu->trace_extract_p))
2084 current_cpu->trace_stream
2085 << "0x" << hex << pc << dec << " (sfmt_lbucpm1)\t"
2086 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
2087 << " f_rm:0x" << hex << f_rm << dec
2088 << " f_crn:0x" << hex << f_crn << dec
2092 /* Record the fields for profiling. */
2093 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2097 FLD (in_rma) = f_rm;
2098 FLD (out_rma) = f_rm;
2104 mepcore1_extract_sfmt_lhucpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2105 mepcore1_insn_word insn = entire_insn;
2106 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
2111 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2112 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2113 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)));
2115 /* Record the fields for the semantic handler. */
2116 FLD (f_cdisp10) = f_cdisp10;
2118 FLD (f_crn) = f_crn;
2119 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2120 if (UNLIKELY(current_cpu->trace_extract_p))
2122 current_cpu->trace_stream
2123 << "0x" << hex << pc << dec << " (sfmt_lhucpm1)\t"
2124 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
2125 << " f_rm:0x" << hex << f_rm << dec
2126 << " f_crn:0x" << hex << f_crn << dec
2130 /* Record the fields for profiling. */
2131 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2135 FLD (in_rma) = f_rm;
2136 FLD (out_rma) = f_rm;
2142 mepcore1_extract_sfmt_uci (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2143 mepcore1_insn_word insn = entire_insn;
2144 #define FLD(f) abuf->fields.sfmt_uci.f
2149 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2150 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2151 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
2153 /* Record the fields for the semantic handler. */
2156 FLD (f_16u16) = f_16u16;
2157 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
2158 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
2159 if (UNLIKELY(current_cpu->trace_extract_p))
2161 current_cpu->trace_stream
2162 << "0x" << hex << pc << dec << " (sfmt_uci)\t"
2163 << " f_rm:0x" << hex << f_rm << dec
2164 << " f_rn:0x" << hex << f_rn << dec
2165 << " f_16u16:0x" << hex << f_16u16 << dec
2169 /* Record the fields for profiling. */
2170 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2174 FLD (out_rn) = f_rn;
2180 mepcore1_extract_sfmt_sb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2181 mepcore1_insn_word insn = entire_insn;
2182 #define FLD(f) abuf->fields.sfmt_sb16.f
2186 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2187 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2189 /* Record the fields for the semantic handler. */
2192 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2193 FLD (i_rnc) = & current_cpu->hardware.h_gpr[f_rn];
2194 if (UNLIKELY(current_cpu->trace_extract_p))
2196 current_cpu->trace_stream
2197 << "0x" << hex << pc << dec << " (sfmt_sb)\t"
2198 << " f_rm:0x" << hex << f_rm << dec
2199 << " f_rn:0x" << hex << f_rn << dec
2203 /* Record the fields for profiling. */
2204 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2206 FLD (in_rma) = f_rm;
2207 FLD (in_rnc) = f_rn;
2213 mepcore1_extract_sfmt_sh (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2214 mepcore1_insn_word insn = entire_insn;
2215 #define FLD(f) abuf->fields.sfmt_sh16.f
2219 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2220 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2222 /* Record the fields for the semantic handler. */
2225 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2226 FLD (i_rns) = & current_cpu->hardware.h_gpr[f_rn];
2227 if (UNLIKELY(current_cpu->trace_extract_p))
2229 current_cpu->trace_stream
2230 << "0x" << hex << pc << dec << " (sfmt_sh)\t"
2231 << " f_rm:0x" << hex << f_rm << dec
2232 << " f_rn:0x" << hex << f_rn << dec
2236 /* Record the fields for profiling. */
2237 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2239 FLD (in_rma) = f_rm;
2240 FLD (in_rns) = f_rn;
2246 mepcore1_extract_sfmt_sw (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2247 mepcore1_insn_word insn = entire_insn;
2248 #define FLD(f) abuf->fields.sfmt_sw16.f
2252 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2253 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2255 /* Record the fields for the semantic handler. */
2258 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2259 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2260 if (UNLIKELY(current_cpu->trace_extract_p))
2262 current_cpu->trace_stream
2263 << "0x" << hex << pc << dec << " (sfmt_sw)\t"
2264 << " f_rm:0x" << hex << f_rm << dec
2265 << " f_rn:0x" << hex << f_rn << dec
2269 /* Record the fields for profiling. */
2270 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2272 FLD (in_rma) = f_rm;
2273 FLD (in_rnl) = f_rn;
2279 mepcore1_extract_sfmt_lb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2280 mepcore1_insn_word insn = entire_insn;
2281 #define FLD(f) abuf->fields.sfmt_lb16.f
2285 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2286 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2288 /* Record the fields for the semantic handler. */
2291 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2292 FLD (i_rnc) = & current_cpu->hardware.h_gpr[f_rn];
2293 if (UNLIKELY(current_cpu->trace_extract_p))
2295 current_cpu->trace_stream
2296 << "0x" << hex << pc << dec << " (sfmt_lb)\t"
2297 << " f_rm:0x" << hex << f_rm << dec
2298 << " f_rn:0x" << hex << f_rn << dec
2302 /* Record the fields for profiling. */
2303 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2305 FLD (in_rma) = f_rm;
2306 FLD (out_rnc) = f_rn;
2312 mepcore1_extract_sfmt_lh (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2313 mepcore1_insn_word insn = entire_insn;
2314 #define FLD(f) abuf->fields.sfmt_lh16.f
2318 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2319 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2321 /* Record the fields for the semantic handler. */
2324 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2325 FLD (i_rns) = & current_cpu->hardware.h_gpr[f_rn];
2326 if (UNLIKELY(current_cpu->trace_extract_p))
2328 current_cpu->trace_stream
2329 << "0x" << hex << pc << dec << " (sfmt_lh)\t"
2330 << " f_rm:0x" << hex << f_rm << dec
2331 << " f_rn:0x" << hex << f_rn << dec
2335 /* Record the fields for profiling. */
2336 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2338 FLD (in_rma) = f_rm;
2339 FLD (out_rns) = f_rn;
2345 mepcore1_extract_sfmt_lw (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2346 mepcore1_insn_word insn = entire_insn;
2347 #define FLD(f) abuf->fields.sfmt_lw16.f
2351 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2352 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2354 /* Record the fields for the semantic handler. */
2357 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2358 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2359 if (UNLIKELY(current_cpu->trace_extract_p))
2361 current_cpu->trace_stream
2362 << "0x" << hex << pc << dec << " (sfmt_lw)\t"
2363 << " f_rm:0x" << hex << f_rm << dec
2364 << " f_rn:0x" << hex << f_rn << dec
2368 /* Record the fields for profiling. */
2369 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2371 FLD (in_rma) = f_rm;
2372 FLD (out_rnl) = f_rn;
2378 mepcore1_extract_sfmt_lbu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2379 mepcore1_insn_word insn = entire_insn;
2380 #define FLD(f) abuf->fields.sfmt_lbu16.f
2384 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2385 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2387 /* Record the fields for the semantic handler. */
2390 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2391 FLD (i_rnuc) = & current_cpu->hardware.h_gpr[f_rn];
2392 if (UNLIKELY(current_cpu->trace_extract_p))
2394 current_cpu->trace_stream
2395 << "0x" << hex << pc << dec << " (sfmt_lbu)\t"
2396 << " f_rm:0x" << hex << f_rm << dec
2397 << " f_rn:0x" << hex << f_rn << dec
2401 /* Record the fields for profiling. */
2402 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2404 FLD (in_rma) = f_rm;
2405 FLD (out_rnuc) = f_rn;
2411 mepcore1_extract_sfmt_lhu (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2412 mepcore1_insn_word insn = entire_insn;
2413 #define FLD(f) abuf->fields.sfmt_lhu16.f
2417 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2418 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2420 /* Record the fields for the semantic handler. */
2423 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2424 FLD (i_rnus) = & current_cpu->hardware.h_gpr[f_rn];
2425 if (UNLIKELY(current_cpu->trace_extract_p))
2427 current_cpu->trace_stream
2428 << "0x" << hex << pc << dec << " (sfmt_lhu)\t"
2429 << " f_rm:0x" << hex << f_rm << dec
2430 << " f_rn:0x" << hex << f_rn << dec
2434 /* Record the fields for profiling. */
2435 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2437 FLD (in_rma) = f_rm;
2438 FLD (out_rnus) = f_rn;
2444 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){
2445 mepcore1_insn_word insn = entire_insn;
2446 #define FLD(f) abuf->fields.sfmt_sw_sp.f
2450 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2451 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
2453 /* Record the fields for the semantic handler. */
2455 FLD (f_7u9a4) = f_7u9a4;
2456 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2457 if (UNLIKELY(current_cpu->trace_extract_p))
2459 current_cpu->trace_stream
2460 << "0x" << hex << pc << dec << " (sfmt_sw_sp)\t"
2461 << " f_rn:0x" << hex << f_rn << dec
2462 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
2466 /* Record the fields for profiling. */
2467 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2469 FLD (in_rnl) = f_rn;
2476 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){
2477 mepcore1_insn_word insn = entire_insn;
2478 #define FLD(f) abuf->fields.sfmt_lw_sp.f
2482 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
2483 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
2485 /* Record the fields for the semantic handler. */
2486 FLD (f_7u9a4) = f_7u9a4;
2488 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2489 if (UNLIKELY(current_cpu->trace_extract_p))
2491 current_cpu->trace_stream
2492 << "0x" << hex << pc << dec << " (sfmt_lw_sp)\t"
2493 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
2494 << " f_rn:0x" << hex << f_rn << dec
2498 /* Record the fields for profiling. */
2499 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2502 FLD (out_rnl) = f_rn;
2508 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){
2509 mepcore1_insn_word insn = entire_insn;
2510 #define FLD(f) abuf->fields.sfmt_sb_tp.f
2514 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2515 f_7u9 = EXTRACT_MSB0_UINT (insn, 16, 9, 7);
2517 /* Record the fields for the semantic handler. */
2518 FLD (f_rn3) = f_rn3;
2519 FLD (f_7u9) = f_7u9;
2520 FLD (i_rn3c) = & current_cpu->hardware.h_gpr[f_rn3];
2521 if (UNLIKELY(current_cpu->trace_extract_p))
2523 current_cpu->trace_stream
2524 << "0x" << hex << pc << dec << " (sfmt_sb_tp)\t"
2525 << " f_rn3:0x" << hex << f_rn3 << dec
2526 << " f_7u9:0x" << hex << f_7u9 << dec
2530 /* Record the fields for profiling. */
2531 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2533 FLD (in_rn3c) = f_rn3;
2540 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){
2541 mepcore1_insn_word insn = entire_insn;
2542 #define FLD(f) abuf->fields.sfmt_sh_tp.f
2546 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2547 f_7u9a2 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 6)) << (1));
2549 /* Record the fields for the semantic handler. */
2550 FLD (f_rn3) = f_rn3;
2551 FLD (f_7u9a2) = f_7u9a2;
2552 FLD (i_rn3s) = & current_cpu->hardware.h_gpr[f_rn3];
2553 if (UNLIKELY(current_cpu->trace_extract_p))
2555 current_cpu->trace_stream
2556 << "0x" << hex << pc << dec << " (sfmt_sh_tp)\t"
2557 << " f_rn3:0x" << hex << f_rn3 << dec
2558 << " f_7u9a2:0x" << hex << f_7u9a2 << dec
2562 /* Record the fields for profiling. */
2563 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2565 FLD (in_rn3s) = f_rn3;
2572 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){
2573 mepcore1_insn_word insn = entire_insn;
2574 #define FLD(f) abuf->fields.sfmt_sw_tp.f
2578 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2579 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
2581 /* Record the fields for the semantic handler. */
2582 FLD (f_rn3) = f_rn3;
2583 FLD (f_7u9a4) = f_7u9a4;
2584 FLD (i_rn3l) = & current_cpu->hardware.h_gpr[f_rn3];
2585 if (UNLIKELY(current_cpu->trace_extract_p))
2587 current_cpu->trace_stream
2588 << "0x" << hex << pc << dec << " (sfmt_sw_tp)\t"
2589 << " f_rn3:0x" << hex << f_rn3 << dec
2590 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
2594 /* Record the fields for profiling. */
2595 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2597 FLD (in_rn3l) = f_rn3;
2604 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){
2605 mepcore1_insn_word insn = entire_insn;
2606 #define FLD(f) abuf->fields.sfmt_lb_tp.f
2610 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2611 f_7u9 = EXTRACT_MSB0_UINT (insn, 16, 9, 7);
2613 /* Record the fields for the semantic handler. */
2614 FLD (f_7u9) = f_7u9;
2615 FLD (f_rn3) = f_rn3;
2616 FLD (i_rn3c) = & current_cpu->hardware.h_gpr[f_rn3];
2617 if (UNLIKELY(current_cpu->trace_extract_p))
2619 current_cpu->trace_stream
2620 << "0x" << hex << pc << dec << " (sfmt_lb_tp)\t"
2621 << " f_7u9:0x" << hex << f_7u9 << dec
2622 << " f_rn3:0x" << hex << f_rn3 << dec
2626 /* Record the fields for profiling. */
2627 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2630 FLD (out_rn3c) = f_rn3;
2636 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){
2637 mepcore1_insn_word insn = entire_insn;
2638 #define FLD(f) abuf->fields.sfmt_lh_tp.f
2642 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2643 f_7u9a2 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 6)) << (1));
2645 /* Record the fields for the semantic handler. */
2646 FLD (f_7u9a2) = f_7u9a2;
2647 FLD (f_rn3) = f_rn3;
2648 FLD (i_rn3s) = & current_cpu->hardware.h_gpr[f_rn3];
2649 if (UNLIKELY(current_cpu->trace_extract_p))
2651 current_cpu->trace_stream
2652 << "0x" << hex << pc << dec << " (sfmt_lh_tp)\t"
2653 << " f_7u9a2:0x" << hex << f_7u9a2 << dec
2654 << " f_rn3:0x" << hex << f_rn3 << dec
2658 /* Record the fields for profiling. */
2659 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2662 FLD (out_rn3s) = f_rn3;
2668 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){
2669 mepcore1_insn_word insn = entire_insn;
2670 #define FLD(f) abuf->fields.sfmt_lw_tp.f
2674 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2675 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
2677 /* Record the fields for the semantic handler. */
2678 FLD (f_7u9a4) = f_7u9a4;
2679 FLD (f_rn3) = f_rn3;
2680 FLD (i_rn3l) = & current_cpu->hardware.h_gpr[f_rn3];
2681 if (UNLIKELY(current_cpu->trace_extract_p))
2683 current_cpu->trace_stream
2684 << "0x" << hex << pc << dec << " (sfmt_lw_tp)\t"
2685 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
2686 << " f_rn3:0x" << hex << f_rn3 << dec
2690 /* Record the fields for profiling. */
2691 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2694 FLD (out_rn3l) = f_rn3;
2700 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){
2701 mepcore1_insn_word insn = entire_insn;
2702 #define FLD(f) abuf->fields.sfmt_lbu_tp.f
2706 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2707 f_7u9 = EXTRACT_MSB0_UINT (insn, 16, 9, 7);
2709 /* Record the fields for the semantic handler. */
2710 FLD (f_7u9) = f_7u9;
2711 FLD (f_rn3) = f_rn3;
2712 FLD (i_rn3uc) = & current_cpu->hardware.h_gpr[f_rn3];
2713 if (UNLIKELY(current_cpu->trace_extract_p))
2715 current_cpu->trace_stream
2716 << "0x" << hex << pc << dec << " (sfmt_lbu_tp)\t"
2717 << " f_7u9:0x" << hex << f_7u9 << dec
2718 << " f_rn3:0x" << hex << f_rn3 << dec
2722 /* Record the fields for profiling. */
2723 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2726 FLD (out_rn3uc) = f_rn3;
2732 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){
2733 mepcore1_insn_word insn = entire_insn;
2734 #define FLD(f) abuf->fields.sfmt_lhu_tp.f
2738 f_rn3 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
2739 f_7u9a2 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 6)) << (1));
2741 /* Record the fields for the semantic handler. */
2742 FLD (f_7u9a2) = f_7u9a2;
2743 FLD (f_rn3) = f_rn3;
2744 FLD (i_rn3us) = & current_cpu->hardware.h_gpr[f_rn3];
2745 if (UNLIKELY(current_cpu->trace_extract_p))
2747 current_cpu->trace_stream
2748 << "0x" << hex << pc << dec << " (sfmt_lhu_tp)\t"
2749 << " f_7u9a2:0x" << hex << f_7u9a2 << dec
2750 << " f_rn3:0x" << hex << f_rn3 << dec
2754 /* Record the fields for profiling. */
2755 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2758 FLD (out_rn3us) = f_rn3;
2764 mepcore1_extract_sfmt_sb16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2765 mepcore1_insn_word insn = entire_insn;
2766 #define FLD(f) abuf->fields.sfmt_sb16.f
2771 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2772 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2773 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2775 /* Record the fields for the semantic handler. */
2778 FLD (f_16s16) = f_16s16;
2779 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2780 FLD (i_rnc) = & current_cpu->hardware.h_gpr[f_rn];
2781 if (UNLIKELY(current_cpu->trace_extract_p))
2783 current_cpu->trace_stream
2784 << "0x" << hex << pc << dec << " (sfmt_sb16)\t"
2785 << " f_rm:0x" << hex << f_rm << dec
2786 << " f_rn:0x" << hex << f_rn << dec
2787 << " f_16s16:0x" << hex << f_16s16 << dec
2791 /* Record the fields for profiling. */
2792 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2794 FLD (in_rma) = f_rm;
2795 FLD (in_rnc) = f_rn;
2801 mepcore1_extract_sfmt_sh16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2802 mepcore1_insn_word insn = entire_insn;
2803 #define FLD(f) abuf->fields.sfmt_sh16.f
2808 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2809 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2810 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2812 /* Record the fields for the semantic handler. */
2815 FLD (f_16s16) = f_16s16;
2816 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2817 FLD (i_rns) = & current_cpu->hardware.h_gpr[f_rn];
2818 if (UNLIKELY(current_cpu->trace_extract_p))
2820 current_cpu->trace_stream
2821 << "0x" << hex << pc << dec << " (sfmt_sh16)\t"
2822 << " f_rm:0x" << hex << f_rm << dec
2823 << " f_rn:0x" << hex << f_rn << dec
2824 << " f_16s16:0x" << hex << f_16s16 << dec
2828 /* Record the fields for profiling. */
2829 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2831 FLD (in_rma) = f_rm;
2832 FLD (in_rns) = f_rn;
2838 mepcore1_extract_sfmt_sw16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2839 mepcore1_insn_word insn = entire_insn;
2840 #define FLD(f) abuf->fields.sfmt_sw16.f
2845 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2846 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2847 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2849 /* Record the fields for the semantic handler. */
2852 FLD (f_16s16) = f_16s16;
2853 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2854 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2855 if (UNLIKELY(current_cpu->trace_extract_p))
2857 current_cpu->trace_stream
2858 << "0x" << hex << pc << dec << " (sfmt_sw16)\t"
2859 << " f_rm:0x" << hex << f_rm << dec
2860 << " f_rn:0x" << hex << f_rn << dec
2861 << " f_16s16:0x" << hex << f_16s16 << dec
2865 /* Record the fields for profiling. */
2866 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2868 FLD (in_rma) = f_rm;
2869 FLD (in_rnl) = f_rn;
2875 mepcore1_extract_sfmt_lb16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2876 mepcore1_insn_word insn = entire_insn;
2877 #define FLD(f) abuf->fields.sfmt_lb16.f
2882 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2883 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2884 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2886 /* Record the fields for the semantic handler. */
2888 FLD (f_16s16) = f_16s16;
2890 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2891 FLD (i_rnc) = & current_cpu->hardware.h_gpr[f_rn];
2892 if (UNLIKELY(current_cpu->trace_extract_p))
2894 current_cpu->trace_stream
2895 << "0x" << hex << pc << dec << " (sfmt_lb16)\t"
2896 << " f_rm:0x" << hex << f_rm << dec
2897 << " f_16s16:0x" << hex << f_16s16 << dec
2898 << " f_rn:0x" << hex << f_rn << dec
2902 /* Record the fields for profiling. */
2903 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2905 FLD (in_rma) = f_rm;
2906 FLD (out_rnc) = f_rn;
2912 mepcore1_extract_sfmt_lh16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2913 mepcore1_insn_word insn = entire_insn;
2914 #define FLD(f) abuf->fields.sfmt_lh16.f
2919 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2920 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2921 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2923 /* Record the fields for the semantic handler. */
2925 FLD (f_16s16) = f_16s16;
2927 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2928 FLD (i_rns) = & current_cpu->hardware.h_gpr[f_rn];
2929 if (UNLIKELY(current_cpu->trace_extract_p))
2931 current_cpu->trace_stream
2932 << "0x" << hex << pc << dec << " (sfmt_lh16)\t"
2933 << " f_rm:0x" << hex << f_rm << dec
2934 << " f_16s16:0x" << hex << f_16s16 << dec
2935 << " f_rn:0x" << hex << f_rn << dec
2939 /* Record the fields for profiling. */
2940 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2942 FLD (in_rma) = f_rm;
2943 FLD (out_rns) = f_rn;
2949 mepcore1_extract_sfmt_lw16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2950 mepcore1_insn_word insn = entire_insn;
2951 #define FLD(f) abuf->fields.sfmt_lw16.f
2956 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2957 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2958 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2960 /* Record the fields for the semantic handler. */
2962 FLD (f_16s16) = f_16s16;
2964 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
2965 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
2966 if (UNLIKELY(current_cpu->trace_extract_p))
2968 current_cpu->trace_stream
2969 << "0x" << hex << pc << dec << " (sfmt_lw16)\t"
2970 << " f_rm:0x" << hex << f_rm << dec
2971 << " f_16s16:0x" << hex << f_16s16 << dec
2972 << " f_rn:0x" << hex << f_rn << dec
2976 /* Record the fields for profiling. */
2977 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2979 FLD (in_rma) = f_rm;
2980 FLD (out_rnl) = f_rn;
2986 mepcore1_extract_sfmt_lbu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
2987 mepcore1_insn_word insn = entire_insn;
2988 #define FLD(f) abuf->fields.sfmt_lbu16.f
2993 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
2994 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2995 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
2997 /* Record the fields for the semantic handler. */
2999 FLD (f_16s16) = f_16s16;
3001 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
3002 FLD (i_rnuc) = & current_cpu->hardware.h_gpr[f_rn];
3003 if (UNLIKELY(current_cpu->trace_extract_p))
3005 current_cpu->trace_stream
3006 << "0x" << hex << pc << dec << " (sfmt_lbu16)\t"
3007 << " f_rm:0x" << hex << f_rm << dec
3008 << " f_16s16:0x" << hex << f_16s16 << dec
3009 << " f_rn:0x" << hex << f_rn << dec
3013 /* Record the fields for profiling. */
3014 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3016 FLD (in_rma) = f_rm;
3017 FLD (out_rnuc) = f_rn;
3023 mepcore1_extract_sfmt_lhu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3024 mepcore1_insn_word insn = entire_insn;
3025 #define FLD(f) abuf->fields.sfmt_lhu16.f
3030 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3031 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3032 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3034 /* Record the fields for the semantic handler. */
3036 FLD (f_16s16) = f_16s16;
3038 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
3039 FLD (i_rnus) = & current_cpu->hardware.h_gpr[f_rn];
3040 if (UNLIKELY(current_cpu->trace_extract_p))
3042 current_cpu->trace_stream
3043 << "0x" << hex << pc << dec << " (sfmt_lhu16)\t"
3044 << " f_rm:0x" << hex << f_rm << dec
3045 << " f_16s16:0x" << hex << f_16s16 << dec
3046 << " f_rn:0x" << hex << f_rn << dec
3050 /* Record the fields for profiling. */
3051 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3053 FLD (in_rma) = f_rm;
3054 FLD (out_rnus) = f_rn;
3060 mepcore1_extract_sfmt_sw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3061 mepcore1_insn_word insn = entire_insn;
3062 #define FLD(f) abuf->fields.sfmt_sw24.f
3068 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3069 f_24u8a4n_lo = EXTRACT_MSB0_UINT (insn, 32, 8, 6);
3070 f_24u8a4n_hi = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3071 f_24u8a4n = ((((f_24u8a4n_hi) << (8))) | (((f_24u8a4n_lo) << (2))));
3073 /* Record the fields for the semantic handler. */
3074 FLD (f_24u8a4n) = f_24u8a4n;
3076 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
3077 if (UNLIKELY(current_cpu->trace_extract_p))
3079 current_cpu->trace_stream
3080 << "0x" << hex << pc << dec << " (sfmt_sw24)\t"
3081 << " f_24u8a4n:0x" << hex << f_24u8a4n << dec
3082 << " f_rn:0x" << hex << f_rn << dec
3086 /* Record the fields for profiling. */
3087 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3089 FLD (in_rnl) = f_rn;
3095 mepcore1_extract_sfmt_lw24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3096 mepcore1_insn_word insn = entire_insn;
3097 #define FLD(f) abuf->fields.sfmt_lw24.f
3103 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3104 f_24u8a4n_lo = EXTRACT_MSB0_UINT (insn, 32, 8, 6);
3105 f_24u8a4n_hi = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3106 f_24u8a4n = ((((f_24u8a4n_hi) << (8))) | (((f_24u8a4n_lo) << (2))));
3108 /* Record the fields for the semantic handler. */
3109 FLD (f_24u8a4n) = f_24u8a4n;
3111 FLD (i_rnl) = & current_cpu->hardware.h_gpr[f_rn];
3112 if (UNLIKELY(current_cpu->trace_extract_p))
3114 current_cpu->trace_stream
3115 << "0x" << hex << pc << dec << " (sfmt_lw24)\t"
3116 << " f_24u8a4n:0x" << hex << f_24u8a4n << dec
3117 << " f_rn:0x" << hex << f_rn << dec
3121 /* Record the fields for profiling. */
3122 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3124 FLD (out_rnl) = f_rn;
3130 mepcore1_extract_sfmt_extb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3131 mepcore1_insn_word insn = entire_insn;
3132 #define FLD(f) abuf->fields.sfmt_clip.f
3135 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3137 /* Record the fields for the semantic handler. */
3139 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3140 if (UNLIKELY(current_cpu->trace_extract_p))
3142 current_cpu->trace_stream
3143 << "0x" << hex << pc << dec << " (sfmt_extb)\t"
3144 << " f_rn:0x" << hex << f_rn << dec
3148 /* Record the fields for profiling. */
3149 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3152 FLD (out_rn) = f_rn;
3158 mepcore1_extract_sfmt_ssarb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3159 mepcore1_insn_word insn = entire_insn;
3160 #define FLD(f) abuf->fields.sfmt_ssarb.f
3164 f_2u6 = EXTRACT_MSB0_UINT (insn, 16, 6, 2);
3165 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3167 /* Record the fields for the semantic handler. */
3169 FLD (f_2u6) = f_2u6;
3170 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3171 if (UNLIKELY(current_cpu->trace_extract_p))
3173 current_cpu->trace_stream
3174 << "0x" << hex << pc << dec << " (sfmt_ssarb)\t"
3175 << " f_rm:0x" << hex << f_rm << dec
3176 << " f_2u6:0x" << hex << f_2u6 << dec
3180 /* Record the fields for profiling. */
3181 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3190 mepcore1_extract_sfmt_mov (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3191 mepcore1_insn_word insn = entire_insn;
3192 #define FLD(f) abuf->fields.sfmt_add3x.f
3196 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3197 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3199 /* Record the fields for the semantic handler. */
3202 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3203 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3204 if (UNLIKELY(current_cpu->trace_extract_p))
3206 current_cpu->trace_stream
3207 << "0x" << hex << pc << dec << " (sfmt_mov)\t"
3208 << " f_rm:0x" << hex << f_rm << dec
3209 << " f_rn:0x" << hex << f_rn << dec
3213 /* Record the fields for profiling. */
3214 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3217 FLD (out_rn) = f_rn;
3223 mepcore1_extract_sfmt_movi8 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3224 mepcore1_insn_word insn = entire_insn;
3225 #define FLD(f) abuf->fields.sfmt_movi8.f
3229 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3230 f_8s8 = EXTRACT_MSB0_SINT (insn, 16, 8, 8);
3232 /* Record the fields for the semantic handler. */
3233 FLD (f_8s8) = f_8s8;
3235 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3236 if (UNLIKELY(current_cpu->trace_extract_p))
3238 current_cpu->trace_stream
3239 << "0x" << hex << pc << dec << " (sfmt_movi8)\t"
3240 << " f_8s8:0x" << hex << f_8s8 << dec
3241 << " f_rn:0x" << hex << f_rn << dec
3245 /* Record the fields for profiling. */
3246 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3248 FLD (out_rn) = f_rn;
3254 mepcore1_extract_sfmt_movi16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3255 mepcore1_insn_word insn = entire_insn;
3256 #define FLD(f) abuf->fields.sfmt_add3x.f
3260 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3261 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3263 /* Record the fields for the semantic handler. */
3264 FLD (f_16s16) = f_16s16;
3266 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3267 if (UNLIKELY(current_cpu->trace_extract_p))
3269 current_cpu->trace_stream
3270 << "0x" << hex << pc << dec << " (sfmt_movi16)\t"
3271 << " f_16s16:0x" << hex << f_16s16 << dec
3272 << " f_rn:0x" << hex << f_rn << dec
3276 /* Record the fields for profiling. */
3277 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3279 FLD (out_rn) = f_rn;
3285 mepcore1_extract_sfmt_movu24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3286 mepcore1_insn_word insn = entire_insn;
3287 #define FLD(f) abuf->fields.sfmt_movu24.f
3293 f_rn3 = EXTRACT_MSB0_UINT (insn, 32, 5, 3);
3294 f_24u8n_lo = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
3295 f_24u8n_hi = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3296 f_24u8n = ((((f_24u8n_hi) << (8))) | (f_24u8n_lo));
3298 /* Record the fields for the semantic handler. */
3299 FLD (f_24u8n) = f_24u8n;
3300 FLD (f_rn3) = f_rn3;
3301 FLD (i_rn3) = & current_cpu->hardware.h_gpr[f_rn3];
3302 if (UNLIKELY(current_cpu->trace_extract_p))
3304 current_cpu->trace_stream
3305 << "0x" << hex << pc << dec << " (sfmt_movu24)\t"
3306 << " f_24u8n:0x" << hex << f_24u8n << dec
3307 << " f_rn3:0x" << hex << f_rn3 << dec
3311 /* Record the fields for profiling. */
3312 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3314 FLD (out_rn3) = f_rn3;
3320 mepcore1_extract_sfmt_movu16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3321 mepcore1_insn_word insn = entire_insn;
3322 #define FLD(f) abuf->fields.sfmt_uci.f
3326 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3327 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3329 /* Record the fields for the semantic handler. */
3330 FLD (f_16u16) = f_16u16;
3332 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3333 if (UNLIKELY(current_cpu->trace_extract_p))
3335 current_cpu->trace_stream
3336 << "0x" << hex << pc << dec << " (sfmt_movu16)\t"
3337 << " f_16u16:0x" << hex << f_16u16 << dec
3338 << " f_rn:0x" << hex << f_rn << dec
3342 /* Record the fields for profiling. */
3343 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3345 FLD (out_rn) = f_rn;
3351 mepcore1_extract_sfmt_add3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3352 mepcore1_insn_word insn = entire_insn;
3353 #define FLD(f) abuf->fields.sfmt_add3.f
3358 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3359 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3360 f_rl = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3362 /* Record the fields for the semantic handler. */
3366 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3367 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3368 FLD (i_rl) = & current_cpu->hardware.h_gpr[f_rl];
3369 if (UNLIKELY(current_cpu->trace_extract_p))
3371 current_cpu->trace_stream
3372 << "0x" << hex << pc << dec << " (sfmt_add3)\t"
3373 << " f_rm:0x" << hex << f_rm << dec
3374 << " f_rn:0x" << hex << f_rn << dec
3375 << " f_rl:0x" << hex << f_rl << dec
3379 /* Record the fields for profiling. */
3380 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3384 FLD (out_rl) = f_rl;
3390 mepcore1_extract_sfmt_add (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3391 mepcore1_insn_word insn = entire_insn;
3392 #define FLD(f) abuf->fields.sfmt_add.f
3396 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3397 f_6s8 = EXTRACT_MSB0_SINT (insn, 16, 8, 6);
3399 /* Record the fields for the semantic handler. */
3401 FLD (f_6s8) = f_6s8;
3402 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3403 if (UNLIKELY(current_cpu->trace_extract_p))
3405 current_cpu->trace_stream
3406 << "0x" << hex << pc << dec << " (sfmt_add)\t"
3407 << " f_rn:0x" << hex << f_rn << dec
3408 << " f_6s8:0x" << hex << f_6s8 << dec
3412 /* Record the fields for profiling. */
3413 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3416 FLD (out_rn) = f_rn;
3422 mepcore1_extract_sfmt_add3i (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3423 mepcore1_insn_word insn = entire_insn;
3424 #define FLD(f) abuf->fields.sfmt_add3i.f
3428 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3429 f_7u9a4 = ((EXTRACT_MSB0_UINT (insn, 16, 9, 5)) << (2));
3431 /* Record the fields for the semantic handler. */
3432 FLD (f_7u9a4) = f_7u9a4;
3434 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3435 if (UNLIKELY(current_cpu->trace_extract_p))
3437 current_cpu->trace_stream
3438 << "0x" << hex << pc << dec << " (sfmt_add3i)\t"
3439 << " f_7u9a4:0x" << hex << f_7u9a4 << dec
3440 << " f_rn:0x" << hex << f_rn << dec
3444 /* Record the fields for profiling. */
3445 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3448 FLD (out_rn) = f_rn;
3454 mepcore1_extract_sfmt_advck3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3455 mepcore1_insn_word insn = entire_insn;
3456 #define FLD(f) abuf->fields.sfmt_advck3.f
3460 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3461 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3463 /* Record the fields for the semantic handler. */
3466 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3467 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3468 if (UNLIKELY(current_cpu->trace_extract_p))
3470 current_cpu->trace_stream
3471 << "0x" << hex << pc << dec << " (sfmt_advck3)\t"
3472 << " f_rm:0x" << hex << f_rm << dec
3473 << " f_rn:0x" << hex << f_rn << dec
3477 /* Record the fields for profiling. */
3478 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3488 mepcore1_extract_sfmt_sub (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3489 mepcore1_insn_word insn = entire_insn;
3490 #define FLD(f) abuf->fields.sfmt_fsft.f
3494 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3495 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3497 /* Record the fields for the semantic handler. */
3500 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3501 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3502 if (UNLIKELY(current_cpu->trace_extract_p))
3504 current_cpu->trace_stream
3505 << "0x" << hex << pc << dec << " (sfmt_sub)\t"
3506 << " f_rm:0x" << hex << f_rm << dec
3507 << " f_rn:0x" << hex << f_rn << dec
3511 /* Record the fields for profiling. */
3512 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3516 FLD (out_rn) = f_rn;
3522 mepcore1_extract_sfmt_slt3i (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3523 mepcore1_insn_word insn = entire_insn;
3524 #define FLD(f) abuf->fields.sfmt_slt3i.f
3528 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3529 f_5u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 5);
3531 /* Record the fields for the semantic handler. */
3533 FLD (f_5u8) = f_5u8;
3534 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3535 if (UNLIKELY(current_cpu->trace_extract_p))
3537 current_cpu->trace_stream
3538 << "0x" << hex << pc << dec << " (sfmt_slt3i)\t"
3539 << " f_rn:0x" << hex << f_rn << dec
3540 << " f_5u8:0x" << hex << f_5u8 << dec
3544 /* Record the fields for profiling. */
3545 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3554 mepcore1_extract_sfmt_sl1ad3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3555 mepcore1_insn_word insn = entire_insn;
3556 #define FLD(f) abuf->fields.sfmt_advck3.f
3560 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3561 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3563 /* Record the fields for the semantic handler. */
3566 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3567 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3568 if (UNLIKELY(current_cpu->trace_extract_p))
3570 current_cpu->trace_stream
3571 << "0x" << hex << pc << dec << " (sfmt_sl1ad3)\t"
3572 << " f_rm:0x" << hex << f_rm << dec
3573 << " f_rn:0x" << hex << f_rn << dec
3577 /* Record the fields for profiling. */
3578 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3588 mepcore1_extract_sfmt_add3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3589 mepcore1_insn_word insn = entire_insn;
3590 #define FLD(f) abuf->fields.sfmt_add3x.f
3595 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3596 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3597 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3599 /* Record the fields for the semantic handler. */
3601 FLD (f_16s16) = f_16s16;
3603 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3604 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3605 if (UNLIKELY(current_cpu->trace_extract_p))
3607 current_cpu->trace_stream
3608 << "0x" << hex << pc << dec << " (sfmt_add3x)\t"
3609 << " f_rm:0x" << hex << f_rm << dec
3610 << " f_16s16:0x" << hex << f_16s16 << dec
3611 << " f_rn:0x" << hex << f_rn << dec
3615 /* Record the fields for profiling. */
3616 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3619 FLD (out_rn) = f_rn;
3625 mepcore1_extract_sfmt_slt3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3626 mepcore1_insn_word insn = entire_insn;
3627 #define FLD(f) abuf->fields.sfmt_add3x.f
3632 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3633 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3634 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
3636 /* Record the fields for the semantic handler. */
3638 FLD (f_16s16) = f_16s16;
3640 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3641 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3642 if (UNLIKELY(current_cpu->trace_extract_p))
3644 current_cpu->trace_stream
3645 << "0x" << hex << pc << dec << " (sfmt_slt3x)\t"
3646 << " f_rm:0x" << hex << f_rm << dec
3647 << " f_16s16:0x" << hex << f_16s16 << dec
3648 << " f_rn:0x" << hex << f_rn << dec
3652 /* Record the fields for profiling. */
3653 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3656 FLD (out_rn) = f_rn;
3662 mepcore1_extract_sfmt_sltu3x (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3663 mepcore1_insn_word insn = entire_insn;
3664 #define FLD(f) abuf->fields.sfmt_uci.f
3669 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3670 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3671 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3673 /* Record the fields for the semantic handler. */
3675 FLD (f_16u16) = f_16u16;
3677 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3678 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3679 if (UNLIKELY(current_cpu->trace_extract_p))
3681 current_cpu->trace_stream
3682 << "0x" << hex << pc << dec << " (sfmt_sltu3x)\t"
3683 << " f_rm:0x" << hex << f_rm << dec
3684 << " f_16u16:0x" << hex << f_16u16 << dec
3685 << " f_rn:0x" << hex << f_rn << dec
3689 /* Record the fields for profiling. */
3690 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3693 FLD (out_rn) = f_rn;
3699 mepcore1_extract_sfmt_or3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3700 mepcore1_insn_word insn = entire_insn;
3701 #define FLD(f) abuf->fields.sfmt_uci.f
3706 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3707 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3708 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3710 /* Record the fields for the semantic handler. */
3712 FLD (f_16u16) = f_16u16;
3714 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3715 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3716 if (UNLIKELY(current_cpu->trace_extract_p))
3718 current_cpu->trace_stream
3719 << "0x" << hex << pc << dec << " (sfmt_or3)\t"
3720 << " f_rm:0x" << hex << f_rm << dec
3721 << " f_16u16:0x" << hex << f_16u16 << dec
3722 << " f_rn:0x" << hex << f_rn << dec
3726 /* Record the fields for profiling. */
3727 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3730 FLD (out_rn) = f_rn;
3736 mepcore1_extract_sfmt_srai (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3737 mepcore1_insn_word insn = entire_insn;
3738 #define FLD(f) abuf->fields.sfmt_srai.f
3742 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3743 f_5u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 5);
3745 /* Record the fields for the semantic handler. */
3747 FLD (f_5u8) = f_5u8;
3748 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3749 if (UNLIKELY(current_cpu->trace_extract_p))
3751 current_cpu->trace_stream
3752 << "0x" << hex << pc << dec << " (sfmt_srai)\t"
3753 << " f_rn:0x" << hex << f_rn << dec
3754 << " f_5u8:0x" << hex << f_5u8 << dec
3758 /* Record the fields for profiling. */
3759 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3762 FLD (out_rn) = f_rn;
3768 mepcore1_extract_sfmt_sll3 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3769 mepcore1_insn_word insn = entire_insn;
3770 #define FLD(f) abuf->fields.sfmt_slt3i.f
3774 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3775 f_5u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 5);
3777 /* Record the fields for the semantic handler. */
3779 FLD (f_5u8) = f_5u8;
3780 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3781 if (UNLIKELY(current_cpu->trace_extract_p))
3783 current_cpu->trace_stream
3784 << "0x" << hex << pc << dec << " (sfmt_sll3)\t"
3785 << " f_rn:0x" << hex << f_rn << dec
3786 << " f_5u8:0x" << hex << f_5u8 << dec
3790 /* Record the fields for profiling. */
3791 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3800 mepcore1_extract_sfmt_fsft (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3801 mepcore1_insn_word insn = entire_insn;
3802 #define FLD(f) abuf->fields.sfmt_fsft.f
3806 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3807 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3809 /* Record the fields for the semantic handler. */
3812 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3813 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3814 if (UNLIKELY(current_cpu->trace_extract_p))
3816 current_cpu->trace_stream
3817 << "0x" << hex << pc << dec << " (sfmt_fsft)\t"
3818 << " f_rm:0x" << hex << f_rm << dec
3819 << " f_rn:0x" << hex << f_rn << dec
3823 /* Record the fields for profiling. */
3824 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3829 FLD (out_rn) = f_rn;
3835 mepcore1_extract_sfmt_bra (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3836 mepcore1_insn_word insn = entire_insn;
3837 #define FLD(f) abuf->fields.sfmt_bsr12.f
3840 f_12s4a2 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 11)) << (1))) + (pc));
3842 /* Record the fields for the semantic handler. */
3843 FLD (f_12s4a2) = f_12s4a2;
3844 if (UNLIKELY(current_cpu->trace_extract_p))
3846 current_cpu->trace_stream
3847 << "0x" << hex << pc << dec << " (sfmt_bra)\t"
3848 << " f_12s4a2:0x" << hex << f_12s4a2 << dec
3852 /* Record the fields for profiling. */
3853 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3862 mepcore1_extract_sfmt_beqz (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3863 mepcore1_insn_word insn = entire_insn;
3864 #define FLD(f) abuf->fields.sfmt_beqz.f
3868 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
3869 f_8s8a2 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 7)) << (1))) + (pc));
3871 /* Record the fields for the semantic handler. */
3872 FLD (f_8s8a2) = f_8s8a2;
3874 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3875 if (UNLIKELY(current_cpu->trace_extract_p))
3877 current_cpu->trace_stream
3878 << "0x" << hex << pc << dec << " (sfmt_beqz)\t"
3879 << " f_8s8a2:0x" << hex << f_8s8a2 << dec
3880 << " f_rn:0x" << hex << f_rn << dec
3884 /* Record the fields for profiling. */
3885 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3895 mepcore1_extract_sfmt_beqi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3896 mepcore1_insn_word insn = entire_insn;
3897 #define FLD(f) abuf->fields.sfmt_beqi.f
3902 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3903 f_4u8 = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3904 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
3906 /* Record the fields for the semantic handler. */
3907 FLD (f_17s16a2) = f_17s16a2;
3909 FLD (f_4u8) = f_4u8;
3910 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3911 if (UNLIKELY(current_cpu->trace_extract_p))
3913 current_cpu->trace_stream
3914 << "0x" << hex << pc << dec << " (sfmt_beqi)\t"
3915 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
3916 << " f_rn:0x" << hex << f_rn << dec
3917 << " f_4u8:0x" << hex << f_4u8 << dec
3921 /* Record the fields for profiling. */
3922 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3932 mepcore1_extract_sfmt_beq (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3933 mepcore1_insn_word insn = entire_insn;
3934 #define FLD(f) abuf->fields.sfmt_beq.f
3939 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
3940 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3941 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
3943 /* Record the fields for the semantic handler. */
3944 FLD (f_17s16a2) = f_17s16a2;
3947 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
3948 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
3949 if (UNLIKELY(current_cpu->trace_extract_p))
3951 current_cpu->trace_stream
3952 << "0x" << hex << pc << dec << " (sfmt_beq)\t"
3953 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
3954 << " f_rm:0x" << hex << f_rm << dec
3955 << " f_rn:0x" << hex << f_rn << dec
3959 /* Record the fields for profiling. */
3960 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3971 mepcore1_extract_sfmt_bsr12 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
3972 mepcore1_insn_word insn = entire_insn;
3973 #define FLD(f) abuf->fields.sfmt_bsr12.f
3976 f_12s4a2 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 11)) << (1))) + (pc));
3978 /* Record the fields for the semantic handler. */
3979 FLD (f_12s4a2) = f_12s4a2;
3980 if (UNLIKELY(current_cpu->trace_extract_p))
3982 current_cpu->trace_stream
3983 << "0x" << hex << pc << dec << " (sfmt_bsr12)\t"
3984 << " f_12s4a2:0x" << hex << f_12s4a2 << dec
3988 /* Record the fields for profiling. */
3989 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3999 mepcore1_extract_sfmt_bsr24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4000 mepcore1_insn_word insn = entire_insn;
4001 #define FLD(f) abuf->fields.sfmt_bsr24.f
4006 f_24s5a2n_lo = EXTRACT_MSB0_UINT (insn, 32, 5, 7);
4007 f_24s5a2n_hi = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
4008 f_24s5a2n = ((((((f_24s5a2n_hi) << (8))) | (((f_24s5a2n_lo) << (1))))) + (pc));
4010 /* Record the fields for the semantic handler. */
4011 FLD (f_24s5a2n) = f_24s5a2n;
4012 if (UNLIKELY(current_cpu->trace_extract_p))
4014 current_cpu->trace_stream
4015 << "0x" << hex << pc << dec << " (sfmt_bsr24)\t"
4016 << " f_24s5a2n:0x" << hex << f_24s5a2n << dec
4020 /* Record the fields for profiling. */
4021 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4031 mepcore1_extract_sfmt_jmp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4032 mepcore1_insn_word insn = entire_insn;
4033 #define FLD(f) abuf->fields.sfmt_jsr.f
4036 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4038 /* Record the fields for the semantic handler. */
4040 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4041 if (UNLIKELY(current_cpu->trace_extract_p))
4043 current_cpu->trace_stream
4044 << "0x" << hex << pc << dec << " (sfmt_jmp)\t"
4045 << " f_rm:0x" << hex << f_rm << dec
4049 /* Record the fields for profiling. */
4050 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4060 mepcore1_extract_sfmt_jmp24 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4061 mepcore1_insn_word insn = entire_insn;
4062 #define FLD(f) abuf->fields.sfmt_jmp24.f
4067 f_24u5a2n_lo = EXTRACT_MSB0_UINT (insn, 32, 5, 7);
4068 f_24u5a2n_hi = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4069 f_24u5a2n = ((((f_24u5a2n_hi) << (8))) | (((f_24u5a2n_lo) << (1))));
4071 /* Record the fields for the semantic handler. */
4072 FLD (f_24u5a2n) = f_24u5a2n;
4073 if (UNLIKELY(current_cpu->trace_extract_p))
4075 current_cpu->trace_stream
4076 << "0x" << hex << pc << dec << " (sfmt_jmp24)\t"
4077 << " f_24u5a2n:0x" << hex << f_24u5a2n << dec
4081 /* Record the fields for profiling. */
4082 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4091 mepcore1_extract_sfmt_jsr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4092 mepcore1_insn_word insn = entire_insn;
4093 #define FLD(f) abuf->fields.sfmt_jsr.f
4096 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4098 /* Record the fields for the semantic handler. */
4100 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4101 if (UNLIKELY(current_cpu->trace_extract_p))
4103 current_cpu->trace_stream
4104 << "0x" << hex << pc << dec << " (sfmt_jsr)\t"
4105 << " f_rm:0x" << hex << f_rm << dec
4109 /* Record the fields for profiling. */
4110 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4121 mepcore1_extract_sfmt_ret (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4122 mepcore1_insn_word insn = entire_insn;
4123 #define FLD(f) abuf->fields.sfmt_ret.f
4126 /* Record the fields for the semantic handler. */
4127 if (UNLIKELY(current_cpu->trace_extract_p))
4129 current_cpu->trace_stream
4130 << "0x" << hex << pc << dec << " (sfmt_ret)\t"
4134 /* Record the fields for profiling. */
4135 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4145 mepcore1_extract_sfmt_repeat (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4146 mepcore1_insn_word insn = entire_insn;
4147 #define FLD(f) abuf->fields.sfmt_repeat.f
4151 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4152 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
4154 /* Record the fields for the semantic handler. */
4155 FLD (f_17s16a2) = f_17s16a2;
4157 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4158 if (UNLIKELY(current_cpu->trace_extract_p))
4160 current_cpu->trace_stream
4161 << "0x" << hex << pc << dec << " (sfmt_repeat)\t"
4162 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
4163 << " f_rn:0x" << hex << f_rn << dec
4167 /* Record the fields for profiling. */
4168 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4173 FLD (out_h_csr_SI_4) = 4;
4174 FLD (out_h_csr_SI_5) = 5;
4175 FLD (out_h_csr_SI_6) = 6;
4181 mepcore1_extract_sfmt_erepeat (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4182 mepcore1_insn_word insn = entire_insn;
4183 #define FLD(f) abuf->fields.sfmt_repeat.f
4186 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
4188 /* Record the fields for the semantic handler. */
4189 FLD (f_17s16a2) = f_17s16a2;
4190 if (UNLIKELY(current_cpu->trace_extract_p))
4192 current_cpu->trace_stream
4193 << "0x" << hex << pc << dec << " (sfmt_erepeat)\t"
4194 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
4198 /* Record the fields for profiling. */
4199 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4203 FLD (out_h_csr_SI_4) = 4;
4204 FLD (out_h_csr_SI_5) = 5;
4205 FLD (out_h_csr_SI_6) = 6;
4211 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){
4212 mepcore1_insn_word insn = entire_insn;
4213 #define FLD(f) abuf->fields.sfmt_stc_lp.f
4216 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4218 /* Record the fields for the semantic handler. */
4220 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4221 if (UNLIKELY(current_cpu->trace_extract_p))
4223 current_cpu->trace_stream
4224 << "0x" << hex << pc << dec << " (sfmt_stc_lp)\t"
4225 << " f_rn:0x" << hex << f_rn << dec
4229 /* Record the fields for profiling. */
4230 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4239 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){
4240 mepcore1_insn_word insn = entire_insn;
4241 #define FLD(f) abuf->fields.sfmt_maddr.f
4244 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4246 /* Record the fields for the semantic handler. */
4248 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4249 if (UNLIKELY(current_cpu->trace_extract_p))
4251 current_cpu->trace_stream
4252 << "0x" << hex << pc << dec << " (sfmt_stc_hi)\t"
4253 << " f_rn:0x" << hex << f_rn << dec
4257 /* Record the fields for profiling. */
4258 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4267 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){
4268 mepcore1_insn_word insn = entire_insn;
4269 #define FLD(f) abuf->fields.sfmt_maddr.f
4272 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4274 /* Record the fields for the semantic handler. */
4276 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4277 if (UNLIKELY(current_cpu->trace_extract_p))
4279 current_cpu->trace_stream
4280 << "0x" << hex << pc << dec << " (sfmt_stc_lo)\t"
4281 << " f_rn:0x" << hex << f_rn << dec
4285 /* Record the fields for profiling. */
4286 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4295 mepcore1_extract_sfmt_stc (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4296 mepcore1_insn_word insn = entire_insn;
4297 #define FLD(f) abuf->fields.sfmt_stc.f
4303 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4304 f_csrn_lo = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4305 f_csrn_hi = EXTRACT_MSB0_UINT (insn, 16, 15, 1);
4306 f_csrn = ((((f_csrn_hi) << (4))) | (f_csrn_lo));
4308 /* Record the fields for the semantic handler. */
4310 FLD (f_csrn) = f_csrn;
4311 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4312 if (UNLIKELY(current_cpu->trace_extract_p))
4314 current_cpu->trace_stream
4315 << "0x" << hex << pc << dec << " (sfmt_stc)\t"
4316 << " f_rn:0x" << hex << f_rn << dec
4317 << " f_csrn:0x" << hex << f_csrn << dec
4321 /* Record the fields for profiling. */
4322 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4325 FLD (out_csrn) = f_csrn;
4331 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){
4332 mepcore1_insn_word insn = entire_insn;
4333 #define FLD(f) abuf->fields.sfmt_ldc_lp.f
4336 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4338 /* Record the fields for the semantic handler. */
4340 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4341 if (UNLIKELY(current_cpu->trace_extract_p))
4343 current_cpu->trace_stream
4344 << "0x" << hex << pc << dec << " (sfmt_ldc_lp)\t"
4345 << " f_rn:0x" << hex << f_rn << dec
4349 /* Record the fields for profiling. */
4350 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4353 FLD (out_rn) = f_rn;
4359 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){
4360 mepcore1_insn_word insn = entire_insn;
4361 #define FLD(f) abuf->fields.sfmt_maddr.f
4364 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4366 /* Record the fields for the semantic handler. */
4368 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4369 if (UNLIKELY(current_cpu->trace_extract_p))
4371 current_cpu->trace_stream
4372 << "0x" << hex << pc << dec << " (sfmt_ldc_hi)\t"
4373 << " f_rn:0x" << hex << f_rn << dec
4377 /* Record the fields for profiling. */
4378 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4381 FLD (out_rn) = f_rn;
4387 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){
4388 mepcore1_insn_word insn = entire_insn;
4389 #define FLD(f) abuf->fields.sfmt_maddr.f
4392 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4394 /* Record the fields for the semantic handler. */
4396 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4397 if (UNLIKELY(current_cpu->trace_extract_p))
4399 current_cpu->trace_stream
4400 << "0x" << hex << pc << dec << " (sfmt_ldc_lo)\t"
4401 << " f_rn:0x" << hex << f_rn << dec
4405 /* Record the fields for profiling. */
4406 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4409 FLD (out_rn) = f_rn;
4415 mepcore1_extract_sfmt_ldc (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4416 mepcore1_insn_word insn = entire_insn;
4417 #define FLD(f) abuf->fields.sfmt_ldc.f
4423 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4424 f_csrn_lo = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4425 f_csrn_hi = EXTRACT_MSB0_UINT (insn, 16, 15, 1);
4426 f_csrn = ((((f_csrn_hi) << (4))) | (f_csrn_lo));
4428 /* Record the fields for the semantic handler. */
4429 FLD (f_csrn) = f_csrn;
4431 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4432 if (UNLIKELY(current_cpu->trace_extract_p))
4434 current_cpu->trace_stream
4435 << "0x" << hex << pc << dec << " (sfmt_ldc)\t"
4436 << " f_csrn:0x" << hex << f_csrn << dec
4437 << " f_rn:0x" << hex << f_rn << dec
4441 /* Record the fields for profiling. */
4442 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4444 FLD (in_csrn) = f_csrn;
4447 FLD (out_rn) = f_rn;
4453 mepcore1_extract_sfmt_di (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4454 mepcore1_insn_word insn = entire_insn;
4455 #define FLD(f) abuf->fields.sfmt_di.f
4458 /* Record the fields for the semantic handler. */
4459 if (UNLIKELY(current_cpu->trace_extract_p))
4461 current_cpu->trace_stream
4462 << "0x" << hex << pc << dec << " (sfmt_di)\t"
4466 /* Record the fields for profiling. */
4467 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4476 mepcore1_extract_sfmt_reti (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4477 mepcore1_insn_word insn = entire_insn;
4478 #define FLD(f) abuf->fields.sfmt_reti.f
4481 /* Record the fields for the semantic handler. */
4482 if (UNLIKELY(current_cpu->trace_extract_p))
4484 current_cpu->trace_stream
4485 << "0x" << hex << pc << dec << " (sfmt_reti)\t"
4489 /* Record the fields for profiling. */
4490 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4501 mepcore1_extract_sfmt_halt (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4502 mepcore1_insn_word insn = entire_insn;
4503 #define FLD(f) abuf->fields.sfmt_di.f
4506 /* Record the fields for the semantic handler. */
4507 if (UNLIKELY(current_cpu->trace_extract_p))
4509 current_cpu->trace_stream
4510 << "0x" << hex << pc << dec << " (sfmt_halt)\t"
4514 /* Record the fields for profiling. */
4515 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4523 mepcore1_extract_sfmt_sleep (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4524 mepcore1_insn_word insn = entire_insn;
4525 #define FLD(f) abuf->fields.fmt_empty.f
4528 /* Record the fields for the semantic handler. */
4529 if (UNLIKELY(current_cpu->trace_extract_p))
4531 current_cpu->trace_stream
4532 << "0x" << hex << pc << dec << " (sfmt_sleep)\t"
4540 mepcore1_extract_sfmt_swi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4541 mepcore1_insn_word insn = entire_insn;
4542 #define FLD(f) abuf->fields.sfmt_swi.f
4545 f_2u10 = EXTRACT_MSB0_UINT (insn, 16, 10, 2);
4547 /* Record the fields for the semantic handler. */
4548 FLD (f_2u10) = f_2u10;
4549 if (UNLIKELY(current_cpu->trace_extract_p))
4551 current_cpu->trace_stream
4552 << "0x" << hex << pc << dec << " (sfmt_swi)\t"
4553 << " f_2u10:0x" << hex << f_2u10 << dec
4557 /* Record the fields for profiling. */
4558 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4567 mepcore1_extract_sfmt_break (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4568 mepcore1_insn_word insn = entire_insn;
4569 #define FLD(f) abuf->fields.fmt_empty.f
4572 /* Record the fields for the semantic handler. */
4573 if (UNLIKELY(current_cpu->trace_extract_p))
4575 current_cpu->trace_stream
4576 << "0x" << hex << pc << dec << " (sfmt_break)\t"
4580 /* Record the fields for profiling. */
4581 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4588 mepcore1_extract_sfmt_stcb (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4589 mepcore1_insn_word insn = entire_insn;
4590 #define FLD(f) abuf->fields.sfmt_uci.f
4594 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4595 f_16u16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4597 /* Record the fields for the semantic handler. */
4599 FLD (f_16u16) = f_16u16;
4600 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4601 if (UNLIKELY(current_cpu->trace_extract_p))
4603 current_cpu->trace_stream
4604 << "0x" << hex << pc << dec << " (sfmt_stcb)\t"
4605 << " f_rn:0x" << hex << f_rn << dec
4606 << " f_16u16:0x" << hex << f_16u16 << dec
4610 /* Record the fields for profiling. */
4611 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4619 mepcore1_extract_sfmt_bsetm (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4620 mepcore1_insn_word insn = entire_insn;
4621 #define FLD(f) abuf->fields.sfmt_btstm.f
4625 f_3u5 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
4626 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4628 /* Record the fields for the semantic handler. */
4630 FLD (f_3u5) = f_3u5;
4631 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
4632 if (UNLIKELY(current_cpu->trace_extract_p))
4634 current_cpu->trace_stream
4635 << "0x" << hex << pc << dec << " (sfmt_bsetm)\t"
4636 << " f_rm:0x" << hex << f_rm << dec
4637 << " f_3u5:0x" << hex << f_3u5 << dec
4641 /* Record the fields for profiling. */
4642 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4644 FLD (in_rma) = f_rm;
4650 mepcore1_extract_sfmt_btstm (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4651 mepcore1_insn_word insn = entire_insn;
4652 #define FLD(f) abuf->fields.sfmt_btstm.f
4656 f_3u5 = EXTRACT_MSB0_UINT (insn, 16, 5, 3);
4657 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4659 /* Record the fields for the semantic handler. */
4661 FLD (f_3u5) = f_3u5;
4662 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
4663 if (UNLIKELY(current_cpu->trace_extract_p))
4665 current_cpu->trace_stream
4666 << "0x" << hex << pc << dec << " (sfmt_btstm)\t"
4667 << " f_rm:0x" << hex << f_rm << dec
4668 << " f_3u5:0x" << hex << f_3u5 << dec
4672 /* Record the fields for profiling. */
4673 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4675 FLD (in_rma) = f_rm;
4682 mepcore1_extract_sfmt_tas (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4683 mepcore1_insn_word insn = entire_insn;
4684 #define FLD(f) abuf->fields.sfmt_ldcb_r.f
4688 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4689 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4691 /* Record the fields for the semantic handler. */
4694 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
4695 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4696 if (UNLIKELY(current_cpu->trace_extract_p))
4698 current_cpu->trace_stream
4699 << "0x" << hex << pc << dec << " (sfmt_tas)\t"
4700 << " f_rm:0x" << hex << f_rm << dec
4701 << " f_rn:0x" << hex << f_rn << dec
4705 /* Record the fields for profiling. */
4706 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4708 FLD (in_rma) = f_rm;
4709 FLD (out_rn) = f_rn;
4715 mepcore1_extract_sfmt_mul (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4716 mepcore1_insn_word insn = entire_insn;
4717 #define FLD(f) abuf->fields.sfmt_maddr.f
4721 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4722 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4724 /* Record the fields for the semantic handler. */
4727 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4728 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4729 if (UNLIKELY(current_cpu->trace_extract_p))
4731 current_cpu->trace_stream
4732 << "0x" << hex << pc << dec << " (sfmt_mul)\t"
4733 << " f_rm:0x" << hex << f_rm << dec
4734 << " f_rn:0x" << hex << f_rn << dec
4738 /* Record the fields for profiling. */
4739 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4750 mepcore1_extract_sfmt_mulr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4751 mepcore1_insn_word insn = entire_insn;
4752 #define FLD(f) abuf->fields.sfmt_maddr.f
4756 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4757 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4759 /* Record the fields for the semantic handler. */
4762 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4763 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4764 if (UNLIKELY(current_cpu->trace_extract_p))
4766 current_cpu->trace_stream
4767 << "0x" << hex << pc << dec << " (sfmt_mulr)\t"
4768 << " f_rm:0x" << hex << f_rm << dec
4769 << " f_rn:0x" << hex << f_rn << dec
4773 /* Record the fields for profiling. */
4774 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4780 FLD (out_rn) = f_rn;
4786 mepcore1_extract_sfmt_madd (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4787 mepcore1_insn_word insn = entire_insn;
4788 #define FLD(f) abuf->fields.sfmt_maddr.f
4792 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4793 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4795 /* Record the fields for the semantic handler. */
4798 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4799 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4800 if (UNLIKELY(current_cpu->trace_extract_p))
4802 current_cpu->trace_stream
4803 << "0x" << hex << pc << dec << " (sfmt_madd)\t"
4804 << " f_rm:0x" << hex << f_rm << dec
4805 << " f_rn:0x" << hex << f_rn << dec
4809 /* Record the fields for profiling. */
4810 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4823 mepcore1_extract_sfmt_maddr (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4824 mepcore1_insn_word insn = entire_insn;
4825 #define FLD(f) abuf->fields.sfmt_maddr.f
4829 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4830 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4832 /* Record the fields for the semantic handler. */
4835 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4836 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4837 if (UNLIKELY(current_cpu->trace_extract_p))
4839 current_cpu->trace_stream
4840 << "0x" << hex << pc << dec << " (sfmt_maddr)\t"
4841 << " f_rm:0x" << hex << f_rm << dec
4842 << " f_rn:0x" << hex << f_rn << dec
4846 /* Record the fields for profiling. */
4847 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4855 FLD (out_rn) = f_rn;
4861 mepcore1_extract_sfmt_div (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4862 mepcore1_insn_word insn = entire_insn;
4863 #define FLD(f) abuf->fields.sfmt_maddr.f
4867 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4868 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4870 /* Record the fields for the semantic handler. */
4873 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4874 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4875 if (UNLIKELY(current_cpu->trace_extract_p))
4877 current_cpu->trace_stream
4878 << "0x" << hex << pc << dec << " (sfmt_div)\t"
4879 << " f_rm:0x" << hex << f_rm << dec
4880 << " f_rn:0x" << hex << f_rn << dec
4884 /* Record the fields for profiling. */
4885 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4896 mepcore1_extract_sfmt_dret (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4897 mepcore1_insn_word insn = entire_insn;
4898 #define FLD(f) abuf->fields.sfmt_dret.f
4901 /* Record the fields for the semantic handler. */
4902 if (UNLIKELY(current_cpu->trace_extract_p))
4904 current_cpu->trace_stream
4905 << "0x" << hex << pc << dec << " (sfmt_dret)\t"
4909 /* Record the fields for profiling. */
4910 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4920 mepcore1_extract_sfmt_dbreak (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4921 mepcore1_insn_word insn = entire_insn;
4922 #define FLD(f) abuf->fields.sfmt_dret.f
4925 /* Record the fields for the semantic handler. */
4926 if (UNLIKELY(current_cpu->trace_extract_p))
4928 current_cpu->trace_stream
4929 << "0x" << hex << pc << dec << " (sfmt_dbreak)\t"
4933 /* Record the fields for profiling. */
4934 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4943 mepcore1_extract_sfmt_ldz (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4944 mepcore1_insn_word insn = entire_insn;
4945 #define FLD(f) abuf->fields.sfmt_add3x.f
4949 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4950 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4952 /* Record the fields for the semantic handler. */
4955 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4956 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4957 if (UNLIKELY(current_cpu->trace_extract_p))
4959 current_cpu->trace_stream
4960 << "0x" << hex << pc << dec << " (sfmt_ldz)\t"
4961 << " f_rm:0x" << hex << f_rm << dec
4962 << " f_rn:0x" << hex << f_rn << dec
4966 /* Record the fields for profiling. */
4967 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4970 FLD (out_rn) = f_rn;
4976 mepcore1_extract_sfmt_abs (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
4977 mepcore1_insn_word insn = entire_insn;
4978 #define FLD(f) abuf->fields.sfmt_fsft.f
4982 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4983 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4985 /* Record the fields for the semantic handler. */
4988 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
4989 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
4990 if (UNLIKELY(current_cpu->trace_extract_p))
4992 current_cpu->trace_stream
4993 << "0x" << hex << pc << dec << " (sfmt_abs)\t"
4994 << " f_rm:0x" << hex << f_rm << dec
4995 << " f_rn:0x" << hex << f_rn << dec
4999 /* Record the fields for profiling. */
5000 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5004 FLD (out_rn) = f_rn;
5010 mepcore1_extract_sfmt_min (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5011 mepcore1_insn_word insn = entire_insn;
5012 #define FLD(f) abuf->fields.sfmt_fsft.f
5016 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5017 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5019 /* Record the fields for the semantic handler. */
5022 FLD (i_rm) = & current_cpu->hardware.h_gpr[f_rm];
5023 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
5024 if (UNLIKELY(current_cpu->trace_extract_p))
5026 current_cpu->trace_stream
5027 << "0x" << hex << pc << dec << " (sfmt_min)\t"
5028 << " f_rm:0x" << hex << f_rm << dec
5029 << " f_rn:0x" << hex << f_rn << dec
5033 /* Record the fields for profiling. */
5034 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5038 FLD (out_rn) = f_rn;
5044 mepcore1_extract_sfmt_clip (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5045 mepcore1_insn_word insn = entire_insn;
5046 #define FLD(f) abuf->fields.sfmt_clip.f
5050 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5051 f_5u24 = EXTRACT_MSB0_UINT (insn, 32, 24, 5);
5053 /* Record the fields for the semantic handler. */
5054 FLD (f_5u24) = f_5u24;
5056 FLD (i_rn) = & current_cpu->hardware.h_gpr[f_rn];
5057 if (UNLIKELY(current_cpu->trace_extract_p))
5059 current_cpu->trace_stream
5060 << "0x" << hex << pc << dec << " (sfmt_clip)\t"
5061 << " f_5u24:0x" << hex << f_5u24 << dec
5062 << " f_rn:0x" << hex << f_rn << dec
5066 /* Record the fields for profiling. */
5067 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5070 FLD (out_rn) = f_rn;
5076 mepcore1_extract_sfmt_swcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5077 mepcore1_insn_word insn = entire_insn;
5078 #define FLD(f) abuf->fields.sfmt_swcp16.f
5082 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5083 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5085 /* Record the fields for the semantic handler. */
5086 FLD (f_crn) = f_crn;
5088 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5089 if (UNLIKELY(current_cpu->trace_extract_p))
5091 current_cpu->trace_stream
5092 << "0x" << hex << pc << dec << " (sfmt_swcp)\t"
5093 << " f_crn:0x" << hex << f_crn << dec
5094 << " f_rm:0x" << hex << f_rm << dec
5098 /* Record the fields for profiling. */
5099 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5101 FLD (in_rma) = f_rm;
5107 mepcore1_extract_sfmt_lwcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5108 mepcore1_insn_word insn = entire_insn;
5109 #define FLD(f) abuf->fields.sfmt_swcp16.f
5113 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5114 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5116 /* Record the fields for the semantic handler. */
5118 FLD (f_crn) = f_crn;
5119 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5120 if (UNLIKELY(current_cpu->trace_extract_p))
5122 current_cpu->trace_stream
5123 << "0x" << hex << pc << dec << " (sfmt_lwcp)\t"
5124 << " f_rm:0x" << hex << f_rm << dec
5125 << " f_crn:0x" << hex << f_crn << dec
5129 /* Record the fields for profiling. */
5130 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5132 FLD (in_rma) = f_rm;
5138 mepcore1_extract_sfmt_smcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5139 mepcore1_insn_word insn = entire_insn;
5140 #define FLD(f) abuf->fields.sfmt_swcp16.f
5144 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5145 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5147 /* Record the fields for the semantic handler. */
5148 FLD (f_crn) = f_crn;
5150 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5151 if (UNLIKELY(current_cpu->trace_extract_p))
5153 current_cpu->trace_stream
5154 << "0x" << hex << pc << dec << " (sfmt_smcp)\t"
5155 << " f_crn:0x" << hex << f_crn << dec
5156 << " f_rm:0x" << hex << f_rm << dec
5160 /* Record the fields for profiling. */
5161 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5163 FLD (in_rma) = f_rm;
5169 mepcore1_extract_sfmt_lmcp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5170 mepcore1_insn_word insn = entire_insn;
5171 #define FLD(f) abuf->fields.sfmt_swcp16.f
5175 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5176 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5178 /* Record the fields for the semantic handler. */
5180 FLD (f_crn) = f_crn;
5181 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5182 if (UNLIKELY(current_cpu->trace_extract_p))
5184 current_cpu->trace_stream
5185 << "0x" << hex << pc << dec << " (sfmt_lmcp)\t"
5186 << " f_rm:0x" << hex << f_rm << dec
5187 << " f_crn:0x" << hex << f_crn << dec
5191 /* Record the fields for profiling. */
5192 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5194 FLD (in_rma) = f_rm;
5200 mepcore1_extract_sfmt_swcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5201 mepcore1_insn_word insn = entire_insn;
5202 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5206 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5207 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5209 /* Record the fields for the semantic handler. */
5210 FLD (f_crn) = f_crn;
5212 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5213 if (UNLIKELY(current_cpu->trace_extract_p))
5215 current_cpu->trace_stream
5216 << "0x" << hex << pc << dec << " (sfmt_swcpi)\t"
5217 << " f_crn:0x" << hex << f_crn << dec
5218 << " f_rm:0x" << hex << f_rm << dec
5222 /* Record the fields for profiling. */
5223 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5225 FLD (in_rma) = f_rm;
5226 FLD (out_rma) = f_rm;
5232 mepcore1_extract_sfmt_lwcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5233 mepcore1_insn_word insn = entire_insn;
5234 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5238 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5239 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5241 /* Record the fields for the semantic handler. */
5243 FLD (f_crn) = f_crn;
5244 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5245 if (UNLIKELY(current_cpu->trace_extract_p))
5247 current_cpu->trace_stream
5248 << "0x" << hex << pc << dec << " (sfmt_lwcpi)\t"
5249 << " f_rm:0x" << hex << f_rm << dec
5250 << " f_crn:0x" << hex << f_crn << dec
5254 /* Record the fields for profiling. */
5255 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5257 FLD (in_rma) = f_rm;
5258 FLD (out_rma) = f_rm;
5264 mepcore1_extract_sfmt_smcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5265 mepcore1_insn_word insn = entire_insn;
5266 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5270 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5271 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5273 /* Record the fields for the semantic handler. */
5274 FLD (f_crn) = f_crn;
5276 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5277 if (UNLIKELY(current_cpu->trace_extract_p))
5279 current_cpu->trace_stream
5280 << "0x" << hex << pc << dec << " (sfmt_smcpi)\t"
5281 << " f_crn:0x" << hex << f_crn << dec
5282 << " f_rm:0x" << hex << f_rm << dec
5286 /* Record the fields for profiling. */
5287 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5289 FLD (in_rma) = f_rm;
5290 FLD (out_rma) = f_rm;
5296 mepcore1_extract_sfmt_lmcpi (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5297 mepcore1_insn_word insn = entire_insn;
5298 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5302 f_crn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
5303 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
5305 /* Record the fields for the semantic handler. */
5307 FLD (f_crn) = f_crn;
5308 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5309 if (UNLIKELY(current_cpu->trace_extract_p))
5311 current_cpu->trace_stream
5312 << "0x" << hex << pc << dec << " (sfmt_lmcpi)\t"
5313 << " f_rm:0x" << hex << f_rm << dec
5314 << " f_crn:0x" << hex << f_crn << dec
5318 /* Record the fields for profiling. */
5319 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5321 FLD (in_rma) = f_rm;
5322 FLD (out_rma) = f_rm;
5328 mepcore1_extract_sfmt_swcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5329 mepcore1_insn_word insn = entire_insn;
5330 #define FLD(f) abuf->fields.sfmt_swcp16.f
5335 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5336 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5337 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
5339 /* Record the fields for the semantic handler. */
5340 FLD (f_crn) = f_crn;
5342 FLD (f_16s16) = f_16s16;
5343 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5344 if (UNLIKELY(current_cpu->trace_extract_p))
5346 current_cpu->trace_stream
5347 << "0x" << hex << pc << dec << " (sfmt_swcp16)\t"
5348 << " f_crn:0x" << hex << f_crn << dec
5349 << " f_rm:0x" << hex << f_rm << dec
5350 << " f_16s16:0x" << hex << f_16s16 << dec
5354 /* Record the fields for profiling. */
5355 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5357 FLD (in_rma) = f_rm;
5363 mepcore1_extract_sfmt_lwcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5364 mepcore1_insn_word insn = entire_insn;
5365 #define FLD(f) abuf->fields.sfmt_swcp16.f
5370 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5371 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5372 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
5374 /* Record the fields for the semantic handler. */
5376 FLD (f_16s16) = f_16s16;
5377 FLD (f_crn) = f_crn;
5378 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5379 if (UNLIKELY(current_cpu->trace_extract_p))
5381 current_cpu->trace_stream
5382 << "0x" << hex << pc << dec << " (sfmt_lwcp16)\t"
5383 << " f_rm:0x" << hex << f_rm << dec
5384 << " f_16s16:0x" << hex << f_16s16 << dec
5385 << " f_crn:0x" << hex << f_crn << dec
5389 /* Record the fields for profiling. */
5390 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5392 FLD (in_rma) = f_rm;
5398 mepcore1_extract_sfmt_smcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5399 mepcore1_insn_word insn = entire_insn;
5400 #define FLD(f) abuf->fields.sfmt_swcp16.f
5405 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5406 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5407 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
5409 /* Record the fields for the semantic handler. */
5410 FLD (f_crn) = f_crn;
5412 FLD (f_16s16) = f_16s16;
5413 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5414 if (UNLIKELY(current_cpu->trace_extract_p))
5416 current_cpu->trace_stream
5417 << "0x" << hex << pc << dec << " (sfmt_smcp16)\t"
5418 << " f_crn:0x" << hex << f_crn << dec
5419 << " f_rm:0x" << hex << f_rm << dec
5420 << " f_16s16:0x" << hex << f_16s16 << dec
5424 /* Record the fields for profiling. */
5425 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5427 FLD (in_rma) = f_rm;
5433 mepcore1_extract_sfmt_lmcp16 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5434 mepcore1_insn_word insn = entire_insn;
5435 #define FLD(f) abuf->fields.sfmt_swcp16.f
5440 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5441 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5442 f_16s16 = EXTRACT_MSB0_SINT (insn, 32, 16, 16);
5444 /* Record the fields for the semantic handler. */
5446 FLD (f_16s16) = f_16s16;
5447 FLD (f_crn) = f_crn;
5448 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5449 if (UNLIKELY(current_cpu->trace_extract_p))
5451 current_cpu->trace_stream
5452 << "0x" << hex << pc << dec << " (sfmt_lmcp16)\t"
5453 << " f_rm:0x" << hex << f_rm << dec
5454 << " f_16s16:0x" << hex << f_16s16 << dec
5455 << " f_crn:0x" << hex << f_crn << dec
5459 /* Record the fields for profiling. */
5460 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5462 FLD (in_rma) = f_rm;
5468 mepcore1_extract_sfmt_sbcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5469 mepcore1_insn_word insn = entire_insn;
5470 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5475 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5476 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5477 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)));
5479 /* Record the fields for the semantic handler. */
5480 FLD (f_cdisp10) = f_cdisp10;
5481 FLD (f_crn) = f_crn;
5483 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5484 if (UNLIKELY(current_cpu->trace_extract_p))
5486 current_cpu->trace_stream
5487 << "0x" << hex << pc << dec << " (sfmt_sbcpa)\t"
5488 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5489 << " f_crn:0x" << hex << f_crn << dec
5490 << " f_rm:0x" << hex << f_rm << dec
5494 /* Record the fields for profiling. */
5495 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5497 FLD (in_rma) = f_rm;
5498 FLD (out_rma) = f_rm;
5504 mepcore1_extract_sfmt_shcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5505 mepcore1_insn_word insn = entire_insn;
5506 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5511 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5512 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5513 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)));
5515 /* Record the fields for the semantic handler. */
5516 FLD (f_cdisp10) = f_cdisp10;
5517 FLD (f_crn) = f_crn;
5519 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5520 if (UNLIKELY(current_cpu->trace_extract_p))
5522 current_cpu->trace_stream
5523 << "0x" << hex << pc << dec << " (sfmt_shcpa)\t"
5524 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5525 << " f_crn:0x" << hex << f_crn << dec
5526 << " f_rm:0x" << hex << f_rm << dec
5530 /* Record the fields for profiling. */
5531 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5533 FLD (in_rma) = f_rm;
5534 FLD (out_rma) = f_rm;
5540 mepcore1_extract_sfmt_swcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5541 mepcore1_insn_word insn = entire_insn;
5542 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5547 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5548 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5549 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)));
5551 /* Record the fields for the semantic handler. */
5552 FLD (f_cdisp10) = f_cdisp10;
5553 FLD (f_crn) = f_crn;
5555 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5556 if (UNLIKELY(current_cpu->trace_extract_p))
5558 current_cpu->trace_stream
5559 << "0x" << hex << pc << dec << " (sfmt_swcpa)\t"
5560 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5561 << " f_crn:0x" << hex << f_crn << dec
5562 << " f_rm:0x" << hex << f_rm << dec
5566 /* Record the fields for profiling. */
5567 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5569 FLD (in_rma) = f_rm;
5570 FLD (out_rma) = f_rm;
5576 mepcore1_extract_sfmt_lwcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5577 mepcore1_insn_word insn = entire_insn;
5578 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5583 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5584 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5585 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)));
5587 /* Record the fields for the semantic handler. */
5588 FLD (f_cdisp10) = f_cdisp10;
5590 FLD (f_crn) = f_crn;
5591 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5592 if (UNLIKELY(current_cpu->trace_extract_p))
5594 current_cpu->trace_stream
5595 << "0x" << hex << pc << dec << " (sfmt_lwcpa)\t"
5596 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5597 << " f_rm:0x" << hex << f_rm << dec
5598 << " f_crn:0x" << hex << f_crn << dec
5602 /* Record the fields for profiling. */
5603 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5605 FLD (in_rma) = f_rm;
5606 FLD (out_rma) = f_rm;
5612 mepcore1_extract_sfmt_smcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5613 mepcore1_insn_word insn = entire_insn;
5614 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5619 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5620 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5621 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)));
5623 /* Record the fields for the semantic handler. */
5624 FLD (f_cdisp10) = f_cdisp10;
5625 FLD (f_crn) = f_crn;
5627 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5628 if (UNLIKELY(current_cpu->trace_extract_p))
5630 current_cpu->trace_stream
5631 << "0x" << hex << pc << dec << " (sfmt_smcpa)\t"
5632 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5633 << " f_crn:0x" << hex << f_crn << dec
5634 << " f_rm:0x" << hex << f_rm << dec
5638 /* Record the fields for profiling. */
5639 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5641 FLD (in_rma) = f_rm;
5642 FLD (out_rma) = f_rm;
5648 mepcore1_extract_sfmt_lmcpa (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5649 mepcore1_insn_word insn = entire_insn;
5650 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5655 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5656 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5657 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)));
5659 /* Record the fields for the semantic handler. */
5660 FLD (f_cdisp10) = f_cdisp10;
5662 FLD (f_crn) = f_crn;
5663 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5664 if (UNLIKELY(current_cpu->trace_extract_p))
5666 current_cpu->trace_stream
5667 << "0x" << hex << pc << dec << " (sfmt_lmcpa)\t"
5668 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5669 << " f_rm:0x" << hex << f_rm << dec
5670 << " f_crn:0x" << hex << f_crn << dec
5674 /* Record the fields for profiling. */
5675 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5677 FLD (in_rma) = f_rm;
5678 FLD (out_rma) = f_rm;
5684 mepcore1_extract_sfmt_sbcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5685 mepcore1_insn_word insn = entire_insn;
5686 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5691 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5692 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5693 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)));
5695 /* Record the fields for the semantic handler. */
5696 FLD (f_cdisp10) = f_cdisp10;
5697 FLD (f_crn) = f_crn;
5699 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5700 if (UNLIKELY(current_cpu->trace_extract_p))
5702 current_cpu->trace_stream
5703 << "0x" << hex << pc << dec << " (sfmt_sbcpm0)\t"
5704 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5705 << " f_crn:0x" << hex << f_crn << dec
5706 << " f_rm:0x" << hex << f_rm << dec
5710 /* Record the fields for profiling. */
5711 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5715 FLD (in_rma) = f_rm;
5716 FLD (out_rma) = f_rm;
5722 mepcore1_extract_sfmt_shcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5723 mepcore1_insn_word insn = entire_insn;
5724 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5729 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5730 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5731 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)));
5733 /* Record the fields for the semantic handler. */
5734 FLD (f_cdisp10) = f_cdisp10;
5735 FLD (f_crn) = f_crn;
5737 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5738 if (UNLIKELY(current_cpu->trace_extract_p))
5740 current_cpu->trace_stream
5741 << "0x" << hex << pc << dec << " (sfmt_shcpm0)\t"
5742 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5743 << " f_crn:0x" << hex << f_crn << dec
5744 << " f_rm:0x" << hex << f_rm << dec
5748 /* Record the fields for profiling. */
5749 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5753 FLD (in_rma) = f_rm;
5754 FLD (out_rma) = f_rm;
5760 mepcore1_extract_sfmt_swcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5761 mepcore1_insn_word insn = entire_insn;
5762 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5767 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5768 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5769 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)));
5771 /* Record the fields for the semantic handler. */
5772 FLD (f_cdisp10) = f_cdisp10;
5773 FLD (f_crn) = f_crn;
5775 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5776 if (UNLIKELY(current_cpu->trace_extract_p))
5778 current_cpu->trace_stream
5779 << "0x" << hex << pc << dec << " (sfmt_swcpm0)\t"
5780 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5781 << " f_crn:0x" << hex << f_crn << dec
5782 << " f_rm:0x" << hex << f_rm << dec
5786 /* Record the fields for profiling. */
5787 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5791 FLD (in_rma) = f_rm;
5792 FLD (out_rma) = f_rm;
5798 mepcore1_extract_sfmt_lwcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5799 mepcore1_insn_word insn = entire_insn;
5800 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5805 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5806 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5807 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)));
5809 /* Record the fields for the semantic handler. */
5810 FLD (f_cdisp10) = f_cdisp10;
5812 FLD (f_crn) = f_crn;
5813 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5814 if (UNLIKELY(current_cpu->trace_extract_p))
5816 current_cpu->trace_stream
5817 << "0x" << hex << pc << dec << " (sfmt_lwcpm0)\t"
5818 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5819 << " f_rm:0x" << hex << f_rm << dec
5820 << " f_crn:0x" << hex << f_crn << dec
5824 /* Record the fields for profiling. */
5825 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5829 FLD (in_rma) = f_rm;
5830 FLD (out_rma) = f_rm;
5836 mepcore1_extract_sfmt_smcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5837 mepcore1_insn_word insn = entire_insn;
5838 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5843 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5844 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5845 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)));
5847 /* Record the fields for the semantic handler. */
5848 FLD (f_cdisp10) = f_cdisp10;
5849 FLD (f_crn) = f_crn;
5851 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5852 if (UNLIKELY(current_cpu->trace_extract_p))
5854 current_cpu->trace_stream
5855 << "0x" << hex << pc << dec << " (sfmt_smcpm0)\t"
5856 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5857 << " f_crn:0x" << hex << f_crn << dec
5858 << " f_rm:0x" << hex << f_rm << dec
5862 /* Record the fields for profiling. */
5863 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5867 FLD (in_rma) = f_rm;
5868 FLD (out_rma) = f_rm;
5874 mepcore1_extract_sfmt_lmcpm0 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5875 mepcore1_insn_word insn = entire_insn;
5876 #define FLD(f) abuf->fields.sfmt_lbucpm0.f
5881 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5882 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5883 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)));
5885 /* Record the fields for the semantic handler. */
5886 FLD (f_cdisp10) = f_cdisp10;
5888 FLD (f_crn) = f_crn;
5889 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5890 if (UNLIKELY(current_cpu->trace_extract_p))
5892 current_cpu->trace_stream
5893 << "0x" << hex << pc << dec << " (sfmt_lmcpm0)\t"
5894 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5895 << " f_rm:0x" << hex << f_rm << dec
5896 << " f_crn:0x" << hex << f_crn << dec
5900 /* Record the fields for profiling. */
5901 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5905 FLD (in_rma) = f_rm;
5906 FLD (out_rma) = f_rm;
5912 mepcore1_extract_sfmt_sbcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5913 mepcore1_insn_word insn = entire_insn;
5914 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5919 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5920 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5921 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)));
5923 /* Record the fields for the semantic handler. */
5924 FLD (f_cdisp10) = f_cdisp10;
5925 FLD (f_crn) = f_crn;
5927 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5928 if (UNLIKELY(current_cpu->trace_extract_p))
5930 current_cpu->trace_stream
5931 << "0x" << hex << pc << dec << " (sfmt_sbcpm1)\t"
5932 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5933 << " f_crn:0x" << hex << f_crn << dec
5934 << " f_rm:0x" << hex << f_rm << dec
5938 /* Record the fields for profiling. */
5939 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5943 FLD (in_rma) = f_rm;
5944 FLD (out_rma) = f_rm;
5950 mepcore1_extract_sfmt_shcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5951 mepcore1_insn_word insn = entire_insn;
5952 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5957 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5958 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5959 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)));
5961 /* Record the fields for the semantic handler. */
5962 FLD (f_cdisp10) = f_cdisp10;
5963 FLD (f_crn) = f_crn;
5965 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
5966 if (UNLIKELY(current_cpu->trace_extract_p))
5968 current_cpu->trace_stream
5969 << "0x" << hex << pc << dec << " (sfmt_shcpm1)\t"
5970 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
5971 << " f_crn:0x" << hex << f_crn << dec
5972 << " f_rm:0x" << hex << f_rm << dec
5976 /* Record the fields for profiling. */
5977 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
5981 FLD (in_rma) = f_rm;
5982 FLD (out_rma) = f_rm;
5988 mepcore1_extract_sfmt_swcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
5989 mepcore1_insn_word insn = entire_insn;
5990 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
5995 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
5996 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
5997 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)));
5999 /* Record the fields for the semantic handler. */
6000 FLD (f_cdisp10) = f_cdisp10;
6001 FLD (f_crn) = f_crn;
6003 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6004 if (UNLIKELY(current_cpu->trace_extract_p))
6006 current_cpu->trace_stream
6007 << "0x" << hex << pc << dec << " (sfmt_swcpm1)\t"
6008 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6009 << " f_crn:0x" << hex << f_crn << dec
6010 << " f_rm:0x" << hex << f_rm << dec
6014 /* Record the fields for profiling. */
6015 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6019 FLD (in_rma) = f_rm;
6020 FLD (out_rma) = f_rm;
6026 mepcore1_extract_sfmt_lwcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6027 mepcore1_insn_word insn = entire_insn;
6028 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
6033 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
6034 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6035 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)));
6037 /* Record the fields for the semantic handler. */
6038 FLD (f_cdisp10) = f_cdisp10;
6040 FLD (f_crn) = f_crn;
6041 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6042 if (UNLIKELY(current_cpu->trace_extract_p))
6044 current_cpu->trace_stream
6045 << "0x" << hex << pc << dec << " (sfmt_lwcpm1)\t"
6046 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6047 << " f_rm:0x" << hex << f_rm << dec
6048 << " f_crn:0x" << hex << f_crn << dec
6052 /* Record the fields for profiling. */
6053 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6057 FLD (in_rma) = f_rm;
6058 FLD (out_rma) = f_rm;
6064 mepcore1_extract_sfmt_smcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6065 mepcore1_insn_word insn = entire_insn;
6066 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
6071 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
6072 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6073 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)));
6075 /* Record the fields for the semantic handler. */
6076 FLD (f_cdisp10) = f_cdisp10;
6077 FLD (f_crn) = f_crn;
6079 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6080 if (UNLIKELY(current_cpu->trace_extract_p))
6082 current_cpu->trace_stream
6083 << "0x" << hex << pc << dec << " (sfmt_smcpm1)\t"
6084 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6085 << " f_crn:0x" << hex << f_crn << dec
6086 << " f_rm:0x" << hex << f_rm << dec
6090 /* Record the fields for profiling. */
6091 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6095 FLD (in_rma) = f_rm;
6096 FLD (out_rma) = f_rm;
6102 mepcore1_extract_sfmt_lmcpm1 (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6103 mepcore1_insn_word insn = entire_insn;
6104 #define FLD(f) abuf->fields.sfmt_lbucpm1.f
6109 f_crn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
6110 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6111 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)));
6113 /* Record the fields for the semantic handler. */
6114 FLD (f_cdisp10) = f_cdisp10;
6116 FLD (f_crn) = f_crn;
6117 FLD (i_rma) = & current_cpu->hardware.h_gpr[f_rm];
6118 if (UNLIKELY(current_cpu->trace_extract_p))
6120 current_cpu->trace_stream
6121 << "0x" << hex << pc << dec << " (sfmt_lmcpm1)\t"
6122 << " f_cdisp10:0x" << hex << f_cdisp10 << dec
6123 << " f_rm:0x" << hex << f_rm << dec
6124 << " f_crn:0x" << hex << f_crn << dec
6128 /* Record the fields for profiling. */
6129 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6133 FLD (in_rma) = f_rm;
6134 FLD (out_rma) = f_rm;
6140 mepcore1_extract_sfmt_bcpeq (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6141 mepcore1_insn_word insn = entire_insn;
6142 #define FLD(f) abuf->fields.sfmt_beq.f
6146 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
6147 f_17s16a2 = ((((EXTRACT_MSB0_SINT (insn, 32, 16, 16)) << (1))) + (pc));
6149 /* Record the fields for the semantic handler. */
6151 FLD (f_17s16a2) = f_17s16a2;
6152 if (UNLIKELY(current_cpu->trace_extract_p))
6154 current_cpu->trace_stream
6155 << "0x" << hex << pc << dec << " (sfmt_bcpeq)\t"
6156 << " f_rm:0x" << hex << f_rm << dec
6157 << " f_17s16a2:0x" << hex << f_17s16a2 << dec
6161 /* Record the fields for profiling. */
6162 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6171 mepcore1_extract_sfmt_synccp (mepcore1_scache* abuf, mep_ext1_cpu* current_cpu, PCADDR pc, mepcore1_insn_word base_insn, mepcore1_insn_word entire_insn){
6172 mepcore1_insn_word insn = entire_insn;
6173 #define FLD(f) abuf->fields.fmt_empty.f
6176 /* Record the fields for the semantic handler. */
6177 if (UNLIKELY(current_cpu->trace_extract_p))
6179 current_cpu->trace_stream
6180 << "0x" << hex << pc << dec << " (sfmt_synccp)\t"
6184 /* Record the fields for profiling. */
6185 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
6192 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){
6193 mepcore1_insn_word insn = entire_insn;
6194 #define FLD(f) abuf->fields.sfmt_sim_syscall.f
6201 f_5 = EXTRACT_MSB0_UINT (insn, 16, 5, 1);
6202 f_6 = EXTRACT_MSB0_UINT (insn, 16, 6, 1);
6203 f_7 = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
6204 f_11 = EXTRACT_MSB0_UINT (insn, 16, 11, 1);
6205 f_callnum = ((((f_5) << (3))) | (((((f_6) << (2))) | (((((f_7) << (1))) | (f_11))))));
6207 /* Record the fields for the semantic handler. */
6208 FLD (f_callnum) = f_callnum;
6209 if (UNLIKELY(current_cpu->trace_extract_p))
6211 current_cpu->trace_stream
6212 << "0x" << hex << pc << dec << " (sfmt_sim_syscall)\t"
6213 << " f_callnum:0x" << hex << f_callnum << dec
6217 /* Record the fields for profiling. */
6218 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))