Andrea Mazzoleni
|
d03a583523
|
Use vpternlogq in raid_gen3-6_avx512bw to fuse sequential vpxorq instructions into single 3-way XORs
|
2026-06-04 17:48:25 +02:00 |
|
Andrea Mazzoleni
|
7a2eac4bb3
|
Gate AVX-512BW gen1/gen2 behind slow_avx512() to avoid double-pumped shuffle penalties
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
|
2026-06-04 09:41:53 +02:00 |
|
Andrea Mazzoleni
|
fdadb443ad
|
Change RAID AVX512/GFNI functions to use forward iterations
|
2026-06-03 22:01:00 +02:00 |
|
Andrea Mazzoleni
|
54f1185cde
|
Remove the special case of a single data disk when not strictly required
|
2026-06-03 22:01:00 +02:00 |
|
Andrea Mazzoleni
|
33a62a4c74
|
Remove unused level 0 from the pshufb table
|
2026-06-03 22:01:00 +02:00 |
|
Andrea Mazzoleni
|
5fb82d6195
|
Change the AVX512BW generation to use pshufb also for Q parity
|
2026-06-03 22:01:00 +02:00 |
|
Andrea Mazzoleni
|
d9798b6377
|
Extend the pshufb table to include the Q parity coefficients
|
2026-06-03 22:01:00 +02:00 |
|
Andrea Mazzoleni
|
e3a0671c00
|
Assume the assembler supports all x86 SSE/AVX instructions
|
2026-06-03 22:00:59 +02:00 |
|
Andrea Mazzoleni
|
8ae654d8a6
|
Disable AVX512 on CPUs with narrow shuffle ports or double-pumped 256-bit datapath
|
2026-06-03 22:00:59 +02:00 |
|
Andrea Mazzoleni
|
821a0e444e
|
Optimize AVX512 gen1 parity with the vpternlogq instruction
|
2026-06-03 22:00:59 +02:00 |
|
Andrea Mazzoleni
|
31c394ec84
|
Comment about the RAID optimizations
|
2026-06-03 22:00:59 +02:00 |
|
Andrea Mazzoleni
|
914a0216b4
|
Use a simpler approach in the new AVX512 generation functions
|
2026-06-03 22:00:59 +02:00 |
|
Andrea Mazzoleni
|
746a9b8940
|
Preliminary support for AVX512GFNI
|
2026-06-03 22:00:59 +02:00 |
|
Andrea Mazzoleni
|
b61168a561
|
Add more AVX512 functions for parity
|
2026-06-03 22:00:59 +02:00 |
|
Andrea Mazzoleni
|
18aa07be36
|
Preliminary support for ADVX512
|
2026-06-03 22:00:59 +02:00 |
|
Christoph Hellwig
|
c889153cb2
|
Make all RAID forwarders static and local using a new registration interface
Co-authored-by: Andrea Mazzoleni <amadvance@gmail.com>
|
2026-06-03 22:00:59 +02:00 |
|
Andrea Mazzoleni
|
b709371d2d
|
Fix typos in the comment of the raid library
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
|
2026-04-15 10:53:25 +02:00 |
|
Christoph Hellwig
|
60269a1236
|
Use SPDX (https://spdx.dev/) tags to identify the license used for each
file, and a COPYING file explaining the licensing scheme, with the actual
licenses listed in the LICENSES/ directory.
|
2026-04-02 16:01:37 +02:00 |
|
Andrea Mazzoleni
|
1c06674d1a
|
Some comments about x86 optimizations
|
2015-06-20 16:47:50 +02:00 |
|
Andrea Mazzoleni
|
7fd0beb36a
|
Review of the new alignment method
|
2015-03-18 08:21:28 +01:00 |
|
Andrea Mazzoleni
|
b0d2368cce
|
Use a more generic approach to align the stack
This is independent of the compiler used.
|
2015-03-17 21:46:20 +01:00 |
|
Andrea Mazzoleni
|
c8558c28ac
|
Fix some formatting issues of the code
Now it matches the Linux kernel style.
|
2015-03-12 18:53:36 +01:00 |
|
Andrea Mazzoleni
|
a99cd9daff
|
Use specialized assembler header and footer for sse and avx
|
2015-03-10 19:02:23 +01:00 |
|
Andrea Mazzoleni
|
555b161df1
|
Minor changes to make it more similar at kernel version
|
2015-03-09 23:39:30 +01:00 |
|
Andrea Mazzoleni
|
763dccaaed
|
Use an implicit clobber list for asm snipsets
There is no speed gain in a custom clobber list.
|
2015-03-09 22:25:29 +01:00 |
|
Andrea Mazzoleni
|
4a92b064f4
|
Beautifies the raid lib.
|
2014-11-12 20:41:00 +01:00 |
|
Andrea Mazzoleni
|
6cfe0e66b2
|
Bautifies volatile calls.
|
2014-11-12 20:03:23 +01:00 |
|
Andrea Mazzoleni
|
7d6c30333f
|
Uses a more precise intructions set detection.
This allows to build with old assembler programs.
|
2014-11-12 19:52:35 +01:00 |
|
Andrea Mazzoleni
|
3274b7cd2e
|
Uses a different way to handle registers conflict with the compiler.
|
2014-09-21 08:45:33 +02:00 |
|
Andrea Mazzoleni
|
6effc8230e
|
Aligns with the Linux Kernel about using no-sse and no-avx.
|
2014-09-20 10:34:28 +02:00 |
|
Andrea Mazzoleni
|
8a8408a5d0
|
Adds GCC options to disable SSE2 use by the compiler.
|
2014-09-19 23:38:18 +02:00 |
|
Andrea Mazzoleni
|
a7cdd9cf2f
|
Adds missing AVX2 functions.
|
2014-09-16 20:17:54 +02:00 |
|
Andrea Mazzoleni
|
0e3901ca3e
|
Adds gen3/z support for AVX2.
|
2014-09-15 22:31:25 +02:00 |
|
Andrea Mazzoleni
|
957db46f5b
|
Preliminary AVX2 support.
|
2014-09-14 18:03:40 +02:00 |
|
Andrea Mazzoleni
|
44ef039a13
|
Different source organization.
|
2014-03-23 17:50:27 +01:00 |
|
Andrea Mazzoleni
|
a7bc628bc3
|
Moves the source files into the src/ dir.
|
2014-03-22 21:02:12 +01:00 |
|
Andrea Mazzoleni
|
00a05a80e5
|
Changes the argument format of raid_rec() and renames raid_par() to raid_gen().
|
2014-01-08 17:07:13 +01:00 |
|
Andrea Mazzoleni
|
21436089c7
|
Removes unnecessary register loads.
|
2014-01-04 17:29:04 +01:00 |
|
Andrea Mazzoleni
|
eef93ebb0a
|
Uses inline functions instead of macros for asm_begin/end().
|
2014-01-03 12:31:38 +01:00 |
|
Andrea Mazzoleni
|
6b619906af
|
Refactors again function calls.
|
2014-01-03 10:36:21 +01:00 |
|
Andrea Mazzoleni
|
cbddaa108d
|
Refactors even more and add an additional selftest.
|
2013-12-31 15:46:24 +01:00 |
|
Andrea Mazzoleni
|
8a904cbe7a
|
Uses specific architecture defines.
|
2013-12-30 21:12:29 +01:00 |
|
Andrea Mazzoleni
|
03482b84a6
|
Moves RAID tests in the raid/ dir.
|
2013-12-29 22:13:08 +01:00 |
|
Andrea Mazzoleni
|
684edf2173
|
Updates the coding style of the RAID engine.
|
2013-12-28 12:04:16 +01:00 |
|
Andrea Mazzoleni
|
abc05c612c
|
Splits the RAID engine in multiple files.
|
2013-12-28 09:10:00 +01:00 |
|