diff options
author | jbeniston <jbeniston@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-11 16:43:06 +0000 |
---|---|---|
committer | jbeniston <jbeniston@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-11 16:43:06 +0000 |
commit | f6fe91e8f06054da7e5699deea8ed6b0b4e89534 (patch) | |
tree | cf4108b3353e1f46c1d6b52a3ce2c3d91d0e79d4 /libgcc/config/lm32/libgcc_lm32.h | |
parent | e8c62a6fff84e0d0950899c8dc95f2ded7f937f5 (diff) | |
download | gcc-f6fe91e8f06054da7e5699deea8ed6b0b4e89534.tar.gz |
gcc/
2009-11-11 Jon Beniston <jon@beniston.com>
* config.gcc: Add lm32 elf and uclinux targets.
* config/lm32: New directory.
* config/lm32/lm32.c: New file.
* config/lm32/lm32.h: New file.
* config/lm32/lm32.md: New file.
* config/lm32/lm32.opt: New file.
* config/lm32/lm32-protos.h: New file.
* config/lm32/constraints.md: New file.
* config/lm32/predicates.md: New file.
* config/lm32/sfp-machine.h: New file.
* config/lm32/t-fprules-softfp: New file.
* config/lm32/uclinux-elf.h: New file.
* doc/invoke.texi: Document lm32 options.
* doc/contrib.texi: Document lm32 porter.
* doc/install.texi: Document lm32 targets.
gcc/testsuite/
2009-11-11 Jon Beniston <jon@beniston.com>
* lib/target-supports.exp (check_profiling_available): lm32 target
doesn't support profiling.
* gcc.dg/20020312-2.c: Add lm32 support.
* g++.dg/other/packed1.C: Expect to fail on lm32.
* g++.old-deja/g++.jason/thunk3.C: Likewise.
libgcc/
2009-11-11 Jon Beniston <jon@beniston.com>
* config.host: Add lm32 targets.
* config/lm32: New directory.
* config/lm32/libgcc_lm32.h: New file.
* config/lm32/_mulsi3.c: New file.
* config/lm32/_udivmodsi4.c: New file.
* config/lm32/_divsi3.c: New file.
* config/lm32/_modsi3.c: New file.
* config/lm32/_udivsi3.c: New file.
* config/lm32/_umodsi3.c: New file.
* config/lm32/_lshrsi3.S: New file.
* config/lm32/_ashrsi3.S: New file.
* config/lm32/_ashlsi3.S: New file.
* config/lm32/crti.S: New file.
* config/lm32/crtn.S: New file.
* config/lm32/t-lm32: New file.
* config/lm32/t-elf: New file.
* config/lm32/t-uclinux: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154096 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc/config/lm32/libgcc_lm32.h')
-rw-r--r-- | libgcc/config/lm32/libgcc_lm32.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/libgcc/config/lm32/libgcc_lm32.h b/libgcc/config/lm32/libgcc_lm32.h new file mode 100644 index 00000000000..4a9a6e675f1 --- /dev/null +++ b/libgcc/config/lm32/libgcc_lm32.h @@ -0,0 +1,43 @@ +/* Integer arithmetic support for Lattice Mico32. + Contributed by Jon Beniston <jon@beniston.com> + + Copyright (C) 2009 Free Software Foundation, Inc. + + This file is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any + later version. + + This file is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef LIBGCC_LM32_H +#define LIBGCC_LM32_H + +/* Types. */ + +typedef unsigned char UQItype __attribute__ ((mode (QI))); +typedef long SItype __attribute__ ((mode (SI))); +typedef unsigned long USItype __attribute__ ((mode (SI))); + +/* Prototypes. */ + +USItype __mulsi3 (USItype a, USItype b); +USItype __udivmodsi4 (USItype num, USItype den, int modwanted); +SItype __divsi3 (SItype a, SItype b); +SItype __modsi3 (SItype a, SItype b); +USItype __udivsi3 (USItype a, USItype b); +USItype __umodsi3 (USItype a, USItype b); + +#endif /* LIBGCC_LM32_H */ |