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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgcc/] [config/] [rx/] [rx-abi.h] - Blame information for rev 749

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

Line No. Rev Author Line
1 734 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
 
84
#ifdef __RX_64BIT_DOUBLES__
85
 
86
/* Float (32-bit) aliases...  */
87
 
88
#ifdef L_sf_to_si
89
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixsfsi, CONVf32s)
90
#endif
91
 
92
#ifdef L_fixunssfsi
93
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfsi, CONVf32u)
94
#endif
95
 
96
#ifdef L_addsub_sf
97
#define DECLARE_LIBRARY_RENAMES \
98
  RENAME_LIBRARY (addsf3, ADDf) \
99
  RENAME_LIBRARY (subsf3, SUBf)
100
#endif
101
 
102
#ifdef L_mul_sf
103
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (mulsf3, MULf)
104
#endif
105
 
106
#ifdef L_div_sf
107
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (divsf3, DIVf)
108
#endif
109
 
110
/* Double (64-bit) aliases...  */
111
 
112
#ifdef L_addsub_df
113
#define DECLARE_LIBRARY_RENAMES \
114
  RENAME_LIBRARY (adddf3, ADDd) \
115
  RENAME_LIBRARY (subdf3, SUBd)
116
#endif
117
 
118
#ifdef L_mul_df
119
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (muldf3, MULd)
120
#endif
121
 
122
#ifdef L_div_df
123
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (divdf3, DIVd)
124
#endif
125
 
126
#ifdef L_fixdfdi
127
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixdfdi, CONVd64s)
128
#endif
129
 
130
#ifdef L_fixunsdfdi
131
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfdi, CONVd64u)
132
#endif
133
 
134
#ifdef L_floatdidf
135
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, CONV64sd)
136
#endif
137
 
138
#ifdef L_floatundidf
139
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, CONV64ud)
140
#endif
141
 
142
#ifdef L_df_to_si
143
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixdfsi, CONVd32s)
144
#endif
145
 
146
#ifdef L_fixunsdfsi
147
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfsi, CONVd32u)
148
#endif
149
 
150
#ifdef L_si_to_df
151
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatsidf, CONV32sd)
152
#endif
153
 
154
#ifdef L_usi_to_df
155
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatunsidf, CONV32ud)
156
#endif
157
 
158
#ifdef L_sf_to_df
159
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (extendsfdf2, CONVfd)
160
#endif
161
 
162
#ifdef L_df_to_sf
163
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (truncdfsf2, CONVdf)
164
#endif
165
 
166
#ifdef L_negate_df
167
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (negdf2, NEGd)
168
#endif
169
 
170
#ifdef L_si_to_sf
171
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatsisf, CONV32sf)
172
#endif
173
 
174
#ifdef L_usi_to_sf
175
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatunsisf, CONV32uf)
176
#endif
177
 
178
/* The 64-bit comparison functions do not have aliases because libgcc2
179
   does not provide them.  Instead they have to be supplied in
180
   rx-abi-functions.c.  */
181
 
182
 
183
#else /* 32-bit doubles.  */
184
 
185
 
186
#ifdef L_addsub_sf
187
#define DECLARE_LIBRARY_RENAMES \
188
  RENAME_LIBRARY (addsf3, ADDd) \
189
  RENAME_LIBRARY (subsf3, SUBd) \
190
  RENAME_LIBRARY (addsf3, ADDf) \
191
  RENAME_LIBRARY (subsf3, SUBf)
192
#endif
193
 
194
#ifdef L_mul_sf
195
#define DECLARE_LIBRARY_RENAMES \
196
  RENAME_LIBRARY (mulsf3, MULd) \
197
  RENAME_LIBRARY (mulsf3, MULf)
198
#endif
199
 
200
#ifdef L_div_sf
201
#define DECLARE_LIBRARY_RENAMES \
202
  RENAME_LIBRARY (divsf3, DIVd) \
203
  RENAME_LIBRARY (divsf3, DIVf)
204
#endif
205
 
206
#ifdef L_sf_to_si
207
#define DECLARE_LIBRARY_RENAMES \
208
  RENAME_LIBRARY (fixsfsi, CONVd32s) \
209
  RENAME_LIBRARY (fixsfsi, CONVf32s)
210
#endif
211
 
212
#ifdef L_fixunssfsi
213
#define DECLARE_LIBRARY_RENAMES \
214
  RENAME_LIBRARY (fixunssfsi, CONVd32u) \
215
  RENAME_LIBRARY (fixunssfsi, CONVf32u)
216
#endif
217
 
218
#ifdef L_si_to_sf
219
#define DECLARE_LIBRARY_RENAMES \
220
  RENAME_LIBRARY (floatsisf, CONV32sd) \
221
  RENAME_LIBRARY (floatsisf, CONV32sf)
222
#endif
223
 
224
#ifdef L_usi_to_sf
225
#define DECLARE_LIBRARY_RENAMES \
226
  RENAME_LIBRARY (floatunsisf, CONV32ud) \
227
  RENAME_LIBRARY (floatunsisf, CONV32uf)
228
#endif
229
 
230
#ifdef L_negate_sf
231
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (negsf2, NEGd)
232
#endif
233
 
234
#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.