diff options
Diffstat (limited to 'contrib/syslinux-4.02/com32/lib/libgcc/__ashrdi3.S')
-rw-r--r-- | contrib/syslinux-4.02/com32/lib/libgcc/__ashrdi3.S | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/com32/lib/libgcc/__ashrdi3.S b/contrib/syslinux-4.02/com32/lib/libgcc/__ashrdi3.S new file mode 100644 index 0000000..3f9c520 --- /dev/null +++ b/contrib/syslinux-4.02/com32/lib/libgcc/__ashrdi3.S @@ -0,0 +1,29 @@ +/* + * arch/i386/libgcc/__ashrdi3.S + * + * 64-bit sar + */ + .text + .align 4 + .globl __ashrdi3 + .type __ashrdi3,@function +__ashrdi3: +#ifndef REGPARM + movl 4(%esp),%eax + movl 8(%esp),%edx + movb 12(%esp),%cl +#endif + cmpb $32,%cl + jae 1f + + shrdl %cl,%edx,%eax + sarl %cl,%edx + ret + +1: + sarl %cl,%edx + movl %edx,%eax + cdq + ret + + .size __ashrdi3,.-__ashrdi3 |