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

Run initial SIMD spec tests #330

Merged
merged 8 commits into from
Sep 26, 2019

Conversation

abrown
Copy link
Contributor

@abrown abrown commented Sep 6, 2019

This change will allow us to verify that the SIMD implementation matches what is expected in the spec tests published to https://github.com/WebAssembly/simd/tree/master/test/core/simd. Some notes:

@abrown
Copy link
Contributor Author

abrown commented Sep 6, 2019

Copy link
Member

@sunfishcode sunfishcode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forget where you asked me this, but to your question about exposing Uimm128:

Stepping back and looking at it, Uimm128 is actually misnamed, because it's not a scalar integer immediate, like the other Uimm* types are. (We should perhaps rename them too, as Uimm* isn't super clear, but that's a separate issue). If we renamed Uimm128 to something like V128Imm, I think it'd be fine to expose that in APIs. And it could have a Display implementation so that you don't have to use {:?} as the PR currently does.

wasmtime-environ/src/vmoffsets.rs Show resolved Hide resolved
@abrown
Copy link
Contributor Author

abrown commented Sep 20, 2019

I guess global get/set is still not working...

@abrown
Copy link
Contributor Author

abrown commented Sep 20, 2019

This is almost there; only bytecodealliance/cranelift#993 needed to address the failing address.wast spec test:

...
@0267 [RexOp1rout#01]               v7, v8 = iadd_ifcout v1, v6
@0267 [-]                           trapnz v8, heap_oob
...
spec_testsuite/address.wast:3: WebAssembly compilation error: Compilation error: Verifier errors:
- inst8: has an invalid controlling type iflags
- inst8: Trapping instruction must have an encoding

Copy link
Member

@sunfishcode sunfishcode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@abrown
Copy link
Contributor Author

abrown commented Sep 26, 2019

@sunfishcode thanks for all the debugging help!

@sunfishcode sunfishcode merged commit 0667a28 into bytecodealliance:master Sep 26, 2019
@abrown abrown deleted the spec-test-refactored branch September 26, 2019 22:48
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.

2 participants