You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary:
Main changes
--
1. simdlib_neon.h has been updated to use the templates properly. This is the largest file change in the diff.
2. simd_levels.h now has 2 separate macros for DISPATCH_SIMDLevel and DISPATCH_SIMDLevel_AND_RETURN. The first one just executes the given function. The second one will return a value.
3. xplat.bzl now reads the architecture and decides the COMPILE_SIMD_<> flags based on that. After we move from static to dynamic dispatch, this will be enabled.
4. Adds distances_neon.cpp and distances_sve.cpp just for fvec_madd. However, SVE code is not invoked yet. The import for detection does not quite work. It can be separate work.
5. updates RQ and PQ to accomodate simdlib_neon.h changes. Following https://docs.google.com/document/d/1hVwoW-SrPxbBxJ3Nvl58tOaKKgkzDgVxPJbx92TSTvs/edit?tab=t.0#bookmark=id.ujcwvusaoqp8, we move some functions to headers and `extern template` some things.
Note 1
--
Please yell at me if we want to break the above up a bit and I am very happy to. Items 1 and 2 could be in a separate diff IMO. They are here because we needed it for dynamic dispatch, then we decided on static dispatch.
Note 2
--
These two tests still fail to build. I didn't fix them yet. We can take it up later in the stack, as per the google doc?
1. test_code_distance.cpp (distance_single_code_generic no longer exists)
2. test_simdlib.cpp (needs templatization)
Note 3
--
autodeps failing due to `<asm/hwcap.h>` in the SVE check. SVE does not quite work yet and it isn't enabled, so we can come back to this (or I can comment it out). Feel free to comment if you have a preference.
Reviewed By: mdouze
Differential Revision: D74275821
0 commit comments