-
Notifications
You must be signed in to change notification settings - Fork 24.1k
Disable NEON acceleration on older compilers #47099
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
Disable NEON acceleration on older compilers #47099
Conversation
Optimized build compiled by gcc-7.5.0 generates numerically incorrect code
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.
@malfet has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
Codecov Report
@@ Coverage Diff @@
## master #47099 +/- ##
==========================================
- Coverage 68.85% 68.85% -0.01%
==========================================
Files 436 436
Lines 56395 56395
==========================================
- Hits 38833 38832 -1
- Misses 17562 17563 +1 |
tbh it doesn't look like using any neon intrinsic acceleration for hypot anyway. |
Right so hypot just falls back std::hypot. Can we confirm that Also can we hold off on this PR. I need to confirm if this has implication elsewhere if we are using gcc toolchain with older version to build stuff. |
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.
I need to confirm if this is a safe change or we might see perf regressions.
Also since it is not using any intrinsics, if std::hypot itself is broken then I am vary of fixing it here. |
I think we are good to go here. Folks building with older gcc for arm64 will not see perf gains unfortunately. |
Also looks like without this pr we fallback to Sleef_hypotf8_u05, so |
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.
Approving but question about std::hypot
is still unresolved.
@kimishpatel , |
@malfet, I thought the issue was hypot. But if sqrt is the issue then this intrinsic vsqrtq_f32 is broken. If you have a minimal repro that would be good. Repro is issue #47098 refers to hypot. There are some arm builds which use GCC7 I think: #43265. |
Optimized build compiled by gcc-7.5.0 generates numerically incorrect code
Works around #47098