diff options
Diffstat (limited to 'sim/m32r/readx.c')
-rw-r--r-- | sim/m32r/readx.c | 332 |
1 files changed, 128 insertions, 204 deletions
diff --git a/sim/m32r/readx.c b/sim/m32r/readx.c index 3b79638..26775a3 100644 --- a/sim/m32r/readx.c +++ b/sim/m32r/readx.c @@ -1,5 +1,7 @@ /* Simulator instruction operand reader for m32r. +This file is machine generated with CGEN. + Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU Simulators. @@ -29,7 +31,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifdef DEFINE_LABELS #undef DEFINE_LABELS - /* The labels have the case they have because the enum of insn types is all uppercase and in the non-stdc case the fmt symbol is built into the enum name. @@ -72,28 +73,26 @@ with this program; if not, write to the Free Software Foundation, Inc., && case_read_READ_FMT_31_LD24, && case_read_READ_FMT_32_LDI8, && case_read_READ_FMT_33_LDI16, - && case_read_READ_FMT_34_MACHI, - && case_read_READ_FMT_35_MACHI_A, - && case_read_READ_FMT_36_MULHI_A, - && case_read_READ_FMT_37_MV, - && case_read_READ_FMT_38_MVFACHI, - && case_read_READ_FMT_39_MVFACHI_A, - && case_read_READ_FMT_40_MVFC, - && case_read_READ_FMT_41_MVTACHI, - && case_read_READ_FMT_42_MVTACHI_A, - && case_read_READ_FMT_43_MVTC, - && case_read_READ_FMT_44_NOP, - && case_read_READ_FMT_45_RAC, - && case_read_READ_FMT_46_RAC_A, - && case_read_READ_FMT_47_SETH, - && case_read_READ_FMT_48_SLLI, - && case_read_READ_FMT_49_ST_D, - && case_read_READ_FMT_50_TRAP, - && case_read_READ_FMT_51_SATB, - && case_read_READ_FMT_52_PCMPBZ, - && case_read_READ_FMT_53_SADD, - && case_read_READ_FMT_54_MACWU1, - && case_read_READ_FMT_55_SC, + && case_read_READ_FMT_34_MACHI_A, + && case_read_READ_FMT_35_MULHI_A, + && case_read_READ_FMT_36_MV, + && case_read_READ_FMT_37_MVFACHI_A, + && case_read_READ_FMT_38_MVFC, + && case_read_READ_FMT_39_MVTACHI_A, + && case_read_READ_FMT_40_MVTC, + && case_read_READ_FMT_41_NOP, + && case_read_READ_FMT_42_RAC_A, + && case_read_READ_FMT_43_RTE, + && case_read_READ_FMT_44_SETH, + && case_read_READ_FMT_45_SLLI, + && case_read_READ_FMT_46_ST_D, + && case_read_READ_FMT_47_TRAP, + && case_read_READ_FMT_48_SATB, + && case_read_READ_FMT_49_SAT, + && case_read_READ_FMT_50_SADD, + && case_read_READ_FMT_51_MACWU1, + && case_read_READ_FMT_52_MSBLO, + && case_read_READ_FMT_53_SC, 0 }; extern DECODE *m32rx_decode_vars[]; @@ -121,7 +120,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_0_add.f EXTRACT_FMT_0_ADD_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_0_ADD_CODE /* Fetch the input operands for the semantic handler. */ @@ -135,7 +133,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_1_add3.f EXTRACT_FMT_1_ADD3_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - EXTRACT_FMT_1_ADD3_CODE /* Fetch the input operands for the semantic handler. */ @@ -149,7 +146,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_2_and3.f EXTRACT_FMT_2_AND3_VARS /* f-op1 f-r1 f-op2 f-r2 f-uimm16 */ - EXTRACT_FMT_2_AND3_CODE /* Fetch the input operands for the semantic handler. */ @@ -163,7 +159,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_3_or3.f EXTRACT_FMT_3_OR3_VARS /* f-op1 f-r1 f-op2 f-r2 f-uimm16 */ - EXTRACT_FMT_3_OR3_CODE /* Fetch the input operands for the semantic handler. */ @@ -177,7 +172,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_4_addi.f EXTRACT_FMT_4_ADDI_VARS /* f-op1 f-r1 f-simm8 */ - EXTRACT_FMT_4_ADDI_CODE /* Fetch the input operands for the semantic handler. */ @@ -191,7 +185,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_5_addv3.f EXTRACT_FMT_5_ADDV3_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - EXTRACT_FMT_5_ADDV3_CODE /* Fetch the input operands for the semantic handler. */ @@ -205,7 +198,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_6_addx.f EXTRACT_FMT_6_ADDX_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_6_ADDX_CODE /* Fetch the input operands for the semantic handler. */ @@ -220,7 +212,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_7_bc8.f EXTRACT_FMT_7_BC8_VARS /* f-op1 f-r1 f-disp8 */ - EXTRACT_FMT_7_BC8_CODE /* Fetch the input operands for the semantic handler. */ @@ -234,7 +225,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_8_bc24.f EXTRACT_FMT_8_BC24_VARS /* f-op1 f-r1 f-disp24 */ - EXTRACT_FMT_8_BC24_CODE /* Fetch the input operands for the semantic handler. */ @@ -248,7 +238,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_9_beq.f EXTRACT_FMT_9_BEQ_VARS /* f-op1 f-r1 f-op2 f-r2 f-disp16 */ - EXTRACT_FMT_9_BEQ_CODE /* Fetch the input operands for the semantic handler. */ @@ -263,7 +252,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_10_beqz.f EXTRACT_FMT_10_BEQZ_VARS /* f-op1 f-r1 f-op2 f-r2 f-disp16 */ - EXTRACT_FMT_10_BEQZ_CODE /* Fetch the input operands for the semantic handler. */ @@ -277,7 +265,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_11_bl8.f EXTRACT_FMT_11_BL8_VARS /* f-op1 f-r1 f-disp8 */ - EXTRACT_FMT_11_BL8_CODE /* Fetch the input operands for the semantic handler. */ @@ -291,7 +278,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_12_bl24.f EXTRACT_FMT_12_BL24_VARS /* f-op1 f-r1 f-disp24 */ - EXTRACT_FMT_12_BL24_CODE /* Fetch the input operands for the semantic handler. */ @@ -305,7 +291,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_13_bcl8.f EXTRACT_FMT_13_BCL8_VARS /* f-op1 f-r1 f-disp8 */ - EXTRACT_FMT_13_BCL8_CODE /* Fetch the input operands for the semantic handler. */ @@ -320,7 +305,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_14_bcl24.f EXTRACT_FMT_14_BCL24_VARS /* f-op1 f-r1 f-disp24 */ - EXTRACT_FMT_14_BCL24_CODE /* Fetch the input operands for the semantic handler. */ @@ -335,7 +319,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_15_bra8.f EXTRACT_FMT_15_BRA8_VARS /* f-op1 f-r1 f-disp8 */ - EXTRACT_FMT_15_BRA8_CODE /* Fetch the input operands for the semantic handler. */ @@ -348,7 +331,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_16_bra24.f EXTRACT_FMT_16_BRA24_VARS /* f-op1 f-r1 f-disp24 */ - EXTRACT_FMT_16_BRA24_CODE /* Fetch the input operands for the semantic handler. */ @@ -361,7 +343,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_17_cmp.f EXTRACT_FMT_17_CMP_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_17_CMP_CODE /* Fetch the input operands for the semantic handler. */ @@ -375,7 +356,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_18_cmpi.f EXTRACT_FMT_18_CMPI_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - EXTRACT_FMT_18_CMPI_CODE /* Fetch the input operands for the semantic handler. */ @@ -389,7 +369,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_19_cmpui.f EXTRACT_FMT_19_CMPUI_VARS /* f-op1 f-r1 f-op2 f-r2 f-uimm16 */ - EXTRACT_FMT_19_CMPUI_CODE /* Fetch the input operands for the semantic handler. */ @@ -403,7 +382,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_20_cmpz.f EXTRACT_FMT_20_CMPZ_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_20_CMPZ_CODE /* Fetch the input operands for the semantic handler. */ @@ -416,7 +394,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_21_div.f EXTRACT_FMT_21_DIV_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - EXTRACT_FMT_21_DIV_CODE /* Fetch the input operands for the semantic handler. */ @@ -430,7 +407,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_22_jc.f EXTRACT_FMT_22_JC_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_22_JC_CODE /* Fetch the input operands for the semantic handler. */ @@ -444,7 +420,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_23_jl.f EXTRACT_FMT_23_JL_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_23_JL_CODE /* Fetch the input operands for the semantic handler. */ @@ -458,7 +433,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_24_jmp.f EXTRACT_FMT_24_JMP_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_24_JMP_CODE /* Fetch the input operands for the semantic handler. */ @@ -471,11 +445,10 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_25_ld.f EXTRACT_FMT_25_LD_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_25_LD_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (h_memory) = GETMEMSI (current_cpu, CPU (h_gr[f_r2])); + OPRND (h_memory_sr) = GETMEMSI (current_cpu, CPU (h_gr[f_r2])); OPRND (sr) = CPU (h_gr[f_r2]); #undef OPRND } @@ -485,11 +458,10 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_26_ld_d.f EXTRACT_FMT_26_LD_D_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - EXTRACT_FMT_26_LD_D_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (h_memory) = GETMEMSI (current_cpu, ADDSI (CPU (h_gr[f_r2]), f_simm16)); + OPRND (h_memory_add_WI_sr_slo16) = GETMEMSI (current_cpu, ADDSI (CPU (h_gr[f_r2]), f_simm16)); OPRND (slo16) = f_simm16; OPRND (sr) = CPU (h_gr[f_r2]); #undef OPRND @@ -500,11 +472,10 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_27_ldb.f EXTRACT_FMT_27_LDB_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_27_LDB_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (h_memory) = GETMEMQI (current_cpu, CPU (h_gr[f_r2])); + OPRND (h_memory_sr) = GETMEMQI (current_cpu, CPU (h_gr[f_r2])); OPRND (sr) = CPU (h_gr[f_r2]); #undef OPRND } @@ -514,11 +485,10 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_28_ldb_d.f EXTRACT_FMT_28_LDB_D_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - EXTRACT_FMT_28_LDB_D_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (h_memory) = GETMEMQI (current_cpu, ADDSI (CPU (h_gr[f_r2]), f_simm16)); + OPRND (h_memory_add_WI_sr_slo16) = GETMEMQI (current_cpu, ADDSI (CPU (h_gr[f_r2]), f_simm16)); OPRND (slo16) = f_simm16; OPRND (sr) = CPU (h_gr[f_r2]); #undef OPRND @@ -529,11 +499,10 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_29_ldh.f EXTRACT_FMT_29_LDH_VARS /* f-op1 f-r1 f-op2 f-r2 */ - EXTRACT_FMT_29_LDH_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (h_memory) = GETMEMHI (current_cpu, CPU (h_gr[f_r2])); + OPRND (h_memory_sr) = GETMEMHI (current_cpu, CPU (h_gr[f_r2])); OPRND (sr) = CPU (h_gr[f_r2]); #undef OPRND } @@ -543,11 +512,10 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_30_ldh_d.f EXTRACT_FMT_30_LDH_D_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - EXTRACT_FMT_30_LDH_D_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (h_memory) = GETMEMHI (current_cpu, ADDSI (CPU (h_gr[f_r2]), f_simm16)); + OPRND (h_memory_add_WI_sr_slo16) = GETMEMHI (current_cpu, ADDSI (CPU (h_gr[f_r2]), f_simm16)); OPRND (slo16) = f_simm16; OPRND (sr) = CPU (h_gr[f_r2]); #undef OPRND @@ -558,7 +526,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_31_ld24.f EXTRACT_FMT_31_LD24_VARS /* f-op1 f-r1 f-uimm24 */ - EXTRACT_FMT_31_LD24_CODE /* Fetch the input operands for the semantic handler. */ @@ -571,7 +538,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_32_ldi8.f EXTRACT_FMT_32_LDI8_VARS /* f-op1 f-r1 f-simm8 */ - EXTRACT_FMT_32_LDI8_CODE /* Fetch the input operands for the semantic handler. */ @@ -584,7 +550,6 @@ with this program; if not, write to the Free Software Foundation, Inc., { #define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_33_ldi16.f EXTRACT_FMT_33_LDI16_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - EXTRACT_FMT_33_LDI16_CODE /* Fetch the input operands for the semantic handler. */ @@ -593,27 +558,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_34_MACHI) : /* e.g. machi $src1,$src2 */ + CASE (read, READ_FMT_34_MACHI_A) : /* e.g. machi $src1,$src2,$acc */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_34_machi.f - EXTRACT_FMT_34_MACHI_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_34_MACHI_CODE - - /* Fetch the input operands for the semantic handler. */ - OPRND (accum) = CPU (h_accum); - OPRND (src1) = CPU (h_gr[f_r1]); - OPRND (src2) = CPU (h_gr[f_r2]); -#undef OPRND - } - BREAK (read); - - CASE (read, READ_FMT_35_MACHI_A) : /* e.g. machi $src1,$src2,$acc */ - { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_35_machi_a.f - EXTRACT_FMT_35_MACHI_A_VARS /* f-op1 f-r1 f-acc f-op23 f-r2 */ - - EXTRACT_FMT_35_MACHI_A_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_34_machi_a.f + EXTRACT_FMT_34_MACHI_A_VARS /* f-op1 f-r1 f-acc f-op23 f-r2 */ + EXTRACT_FMT_34_MACHI_A_CODE /* Fetch the input operands for the semantic handler. */ OPRND (acc) = m32rx_h_accums_get (current_cpu, f_acc); @@ -623,12 +572,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_36_MULHI_A) : /* e.g. mulhi $src1,$src2,$acc */ + CASE (read, READ_FMT_35_MULHI_A) : /* e.g. mulhi $src1,$src2,$acc */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_36_mulhi_a.f - EXTRACT_FMT_36_MULHI_A_VARS /* f-op1 f-r1 f-acc f-op23 f-r2 */ - - EXTRACT_FMT_36_MULHI_A_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_35_mulhi_a.f + EXTRACT_FMT_35_MULHI_A_VARS /* f-op1 f-r1 f-acc f-op23 f-r2 */ + EXTRACT_FMT_35_MULHI_A_CODE /* Fetch the input operands for the semantic handler. */ OPRND (src1) = CPU (h_gr[f_r1]); @@ -637,12 +585,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_37_MV) : /* e.g. mv $dr,$sr */ + CASE (read, READ_FMT_36_MV) : /* e.g. mv $dr,$sr */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_37_mv.f - EXTRACT_FMT_37_MV_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_37_MV_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_36_mv.f + EXTRACT_FMT_36_MV_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_36_MV_CODE /* Fetch the input operands for the semantic handler. */ OPRND (sr) = CPU (h_gr[f_r2]); @@ -650,25 +597,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_38_MVFACHI) : /* e.g. mvfachi $dr */ + CASE (read, READ_FMT_37_MVFACHI_A) : /* e.g. mvfachi $dr,$accs */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_38_mvfachi.f - EXTRACT_FMT_38_MVFACHI_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_38_MVFACHI_CODE - - /* Fetch the input operands for the semantic handler. */ - OPRND (accum) = CPU (h_accum); -#undef OPRND - } - BREAK (read); - - CASE (read, READ_FMT_39_MVFACHI_A) : /* e.g. mvfachi $dr,$accs */ - { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_39_mvfachi_a.f - EXTRACT_FMT_39_MVFACHI_A_VARS /* f-op1 f-r1 f-op2 f-accs f-op3 */ - - EXTRACT_FMT_39_MVFACHI_A_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_37_mvfachi_a.f + EXTRACT_FMT_37_MVFACHI_A_VARS /* f-op1 f-r1 f-op2 f-accs f-op3 */ + EXTRACT_FMT_37_MVFACHI_A_CODE /* Fetch the input operands for the semantic handler. */ OPRND (accs) = m32rx_h_accums_get (current_cpu, f_accs); @@ -676,12 +609,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_40_MVFC) : /* e.g. mvfc $dr,$scr */ + CASE (read, READ_FMT_38_MVFC) : /* e.g. mvfc $dr,$scr */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_40_mvfc.f - EXTRACT_FMT_40_MVFC_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_40_MVFC_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_38_mvfc.f + EXTRACT_FMT_38_MVFC_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_38_MVFC_CODE /* Fetch the input operands for the semantic handler. */ OPRND (scr) = m32rx_h_cr_get (current_cpu, f_r2); @@ -689,26 +621,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_41_MVTACHI) : /* e.g. mvtachi $src1 */ + CASE (read, READ_FMT_39_MVTACHI_A) : /* e.g. mvtachi $src1,$accs */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_41_mvtachi.f - EXTRACT_FMT_41_MVTACHI_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_41_MVTACHI_CODE - - /* Fetch the input operands for the semantic handler. */ - OPRND (accum) = CPU (h_accum); - OPRND (src1) = CPU (h_gr[f_r1]); -#undef OPRND - } - BREAK (read); - - CASE (read, READ_FMT_42_MVTACHI_A) : /* e.g. mvtachi $src1,$accs */ - { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_42_mvtachi_a.f - EXTRACT_FMT_42_MVTACHI_A_VARS /* f-op1 f-r1 f-op2 f-accs f-op3 */ - - EXTRACT_FMT_42_MVTACHI_A_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_39_mvtachi_a.f + EXTRACT_FMT_39_MVTACHI_A_VARS /* f-op1 f-r1 f-op2 f-accs f-op3 */ + EXTRACT_FMT_39_MVTACHI_A_CODE /* Fetch the input operands for the semantic handler. */ OPRND (accs) = m32rx_h_accums_get (current_cpu, f_accs); @@ -717,12 +634,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_43_MVTC) : /* e.g. mvtc $sr,$dcr */ + CASE (read, READ_FMT_40_MVTC) : /* e.g. mvtc $sr,$dcr */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_43_mvtc.f - EXTRACT_FMT_43_MVTC_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_43_MVTC_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_40_mvtc.f + EXTRACT_FMT_40_MVTC_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_40_MVTC_CODE /* Fetch the input operands for the semantic handler. */ OPRND (sr) = CPU (h_gr[f_r2]); @@ -730,50 +646,49 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_44_NOP) : /* e.g. nop */ + CASE (read, READ_FMT_41_NOP) : /* e.g. nop */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_44_nop.f - EXTRACT_FMT_44_NOP_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_44_NOP_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_41_nop.f + EXTRACT_FMT_41_NOP_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_41_NOP_CODE /* Fetch the input operands for the semantic handler. */ #undef OPRND } BREAK (read); - CASE (read, READ_FMT_45_RAC) : /* e.g. rac */ + CASE (read, READ_FMT_42_RAC_A) : /* e.g. rac $accs */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_45_rac.f - EXTRACT_FMT_45_RAC_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_45_RAC_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_42_rac_a.f + EXTRACT_FMT_42_RAC_A_VARS /* f-op1 f-r1 f-op2 f-accs f-op3 */ + EXTRACT_FMT_42_RAC_A_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (accum) = CPU (h_accum); + OPRND (accs) = m32rx_h_accums_get (current_cpu, f_accs); #undef OPRND } BREAK (read); - CASE (read, READ_FMT_46_RAC_A) : /* e.g. rac $accs */ + CASE (read, READ_FMT_43_RTE) : /* e.g. rte */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_46_rac_a.f - EXTRACT_FMT_46_RAC_A_VARS /* f-op1 f-r1 f-op2 f-accs f-op3 */ - - EXTRACT_FMT_46_RAC_A_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_43_rte.f + EXTRACT_FMT_43_RTE_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_43_RTE_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (accs) = m32rx_h_accums_get (current_cpu, f_accs); + OPRND (h_bcond_0) = CPU (h_bcond); + OPRND (h_bie_0) = CPU (h_bie); + OPRND (h_bpc_0) = CPU (h_bpc); + OPRND (h_bsm_0) = CPU (h_bsm); #undef OPRND } BREAK (read); - CASE (read, READ_FMT_47_SETH) : /* e.g. seth $dr,$hi16 */ + CASE (read, READ_FMT_44_SETH) : /* e.g. seth $dr,#$hi16 */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_47_seth.f - EXTRACT_FMT_47_SETH_VARS /* f-op1 f-r1 f-op2 f-r2 f-hi16 */ - - EXTRACT_FMT_47_SETH_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_44_seth.f + EXTRACT_FMT_44_SETH_VARS /* f-op1 f-r1 f-op2 f-r2 f-hi16 */ + EXTRACT_FMT_44_SETH_CODE /* Fetch the input operands for the semantic handler. */ OPRND (hi16) = f_hi16; @@ -781,12 +696,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_48_SLLI) : /* e.g. slli $dr,#$uimm5 */ + CASE (read, READ_FMT_45_SLLI) : /* e.g. slli $dr,#$uimm5 */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_48_slli.f - EXTRACT_FMT_48_SLLI_VARS /* f-op1 f-r1 f-shift-op2 f-uimm5 */ - - EXTRACT_FMT_48_SLLI_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_45_slli.f + EXTRACT_FMT_45_SLLI_VARS /* f-op1 f-r1 f-shift-op2 f-uimm5 */ + EXTRACT_FMT_45_SLLI_CODE /* Fetch the input operands for the semantic handler. */ OPRND (dr) = CPU (h_gr[f_r1]); @@ -795,12 +709,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_49_ST_D) : /* e.g. st $src1,@($slo16,$src2) */ + CASE (read, READ_FMT_46_ST_D) : /* e.g. st $src1,@($slo16,$src2) */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_49_st_d.f - EXTRACT_FMT_49_ST_D_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ - - EXTRACT_FMT_49_ST_D_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_46_st_d.f + EXTRACT_FMT_46_ST_D_VARS /* f-op1 f-r1 f-op2 f-r2 f-simm16 */ + EXTRACT_FMT_46_ST_D_CODE /* Fetch the input operands for the semantic handler. */ OPRND (slo16) = f_simm16; @@ -810,12 +723,11 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_50_TRAP) : /* e.g. trap #$uimm4 */ + CASE (read, READ_FMT_47_TRAP) : /* e.g. trap #$uimm4 */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_50_trap.f - EXTRACT_FMT_50_TRAP_VARS /* f-op1 f-r1 f-op2 f-uimm4 */ - - EXTRACT_FMT_50_TRAP_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_47_trap.f + EXTRACT_FMT_47_TRAP_VARS /* f-op1 f-r1 f-op2 f-uimm4 */ + EXTRACT_FMT_47_TRAP_CODE /* Fetch the input operands for the semantic handler. */ OPRND (uimm4) = f_uimm4; @@ -823,65 +735,77 @@ with this program; if not, write to the Free Software Foundation, Inc., } BREAK (read); - CASE (read, READ_FMT_51_SATB) : /* e.g. satb $dr,$src2 */ + CASE (read, READ_FMT_48_SATB) : /* e.g. satb $dr,$src2 */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_51_satb.f - EXTRACT_FMT_51_SATB_VARS /* f-op1 f-r1 f-op2 f-r2 f-uimm16 */ - - EXTRACT_FMT_51_SATB_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_48_satb.f + EXTRACT_FMT_48_SATB_VARS /* f-op1 f-r1 f-op2 f-r2 f-uimm16 */ + EXTRACT_FMT_48_SATB_CODE /* Fetch the input operands for the semantic handler. */ + OPRND (src2) = CPU (h_gr[f_r2]); #undef OPRND } BREAK (read); - CASE (read, READ_FMT_52_PCMPBZ) : /* e.g. pcmpbz $src2 */ + CASE (read, READ_FMT_49_SAT) : /* e.g. sat $dr,$src2 */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_52_pcmpbz.f - EXTRACT_FMT_52_PCMPBZ_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_52_PCMPBZ_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_49_sat.f + EXTRACT_FMT_49_SAT_VARS /* f-op1 f-r1 f-op2 f-r2 f-uimm16 */ + EXTRACT_FMT_49_SAT_CODE /* Fetch the input operands for the semantic handler. */ + OPRND (condbit) = CPU (h_cond); + OPRND (src2) = CPU (h_gr[f_r2]); #undef OPRND } BREAK (read); - CASE (read, READ_FMT_53_SADD) : /* e.g. sadd */ + CASE (read, READ_FMT_50_SADD) : /* e.g. sadd */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_53_sadd.f - EXTRACT_FMT_53_SADD_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_53_SADD_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_50_sadd.f + EXTRACT_FMT_50_SADD_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_50_SADD_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (h_accums) = m32rx_h_accums_get (current_cpu, 0); - OPRND (h_accums) = m32rx_h_accums_get (current_cpu, 1); + OPRND (h_accums_0) = m32rx_h_accums_get (current_cpu, 0); + OPRND (h_accums_1) = m32rx_h_accums_get (current_cpu, 1); #undef OPRND } BREAK (read); - CASE (read, READ_FMT_54_MACWU1) : /* e.g. macwu1 $src1,$src2 */ + CASE (read, READ_FMT_51_MACWU1) : /* e.g. macwu1 $src1,$src2 */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_54_macwu1.f - EXTRACT_FMT_54_MACWU1_VARS /* f-op1 f-r1 f-op2 f-r2 */ - - EXTRACT_FMT_54_MACWU1_CODE +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_51_macwu1.f + EXTRACT_FMT_51_MACWU1_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_51_MACWU1_CODE /* Fetch the input operands for the semantic handler. */ - OPRND (h_accums) = m32rx_h_accums_get (current_cpu, 1); + OPRND (h_accums_1) = m32rx_h_accums_get (current_cpu, 1); OPRND (src1) = CPU (h_gr[f_r1]); OPRND (src2) = CPU (h_gr[f_r2]); #undef OPRND } BREAK (read); - CASE (read, READ_FMT_55_SC) : /* e.g. sc */ + CASE (read, READ_FMT_52_MSBLO) : /* e.g. msblo $src1,$src2 */ { -#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_55_sc.f - EXTRACT_FMT_55_SC_VARS /* f-op1 f-r1 f-op2 f-r2 */ +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_52_msblo.f + EXTRACT_FMT_52_MSBLO_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_52_MSBLO_CODE + + /* Fetch the input operands for the semantic handler. */ + OPRND (accum) = CPU (h_accum); + OPRND (src1) = CPU (h_gr[f_r1]); + OPRND (src2) = CPU (h_gr[f_r2]); +#undef OPRND + } + BREAK (read); - EXTRACT_FMT_55_SC_CODE + CASE (read, READ_FMT_53_SC) : /* e.g. sc */ + { +#define OPRND(f) CPU_PAR_EXEC (current_cpu)->operands.fmt_53_sc.f + EXTRACT_FMT_53_SC_VARS /* f-op1 f-r1 f-op2 f-r2 */ + EXTRACT_FMT_53_SC_CODE /* Fetch the input operands for the semantic handler. */ OPRND (condbit) = CPU (h_cond); |