Go to file
liuqinfei 4815174a68 crc: optimize by supporting arm xor fusion feature
Arrange the two xor instructions according to the specified
paradigm, then the two xor instructions can be fused to execute
which can save one issue slot and one execution latency.

Change-Id: Ic64bcfe569b2468e4dc9c13d073d367cc81fd937
Signed-off-by: liuqinfei <lucas.liuqinfei@huawei.com>
2023-08-18 07:53:59 +00:00
.github/workflows build: Add top-level read-only permissions to ci actions 2022-10-28 17:05:01 -07:00
crc crc: optimize by supporting arm xor fusion feature 2023-08-18 07:53:59 +00:00
doc doc: Add notes on reentrancy and threading 2023-07-19 13:11:43 -07:00
erasure_code Fixes for aarch64 mac 2022-10-28 08:27:26 -07:00
examples ex: Add crc combine example for multiple polynomials 2023-02-10 15:41:35 -07:00
igzip igzip: Add precautionary reset hist_bits on stateless_init 2023-03-14 17:26:58 -07:00
include crc: add CRC64 rocksoft implementation 2023-05-08 12:37:44 +00:00
mem Fixes for aarch64 mac 2022-10-28 08:27:26 -07:00
programs build: Bump revision to 2.30 2020-11-06 18:08:16 -07:00
raid Fixes for aarch64 mac 2022-10-28 08:27:26 -07:00
tests/fuzz Fix s390 build 2022-01-04 11:06:17 -07:00
tools Use gindent on FreeBSD 2022-10-11 12:30:53 +02:00
.gitignore build: Add gitignore 2019-05-01 16:48:10 -07:00
.travis.yml build: Change travis osx to use std brew 2021-05-21 19:44:39 -07:00
autogen.sh Initial commit isa-l v2.14.1 2016-02-24 14:54:34 -07:00
configure.ac Properly add .note.gnu.property section to assembly codes 2022-01-20 12:23:30 -07:00
CONTRIBUTING.md doc: Update mailing list link 2019-10-16 17:13:54 -07:00
Doxyfile doc: Add security policy file 2022-07-18 19:53:53 -07:00
isa-l.def crc: add CRC64 rocksoft implementation 2023-05-08 12:37:44 +00:00
isa-l.rc build: Add ms rc file to put extra metatdata on dll 2021-09-02 18:27:51 -07:00
libisal.pc.in Initial commit isa-l v2.14.1 2016-02-24 14:54:34 -07:00
LICENSE build: Bump revision to 2.19 2017-06-26 04:47:40 -04:00
make.inc build: Change include shortcut D to not conflict with env 2021-09-14 19:18:31 -07:00
Makefile.am Properly add .note.gnu.property section to assembly codes 2022-01-20 12:23:30 -07:00
Makefile.nmake crc: add CRC64 rocksoft implementation 2023-05-08 12:37:44 +00:00
Makefile.unx build: Add auto regenerate of nmake file 2020-03-10 14:00:05 -07:00
README.md Update README.md 2023-07-06 09:41:56 +01:00
Release_notes.txt Update release notes for v2.30 additions 2020-11-04 14:59:33 -07:00
SECURITY.md doc: Add security policy file 2022-07-18 19:53:53 -07:00

Intel(R) Intelligent Storage Acceleration Library

Build Status Package on conda-forge

ISA-L is a collection of optimized low-level functions targeting storage applications. ISA-L includes:

  • Erasure codes - Fast block Reed-Solomon type erasure codes for any encode/decode matrix in GF(2^8).
  • CRC - Fast implementations of cyclic redundancy check. Six different polynomials supported.
    • iscsi32, ieee32, t10dif, ecma64, iso64, jones64, rocksoft64.
  • Raid - calculate and operate on XOR and P+Q parity found in common RAID implementations.
  • Compression - Fast deflate-compatible data compression.
  • De-compression - Fast inflate-compatible data compression.
  • igzip - A command line application like gzip, accelerated with ISA-L.

Also see:

Building ISA-L

Prerequisites

  • Make: GNU 'make' or 'nmake' (Windows).
  • Optional: Building with autotools requires autoconf/automake/libtool packages.
  • Optional: Manual generation requires help2man package.

x86_64:

  • Assembler: nasm. Version 2.15 or later suggested (other versions of nasm and yasm may build but with limited function support).
  • Compiler: gcc, clang, icc or VC compiler.

aarch64:

  • Assembler: gas v2.24 or later.
  • Compiler: gcc v4.7 or later.

other:

  • Compiler: Portable base functions are available that build with most C compilers.

Autotools

To build and install the library with autotools it is usually sufficient to run:

./autogen.sh
./configure
make
sudo make install

Makefile

To use a standard makefile run:

make -f Makefile.unx

Windows

On Windows use nmake to build dll and static lib:

nmake -f Makefile.nmake

or see details on setting up environment here.

Other make targets

Other targets include:

  • make check : create and run tests
  • make tests : create additional unit tests
  • make perfs : create included performance tests
  • make ex : build examples
  • make other : build other utilities such as compression file tests
  • make doc : build API manual