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

Account some warnings to fix CI #315

Merged
merged 4 commits into from
Apr 2, 2021
Merged

Conversation

JohnTitor
Copy link
Member

@JohnTitor JohnTitor commented Mar 17, 2021

Fixes #5

@Lokathor
Copy link
Contributor

Looks like CI is less than fully fixed :/

@JohnTitor
Copy link
Member Author

Ouch, checking now...

@JohnTitor JohnTitor force-pushed the make-ci-happy branch 2 times, most recently from f031d0e to d3c6003 Compare March 17, 2021 23:05
This bug has been resolved: bugs.llvm.org/show_bug.cgi?id=36982
@JohnTitor
Copy link
Member Author

Failures:

---- v128::i8x16_ops_scalar_shifts::ops_scalar_shifts stdout ----

thread 'v128::i8x16_ops_scalar_shifts::ops_scalar_shifts' panicked at 'assertion failed: `(left == right)`

  left: `i8x16(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)`,

 right: `i8x16(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)`', src/v128.rs:6:1

---- v128::i8x16_ops_vector_rotate::rotate_ops stdout ----

thread 'v128::i8x16_ops_vector_rotate::rotate_ops' panicked at 'assertion failed: `(left == right)`

  left: `i8x16(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)`,

 right: `i8x16(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)`', src/v128.rs:6:1

---- v128::i8x16_ops_vector_shifts::ops_vector_shifts stdout ----

thread 'v128::i8x16_ops_vector_shifts::ops_vector_shifts' panicked at 'assertion failed: `(left == right)`

  left: `i8x16(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)`,

 right: `i8x16(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)`', src/v128.rs:6:1

---- v128::u8x16_ops_scalar_shifts::ops_scalar_shifts stdout ----

thread 'v128::u8x16_ops_scalar_shifts::ops_scalar_shifts' panicked at 'assertion failed: `(left == right)`

  left: `u8x16(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)`,

 right: `u8x16(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)`', src/v128.rs:11:1

---- v128::u8x16_ops_vector_rotate::rotate_ops stdout ----

thread 'v128::u8x16_ops_vector_rotate::rotate_ops' panicked at 'assertion failed: `(left == right)`

  left: `u8x16(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)`,

 right: `u8x16(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)`', src/v128.rs:11:1

---- v128::u8x16_ops_vector_shifts::ops_vector_shifts stdout ----

thread 'v128::u8x16_ops_vector_shifts::ops_vector_shifts' panicked at 'assertion failed: `(left == right)`

  left: `u8x16(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)`,

 right: `u8x16(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)`', src/v128.rs:11:1

failures:

    v128::i8x16_ops_scalar_shifts::ops_scalar_shifts

    v128::i8x16_ops_vector_rotate::rotate_ops

    v128::i8x16_ops_vector_shifts::ops_vector_shifts

    v128::u8x16_ops_scalar_shifts::ops_scalar_shifts

    v128::u8x16_ops_vector_rotate::rotate_ops

    v128::u8x16_ops_vector_shifts::ops_vector_shifts

test result: FAILED. 2544 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.26s

So something goes wrong on AArch64 since CI passed, maybe related to the recent LLVM bumps? I don't see any related commits here. I'd like to file this as an issue and skip tests for now if it's reasonable. @Lokathor Thoughts?

@workingjubilee
Copy link
Member

workingjubilee commented Apr 2, 2021

We've uncovered aarch64 optimization-related LLVM bugs in rust-lang/portable-simd#80 so I would agree: it seems that something in aarch64 codegen is busted (maybe always, maybe only now) and it's likely not our fault. But the thought of shrugging off what appears to be a new behavioral deviation for tier 1 targets makes me itch.

I wouldn't find skipping the tests entirely unacceptable, just... wow, the bit rot.

@JohnTitor
Copy link
Member Author

But the thought of shrugging off what appears to be a new behavioral deviation for tier 1 targets makes me itch.

But on the other hand, this also hinders further tests on CI (https://travis-ci.com/github/rust-lang/packed_simd/builds/220445170).
I totally agree we shouldn't ignore this issue but... I'm not sure the fix here is straightforward.

@workingjubilee
Copy link
Member

Well, this is blocking landing any other maintenance, so might as well I guess.

@Lokathor
Copy link
Contributor

Lokathor commented Apr 2, 2021

Looking at the changes, it's just tests changing right? So the code itself is no worse with this PR, it's only as broken as it might have been before. If we want to merge this we should and then we can continue later once the llvm bug is addressed.

@JohnTitor
Copy link
Member Author

Okay, CI still has a lot of failures but at least we pass all the non-allow-failure jobs. I'm going to fix some of them but meanwhile, we can merge this to unblock other PRs?

@JohnTitor JohnTitor merged commit cf2d269 into rust-lang:master Apr 2, 2021
@JohnTitor JohnTitor deleted the make-ci-happy branch April 2, 2021 21:36
@JohnTitor JohnTitor mentioned this pull request Apr 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

min_element / max_element produce incorrect results for NaNs in the last place
3 participants