From 02ddf09bc3079b3e17297729b9e43f14d407b8fc Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Mon, 13 Apr 2009 11:27:40 +0300 Subject: Put the interesting parts of XZ Utils into the public domain. Some minor documentation cleanups were made at the same time. --- src/liblzma/check/crc32_x86.S | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/liblzma/check/crc32_x86.S') diff --git a/src/liblzma/check/crc32_x86.S b/src/liblzma/check/crc32_x86.S index ec28cf5d..b3c7538f 100644 --- a/src/liblzma/check/crc32_x86.S +++ b/src/liblzma/check/crc32_x86.S @@ -1,11 +1,18 @@ /* * Speed-optimized CRC32 using slicing-by-eight algorithm - * Instruction set: i386 - * Optimized for: i686 * - * This code has been put into the public domain by its authors: - * Original code by Igor Pavlov - * Position-independent version by Lasse Collin + * This uses only i386 instructions, but it is optimized for i686 and later + * (including e.g. Pentium II/III/IV, Athlon XP, and Core 2). For i586 + * (e.g. Pentium), slicing-by-four would be better, and even the C version + * of slicing-by-eight built with gcc -march=i586 tends to be a little bit + * better than this. Very few probably run this code on i586 or older x86 + * so this shouldn't be a problem in practice. + * + * Authors: Igor Pavlov (original version) + * Lasse Collin (AT&T syntax, PIC support, better portability) + * + * This file has been put into the public domain. + * You can do whatever you want with this file. * * This code needs lzma_crc32_table, which can be created using the * following C code: @@ -15,10 +22,10 @@ uint32_t lzma_crc32_table[8][256]; void init_table(void) { - // IEEE-802.3 (CRC32) + // IEEE-802.3 static const uint32_t poly32 = UINT32_C(0xEDB88320); - // Castagnoli (CRC32C) + // Castagnoli // static const uint32_t poly32 = UINT32_C(0x82F63B78); // Koopman -- cgit v1.2.3