-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Slow division on ARM Linux/GNU #39266
Comments
Just noting, |
@MagaTailor which arm target are you testing? And which two compiler versions? |
llvm.org/viewvc/llvm-project?view=revision&revision=259657 |
I have no idea if it ever worked for any officially distributed builds and the earliest broken build of mine still lying around is dated Anyone wishing to find out can use this build as a working baseline. |
The issue is not present in clang 4.0 so it's definitely another rust fuckup. |
Hi @MagaTailor, if you can provide some more details on how reproduce this, I will investigate. Can you give both the C code and Rust code you are comparing, along with the exact compiler switches you are using and what target you are testing on? |
Thanks, and what compiler switches and what target? |
The amicable numbers benchmark is slow on ARM again.
With a properly patched LLVM it used to perform like this:
whereas now, it's slow again:
samples % linenr info image name symbol name 14943 32.5989 (no location information) amicable __udivmodsi4 13260 28.9273 (no location information) amicable __divmodsi4 9504 20.7334 (no location information) amicable __aeabi_idivmod 7993 17.4371 amicable.rs:18 amicable $a.0 118 0.2574 (no location information) no-vmlinux /no-vmlinux 5 0.0109 dl-reloc.c:154 ld-2.19.so _dl_relocate_object 3 0.0065 dl-lookup.c:82 ld-2.19.so do_lookup_x
LLVM doesn't need patching anymore so it must have been the
compiler-rt
removal, etc.The text was updated successfully, but these errors were encountered: