diff options
author | H. Peter Anvin (Intel) <hpa@zytor.com> | 2019-02-27 17:28:41 -0800 |
---|---|---|
committer | H. Peter Anvin (Intel) <hpa@zytor.com> | 2019-02-27 17:28:41 -0800 |
commit | d0feb1cc4f7cb43cfda94bfc57553845bcc12df7 (patch) | |
tree | f07b28288b99120c573317060d9a504b3f714e5b | |
parent | fdb3840f1de8b57a17621c3299a75db7ddcbf977 (diff) | |
download | syslinux-d0feb1cc4f7cb43cfda94bfc57553845bcc12df7.tar.gz syslinux-d0feb1cc4f7cb43cfda94bfc57553845bcc12df7.tar.xz syslinux-d0feb1cc4f7cb43cfda94bfc57553845bcc12df7.zip |
__muldi3.S: fix double pop!
One register would be popped twice - it is good that this never
actually got used anywhere (newer gcc's don't seem to need it, at
least not in most cases.)
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
-rw-r--r-- | com32/lib/i386/libgcc/__muldi3.S | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/com32/lib/i386/libgcc/__muldi3.S b/com32/lib/i386/libgcc/__muldi3.S index 80e31d43..32733007 100644 --- a/com32/lib/i386/libgcc/__muldi3.S +++ b/com32/lib/i386/libgcc/__muldi3.S @@ -11,15 +11,13 @@ __muldi3: /* i386 */ push %esi - movl 8(%esp),%ecx - movl %eax,%esi - push %edx - mull %ecx - imull 12(%esp),%esi - addl %esi,%edx - pop %esi - imull %esi,%ecx - addl %ecx,%edx + movl 8(%esp),%esi + movl 12(%esp),%ecx + imul %esi,%edx + imul %eax,%ecx + add %edx,%ecx + mul %esi pop %esi + add %ecx,%edx ret .size __muldi3,.-__muldi3 |