File tree Expand file tree Collapse file tree 1 file changed +48
-44
lines changed Expand file tree Collapse file tree 1 file changed +48
-44
lines changed Original file line number Diff line number Diff line change @@ -235,59 +235,63 @@ pub unsafe extern "aapcs" fn __aeabi_memclr8(dest: *mut u8, n: usize) {
235
235
}
236
236
237
237
#[ no_mangle]
238
- #[ cfg( any( target_pointer_width = "16" , target_pointer_width = "32" , target_pointer_width = "64" ) ) ]
238
+ #[ cfg( any(
239
+ target_pointer_width = "16" ,
240
+ target_pointer_width = "32" ,
241
+ target_pointer_width = "64"
242
+ ) ) ]
239
243
pub extern "C" fn __clzsi2 ( mut x : usize ) -> usize {
240
- // TODO: const this? Requires const if
241
- let mut y: usize ;
242
- let mut n: usize = {
244
+ // TODO: const this? Requires const if
245
+ let mut y: usize ;
246
+ let mut n: usize = {
247
+ #[ cfg( target_pointer_width = "64" ) ]
248
+ {
249
+ 64
250
+ }
251
+ #[ cfg( target_pointer_width = "32" ) ]
252
+ {
253
+ 32
254
+ }
255
+ #[ cfg( target_pointer_width = "16" ) ]
256
+ {
257
+ 16
258
+ }
259
+ } ;
243
260
#[ cfg( target_pointer_width = "64" ) ]
244
261
{
245
- 64
262
+ y = x >> 32 ;
263
+ if y != 0 {
264
+ n -= 32 ;
265
+ x = y;
266
+ }
246
267
}
247
- #[ cfg( target_pointer_width = "32" ) ]
268
+ #[ cfg( any ( target_pointer_width = "32" , target_pointer_width = "64" ) ) ]
248
269
{
249
- 32
270
+ y = x >> 16 ;
271
+ if y != 0 {
272
+ n -= 16 ;
273
+ x = y;
274
+ }
250
275
}
251
- #[ cfg( target_pointer_width = "16" ) ]
252
- {
253
- 16
276
+ y = x >> 8 ;
277
+ if y != 0 {
278
+ n -= 8 ;
279
+ x = y;
280
+ }
281
+ y = x >> 4 ;
282
+ if y != 0 {
283
+ n -= 4 ;
284
+ x = y;
254
285
}
255
- } ;
256
- #[ cfg( target_pointer_width = "64" ) ]
257
- {
258
- y = x >> 32 ;
286
+ y = x >> 2 ;
259
287
if y != 0 {
260
- n -= 32 ;
261
- x = y;
288
+ n -= 2 ;
289
+ x = y;
262
290
}
263
- }
264
- #[ cfg( any( target_pointer_width = "32" , target_pointer_width = "64" ) ) ]
265
- {
266
- y = x >> 16 ;
291
+ y = x >> 1 ;
267
292
if y != 0 {
268
- n -= 16 ;
269
- x = y;
293
+ n - 2
294
+ } else {
295
+ n - x
270
296
}
271
- }
272
- y = x >> 8 ;
273
- if y != 0 {
274
- n -= 8 ;
275
- x = y;
276
- }
277
- y = x >> 4 ;
278
- if y != 0 {
279
- n -= 4 ;
280
- x = y;
281
- }
282
- y = x >> 2 ;
283
- if y != 0 {
284
- n -= 2 ;
285
- x = y;
286
- }
287
- y = x >> 1 ;
288
- if y != 0 {
289
- n - 2
290
- } else {
291
- n - x
292
- }
293
297
}
You can’t perform that action at this time.
0 commit comments