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