aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/lm32/lm32-protos.h
diff options
context:
space:
mode:
authorJon Beniston <jon@beniston.com>2009-11-11 16:43:06 +0000
committerJon Beniston <jbeniston@gcc.gnu.org>2009-11-11 16:43:06 +0000
commitaa4945c138ce494613b711ede795a489bceaf62f (patch)
treecf4108b3353e1f46c1d6b52a3ce2c3d91d0e79d4 /gcc/config/lm32/lm32-protos.h
parent05d3aa37b35924bdbc3f321581716bf9c05b765b (diff)
downloadgcc-aa4945c138ce494613b711ede795a489bceaf62f.zip
gcc-aa4945c138ce494613b711ede795a489bceaf62f.tar.gz
gcc-aa4945c138ce494613b711ede795a489bceaf62f.tar.bz2
config.gcc: Add lm32 elf and uclinux targets.
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. From-SVN: r154096
Diffstat (limited to 'gcc/config/lm32/lm32-protos.h')
-rw-r--r--gcc/config/lm32/lm32-protos.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc/config/lm32/lm32-protos.h b/gcc/config/lm32/lm32-protos.h
new file mode 100644
index 0000000..70d97f0
--- /dev/null
+++ b/gcc/config/lm32/lm32-protos.h
@@ -0,0 +1,42 @@
+/* Prototypes of target machine functions, Lattice Mico32 architecture.
+ Contributed by Jon Beniston <jon@beniston.com>
+
+ Copyright (C) 2009 Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+ GCC 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.
+
+ GCC 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.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
+
+extern int lm32_return_in_memory (tree type);
+extern void lm32_declare_object (FILE *stream, char *name, char *init_string,
+ char *final_string, int size);
+extern void lm32_expand_prologue (void);
+extern void lm32_expand_epilogue (void);
+extern void lm32_print_operand (FILE *file, rtx op, int letter);
+extern void lm32_print_operand_address (FILE *file, rtx addr);
+extern rtx lm32_function_arg (CUMULATIVE_ARGS cum, enum machine_mode mode,
+ tree type, int named);
+extern void lm32_override_options (void);
+extern HOST_WIDE_INT lm32_compute_initial_elimination_offset (int from,
+ int to);
+extern int lm32_can_use_return (void);
+extern rtx lm32_return_addr_rtx (int count, rtx frame);
+extern int lm32_expand_block_move (rtx *);
+extern int nonpic_symbol_mentioned_p (rtx);
+extern rtx lm32_legitimize_pic_address (rtx, enum machine_mode, rtx);
+extern void lm32_expand_scc (rtx operands[]);
+extern void lm32_expand_conditional_branch (rtx operands[]);
+extern bool lm32_move_ok (enum machine_mode, rtx operands[2]);
+extern bool lm32_legitimate_constant_p (rtx);