]> git.lizzy.rs Git - rust.git/commit
Disable big-endian simd in swap_nonoverlapping_bytes
authorJosh Stone <jistone@redhat.com>
Tue, 11 Jul 2017 00:06:38 +0000 (17:06 -0700)
committerJosh Stone <jistone@redhat.com>
Tue, 11 Jul 2017 00:06:38 +0000 (17:06 -0700)
commit77bd4dc65406ba3cedbc779e6f6280868231912e
treef2201497e1a884ab1fc3e55ea09ea1cea10053dc
parentbf0a9e0b4d3a4dd09717960840798e2933ec7568
Disable big-endian simd in swap_nonoverlapping_bytes

This is a workaround for #42778, which was git-bisected to #40454's
optimizations to `mem::swap`, later moved to `ptr` in #42819.  Natively
compiled rustc couldn't even compile stage1 libcore on powerpc64 and
s390x, but they work fine without this `repr(simd)`.  Since powerpc64le
works OK, it seems probably related to being big-endian.

The underlying problem is not yet known, but this at least makes those
architectures functional again in the meantime.

cc @arielb1
src/libcore/ptr.rs