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
When using xsimd on the RISC-V platform, I found that converting between RVV register types and xsimd's batch-related types is quite tricky. This might be due to the variable vector length of RVV.
Here is an example of using xsimd on a platform that supports AVX:
Such code compiles smoothly. However, on a platform that supports RVV, if a RVV register type is returned, it cannot be smoothly converted into a batch type, here are two simple situation I met before:
When using xsimd on the RISC-V platform, I found that converting between RVV register types and xsimd's batch-related types is quite tricky. This might be due to the variable vector length of RVV.
Here is an example of using xsimd on a platform that supports AVX:
Such code compiles smoothly. However, on a platform that supports RVV, if a RVV register type is returned, it cannot be smoothly converted into a batch type, here are two simple situation I met before:
https://godbolt.org/z/Gazvx7f98
Here are more information about my work(porting velox to risc-v using xsimd):
https://github.com/facebookincubator/velox/blob/main/velox/common/base/SimdUtil-inl.h
So, how can I elegantly use both xsimd and RVV intrinsics simultaneously?
The text was updated successfully, but these errors were encountered: