From 4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gwenol=C3=A9=20Beauchesne?= Date: Wed, 4 Jun 2003 18:44:09 +0000 Subject: Import dietlibc 0.22 + other fixes for AMD64 --- mdk-stage1/dietlibc/i386/isleap.S | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 mdk-stage1/dietlibc/i386/isleap.S (limited to 'mdk-stage1/dietlibc/i386/isleap.S') diff --git a/mdk-stage1/dietlibc/i386/isleap.S b/mdk-stage1/dietlibc/i386/isleap.S new file mode 100644 index 000000000..28d1ee0ce --- /dev/null +++ b/mdk-stage1/dietlibc/i386/isleap.S @@ -0,0 +1,28 @@ +.text +.globl __isleap +.type __isleap,@function + +__isleap: + movl 4(%esp),%eax + testb $3,%al + jne .Lretzero +#if 1 + movb $100,%cl /* this works only for 0 a.D. ... 25599 a.C. */ + divb %cl + andb %ah,%ah +#else + cltd /* This works for 2147483648 b.C. ... 2147483647 a.C. */ + movl $100,%ecx + divl %ecx + andl %edx,%edx +#endif + jne .Lretone + testb $3,%al + jne .Lretzero +.Lretone: xorl %eax,%eax + incl %eax + ret + +.Lretzero:xorl %eax,%eax + ret + -- cgit v1.2.1