-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Fix remaining failures and re-enable x64 new backend CI #2219
Conversation
4684fb8
to
2dc49db
Compare
Subscribe to Label Actioncc @bnjbvr
This issue or pull request has been labeled: "cranelift", "cranelift:area:x64"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
I believe |
.github/workflows/main.yml
Outdated
--exclude peepmatic-runtime \ | ||
--exclude peepmatic-test \ | ||
--exclude peepmatic-souper \ | ||
--exclude lightbeam |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why can't we use the new script?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because the new script uses cargo +nightly
while we need cargo +nightly-2020-...
here. I've just been a bit lazy and will implement retrieving the Cargo version with an env variable; with some luck, the other setup actions even do that for us.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but see my comment about re-factoring gen_store_stack/gen_load_stack
.
Very nice, thanks! |
This makes it possible to run a subset of the tests with e.g. `./ci/run-experimental-x64-ci.sh -- wast::Cranelift::spec`.
2dc49db
to
65d5b53
Compare
This made it possible to enable more SIMD tests from the spec test suite too.
According to wasm's spec, nearest must do the following, for NaN inputs: - when the input is a canonical NaN, return a canonical NaN; - when the input is a non-canonical NaN, return an arithmetic NaN. This patch adds checks when the exponent is all ones if the input was a NaN, and will set the significand's most significant bit in that case. It works both for canonical inputs (which already had the bit set) and makes other NaN inputs canonical.
df195f6
to
7559dcf
Compare
The intermittent failure have likely been fixed by a recent round of general fixes in the new x64 backend. This basically reverts bytecodealliance#2100 and uses the CI script there.
7559dcf
to
fd1049c
Compare
See commit messages for details.
The interesting failure was actually in the implementation of nearest; the error was hidden in the old backend by the fact that the old backend uses native x86 instructions for nearest, and not the runtime intrinsic. There's a todo for this in the new backend, fwiw.