14fee23f9Smrg /* Integer arithmetic support for Lattice Mico32. 24fee23f9Smrg Contributed by Jon Beniston <jon@beniston.com> 34fee23f9Smrg 4*b1e83836Smrg Copyright (C) 2009-2022 Free Software Foundation, Inc. 54fee23f9Smrg 64fee23f9Smrg This file is free software; you can redistribute it and/or modify it 74fee23f9Smrg under the terms of the GNU General Public License as published by the 84fee23f9Smrg Free Software Foundation; either version 3, or (at your option) any 94fee23f9Smrg later version. 104fee23f9Smrg 114fee23f9Smrg This file is distributed in the hope that it will be useful, but 124fee23f9Smrg WITHOUT ANY WARRANTY; without even the implied warranty of 134fee23f9Smrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 144fee23f9Smrg General Public License for more details. 154fee23f9Smrg 164fee23f9Smrg Under Section 7 of GPL version 3, you are granted additional 174fee23f9Smrg permissions described in the GCC Runtime Library Exception, version 184fee23f9Smrg 3.1, as published by the Free Software Foundation. 194fee23f9Smrg 204fee23f9Smrg You should have received a copy of the GNU General Public License and 214fee23f9Smrg a copy of the GCC Runtime Library Exception along with this program; 224fee23f9Smrg see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 234fee23f9Smrg <http://www.gnu.org/licenses/>. */ 244fee23f9Smrg 254fee23f9Smrg #ifndef LIBGCC_LM32_H 264fee23f9Smrg #define LIBGCC_LM32_H 274fee23f9Smrg 284fee23f9Smrg /* Types. */ 294fee23f9Smrg 304fee23f9Smrg typedef unsigned char UQItype __attribute__ ((mode (QI))); 314fee23f9Smrg typedef long SItype __attribute__ ((mode (SI))); 324fee23f9Smrg typedef unsigned long USItype __attribute__ ((mode (SI))); 334fee23f9Smrg 344fee23f9Smrg /* Prototypes. */ 354fee23f9Smrg 364fee23f9Smrg USItype __mulsi3 (USItype a, USItype b); 374fee23f9Smrg USItype __udivmodsi4 (USItype num, USItype den, int modwanted); 384fee23f9Smrg SItype __divsi3 (SItype a, SItype b); 394fee23f9Smrg SItype __modsi3 (SItype a, SItype b); 404fee23f9Smrg USItype __udivsi3 (USItype a, USItype b); 414fee23f9Smrg USItype __umodsi3 (USItype a, USItype b); 424fee23f9Smrg 434fee23f9Smrg #endif /* LIBGCC_LM32_H */ 44