-
Notifications
You must be signed in to change notification settings - Fork 252
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
neon: refactor to use different types on all targets
Previously we would typedef native types to all of the NEON types. For WASM and x86, this means multiple NEON types are typedefd to the same type (e.g., simde_int8x16_t and simde_int16x8_t are both typedefd to __m128i on x86, and v128_t on WASM). This causes problems in some software, for example C++ functions overloaded based on the NEON type. Unfortunately it's not just a matter of switching those typedefs, since the code was previously structured to assume that the public types would be typedefs to native types. This patch restructures all the x86 and WASM implementations in NEON to instead use the private types just like the portable version. For now I've preserved the *option* of using the native types in the public API, but I don't plan on testing it, and unless anyone actually uses it I'll probably just remove it soon. Note that AltiVec and NEON don't really change; changing them would just introduce unnecessary complexity for the compiler (which it *should* be able to elide, but I see no reason to risk it).
- Loading branch information
Showing
69 changed files
with
4,487 additions
and
4,268 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
Oops, something went wrong.