1. What CMakeLists call Altivec is in fact VSX, which is a later ISA. It is misleading to use Altivec name.

This is on a system where Altivec is supported (but VSX is not):
```
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:41:9: error: '__builtin_vsx_stxvw4x_v16qi' requires the '-mvsx' option
   41 |         vec_xst(xmm0[i], j + i * total_elements, dest);
      |         ^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:41:9: note: overloaded builtin '__builtin_vec_vsx_st' is implemented by builtin '__builtin_vsx_stxvw4x_v16qi'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c: In function 'shuffle4_altivec':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:57:7: error: '__builtin_vsx_lxvw4x_v16qi' requires the '-mvsx' option
   57 |       xmm0[i] = vec_xl(bytesoftype * j + 16 * i, src);
      |       ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:57:7: note: overloaded builtin '__builtin_vec_vsx_ld' is implemented by builtin '__builtin_vsx_lxvw4x_v16qi'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:65:9: error: '__builtin_vsx_stxvw4x_v16qi' requires the '-mvsx' option
   65 |         vec_xst(xmm0[i], j + i*total_elements, dest);
      |         ^~~~~~~
```
The code explicitly uses VSX built-ins.

2. Is there some reason why VSX are allowed only for little-endian version (ppc64le)? Big-endian ppc64 supports VSX insns, though starting from ISA 2.06. (So it should not be enabled without a check, of course.)
If it is undesirable to have a check for supported ISA, then it can be done via non-default configure option. So that those who use VSX-capable POWER hardware in big-endian mode could benefit from hardware capabilities.
Altivec option is misleading, it should be VSX; also, why only ppc64le, but not ppc64 (for supported CPUs)?
This is a GitHub Issue
repo:c-blosc2
owner:Blosc
Title : Altivec option is misleading, it should be VSX; also, why only ppc64le, but not ppc64 (for supported CPUs)?
Issue date:

--- start body ---
1. What CMakeLists call Altivec is in fact VSX, which is a later ISA. It is misleading to use Altivec name.

This is on a system where Altivec is supported (but VSX is not):
```
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:41:9: error: '__builtin_vsx_stxvw4x_v16qi' requires the '-mvsx' option
   41 |         vec_xst(xmm0[i], j + i * total_elements, dest);
      |         ^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:41:9: note: overloaded builtin '__builtin_vec_vsx_st' is implemented by builtin '__builtin_vsx_stxvw4x_v16qi'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c: In function 'shuffle4_altivec':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:57:7: error: '__builtin_vsx_lxvw4x_v16qi' requires the '-mvsx' option
   57 |       xmm0[i] = vec_xl(bytesoftype * j + 16 * i, src);
      |       ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:57:7: note: overloaded builtin '__builtin_vec_vsx_ld' is implemented by builtin '__builtin_vsx_lxvw4x_v16qi'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_archivers_blosc2/blosc2/work/c-blosc2-2.13.2/blosc/shuffle-altivec.c:65:9: error: '__builtin_vsx_stxvw4x_v16qi' requires the '-mvsx' option
   65 |         vec_xst(xmm0[i], j + i*total_elements, dest);
      |         ^~~~~~~
```
The code explicitly uses VSX built-ins.

2. Is there some reason why VSX are allowed only for little-endian version (ppc64le)? Big-endian ppc64 supports VSX insns, though starting from ISA 2.06. (So it should not be enabled without a check, of course.)
If it is undesirable to have a check for supported ISA, then it can be done via non-default configure option. So that those who use VSX-capable POWER hardware in big-endian mode could benefit from hardware capabilities.
--- end body ---
