shibatch / sleef

SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
https://sleef.org
Boost Software License 1.0
628 stars 126 forks source link

Reconcile RVV mask types. #520

Closed sh1boot closed 5 months ago

sh1boot commented 6 months ago

Make the vmask types for single-precision and double-precision interfaces compatible, so that we have fewer divergent functions.

Keep the vopmask types incompatible, because the underlying vbool*_t types still encode some underlying assumptions about the number of lanes involved.

Make the still-incompatible function names distinct between SP and DP, and then reconcile these with the preprocessor at the end of the file so that the caller still sees the expected operations. This will help when it comes to generating inline headers in a future revision.

sh1boot commented 6 months ago

This contains a portion of #503, and fits underneath that PR, so that each can be reviewed in isolation.

luhenry commented 5 months ago

Hi @blapie, what could we do to get this PR (and associated ones https://github.com/shibatch/sleef/pull/521 https://github.com/shibatch/sleef/pull/522) to go forward?

blapie commented 5 months ago

Hi @luhenry, I want to look into these this week. Happy to see that it is all coming together.