Skip to content

Commit ce44e79

Browse files
committed
Merge branch 'master' into featSME
2 parents b504f2e + 91da2ad commit ce44e79

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+924
-212
lines changed

.clang-format-ignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
include/aarch64_multibinary.h
22
include/aarch64_label.h
33
**/aarch64/*.h
4+
5+
include/riscv64_multibinary.h
6+
**/riscv64/*.h

.github/workflows/ci.yml

Lines changed: 78 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
CLANGFORMAT: clang-format-18
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/checkout@v2.3.4
20+
- uses: actions/checkout@v4.2.2
2121
with:
2222
fetch-depth: 2
2323
- name: Install clang-format-18
@@ -41,7 +41,7 @@ jobs:
4141
- nasm
4242
runs-on: ${{ matrix.os }}
4343
steps:
44-
- uses: actions/checkout@v2.3.4
44+
- uses: actions/checkout@v4.2.2
4545
- name: Install build dependencies (Linux)
4646
run: sudo apt install ${{ matrix.assembler }}
4747
if: runner.os == 'Linux'
@@ -58,14 +58,86 @@ jobs:
5858
- name: Run extended tests
5959
run: bash tools/test_extended.sh
6060

61+
run_tests_mingw_linux_64:
62+
needs: check_format
63+
runs-on: ubuntu-latest
64+
steps:
65+
- uses: actions/[email protected]
66+
- name: Install build dependencies (Linux)
67+
run: sudo apt install nasm mingw-w64
68+
- name: Build
69+
shell: bash
70+
run: |
71+
make -j $(nproc) -f Makefile.unx programs/igzip tests arch=mingw host_cpu=x86_64
72+
# wine does not seem available, hence cannot run tests.
73+
74+
run_tests_mingw_linux_32:
75+
needs: check_format
76+
runs-on: ubuntu-latest
77+
steps:
78+
- uses: actions/[email protected]
79+
- name: Install build dependencies (Linux)
80+
run: sudo apt install nasm mingw-w64
81+
- name: Build
82+
shell: bash
83+
run: |
84+
make -j $(nproc) -f Makefile.unx programs/igzip tests arch=mingw host_cpu=base_aliases CC=i686-w64-mingw32-gcc
85+
86+
run_tests_mingw_windows_64:
87+
needs: check_format
88+
runs-on: windows-latest
89+
steps:
90+
- uses: actions/[email protected]
91+
- name: Install nasm
92+
uses: ilammy/[email protected]
93+
- name: Build
94+
shell: bash
95+
run: |
96+
make -j $(nproc) -f Makefile.unx programs/igzip tests SIM= arch=mingw host_cpu=x86_64 AR=x86_64-w64-mingw32-gcc-ar
97+
- name: Run tests
98+
shell: bash
99+
run: |
100+
# autoconf is missing, hence simulates test_checks.sh
101+
make -j $(nproc) -f Makefile.unx check D=TEST_SEED=0 SIM= arch=mingw host_cpu=x86_64 AR=x86_64-w64-mingw32-gcc-ar
102+
- name: Run extended tests
103+
shell: bash
104+
run: |
105+
# simulates test_extended.sh
106+
make -j $(nproc) -f Makefile.unx perf D=TEST_SEED=0 SIM= arch=mingw host_cpu=x86_64 AR=x86_64-w64-mingw32-gcc-ar
107+
make -j $(nproc) -f Makefile.unx test D=TEST_SEED=0 SIM= arch=mingw host_cpu=x86_64 AR=x86_64-w64-mingw32-gcc-ar
108+
109+
# seems like i686-w64-mingw32-gcc is not available on windows runner.
110+
61111
run_tests_windows:
62112
needs: check_format
63113
runs-on: windows-latest
64114
steps:
65-
- uses: actions/checkout@v2.3.4
115+
- uses: actions/checkout@v4.2.2
66116
- name: Set MSVC developer prompt
67-
uses: ilammy/msvc-dev-cmd@v1.6.0
117+
uses: ilammy/msvc-dev-cmd@v1.13.0
68118
- name: Install nasm
69-
uses: ilammy/setup-nasm@v1.2.0
119+
uses: ilammy/setup-nasm@v1.5.2
70120
- name: Build
71-
run: nmake -f Makefile.nmake
121+
run: |
122+
nmake -f Makefile.nmake || exit /b 1
123+
nmake checks -f Makefile.nmake || exit /b 1
124+
nmake perfs -f Makefile.nmake || exit /b 1
125+
- name: Run perf apps
126+
run: nmake perf -f Makefile.nmake || exit /b 1
127+
- name: Run checks
128+
run: nmake check -f Makefile.nmake || exit /b 1
129+
130+
run_tests_linux-riscv64-v:
131+
needs: check_format
132+
runs-on: run_tests_linux-riscv64-v
133+
steps:
134+
- uses: actions/[email protected]
135+
- name: Build
136+
run: |
137+
./autogen.sh
138+
./configure
139+
bash -c 'make -j $(nproc)'
140+
- name: Run tests
141+
run: bash tools/test_checks.sh
142+
- name: Run extended tests
143+
run: bash tools/test_extended.sh

Makefile.am

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@ other_tests_x86_64=
2929
other_tests_x86_32=
3030
other_tests_aarch64=
3131
other_tests_ppc64le=
32+
other_tests_riscv64=
3233
lsrc_x86_64=
3334
lsrc_x86_32=
3435
lsrc_aarch64=
3536
lsrc_ppc64le=
37+
lsrc_riscv64=
3638
lsrc_base_aliases=
3739
lsrc32=
3840
unit_tests32=
@@ -83,6 +85,12 @@ libisal_la_SOURCES += ${lsrc_ppc64le}
8385
other_tests += ${other_tests_ppc64le}
8486
endif
8587

88+
if CPU_RISCV64
89+
ARCH=-Driscv64
90+
libisal_la_SOURCES += ${lsrc_riscv64}
91+
other_tests += ${other_tests_riscv64}
92+
endif
93+
8694
if CPU_UNDEFINED
8795
libisal_la_SOURCES += ${lsrc_base_aliases}
8896
endif
@@ -131,6 +139,9 @@ endif
131139
if CPU_AARCH64
132140
as_filter = $(CC) -D__ASSEMBLY__
133141
endif
142+
if CPU_RISCV64
143+
as_filter = $(CC) -D__ASSEMBLY__
144+
endif
134145

135146
CCAS = $(as_filter)
136147
EXTRA_DIST += tools/yasm-filter.sh tools/nasm-filter.sh
@@ -142,6 +153,9 @@ AM_CCASFLAGS = ${AM_CFLAGS}
142153
else
143154
AM_CCASFLAGS = ${yasm_args} ${INCLUDE} ${src_include} ${DEFS} ${D}
144155
endif
156+
if CPU_RISCV64
157+
AM_CCASFLAGS = ${AM_CFLAGS}
158+
endif
145159

146160
.asm.s:
147161
@echo " MKTMP " $@;

Makefile.nmake

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@ ex = \
264264
crc_simple_test.exe \
265265
crc64_example.exe \
266266
igzip_example.exe \
267+
igzip_inflate_example.exe \
267268
igzip_sync_flush_example.exe \
268269
ec_simple_example.exe \
269270
ec_piggyback_example.exe
@@ -335,6 +336,8 @@ perfs = \
335336

336337
perfs: lib $(perfs)
337338
$(perfs): $(@B).obj
339+
perf: $(perfs)
340+
!$?
338341

339342
progs = \
340343
igzip.exe
@@ -354,7 +357,7 @@ isa-l.h:
354357
@echo.>> $@
355358
@echo #define ISAL_MAJOR_VERSION 2 >> $@
356359
@echo #define ISAL_MINOR_VERSION 31 >> $@
357-
@echo #define ISAL_PATCH_VERSION 0 >> $@
360+
@echo #define ISAL_PATCH_VERSION 1 >> $@
358361
@echo #define ISAL_MAKE_VERSION(maj, min, patch) ((maj) * 0x10000 + (min) * 0x100 + (patch))>> $@
359362
@echo #define ISAL_VERSION ISAL_MAKE_VERSION(ISAL_MAJOR_VERSION, ISAL_MINOR_VERSION, ISAL_PATCH_VERSION)>> $@
360363
@echo.>> $@

Release_notes.txt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
v2.31 Intel Intelligent Storage Acceleration Library Release Notes
2-
==================================================================
1+
v2.31.1 Intel Intelligent Storage Acceleration Library Release Notes
2+
====================================================================
33

44
RELEASE NOTE CONTENTS
55
1. KNOWN ISSUES
@@ -9,14 +9,25 @@ RELEASE NOTE CONTENTS
99
1. KNOWN ISSUES
1010
----------------
1111

12-
* Perf tests do not run in Windows environment.
13-
1412
* 32-bit lib is not supported in Windows.
1513

1614
* 32-bit lib is not validated.
1715

1816
2. FIXED ISSUES
1917
---------------
18+
v2.31.1
19+
20+
* Fixed return type for PowerPC _gf_vect_mul_base function.
21+
* Fixed isal_deflate_icf_finish_lvl1 dispatcher for aarch64.
22+
* Fixed CRC compilation on aarch64.
23+
* Fixed MacOS-14 compilation.
24+
* Fixed MinGW build.
25+
* Fixed Clang compilation on igzip library on aarch64.
26+
* Fixed spelling mistakes and typos.
27+
* Fixed Windows build on erasure code performance applications.
28+
* Fixed FreeBSD build warnings.
29+
* Fixed compilation with YASM.
30+
2031
v2.31
2132

2233
* Fixed various compilation issues/warnings for different platforms.

configure.ac

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
AC_PREREQ(2.69)
55
AC_INIT([libisal],
6-
[2.31.0],
6+
[2.31.1],
77
[https://github.com/intel/isa-l/issues],
88
[isa-l])
99
AC_CONFIG_SRCDIR([])
@@ -31,22 +31,15 @@ AS_CASE([$host_cpu],
3131
[arm64], [CPU="aarch64"],
3232
[powerpc64le], [CPU="ppc64le"],
3333
[ppc64le], [CPU="ppc64le"],
34+
[riscv64], [CPU="riscv64"],
3435
)
3536
AM_CONDITIONAL([CPU_X86_64], [test "$CPU" = "x86_64"])
3637
AM_CONDITIONAL([CPU_X86_32], [test "$CPU" = "x86_32"])
3738
AM_CONDITIONAL([CPU_AARCH64], [test "$CPU" = "aarch64"])
3839
AM_CONDITIONAL([CPU_PPC64LE], [test "$CPU" = "ppc64le"])
40+
AM_CONDITIONAL([CPU_RISCV64], [test "$CPU" = "riscv64"])
3941
AM_CONDITIONAL([CPU_UNDEFINED], [test "x$CPU" = "x"])
40-
41-
if test "$CPU" = "x86_64"; then
42-
is_x86=yes
43-
else
44-
if test "$CPU" = "x86_32"; then
45-
is_x86=yes
46-
else
47-
is_x86=no
48-
fi
49-
fi
42+
AM_CONDITIONAL([HAVE_RVV], [false])
5043

5144
# Check for programs
5245
AC_PROG_CC_STDC
@@ -57,6 +50,40 @@ AC_PREFIX_DEFAULT([/usr])
5750
AC_PROG_SED
5851
AC_PROG_MKDIR_P
5952

53+
case "${CPU}" in
54+
55+
x86_64)
56+
57+
is_x86=yes
58+
;;
59+
60+
x86_32)
61+
62+
is_x86=yes
63+
;;
64+
65+
riscv64)
66+
67+
AC_MSG_CHECKING([checking RVV support])
68+
AC_COMPILE_IFELSE(
69+
[AC_LANG_PROGRAM([], [
70+
__asm__ volatile(
71+
".option arch, +v\n"
72+
"vsetivli zero, 0, e8, m1, ta, ma\n"
73+
);
74+
])],
75+
[AC_DEFINE([HAVE_RVV], [1], [Enable RVV instructions])
76+
AM_CONDITIONAL([HAVE_RVV], [true]) rvv=yes],
77+
[AM_CONDITIONAL([HAVE_RVV], [false]) rvv=no]
78+
)
79+
AC_MSG_RESULT([$rvv])
80+
;;
81+
82+
*)
83+
is_x86=no
84+
85+
esac
86+
6087
# Options
6188
AC_ARG_ENABLE([debug],
6289
AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),

crc/Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ lsrc += \
3636
lsrc_base_aliases += crc/crc_base_aliases.c
3737
lsrc_x86_32 += crc/crc_base_aliases.c
3838
lsrc_ppc64le += crc/crc_base_aliases.c
39+
lsrc_riscv64 += crc/crc_base_aliases.c
3940

4041
lsrc_x86_64 += \
4142
crc/crc16_t10dif_01.asm \

0 commit comments

Comments
 (0)