-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Tweaks to the SME2 intrinsics (#278)
This patch makes a few tweaks to the SME2 intrinsics: * The type suffix of the SME2 svread* intrinsics needs to be explicit (non-optional), since there is no merge input that can be used to infer it. * The zn argument to the svluti* intrinsics is a collection of 2-bit and 4-bit quantities, so it doesn't have a natural element size or signedness. It seems better to keep it as svuint8_t for all variants. * Because of that, there is no argument that implies the return type of the svluti* intrinsics, so the type suffix needs to be explicit. Also, since the instruction performs a bag-of-bits lookup, it makes sense to have floating-point variants too. * The ZA slice forms of svread* and svwrite* are likewise bag-of-bits moves, so we can provide alternatives for all element types. * arm_neon.h shift-by-immediate instructions use an _n suffix to indicate that the shift amount is scalar. arm_sve.h carried this across to the full/non-overloaded forms of SVE immediate shifts. It seems worth doing the same here for consistency, and to protect against vector-vector forms being added in future.
- Loading branch information
1 parent
c65148b
commit 5955b7b
Showing
1 changed file
with
76 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters