123456789101112131415161718 |
- intrinsics! {
- // Implementation from gcc
- // https://raw.githubusercontent.com/gcc-mirror/gcc/master/libgcc/config/epiphany/mulsi3.c
- pub extern "C" fn __mulsi3(a: u32, b: u32) -> u32 {
- let (mut a, mut b) = (a, b);
- let mut r: usize = 0;
- while a > 0 {
- if a & 1 > 0 {
- r += b;
- }
- a >>= 1;
- b <<= 1;
- }
- r
- }
- }
|