-
Notifications
You must be signed in to change notification settings - Fork 259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gcc-14 bug compiling test/arm/neon/ext.cpp on x86 #1250
Comments
Thank you @Blarse for the report. Did you file an issue in the GCC bug tracker? |
Not yet actually, as I found this with our ALT Linux gcc ("i586-alt-linux-gcc (GCC) 14.2.1 20241028 (ALT Sisyphus 14.2.1-alt1)") and still wasn't able to test if this bug occurs on other systems. If you have an i586 system with gcc-14 at hand, I would appreciate it if you could confirm this error. I'm also trying to create a small and independent from simde reproducer. If you think it's better to report this right now without additional analysis, then I'll do it. |
I've written a minimal reproducer. #include "stdint.h"
#include "stddef.h"
typedef uint64_t poly64x1 __attribute__((__vector_size__(8)));
poly64x1 vext_p64(poly64x1 a, poly64x1 b, const int n)
{
poly64x1 r = a;
size_t src = ((size_t) (n));
r[0] = (src < 1) ? a[src] : b[0];
return r;
}
Now I will create an issue in the GCC bug tracker. |
That's great, thank you @Blarse . We can add the GCC bug number to https://github.com/simd-everywhere/simde/wiki/Compiler-Bugs |
When compiling simde with gcc 14.2.1 on i586 I get the following error:
The bug occurs only with -O2 or -O3 in function
simde_vext_p64
specifically in simde/arm/neon/ext.h:967, when assigning destination vector values:Simply reversing the condition fixes the issue:
The text was updated successfully, but these errors were encountered: