|
@@ -19,8 +19,6 @@
|
|
extern "C" {
|
|
extern "C" {
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-#include "fpu/softfloat-types.h"
|
|
|
|
-
|
|
|
|
#ifdef BSWAP_FROM_BYTESWAP
|
|
#ifdef BSWAP_FROM_BYTESWAP
|
|
static inline uint16_t bswap16(uint16_t x)
|
|
static inline uint16_t bswap16(uint16_t x)
|
|
{
|
|
{
|
|
@@ -202,64 +200,6 @@ CPU_CONVERT(le, 64, uint64_t)
|
|
# define const_le16(_x) (_x)
|
|
# define const_le16(_x) (_x)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-/* Unions for reinterpreting between floats and integers. */
|
|
|
|
-
|
|
|
|
-typedef union {
|
|
|
|
- float32 f;
|
|
|
|
- uint32_t l;
|
|
|
|
-} CPU_FloatU;
|
|
|
|
-
|
|
|
|
-typedef union {
|
|
|
|
- float64 d;
|
|
|
|
-#if HOST_BIG_ENDIAN
|
|
|
|
- struct {
|
|
|
|
- uint32_t upper;
|
|
|
|
- uint32_t lower;
|
|
|
|
- } l;
|
|
|
|
-#else
|
|
|
|
- struct {
|
|
|
|
- uint32_t lower;
|
|
|
|
- uint32_t upper;
|
|
|
|
- } l;
|
|
|
|
-#endif
|
|
|
|
- uint64_t ll;
|
|
|
|
-} CPU_DoubleU;
|
|
|
|
-
|
|
|
|
-typedef union {
|
|
|
|
- floatx80 d;
|
|
|
|
- struct {
|
|
|
|
- uint64_t lower;
|
|
|
|
- uint16_t upper;
|
|
|
|
- } l;
|
|
|
|
-} CPU_LDoubleU;
|
|
|
|
-
|
|
|
|
-typedef union {
|
|
|
|
- float128 q;
|
|
|
|
-#if HOST_BIG_ENDIAN
|
|
|
|
- struct {
|
|
|
|
- uint32_t upmost;
|
|
|
|
- uint32_t upper;
|
|
|
|
- uint32_t lower;
|
|
|
|
- uint32_t lowest;
|
|
|
|
- } l;
|
|
|
|
- struct {
|
|
|
|
- uint64_t upper;
|
|
|
|
- uint64_t lower;
|
|
|
|
- } ll;
|
|
|
|
-#else
|
|
|
|
- struct {
|
|
|
|
- uint32_t lowest;
|
|
|
|
- uint32_t lower;
|
|
|
|
- uint32_t upper;
|
|
|
|
- uint32_t upmost;
|
|
|
|
- } l;
|
|
|
|
- struct {
|
|
|
|
- uint64_t lower;
|
|
|
|
- uint64_t upper;
|
|
|
|
- } ll;
|
|
|
|
-#endif
|
|
|
|
-} CPU_QuadU;
|
|
|
|
-
|
|
|
|
/* unaligned/endian-independent pointer access */
|
|
/* unaligned/endian-independent pointer access */
|
|
|
|
|
|
/*
|
|
/*
|