root/arch/h8300/lib/libgcc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __H8300_LIBGCC_H__
   3 #define __H8300_LIBGCC_H__
   4 
   5 #ifdef __ASSEMBLY__
   6 #define A0 r0
   7 #define A0L r0l
   8 #define A0H r0h
   9 
  10 #define A1 r1
  11 #define A1L r1l
  12 #define A1H r1h
  13 
  14 #define A2 r2
  15 #define A2L r2l
  16 #define A2H r2h
  17 
  18 #define A3 r3
  19 #define A3L r3l
  20 #define A3H r3h
  21 
  22 #define S0 r4
  23 #define S0L r4l
  24 #define S0H r4h
  25 
  26 #define S1 r5
  27 #define S1L r5l
  28 #define S1H r5h
  29 
  30 #define S2 r6
  31 #define S2L r6l
  32 #define S2H r6h
  33 
  34 #define PUSHP   push.l
  35 #define POPP    pop.l
  36 
  37 #define A0P     er0
  38 #define A1P     er1
  39 #define A2P     er2
  40 #define A3P     er3
  41 #define S0P     er4
  42 #define S1P     er5
  43 #define S2P     er6
  44 
  45 #define A0E     e0
  46 #define A1E     e1
  47 #define A2E     e2
  48 #define A3E     e3
  49 #else
  50 #define Wtype   SItype
  51 #define UWtype  USItype
  52 #define HWtype  SItype
  53 #define UHWtype USItype
  54 #define DWtype  DItype
  55 #define UDWtype UDItype
  56 #define UWtype  USItype
  57 #define Wtype   SItype
  58 #define UWtype  USItype
  59 #define W_TYPE_SIZE (4 * BITS_PER_UNIT)
  60 #define BITS_PER_UNIT (8)
  61 
  62 typedef          int SItype     __attribute__ ((mode (SI)));
  63 typedef unsigned int USItype    __attribute__ ((mode (SI)));
  64 typedef          int DItype     __attribute__ ((mode (DI)));
  65 typedef unsigned int UDItype    __attribute__ ((mode (DI)));
  66 struct DWstruct {
  67         Wtype high, low;
  68 };
  69 typedef union {
  70         struct DWstruct s;
  71         DWtype ll;
  72 } DWunion;
  73 
  74 typedef int word_type __attribute__ ((mode (__word__)));
  75 
  76 #endif
  77 
  78 #endif

/* [<][>][^][v][top][bottom][index][help] */