sim: common: use standard intXX_t types for signedXX
Let's assume that the system supports the POSIX int8/16/32/64_t types as this collapses the logic significantly.
This commit is contained in:
parent
618b526e31
commit
f55b33d51b
2 changed files with 27 additions and 82 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2015-06-21 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-types.h: Move SIM_TYPES_H define to top of file. Include
|
||||||
|
stdint.h. Replace all signed/unsigned typedefs with int#_t and
|
||||||
|
uint#_t.
|
||||||
|
|
||||||
2015-06-21 Mike Frysinger <vapier@gentoo.org>
|
2015-06-21 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* sim-alu.h (_SIM_ALU_H_): Rename to ...
|
* sim-alu.h (_SIM_ALU_H_): Rename to ...
|
||||||
|
|
|
@ -21,7 +21,9 @@
|
||||||
|
|
||||||
|
|
||||||
#ifndef SIM_TYPES_H
|
#ifndef SIM_TYPES_H
|
||||||
/* #define SIM_TYPES_H */
|
#define SIM_TYPES_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
/* INTEGER QUANTITIES:
|
/* INTEGER QUANTITIES:
|
||||||
|
|
||||||
|
@ -42,96 +44,33 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#if !defined (SIM_TYPES_H) && defined (__GNUC__)
|
|
||||||
#define SIM_TYPES_H
|
|
||||||
|
|
||||||
/* bit based */
|
|
||||||
|
|
||||||
#define UNSIGNED32(X) ((unsigned32) X##UL)
|
|
||||||
#define UNSIGNED64(X) ((unsigned64) X##ULL)
|
|
||||||
|
|
||||||
#define SIGNED32(X) ((signed32) X##L)
|
|
||||||
#define SIGNED64(X) ((signed64) X##LL)
|
|
||||||
|
|
||||||
typedef signed int signed8 __attribute__ ((__mode__ (__QI__)));
|
|
||||||
typedef signed int signed16 __attribute__ ((__mode__ (__HI__)));
|
|
||||||
typedef signed int signed32 __attribute__ ((__mode__ (__SI__)));
|
|
||||||
typedef signed int signed64 __attribute__ ((__mode__ (__DI__)));
|
|
||||||
|
|
||||||
typedef unsigned int unsigned8 __attribute__ ((__mode__ (__QI__)));
|
|
||||||
typedef unsigned int unsigned16 __attribute__ ((__mode__ (__HI__)));
|
|
||||||
typedef unsigned int unsigned32 __attribute__ ((__mode__ (__SI__)));
|
|
||||||
typedef unsigned int unsigned64 __attribute__ ((__mode__ (__DI__)));
|
|
||||||
|
|
||||||
typedef struct { unsigned64 a[2]; } unsigned128;
|
|
||||||
typedef struct { signed64 a[2]; } signed128;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if !defined (SIM_TYPES_H) && defined (_MSC_VER)
|
|
||||||
#define SIM_TYPES_H
|
|
||||||
|
|
||||||
/* bit based */
|
/* bit based */
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
# define UNSIGNED32(X) (X##ui32)
|
# define UNSIGNED32(X) (X##ui32)
|
||||||
# define UNSIGNED64(X) (X##ui64)
|
# define UNSIGNED64(X) (X##ui64)
|
||||||
|
|
||||||
# define SIGNED32(X) (X##i32)
|
# define SIGNED32(X) (X##i32)
|
||||||
# define SIGNED64(X) (X##i64)
|
# define SIGNED64(X) (X##i64)
|
||||||
|
#else
|
||||||
|
# define UNSIGNED32(X) ((unsigned32) X##UL)
|
||||||
|
# define UNSIGNED64(X) ((unsigned64) X##ULL)
|
||||||
|
# define SIGNED32(X) ((signed32) X##L)
|
||||||
|
# define SIGNED64(X) ((signed64) X##LL)
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef signed char signed8;
|
typedef int8_t signed8;
|
||||||
typedef signed short signed16;
|
typedef int16_t signed16;
|
||||||
typedef signed int signed32;
|
typedef int32_t signed32;
|
||||||
typedef signed __int64 signed64;
|
typedef int64_t signed64;
|
||||||
|
|
||||||
typedef unsigned int unsigned8;
|
typedef uint8_t unsigned8;
|
||||||
typedef unsigned int unsigned16;
|
typedef uint16_t unsigned16;
|
||||||
typedef unsigned int unsigned32;
|
typedef uint32_t unsigned32;
|
||||||
typedef unsigned __int64 unsigned64;
|
typedef uint64_t unsigned64;
|
||||||
|
|
||||||
typedef struct { unsigned64 a[2]; } unsigned128;
|
typedef struct { unsigned64 a[2]; } unsigned128;
|
||||||
typedef struct { signed64 a[2]; } signed128;
|
typedef struct { signed64 a[2]; } signed128;
|
||||||
|
|
||||||
#endif /* _MSC_VER */
|
|
||||||
|
|
||||||
|
|
||||||
#if !defined (SIM_TYPES_H)
|
|
||||||
#define SIM_TYPES_H
|
|
||||||
|
|
||||||
/* bit based */
|
|
||||||
|
|
||||||
#define UNSIGNED32(X) (X##UL)
|
|
||||||
#define UNSIGNED64(X) (X##ULL)
|
|
||||||
|
|
||||||
#define SIGNED32(X) (X##L)
|
|
||||||
#define SIGNED64(X) (X##LL)
|
|
||||||
|
|
||||||
typedef signed char signed8;
|
|
||||||
typedef signed short signed16;
|
|
||||||
#if defined (__ALPHA__)
|
|
||||||
typedef signed int signed32;
|
|
||||||
typedef signed long signed64;
|
|
||||||
#else
|
|
||||||
typedef signed long signed32;
|
|
||||||
typedef signed long long signed64;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef unsigned char unsigned8;
|
|
||||||
typedef unsigned short unsigned16;
|
|
||||||
#if defined (__ALPHA__)
|
|
||||||
typedef unsigned int unsigned32;
|
|
||||||
typedef unsigned long unsigned64;
|
|
||||||
#else
|
|
||||||
typedef unsigned long unsigned32;
|
|
||||||
typedef unsigned long long unsigned64;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct { unsigned64 a[2]; } unsigned128;
|
|
||||||
typedef struct { signed64 a[2]; } signed128;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* byte based */
|
/* byte based */
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue