-
Notifications
You must be signed in to change notification settings - Fork 210
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
fix test_mm_dp_pd test #643
Conversation
…124/sse2neon into fix-test_mm_dp_pd-test
I think you use the different version of clang-format. It should be |
Thank you, I installed clang-formatter 12 and now format is fixed |
Btw may I ask which compiler and platform you used to trigger the error? |
I used gcc 10.2 and 11.4, Graviton3 and Amazon Linux 2023 |
Sorry it seems not to pass the CI. May you help me to enable https://github.com/howjmay/sse2neon/actions/runs/10019289097 |
I updated .github\workflows\main.yml with -O2 flag not sure we should merge it in master but we can make sure tests are green |
Here my pull request with optimization enabled #644 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Squash the git commits and refine the commit messages.
See https://cbea.ms/git-commit/
Thank you for the test. However, it seems the test didn't pass. Not sure if I did something wrong. I think this PR should be ok to merge after squash. But I just feel strange. It seems this PR can't solve the error when O2 is given |
Thank @alexorlov124 for contributing! |
I will investigate what causes |
Welcome,
I could participate in investigating other test fails, Right now I need to
finish a project in my work.
Thank you!
|
When I ran make check with -O2 passed to ARCH_CFLAGS, the test_mm_dp_pd failed. After debugging, I discovered that a buffer initialized with floats was being cast to a buffer of doubles. The root cause of the test failure was that the exact match of the dot product obtained with intrinsics and calculated with C++ doubles showed differences. This occurred because the numbers were too large, and the dot product had rounding errors.