Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/mips/lib/libgcc.h
26424 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef __ASM_LIBGCC_H
3
#define __ASM_LIBGCC_H
4
5
#include <asm/byteorder.h>
6
7
typedef int word_type __attribute__ ((mode (__word__)));
8
9
#ifdef __BIG_ENDIAN
10
struct DWstruct {
11
int high, low;
12
};
13
14
struct TWstruct {
15
long long high, low;
16
};
17
#elif defined(__LITTLE_ENDIAN)
18
struct DWstruct {
19
int low, high;
20
};
21
22
struct TWstruct {
23
long long low, high;
24
};
25
#else
26
#error I feel sick.
27
#endif
28
29
typedef union {
30
struct DWstruct s;
31
long long ll;
32
} DWunion;
33
34
#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6)
35
typedef int ti_type __attribute__((mode(TI)));
36
37
typedef union {
38
struct TWstruct s;
39
ti_type ti;
40
} TWunion;
41
#endif
42
43
#endif /* __ASM_LIBGCC_H */
44
45