/* lzo1x_f1.S -- lzo1x_decompress_asm_fast

   This file is part of the LZO real-time data compression library.

   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/
*/

/***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/

#include "asminit.def"
typef(_lzo1x_decompress_asm_fast)
typef(F(lzo1x_decompress_asm_fast))
global(_lzo1x_decompress_asm_fast)
global(F(lzo1x_decompress_asm_fast))
_lzo1x_decompress_asm_fast:
F(lzo1x_decompress_asm_fast):
db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
db 36,48,189,3,0,0,0,49,192,49,219,172,60,17,118,27
db 44,14,235,34,5,255,0,0,0,138,30,70,8,219,116,244
db 141,68,24,21,235,16,137,246,138,6,70,60,16,115,65,8
db 192,116,230,131,192,6,137,193,49,232,193,233,2,33,232,139
db 22,131,198,4,137,23,131,199,4,73,117,243,41,198,41,199
db 138,6,70,60,16,115,25,193,232,2,138,30,141,151,255,247
db 255,255,141,4,152,70,41,194,139,10,137,15,1,239,235,110
db 60,64,114,52,137,193,193,232,2,141,87,255,131,224,7,138
db 30,193,233,5,141,4,216,70,41,194,131,193,4,57,232,115
db 53,235,109,5,255,0,0,0,138,30,70,8,219,116,244,141
db 76,24,36,49,192,235,13,144,60,32,114,116,131,224,31,116
db 231,141,72,5,102,139,6,141,87,255,193,232,2,131,198,2
db 41,194,57,232,114,58,141,68,15,253,193,233,2,139,26,131
db 194,4,137,31,131,199,4,73,117,243,137,199,49,219,138,70
db 254,33,232,15,132,63,255,255,255,139,22,1,198,137,23,1
db 199,138,6,70,233,119,255,255,255,141,180,38,0,0,0,0
db 135,214,41,233,243,164,137,214,235,212,129,193,255,0,0,0
db 138,30,70,8,219,116,243,141,76,11,12,235,23,141,118,0
db 60,16,114,44,137,193,131,224,8,193,224,13,131,225,7,116
db 223,131,193,5,102,139,6,131,198,2,141,151,0,192,255,255
db 193,232,2,116,43,41,194,233,122,255,255,255,141,116,38,0
db 193,232,2,138,30,141,87,255,141,4,152,70,41,194,138,2
db 136,7,138,90,1,136,95,1,131,199,2,233,110,255,255,255
db 131,249,6,15,149,192,139,84,36,40,3,84,36,44,57,214
db 119,38,114,29,43,124,36,48,139,84,36,52,137,58,247,216
db 131,196,12,90,89,91,94,95,93,195,184,1,0,0,0,235
db 227,184,8,0,0,0,235,220,184,4,0,0,0,235,213,144
size(_lzo1x_decompress_asm_fast,.-_lzo1x_decompress_asm_fast)
size(F(lzo1x_decompress_asm_fast),.-F(lzo1x_decompress_asm_fast))
