1 /* Header file for C6X ABI versions of libgcc functions.
2 Copyright (C) 2011-2017 Free Software Foundation, Inc.
3 Contributed by Bernd Schmidt <bernds@codesourcery.com>
5 This file is part of GCC.
7 GCC is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published
9 by the Free Software Foundation; either version 3, or (at your
10 option) any later version.
12 GCC is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
17 Under Section 7 of GPL version 3, you are granted additional
18 permissions described in the GCC Runtime Library Exception, version
19 3.1, as published by the Free Software Foundation.
21 You should have received a copy of the GNU General Public License
22 along with GCC; see the file COPYING3. If not see
23 <http://www.gnu.org/licenses/>. */
25 /* Make __c6xabi_AEABI_NAME an alias for __GCC_NAME. */
26 #define RENAME_LIBRARY(GCC_NAME, AEABI_NAME) \
27 __asm__ (".globl\t__c6xabi_" #AEABI_NAME "\n" \
28 ".set\t__c6xabi_" #AEABI_NAME \
29 ", __gnu_" #GCC_NAME "\n");
31 /* Rename helper functions to the names specified in the C6000 ELF ABI. */
33 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (divsi3, divi)
36 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (divdi3, divlli)
39 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (udivsi3, divu)
42 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (udivdi3, divull)
45 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (udivmoddi4, divremull)
48 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (modsi3, remi)
51 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (moddi3, remlli)
54 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (umodsi3, remu)
57 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (umoddi3, remull)
60 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (negdi2, negll)
63 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (muldi3, mpyll)
66 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (ashrdi3, llshr)
69 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (lshrdi3, llshru)
72 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (ashldi3, llshl)
75 /* The following are excluded from softfp due to softfp_exclude_libgcc2,
76 so we rename them here rather than in sfp-machine.h. */
78 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixdfdi, fixdlli)
81 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfsi, fixdu)
84 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfdi, fixdull)
87 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixsfdi, fixflli)
90 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfsi, fixfu)
93 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfdi, fixfull)
96 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdidf, fltllid)
99 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatundidf, fltulld)
102 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, fltllif)
105 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatundisf, fltullf)
108 #define LIBGCC2_GNU_PREFIX