Chameleon

Chameleon Svn Source Tree

Root/branches/meklort/i386/modules/klibc/__lshrdi3.c

Source at commit 728 created 13 years 3 months ago.
By meklort, Updated Symbols.dylib generation. Module linked list rework beginning. USB Legacy off patch still needs fixing. Added a new tool to generate the symbols.dylib. It's a fairly correct dylib file, however nm complains about it (it still works fine though). Updated Symbols.dylib file is smaller (~13%) that the old method and is a bit cleaner. dylib generation needs a bit of cleaning up though)
1/*
2 * libgcc/__lshrdi3.c
3 */
4
5#include <stdint.h>
6#include <stddef.h>
7
8uint64_t __lshrdi3(uint64_t v, int cnt)
9{
10int c = cnt & 31;
11uint32_t vl = (uint32_t) v;
12uint32_t vh = (uint32_t) (v >> 32);
13
14if (cnt & 32) {
15vl = (vh >> c);
16vh = 0;
17} else {
18vl = (vl >> c) + (vh << (32 - c));
19vh = (vh >> c);
20}
21
22return ((uint64_t) vh << 32) + vl;
23}
24

Archive Download this file

Revision: 728