OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [config/] [frv/] [frv-abi.h] - Diff between revs 282 and 338

Only display areas with differences | Details | Blame | View Log

Rev 282 Rev 338
/* Frv map GCC names to FR-V ABI.
/* Frv map GCC names to FR-V ABI.
   Copyright (C) 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
   Copyright (C) 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
   Contributed by Red Hat, Inc.
   Contributed by Red Hat, Inc.
 
 
This file is part of GCC.
This file is part of GCC.
 
 
GCC is free software; you can redistribute it and/or modify
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
any later version.
 
 
GCC is distributed in the hope that it will be useful,
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
GNU General Public License for more details.
 
 
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.  */
<http://www.gnu.org/licenses/>.  */
 
 
/* For each of the functions in the library that has a corresponding name in
/* For each of the functions in the library that has a corresponding name in
   the ABI, add an equivalence between the GCC name and the ABI name.  This is
   the ABI, add an equivalence between the GCC name and the ABI name.  This is
   in a separate file from frv.h so that fp-bit.c can be made to include it.  */
   in a separate file from frv.h so that fp-bit.c can be made to include it.  */
 
 
#ifdef __GNUC__
#ifdef __GNUC__
#ifdef __FRV_UNDERSCORE__
#ifdef __FRV_UNDERSCORE__
#define RENAME_LIBRARY(OLD,NEW)                                         \
#define RENAME_LIBRARY(OLD,NEW)                                         \
__asm__ (".globl\t_" #NEW "\n"                                          \
__asm__ (".globl\t_" #NEW "\n"                                          \
         "_" #NEW "=_" #OLD "\n"                                        \
         "_" #NEW "=_" #OLD "\n"                                        \
         "\t.type\t_" #NEW ",@function\n");
         "\t.type\t_" #NEW ",@function\n");
 
 
#else
#else
#define RENAME_LIBRARY(OLD,NEW)                                         \
#define RENAME_LIBRARY(OLD,NEW)                                         \
__asm__ (".globl\t" #NEW "\n"                                           \
__asm__ (".globl\t" #NEW "\n"                                           \
         #NEW "=" #OLD "\n"                                             \
         #NEW "=" #OLD "\n"                                             \
         "\t.type\t" #NEW ",@function\n");
         "\t.type\t" #NEW ",@function\n");
#endif
#endif
 
 
#define CREATE_DOUBLE_SHIFT(OLD,NEW)                                    \
#define CREATE_DOUBLE_SHIFT(OLD,NEW)                                    \
__asm__ (".text\n"                                                      \
__asm__ (".text\n"                                                      \
         "\t.globl\t" #NEW "\n"                                         \
         "\t.globl\t" #NEW "\n"                                         \
         "\t.type\t" #NEW ",@function\n"                                \
         "\t.type\t" #NEW ",@function\n"                                \
         #NEW ":\n"                                                     \
         #NEW ":\n"                                                     \
         "\tor\tgr11, gr0, gr10\n"                                      \
         "\tor\tgr11, gr0, gr10\n"                                      \
         ".L" #OLD " = " #OLD "\n"                                      \
         ".L" #OLD " = " #OLD "\n"                                      \
         "\tbra\t.L" #OLD "\n");
         "\tbra\t.L" #OLD "\n");
 
 
#ifdef L_sf_to_df
#ifdef L_sf_to_df
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__extendsfdf2,__ftod)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__extendsfdf2,__ftod)
#endif
#endif
 
 
#ifdef L_sf_to_si
#ifdef L_sf_to_si
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixsfsi,__ftoi)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixsfsi,__ftoi)
#endif
#endif
 
 
#ifdef L_sf_to_usi
#ifdef L_sf_to_usi
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunssfsi,__ftoui)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunssfsi,__ftoui)
#endif
#endif
 
 
#ifdef L_df_to_si
#ifdef L_df_to_si
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixdfsi,__dtoi)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixdfsi,__dtoi)
#endif
#endif
 
 
#ifdef L_fixunssfsi
#ifdef L_fixunssfsi
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunssfsi,__ftoui)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunssfsi,__ftoui)
#endif
#endif
 
 
#ifdef L_fixunsdfsi
#ifdef L_fixunsdfsi
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunsdfsi,__dtoui)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunsdfsi,__dtoui)
#endif
#endif
 
 
#ifdef L_fixsfdi
#ifdef L_fixsfdi
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixsfdi,__ftoll)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixsfdi,__ftoll)
#endif
#endif
 
 
#ifdef L_fixdfdi
#ifdef L_fixdfdi
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixdfdi,__dtoll)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixdfdi,__dtoll)
#endif
#endif
 
 
#ifdef L_fixunssfdi
#ifdef L_fixunssfdi
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunssfdi,__ftoull)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunssfdi,__ftoull)
#endif
#endif
 
 
#ifdef L_fixunsdfdi
#ifdef L_fixunsdfdi
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunsdfdi,__dtoull)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__fixunsdfdi,__dtoull)
#endif
#endif
 
 
#ifdef L_si_to_sf
#ifdef L_si_to_sf
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatsisf,__itof)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatsisf,__itof)
#endif
#endif
 
 
#ifdef L_di_to_sf
#ifdef L_di_to_sf
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatdisf,__lltof)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatdisf,__lltof)
#endif
#endif
 
 
#ifdef L_df_to_sf
#ifdef L_df_to_sf
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__truncdfsf2,__dtof)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__truncdfsf2,__dtof)
#endif
#endif
 
 
#ifdef L_si_to_df
#ifdef L_si_to_df
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatsidf,__itod)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatsidf,__itod)
#endif
#endif
 
 
#ifdef L_floatdisf
#ifdef L_floatdisf
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatdisf,__lltof)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatdisf,__lltof)
#endif
#endif
 
 
#ifdef L_floatdidf
#ifdef L_floatdidf
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatdidf,__lltod)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__floatdidf,__lltod)
#endif
#endif
 
 
#ifdef L_addsub_df
#ifdef L_addsub_df
#define DECLARE_LIBRARY_RENAMES \
#define DECLARE_LIBRARY_RENAMES \
        RENAME_LIBRARY(__adddf3,__addd)
        RENAME_LIBRARY(__adddf3,__addd)
        RENAME_LIBRARY(__subdf3,__subd)
        RENAME_LIBRARY(__subdf3,__subd)
#endif
#endif
 
 
#ifdef L_mul_df
#ifdef L_mul_df
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__muldf3,__muld)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__muldf3,__muld)
#endif
#endif
 
 
#ifdef L_div_df
#ifdef L_div_df
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__divdf3,__divd)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__divdf3,__divd)
#endif
#endif
 
 
#ifdef L_addsub_sf
#ifdef L_addsub_sf
#define DECLARE_LIBRARY_RENAMES \
#define DECLARE_LIBRARY_RENAMES \
        RENAME_LIBRARY(__addsf3,__addf) \
        RENAME_LIBRARY(__addsf3,__addf) \
        RENAME_LIBRARY(__subsf3,__subf)
        RENAME_LIBRARY(__subsf3,__subf)
#endif
#endif
 
 
#ifdef L_mul_sf
#ifdef L_mul_sf
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__mulsf3,__mulf)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__mulsf3,__mulf)
#endif
#endif
 
 
#ifdef L_div_sf
#ifdef L_div_sf
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__divsf3,__divf)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__divsf3,__divf)
#endif
#endif
 
 
#ifdef L_ashldi3
#ifdef L_ashldi3
#define DECLARE_LIBRARY_RENAMES CREATE_DOUBLE_SHIFT (__ashldi3,__sllll)
#define DECLARE_LIBRARY_RENAMES CREATE_DOUBLE_SHIFT (__ashldi3,__sllll)
#endif
#endif
 
 
#ifdef L_lshrdi3
#ifdef L_lshrdi3
#define DECLARE_LIBRARY_RENAMES CREATE_DOUBLE_SHIFT (__lshrdi3,__srlll)
#define DECLARE_LIBRARY_RENAMES CREATE_DOUBLE_SHIFT (__lshrdi3,__srlll)
#endif
#endif
 
 
#ifdef L_ashrdi3
#ifdef L_ashrdi3
#define DECLARE_LIBRARY_RENAMES CREATE_DOUBLE_SHIFT (__ashrdi3,__srall)
#define DECLARE_LIBRARY_RENAMES CREATE_DOUBLE_SHIFT (__ashrdi3,__srall)
#endif
#endif
 
 
#ifdef L_adddi3
#ifdef L_adddi3
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__adddi3,__addll)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__adddi3,__addll)
#endif
#endif
 
 
#ifdef L_subdi3
#ifdef L_subdi3
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__subdi3,__subll)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__subdi3,__subll)
#endif
#endif
 
 
#ifdef L_muldi3
#ifdef L_muldi3
#define DECLARE_LIBRARY_RENAMES \
#define DECLARE_LIBRARY_RENAMES \
        RENAME_LIBRARY(__muldi3,__mulll)
        RENAME_LIBRARY(__muldi3,__mulll)
        RENAME_LIBRARY(__muldi3,__umulll)
        RENAME_LIBRARY(__muldi3,__umulll)
#endif
#endif
 
 
#ifdef L_divdi3
#ifdef L_divdi3
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__divdi3,__divll)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__divdi3,__divll)
#endif
#endif
 
 
#ifdef L_udivdi3
#ifdef L_udivdi3
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__udivdi3,__udivll)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__udivdi3,__udivll)
#endif
#endif
 
 
#ifdef L_moddi3
#ifdef L_moddi3
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__moddi3,__modll)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__moddi3,__modll)
#endif
#endif
 
 
#ifdef L_umoddi3
#ifdef L_umoddi3
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__umoddi3,__umodll)
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY(__umoddi3,__umodll)
#endif
#endif
#endif /* __GNUC__ */
#endif /* __GNUC__ */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.