linux/arch/h8300/lib/libgcc.h
<<
>>
Prefs
   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
  62typedef          int SItype     __attribute__ ((mode (SI)));
  63typedef unsigned int USItype    __attribute__ ((mode (SI)));
  64typedef          int DItype     __attribute__ ((mode (DI)));
  65typedef unsigned int UDItype    __attribute__ ((mode (DI)));
  66struct DWstruct {
  67        Wtype high, low;
  68};
  69typedef union {
  70        struct DWstruct s;
  71        DWtype ll;
  72} DWunion;
  73
  74typedef int word_type __attribute__ ((mode (__word__)));
  75
  76#endif
  77
  78#endif
  79