summaryrefslogtreecommitdiff
path: root/main/src/main/cpp/lzo/asm/i386
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/cpp/lzo/asm/i386')
-rw-r--r--main/src/main/cpp/lzo/asm/i386/00README.TXT45
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1c_s1.obin0 -> 521 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1f_f1.obin0 -> 563 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_f1.obin0 -> 691 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_s1.obin0 -> 713 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_f1.obin0 -> 691 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_s1.obin0 -> 713 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1c_s1.obin0 -> 730 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1f_f1.obin0 -> 767 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_f1.obin0 -> 895 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_s1.obin0 -> 922 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_f1.obin0 -> 895 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_s1.obin0 -> 922 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1c_s1.obin0 -> 499 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1f_f1.obin0 -> 536 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_f1.obin0 -> 664 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_s1.obin0 -> 691 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_f1.obin0 -> 664 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_s1.obin0 -> 691 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1c_s1.objbin0 -> 415 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1f_f1.objbin0 -> 457 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_f1.objbin0 -> 585 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_s1.objbin0 -> 607 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_f1.objbin0 -> 585 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_s1.objbin0 -> 607 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1c_s1.objbin0 -> 442 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1f_f1.objbin0 -> 447 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_f1.objbin0 -> 575 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_s1.objbin0 -> 634 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_f1.objbin0 -> 575 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_s1.objbin0 -> 634 bytes
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/enter.ash74
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/leave.ash99
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1c_d.ash169
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1c_s1.S46
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1f_d.ash161
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1f_f1.S46
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1x_d.ash386
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1x_f1.S48
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1x_s1.S46
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1y_f1.S50
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo1y_s1.S48
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src/lzo_asm.h271
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_gas/all/asm_all.S409
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_gas/asminit.def106
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_gas/lzo1c_s1.S72
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_gas/lzo1f_f1.S74
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_gas/lzo1x_f1.S82
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_gas/lzo1x_s1.S84
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_gas/lzo1y_f1.S82
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_gas/lzo1y_s1.S84
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_masm/all/asm_all.asm213
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_masm/asminit.def38
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_masm/lzo1c_s1.asm51
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_masm/lzo1f_f1.asm53
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_masm/lzo1x_f1.asm61
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_masm/lzo1x_s1.asm63
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_masm/lzo1y_f1.asm61
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_masm/lzo1y_s1.asm63
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_nasm/all/asm_all.asm387
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_nasm/asminit.def123
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1c_s1.asm66
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1f_f1.asm68
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1x_f1.asm76
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1x_s1.asm78
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1y_f1.asm76
-rw-r--r--main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1y_s1.asm78
67 files changed, 4037 insertions, 0 deletions
diff --git a/main/src/main/cpp/lzo/asm/i386/00README.TXT b/main/src/main/cpp/lzo/asm/i386/00README.TXT
new file mode 100644
index 00000000..81b01423
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/00README.TXT
@@ -0,0 +1,45 @@
+
+Directory overview:
+===================
+
+As writing portable assembler sources supporting different operating
+systems, compilers and assemblers has proven to be extremely painful,
+the assembler sources have been converted into a more portable 'db'
+format. Use these whenever possible.
+
+ src_gas sources converted for portable gcc/gas syntax
+ src_masm sources converted for portable masm/tasm/wasm syntax
+ src_nasm sources converted for portable nasm syntax
+
+ src assembler sources (you need the OpenSource nasm assembler)
+
+ obj pre-assembled object files
+
+Also look 'src_XXX/all/asm_all.asm' which contains all assembler
+functions conveniently arranged into a single file.
+
+
+Notes:
+======
+
+- The assembler sources are designed for a flat 32-bit memory model
+ running in protected mode - they should work with all i386
+ 32-bit compilers around.
+
+- All functions expect a 'cdecl' (C stack based) calling convention.
+ The function return value will be placed into 'eax'.
+ All other registers are preserved.
+
+- Prototypes for the assembler functions can be found in <lzo/lzo_asm.h>.
+
+- For reasons of speed all fast assembler decompressors (having '_fast'
+ in their name) can access (write to) up to 3 bytes past the end of
+ the decompressed (output) block. Data past the end of the compressed
+ (input) block is never accessed (read from).
+ [ technical note: because data is transferred in 32-bit units ]
+
+- Finally you should test if the assembler versions are actually faster
+ than the C version on your machine - some compilers can do a very good
+ optimization job, and they also can optimize the code for a specific
+ processor type.
+
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1c_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1c_s1.o
new file mode 100644
index 00000000..8379dbe9
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1c_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1f_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1f_f1.o
new file mode 100644
index 00000000..bce69fa9
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1f_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_f1.o
new file mode 100644
index 00000000..438d0263
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_s1.o
new file mode 100644
index 00000000..b178f0d6
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_f1.o
new file mode 100644
index 00000000..f0ddcf98
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_s1.o
new file mode 100644
index 00000000..0beadb14
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1c_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1c_s1.o
new file mode 100644
index 00000000..eb4429e2
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1c_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1f_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1f_f1.o
new file mode 100644
index 00000000..3134a85f
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1f_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_f1.o
new file mode 100644
index 00000000..fc96ecce
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_s1.o
new file mode 100644
index 00000000..817386dd
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_f1.o
new file mode 100644
index 00000000..15300e80
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_s1.o
new file mode 100644
index 00000000..2fdd42e4
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1c_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1c_s1.o
new file mode 100644
index 00000000..d70edd91
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1c_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1f_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1f_f1.o
new file mode 100644
index 00000000..06cc4909
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1f_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_f1.o
new file mode 100644
index 00000000..3644103a
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_s1.o
new file mode 100644
index 00000000..79edb273
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_f1.o b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_f1.o
new file mode 100644
index 00000000..68e0a005
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_f1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_s1.o b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_s1.o
new file mode 100644
index 00000000..f47ecade
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_s1.o
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1c_s1.obj b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1c_s1.obj
new file mode 100644
index 00000000..57bc1d70
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1c_s1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1f_f1.obj b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1f_f1.obj
new file mode 100644
index 00000000..2b08c972
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1f_f1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_f1.obj b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_f1.obj
new file mode 100644
index 00000000..5720ecb9
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_f1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_s1.obj b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_s1.obj
new file mode 100644
index 00000000..68d6c159
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_s1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_f1.obj b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_f1.obj
new file mode 100644
index 00000000..d5102cde
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_f1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_s1.obj b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_s1.obj
new file mode 100644
index 00000000..29859c28
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_s1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1c_s1.obj b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1c_s1.obj
new file mode 100644
index 00000000..b9703e8c
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1c_s1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1f_f1.obj b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1f_f1.obj
new file mode 100644
index 00000000..e0c0295f
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1f_f1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_f1.obj b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_f1.obj
new file mode 100644
index 00000000..c6c1f806
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_f1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_s1.obj b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_s1.obj
new file mode 100644
index 00000000..b95eb969
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_s1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_f1.obj b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_f1.obj
new file mode 100644
index 00000000..30827912
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_f1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_s1.obj b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_s1.obj
new file mode 100644
index 00000000..1c34c7be
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_s1.obj
Binary files differ
diff --git a/main/src/main/cpp/lzo/asm/i386/src/enter.ash b/main/src/main/cpp/lzo/asm/i386/src/enter.ash
new file mode 100644
index 00000000..cc5941b9
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/enter.ash
@@ -0,0 +1,74 @@
+/* enter.ash -- LZO assembler stuff
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+ pushl %ebp
+ pushl %edi
+ pushl %esi
+ pushl %ebx
+ pushl %ecx
+ pushl %edx
+ subl $12,%esp
+
+ cld
+
+ movl INP,%esi
+ movl OUTP,%edi
+#if defined(N_3_EBP)
+ movl $3,%ebp
+#endif
+#if defined(N_255_EBP)
+ movl $255,%ebp
+#endif
+
+#if defined(LZO_TEST_DECOMPRESS_OVERRUN_INPUT)
+#if defined(INIT_OVERRUN)
+ INIT_OVERRUN
+# undef INIT_OVERRUN
+#endif
+ leal -3(%esi),%eax /* 3 == length of EOF code */
+ addl INS,%eax
+ movl %eax,INEND
+#endif
+
+#if defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT)
+#if defined(INIT_OVERRUN)
+ INIT_OVERRUN
+# undef INIT_OVERRUN
+#endif
+ movl %edi,%eax
+ movl OUTS,%edx
+ addl (%edx),%eax
+ movl %eax,OUTEND
+#endif
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/leave.ash b/main/src/main/cpp/lzo/asm/i386/src/leave.ash
new file mode 100644
index 00000000..dbaeda03
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/leave.ash
@@ -0,0 +1,99 @@
+/* leave.ash -- LZO assembler stuff
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+/* check uncompressed size */
+#if defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT)
+ cmpl OUTEND,%edi
+ ja .L_output_overrun
+#endif
+
+/* check compressed size */
+ movl INP,%edx
+ addl INS,%edx
+ cmpl %edx,%esi /* check compressed size */
+ ja .L_input_overrun
+ jb .L_input_not_consumed
+
+.L_leave:
+ subl OUTP,%edi /* write back the uncompressed size */
+ movl OUTS,%edx
+ movl %edi,(%edx)
+
+ negl %eax
+ addl $12,%esp
+ popl %edx
+ popl %ecx
+ popl %ebx
+ popl %esi
+ popl %edi
+ popl %ebp
+#if 1
+ ret
+#else
+ jmp .L_end
+#endif
+
+
+.L_error:
+ movl $1,%eax /* LZO_E_ERROR */
+ jmp .L_leave
+
+.L_input_not_consumed:
+ movl $8,%eax /* LZO_E_INPUT_NOT_CONSUMED */
+ jmp .L_leave
+
+.L_input_overrun:
+ movl $4,%eax /* LZO_E_INPUT_OVERRUN */
+ jmp .L_leave
+
+#if defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT)
+.L_output_overrun:
+ movl $5,%eax /* LZO_E_OUTPUT_OVERRUN */
+ jmp .L_leave
+#endif
+
+#if defined(LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND)
+.L_lookbehind_overrun:
+ movl $6,%eax /* LZO_E_LOOKBEHIND_OVERRUN */
+ jmp .L_leave
+#endif
+
+#if defined(LZO_DEBUG)
+.L_assert_fail:
+ movl $99,%eax
+ jmp .L_leave
+#endif
+
+.L_end:
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1c_d.ash b/main/src/main/cpp/lzo/asm/i386/src/lzo1c_d.ash
new file mode 100644
index 00000000..0d410243
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1c_d.ash
@@ -0,0 +1,169 @@
+/* lzo1c_d.ash -- assembler implementation of the LZO1C decompression algorithm
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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
+.L1:
+ xorl %eax,%eax
+ movb (%esi),%al
+ incl %esi
+ cmpb $32,%al
+ jnb .LMATCH
+
+ orb %al,%al
+ jz .L12
+ movl %eax,%ecx
+.LIT:
+ TEST_OP((%edi,%ecx),%ebx)
+ TEST_IP((%esi,%ecx),%ebx)
+ rep
+ movsb
+.LM1:
+ movb (%esi),%al
+ incl %esi
+
+ cmpb $32,%al
+ jb .LM2
+.LMATCH:
+ cmpb $64,%al
+ jb .LN3
+
+ movl %eax,%ecx
+ andb $31,%al
+ leal -1(%edi),%edx
+ shrl $5,%ecx
+ subl %eax,%edx
+ movb (%esi),%al
+ incl %esi
+
+ shll $5,%eax
+ subl %eax,%edx
+ incl %ecx
+ xchgl %esi,%edx
+ TEST_LOOKBEHIND(%esi)
+ TEST_OP((%edi,%ecx),%ebx)
+ rep
+ movsb
+ movl %edx,%esi
+ jmp .L1
+
+ ALIGN3
+.L12:
+ LODSB
+ leal 32(%eax),%ecx
+ cmpb $248,%al
+ jb .LIT
+
+ movl $280,%ecx
+ subb $248,%al
+ jz .L11
+ xchgl %eax,%ecx
+ xorb %al,%al
+ shll %cl,%eax
+ xchgl %eax,%ecx
+.L11:
+ TEST_OP((%edi,%ecx),%ebx)
+ TEST_IP((%esi,%ecx),%ebx)
+ rep
+ movsb
+ jmp .L1
+
+ ALIGN3
+.LM2:
+ leal -1(%edi),%edx
+ subl %eax,%edx
+ LODSB
+ shll $5,%eax
+ subl %eax,%edx
+ xchgl %esi,%edx
+ TEST_LOOKBEHIND(%esi)
+ TEST_OP(4(%edi),%ebx)
+ movsb
+ movsb
+ movsb
+ movl %edx,%esi
+ movsb
+ xorl %eax,%eax
+ jmp .LM1
+.LN3:
+ andb $31,%al
+ movl %eax,%ecx
+ jnz .LN6
+ movb $31,%cl
+.LN4:
+ LODSB
+ orb %al,%al
+ jnz .LN5
+ addl N_255,%ecx
+ jmp .LN4
+
+ ALIGN3
+.LN5:
+ addl %eax,%ecx
+.LN6:
+ movb (%esi),%al
+ incl %esi
+
+ movl %eax,%ebx
+ andb $63,%al
+ movl %edi,%edx
+ subl %eax,%edx
+
+ movb (%esi),%al
+ incl %esi
+
+ shll $6,%eax
+ subl %eax,%edx
+ cmpl %edi,%edx
+ jz .LEOF
+
+ xchgl %edx,%esi
+ leal 3(%ecx),%ecx
+ TEST_LOOKBEHIND(%esi)
+ TEST_OP((%edi,%ecx),%eax)
+ rep
+ movsb
+
+ movl %edx,%esi
+ xorl %eax,%eax
+ shrl $6,%ebx
+ movl %ebx,%ecx
+ jnz .LIT
+ jmp .L1
+
+.LEOF:
+/**** xorl %eax,%eax eax=0 from above */
+
+ cmpl $1,%ecx /* ecx must be 1 */
+ setnz %al
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1c_s1.S b/main/src/main/cpp/lzo/asm/i386/src/lzo1c_s1.S
new file mode 100644
index 00000000..03ca397b
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1c_s1.S
@@ -0,0 +1,46 @@
+/* lzo1c_s1.S -- LZO1C decompression in assembler (i386 + gcc)
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+#include "lzo_asm.h"
+
+ .text
+
+ LZO_PUBLIC(lzo1c_decompress_asm)
+
+#include "enter.ash"
+#include "lzo1c_d.ash"
+#include "leave.ash"
+
+ LZO_PUBLIC_END(lzo1c_decompress_asm)
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1f_d.ash b/main/src/main/cpp/lzo/asm/i386/src/lzo1f_d.ash
new file mode 100644
index 00000000..99093f68
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1f_d.ash
@@ -0,0 +1,161 @@
+/* lzo1f_d.ash -- assembler implementation of the LZO1F decompression algorithm
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1f_f1.S b/main/src/main/cpp/lzo/asm/i386/src/lzo1f_f1.S
new file mode 100644
index 00000000..212b62f4
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1f_f1.S
@@ -0,0 +1,46 @@
+/* lzo1f_f1.S -- fast LZO1F decompression in assembler (i386 + gcc)
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+#include "lzo_asm.h"
+
+ .text
+
+ LZO_PUBLIC(lzo1f_decompress_asm_fast)
+
+#include "enter.ash"
+#include "lzo1f_d.ash"
+#include "leave.ash"
+
+ LZO_PUBLIC_END(lzo1f_decompress_asm_fast)
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1x_d.ash b/main/src/main/cpp/lzo/asm/i386/src/lzo1x_d.ash
new file mode 100644
index 00000000..4635a2ad
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1x_d.ash
@@ -0,0 +1,386 @@
+/* lzo1x_d.ash -- assembler implementation of the LZO1X decompression algorithm
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+#if !defined(LZO1X) && !defined(LZO1Y)
+# define LZO1X
+#endif
+
+#if defined(LZO_FAST)
+# define NN 3
+#else
+# define NN 0
+#endif
+
+
+/***********************************************************************
+// init
+************************************************************************/
+
+ xorl %eax,%eax
+ xorl %ebx,%ebx /* high bits 9-32 stay 0 */
+ lodsb
+ cmpb $17,%al
+ jbe .L01
+ subb $17-NN,%al
+#if defined(LZO_FAST)
+ jmp .LFLR
+#else
+ cmpb $4,%al
+ jae .LFLR
+#if 1
+ TEST_OP((%edi,%eax),%edx)
+ TEST_IP((%esi,%eax),%edx)
+ movl %eax,%ecx
+ jmp .LFLR2
+#else
+ jmp .LFLR3
+#endif
+#endif
+
+
+/***********************************************************************
+// literal run
+************************************************************************/
+
+0: addl N_255,%eax
+ TEST_IP(18(%esi,%eax),%edx) /* minimum */
+1: movb (%esi),%bl
+ incl %esi
+ orb %bl,%bl
+ jz 0b
+ leal 18+NN(%eax,%ebx),%eax
+ jmp 3f
+
+
+ ALIGN3
+.L00:
+#ifdef LZO_DEBUG
+ andl $0xffffff00,%eax ; jnz .L_assert_fail
+ andl $0xffffff00,%ebx ; jnz .L_assert_fail
+ xorl %eax,%eax ; xorl %ebx,%ebx
+ xorl %ecx,%ecx ; xorl %edx,%edx
+#endif
+ TEST_IP_R(%esi)
+ LODSB
+.L01:
+ cmpb $16,%al
+ jae .LMATCH
+
+/* a literal run */
+ orb %al,%al
+ jz 1b
+ addl $3+NN,%eax
+3:
+.LFLR:
+ TEST_OP(-NN(%edi,%eax),%edx)
+ TEST_IP(-NN(%esi,%eax),%edx)
+#if defined(LZO_FAST)
+ movl %eax,%ecx
+ NOTL_3(%eax)
+ shrl $2,%ecx
+ andl N_3,%eax
+ COPYL(%esi,%edi,%edx)
+ subl %eax,%esi
+ subl %eax,%edi
+#else
+ movl %eax,%ecx
+ shrl $2,%eax
+ andl N_3,%ecx
+ COPYL_C(%esi,%edi,%edx,%eax)
+.LFLR2:
+ rep
+ movsb
+#endif
+
+#ifdef LZO_DEBUG
+ andl $0xffffff00,%eax ; jnz .L_assert_fail
+ andl $0xffffff00,%ebx ; jnz .L_assert_fail
+ xorl %eax,%eax ; xorl %ebx,%ebx
+ xorl %ecx,%ecx ; xorl %edx,%edx
+#endif
+ LODSB
+ cmpb $16,%al
+ jae .LMATCH
+
+
+/***********************************************************************
+// R1
+************************************************************************/
+
+ TEST_OP(3(%edi),%edx)
+ shrl $2,%eax
+ movb (%esi),%bl
+#if defined(LZO1X)
+ leal -0x801(%edi),%edx
+#elif defined(LZO1Y)
+ leal -0x401(%edi),%edx
+#endif
+ leal (%eax,%ebx,4),%eax
+ incl %esi
+ subl %eax,%edx
+ TEST_LOOKBEHIND(%edx)
+#if defined(LZO_FAST)
+ movl (%edx),%ecx
+ movl %ecx,(%edi)
+#else
+ movb (%edx),%al
+ movb %al,(%edi)
+ movb 1(%edx),%al
+ movb %al,1(%edi)
+ movb 2(%edx),%al
+ movb %al,2(%edi)
+#endif
+ addl N_3,%edi
+ jmp .LMDONE
+
+
+/***********************************************************************
+// M2
+************************************************************************/
+
+ ALIGN3
+.LMATCH:
+ cmpb $64,%al
+ jb .LM3MATCH
+
+/* a M2 match */
+ movl %eax,%ecx
+ shrl $2,%eax
+ leal -1(%edi),%edx
+#if defined(LZO1X)
+ andl $7,%eax
+ movb (%esi),%bl
+ shrl $5,%ecx
+ leal (%eax,%ebx,8),%eax
+#elif defined(LZO1Y)
+ andl N_3,%eax
+ movb (%esi),%bl
+ shrl $4,%ecx
+ leal (%eax,%ebx,4),%eax
+#endif
+ incl %esi
+ subl %eax,%edx
+
+#if defined(LZO_FAST)
+#if defined(LZO1X)
+ addl $1+3,%ecx
+#elif defined(LZO1Y)
+ addl $2,%ecx
+#endif
+#else
+#if defined(LZO1X)
+ incl %ecx
+#elif defined(LZO1Y)
+ decl %ecx
+#endif
+#endif
+
+ cmpl N_3,%eax
+ jae .LCOPYLONG
+ jmp .LCOPYBYTE
+
+
+/***********************************************************************
+// M3
+************************************************************************/
+
+0: addl N_255,%eax
+ TEST_IP(3(%esi),%edx) /* minimum */
+1: movb (%esi),%bl
+ incl %esi
+ orb %bl,%bl
+ jz 0b
+ leal 33+NN(%eax,%ebx),%ecx
+ xorl %eax,%eax
+ jmp 3f
+
+
+ ALIGN3
+.LM3MATCH:
+ cmpb $32,%al
+ jb .LM4MATCH
+
+/* a M3 match */
+ andl $31,%eax
+ jz 1b
+ lea 2+NN(%eax),%ecx
+3:
+#ifdef LZO_DEBUG
+ andl $0xffff0000,%eax ; jnz .L_assert_fail
+#endif
+ movw (%esi),%ax
+ leal -1(%edi),%edx
+ shrl $2,%eax
+ addl $2,%esi
+ subl %eax,%edx
+
+ cmpl N_3,%eax
+ jb .LCOPYBYTE
+
+
+/***********************************************************************
+// copy match
+************************************************************************/
+
+ ALIGN1
+.LCOPYLONG: /* copy match using longwords */
+ TEST_LOOKBEHIND(%edx)
+#if defined(LZO_FAST)
+ leal -3(%edi,%ecx),%eax
+ shrl $2,%ecx
+ TEST_OP_R(%eax)
+ COPYL(%edx,%edi,%ebx)
+ movl %eax,%edi
+ xorl %ebx,%ebx
+#else
+ TEST_OP((%edi,%ecx),%eax)
+ movl %ecx,%ebx
+ shrl $2,%ebx
+ jz 2f
+ COPYL_C(%edx,%edi,%eax,%ebx)
+ andl N_3,%ecx
+ jz 1f
+2: COPYB_C(%edx,%edi,%al,%ecx)
+1:
+#endif
+
+.LMDONE:
+ movb -2(%esi),%al
+ andl N_3,%eax
+ jz .L00
+.LFLR3:
+ TEST_OP((%edi,%eax),%edx)
+ TEST_IP((%esi,%eax),%edx)
+#if defined(LZO_FAST)
+ movl (%esi),%edx
+ addl %eax,%esi
+ movl %edx,(%edi)
+ addl %eax,%edi
+#else
+ COPYB_C(%esi,%edi,%cl,%eax)
+#endif
+
+#ifdef LZO_DEBUG
+ andl $0xffffff00,%eax ; jnz .L_assert_fail
+ andl $0xffffff00,%ebx ; jnz .L_assert_fail
+ xorl %eax,%eax ; xorl %ebx,%ebx
+ xorl %ecx,%ecx ; xorl %edx,%edx
+#endif
+ LODSB
+ jmp .LMATCH
+
+
+ ALIGN3
+.LCOPYBYTE: /* copy match using bytes */
+ TEST_LOOKBEHIND(%edx)
+ TEST_OP(-NN(%edi,%ecx),%eax)
+ xchgl %edx,%esi
+#if defined(LZO_FAST)
+ subl N_3,%ecx
+#endif
+ rep
+ movsb
+ movl %edx,%esi
+ jmp .LMDONE
+
+
+/***********************************************************************
+// M4
+************************************************************************/
+
+0: addl N_255,%ecx
+ TEST_IP(3(%esi),%edx) /* minimum */
+1: movb (%esi),%bl
+ incl %esi
+ orb %bl,%bl
+ jz 0b
+ leal 9+NN(%ebx,%ecx),%ecx
+ jmp 3f
+
+
+ ALIGN3
+.LM4MATCH:
+ cmpb $16,%al
+ jb .LM1MATCH
+
+/* a M4 match */
+ movl %eax,%ecx
+ andl $8,%eax
+ shll $13,%eax /* save in bit 16 */
+ andl $7,%ecx
+ jz 1b
+ addl $2+NN,%ecx
+3:
+#ifdef LZO_DEBUG
+ movl %eax,%edx ; andl $0xfffe0000,%edx ; jnz .L_assert_fail
+#endif
+ movw (%esi),%ax
+ addl $2,%esi
+ leal -0x4000(%edi),%edx
+ shrl $2,%eax
+ jz .LEOF
+ subl %eax,%edx
+ jmp .LCOPYLONG
+
+
+/***********************************************************************
+// M1
+************************************************************************/
+
+ ALIGN3
+.LM1MATCH:
+/* a M1 match */
+ TEST_OP(2(%edi),%edx)
+ shrl $2,%eax
+ movb (%esi),%bl
+ leal -1(%edi),%edx
+ leal (%eax,%ebx,4),%eax
+ incl %esi
+ subl %eax,%edx
+ TEST_LOOKBEHIND(%edx)
+
+ movb (%edx),%al /* we must use this because edx can be edi-1 */
+ movb %al,(%edi)
+ movb 1(%edx),%bl
+ movb %bl,1(%edi)
+ addl $2,%edi
+ jmp .LMDONE
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+.LEOF:
+/**** xorl %eax,%eax eax=0 from above */
+
+ cmpl $3+NN,%ecx /* ecx must be 3/6 */
+ setnz %al
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1x_f1.S b/main/src/main/cpp/lzo/asm/i386/src/lzo1x_f1.S
new file mode 100644
index 00000000..4f02add5
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1x_f1.S
@@ -0,0 +1,48 @@
+/* lzo1x_f1.S -- fast LZO1X decompression in assembler (i386 + gcc)
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+#define LZO_FAST
+
+#include "lzo_asm.h"
+
+ .text
+
+ LZO_PUBLIC(lzo1x_decompress_asm_fast)
+
+#include "enter.ash"
+#include "lzo1x_d.ash"
+#include "leave.ash"
+
+ LZO_PUBLIC_END(lzo1x_decompress_asm_fast)
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1x_s1.S b/main/src/main/cpp/lzo/asm/i386/src/lzo1x_s1.S
new file mode 100644
index 00000000..d706fc2a
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1x_s1.S
@@ -0,0 +1,46 @@
+/* lzo1x_s1.S -- LZO1X decompression in assembler (i386 + gcc)
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+#include "lzo_asm.h"
+
+ .text
+
+ LZO_PUBLIC(lzo1x_decompress_asm)
+
+#include "enter.ash"
+#include "lzo1x_d.ash"
+#include "leave.ash"
+
+ LZO_PUBLIC_END(lzo1x_decompress_asm)
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1y_f1.S b/main/src/main/cpp/lzo/asm/i386/src/lzo1y_f1.S
new file mode 100644
index 00000000..2982c32d
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1y_f1.S
@@ -0,0 +1,50 @@
+/* lzo1y_f1.S -- fast LZO1Y decompression in assembler (i386 + gcc)
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+#define LZO_FAST
+
+#include "lzo_asm.h"
+
+ .text
+
+ LZO_PUBLIC(lzo1y_decompress_asm_fast)
+
+#define LZO1Y
+
+#include "enter.ash"
+#include "lzo1x_d.ash"
+#include "leave.ash"
+
+ LZO_PUBLIC_END(lzo1y_decompress_asm_fast)
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo1y_s1.S b/main/src/main/cpp/lzo/asm/i386/src/lzo1y_s1.S
new file mode 100644
index 00000000..ddf8574a
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo1y_s1.S
@@ -0,0 +1,48 @@
+/* lzo1y_s1.S -- LZO1Y decompression in assembler (i386 + gcc)
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+#include "lzo_asm.h"
+
+ .text
+
+ LZO_PUBLIC(lzo1y_decompress_asm)
+
+#define LZO1Y
+
+#include "enter.ash"
+#include "lzo1x_d.ash"
+#include "leave.ash"
+
+ LZO_PUBLIC_END(lzo1y_decompress_asm)
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src/lzo_asm.h b/main/src/main/cpp/lzo/asm/i386/src/lzo_asm.h
new file mode 100644
index 00000000..7227b31a
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src/lzo_asm.h
@@ -0,0 +1,271 @@
+/* lzo_asm.h -- LZO assembler stuff
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+
+/***********************************************************************
+// <asmconfig.h>
+************************************************************************/
+
+#if !defined(__i386__)
+# error
+#endif
+
+#if !defined(IN_CONFIGURE)
+#if defined(LZO_HAVE_CONFIG_H)
+# include <config.h>
+#else
+ /* manual configuration - see defaults below */
+# if defined(__ELF__)
+# define MFX_ASM_HAVE_TYPE 1
+# define MFX_ASM_NAME_NO_UNDERSCORES 1
+# elif defined(__linux__) /* Linux a.out */
+# define MFX_ASM_ALIGN_PTWO 1
+# elif defined(__DJGPP__)
+# define MFX_ASM_ALIGN_PTWO 1
+# elif defined(__GO32__) /* djgpp v1 */
+# define MFX_ASM_CANNOT_USE_EBP 1
+# elif defined(__EMX__)
+# define MFX_ASM_ALIGN_PTWO 1
+# define MFX_ASM_CANNOT_USE_EBP 1
+# endif
+#endif
+#endif
+
+#if 1 && defined(__ELF__)
+.section .note.GNU-stack,"",@progbits
+#endif
+#if 0 && defined(__ELF__)
+#undef i386
+.arch i386
+.code32
+#endif
+
+
+/***********************************************************************
+// name always uses underscores
+// [ OLD: name (default: with underscores) ]
+************************************************************************/
+
+#if !defined(LZO_ASM_NAME)
+# define LZO_ASM_NAME(n) _ ## n
+#if 0
+# if defined(MFX_ASM_NAME_NO_UNDERSCORES)
+# define LZO_ASM_NAME(n) n
+# else
+# define LZO_ASM_NAME(n) _ ## n
+# endif
+#endif
+#endif
+
+
+/***********************************************************************
+// .type (default: do not use)
+************************************************************************/
+
+#if !defined(LZO_PUBLIC)
+#if defined(__LZO_DB__)
+# define LZO_PUBLIC(func) \
+ .p2align 4 ; .byte 0,0,0,0,0,0,0 ; .ascii "LZO_START"
+# define LZO_PUBLIC_END(func) \
+ .p2align 4,0x90 ; .ascii "LZO_END"
+#elif defined(MFX_ASM_HAVE_TYPE)
+# define LZO_PUBLIC(func) \
+ ALIGN3 ; .type LZO_ASM_NAME(func),@function ; \
+ .globl LZO_ASM_NAME(func) ; LZO_ASM_NAME(func):
+# define LZO_PUBLIC_END(func) \
+ .size LZO_ASM_NAME(func),.-LZO_ASM_NAME(func)
+#else
+# define LZO_PUBLIC(func) \
+ ALIGN3 ; .globl LZO_ASM_NAME(func) ; LZO_ASM_NAME(func):
+# define LZO_PUBLIC_END(func)
+#endif
+#endif
+
+
+/***********************************************************************
+// .align (default: bytes)
+************************************************************************/
+
+#if !defined(MFX_ASM_ALIGN_BYTES) && !defined(MFX_ASM_ALIGN_PTWO)
+# define MFX_ASM_ALIGN_BYTES 1
+#endif
+
+#if !defined(LZO_ASM_ALIGN)
+# if defined(MFX_ASM_ALIGN_PTWO)
+# define LZO_ASM_ALIGN(x) .align x
+# else
+# define LZO_ASM_ALIGN(x) .align (1 << (x))
+# endif
+#endif
+
+#define ALIGN1 LZO_ASM_ALIGN(1)
+#define ALIGN2 LZO_ASM_ALIGN(2)
+#define ALIGN3 LZO_ASM_ALIGN(3)
+
+
+/***********************************************************************
+// ebp usage (default: can use)
+************************************************************************/
+
+#if !defined(MFX_ASM_CANNOT_USE_EBP)
+# if 1 && !defined(N_3_EBP) && !defined(N_255_EBP)
+# define N_3_EBP 1
+# endif
+# if 0 && !defined(N_3_EBP) && !defined(N_255_EBP)
+# define N_255_EBP 1
+# endif
+#endif
+
+#if defined(N_3_EBP) && defined(N_255_EBP)
+# error
+#endif
+#if defined(MFX_ASM_CANNOT_USE_EBP)
+# if defined(N_3_EBP) || defined(N_255_EBP)
+# error
+# endif
+#endif
+
+#if !defined(N_3)
+# if defined(N_3_EBP)
+# define N_3 %ebp
+# else
+# define N_3 $3
+# endif
+#endif
+
+#if !defined(N_255)
+# if defined(N_255_EBP)
+# define N_255 %ebp
+# define NOTL_3(r) xorl %ebp,r
+# else
+# define N_255 $255
+# endif
+#endif
+
+#if !defined(NOTL_3)
+# define NOTL_3(r) xorl N_3,r
+#endif
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+#ifndef INP
+#define INP 4+36(%esp)
+#define INS 8+36(%esp)
+#define OUTP 12+36(%esp)
+#define OUTS 16+36(%esp)
+#endif
+
+#define INEND 4(%esp)
+#define OUTEND (%esp)
+
+
+#if defined(LZO_TEST_DECOMPRESS_OVERRUN_INPUT)
+# define TEST_IP_R(r) cmpl r,INEND ; jb .L_input_overrun
+# define TEST_IP(addr,r) leal addr,r ; TEST_IP_R(r)
+#else
+# define TEST_IP_R(r)
+# define TEST_IP(addr,r)
+#endif
+
+#if defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT)
+# define TEST_OP_R(r) cmpl r,OUTEND ; jb .L_output_overrun
+# define TEST_OP(addr,r) leal addr,r ; TEST_OP_R(r)
+#else
+# define TEST_OP_R(r)
+# define TEST_OP(addr,r)
+#endif
+
+#if defined(LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND)
+# define TEST_LOOKBEHIND(r) cmpl OUTP,r ; jb .L_lookbehind_overrun
+#else
+# define TEST_LOOKBEHIND(r)
+#endif
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+#define LODSB movb (%esi),%al ; incl %esi
+
+#define MOVSB(r1,r2,x) movb (r1),x ; incl r1 ; movb x,(r2) ; incl r2
+#define MOVSW(r1,r2,x) movb (r1),x ; movb x,(r2) ; \
+ movb 1(r1),x ; addl $2,r1 ; \
+ movb x,1(r2) ; addl $2,r2
+#define MOVSL(r1,r2,x) movl (r1),x ; addl $4,r1 ; movl x,(r2) ; addl $4,r2
+
+#if defined(LZO_DEBUG)
+#define COPYB_C(r1,r2,x,rc) \
+ cmpl $0,rc ; jz .L_assert_fail; \
+ 9: MOVSB(r1,r2,x) ; decl rc ; jnz 9b
+#define COPYL_C(r1,r2,x,rc) \
+ cmpl $0,rc ; jz .L_assert_fail; \
+ 9: MOVSL(r1,r2,x) ; decl rc ; jnz 9b
+#else
+#define COPYB_C(r1,r2,x,rc) \
+ 9: MOVSB(r1,r2,x) ; decl rc ; jnz 9b
+#define COPYL_C(r1,r2,x,rc) \
+ 9: MOVSL(r1,r2,x) ; decl rc ; jnz 9b
+#endif
+
+#define COPYB(r1,r2,x) COPYB_C(r1,r2,x,%ecx)
+#define COPYL(r1,r2,x) COPYL_C(r1,r2,x,%ecx)
+
+
+/***********************************************************************
+// not used
+************************************************************************/
+
+#if 0
+
+#if 0
+#define REP_MOVSB(x) rep ; movsb
+#define REP_MOVSL(x) shrl $2,%ecx ; rep ; movsl
+#elif 1
+#define REP_MOVSB(x) COPYB(%esi,%edi,x)
+#define REP_MOVSL(x) shrl $2,%ecx ; COPYL(%esi,%edi,x)
+#else
+#define REP_MOVSB(x) rep ; movsb
+#define REP_MOVSL(x) jmp 9f ; 8: movsb ; decl %ecx ; \
+ 9: testl $3,%edi ; jnz 8b ; \
+ movl %ecx,x ; shrl $2,%ecx ; andl $3,x ; \
+ rep ; movsl ; movl x,%ecx ; rep ; movsb
+#endif
+
+#if 1
+#define NEGL(x) negl x
+#else
+#define NEGL(x) xorl $-1,x ; incl x
+#endif
+
+#endif
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/main/src/main/cpp/lzo/asm/i386/src_gas/all/asm_all.S b/main/src/main/cpp/lzo/asm/i386/src_gas/all/asm_all.S
new file mode 100644
index 00000000..8aa67cbe
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_gas/all/asm_all.S
@@ -0,0 +1,409 @@
+/* asm_all.S --
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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 *****/
+
+#undef _
+#ifndef NAME1
+#if defined(__ELF__)
+# define NAME1(a) a
+#elif (defined(__MACH__) && defined(__APPLE__))
+# define NAME1(a) _ ## a
+#elif defined(_WIN32) && !defined(_WIN64)
+# define NAME1(a) _ ## a
+#elif defined(_WIN64)
+# define NAME1(a) a
+#else
+# define NAME1(a) _ ## a
+# define NAME2(a) a
+#endif
+#endif
+#define XNAME(a,b,c) LZO_PP_ECONCAT3(NAME1(a),b,c)
+#ifndef LZO_PP_CONCAT2
+# define LZO_PP_CONCAT2(a,b) a ## b
+#endif
+#ifndef LZO_PP_CONCAT3
+# define LZO_PP_CONCAT3(a,b,c) a ## b ## c
+#endif
+#ifndef LZO_PP_ECONCAT3
+# define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
+#endif
+#ifndef p2align
+# define p2align(a) .p2align a
+#endif
+#ifndef globalf
+# define globalf(a) .globl a
+#endif
+#ifndef hiddenf
+# if defined(__ELF__)
+# define hiddenf(a) .hidden a
+# elif (defined(__MACH__) && defined(__APPLE__))
+# define hiddenf(a) .private_extern a
+# else
+# define hiddenf(a)
+# endif
+#endif
+#ifndef typef
+# if defined(__ELF__)
+# define typef(a) .type a,@function
+# else
+# define typef(a)
+# endif
+#endif
+#ifndef sizef
+# if defined(__ELF__)
+# define sizef(a,b) .size a,b
+# else
+# define sizef(a,b)
+# endif
+#endif
+#if defined(__ELF__)
+.section .note.GNU-stack,"",@progbits
+#endif
+.text
+#if defined(_WIN32) && !defined(_WIN64)
+#if defined(LZO_WIN32_FEAT_00)
+LZO_WIN32_FEAT_00
+#else
+#if defined(__GNUC__) && !defined(__clang__)
+.globl @feat.00
+#endif
+@feat.00 = 1
+#endif
+#endif
+#if defined(__ELF__) || (defined(__MACH__) && defined(__APPLE__)) || defined(_WIN32) || defined(_WIN64)
+p2align(6)
+#else
+p2align(4)
+#endif
+#ifndef db
+# define db .byte
+#endif
+
+#ifdef NAME1
+typef(NAME1(lzo1c_decompress_asm))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1c_decompress_asm))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1c_decompress_asm))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1c_decompress_asm))
+#endif
+#ifdef NAME1
+NAME1(lzo1c_decompress_asm):
+#endif
+#ifdef NAME2
+NAME2(lzo1c_decompress_asm):
+#endif
+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,144,49,192,138,6,70,60,32,115
+db 15,8,192,116,51,137,193,243,164,138,6,70,60,32,114,72
+db 60,64,114,93,137,193,36,31,141,87,255,193,233,5,41,194
+db 138,6,70,193,224,5,41,194,65,135,242,243,164,137,214,235
+db 199,141,180,38,0,0,0,0,138,6,70,141,72,32,60,248
+db 114,197,185,24,1,0,0,44,248,116,6,145,48,192,211,224
+db 145,243,164,235,163,141,118,0,141,87,255,41,194,138,6,70
+db 193,224,5,41,194,135,242,164,164,164,137,214,164,49,192,235
+db 152,36,31,137,193,117,19,177,31,138,6,70,8,192,117,8
+db 129,193,255,0,0,0,235,241,1,193,138,6,70,137,195,36
+db 63,137,250,41,194,138,6,70,193,224,6,41,194,57,250,116
+db 27,135,214,141,73,3,243,164,137,214,49,192,193,235,6,137
+db 217,15,133,80,255,255,255,233,60,255,255,255,131,249,1,15
+db 149,192,139,84,36,40,3,84,36,44,57,214,119,38,114,29
+db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
+db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
+db 0,0,235,220,184,4,0,0,0,235,213,144,141,116,38,0
+#ifdef NAME1
+sizef(NAME1(lzo1c_decompress_asm),.-NAME1(lzo1c_decompress_asm))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1c_decompress_asm),.-NAME2(lzo1c_decompress_asm))
+#endif
+
+#ifdef NAME1
+typef(NAME1(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME1
+NAME1(lzo1f_decompress_asm_fast):
+#endif
+#ifdef NAME2
+NAME2(lzo1f_decompress_asm_fast):
+#endif
+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,144,49,192,138,6,70,60,31,119
+db 51,8,192,137,193,117,19,138,6,70,8,192,117,8,129,193
+db 255,0,0,0,235,241,141,76,8,31,136,200,193,233,2,243
+db 165,36,3,116,8,139,30,1,198,137,31,1,199,138,6,70
+db 60,31,118,88,60,223,15,135,132,0,0,0,137,193,193,232
+db 2,141,87,255,36,7,193,233,5,137,195,138,6,141,4,195
+db 70,41,194,131,193,2,135,214,131,249,6,114,16,131,248,4
+db 114,11,136,200,193,233,2,243,165,36,3,136,193,243,164,137
+db 214,138,78,254,131,225,3,15,132,123,255,255,255,139,6,1
+db 206,137,7,1,207,49,192,138,6,70,235,164,193,232,2,141
+db 151,255,247,255,255,137,193,138,6,70,141,4,193,41,194,139
+db 2,137,7,131,199,3,235,201,138,6,70,8,192,117,8,129
+db 193,255,0,0,0,235,241,141,76,8,31,235,9,141,118,0
+db 36,31,137,193,116,226,137,250,102,139,6,131,198,2,193,232
+db 2,15,133,122,255,255,255,131,249,1,15,149,192,139,84,36
+db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
+db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
+db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
+db 4,0,0,0,235,213,141,118,0,141,188,39,0,0,0,0
+#ifdef NAME1
+sizef(NAME1(lzo1f_decompress_asm_fast),.-NAME1(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1f_decompress_asm_fast),.-NAME2(lzo1f_decompress_asm_fast))
+#endif
+
+#ifdef NAME1
+typef(NAME1(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME1
+NAME1(lzo1x_decompress_asm_fast):
+#endif
+#ifdef NAME2
+NAME2(lzo1x_decompress_asm_fast):
+#endif
+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
+#ifdef NAME1
+sizef(NAME1(lzo1x_decompress_asm_fast),.-NAME1(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1x_decompress_asm_fast),.-NAME2(lzo1x_decompress_asm_fast))
+#endif
+
+#ifdef NAME1
+typef(NAME1(lzo1x_decompress_asm))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1x_decompress_asm))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1x_decompress_asm))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1x_decompress_asm))
+#endif
+#ifdef NAME1
+NAME1(lzo1x_decompress_asm):
+#endif
+#ifdef NAME2
+NAME2(lzo1x_decompress_asm):
+#endif
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,247,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+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,65,57,232,115,55,235
+db 119,5,255,0,0,0,138,30,70,8,219,116,244,141,76,24
+db 33,49,192,235,15,141,118,0,60,32,114,124,131,224,31,116
+db 229,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+#ifdef NAME1
+sizef(NAME1(lzo1x_decompress_asm),.-NAME1(lzo1x_decompress_asm))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1x_decompress_asm),.-NAME2(lzo1x_decompress_asm))
+#endif
+
+#ifdef NAME1
+typef(NAME1(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME1
+NAME1(lzo1y_decompress_asm_fast):
+#endif
+#ifdef NAME2
+NAME2(lzo1y_decompress_asm_fast):
+#endif
+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,251
+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,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,131,193,2,57,232,115,54
+db 235,110,5,255,0,0,0,138,30,70,8,219,116,244,141,76
+db 24,36,49,192,235,14,137,246,60,32,114,116,131,224,31,116
+db 230,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
+#ifdef NAME1
+sizef(NAME1(lzo1y_decompress_asm_fast),.-NAME1(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1y_decompress_asm_fast),.-NAME2(lzo1y_decompress_asm_fast))
+#endif
+
+#ifdef NAME1
+typef(NAME1(lzo1y_decompress_asm))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1y_decompress_asm))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1y_decompress_asm))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1y_decompress_asm))
+#endif
+#ifdef NAME1
+NAME1(lzo1y_decompress_asm):
+#endif
+#ifdef NAME2
+NAME2(lzo1y_decompress_asm):
+#endif
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,251,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+db 60,64,114,52,137,193,193,232,2,141,87,255,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,73,57,232,115,56,235,120
+db 5,255,0,0,0,138,30,70,8,219,116,244,141,76,24,33
+db 49,192,235,16,141,116,38,0,60,32,114,124,131,224,31,116
+db 228,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+#ifdef NAME1
+sizef(NAME1(lzo1y_decompress_asm),.-NAME1(lzo1y_decompress_asm))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1y_decompress_asm),.-NAME2(lzo1y_decompress_asm))
+#endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_gas/asminit.def b/main/src/main/cpp/lzo/asm/i386/src_gas/asminit.def
new file mode 100644
index 00000000..0f1859ef
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_gas/asminit.def
@@ -0,0 +1,106 @@
+/* asminit.def --
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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/
+ */
+
+#undef _
+#ifndef NAME1
+#if defined(__ELF__)
+# define NAME1(a) a
+#elif (defined(__MACH__) && defined(__APPLE__))
+# define NAME1(a) _ ## a
+#elif defined(_WIN32) && !defined(_WIN64)
+# define NAME1(a) _ ## a
+#elif defined(_WIN64)
+# define NAME1(a) a
+#else
+# define NAME1(a) _ ## a
+# define NAME2(a) a
+#endif
+#endif
+#define XNAME(a,b,c) LZO_PP_ECONCAT3(NAME1(a),b,c)
+
+#ifndef LZO_PP_CONCAT2
+# define LZO_PP_CONCAT2(a,b) a ## b
+#endif
+#ifndef LZO_PP_CONCAT3
+# define LZO_PP_CONCAT3(a,b,c) a ## b ## c
+#endif
+#ifndef LZO_PP_ECONCAT3
+# define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
+#endif
+
+#ifndef p2align
+# define p2align(a) .p2align a
+#endif
+#ifndef globalf
+# define globalf(a) .globl a
+#endif
+#ifndef hiddenf
+# if defined(__ELF__)
+# define hiddenf(a) .hidden a
+# elif (defined(__MACH__) && defined(__APPLE__))
+# define hiddenf(a) .private_extern a
+# else
+# define hiddenf(a) /*empty*/
+# endif
+#endif
+#ifndef typef
+# if defined(__ELF__)
+# define typef(a) .type a,@function
+# else
+# define typef(a) /*empty*/
+# endif
+#endif
+#ifndef sizef
+# if defined(__ELF__)
+# define sizef(a,b) .size a,b
+# else
+# define sizef(a,b) /*empty*/
+# endif
+#endif
+
+#if defined(__ELF__)
+.section .note.GNU-stack,"",@progbits
+#endif
+.text
+#if defined(_WIN32) && !defined(_WIN64)
+#if defined(LZO_WIN32_FEAT_00)
+LZO_WIN32_FEAT_00
+#else
+#if defined(__GNUC__) && !defined(__clang__)
+.globl @feat.00
+#endif
+@feat.00 = 1
+#endif
+#endif
+#if defined(__ELF__) || (defined(__MACH__) && defined(__APPLE__)) || defined(_WIN32) || defined(_WIN64)
+p2align(6)
+#else
+p2align(4)
+#endif
+#ifndef db
+# define db .byte
+#endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1c_s1.S b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1c_s1.S
new file mode 100644
index 00000000..374e60f0
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1c_s1.S
@@ -0,0 +1,72 @@
+/* lzo1c_s1.S -- lzo1c_decompress_asm
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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"
+#ifdef NAME1
+typef(NAME1(lzo1c_decompress_asm))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1c_decompress_asm))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1c_decompress_asm))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1c_decompress_asm))
+#endif
+#ifdef NAME1
+NAME1(lzo1c_decompress_asm):
+#endif
+#ifdef NAME2
+NAME2(lzo1c_decompress_asm):
+#endif
+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,144,49,192,138,6,70,60,32,115
+db 15,8,192,116,51,137,193,243,164,138,6,70,60,32,114,72
+db 60,64,114,93,137,193,36,31,141,87,255,193,233,5,41,194
+db 138,6,70,193,224,5,41,194,65,135,242,243,164,137,214,235
+db 199,141,180,38,0,0,0,0,138,6,70,141,72,32,60,248
+db 114,197,185,24,1,0,0,44,248,116,6,145,48,192,211,224
+db 145,243,164,235,163,141,118,0,141,87,255,41,194,138,6,70
+db 193,224,5,41,194,135,242,164,164,164,137,214,164,49,192,235
+db 152,36,31,137,193,117,19,177,31,138,6,70,8,192,117,8
+db 129,193,255,0,0,0,235,241,1,193,138,6,70,137,195,36
+db 63,137,250,41,194,138,6,70,193,224,6,41,194,57,250,116
+db 27,135,214,141,73,3,243,164,137,214,49,192,193,235,6,137
+db 217,15,133,80,255,255,255,233,60,255,255,255,131,249,1,15
+db 149,192,139,84,36,40,3,84,36,44,57,214,119,38,114,29
+db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
+db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
+db 0,0,235,220,184,4,0,0,0,235,213,144,141,116,38,0
+#ifdef NAME1
+sizef(NAME1(lzo1c_decompress_asm),.-NAME1(lzo1c_decompress_asm))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1c_decompress_asm),.-NAME2(lzo1c_decompress_asm))
+#endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1f_f1.S b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1f_f1.S
new file mode 100644
index 00000000..4c5427bb
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1f_f1.S
@@ -0,0 +1,74 @@
+/* lzo1f_f1.S -- lzo1f_decompress_asm_fast
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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"
+#ifdef NAME1
+typef(NAME1(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME1
+NAME1(lzo1f_decompress_asm_fast):
+#endif
+#ifdef NAME2
+NAME2(lzo1f_decompress_asm_fast):
+#endif
+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,144,49,192,138,6,70,60,31,119
+db 51,8,192,137,193,117,19,138,6,70,8,192,117,8,129,193
+db 255,0,0,0,235,241,141,76,8,31,136,200,193,233,2,243
+db 165,36,3,116,8,139,30,1,198,137,31,1,199,138,6,70
+db 60,31,118,88,60,223,15,135,132,0,0,0,137,193,193,232
+db 2,141,87,255,36,7,193,233,5,137,195,138,6,141,4,195
+db 70,41,194,131,193,2,135,214,131,249,6,114,16,131,248,4
+db 114,11,136,200,193,233,2,243,165,36,3,136,193,243,164,137
+db 214,138,78,254,131,225,3,15,132,123,255,255,255,139,6,1
+db 206,137,7,1,207,49,192,138,6,70,235,164,193,232,2,141
+db 151,255,247,255,255,137,193,138,6,70,141,4,193,41,194,139
+db 2,137,7,131,199,3,235,201,138,6,70,8,192,117,8,129
+db 193,255,0,0,0,235,241,141,76,8,31,235,9,141,118,0
+db 36,31,137,193,116,226,137,250,102,139,6,131,198,2,193,232
+db 2,15,133,122,255,255,255,131,249,1,15,149,192,139,84,36
+db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
+db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
+db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
+db 4,0,0,0,235,213,141,118,0,141,188,39,0,0,0,0
+#ifdef NAME1
+sizef(NAME1(lzo1f_decompress_asm_fast),.-NAME1(lzo1f_decompress_asm_fast))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1f_decompress_asm_fast),.-NAME2(lzo1f_decompress_asm_fast))
+#endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1x_f1.S b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1x_f1.S
new file mode 100644
index 00000000..9ca92c34
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1x_f1.S
@@ -0,0 +1,82 @@
+/* lzo1x_f1.S -- lzo1x_decompress_asm_fast
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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"
+#ifdef NAME1
+typef(NAME1(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME1
+NAME1(lzo1x_decompress_asm_fast):
+#endif
+#ifdef NAME2
+NAME2(lzo1x_decompress_asm_fast):
+#endif
+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
+#ifdef NAME1
+sizef(NAME1(lzo1x_decompress_asm_fast),.-NAME1(lzo1x_decompress_asm_fast))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1x_decompress_asm_fast),.-NAME2(lzo1x_decompress_asm_fast))
+#endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1x_s1.S b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1x_s1.S
new file mode 100644
index 00000000..3e31c182
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1x_s1.S
@@ -0,0 +1,84 @@
+/* lzo1x_s1.S -- lzo1x_decompress_asm
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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"
+#ifdef NAME1
+typef(NAME1(lzo1x_decompress_asm))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1x_decompress_asm))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1x_decompress_asm))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1x_decompress_asm))
+#endif
+#ifdef NAME1
+NAME1(lzo1x_decompress_asm):
+#endif
+#ifdef NAME2
+NAME2(lzo1x_decompress_asm):
+#endif
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,247,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+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,65,57,232,115,55,235
+db 119,5,255,0,0,0,138,30,70,8,219,116,244,141,76,24
+db 33,49,192,235,15,141,118,0,60,32,114,124,131,224,31,116
+db 229,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+#ifdef NAME1
+sizef(NAME1(lzo1x_decompress_asm),.-NAME1(lzo1x_decompress_asm))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1x_decompress_asm),.-NAME2(lzo1x_decompress_asm))
+#endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1y_f1.S b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1y_f1.S
new file mode 100644
index 00000000..b3129c39
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1y_f1.S
@@ -0,0 +1,82 @@
+/* lzo1y_f1.S -- lzo1y_decompress_asm_fast
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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"
+#ifdef NAME1
+typef(NAME1(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME1
+NAME1(lzo1y_decompress_asm_fast):
+#endif
+#ifdef NAME2
+NAME2(lzo1y_decompress_asm_fast):
+#endif
+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,251
+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,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,131,193,2,57,232,115,54
+db 235,110,5,255,0,0,0,138,30,70,8,219,116,244,141,76
+db 24,36,49,192,235,14,137,246,60,32,114,116,131,224,31,116
+db 230,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
+#ifdef NAME1
+sizef(NAME1(lzo1y_decompress_asm_fast),.-NAME1(lzo1y_decompress_asm_fast))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1y_decompress_asm_fast),.-NAME2(lzo1y_decompress_asm_fast))
+#endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1y_s1.S b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1y_s1.S
new file mode 100644
index 00000000..c67db49d
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_gas/lzo1y_s1.S
@@ -0,0 +1,84 @@
+/* lzo1y_s1.S -- lzo1y_decompress_asm
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 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"
+#ifdef NAME1
+typef(NAME1(lzo1y_decompress_asm))
+#endif
+#ifdef NAME2
+typef(NAME2(lzo1y_decompress_asm))
+#endif
+#ifdef NAME1
+globalf(NAME1(lzo1y_decompress_asm))
+#endif
+#ifdef NAME2
+globalf(NAME2(lzo1y_decompress_asm))
+#endif
+#ifdef NAME1
+NAME1(lzo1y_decompress_asm):
+#endif
+#ifdef NAME2
+NAME2(lzo1y_decompress_asm):
+#endif
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,251,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+db 60,64,114,52,137,193,193,232,2,141,87,255,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,73,57,232,115,56,235,120
+db 5,255,0,0,0,138,30,70,8,219,116,244,141,76,24,33
+db 49,192,235,16,141,116,38,0,60,32,114,124,131,224,31,116
+db 228,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+#ifdef NAME1
+sizef(NAME1(lzo1y_decompress_asm),.-NAME1(lzo1y_decompress_asm))
+#endif
+#ifdef NAME2
+sizef(NAME2(lzo1y_decompress_asm),.-NAME2(lzo1y_decompress_asm))
+#endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_masm/all/asm_all.asm b/main/src/main/cpp/lzo/asm/i386/src_masm/all/asm_all.asm
new file mode 100644
index 00000000..58ae4708
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_masm/all/asm_all.asm
@@ -0,0 +1,213 @@
+; asm_all.asm --
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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 *****/
+
+.386p
+.model flat
+.code
+ifdef __MASM__
+option casemap:none
+endif
+ifdef __TASM__
+endif
+ifdef __WASM__
+endif
+
+public _lzo1c_decompress_asm
+_lzo1c_decompress_asm:
+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,144,49,192,138,6,70,60,32,115
+db 15,8,192,116,51,137,193,243,164,138,6,70,60,32,114,72
+db 60,64,114,93,137,193,36,31,141,87,255,193,233,5,41,194
+db 138,6,70,193,224,5,41,194,65,135,242,243,164,137,214,235
+db 199,141,180,38,0,0,0,0,138,6,70,141,72,32,60,248
+db 114,197,185,24,1,0,0,44,248,116,6,145,48,192,211,224
+db 145,243,164,235,163,141,118,0,141,87,255,41,194,138,6,70
+db 193,224,5,41,194,135,242,164,164,164,137,214,164,49,192,235
+db 152,36,31,137,193,117,19,177,31,138,6,70,8,192,117,8
+db 129,193,255,0,0,0,235,241,1,193,138,6,70,137,195,36
+db 63,137,250,41,194,138,6,70,193,224,6,41,194,57,250,116
+db 27,135,214,141,73,3,243,164,137,214,49,192,193,235,6,137
+db 217,15,133,80,255,255,255,233,60,255,255,255,131,249,1,15
+db 149,192,139,84,36,40,3,84,36,44,57,214,119,38,114,29
+db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
+db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
+db 0,0,235,220,184,4,0,0,0,235,213,144,141,116,38,0
+
+public _lzo1f_decompress_asm_fast
+_lzo1f_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,144,49,192,138,6,70,60,31,119
+db 51,8,192,137,193,117,19,138,6,70,8,192,117,8,129,193
+db 255,0,0,0,235,241,141,76,8,31,136,200,193,233,2,243
+db 165,36,3,116,8,139,30,1,198,137,31,1,199,138,6,70
+db 60,31,118,88,60,223,15,135,132,0,0,0,137,193,193,232
+db 2,141,87,255,36,7,193,233,5,137,195,138,6,141,4,195
+db 70,41,194,131,193,2,135,214,131,249,6,114,16,131,248,4
+db 114,11,136,200,193,233,2,243,165,36,3,136,193,243,164,137
+db 214,138,78,254,131,225,3,15,132,123,255,255,255,139,6,1
+db 206,137,7,1,207,49,192,138,6,70,235,164,193,232,2,141
+db 151,255,247,255,255,137,193,138,6,70,141,4,193,41,194,139
+db 2,137,7,131,199,3,235,201,138,6,70,8,192,117,8,129
+db 193,255,0,0,0,235,241,141,76,8,31,235,9,141,118,0
+db 36,31,137,193,116,226,137,250,102,139,6,131,198,2,193,232
+db 2,15,133,122,255,255,255,131,249,1,15,149,192,139,84,36
+db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
+db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
+db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
+db 4,0,0,0,235,213,141,118,0,141,188,39,0,0,0,0
+
+public _lzo1x_decompress_asm_fast
+_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
+
+public _lzo1x_decompress_asm
+_lzo1x_decompress_asm:
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,247,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+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,65,57,232,115,55,235
+db 119,5,255,0,0,0,138,30,70,8,219,116,244,141,76,24
+db 33,49,192,235,15,141,118,0,60,32,114,124,131,224,31,116
+db 229,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+
+public _lzo1y_decompress_asm_fast
+_lzo1y_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,251
+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,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,131,193,2,57,232,115,54
+db 235,110,5,255,0,0,0,138,30,70,8,219,116,244,141,76
+db 24,36,49,192,235,14,137,246,60,32,114,116,131,224,31,116
+db 230,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
+
+public _lzo1y_decompress_asm
+_lzo1y_decompress_asm:
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,251,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+db 60,64,114,52,137,193,193,232,2,141,87,255,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,73,57,232,115,56,235,120
+db 5,255,0,0,0,138,30,70,8,219,116,244,141,76,24,33
+db 49,192,235,16,141,116,38,0,60,32,114,124,131,224,31,116
+db 228,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+
+end
diff --git a/main/src/main/cpp/lzo/asm/i386/src_masm/asminit.def b/main/src/main/cpp/lzo/asm/i386/src_masm/asminit.def
new file mode 100644
index 00000000..5754d787
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_masm/asminit.def
@@ -0,0 +1,38 @@
+; asminit.def --
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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/
+;
+
+.386p
+.model flat
+.code
+
+ifdef __MASM__
+option casemap:none
+endif
+ifdef __TASM__
+endif
+ifdef __WASM__
+endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1c_s1.asm b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1c_s1.asm
new file mode 100644
index 00000000..67016e35
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1c_s1.asm
@@ -0,0 +1,51 @@
+; lzo1c_s1.asm -- lzo1c_decompress_asm
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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
+public _lzo1c_decompress_asm
+_lzo1c_decompress_asm:
+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,144,49,192,138,6,70,60,32,115
+db 15,8,192,116,51,137,193,243,164,138,6,70,60,32,114,72
+db 60,64,114,93,137,193,36,31,141,87,255,193,233,5,41,194
+db 138,6,70,193,224,5,41,194,65,135,242,243,164,137,214,235
+db 199,141,180,38,0,0,0,0,138,6,70,141,72,32,60,248
+db 114,197,185,24,1,0,0,44,248,116,6,145,48,192,211,224
+db 145,243,164,235,163,141,118,0,141,87,255,41,194,138,6,70
+db 193,224,5,41,194,135,242,164,164,164,137,214,164,49,192,235
+db 152,36,31,137,193,117,19,177,31,138,6,70,8,192,117,8
+db 129,193,255,0,0,0,235,241,1,193,138,6,70,137,195,36
+db 63,137,250,41,194,138,6,70,193,224,6,41,194,57,250,116
+db 27,135,214,141,73,3,243,164,137,214,49,192,193,235,6,137
+db 217,15,133,80,255,255,255,233,60,255,255,255,131,249,1,15
+db 149,192,139,84,36,40,3,84,36,44,57,214,119,38,114,29
+db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
+db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
+db 0,0,235,220,184,4,0,0,0,235,213,144,141,116,38,0
+end
diff --git a/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1f_f1.asm b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1f_f1.asm
new file mode 100644
index 00000000..f1252af9
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1f_f1.asm
@@ -0,0 +1,53 @@
+; lzo1f_f1.asm -- lzo1f_decompress_asm_fast
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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
+public _lzo1f_decompress_asm_fast
+_lzo1f_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,144,49,192,138,6,70,60,31,119
+db 51,8,192,137,193,117,19,138,6,70,8,192,117,8,129,193
+db 255,0,0,0,235,241,141,76,8,31,136,200,193,233,2,243
+db 165,36,3,116,8,139,30,1,198,137,31,1,199,138,6,70
+db 60,31,118,88,60,223,15,135,132,0,0,0,137,193,193,232
+db 2,141,87,255,36,7,193,233,5,137,195,138,6,141,4,195
+db 70,41,194,131,193,2,135,214,131,249,6,114,16,131,248,4
+db 114,11,136,200,193,233,2,243,165,36,3,136,193,243,164,137
+db 214,138,78,254,131,225,3,15,132,123,255,255,255,139,6,1
+db 206,137,7,1,207,49,192,138,6,70,235,164,193,232,2,141
+db 151,255,247,255,255,137,193,138,6,70,141,4,193,41,194,139
+db 2,137,7,131,199,3,235,201,138,6,70,8,192,117,8,129
+db 193,255,0,0,0,235,241,141,76,8,31,235,9,141,118,0
+db 36,31,137,193,116,226,137,250,102,139,6,131,198,2,193,232
+db 2,15,133,122,255,255,255,131,249,1,15,149,192,139,84,36
+db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
+db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
+db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
+db 4,0,0,0,235,213,141,118,0,141,188,39,0,0,0,0
+end
diff --git a/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1x_f1.asm b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1x_f1.asm
new file mode 100644
index 00000000..95feaa21
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1x_f1.asm
@@ -0,0 +1,61 @@
+; lzo1x_f1.asm -- lzo1x_decompress_asm_fast
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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
+public _lzo1x_decompress_asm_fast
+_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
+end
diff --git a/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1x_s1.asm b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1x_s1.asm
new file mode 100644
index 00000000..4af988a3
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1x_s1.asm
@@ -0,0 +1,63 @@
+; lzo1x_s1.asm -- lzo1x_decompress_asm
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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
+public _lzo1x_decompress_asm
+_lzo1x_decompress_asm:
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,247,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+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,65,57,232,115,55,235
+db 119,5,255,0,0,0,138,30,70,8,219,116,244,141,76,24
+db 33,49,192,235,15,141,118,0,60,32,114,124,131,224,31,116
+db 229,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+end
diff --git a/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1y_f1.asm b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1y_f1.asm
new file mode 100644
index 00000000..d86112ac
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1y_f1.asm
@@ -0,0 +1,61 @@
+; lzo1y_f1.asm -- lzo1y_decompress_asm_fast
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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
+public _lzo1y_decompress_asm_fast
+_lzo1y_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,251
+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,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,131,193,2,57,232,115,54
+db 235,110,5,255,0,0,0,138,30,70,8,219,116,244,141,76
+db 24,36,49,192,235,14,137,246,60,32,114,116,131,224,31,116
+db 230,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
+end
diff --git a/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1y_s1.asm b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1y_s1.asm
new file mode 100644
index 00000000..3c4ab481
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_masm/lzo1y_s1.asm
@@ -0,0 +1,63 @@
+; lzo1y_s1.asm -- lzo1y_decompress_asm
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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
+public _lzo1y_decompress_asm
+_lzo1y_decompress_asm:
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,251,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+db 60,64,114,52,137,193,193,232,2,141,87,255,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,73,57,232,115,56,235,120
+db 5,255,0,0,0,138,30,70,8,219,116,244,141,76,24,33
+db 49,192,235,16,141,116,38,0,60,32,114,124,131,224,31,116
+db 228,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+end
diff --git a/main/src/main/cpp/lzo/asm/i386/src_nasm/all/asm_all.asm b/main/src/main/cpp/lzo/asm/i386/src_nasm/all/asm_all.asm
new file mode 100644
index 00000000..87260c08
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_nasm/all/asm_all.asm
@@ -0,0 +1,387 @@
+; asm_all.asm --
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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 *****/
+
+bits 32
+%ifndef __OUTPUT_FORMAT__
+%error "__OUTPUT_FORMAT__ is not defined"
+%endif
+%ifidni __OUTPUT_FORMAT__,elf
+%undef __OUTPUT_FORMAT__
+%define __OUTPUT_FORMAT__ elf32
+%endif
+%ifidni __OUTPUT_FORMAT__,macho
+%undef __OUTPUT_FORMAT__
+%define __OUTPUT_FORMAT__ macho32
+%endif
+%ifidni __OUTPUT_FORMAT__,win
+%undef __OUTPUT_FORMAT__
+%define __OUTPUT_FORMAT__ win32
+%endif
+%ifdef __YASM_MAJOR__
+%ifidni __OUTPUT_FORMAT__,x64
+%undef __OUTPUT_FORMAT__
+%define __OUTPUT_FORMAT__ win64
+%endif
+%endif
+%ifndef NAME1
+%ifidni __OUTPUT_FORMAT__,elf32
+%define NAME1(a) a
+%elifidni __OUTPUT_FORMAT__,elf64
+%define NAME1(a) a
+%elifidni __OUTPUT_FORMAT__,macho32
+%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,macho64
+%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,win32
+%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,win64
+%define NAME1(a) a
+%else
+%define NAME1(a) _ %+ a
+%define NAME2(a) a
+%endif
+%endif
+%ifidni __OUTPUT_FORMAT__,elf32
+%define globalf(a) global a:function (a %+ _end - a)
+%define globalfh(a) global a:function hidden (a %+ _end - a)
+%define globalf_end(a) a %+ _end:
+%elifidni __OUTPUT_FORMAT__,elf64
+%define globalf(a) global a:function (a %+ _end - a)
+%define globalfh(a) global a:function hidden (a %+ _end - a)
+%define globalf_end(a) a %+ _end:
+%else
+%define globalf(a) global a
+%define globalfh(a) global a
+%define globalf_end(a)
+%endif
+%ifndef LZO_SEH_EXCEPTIONS
+%ifidni __OUTPUT_FORMAT__,win64
+%define LZO_SEH_EXCEPTIONS 1
+%endif
+%endif
+%ifndef LZO_SEH_EXCEPTIONS
+%define LZO_SEH_EXCEPTIONS 0
+%endif
+%ifidni __OUTPUT_FORMAT__,elf32
+section .note.GNU-stack noalloc noexec nowrite progbits
+%elifidni __OUTPUT_FORMAT__,elf64
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
+%ifidni __OUTPUT_FORMAT__,obj
+%if __BITS__==16
+segment _TEXT class=CODE public use16
+%else
+segment _TEXT class=CODE public use32 flat
+%endif
+%else
+section .text
+%endif
+%ifidni __OUTPUT_FORMAT__,elf32
+align 64
+%elifidni __OUTPUT_FORMAT__,elf64
+align 64
+%elifidni __OUTPUT_FORMAT__,macho32
+align 64
+%elifidni __OUTPUT_FORMAT__,macho64
+align 64
+%elifidni __OUTPUT_FORMAT__,win32
+align 64
+%elifidni __OUTPUT_FORMAT__,win64
+align 64
+%else
+align 16
+%endif
+
+%ifdef NAME1
+globalf(NAME1(lzo1c_decompress_asm))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1c_decompress_asm))
+%endif
+%ifdef NAME1
+NAME1(lzo1c_decompress_asm):
+%endif
+%ifdef NAME2
+NAME2(lzo1c_decompress_asm):
+%endif
+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,144,49,192,138,6,70,60,32,115
+db 15,8,192,116,51,137,193,243,164,138,6,70,60,32,114,72
+db 60,64,114,93,137,193,36,31,141,87,255,193,233,5,41,194
+db 138,6,70,193,224,5,41,194,65,135,242,243,164,137,214,235
+db 199,141,180,38,0,0,0,0,138,6,70,141,72,32,60,248
+db 114,197,185,24,1,0,0,44,248,116,6,145,48,192,211,224
+db 145,243,164,235,163,141,118,0,141,87,255,41,194,138,6,70
+db 193,224,5,41,194,135,242,164,164,164,137,214,164,49,192,235
+db 152,36,31,137,193,117,19,177,31,138,6,70,8,192,117,8
+db 129,193,255,0,0,0,235,241,1,193,138,6,70,137,195,36
+db 63,137,250,41,194,138,6,70,193,224,6,41,194,57,250,116
+db 27,135,214,141,73,3,243,164,137,214,49,192,193,235,6,137
+db 217,15,133,80,255,255,255,233,60,255,255,255,131,249,1,15
+db 149,192,139,84,36,40,3,84,36,44,57,214,119,38,114,29
+db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
+db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
+db 0,0,235,220,184,4,0,0,0,235,213,144,141,116,38,0
+%ifdef NAME1
+globalf_end(NAME1(lzo1c_decompress_asm))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1c_decompress_asm))
+%endif
+
+%ifdef NAME1
+globalf(NAME1(lzo1f_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1f_decompress_asm_fast))
+%endif
+%ifdef NAME1
+NAME1(lzo1f_decompress_asm_fast):
+%endif
+%ifdef NAME2
+NAME2(lzo1f_decompress_asm_fast):
+%endif
+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,144,49,192,138,6,70,60,31,119
+db 51,8,192,137,193,117,19,138,6,70,8,192,117,8,129,193
+db 255,0,0,0,235,241,141,76,8,31,136,200,193,233,2,243
+db 165,36,3,116,8,139,30,1,198,137,31,1,199,138,6,70
+db 60,31,118,88,60,223,15,135,132,0,0,0,137,193,193,232
+db 2,141,87,255,36,7,193,233,5,137,195,138,6,141,4,195
+db 70,41,194,131,193,2,135,214,131,249,6,114,16,131,248,4
+db 114,11,136,200,193,233,2,243,165,36,3,136,193,243,164,137
+db 214,138,78,254,131,225,3,15,132,123,255,255,255,139,6,1
+db 206,137,7,1,207,49,192,138,6,70,235,164,193,232,2,141
+db 151,255,247,255,255,137,193,138,6,70,141,4,193,41,194,139
+db 2,137,7,131,199,3,235,201,138,6,70,8,192,117,8,129
+db 193,255,0,0,0,235,241,141,76,8,31,235,9,141,118,0
+db 36,31,137,193,116,226,137,250,102,139,6,131,198,2,193,232
+db 2,15,133,122,255,255,255,131,249,1,15,149,192,139,84,36
+db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
+db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
+db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
+db 4,0,0,0,235,213,141,118,0,141,188,39,0,0,0,0
+%ifdef NAME1
+globalf_end(NAME1(lzo1f_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1f_decompress_asm_fast))
+%endif
+
+%ifdef NAME1
+globalf(NAME1(lzo1x_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1x_decompress_asm_fast))
+%endif
+%ifdef NAME1
+NAME1(lzo1x_decompress_asm_fast):
+%endif
+%ifdef NAME2
+NAME2(lzo1x_decompress_asm_fast):
+%endif
+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
+%ifdef NAME1
+globalf_end(NAME1(lzo1x_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1x_decompress_asm_fast))
+%endif
+
+%ifdef NAME1
+globalf(NAME1(lzo1x_decompress_asm))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1x_decompress_asm))
+%endif
+%ifdef NAME1
+NAME1(lzo1x_decompress_asm):
+%endif
+%ifdef NAME2
+NAME2(lzo1x_decompress_asm):
+%endif
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,247,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+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,65,57,232,115,55,235
+db 119,5,255,0,0,0,138,30,70,8,219,116,244,141,76,24
+db 33,49,192,235,15,141,118,0,60,32,114,124,131,224,31,116
+db 229,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+%ifdef NAME1
+globalf_end(NAME1(lzo1x_decompress_asm))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1x_decompress_asm))
+%endif
+
+%ifdef NAME1
+globalf(NAME1(lzo1y_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1y_decompress_asm_fast))
+%endif
+%ifdef NAME1
+NAME1(lzo1y_decompress_asm_fast):
+%endif
+%ifdef NAME2
+NAME2(lzo1y_decompress_asm_fast):
+%endif
+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,251
+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,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,131,193,2,57,232,115,54
+db 235,110,5,255,0,0,0,138,30,70,8,219,116,244,141,76
+db 24,36,49,192,235,14,137,246,60,32,114,116,131,224,31,116
+db 230,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
+%ifdef NAME1
+globalf_end(NAME1(lzo1y_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1y_decompress_asm_fast))
+%endif
+
+%ifdef NAME1
+globalf(NAME1(lzo1y_decompress_asm))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1y_decompress_asm))
+%endif
+%ifdef NAME1
+NAME1(lzo1y_decompress_asm):
+%endif
+%ifdef NAME2
+NAME2(lzo1y_decompress_asm):
+%endif
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,251,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+db 60,64,114,52,137,193,193,232,2,141,87,255,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,73,57,232,115,56,235,120
+db 5,255,0,0,0,138,30,70,8,219,116,244,141,76,24,33
+db 49,192,235,16,141,116,38,0,60,32,114,124,131,224,31,116
+db 228,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+%ifdef NAME1
+globalf_end(NAME1(lzo1y_decompress_asm))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1y_decompress_asm))
+%endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_nasm/asminit.def b/main/src/main/cpp/lzo/asm/i386/src_nasm/asminit.def
new file mode 100644
index 00000000..db792afc
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_nasm/asminit.def
@@ -0,0 +1,123 @@
+; asminit.def --
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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/
+;
+
+bits 32
+%ifndef __OUTPUT_FORMAT__
+%error "__OUTPUT_FORMAT__ is not defined"
+%endif
+%ifidni __OUTPUT_FORMAT__,elf
+%undef __OUTPUT_FORMAT__
+%define __OUTPUT_FORMAT__ elf32
+%endif
+%ifidni __OUTPUT_FORMAT__,macho
+%undef __OUTPUT_FORMAT__
+%define __OUTPUT_FORMAT__ macho32
+%endif
+%ifidni __OUTPUT_FORMAT__,win
+%undef __OUTPUT_FORMAT__
+%define __OUTPUT_FORMAT__ win32
+%endif
+%ifdef __YASM_MAJOR__
+%ifidni __OUTPUT_FORMAT__,x64
+%undef __OUTPUT_FORMAT__
+%define __OUTPUT_FORMAT__ win64
+%endif
+%endif
+
+%ifndef NAME1
+%ifidni __OUTPUT_FORMAT__,elf32
+%define NAME1(a) a
+%elifidni __OUTPUT_FORMAT__,elf64
+%define NAME1(a) a
+%elifidni __OUTPUT_FORMAT__,macho32
+%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,macho64
+%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,win32
+%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,win64
+%define NAME1(a) a
+%else
+%define NAME1(a) _ %+ a
+%define NAME2(a) a
+%endif
+%endif
+
+%ifidni __OUTPUT_FORMAT__,elf32
+%define globalf(a) global a:function (a %+ _end - a)
+;define globalfh(a) global a:function hidden
+%define globalfh(a) global a:function hidden (a %+ _end - a)
+%define globalf_end(a) a %+ _end:
+%elifidni __OUTPUT_FORMAT__,elf64
+%define globalf(a) global a:function (a %+ _end - a)
+;define globalfh(a) global a:function hidden
+%define globalfh(a) global a:function hidden (a %+ _end - a)
+%define globalf_end(a) a %+ _end:
+%else
+%define globalf(a) global a
+%define globalfh(a) global a
+%define globalf_end(a)
+%endif
+
+%ifndef LZO_SEH_EXCEPTIONS
+%ifidni __OUTPUT_FORMAT__,win64
+%define LZO_SEH_EXCEPTIONS 1
+%endif
+%endif
+%ifndef LZO_SEH_EXCEPTIONS
+%define LZO_SEH_EXCEPTIONS 0
+%endif
+
+%ifidni __OUTPUT_FORMAT__,elf32
+section .note.GNU-stack noalloc noexec nowrite progbits
+%elifidni __OUTPUT_FORMAT__,elf64
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
+%ifidni __OUTPUT_FORMAT__,obj
+%if __BITS__==16
+segment _TEXT class=CODE public use16
+%else
+segment _TEXT class=CODE public use32 flat
+%endif
+%else
+section .text
+%endif
+%ifidni __OUTPUT_FORMAT__,elf32
+align 64
+%elifidni __OUTPUT_FORMAT__,elf64
+align 64
+%elifidni __OUTPUT_FORMAT__,macho32
+align 64
+%elifidni __OUTPUT_FORMAT__,macho64
+align 64
+%elifidni __OUTPUT_FORMAT__,win32
+align 64
+%elifidni __OUTPUT_FORMAT__,win64
+align 64
+%else
+align 16
+%endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1c_s1.asm b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1c_s1.asm
new file mode 100644
index 00000000..cb408e0d
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1c_s1.asm
@@ -0,0 +1,66 @@
+; lzo1c_s1.asm -- lzo1c_decompress_asm
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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"
+%ifdef NAME1
+globalf(NAME1(lzo1c_decompress_asm))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1c_decompress_asm))
+%endif
+%ifdef NAME1
+NAME1(lzo1c_decompress_asm):
+%endif
+%ifdef NAME2
+NAME2(lzo1c_decompress_asm):
+%endif
+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,144,49,192,138,6,70,60,32,115
+db 15,8,192,116,51,137,193,243,164,138,6,70,60,32,114,72
+db 60,64,114,93,137,193,36,31,141,87,255,193,233,5,41,194
+db 138,6,70,193,224,5,41,194,65,135,242,243,164,137,214,235
+db 199,141,180,38,0,0,0,0,138,6,70,141,72,32,60,248
+db 114,197,185,24,1,0,0,44,248,116,6,145,48,192,211,224
+db 145,243,164,235,163,141,118,0,141,87,255,41,194,138,6,70
+db 193,224,5,41,194,135,242,164,164,164,137,214,164,49,192,235
+db 152,36,31,137,193,117,19,177,31,138,6,70,8,192,117,8
+db 129,193,255,0,0,0,235,241,1,193,138,6,70,137,195,36
+db 63,137,250,41,194,138,6,70,193,224,6,41,194,57,250,116
+db 27,135,214,141,73,3,243,164,137,214,49,192,193,235,6,137
+db 217,15,133,80,255,255,255,233,60,255,255,255,131,249,1,15
+db 149,192,139,84,36,40,3,84,36,44,57,214,119,38,114,29
+db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
+db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
+db 0,0,235,220,184,4,0,0,0,235,213,144,141,116,38,0
+%ifdef NAME1
+globalf_end(NAME1(lzo1c_decompress_asm))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1c_decompress_asm))
+%endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1f_f1.asm b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1f_f1.asm
new file mode 100644
index 00000000..ebad1fd7
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1f_f1.asm
@@ -0,0 +1,68 @@
+; lzo1f_f1.asm -- lzo1f_decompress_asm_fast
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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"
+%ifdef NAME1
+globalf(NAME1(lzo1f_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1f_decompress_asm_fast))
+%endif
+%ifdef NAME1
+NAME1(lzo1f_decompress_asm_fast):
+%endif
+%ifdef NAME2
+NAME2(lzo1f_decompress_asm_fast):
+%endif
+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,144,49,192,138,6,70,60,31,119
+db 51,8,192,137,193,117,19,138,6,70,8,192,117,8,129,193
+db 255,0,0,0,235,241,141,76,8,31,136,200,193,233,2,243
+db 165,36,3,116,8,139,30,1,198,137,31,1,199,138,6,70
+db 60,31,118,88,60,223,15,135,132,0,0,0,137,193,193,232
+db 2,141,87,255,36,7,193,233,5,137,195,138,6,141,4,195
+db 70,41,194,131,193,2,135,214,131,249,6,114,16,131,248,4
+db 114,11,136,200,193,233,2,243,165,36,3,136,193,243,164,137
+db 214,138,78,254,131,225,3,15,132,123,255,255,255,139,6,1
+db 206,137,7,1,207,49,192,138,6,70,235,164,193,232,2,141
+db 151,255,247,255,255,137,193,138,6,70,141,4,193,41,194,139
+db 2,137,7,131,199,3,235,201,138,6,70,8,192,117,8,129
+db 193,255,0,0,0,235,241,141,76,8,31,235,9,141,118,0
+db 36,31,137,193,116,226,137,250,102,139,6,131,198,2,193,232
+db 2,15,133,122,255,255,255,131,249,1,15,149,192,139,84,36
+db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
+db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
+db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
+db 4,0,0,0,235,213,141,118,0,141,188,39,0,0,0,0
+%ifdef NAME1
+globalf_end(NAME1(lzo1f_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1f_decompress_asm_fast))
+%endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1x_f1.asm b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1x_f1.asm
new file mode 100644
index 00000000..e5594740
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1x_f1.asm
@@ -0,0 +1,76 @@
+; lzo1x_f1.asm -- lzo1x_decompress_asm_fast
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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"
+%ifdef NAME1
+globalf(NAME1(lzo1x_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1x_decompress_asm_fast))
+%endif
+%ifdef NAME1
+NAME1(lzo1x_decompress_asm_fast):
+%endif
+%ifdef NAME2
+NAME2(lzo1x_decompress_asm_fast):
+%endif
+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
+%ifdef NAME1
+globalf_end(NAME1(lzo1x_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1x_decompress_asm_fast))
+%endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1x_s1.asm b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1x_s1.asm
new file mode 100644
index 00000000..cd4cb71d
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1x_s1.asm
@@ -0,0 +1,78 @@
+; lzo1x_s1.asm -- lzo1x_decompress_asm
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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"
+%ifdef NAME1
+globalf(NAME1(lzo1x_decompress_asm))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1x_decompress_asm))
+%endif
+%ifdef NAME1
+NAME1(lzo1x_decompress_asm):
+%endif
+%ifdef NAME2
+NAME2(lzo1x_decompress_asm):
+%endif
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,247,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+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,65,57,232,115,55,235
+db 119,5,255,0,0,0,138,30,70,8,219,116,244,141,76,24
+db 33,49,192,235,15,141,118,0,60,32,114,124,131,224,31,116
+db 229,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+%ifdef NAME1
+globalf_end(NAME1(lzo1x_decompress_asm))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1x_decompress_asm))
+%endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1y_f1.asm b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1y_f1.asm
new file mode 100644
index 00000000..6c65bb1c
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1y_f1.asm
@@ -0,0 +1,76 @@
+; lzo1y_f1.asm -- lzo1y_decompress_asm_fast
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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"
+%ifdef NAME1
+globalf(NAME1(lzo1y_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1y_decompress_asm_fast))
+%endif
+%ifdef NAME1
+NAME1(lzo1y_decompress_asm_fast):
+%endif
+%ifdef NAME2
+NAME2(lzo1y_decompress_asm_fast):
+%endif
+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,251
+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,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,131,193,2,57,232,115,54
+db 235,110,5,255,0,0,0,138,30,70,8,219,116,244,141,76
+db 24,36,49,192,235,14,137,246,60,32,114,116,131,224,31,116
+db 230,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
+%ifdef NAME1
+globalf_end(NAME1(lzo1y_decompress_asm_fast))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1y_decompress_asm_fast))
+%endif
diff --git a/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1y_s1.asm b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1y_s1.asm
new file mode 100644
index 00000000..08aeec31
--- /dev/null
+++ b/main/src/main/cpp/lzo/asm/i386/src_nasm/lzo1y_s1.asm
@@ -0,0 +1,78 @@
+; lzo1y_s1.asm -- lzo1y_decompress_asm
+;
+; This file is part of the LZO real-time data compression library.
+;
+; Copyright (C) 1996-2017 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"
+%ifdef NAME1
+globalf(NAME1(lzo1y_decompress_asm))
+%endif
+%ifdef NAME2
+globalf(NAME2(lzo1y_decompress_asm))
+%endif
+%ifdef NAME1
+NAME1(lzo1y_decompress_asm):
+%endif
+%ifdef NAME2
+NAME2(lzo1y_decompress_asm):
+%endif
+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,35
+db 44,17,60,4,115,40,137,193,235,56,5,255,0,0,0,138
+db 30,70,8,219,116,244,141,68,24,18,235,18,141,116,38,0
+db 138,6,70,60,16,115,73,8,192,116,228,131,192,3,137,193
+db 193,232,2,33,233,139,22,131,198,4,137,23,131,199,4,72
+db 117,243,243,164,138,6,70,60,16,115,37,193,232,2,138,30
+db 141,151,255,251,255,255,141,4,152,70,41,194,138,2,136,7
+db 138,66,1,136,71,1,138,66,2,136,71,2,1,239,235,119
+db 60,64,114,52,137,193,193,232,2,141,87,255,33,232,138,30
+db 193,233,4,141,4,152,70,41,194,73,57,232,115,56,235,120
+db 5,255,0,0,0,138,30,70,8,219,116,244,141,76,24,33
+db 49,192,235,16,141,116,38,0,60,32,114,124,131,224,31,116
+db 228,141,72,2,102,139,6,141,87,255,193,232,2,131,198,2
+db 41,194,57,232,114,66,137,203,193,235,2,116,17,139,2,131
+db 194,4,137,7,131,199,4,75,117,243,33,233,116,9,138,2
+db 66,136,7,71,73,117,247,138,70,254,33,232,15,132,46,255
+db 255,255,138,14,70,136,15,71,72,117,247,138,6,70,233,109
+db 255,255,255,144,141,116,38,0,135,214,243,164,137,214,235,215
+db 129,193,255,0,0,0,138,30,70,8,219,116,243,141,76,11
+db 9,235,25,144,141,116,38,0,60,16,114,44,137,193,131,224
+db 8,193,224,13,131,225,7,116,221,131,193,2,102,139,6,131
+db 198,2,141,151,0,192,255,255,193,232,2,116,43,41,194,233
+db 114,255,255,255,141,116,38,0,193,232,2,138,30,141,87,255
+db 141,4,152,70,41,194,138,2,136,7,138,90,1,136,95,1
+db 131,199,2,233,111,255,255,255,131,249,3,15,149,192,139,84
+db 36,40,3,84,36,44,57,214,119,38,114,29,43,124,36,48
+db 139,84,36,52,137,58,247,216,131,196,12,90,89,91,94,95
+db 93,195,184,1,0,0,0,235,227,184,8,0,0,0,235,220
+db 184,4,0,0,0,235,213,137,246,141,188,39,0,0,0,0
+%ifdef NAME1
+globalf_end(NAME1(lzo1y_decompress_asm))
+%endif
+%ifdef NAME2
+globalf_end(NAME2(lzo1y_decompress_asm))
+%endif