OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [libgcc/] [config/] [rx/] [rx-abi.h] - Blame information for rev 481

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 272 jeremybenn
/* Header file for RX ABI versions of libgcc functions.
2
   Copyright (C) 2009
3
   Free Software Foundation, Inc.
4
   Contributed by Red Hat.
5
 
6
   This file is part of GCC.
7
 
8
   GCC is free software; you can redistribute it and/or modify it
9
   under the terms of the GNU General Public License as published
10
   by the Free Software Foundation; either version 3, or (at your
11
   option) any later version.
12
 
13
   GCC is distributed in the hope that it will be useful, but WITHOUT
14
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16
   License for more details.
17
 
18
   Under Section 7 of GPL version 3, you are granted additional
19
   permissions described in the GCC Runtime Library Exception, version
20
   3.1, as published by the Free Software Foundation.
21
 
22
   You should have received a copy of the GNU General Public License
23
   along with GCC; see the file COPYING3.  If not see
24
   <http://www.gnu.org/licenses/>.  */
25
 
26
/* Make __COM_<RX_NAME> an alias for __<GCC_NAME>.  */
27
#define RENAME_LIBRARY(GCC_NAME, RX_NAME)               \
28
  __asm__ (".globl\t__COM_" #RX_NAME "\n"               \
29
           ".set\t__COM_" #RX_NAME ", ___" #GCC_NAME "\n");
30
 
31
 
32
/* The long-long aliases...  */
33
 
34
#ifdef L_muldi3
35
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (muldi3, MUL64)
36
#endif
37
 
38
#ifdef L_divdi3
39
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (divdi3, DIV64s)
40
#endif
41
 
42
#ifdef L_udivdi3
43
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (udivdi3, DIV64u)
44
#endif
45
 
46
#ifdef L_ashldi3
47
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (ashldi3, SHLL64)
48
#endif
49
 
50
#ifdef L_lshrdi3
51
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (lshrdi3, SHLR64)
52
#endif
53
 
54
#ifdef L_ashrdi3
55
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (ashrdi3, SHAR64)
56
#endif
57
 
58
#ifdef L_fixsfdi
59
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixsfdi, CONVf64s)
60
#endif
61
 
62
#ifdef L_fixunssfdi
63
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfdi, CONVf64u)
64
#endif
65
 
66
#ifdef L_floatdisf
67
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, CONV64sf)
68
#endif
69
 
70
#ifdef L_floatundisf
71
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatundisf, CONV64uf)
72
#endif
73
 
74
#ifdef L_moddi3
75
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (moddi3, MOD64s)
76
#endif
77
 
78
#ifdef L_umoddi3
79
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (umoddi3, MOD64u)
80
#endif
81
 
82
 
83
#ifdef L_si_to_sf
84
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatsisf, CONV32sf)
85
#endif
86
 
87
#ifdef L_usi_to_sf
88
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatunsisf, CONV32uf)
89
#endif
90
 
91
 
92
 
93
#ifdef __RX_64BIT_DOUBLES__
94
 
95
/* Float (32-bit) aliases...  */
96
 
97
#ifdef L_sf_to_si
98
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixsfsi, CONVf32s)
99
#endif
100
 
101
#ifdef L_fixunssfsi
102
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfsi, CONVf32u)
103
#endif
104
 
105
#ifdef L_addsub_sf
106
#define DECLARE_LIBRARY_RENAMES \
107
  RENAME_LIBRARY (addsf3, ADDf) \
108
  RENAME_LIBRARY (subsf3, SUBf)
109
#endif
110
 
111
#ifdef L_mul_sf
112
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (mulsf3, MULf)
113
#endif
114
 
115
#ifdef L_div_sf
116
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (divsf3, DIVf)
117
#endif
118
 
119
/* Double (64-bit) aliases...  */
120
 
121
#ifdef L_addsub_df
122
#define DECLARE_LIBRARY_RENAMES \
123
  RENAME_LIBRARY (adddf3, ADDd) \
124
  RENAME_LIBRARY (subdf3, SUBd)
125
#endif
126
 
127
#ifdef L_mul_df
128
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (muldf3, MULd)
129
#endif
130
 
131
#ifdef L_div_df
132
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (divdf3, DIVd)
133
#endif
134
 
135
#ifdef L_fixdfdi
136
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixdfdi, CONVd64s)
137
#endif
138
 
139
#ifdef L_fixunsdfdi
140
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfdi, CONVd64u)
141
#endif
142
 
143
#ifdef L_floatdidf
144
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, CONV64sd)
145
#endif
146
 
147
#ifdef L_floatundidf
148
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, CONV64ud)
149
#endif
150
 
151
#ifdef L_df_to_si
152
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixdfsi, CONVd32s)
153
#endif
154
 
155
#ifdef L_fixunsdfsi
156
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfsi, CONVd32u)
157
#endif
158
 
159
#ifdef L_si_to_df
160
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatsidf, CONV32sd)
161
#endif
162
 
163
#ifdef L_usi_to_df
164
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatunsidf, CONV32ud)
165
#endif
166
 
167
#ifdef L_sf_to_df
168
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (extendsfdf2, CONVfd)
169
#endif
170
 
171
#ifdef L_df_to_sf
172
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (truncdfsf2, CONVdf)
173
#endif
174
 
175
#ifdef L_negate_df
176
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (negdf2, NEGd)
177
#endif
178
 
179
/* The 64-bit comparison functions do not have aliases because libgcc2
180
   does not provide them.  Instead they have to be supplied in
181
   rx-abi-functions.c.  */
182
 
183
 
184
#else /* 32-bit doubles.  */
185
 
186
 
187
#ifdef L_addsub_sf
188
#define DECLARE_LIBRARY_RENAMES \
189
  RENAME_LIBRARY (addsf3, ADDd) \
190
  RENAME_LIBRARY (subsf3, SUBd) \
191
  RENAME_LIBRARY (addsf3, ADDf) \
192
  RENAME_LIBRARY (subsf3, SUBf)
193
#endif
194
 
195
#ifdef L_mul_sf
196
#define DECLARE_LIBRARY_RENAMES \
197
  RENAME_LIBRARY (mulsf3, MULd) \
198
  RENAME_LIBRARY (mulsf3, MULf)
199
#endif
200
 
201
#ifdef L_div_sf
202
#define DECLARE_LIBRARY_RENAMES \
203
  RENAME_LIBRARY (divsf3, DIVd) \
204
  RENAME_LIBRARY (divsf3, DIVf)
205
#endif
206
 
207
#ifdef L_sf_to_si
208
#define DECLARE_LIBRARY_RENAMES \
209
  RENAME_LIBRARY (fixsfsi, CONVd32s) \
210
  RENAME_LIBRARY (fixsfsi, CONVf32s)
211
#endif
212
 
213
#ifdef L_fixunssfsi
214
#define DECLARE_LIBRARY_RENAMES \
215
  RENAME_LIBRARY (fixunssfsi, CONVd32u) \
216
  RENAME_LIBRARY (fixunssfsi, CONVf32u)
217
#endif
218
 
219
#ifdef L_si_to_sf
220
#define DECLARE_LIBRARY_RENAMES \
221
  RENAME_LIBRARY (floatsisf, CONV32sd) \
222
  RENAME_LIBRARY (floatsisf, CONV32sf)
223
#endif
224
 
225
#ifdef L_usi_to_sf
226
#define DECLARE_LIBRARY_RENAMES \
227
  RENAME_LIBRARY (floatunsisf, CONV32ud) \
228
  RENAME_LIBRARY (floatunsisf, CONV32uf)
229
#endif
230
 
231
#ifdef L_negate_sf
232
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (negsf2, NEGd)
233
#endif
234
 
235
#endif /* 64-bit vs 32-bit doubles.  */

powered by: WebSVN 2.1.0

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