diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2011-11-05 20:48:23 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2011-11-05 20:48:23 +0000 |
commit | feeeff5cfe8c282a769346285fee4f7b6deac64d (patch) | |
tree | 401d26da68f08d999dcb20c50e0d8c174247b88a /libgcc/config/epiphany/epiphany-asm.h | |
parent | 12ca92d4f0ffdb6c6189da32ce44c87d4dc33ddc (diff) | |
download | gcc-feeeff5cfe8c282a769346285fee4f7b6deac64d.tar.gz |
config.gcc (epiphany-*-*): New architecture.
gcc:
* config.gcc (epiphany-*-*): New architecture.
(epiphany-*-elf): New configuration.
* config/epiphany, common/config/epiphany : New directories.
* doc/extend.texi (disinterrupt attribute): Add Epiphany.
(interrupt attribute): Add Epiphany.
(long_call, short_call attribute): Add Epiphany.
* doc/invoke.texi (Options): Add Epiphany options.
* doc/md.texi (Machine Constraints): Add Epiphany constraints.
* doc/install.texi (Options specification):
Add --with-stack-offset=@var{num} description.
(host/target specific issues): Add epiphany-*-elf.
* doc/contrib.texi (Contributors): Mention Epiphany port.
gcc/testsuite:
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
Disable test on Epiphany.
* gcc.c-torture/execute/20101011-1.c: Disable test on Epiphany.
* gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
* gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
* g++.dg/parse/pragma3.C: Likewise.
* stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
(bar): Use it.
* gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
* gcc.dg/tls/thr-cse-1.c: Likewise.
* g++.dg/opt/devirt2.C: Likewise.
* gcc.dg/20020312-2.c [epiphany-*-*] (PIC_REG): Define.
* gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
* gcc.target/epiphany: New directory.
libgcc:
* config.host (epiphany-*-elf*): New configuration.
* config/epiphany: New Directory.
contrib:
* contrib-list.mk: Add Epiphany configurations.
From-SVN: r181016
Diffstat (limited to 'libgcc/config/epiphany/epiphany-asm.h')
-rw-r--r-- | libgcc/config/epiphany/epiphany-asm.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libgcc/config/epiphany/epiphany-asm.h b/libgcc/config/epiphany/epiphany-asm.h new file mode 100644 index 00000000000..e86f7efd894 --- /dev/null +++ b/libgcc/config/epiphany/epiphany-asm.h @@ -0,0 +1,53 @@ +/* Copyright (C) 1995, 1997, 2007, 2008, 2009, 2011 + Free Software Foundation, Inc. + Contributed by Embecosm on behalf of Adapteva, 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. + +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/>. */ + +/* ANSI concatenation macros. */ + +#define CONCAT1(a, b) CONCAT2(a, b) +#define CONCAT2(a, b) a ## b +#define STRINGIFY2(a, b) STRINGIFY(a##b) +#define STRINGIFY(a) #a + +/* Use the right prefix for global labels. */ + +#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) + +#define FSTAB(X,T) .stabs STRINGIFY2(X##:F,T),36,0,__LINE__,SYM(X) +#define FUNC(X) .type SYM(X),@function +#define HIDDEN_FUNC(X) FUNC(X)` .hidden SYM(X) +#define ENDFUNC0(X) CONCAT1(.Lfe_,X): .size X,CONCAT1(.Lfe_,X)-X +#define ENDFUNC(X) ENDFUNC0(SYM(X)) + +#define TMP0 r12 +#define TMP1 r16 +#define TMP2 r17 +#define TMP3 r18 +#define TMP4 r19 +#define TMP5 r20 + +#define T_INT (0,1) + .stabs "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,1,0 +#define T_UINT (0,2) + .stabs "unsigned int:t(0,2)=r(0,2);0;037777777777;",128,0,1,0 |