136ac495dSmrg /* Integer arithmetic support for Lattice Mico32. 236ac495dSmrg Contributed by Jon Beniston <jon@beniston.com> 336ac495dSmrg 4*8feb0f0bSmrg Copyright (C) 2009-2020 Free Software Foundation, Inc. 536ac495dSmrg 636ac495dSmrg This file is free software; you can redistribute it and/or modify it 736ac495dSmrg under the terms of the GNU General Public License as published by the 836ac495dSmrg Free Software Foundation; either version 3, or (at your option) any 936ac495dSmrg later version. 1036ac495dSmrg 1136ac495dSmrg This file is distributed in the hope that it will be useful, but 1236ac495dSmrg WITHOUT ANY WARRANTY; without even the implied warranty of 1336ac495dSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1436ac495dSmrg General Public License for more details. 1536ac495dSmrg 1636ac495dSmrg Under Section 7 of GPL version 3, you are granted additional 1736ac495dSmrg permissions described in the GCC Runtime Library Exception, version 1836ac495dSmrg 3.1, as published by the Free Software Foundation. 1936ac495dSmrg 2036ac495dSmrg You should have received a copy of the GNU General Public License and 2136ac495dSmrg a copy of the GCC Runtime Library Exception along with this program; 2236ac495dSmrg see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2336ac495dSmrg <http://www.gnu.org/licenses/>. */ 2436ac495dSmrg 2536ac495dSmrg #ifndef LIBGCC_LM32_H 2636ac495dSmrg #define LIBGCC_LM32_H 2736ac495dSmrg 2836ac495dSmrg /* Types. */ 2936ac495dSmrg 3036ac495dSmrg typedef unsigned char UQItype __attribute__ ((mode (QI))); 3136ac495dSmrg typedef long SItype __attribute__ ((mode (SI))); 3236ac495dSmrg typedef unsigned long USItype __attribute__ ((mode (SI))); 3336ac495dSmrg 3436ac495dSmrg /* Prototypes. */ 3536ac495dSmrg 3636ac495dSmrg USItype __mulsi3 (USItype a, USItype b); 3736ac495dSmrg USItype __udivmodsi4 (USItype num, USItype den, int modwanted); 3836ac495dSmrg SItype __divsi3 (SItype a, SItype b); 3936ac495dSmrg SItype __modsi3 (SItype a, SItype b); 4036ac495dSmrg USItype __udivsi3 (USItype a, USItype b); 4136ac495dSmrg USItype __umodsi3 (USItype a, USItype b); 4236ac495dSmrg 4336ac495dSmrg #endif /* LIBGCC_LM32_H */ 44