-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Revert "Disable big-endian simd in swap_nonoverlapping_bytes" #60588
Conversation
This reverts commit 77bd4dc. Issue rust-lang#42778 was formerly easy to reproduce on two big-endian targets, `powerpc64` and `s390x`, so we disabled SIMD on this function for all big-endian targets as a workaround. I have re-tested this code on `powerpc64` and `s390x`, each with the bundled LLVM 8 and with external LLVM 7 and LLVM 6, and the problems no longer appear. So it seems safe to remove this workaround, although I'm still a little uncomfortable that we never found a root-cause...
Do we have a test for this? |
I don't have a specific test, because I never managed to reduce a reproducer. Back then the native compiler build would consistently fail for me, but @arielb1 found that cross-compiling from x86-64 produced a working compiler. Now the native build and all libcore tests pass, on both arches with all 3 LLVMs mentioned. |
The next thing I'm trying is to build cross-compiled rustc with this patch from an x86_64 host, which I will then use as stage0 for new native builds on those targets. If that works too, I think all scenarios will be covered. |
Looks good with a cross-compiled stage0 too! |
I'm rather busy these days, and will rather have someone else dealing with any fallout this might cause. |
I don't really know what this is about. Maybe someone from @rust-lang/libs can take over? |
@bors: r+ |
📌 Commit 9a0a87a has been approved by |
Revert "Disable big-endian simd in swap_nonoverlapping_bytes" This reverts commit 77bd4dc (#43159). Issue #42778 was formerly easy to reproduce on two big-endian targets, `powerpc64` and `s390x`, so we disabled SIMD on this function for all big-endian targets as a workaround. I have re-tested this code on `powerpc64` and `s390x`, each with the bundled LLVM 8 and with external LLVM 7 and LLVM 6, and the problems no longer appear. So it seems safe to remove this workaround, although I'm still a little uncomfortable that we never found a root-cause... Closes #42778. r? @arielb1
☀️ Test successful - checks-travis, status-appveyor |
This reverts commit 77bd4dc (#43159).
Issue #42778 was formerly easy to reproduce on two big-endian targets,
powerpc64
ands390x
, so we disabled SIMD on this function for allbig-endian targets as a workaround.
I have re-tested this code on
powerpc64
ands390x
, each with thebundled LLVM 8 and with external LLVM 7 and LLVM 6, and the problems no
longer appear. So it seems safe to remove this workaround, although I'm
still a little uncomfortable that we never found a root-cause...
Closes #42778.
r? @arielb1