Skip to content

Commit 31a72df

Browse files
committed
fix s390x/sparc CI; update FIXME links
1 parent 7fdc217 commit 31a72df

21 files changed

+53
-62
lines changed

.travis.yml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ matrix:
3737
script: ci/run.sh
3838
osx_image: xcode9.2
3939
# *BSDs:
40-
- env: TARGET=i686-unknown-freebsd NORUN=1
41-
script: ci/run.sh
42-
- env: TARGET=x86_64-unknown-freebsd NORUN=1
43-
script: ci/run.sh
44-
- env: TARGET=x86_64-unknown-netbsd NORUN=1
45-
script: ci/run.sh
40+
#- env: TARGET=i686-unknown-freebsd NORUN=1
41+
# script: ci/run.sh
42+
#- env: TARGET=x86_64-unknown-freebsd NORUN=1
43+
# script: ci/run.sh
44+
#- env: TARGET=x86_64-unknown-netbsd NORUN=1
45+
# script: ci/run.sh
4646
# Solaris:
47-
- env: TARGET=x86_64-sun-solaris NORUN=1
48-
script: ci/run.sh
47+
#- env: TARGET=x86_64-sun-solaris NORUN=1
48+
# script: ci/run.sh
4949
# iOS:
5050
- os: osx
5151
env: TARGET=i386-apple-ios
@@ -78,14 +78,15 @@ matrix:
7878
- cargo clippy --all -- -D clippy-pedantic
7979

8080
allow_failures:
81+
# FIXME: TBD
8182
- env: TARGET=arm-unknown-linux-gnueabi
8283
- env: TARGET=powerpc-unknown-linux-gnu
8384
- env: TARGET=powerpc64-unknown-linux-gnu
8485
- env: TARGET=powerpc64le-unknown-linux-gnu
85-
- env: TARGET=i686-unknown-freebsd NORUN=1
86-
- env: TARGET=x86_64-unknown-freebsd NORUN=1
87-
- env: TARGET=x86_64-unknown-netbsd NORUN=1
88-
- env: TARGET=x86_64-sun-solaris NORUN=1
86+
#- env: TARGET=i686-unknown-freebsd NORUN=1
87+
#- env: TARGET=x86_64-unknown-freebsd NORUN=1
88+
#- env: TARGET=x86_64-unknown-netbsd NORUN=1
89+
#- env: TARGET=x86_64-sun-solaris NORUN=1
8990

9091
install:
9192
- rustup target add $TARGET || true

src/api.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ macro_rules! impl_i {
6363
impl_cmp_ord!([$elem_ty; $elem_count]: $tuple_id | (0, 1));
6464

6565
test_select!($elem_ty, $mask_ty, $tuple_id, (1, 2));
66-
// FIXME: test vector shuffles
67-
// test_shuffle!([$elem_ty; $elem_count]: $tuple_id);
6866
test_cmp_partial_ord_int!([$elem_ty; $elem_count]: $tuple_id);
6967
}
7068
}
@@ -104,9 +102,6 @@ macro_rules! impl_u {
104102
impl_cmp_ord!([$elem_ty; $elem_count]: $tuple_id | (0, 1));
105103

106104
test_select!($elem_ty, $mask_ty, $tuple_id, (1, 2));
107-
108-
// FIXME: test vector shuffles
109-
// test_shuffle!([$elem_ty; $elem_count]: $tuple_id);
110105
test_cmp_partial_ord_int!([$elem_ty; $elem_count]: $tuple_id);
111106
}
112107
}
@@ -142,9 +137,6 @@ macro_rules! impl_f {
142137

143138
test_select!($elem_ty, $mask_ty, $tuple_id, (1., 2.));
144139
test_reduction_float_min_max!([$elem_ty; $elem_count]:$tuple_id);
145-
146-
// FIXME: test vector shuffles
147-
// test_shuffle!([$elem_ty; $elem_count]: $tuple_id);
148140
}
149141
}
150142

@@ -168,8 +160,6 @@ macro_rules! impl_m {
168160
impl_cmp_partial_ord!([$elem_ty; $elem_count]: $tuple_id);
169161
impl_cmp_ord!([$elem_ty; $elem_count]: $tuple_id | (false, true));
170162

171-
// FIXME: test vector shuffles
172-
// FIXME: test select on masks
173163
test_cmp_partial_ord_mask!([$elem_ty; $elem_count]: $tuple_id);
174164
}
175165
}

src/api/ops/scalar_rotates.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
//! Vertical (lane-wise) vector-scalar rotates operations.
22
#![allow(unused)]
33

4-
// inline(always) to encourage the compiler to generate rotate instructions
5-
// where available
6-
// FIXME: once codegen is correct, re-evaluate this
74
macro_rules! impl_ops_scalar_rotates {
85
([$elem_ty:ident; $elem_count:expr]: $id:ident) => {
96
impl $id {
107
/// Shifts the bits of each lane to the left by the specified amount in
118
/// the corresponding lane of `n`, wrapping the truncated bits to
129
/// the end of the resulting integer.
1310
///
14-
/// Please note this isn't the same operation as `<<`!. Also note it
15-
/// isn't equivalent to `slice::rotate_left`, it doesn't move the vector's
16-
/// lanes around. (that can be implemented with vector shuffles).
17-
#[inline(always)]
11+
/// Note: this is neither the same operation as `<<` nor equivalent
12+
/// to `slice::rotate_left`.
13+
#[inline]
1814
pub fn rotate_left(self, n: $id) -> $id {
1915
const LANE_WIDTH: $elem_ty = ::mem::size_of::<$elem_ty>() as $elem_ty * 8;
2016
// Protect against undefined behavior for over-long bit shifts
@@ -26,10 +22,9 @@ macro_rules! impl_ops_scalar_rotates {
2622
/// the corresponding lane of `n`, wrapping the truncated bits to
2723
/// the beginning of the resulting integer.
2824
///
29-
/// Please note this isn't the same operation as `>>`!. Also note it
30-
/// isn't similar to `slice::rotate_right`, it doesn't move the vector's
31-
/// lanes around. (that can be implemented with vector shuffles).
32-
#[inline(always)]
25+
/// Note: this is neither the same operation as `<<` nor equivalent
26+
/// to `slice::rotate_left`.
27+
#[inline]
3328
pub fn rotate_right(self, n: $id) -> $id {
3429
const LANE_WIDTH: $elem_ty = ::mem::size_of::<$elem_ty>() as $elem_ty * 8;
3530
// Protect against undefined behavior for over-long bit shifts

src/api/ops/scalar_shifts.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ macro_rules! impl_ops_scalar_shifts {
3434
mod [$id _ops_scalar_shifts] {
3535
use super::*;
3636
#[test]
37-
#[allow(unreachable_code)] // FIXME: see s390x/sparc64 below
37+
#[cfg_attr(any(target_arch = "s390x", target_arch = "sparc64"),
38+
allow(unreachable_code, unused_variables))]
3839
fn ops_scalar_shifts() {
3940
let z = $id::splat(0 as $elem_ty);
4041
let o = $id::splat(1 as $elem_ty);
@@ -54,8 +55,7 @@ macro_rules! impl_ops_scalar_shifts {
5455
assert_eq!(z >> ti, z);
5556

5657
#[cfg(any(target_arch = "s390x", target_arch = "sparc64"))] {
57-
// FIXME: rust produces bad codegen for shifts:
58-
// https://github.com/rust-lang/rust/issues/52015
58+
// FIXME: https://github.com/gnzlbg/packed_simd/issues/13
5959
return;
6060
}
6161

src/api/ops/vector_float_min_max.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ macro_rules! impl_ops_vector_float_min_max {
1919
/// the input vector lanes.
2020
#[inline]
2121
pub fn max(self, x: Self) -> Self {
22-
// FIXME: https://github.com/rust-lang-nursery/stdsimd/issues/416
22+
// FIXME: https://github.com/gnzlbg/packed_simd/issues/7
2323
// use codegen::llvm::simd_fmin;
2424
// unsafe { Simd(simd_fmin(self.0, x.0)) }
2525
let mut r = self;

src/api/ops/vector_shifts.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ macro_rules! impl_ops_vector_shifts {
3535
mod [$id _ops_vector_shifts] {
3636
use super::*;
3737
#[test]
38+
#[cfg_attr(any(target_arch = "s390x", target_arch = "sparc64"),
39+
allow(unreachable_code, unused_variables))]
3840
fn ops_vector_shifts() {
3941
let z = $id::splat(0 as $elem_ty);
4042
let o = $id::splat(1 as $elem_ty);
@@ -52,7 +54,7 @@ macro_rules! impl_ops_vector_shifts {
5254

5355
#[cfg(any(target_arch = "s390x", target_arch = "sparc64"))] {
5456
// FIXME: rust produces bad codegen for shifts:
55-
// https://github.com/rust-lang/rust/issues/52015
57+
// https://github.com/gnzlbg/packed_simd/issues/13
5658
return;
5759
}
5860

src/api/reductions/bitwise.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ macro_rules! impl_reduction_bitwise {
2525
#[cfg(target_arch = "aarch64")]
2626
{
2727
// FIXME: broken on aarch64
28-
// https://bugs.llvm.org/show_bug.cgi?id=36796
28+
// https://github.com/gnzlbg/packed_simd/issues/15
2929
let mut x = self.extract(0) as $elem_ty;
3030
for i in 1..$id::lanes() {
3131
x &= self.extract(i) as $elem_ty;
@@ -49,7 +49,7 @@ macro_rules! impl_reduction_bitwise {
4949
#[cfg(target_arch = "aarch64")]
5050
{
5151
// FIXME: broken on aarch64
52-
// https://bugs.llvm.org/show_bug.cgi?id=36796
52+
// https://github.com/gnzlbg/packed_simd/issues/15
5353
let mut x = self.extract(0) as $elem_ty;
5454
for i in 1..$id::lanes() {
5555
x |= self.extract(i) as $elem_ty;
@@ -73,7 +73,7 @@ macro_rules! impl_reduction_bitwise {
7373
#[cfg(target_arch = "aarch64")]
7474
{
7575
// FIXME: broken on aarch64
76-
// https://bugs.llvm.org/show_bug.cgi?id=36796
76+
// https://github.com/gnzlbg/packed_simd/issues/15
7777
let mut x = self.extract(0) as $elem_ty;
7878
for i in 1..$id::lanes() {
7979
x ^= self.extract(i) as $elem_ty;

src/api/reductions/float_arithmetic.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ macro_rules! impl_reduction_float_arithmetic {
2121
}
2222
#[cfg(target_arch = "aarch64")] {
2323
// FIXME: broken on AArch64
24-
// https://bugs.llvm.org/show_bug.cgi?id=36796
24+
// https://github.com/gnzlbg/packed_simd/issues/15
2525
let mut x = self.extract(0) as $elem_ty;
2626
for i in 1..$id::lanes() {
2727
x += self.extract(i) as $elem_ty;
@@ -48,7 +48,7 @@ macro_rules! impl_reduction_float_arithmetic {
4848
}
4949
#[cfg(target_arch = "aarch64")] {
5050
// FIXME: broken on AArch64
51-
// https://bugs.llvm.org/show_bug.cgi?id=36796
51+
// https://github.com/gnzlbg/packed_simd/issues/15
5252
let mut x = self.extract(0) as $elem_ty;
5353
for i in 1..$id::lanes() {
5454
x *= self.extract(i) as $elem_ty;

src/api/reductions/integer_arithmetic.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ macro_rules! impl_reduction_integer_arithmetic {
2222
#[cfg(target_arch = "aarch64")]
2323
{
2424
// FIXME: broken on AArch64
25-
// https://bugs.llvm.org/show_bug.cgi?id=36796
25+
// https://github.com/gnzlbg/packed_simd/issues/15
2626
let mut x = self.extract(0) as $elem_ty;
2727
for i in 1..$id::lanes() {
2828
x = x.wrapping_add(self.extract(i) as $elem_ty);
@@ -50,7 +50,7 @@ macro_rules! impl_reduction_integer_arithmetic {
5050
#[cfg(target_arch = "aarch64")]
5151
{
5252
// FIXME: broken on AArch64
53-
// https://bugs.llvm.org/show_bug.cgi?id=36796
53+
// https://github.com/gnzlbg/packed_simd/issues/15
5454
let mut x = self.extract(0) as $elem_ty;
5555
for i in 1..$id::lanes() {
5656
x = x.wrapping_mul(self.extract(i) as $elem_ty);

src/api/reductions/min_max.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ macro_rules! impl_reduction_min_max {
1414
#[cfg(any(target_arch = "aarch64", target_arch = "arm"))]
1515
{
1616
// FIXME: broken on AArch64
17-
// https://bugs.llvm.org/show_bug.cgi?id=36796
17+
// https://github.com/gnzlbg/packed_simd/issues/15
1818
let mut x = self.extract(0);
1919
for i in 1..$id::lanes() {
2020
x = x.max(self.extract(i));
@@ -51,8 +51,9 @@ macro_rules! impl_reduction_min_max {
5151
)]
5252
{
5353
// FIXME: broken on AArch64
54-
// https://bugs.llvm.org/show_bug.cgi?id=36796
54+
// https://github.com/gnzlbg/packed_simd/issues/15
5555
// FIXME: broken on i586-unknown-linux-gnu
56+
// https://github.com/gnzlbg/packed_simd/issues/22
5657
let mut x = self.extract(0);
5758
for i in 1..$id::lanes() {
5859
x = x.min(self.extract(i));

0 commit comments

Comments
 (0)