1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __ASM_LIBGCC_H
3#define __ASM_LIBGCC_H
4
5#include <asm/byteorder.h>
6
7typedef int word_type __attribute__ ((mode (__word__)));
8
9#ifdef __BIG_ENDIAN
10struct DWstruct {
11 int high, low;
12};
13#elif defined(__LITTLE_ENDIAN)
14struct DWstruct {
15 int low, high;
16};
17#else
18#error I feel sick.
19#endif
20
21typedef union {
22 struct DWstruct s;
23 long long ll;
24} DWunion;
25
26extern long long __ashldi3(long long u, word_type b);
27extern long long __ashrdi3(long long u, word_type b);
28extern word_type __cmpdi2(long long a, long long b);
29extern long long __lshrdi3(long long u, word_type b);
30extern long long __muldi3(long long u, long long v);
31extern word_type __ucmpdi2(unsigned long long a, unsigned long long b);
32
33#endif /* __ASM_LIBGCC_H */
34

source code of linux/arch/microblaze/lib/libgcc.h