sim: igen: migrate to standard uintXX_t types
authorMike Frysinger <vapier@gentoo.org>
Mon, 6 Dec 2021 07:18:31 +0000 (02:18 -0500)
committerMike Frysinger <vapier@gentoo.org>
Thu, 6 Jan 2022 06:17:38 +0000 (01:17 -0500)
Move off the custom local 64-bit types and to the standard uintXX_t
types that C11 provides.

sim/igen/gen-idecode.c
sim/igen/igen.c
sim/igen/ld-decode.c
sim/igen/ld-insn.c
sim/igen/ld-insn.h
sim/igen/misc.h

index 5e87e15b344d7cd44e015ae32c8673f10eed027d..d16cab54b29da2b6223b8a4d5aa90fe084f2fc79 100644 (file)
@@ -984,8 +984,8 @@ print_idecode_globals (lf *file)
   lf_printf (file, "\n");
   lf_printf (file, "typedef struct _idecode_table_entry {\n");
   lf_printf (file, "  int shift;\n");
-  lf_printf (file, "  unsigned%d mask;\n", options.insn_bit_size);
-  lf_printf (file, "  unsigned%d value;\n", options.insn_bit_size);
+  lf_printf (file, "  uint%d_t mask;\n", options.insn_bit_size);
+  lf_printf (file, "  uint%d_t value;\n", options.insn_bit_size);
   lf_printf (file, "  void *function_or_table;\n");
   lf_printf (file, "} idecode_table_entry;\n");
 }
index 2389ccd711def1495e5a25809dd2e90100e554ec..ba856401fa9454f705a761a28c1cd6c0db70e51e 100644 (file)
@@ -759,7 +759,7 @@ static void
 gen_idecode_h (lf *file,
               gen_table *gen, insn_table *insns, cache_entry *cache_rules)
 {
-  lf_printf (file, "typedef unsigned%d %sinstruction_word;\n",
+  lf_printf (file, "typedef uint%d_t %sinstruction_word;\n",
             options.insn_bit_size, options.module.global.prefix.l);
   if (options.gen.delayed_branch)
     {
index 3875bdb53c405de1e74b3af520b25405d1411653..da0e9da93c34e2cb2f2ed9fd167d3954919931f5 100644 (file)
@@ -70,7 +70,7 @@ static const name_map decode_search_map[] = {
 
 
 static void
-set_bits (int bit[max_insn_bit_size], unsigned64 value)
+set_bits (int bit[max_insn_bit_size], uint64_t value)
 {
   int bit_nr;
   for (bit_nr = 0; bit_nr < max_insn_bit_size; bit_nr++)
index 6727d9f6cbd7ec4d4d315eddb28e7baf10a0d376..20c1f77b33fbb231da3b6fa0f501a10eb2dc4002 100644 (file)
@@ -203,7 +203,7 @@ parse_insn_word (line_ref *line, char *string, int word_nr)
            {
              /* when the length/pos field is omited, an integer field
                 is always binary */
-             unsigned64 val = 0;
+             uint64_t val = 0;
              int i;
              for (i = 0; i < strlen_val; i++)
                {
index dba2e63e6c2dff70e82c28139374d8ce3a18bb2a..4859bae3b09e3ec10a1e9bfd156af2063bbae0e8 100644 (file)
@@ -21,7 +21,7 @@
 
 
 
-typedef unsigned64 insn_uint;
+typedef uint64_t insn_uint;
 
 
 /* Common among most entries:
index 48c21263c65fc8d30fb03a498e63d242573ba392..a1cae768179f1e2695c12c52dfbf7056603c9a01 100644 (file)
@@ -30,29 +30,11 @@ enum
 };
 
 
-/* Define a 64bit data type */
-
-#if defined __GNUC__ || defined _WIN32
-#ifdef __GNUC__
-
-typedef long long signed64;
-typedef unsigned long long unsigned64;
-
-#else /* _WIN32 */
-
-typedef __int64 signed64;
-typedef unsigned __int64 unsigned64;
-
-#endif /* _WIN32 */
-#else /* Not GNUC or WIN32 */
-/* Not supported */
-#endif
-
-
-#include <stdio.h>
 #include <ctype.h>
-#include <string.h>
+#include <stdint.h>
+#include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 #if !defined (__attribute__) && (!defined(__GNUC__) || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7))
 #define __attribute__(arg)