diff --git a/Makefile.nmake b/Makefile.nmake index 66a40c7..4888c0e 100644 --- a/Makefile.nmake +++ b/Makefile.nmake @@ -130,7 +130,6 @@ objs = \ bin\igzip_update_histogram_01.obj \ bin\igzip_update_histogram_04.obj \ bin\rfc1951_lookup.obj \ - bin\detect_repeated_char.obj \ bin\crc32_gzip_refl_by8.obj \ bin\adler32_sse.obj \ bin\adler32_avx2_4.obj \ diff --git a/igzip/Makefile.am b/igzip/Makefile.am index 91115b9..9c69704 100644 --- a/igzip/Makefile.am +++ b/igzip/Makefile.am @@ -46,7 +46,7 @@ lsrc_x86_64 += igzip/igzip_body_01.asm \ igzip/igzip_icf_body_h1_gr_bt.asm \ igzip/igzip_icf_finish.asm \ igzip/rfc1951_lookup.asm \ - igzip/crc32_gzip.asm igzip/detect_repeated_char.asm \ + igzip/crc32_gzip.asm \ igzip/adler32_sse.asm \ igzip/adler32_avx2_4.asm \ igzip/igzip_multibinary.asm \ diff --git a/igzip/detect_repeated_char.asm b/igzip/detect_repeated_char.asm deleted file mode 100644 index 2f6c07a..0000000 --- a/igzip/detect_repeated_char.asm +++ /dev/null @@ -1,81 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2016 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -%include "reg_sizes.asm" - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; detect_repeated_char buf, size -%ifidn __OUTPUT_FORMAT__, elf64 - %define buf rdi - %define size rsi -%elifidn __OUTPUT_FORMAT__, win64 - %define buf rcx - %define size rdx -%endif ; output formats - -%define tmp r10 - -global detect_repeated_char -detect_repeated_char: - -;; replicate the 1st byte to 8 bytes - xor tmp, tmp - xor rax, rax - - mov al, [buf] - mov ah, al - mov tmp %+ w, ax - shl tmp, 16 - or eax, tmp %+ d - mov tmp %+ d, eax - shl tmp, 32 - or rax, tmp - -;; detect the 8K input - lea tmp, [buf + size] -_loop: - cmp rax, [buf] - jne _fail - add buf, 8 - cmp buf, tmp - jb _loop - shr rax, 56 - jmp _end - -_fail: - mov rax, -1 - -_end: - ret - -%undef buf -%undef size -%undef tmp diff --git a/igzip/igzip.c b/igzip/igzip.c index 01ca1d8..ded73a4 100644 --- a/igzip/igzip.c +++ b/igzip/igzip.c @@ -84,8 +84,6 @@ static void write_stream_header(struct isal_zstream *stream); static int write_deflate_header_stateless(struct isal_zstream *stream); static int write_deflate_header_unaligned_stateless(struct isal_zstream *stream); -unsigned int detect_repeated_char(uint8_t * buf, uint32_t size); - #define TYPE0_HDR_LEN 4 #define TYPE0_BLK_HDR_LEN 5 #define TYPE0_MAX_BLK_LEN 65535