summaryrefslogtreecommitdiff
path: root/lzo/asm/i386/src/lzo1f_d.ash
diff options
context:
space:
mode:
Diffstat (limited to 'lzo/asm/i386/src/lzo1f_d.ash')
-rw-r--r--lzo/asm/i386/src/lzo1f_d.ash179
1 files changed, 0 insertions, 179 deletions
diff --git a/lzo/asm/i386/src/lzo1f_d.ash b/lzo/asm/i386/src/lzo1f_d.ash
deleted file mode 100644
index 97a103c0..00000000
--- a/lzo/asm/i386/src/lzo1f_d.ash
+++ /dev/null
@@ -1,179 +0,0 @@
-/* lzo1f_d.ash -- assembler implementation of the LZO1F decompression algorithm
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-/***********************************************************************
-//
-************************************************************************/
-
- ALIGN3
-.L0:
- xorl %eax,%eax
- movb (%esi),%al
- incl %esi
- cmpb $31,%al
- ja .LM2
-
- orb %al,%al
- movl %eax,%ecx
- jnz .L2
-1:
- LODSB
- orb %al,%al
- jnz 2f
- addl N_255,%ecx
- jmp 1b
-2:
- lea 31(%eax,%ecx),%ecx
-.L2:
- TEST_OP((%edi,%ecx),%ebx)
- TEST_IP((%esi,%ecx),%ebx)
- movb %cl,%al
- shrl $2,%ecx
- rep
- movsl
- andb $3,%al
- jz 1f
- movl (%esi),%ebx
- addl %eax,%esi
- movl %ebx,(%edi)
- addl %eax,%edi
-1:
- movb (%esi),%al
- incl %esi
-.LM1:
- cmpb $31,%al
- jbe .LM21
-
-.LM2:
- cmpb $223,%al
- ja .LM3
-
- movl %eax,%ecx
- shrl $2,%eax
- lea -1(%edi),%edx
- andb $7,%al
- shrl $5,%ecx
- movl %eax,%ebx
-
- movb (%esi),%al
- leal (%ebx,%eax,8),%eax
- incl %esi
-.LM5:
- subl %eax,%edx
- addl $2,%ecx
- xchgl %edx,%esi
- TEST_LOOKBEHIND(%esi)
- TEST_OP((%edi,%ecx),%ebx)
- cmpl $6,%ecx
- jb 1f
- cmpl $4,%eax
- jb 1f
- movb %cl,%al
- shrl $2,%ecx
- rep
- movsl
- andb $3,%al
- movb %al,%cl
-1:
- rep
- movsb
- movl %edx,%esi
-.LN1:
- movb -2(%esi),%cl
- andl $3,%ecx
- jz .L0
- movl (%esi),%eax
- addl %ecx,%esi
- movl %eax,(%edi)
- addl %ecx,%edi
- xorl %eax,%eax
- movb (%esi),%al
- incl %esi
- jmp .LM1
-.LM21:
- TEST_OP(3(%edi),%edx)
- shrl $2,%eax
- leal -0x801(%edi),%edx
- movl %eax,%ecx
- movb (%esi),%al
- incl %esi
- leal (%ecx,%eax,8),%eax
- subl %eax,%edx
- TEST_LOOKBEHIND(%edx)
- movl (%edx),%eax
- movl %eax,(%edi)
- addl $3,%edi
- jmp .LN1
-1:
- LODSB
- orb %al,%al
- jnz 2f
- addl N_255,%ecx
- jmp 1b
-2:
- lea 31(%eax,%ecx),%ecx
- jmp .LM4
-
- ALIGN3
-.LM3:
- andb $31,%al
- movl %eax,%ecx
- jz 1b
-.LM4:
- movl %edi,%edx
- movw (%esi),%ax
- addl $2,%esi
- shrl $2,%eax
- jnz .LM5
-
-.LEOF:
-/**** xorl %eax,%eax eax=0 from above */
-
- cmpl $1,%ecx /* ecx must be 1 */
- setnz %al
-
-
-/*
-vi:ts=4
-*/
-