Skip to content
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

Merged
merged 1 commit into from
May 10, 2019

Conversation

cuviper
Copy link
Member

@cuviper cuviper commented May 6, 2019

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

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...
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 6, 2019
@sanxiyn
Copy link
Member

sanxiyn commented May 7, 2019

Do we have a test for this?

@cuviper
Copy link
Member Author

cuviper commented May 7, 2019

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.

@cuviper
Copy link
Member Author

cuviper commented May 7, 2019

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.

@cuviper
Copy link
Member Author

cuviper commented May 8, 2019

Looks good with a cross-compiled stage0 too!

@arielb1
Copy link
Contributor

arielb1 commented May 9, 2019

I'm rather busy these days, and will rather have someone else dealing with any fallout this might cause.

r? @michaelwoerister

@michaelwoerister
Copy link
Member

I don't really know what this is about. Maybe someone from @rust-lang/libs can take over?

@michaelwoerister michaelwoerister added the T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. label May 10, 2019
@michaelwoerister michaelwoerister removed their assignment May 10, 2019
@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented May 10, 2019

📌 Commit 9a0a87a has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 10, 2019
@bors
Copy link
Contributor

bors commented May 10, 2019

⌛ Testing commit 9a0a87a with merge cff1bdb...

bors added a commit that referenced this pull request May 10, 2019
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
@bors
Copy link
Contributor

bors commented May 10, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: alexcrichton
Pushing cff1bdb to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 10, 2019
@bors bors merged commit 9a0a87a into rust-lang:master May 10, 2019
@cuviper cuviper deleted the be-simd-swap branch May 17, 2019 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ppc64] ICE: Region parameter out of range when substituting in region'b
7 participants