**Describe the bug**

When testing Blosc2.jl, I encountered the following error when using `shuffle`.

```
[541990] signal (4.2): Illegal instruction
in expression starting at /home/mkitti/.julia/dev/Blosc2/test/main/compression.jl:145
shuffle at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
pipeline_forward at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
blosc_c at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
do_job at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
blosc_compress_context at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
blosc2_compress_ctx at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
blosc2_compress_ctx at /home/mkitti/.julia/dev/Blosc2/src/lib/generated.jl:565 [inlined]
unsafe_compress! at /home/mkitti/.julia/dev/Blosc2/src/compression/compress.jl:30 [inlined]
compress! at /home/mkitti/.julia/dev/Blosc2/src/compression/compress.jl:56
compress! at /home/mkitti/.julia/dev/Blosc2/src/compression/compress.jl:49
...
```

**To Reproduce**
TBD

**Expected behavior**
The program should not crash with illegal instruction.

**Logs**
If applicable, add logs to help explain your problem.

**System information:**
 - OS: Linux
 - Compiler gcc
 - Version 2.13.1

**Additional context**

AMD Bulldozer

```
$ cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 21
model		: 2
model name	: AMD FX(tm)-8350 Eight-Core Processor
stepping	: 0
microcode	: 0x6000852
cpu MHz		: 1516.541
cache size	: 2048 KB
physical id	: 0
siblings	: 8
core id		: 0
cpu cores	: 4
apicid		: 16
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb cpb hw_pstate ssbd ibpb vmmcall bmi1 arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs		: fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed
bogomips	: 8669.59
TLB size	: 1536 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro
```

This is reminiscent of https://github.com/Blosc/c-blosc/issues/371
Invalid instruction at 0x7f89795d34c4 in shuffle
This is a GitHub Issue
repo:c-blosc2
owner:Blosc
Title : Invalid instruction at 0x7f89795d34c4 in shuffle
Issue date:

--- start body ---
**Describe the bug**

When testing Blosc2.jl, I encountered the following error when using `shuffle`.

```
[541990] signal (4.2): Illegal instruction
in expression starting at /home/mkitti/.julia/dev/Blosc2/test/main/compression.jl:145
shuffle at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
pipeline_forward at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
blosc_c at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
do_job at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
blosc_compress_context at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
blosc2_compress_ctx at /home/mkitti/.julia/artifacts/ec876eb13f7a8b92b11d69ddc3288089cd6ec78b/lib/libblosc2.so (unknown line)
blosc2_compress_ctx at /home/mkitti/.julia/dev/Blosc2/src/lib/generated.jl:565 [inlined]
unsafe_compress! at /home/mkitti/.julia/dev/Blosc2/src/compression/compress.jl:30 [inlined]
compress! at /home/mkitti/.julia/dev/Blosc2/src/compression/compress.jl:56
compress! at /home/mkitti/.julia/dev/Blosc2/src/compression/compress.jl:49
...
```

**To Reproduce**
TBD

**Expected behavior**
The program should not crash with illegal instruction.

**Logs**
If applicable, add logs to help explain your problem.

**System information:**
 - OS: Linux
 - Compiler gcc
 - Version 2.13.1

**Additional context**

AMD Bulldozer

```
$ cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 21
model		: 2
model name	: AMD FX(tm)-8350 Eight-Core Processor
stepping	: 0
microcode	: 0x6000852
cpu MHz		: 1516.541
cache size	: 2048 KB
physical id	: 0
siblings	: 8
core id		: 0
cpu cores	: 4
apicid		: 16
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb cpb hw_pstate ssbd ibpb vmmcall bmi1 arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs		: fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed
bogomips	: 8669.59
TLB size	: 1536 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro
```

This is reminiscent of https://github.com/Blosc/c-blosc/issues/371
--- end body ---

The issue indicates a potential vulnerability in the Blosc2 library where an illegal instruction error occurs during the execution of the `shuffle` function. This could be exploited to cause a Denial of Service (DoS) by crashing the application when specific conditions are met, such as using certain CPU architectures or configurations that trigger this illegal instruction.