UINT
mepcop1_16_mep_model::model_cpccadd_b_P0S_P1_before (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpccadd_b_P0S_P1_after (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpmovtocsar0_P0S_P1_before (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpmovtocsar0_P0S_P1_after (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpmovtocsar1_P0S_P1_before (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpmovtocsar1_P0S_P1_after (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpmovtocc_P0S_P1_before (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpmovtocc_P0S_P1_after (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpsrla0_P0S_before (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpsrla0_P0S_after (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpsraa0_P0S_before (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpsraa0_P0S_after (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpslla0_P0S_before (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
UINT
mepcop1_16_mep_model::model_cpslla0_P0S_after (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
{
-#define FLD(f) abuf->fields.sfmt_cpadd3_b_P0S_P1.f
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
const mepcop1_16_scache* abuf = sem;
const mepcop1_16_idesc* idesc = abuf->idesc;
int cycles = 0;
#undef FLD
}
+UINT
+mepcop1_16_mep_model::model_cpmovi_b_P0S_P1_before (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
+{
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
+ const mepcop1_16_scache* abuf = sem;
+ const mepcop1_16_idesc* idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ cycles += model_u_exec_before (current_cpu, idesc, 0);
+ }
+ return cycles;
+#undef FLD
+}
+
+UINT
+mepcop1_16_mep_model::model_cpmovi_b_P0S_P1_after (mep_ext1_cpu *current_cpu, mepcop1_16_scache *sem)
+{
+#define FLD(f) abuf->fields.sfmt_cpmovi_b_P0S_P1.f
+ const mepcop1_16_scache* abuf = sem;
+ const mepcop1_16_idesc* idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ unsigned long long insn_referenced = abuf->written;
+ cycles += model_u_exec_after (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
/* We assume UNIT_NONE == 0 because the tables don't always terminate
entries with it. */
{ MEPCOP1_16_INSN_CPFACA0S1_B_P0S, & mepcop1_16_mep_model::model_cpfaca0s1_b_P0S_before, & mepcop1_16_mep_model::model_cpfaca0s1_b_P0S_after, { { mepcop1_16_mep_model::UNIT_U_EXEC, 1, 1 } } },
{ MEPCOP1_16_INSN_CPFACUA0S1_H_P0S, & mepcop1_16_mep_model::model_cpfacua0s1_h_P0S_before, & mepcop1_16_mep_model::model_cpfacua0s1_h_P0S_after, { { mepcop1_16_mep_model::UNIT_U_EXEC, 1, 1 } } },
{ MEPCOP1_16_INSN_CPFACLA0S1_H_P0S, & mepcop1_16_mep_model::model_cpfacla0s1_h_P0S_before, & mepcop1_16_mep_model::model_cpfacla0s1_h_P0S_after, { { mepcop1_16_mep_model::UNIT_U_EXEC, 1, 1 } } },
+ { MEPCOP1_16_INSN_CPMOVI_B_P0S_P1, & mepcop1_16_mep_model::model_cpmovi_b_P0S_P1_before, & mepcop1_16_mep_model::model_cpmovi_b_P0S_P1_after, { { mepcop1_16_mep_model::UNIT_U_EXEC, 1, 1 } } },
};