vec_lde and vec_expte semi-randomly produce the wrong results
Host environment
- Operating system: Gentoo
- OS/kernel version: Linux sol 5.0.10-gentoo #1 SMP Wed May 1 16:02:20 -00 2019 ppc64le POWER9, altivec supported PowerNV T2P9S01 REV 1.01 GNU/Linux
- Architecture: ppc64le (and x86_64)
- QEMU flavor: qemu-ppc64le
- QEMU version: 8.0.0-rc4
- QEMU command line:
export CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc
export CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64le -cpu power9 -L /usr/powerpc64le-linux-gnu"
CC=powerpc64le-linux-gnu-gcc
OBJDUMP=powerpc64le-linux-gnu-objdump
cd crates/core_arch
TARGET=powerpc64le-unknown-linux-gnu cargo test --release
Description of problem
I found that while implementing the Altivec support for the rust stdarch.
Steps to reproduce
- Install rust nightly (e.g. using https://rustup.rs/)
git clone https://github.com/rust-lang/stdarch
- You need to either cross compile or compile and run the tests for
crates/core_arch
.
Additional information
Both valgrind
and running on power9 produce the correct results