sim: moxie: replace custom "word" type with int32_t
authorMike Frysinger <vapier@gentoo.org>
Fri, 23 Dec 2022 02:45:15 +0000 (21:45 -0500)
committerMike Frysinger <vapier@gentoo.org>
Fri, 23 Dec 2022 02:55:47 +0000 (21:55 -0500)
This is a 32-bit architecture with 32-bit registers, so replace the
custom "word" int typedef with an explicit int32_t.  Practically
speaking, this produces the same code, but it should hopefully make
it easier to merge common code in the future.

sim/moxie/interp.c

index 42918659e4886c48c27fb7caf4610664c25a71a0..74a6fda433bd0f5304248990199229207e978ff7 100644 (file)
@@ -37,8 +37,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "sim-signal.h"
 #include "target-newlib-syscall.h"
 
-typedef int word;
-
 /* Extract the signed 10-bit offset from a 16-bit branch
    instruction.  */
 #define INST2OFFSET(o) ((((signed short)((o & ((1<<10)-1))<<6))>>6)<<1)
@@ -114,9 +112,9 @@ static const char *reg_names[16] =
 /* TODO: This should be moved to sim-main.h:_sim_cpu.  */
 struct moxie_regset
 {
-  word           regs[NUM_MOXIE_REGS + 1]; /* primary registers */
-  word           sregs[256];             /* special registers */
-  word            cc;                   /* the condition code reg */
+  int32_t           regs[NUM_MOXIE_REGS + 1]; /* primary registers */
+  int32_t           sregs[256];           /* special registers */
+  int32_t           cc;                   /* the condition code reg */
   unsigned long long insts;                /* instruction counter */
 };
 
@@ -130,7 +128,7 @@ struct moxie_regset
 union
 {
   struct moxie_regset asregs;
-  word asints [1];             /* but accessed larger... */
+  int32_t asints [1];          /* but accessed larger... */
 } cpu;
 
 static void
@@ -152,7 +150,7 @@ set_initial_gprs (void)
 /* Write a 1 byte value to memory.  */
 
 static INLINE void
-wbat (sim_cpu *scpu, word pc, word x, word v)
+wbat (sim_cpu *scpu, int32_t pc, int32_t x, int32_t v)
 {
   address_word cia = CPU_PC_GET (scpu);
   
@@ -162,7 +160,7 @@ wbat (sim_cpu *scpu, word pc, word x, word v)
 /* Write a 2 byte value to memory.  */
 
 static INLINE void
-wsat (sim_cpu *scpu, word pc, word x, word v)
+wsat (sim_cpu *scpu, int32_t pc, int32_t x, int32_t v)
 {
   address_word cia = CPU_PC_GET (scpu);
   
@@ -172,7 +170,7 @@ wsat (sim_cpu *scpu, word pc, word x, word v)
 /* Write a 4 byte value to memory.  */
 
 static INLINE void
-wlat (sim_cpu *scpu, word pc, word x, word v)
+wlat (sim_cpu *scpu, int32_t pc, int32_t x, int32_t v)
 {
   address_word cia = CPU_PC_GET (scpu);
        
@@ -182,7 +180,7 @@ wlat (sim_cpu *scpu, word pc, word x, word v)
 /* Read 2 bytes from memory.  */
 
 static INLINE int
-rsat (sim_cpu *scpu, word pc, word x)
+rsat (sim_cpu *scpu, int32_t pc, int32_t x)
 {
   address_word cia = CPU_PC_GET (scpu);
   
@@ -192,7 +190,7 @@ rsat (sim_cpu *scpu, word pc, word x)
 /* Read 1 byte from memory.  */
 
 static INLINE int
-rbat (sim_cpu *scpu, word pc, word x)
+rbat (sim_cpu *scpu, int32_t pc, int32_t x)
 {
   address_word cia = CPU_PC_GET (scpu);
   
@@ -202,7 +200,7 @@ rbat (sim_cpu *scpu, word pc, word x)
 /* Read 4 bytes from memory.  */
 
 static INLINE int
-rlat (sim_cpu *scpu, word pc, word x)
+rlat (sim_cpu *scpu, int32_t pc, int32_t x)
 {
   address_word cia = CPU_PC_GET (scpu);
   
@@ -248,7 +246,7 @@ sim_engine_run (SIM_DESC sd,
                int nr_cpus, /* ignore  */
                int siggnal) /* ignore  */
 {
-  word pc, opc;
+  int32_t pc, opc;
   unsigned short inst;
   sim_cpu *scpu = STATE_CPU (sd, 0); /* FIXME */
   address_word cia = CPU_PC_GET (scpu);