Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds fixed size SVE support to xsimd. Client must specify the
vector size in compiler options to enable SVE features.
E.g.,
-march=armv8-a+sve -msve-vector-bits=128
Make sure the vector size matches the hardware runs the code. Otherwise
the program behaviour is undefined, which may lead to crashes, hangs,
wrong results, even spurious successes.
The SVE ISA in hidden in
detail::sve
, not meant to be directly used byclient code. To make it explict that we only support fixed size SVE,
trivial aliases like
sve128
,sve256
are exported for client to use.They are only defined if client specifies according vector size at
compile time.
CI jobs are added to verify SVE128 and SVE256, which are available on
real hardware nowadays. Please note CI runs on x86 host and uses qemu
to emulate Arm and SVE instructions.
Closes #786