binutils-gdb/sim/frv/cpu.c

702 lines
11 KiB
C
Raw Normal View History

/* Misc. support for CPU family frvbf.
THIS FILE IS MACHINE GENERATED WITH CGEN.
Copyright (C) 1996-2024 Free Software Foundation, Inc.
This file is part of the GNU simulators.
This file is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
It is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License along
sim regen This regenerates sim files. Tested with the following tools from a recent binutils build in sim-site-config.exp, plus a few cross compilers. set AS_FOR_TARGET_AARCH64 "/home/alan/build/gas/aarch64-linux-gnu/gas/as-new" set LD_FOR_TARGET_AARCH64 "/home/alan/build/gas/aarch64-linux-gnu/ld/ld-new" set CC_FOR_TARGET_AARCH64 "aarch64-linux-gnu-gcc" set AS_FOR_TARGET_ARM "/home/alan/build/gas/arm-linux-gnueabi/gas/as-new" set LD_FOR_TARGET_ARM "/home/alan/build/gas/arm-linux-gnueabi/ld/ld-new" set CC_FOR_TARGET_ARM "arm-linux-gnueabi-gcc" set AS_FOR_TARGET_AVR "/home/alan/build/gas/avr-elf/gas/as-new" set LD_FOR_TARGET_AVR "/home/alan/build/gas/avr-elf/ld/ld-new" set CC_FOR_TARGET_AVR "" set AS_FOR_TARGET_BFIN "/home/alan/build/gas/bfin-elf/gas/as-new" set LD_FOR_TARGET_BFIN "/home/alan/build/gas/bfin-elf/ld/ld-new" set CC_FOR_TARGET_BFIN "" set AS_FOR_TARGET_BPF "/home/alan/build/gas/bpf-none/gas/as-new" set LD_FOR_TARGET_BPF "/home/alan/build/gas/bpf-none/ld/ld-new" set CC_FOR_TARGET_BPF "" set AS_FOR_TARGET_CR16 "/home/alan/build/gas/cr16-elf/gas/as-new" set LD_FOR_TARGET_CR16 "/home/alan/build/gas/cr16-elf/ld/ld-new" set CC_FOR_TARGET_CR16 "" set AS_FOR_TARGET_CRIS "/home/alan/build/gas/cris-elf/gas/as-new" set LD_FOR_TARGET_CRIS "/home/alan/build/gas/cris-elf/ld/ld-new" set CC_FOR_TARGET_CRIS "" set AS_FOR_TARGET_D10V "/home/alan/build/gas/d10v-elf/gas/as-new" set LD_FOR_TARGET_D10V "/home/alan/build/gas/d10v-elf/ld/ld-new" set CC_FOR_TARGET_D10V "" set AS_FOR_TARGET_FRV "/home/alan/build/gas/frv-elf/gas/as-new" set LD_FOR_TARGET_FRV "/home/alan/build/gas/frv-elf/ld/ld-new" set CC_FOR_TARGET_FRV "" set AS_FOR_TARGET_FT32 "/home/alan/build/gas/ft32-elf/gas/as-new" set LD_FOR_TARGET_FT32 "/home/alan/build/gas/ft32-elf/ld/ld-new" set CC_FOR_TARGET_FT32 "" set AS_FOR_TARGET_H8300 "/home/alan/build/gas/h8300-elf/gas/as-new" set LD_FOR_TARGET_H8300 "/home/alan/build/gas/h8300-elf/ld/ld-new" set CC_FOR_TARGET_H8300 "" set AS_FOR_TARGET_IQ2000 "/home/alan/build/gas/iq2000-elf/gas/as-new" set LD_FOR_TARGET_IQ2000 "/home/alan/build/gas/iq2000-elf/ld/ld-new" set CC_FOR_TARGET_IQ2000 "" set AS_FOR_TARGET_LM32 "/home/alan/build/gas/lm32-linux-gnu/gas/as-new" set LD_FOR_TARGET_LM32 "/home/alan/build/gas/lm32-linux-gnu/ld/ld-new" set CC_FOR_TARGET_LM32 "" set AS_FOR_TARGET_M32C "/home/alan/build/gas/m32c-elf/gas/as-new" set LD_FOR_TARGET_M32C "/home/alan/build/gas/m32c-elf/ld/ld-new" set CC_FOR_TARGET_M32C "" set AS_FOR_TARGET_M32R "/home/alan/build/gas/m32r-elf/gas/as-new" set LD_FOR_TARGET_M32R "/home/alan/build/gas/m32r-elf/ld/ld-new" set CC_FOR_TARGET_M32R "" set AS_FOR_TARGET_M68HC11 "/home/alan/build/gas/m68hc11-elf/gas/as-new" set LD_FOR_TARGET_M68HC11 "/home/alan/build/gas/m68hc11-elf/ld/ld-new" set CC_FOR_TARGET_M68HC11 "" set AS_FOR_TARGET_MCORE "/home/alan/build/gas/mcore-elf/gas/as-new" set LD_FOR_TARGET_MCORE "/home/alan/build/gas/mcore-elf/ld/ld-new" set CC_FOR_TARGET_MCORE "" set AS_FOR_TARGET_MICROBLAZE "/home/alan/build/gas/microblaze-linux-gnu/gas/as-new" set LD_FOR_TARGET_MICROBLAZE "/home/alan/build/gas/microblaze-linux-gnu/ld/ld-new" set CC_FOR_TARGET_MICROBLAZE "microblaze-linux-gnu-gcc" set AS_FOR_TARGET_MIPS "/home/alan/build/gas/mips-linux-gnu/gas/as-new" set LD_FOR_TARGET_MIPS "/home/alan/build/gas/mips-linux-gnu/ld/ld-new" set CC_FOR_TARGET_MIPS "mips-linux-gnu-gcc" set AS_FOR_TARGET_MN10300 "/home/alan/build/gas/mn10300-elf/gas/as-new" set LD_FOR_TARGET_MN10300 "/home/alan/build/gas/mn10300-elf/ld/ld-new" set CC_FOR_TARGET_MN10300 "" set AS_FOR_TARGET_MOXIE "/home/alan/build/gas/moxie-elf/gas/as-new" set LD_FOR_TARGET_MOXIE "/home/alan/build/gas/moxie-elf/ld/ld-new" set CC_FOR_TARGET_MOXIE "" set AS_FOR_TARGET_MSP430 "/home/alan/build/gas/msp430-elf/gas/as-new" set LD_FOR_TARGET_MSP430 "/home/alan/build/gas/msp430-elf/ld/ld-new" set CC_FOR_TARGET_MSP430 "" set AS_FOR_TARGET_OR1K "/home/alan/build/gas/or1k-linux-gnu/gas/as-new" set LD_FOR_TARGET_OR1K "/home/alan/build/gas/or1k-linux-gnu/ld/ld-new" set CC_FOR_TARGET_OR1K "" set AS_FOR_TARGET_PPC "/home/alan/build/gas/powerpc-linux-gnu/gas/as-new" set LD_FOR_TARGET_PPC "/home/alan/build/gas/powerpc-linux-gnu/ld/ld-new" set CC_FOR_TARGET_PPC "powerpc-linux-gnu-gcc" set AS_FOR_TARGET_PRU "/home/alan/build/gas/pru-elf/gas/as-new" set LD_FOR_TARGET_PRU "/home/alan/build/gas/pru-elf/ld/ld-new" set CC_FOR_TARGET_PRU "" set AS_FOR_TARGET_RISCV "/home/alan/build/gas/riscv32-elf/gas/as-new" set LD_FOR_TARGET_RISCV "/home/alan/build/gas/riscv32-elf/ld/ld-new" set CC_FOR_TARGET_RISCV "" set AS_FOR_TARGET_RL78 "/home/alan/build/gas/rl78-elf/gas/as-new" set LD_FOR_TARGET_RL78 "/home/alan/build/gas/rl78-elf/ld/ld-new" set CC_FOR_TARGET_RL78 "" set AS_FOR_TARGET_RX "/home/alan/build/gas/rx-elf/gas/as-new" set LD_FOR_TARGET_RX "/home/alan/build/gas/rx-elf/ld/ld-new" set CC_FOR_TARGET_RX "" set AS_FOR_TARGET_SH "/home/alan/build/gas/sh-rtems/gas/as-new" set LD_FOR_TARGET_SH "/home/alan/build/gas/sh-rtems/ld/ld-new" set CC_FOR_TARGET_SH "" set AS_FOR_TARGET_ERC32 "" set LD_FOR_TARGET_ERC32 "" set CC_FOR_TARGET_ERC32 "" set AS_FOR_TARGET_V850 "/home/alan/build/gas/v850-elf/gas/as-new" set LD_FOR_TARGET_V850 "/home/alan/build/gas/v850-elf/ld/ld-new" set CC_FOR_TARGET_V850 "" Results both before and after were: FAIL: crisv10 mem1.ms (execution) FAIL: crisv10 mem2.ms (execution) FAIL: crisv32 mem1.ms (execution) FAIL: crisv32 mem2.ms (execution) FAIL: microblaze fail.s (execution) FAIL: microblaze pass.s (execution) expected passes 5288 unexpected failures 6 expected failures 3 untested testcases 373 unsupported tests 14
2023-08-10 10:44:01 +08:00
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
#define WANT_CPU frvbf
#define WANT_CPU_FRVBF
#include "sim-main.h"
#include "cgen-ops.h"
/* Get the value of h-reloc-ann. */
BI
frvbf_h_reloc_ann_get (SIM_CPU *current_cpu)
{
return CPU (h_reloc_ann);
}
/* Set a value for h-reloc-ann. */
void
frvbf_h_reloc_ann_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_reloc_ann) = newval;
}
/* Get the value of h-pc. */
USI
frvbf_h_pc_get (SIM_CPU *current_cpu)
{
return CPU (h_pc);
}
/* Set a value for h-pc. */
void
frvbf_h_pc_set (SIM_CPU *current_cpu, USI newval)
{
CPU (h_pc) = newval;
}
/* Get the value of h-psr_imple. */
UQI
frvbf_h_psr_imple_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_imple);
}
/* Set a value for h-psr_imple. */
void
frvbf_h_psr_imple_set (SIM_CPU *current_cpu, UQI newval)
{
CPU (h_psr_imple) = newval;
}
/* Get the value of h-psr_ver. */
UQI
frvbf_h_psr_ver_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_ver);
}
/* Set a value for h-psr_ver. */
void
frvbf_h_psr_ver_set (SIM_CPU *current_cpu, UQI newval)
{
CPU (h_psr_ver) = newval;
}
/* Get the value of h-psr_ice. */
BI
frvbf_h_psr_ice_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_ice);
}
/* Set a value for h-psr_ice. */
void
frvbf_h_psr_ice_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_ice) = newval;
}
/* Get the value of h-psr_nem. */
BI
frvbf_h_psr_nem_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_nem);
}
/* Set a value for h-psr_nem. */
void
frvbf_h_psr_nem_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_nem) = newval;
}
/* Get the value of h-psr_cm. */
BI
frvbf_h_psr_cm_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_cm);
}
/* Set a value for h-psr_cm. */
void
frvbf_h_psr_cm_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_cm) = newval;
}
/* Get the value of h-psr_be. */
BI
frvbf_h_psr_be_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_be);
}
/* Set a value for h-psr_be. */
void
frvbf_h_psr_be_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_be) = newval;
}
/* Get the value of h-psr_esr. */
BI
frvbf_h_psr_esr_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_esr);
}
/* Set a value for h-psr_esr. */
void
frvbf_h_psr_esr_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_esr) = newval;
}
/* Get the value of h-psr_ef. */
BI
frvbf_h_psr_ef_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_ef);
}
/* Set a value for h-psr_ef. */
void
frvbf_h_psr_ef_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_ef) = newval;
}
/* Get the value of h-psr_em. */
BI
frvbf_h_psr_em_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_em);
}
/* Set a value for h-psr_em. */
void
frvbf_h_psr_em_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_em) = newval;
}
/* Get the value of h-psr_pil. */
UQI
frvbf_h_psr_pil_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_pil);
}
/* Set a value for h-psr_pil. */
void
frvbf_h_psr_pil_set (SIM_CPU *current_cpu, UQI newval)
{
CPU (h_psr_pil) = newval;
}
/* Get the value of h-psr_ps. */
BI
frvbf_h_psr_ps_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_ps);
}
/* Set a value for h-psr_ps. */
void
frvbf_h_psr_ps_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_ps) = newval;
}
/* Get the value of h-psr_et. */
BI
frvbf_h_psr_et_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_et);
}
/* Set a value for h-psr_et. */
void
frvbf_h_psr_et_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_psr_et) = newval;
}
/* Get the value of h-psr_s. */
BI
frvbf_h_psr_s_get (SIM_CPU *current_cpu)
{
return CPU (h_psr_s);
}
/* Set a value for h-psr_s. */
void
frvbf_h_psr_s_set (SIM_CPU *current_cpu, BI newval)
{
SET_H_PSR_S (newval);
}
/* Get the value of h-tbr_tba. */
USI
frvbf_h_tbr_tba_get (SIM_CPU *current_cpu)
{
return CPU (h_tbr_tba);
}
/* Set a value for h-tbr_tba. */
void
frvbf_h_tbr_tba_set (SIM_CPU *current_cpu, USI newval)
{
CPU (h_tbr_tba) = newval;
}
/* Get the value of h-tbr_tt. */
UQI
frvbf_h_tbr_tt_get (SIM_CPU *current_cpu)
{
return CPU (h_tbr_tt);
}
/* Set a value for h-tbr_tt. */
void
frvbf_h_tbr_tt_set (SIM_CPU *current_cpu, UQI newval)
{
CPU (h_tbr_tt) = newval;
}
/* Get the value of h-bpsr_bs. */
BI
frvbf_h_bpsr_bs_get (SIM_CPU *current_cpu)
{
return CPU (h_bpsr_bs);
}
/* Set a value for h-bpsr_bs. */
void
frvbf_h_bpsr_bs_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_bpsr_bs) = newval;
}
/* Get the value of h-bpsr_bet. */
BI
frvbf_h_bpsr_bet_get (SIM_CPU *current_cpu)
{
return CPU (h_bpsr_bet);
}
/* Set a value for h-bpsr_bet. */
void
frvbf_h_bpsr_bet_set (SIM_CPU *current_cpu, BI newval)
{
CPU (h_bpsr_bet) = newval;
}
/* Get the value of h-gr. */
USI
frvbf_h_gr_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_GR (regno);
}
/* Set a value for h-gr. */
void
frvbf_h_gr_set (SIM_CPU *current_cpu, UINT regno, USI newval)
{
SET_H_GR (regno, newval);
}
/* Get the value of h-gr_double. */
DI
frvbf_h_gr_double_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_GR_DOUBLE (regno);
}
/* Set a value for h-gr_double. */
void
frvbf_h_gr_double_set (SIM_CPU *current_cpu, UINT regno, DI newval)
{
SET_H_GR_DOUBLE (regno, newval);
}
/* Get the value of h-gr_hi. */
UHI
frvbf_h_gr_hi_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_GR_HI (regno);
}
/* Set a value for h-gr_hi. */
void
frvbf_h_gr_hi_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
{
SET_H_GR_HI (regno, newval);
}
/* Get the value of h-gr_lo. */
UHI
frvbf_h_gr_lo_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_GR_LO (regno);
}
/* Set a value for h-gr_lo. */
void
frvbf_h_gr_lo_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
{
SET_H_GR_LO (regno, newval);
}
/* Get the value of h-fr. */
SF
frvbf_h_fr_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR (regno);
}
/* Set a value for h-fr. */
void
frvbf_h_fr_set (SIM_CPU *current_cpu, UINT regno, SF newval)
{
SET_H_FR (regno, newval);
}
/* Get the value of h-fr_double. */
DF
frvbf_h_fr_double_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR_DOUBLE (regno);
}
/* Set a value for h-fr_double. */
void
frvbf_h_fr_double_set (SIM_CPU *current_cpu, UINT regno, DF newval)
{
SET_H_FR_DOUBLE (regno, newval);
}
/* Get the value of h-fr_int. */
USI
frvbf_h_fr_int_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR_INT (regno);
}
/* Set a value for h-fr_int. */
void
frvbf_h_fr_int_set (SIM_CPU *current_cpu, UINT regno, USI newval)
{
SET_H_FR_INT (regno, newval);
}
/* Get the value of h-fr_hi. */
UHI
frvbf_h_fr_hi_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR_HI (regno);
}
/* Set a value for h-fr_hi. */
void
frvbf_h_fr_hi_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
{
SET_H_FR_HI (regno, newval);
}
/* Get the value of h-fr_lo. */
UHI
frvbf_h_fr_lo_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR_LO (regno);
}
/* Set a value for h-fr_lo. */
void
frvbf_h_fr_lo_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
{
SET_H_FR_LO (regno, newval);
}
/* Get the value of h-fr_0. */
UHI
frvbf_h_fr_0_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR_0 (regno);
}
/* Set a value for h-fr_0. */
void
frvbf_h_fr_0_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
{
SET_H_FR_0 (regno, newval);
}
/* Get the value of h-fr_1. */
UHI
frvbf_h_fr_1_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR_1 (regno);
}
/* Set a value for h-fr_1. */
void
frvbf_h_fr_1_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
{
SET_H_FR_1 (regno, newval);
}
/* Get the value of h-fr_2. */
UHI
frvbf_h_fr_2_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR_2 (regno);
}
/* Set a value for h-fr_2. */
void
frvbf_h_fr_2_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
{
SET_H_FR_2 (regno, newval);
}
/* Get the value of h-fr_3. */
UHI
frvbf_h_fr_3_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_FR_3 (regno);
}
/* Set a value for h-fr_3. */
void
frvbf_h_fr_3_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
{
SET_H_FR_3 (regno, newval);
}
/* Get the value of h-cpr. */
SI
frvbf_h_cpr_get (SIM_CPU *current_cpu, UINT regno)
{
return CPU (h_cpr[regno]);
}
/* Set a value for h-cpr. */
void
frvbf_h_cpr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
{
CPU (h_cpr[regno]) = newval;
}
/* Get the value of h-cpr_double. */
DI
frvbf_h_cpr_double_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_CPR_DOUBLE (regno);
}
/* Set a value for h-cpr_double. */
void
frvbf_h_cpr_double_set (SIM_CPU *current_cpu, UINT regno, DI newval)
{
SET_H_CPR_DOUBLE (regno, newval);
}
/* Get the value of h-spr. */
USI
frvbf_h_spr_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_SPR (regno);
}
/* Set a value for h-spr. */
void
frvbf_h_spr_set (SIM_CPU *current_cpu, UINT regno, USI newval)
{
SET_H_SPR (regno, newval);
}
/* Get the value of h-accg. */
USI
frvbf_h_accg_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_ACCG (regno);
}
/* Set a value for h-accg. */
void
frvbf_h_accg_set (SIM_CPU *current_cpu, UINT regno, USI newval)
{
SET_H_ACCG (regno, newval);
}
/* Get the value of h-acc40S. */
DI
frvbf_h_acc40S_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_ACC40S (regno);
}
/* Set a value for h-acc40S. */
void
frvbf_h_acc40S_set (SIM_CPU *current_cpu, UINT regno, DI newval)
{
SET_H_ACC40S (regno, newval);
}
/* Get the value of h-acc40U. */
DI
frvbf_h_acc40U_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_ACC40U (regno);
}
/* Set a value for h-acc40U. */
void
frvbf_h_acc40U_set (SIM_CPU *current_cpu, UINT regno, DI newval)
{
SET_H_ACC40U (regno, newval);
}
/* Get the value of h-iacc0. */
DI
frvbf_h_iacc0_get (SIM_CPU *current_cpu, UINT regno)
{
return GET_H_IACC0 (regno);
}
/* Set a value for h-iacc0. */
void
frvbf_h_iacc0_set (SIM_CPU *current_cpu, UINT regno, DI newval)
{
SET_H_IACC0 (regno, newval);
}
/* Get the value of h-iccr. */
UQI
frvbf_h_iccr_get (SIM_CPU *current_cpu, UINT regno)
{
return CPU (h_iccr[regno]);
}
/* Set a value for h-iccr. */
void
frvbf_h_iccr_set (SIM_CPU *current_cpu, UINT regno, UQI newval)
{
CPU (h_iccr[regno]) = newval;
}
/* Get the value of h-fccr. */
UQI
frvbf_h_fccr_get (SIM_CPU *current_cpu, UINT regno)
{
return CPU (h_fccr[regno]);
}
/* Set a value for h-fccr. */
void
frvbf_h_fccr_set (SIM_CPU *current_cpu, UINT regno, UQI newval)
{
CPU (h_fccr[regno]) = newval;
}
/* Get the value of h-cccr. */
UQI
frvbf_h_cccr_get (SIM_CPU *current_cpu, UINT regno)
{
return CPU (h_cccr[regno]);
}
/* Set a value for h-cccr. */
void
frvbf_h_cccr_set (SIM_CPU *current_cpu, UINT regno, UQI newval)
{
CPU (h_cccr[regno]) = newval;
}