@@ -67,85 +67,71 @@ pub extern "rust-intrinsic" {
67
67
68
68
#[ nolink]
69
69
pub extern mod llvm {
70
- #[ nomangle]
71
70
#[ rust_stack]
72
71
#[ inline( always) ]
73
72
#[ link_name="llvm.sqrt.f32" ]
74
73
pub fn sqrtf32 ( x : f32 ) -> f32 ;
75
74
76
- #[ nomangle]
77
75
#[ rust_stack]
78
76
#[ inline( always) ]
79
77
#[ link_name="llvm.sqrt.f64" ]
80
78
pub fn sqrtf64 ( x : f64 ) -> f64 ;
81
79
82
- #[ nomangle]
83
80
#[ rust_stack]
84
81
#[ inline( always) ]
85
82
#[ link_name="llvm.powi.f32" ]
86
83
pub fn powif32 ( a : f32 , x : i32 ) -> f32 ;
87
84
88
- #[ nomangle]
89
85
#[ rust_stack]
90
86
#[ inline( always) ]
91
87
#[ link_name="llvm.powi.f64" ]
92
88
pub fn powif64 ( a : f64 , x : i32 ) -> f64 ;
93
89
94
- #[ nomangle]
95
90
#[ rust_stack]
96
91
#[ inline( always) ]
97
92
#[ link_name="llvm.sin.f32" ]
98
93
pub fn sinf32 ( x : f32 ) -> f32 ;
99
94
100
- #[ nomangle]
101
95
#[ rust_stack]
102
96
#[ inline( always) ]
103
97
#[ link_name="llvm.sin.f64" ]
104
98
pub fn sinf64 ( x : f64 ) -> f64 ;
105
99
106
- #[ nomangle]
107
100
#[ rust_stack]
108
101
#[ inline( always) ]
109
102
#[ link_name="llvm.cos.f32" ]
110
103
pub fn cosf32 ( x : f32 ) -> f32 ;
111
104
112
- #[ nomangle]
113
105
#[ rust_stack]
114
106
#[ inline( always) ]
115
107
#[ link_name="llvm.cos.f64" ]
116
108
pub fn cosf64 ( x : f64 ) -> f64 ;
117
109
118
- #[ nomangle]
119
110
#[ rust_stack]
120
111
#[ inline( always) ]
121
112
#[ link_name="llvm.pow.f32" ]
122
113
pub fn powf32 ( a : f32 , x : f32 ) -> f32 ;
123
114
124
- #[ nomangle]
125
115
#[ rust_stack]
126
116
#[ inline( always) ]
127
117
#[ link_name="llvm.pow.f64" ]
128
118
pub fn powf64 ( a : f64 , x : f64 ) -> f64 ;
129
119
130
- #[ nomangle]
131
120
#[ rust_stack]
132
121
#[ inline( always) ]
133
122
#[ link_name="llvm.exp.f32" ]
134
123
pub fn expf32 ( x : f32 ) -> f32 ;
135
124
136
- #[ nomangle]
137
125
#[ rust_stack]
138
126
#[ inline( always) ]
139
127
#[ link_name="llvm.exp.f64" ]
140
128
pub fn expf64 ( x : f64 ) -> f64 ;
141
129
142
- #[ nomangle]
143
130
#[ rust_stack]
144
131
#[ inline( always) ]
145
132
#[ link_name="llvm.log.f32" ]
146
133
pub fn logf32 ( x : f32 ) -> f32 ;
147
134
148
- #[ nomangle]
149
135
#[ rust_stack]
150
136
#[ inline( always) ]
151
137
#[ link_name="llvm.log.f64" ]
@@ -155,159 +141,133 @@ pub extern mod llvm {
155
141
pub fn exp2f32(x: f32) -> f32;
156
142
pub fn exp2f64(x: f64) -> f64;
157
143
158
-
159
144
pub fn log10f32(x: f32) -> f32;
160
145
pub fn log10f64(x: f64) -> f64;
161
146
162
147
pub fn log2f32(x: f32) -> f32;
163
148
pub fn log2f64(x: f64) -> f64;
164
149
*/
165
150
166
- #[ nomangle]
167
151
#[ rust_stack]
168
152
#[ inline( always) ]
169
153
#[ link_name="llvm.fma.f32" ]
170
154
pub fn fmaf32 ( a : f32 , b : f32 , c : f32 ) -> f32 ;
171
155
172
- #[ nomangle]
173
156
#[ rust_stack]
174
157
#[ inline( always) ]
175
158
#[ link_name="llvm.fma.f64" ]
176
159
pub fn fmaf64 ( a : f64 , b : f64 , c : f64 ) -> f64 ;
177
160
178
- #[ nomangle]
179
161
#[ rust_stack]
180
162
#[ inline( always) ]
181
163
#[ link_name="llvm.fabs.f32" ]
182
164
pub fn fabsf32 ( x : f32 ) -> f32 ;
183
165
184
- #[ nomangle]
185
166
#[ rust_stack]
186
167
#[ inline( always) ]
187
168
#[ link_name="llvm.fabs.f64" ]
188
169
pub fn fabsf64 ( x : f64 ) -> f64 ;
189
170
190
- #[ nomangle]
191
171
#[ rust_stack]
192
172
#[ inline( always) ]
193
173
#[ link_name="llvm.floor.f32" ]
194
174
pub fn floorf32 ( x : f32 ) -> f32 ;
195
175
196
- #[ nomangle]
197
176
#[ rust_stack]
198
177
#[ inline( always) ]
199
178
#[ link_name="llvm.floor.f64" ]
200
179
pub fn floorf64 ( x : f64 ) -> f64 ;
201
180
202
181
/* NOTE: Needs LLVM 3.3
203
- #[nomangle]
204
182
#[rust_stack]
205
183
#[link_name="llvm.ceil.f32"]
206
184
pub fn ceilf32(x: f32) -> f32;
207
185
208
- #[nomangle]
209
186
#[rust_stack]
210
187
#[link_name="llvm.ceil.f64"]
211
188
pub fn ceilf64(x: f64) -> f64;
212
189
213
- #[nomangle]
214
190
#[rust_stack]
215
191
#[link_name="llvm.trunc.f32"]
216
192
pub fn truncf32(x: f32) -> f32;
217
193
218
- #[nomangle]
219
194
#[rust_stack]
220
195
#[link_name="llvm.trunc.f64"]
221
196
pub fn truncf64(x: f64) -> f64;
222
197
*/
223
198
224
- #[ nomangle]
225
199
#[ rust_stack]
226
200
#[ inline( always) ]
227
201
#[ link_name="llvm.ctpop.i8" ]
228
202
pub fn ctpop8 ( x : i8 ) -> i8 ;
229
203
230
- #[ nomangle]
231
204
#[ rust_stack]
232
205
#[ inline( always) ]
233
206
#[ link_name="llvm.ctpop.i16" ]
234
207
pub fn ctpop16 ( x : i16 ) -> i16 ;
235
208
236
- #[ nomangle]
237
209
#[ rust_stack]
238
210
#[ inline( always) ]
239
211
#[ link_name="llvm.ctpop.i32" ]
240
212
pub fn ctpop32 ( x : i32 ) -> i32 ;
241
213
242
- #[ nomangle]
243
214
#[ rust_stack]
244
215
#[ inline( always) ]
245
216
#[ link_name="llvm.ctpop.i64" ]
246
217
pub fn ctpop64 ( x : i64 ) -> i64 ;
247
218
248
- /* NOTE: Needs bool constants
249
- #[nomangle]
219
+ /* NOTE: Needs i1 constants
250
220
#[rust_stack]
251
221
#[inline(always)]
252
222
#[link_name="llvm.ctlz.i8"]
253
223
pub fn ctlz8(x: i8, is_zero_undef: bool) -> i8;
254
224
255
- #[nomangle]
256
225
#[rust_stack]
257
226
#[inline(always)]
258
227
#[link_name="llvm.ctlz.i16"]
259
228
pub fn ctlz16(x: i16, is_zero_undef: bool) -> i16;
260
229
261
- #[nomangle]
262
230
#[rust_stack]
263
231
#[inline(always)]
264
232
#[link_name="llvm.ctlz.i32"]
265
233
pub fn ctlz32(x: i32, is_zero_undef: bool) -> i32;
266
234
267
- #[nomangle]
268
235
#[rust_stack]
269
236
#[inline(always)]
270
237
#[link_name="llvm.ctlz.i64"]
271
238
pub fn ctlz64(x: i64, is_zero_undef: bool) -> i64;
272
239
273
- #[nomangle]
274
240
#[rust_stack]
275
241
#[inline(always)]
276
242
#[link_name="llvm.cttz.i8"]
277
243
pub fn cttz8(x: i8, is_zero_undef: bool) -> i8;
278
244
279
- #[nomangle]
280
245
#[rust_stack]
281
246
#[inline(always)]
282
247
#[link_name="llvm.cttz.i16"]
283
248
pub fn cttz16(x: i16, is_zero_undef: bool) -> i16;
284
249
285
- #[nomangle]
286
250
#[rust_stack]
287
251
#[inline(always)]
288
252
#[link_name="llvm.cttz.i32"]
289
253
pub fn cttz32(x: i32, is_zero_undef: bool) -> i32;
290
254
291
- #[nomangle]
292
255
#[rust_stack]
293
256
#[inline(always)]
294
257
#[link_name="llvm.cttz.i64"]
295
258
pub fn cttz64(x: i64, is_zero_undef: bool) -> i64;
296
259
*/
297
260
298
- #[ nomangle]
299
261
#[ rust_stack]
300
262
#[ inline( always) ]
301
263
#[ link_name="llvm.bswap.i16" ]
302
264
pub fn bswap16 ( x : i16 ) -> i16 ;
303
265
304
- #[ nomangle]
305
266
#[ rust_stack]
306
267
#[ inline( always) ]
307
268
#[ link_name="llvm.bswap.i32" ]
308
269
pub fn bswap32 ( x : i32 ) -> i32 ;
309
270
310
- #[ nomangle]
311
271
#[ rust_stack]
312
272
#[ inline( always) ]
313
273
#[ link_name="llvm.bswap.i64" ]
0 commit comments