722 Commits

Author SHA1 Message Date
Pablo de Lara
4f73b5285d ci: update github actions to latest versions
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2025-04-23 21:54:09 +00:00
Mattias Ellert
7e01b2c812 Address type mismatch warnings on riscv64
The riscv64 dispatcher code uses the same PROVIDER_INFO macro as the
aarch64 dispatcher and have the same kind of warnings during compilation:

igzip/riscv64/igzip_multibinary_riscv64_dispatcher.c:39:24: warning: type of 'adler32_base' does not match original declaration [-Wlto-type-mismatch]
   39 |                 return PROVIDER_BASIC(adler32);
      |                        ^
igzip/adler32_base.c:34:1: note: return value type mismatch
   34 | adler32_base(uint32_t adler32, uint8_t *start, uint64_t length)
      | ^
igzip/adler32_base.c:34:1: note: type 'uint32_t' should match type 'void'
igzip/adler32_base.c:34:1: note: 'adler32_base' was previously declared here

This commit introduces the same correction for riscv64.

Signed-off-by: Mattias Ellert <mattias.ellert@physics.uu.se>
2025-04-23 20:04:05 +01:00
Pablo de Lara
6b03bc4f1e igzip: fix coding style of inflate example
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2025-04-23 13:46:12 +01:00
Pablo de Lara
4fe61d3bce Show clang-format version
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2025-04-23 13:46:12 +01:00
Pablo de Lara
aa9e15f794 aarch64: remove unneeded defines
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2025-04-22 16:12:16 +01:00
Mattias Ellert
841f9e34ad Address type mismatch warnings on aarch64
The PROVIDER_INFO macro used in the aarch64 code declares all
functions with the signature:

extern void function(void);

The actual return type and parameter list of the functions are however
different. The declarations provided by the PROVIDER_INFO macro
therfore conflicts with the actual declarations of the functions
elsewhere in the code, causing compiler warnings.

This commit drops the PROVIDER_INFO macro and provides proper function
declarations, eiter by including a header file or by providing a
forward declaration. This corresponds to how the code for the other
architectures are handlinging this issue.

Signed-off-by: Mattias Ellert <mattias.ellert@physics.uu.se>
2025-04-22 12:55:53 +01:00
Karpenko, Veronika
3e03e91cef igzip: add inflate example
Signed-off-by: Karpenko, Veronika <veronika.karpenko@intel.com>
2025-04-08 10:13:32 +01:00
sunyuechi
c0bd84c20e add R-V V build check
Signed-off-by: sunyuechi <sunyuechi@iscas.ac.cn>
2025-03-20 19:22:40 +00:00
sunyuechi
027be4beb9 add volatile for igzip/checksum32_funs_test
When using RISC-V GCC 14, `gcc -O0` passes the test, but `gcc -O2` fails.

The log shows that it enters the branch `if (c_dut != c_ref) {`

even though `c_dut` and `c_ref` have the same value.

Adding `volatile` allows the test to pass.

Signed-off-by: sunyuechi <sunyuechi@iscas.ac.cn>
2025-03-20 19:22:40 +00:00
sunyuechi
e0687d4964 igzip: R-V V isal_adler32
banana_f3:
	new: adler32_warm: runtime =    3062612 usecs, bandwidth 3861 MB in 3.0626 sec = 1261.01 MB/s
	old: adler32_warm: runtime =    3062505 usecs, bandwidth 1027 MB in 3.0625 sec = 335.64 MB/s

Signed-off-by: sunyuechi <sunyuechi@iscas.ac.cn>
2025-03-20 19:22:40 +00:00
sunyuechi
83d58b856c multibinary: Add run-time cpu feature detect for riscv64
Signed-off-by: sunyuechi <sunyuechi@iscas.ac.cn>
2025-03-20 19:22:40 +00:00
Daniel Gregory
726a6f7c02 build: Add riscv64 support
Use the base implementations for every function.

Signed-off-by: Daniel Gregory <daniel.gregory@bytedance.com>
2025-03-20 19:22:40 +00:00
Pablo de Lara
633add1b56 igzip: fix header construction in Big Endian systems
When a file contains a number of repeated '0x00' or '0xff'
bytes, the block header is copied from a precomputed header,
which only worked for Little-Endian systems.

Fixes #311.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2025-02-04 10:13:32 +00:00
Mattias Ellert
e3c2d243a1 Address compiler warnings on ppc64le and s390x
igzip/igzip_icf_body.c:7:1: warning: type of 'gen_icf_map_lh1' does not match original declaration [-Wlto-type-mismatch]
    7 | gen_icf_map_lh1(struct isal_zstream *, struct deflate_icf *, uint32_t);
      | ^
igzip/igzip_base_aliases.c:177:1: note: return value type mismatch
  177 | gen_icf_map_lh1(struct isal_zstream *stream, struct deflate_icf *matches_icf_lookup,
      | ^
igzip/igzip_base_aliases.c:177:1: note: type 'void' should match type 'uint64_t'
igzip/igzip_base_aliases.c:177:1: note: 'gen_icf_map_lh1' was previously declared here
igzip/igzip_base_aliases.c:177:1: note: code may be misoptimized unless '-fno-strict-aliasing' is used
igzip/igzip_icf_body.c:9:1: warning: type of 'set_long_icf_fg' does not match original declaration [-Wlto-type-mismatch]
    9 | set_long_icf_fg(uint8_t *, uint64_t, uint64_t, struct deflate_icf *);
      | ^
igzip/igzip_base_aliases.c:170:1: note: type mismatch in parameter 2
  170 | set_long_icf_fg(uint8_t *next_in, uint8_t *end_in, struct deflate_icf *match_lookup,
      | ^
igzip/igzip_base_aliases.c:170:1: note: 'set_long_icf_fg' was previously declared here
igzip/igzip_base_aliases.c:170:1: note: code may be misoptimized unless '-fno-strict-aliasing' is used
igzip/igzip_base_aliases.c:62:1: warning: type of 'set_long_icf_fg_base' does not match original declaration [-Wlto-type-mismatch]
   62 | set_long_icf_fg_base(uint8_t *next_in, uint8_t *end_in, struct deflate_icf *match_lookup,
      | ^
igzip/igzip_icf_body.c:34:1: note: type mismatch in parameter 2
   34 | set_long_icf_fg_base(uint8_t *next_in, uint64_t processed, uint64_t input_size,
      | ^
igzip/igzip_icf_body.c:34:1: note: 'set_long_icf_fg_base' was previously declared here
igzip/igzip_icf_body.c:34:1: note: code may be misoptimized unless '-fno-strict-aliasing' is used
igzip/igzip_base_aliases.c:54:1: warning: type of 'adler32_base' does not match original declaration [-Wlto-type-mismatch]
   54 | adler32_base(uint32_t init, const unsigned char *buf, uint64_t len);
      | ^
igzip/adler32_base.c:34:1: note: type mismatch in parameter 3
   34 | adler32_base(uint32_t adler32, uint8_t *start, uint32_t length)
      | ^
igzip/adler32_base.c:34:1: note: type 'uint32_t' should match type 'uint64_t'
igzip/adler32_base.c:34:1: note: 'adler32_base' was previously declared here
igzip/adler32_base.c:34:1: note: code may be misoptimized unless '-fno-strict-aliasing' is used

Signed-off-by: Mattias Ellert <mattias.ellert@physics.uu.se>
2025-01-27 23:01:00 +01:00
Mattias Ellert
c387163fcb Revert soname change
The soname is equal to current minus age.
In version 2.31.0 current is 2 and age is set to 0.
In version 2.31.1 current is 2 and age is set to 1.
This means the soname goes backwards from 2 to 1.
The full library version changes from 2.0.31 to 1.1.31

The soname should not go backwards, so this soname change looks like a
mistake that should be reverted.

The current, revision, age for a library should change in one of three ways:

1) increase current by one, reset revision and age to 0.
2) increase current by one, reset revision to 0 and increase age by 1.
3) increase revision by 1, retain the values of current and age.

1) is for non-backward compatible changes to the library (changes or
removals to the old ABI). Soname changes and applications using the
library must be recompiled.

2) is for when there are ABI additions to the library, but no ABI
changes or removals. Application compiled against the old version of
the library don't need to be recompiled, and the soname (current minus
age) does not change.

3) is for minor updates with no ABI additions, changes or removals.

The major, minor, patch version of the software project should not be
used as current, revision, age for the library. Especially true for
using the patch version as age, because that means the soname goes
backwards for patch releases as happened here.

Signed-off-by: Mattias Ellert <mattias.ellert@physics.uu.se>
v2.31.1
2025-01-08 15:33:59 +00:00
Pablo de Lara
b0f067f94b mem: fix compilation with YASM
Fixes #294.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2025-01-08 15:32:19 +00:00
Pablo de Lara
28305ade9e Bump version to v2.31.1
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2025-01-03 10:26:01 +00:00
Pablo de Lara
504fa6721c Update release notes for v2.31.1
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2025-01-03 10:04:44 +00:00
Taiju Yamada
b1e6ac3c66 Assume pthread on MinGW
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-11-21 15:30:27 +00:00
Taiju Yamada
bd1ce56c43 add mingw CI
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-11-21 15:30:27 +00:00
Taiju Yamada
ae034d6f08 Use _byteswap_ushort etc for WIN32
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-11-21 15:30:27 +00:00
Taiju Yamada
ea1288fc6a Disable hardening build on mingw
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-11-21 15:30:27 +00:00
Marcel Cornu
aaad73e15d workflows: add validation to windows build
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-11-19 17:02:28 +00:00
Cornu, Marcel D
07f8028743 erasure_code: fix unaligned free error in perf apps on windows
Signed-off-by: Cornu, Marcel D <marcel.d.cornu@intel.com>
2024-11-19 14:20:33 +00:00
Cornu, Marcel D
00d6e6fe87 add perf target to windows makefile
Signed-off-by: Cornu, Marcel D <marcel.d.cornu@intel.com>
2024-11-19 14:20:33 +00:00
Marcel Cornu
496255cda6 tools: format source files in parallel
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-06-06 12:34:36 +01:00
Greg Troxel
0231d314f5 Extend FreeBSD conditional about byte ordering to NetBSD
NetBSD has the same byte-ordering idioms as FreeBSD.

Signed-off-by: Greg Troxel <gdt@lexort.com>
2024-06-06 12:33:54 +01:00
Bernd Schubert
dbaf284e11 aarch64_multibinary.h: Fix -Wasm-operand-widths
Compilation with clang gave warnings as per below.
Arm64 is has a width of 64 bit and these warnings came up.

In file included from igzip/aarch64/igzip_multibinary_aarch64_dispatcher.c:29:
./include/aarch64_multibinary.h:338:35: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
                asm("mrs %0, MIDR_EL1 " : "=r" (id));
                                                ^
./include/aarch64_multibinary.h:338:12: note: use constraint modifier "w"
                asm("mrs %0, MIDR_EL1 " : "=r" (id));
                         ^~
                         %w0
1 warning generated.
In file included from mem/aarch64/mem_aarch64_dispatcher.c:29:
./include/aarch64_multibinary.h:338:35: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
                asm("mrs %0, MIDR_EL1 " : "=r" (id));
                                                ^
./include/aarch64_multibinary.h:338:12: note: use constraint modifier "w"
                asm("mrs %0, MIDR_EL1 " : "=r" (id));
                         ^~
                         %w0
1 warning generated.

Signed-off-by: Bernd Schubert <bschubert@ddn.com>
2024-05-31 17:02:19 +01:00
Pablo de Lara
4e898eced6 mem: fix build on FreeBSD
Fix build warnings on FreeBSD, due to unused value.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-05-31 13:30:48 +01:00
Pablo de Lara
7ebc65baa7 igzip: fix build on FreeBSD
Fix build warnings on FreeBSD, due to unused value.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-05-31 13:30:48 +01:00
Pablo de Lara
47b2c5ab15 Makefile: remove duplicated pattern match
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-05-31 13:30:48 +01:00
Marcel Cornu
0234d629a4 clang-format: ignore aarch64_label.h
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-05-03 13:19:17 +01:00
Marcel Cornu
84ad119970 programs: add igzip binary as man page dependency
Required to support parallel builds

Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-05-03 13:19:17 +01:00
Marcel Cornu
75ce489550 workflows: use clang-format-18 to check format
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
9ab5a9e579 tests: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
ae951677ab raid: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
cf6105271a programs: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
aaa78d6a7c mem: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
fa5b8baf84 include: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
55fbfabfc6 igzip: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
9d99f8215d examples: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
300260a4d9 erasure_code: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
671e67b62d crc: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Marcel Cornu
07bca509e7 tools: use clang-format for style checking
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
Taiju Yamada
7b30857e20 Run macos-13 (actual x86_64 latest) and macos-14 (arm64) CIs
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-03-25 15:34:01 +00:00
Taiju Yamada
38279f5e9e Avoid using x18 register
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-03-25 15:34:01 +00:00
Taiju Yamada
14ec878aae enable macOS extended test
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-03-21 09:58:33 +00:00
Taiju Yamada
4b74fb2204 tools: replace echo -n with printf
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-03-21 09:58:33 +00:00
Pablo de Lara
69d4a8a081 Add CI/Coverity/OpenSSF scorecard badges
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-03-19 21:30:50 +00:00
Pablo de Lara
8c2ff41c7f build: allow alternative compiler
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-03-14 13:41:41 +00:00