Search
lxdream.org :: lxdream/test/include/machine/ieeefp.h
lxdream 0.9.1
released Jun 29
Download Now
filename test/include/machine/ieeefp.h
changeset 185:6755a04c447f
author nkeynes
date Tue Feb 13 08:34:27 2007 +0000 (17 years ago)
permissions -rw-r--r--
last change Add tests for FLOAT and FTRC
Comment out user-mode exception test (broken)
view annotate diff log raw
     1 #ifndef __IEEE_BIG_ENDIAN
     2 #ifndef __IEEE_LITTLE_ENDIAN
     4 #if defined(__arm__) || defined(__thumb__)
     5 /* ARM always has big-endian words.  Within those words the byte ordering
     6    appears to be big or little endian.  Newlib doesn't seem to care about
     7    the byte ordering within words.  */
     8 #define __IEEE_BIG_ENDIAN
     9 #endif
    11 #ifdef __hppa__
    12 #define __IEEE_BIG_ENDIAN
    13 #endif
    15 #ifdef __sparc__
    16 #ifdef __LITTLE_ENDIAN_DATA__
    17 #define __IEEE_LITTLE_ENDIAN
    18 #else
    19 #define __IEEE_BIG_ENDIAN
    20 #endif
    21 #endif
    23 #if defined(__m68k__) || defined(__mc68000__)
    24 #define __IEEE_BIG_ENDIAN
    25 #endif
    27 #if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__)
    28 #define __IEEE_BIG_ENDIAN
    29 #define __SMALL_BITFIELDS
    30 #define _DOUBLE_IS_32BITS
    31 #endif
    33 #ifdef __H8500__
    34 #define __IEEE_BIG_ENDIAN
    35 #define __SMALL_BITFIELDS
    36 #define _DOUBLE_IS_32BITS
    37 #endif
    39 #ifdef __sh__
    40 #ifdef __LITTLE_ENDIAN__
    41 #define __IEEE_LITTLE_ENDIAN
    42 #else
    43 #define __IEEE_BIG_ENDIAN
    44 #endif
    45 #if defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__)
    46 #define _DOUBLE_IS_32BITS
    47 #endif
    48 #endif
    50 #ifdef _AM29K
    51 #define __IEEE_BIG_ENDIAN
    52 #endif
    54 #ifdef _WIN32
    55 #define __IEEE_LITTLE_ENDIAN
    56 #endif
    58 #ifdef __i386__
    59 #define __IEEE_LITTLE_ENDIAN
    60 #endif
    62 #ifdef __i960__
    63 #define __IEEE_LITTLE_ENDIAN
    64 #endif
    66 #ifdef __M32R__
    67 #define __IEEE_BIG_ENDIAN
    68 #endif
    70 #ifdef __TIC80__
    71 #define __IEEE_LITTLE_ENDIAN
    72 #endif
    74 #ifdef __MIPSEL__
    75 #define __IEEE_LITTLE_ENDIAN
    76 #endif
    77 #ifdef __MIPSEB__
    78 #define __IEEE_BIG_ENDIAN
    79 #endif
    81 /* necv70 was __IEEE_LITTLE_ENDIAN. */
    83 #ifdef __W65__
    84 #define __IEEE_LITTLE_ENDIAN
    85 #define __SMALL_BITFIELDS
    86 #define _DOUBLE_IS_32BITS
    87 #endif
    89 #if defined(__Z8001__) || defined(__Z8002__)
    90 #define __IEEE_BIG_ENDIAN
    91 #endif
    93 #ifdef __m88k__
    94 #define __IEEE_BIG_ENDIAN
    95 #endif
    97 #ifdef __mn10300__
    98 #define __IEEE_LITTLE_ENDIAN
    99 #endif
   101 #ifdef __mn10200__
   102 #define __IEEE_LITTLE_ENDIAN
   103 #define __SMALL_BITFIELDS
   104 #define _DOUBLE_IS_32BITS
   105 #endif
   107 #ifdef __v800
   108 #define __IEEE_LITTLE_ENDIAN
   109 #endif
   111 #ifdef __v850
   112 #define __IEEE_LITTLE_ENDIAN
   113 #endif
   115 #ifdef __D10V__
   116 #define __IEEE_BIG_ENDIAN
   117 #define _DOUBLE_IS_32BITS
   118 #define __SMALL_BITFIELDS
   119 #endif
   121 #ifdef __PPC__
   122 #if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX)
   123 #define __IEEE_BIG_ENDIAN
   124 #else
   125 #if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(_WIN32) && _WIN32)
   126 #define __IEEE_LITTLE_ENDIAN
   127 #endif
   128 #endif
   129 #endif
   131 #ifdef __arc__
   132 #ifdef __big_endian__
   133 #define __IEEE_BIG_ENDIAN
   134 #else
   135 #define __IEEE_LITTLE_ENDIAN
   136 #endif
   137 #endif
   139 #ifdef __fr30__
   140 #define __IEEE_BIG_ENDIAN
   141 #endif
   143 #ifdef __mcore__
   144 #define __IEEE_BIG_ENDIAN
   145 #endif
   149 #ifndef __IEEE_BIG_ENDIAN
   150 #ifndef __IEEE_LITTLE_ENDIAN
   151 #error Endianess not declared!!
   152 #endif /* not __IEEE_LITTLE_ENDIAN */
   153 #endif /* not __IEEE_BIG_ENDIAN */
   155 #endif /* not __IEEE_LITTLE_ENDIAN */
   156 #endif /* not __IEEE_BIG_ENDIAN */
.