rust-lang / packed_simd

Portable Packed SIMD Vectors for Rust standard library
https://rust-lang.github.io/packed_simd/packed_simd_2/
Apache License 2.0
597 stars 74 forks source link

PartialOrd fails on ppc #81

Open gnzlbg opened 6 years ago

gnzlbg commented 6 years ago

The following fails on {powerpc,powerpc64,powerpc64le} w/o altivec, vsx.

failures:
---- v128::i128x1_cmp_PartialOrd::partial_ord stdout ----
thread 'v128::i128x1_cmp_PartialOrd::partial_ord' panicked at 'assertion failed: `(left == right)`
  left: `Some(Less)`,
 right: `None`: PartiallyOrdered(i128x1(0)), PartiallyOrdered(i128x1(1))', src/testing/utils.rs:84:5
---- v128::u128x1_cmp_PartialOrd::partial_ord stdout ----
thread 'v128::u128x1_cmp_PartialOrd::partial_ord' panicked at 'assertion failed: `(left == right)`
  left: `Some(Less)`,
 right: `None`: PartiallyOrdered(u128x1(0)), PartiallyOrdered(u128x1(1))', src/testing/utils.rs:84:5
failures:
    v128::i128x1_cmp_PartialOrd::partial_ord
    v128::u128x1_cmp_PartialOrd::partial_ord

Might need to fill a rust-lang/rust / LLVM bug about this. It looks very similar to the current 128-bit wide integer bugs in s390x and sparc ( #75 ).

cc @lu-zero

mati865 commented 5 years ago

altivec[0] and vsx[1] also fail.

[0] https://travis-ci.com/mati865/ppv/jobs/180334236 [1] https://travis-ci.com/mati865/ppv/jobs/180334237