Replies: 1 comment
-
Update: I'm still curious how sleef decides what CPU features to use, but I think we have figured out the cause of the build failure. GCC-13 only supports v0.11.x of the RVV intrinsics spec. The two tests that sleef uses to determine compiler support look for types that are present in this draft spec, but eventually, the actual code that sleef wants to run requires types from the final 1.0 spec. As a result, on GCC-13, sleef detects RVV1/RVV2 support when that support (v0.11.x only) is not sufficient. With GCC-14, everything is OK again. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We have a bug report at https://bugs.gentoo.org/939400 where the user is on a RISC-V system that does not have support for RVV. Fortunately, I have one of those systems too. The build fails with an error that looks related to RVV support, e.g.
Initially I was quick to blame sleef for adding
-march=rv64gcv_zba_zbb_zbs
to the user'sCFLAGS
, considering that his machine does not actually support RVV (although his compiler does). But now it looks like this is intentional (I had never looked at the sleef build system before). I have two examples available:CFLAGS=-march=rv64gcv_zba_zbb_zbs
, but (despite the machine having no RVV) everything builds and passes the test suite.CFLAGS
. And again... everything is fine.So given those two examples, I don't think I can blame the
CFLAGS
for this failure.On my RISC-V machine, I don't think the vector extensions could actually be used in the final result; otherwise, the tests would fail with an
SIGILL
. So is there some other way that sleef is determining which features to actually use, independent of what the compiler supports? I think we need to know this to troubleshoot properly. For this user, explicitly disabling the RVV1/RVV2 solves the issue, but I'm wondering whether or not that should be necessary.Thank you!
Beta Was this translation helpful? Give feedback.
All reactions