summaryrefslogtreecommitdiff
path: root/lib/i386/muldi3.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/i386/muldi3.S')
-rw-r--r--lib/i386/muldi3.S29
1 files changed, 0 insertions, 29 deletions
diff --git a/lib/i386/muldi3.S b/lib/i386/muldi3.S
deleted file mode 100644
index e56a3553bd31c..0000000000000
--- a/lib/i386/muldi3.S
+++ /dev/null
@@ -1,29 +0,0 @@
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-
-#include "../assembly.h"
-
-// di_int __muldi3(di_int a, di_int b);
-
-#ifdef __i386__
-
-.text
-.align 4
-DEFINE_COMPILERRT_FUNCTION(__muldi3)
- pushl %ebx
- movl 16(%esp), %eax // b.lo
- movl 12(%esp), %ecx // a.hi
- imull %eax, %ecx // b.lo * a.hi
-
- movl 8(%esp), %edx // a.lo
- movl 20(%esp), %ebx // b.hi
- imull %edx, %ebx // a.lo * b.hi
-
- mull %edx // EDX:EAX = a.lo * b.lo
- addl %ecx, %ebx // EBX = (a.lo*b.hi + a.hi*b.lo)
- addl %ebx, %edx
-
- popl %ebx
- retl
-
-#endif // __i386__