Skip to content

Add support for SIMD NaN directives #686

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

Merged
merged 2 commits into from
Dec 7, 2019

Conversation

abrown
Copy link
Contributor

@abrown abrown commented Dec 7, 2019

Until WebAssembly/spec#1104 is merged and the changes are implemented downstream, I would like to be able to run the SIMD spec tests, some of which contain directives like those added in bytecodealliance/wat#33. This change implements those variants. I am not opposed to refactoring the directive-matching code to reduce duplication but I figured that the current changes will be sufficient until all of these directives are merged into assert_return.

@abrown
Copy link
Contributor Author

abrown commented Dec 7, 2019

cc: @alexcrichton: thanks for 4.0.0! Here are the corresponding changes.

@alexcrichton
Copy link
Member

Nice!

Is it possible to enable some more simd tests as a result of this change?

@abrown
Copy link
Contributor Author

abrown commented Dec 7, 2019

Is it possible to enable some more simd tests as a result of this change?

Not immediately, but that's where I'm headed. It allows me to see other problems, e.g., the ones I'm trying to fix in bytecodealliance/cranelift#1272.

Re: the build failures, I wonder if they are due to endianness; I assumed I could convert [u8; 4] to a u32 with u32::from_le_bytes but this may not work if the build machines use a different endianness. Any ideas on how I can inspect the machine the builds ran on?

@abrown abrown force-pushed the add-simd-nan-asserts branch from 31adcad to 0cefe47 Compare December 7, 2019 03:05
@abrown
Copy link
Contributor Author

abrown commented Dec 7, 2019

this may not work if the build machines use a different endianness

Never mind, it was just buggy coding 😄. In any case, after thinking about endianness I remembered that Wasm values are little-endian so that should not be an issue here.

@alexcrichton alexcrichton merged commit ec8144b into bytecodealliance:master Dec 7, 2019
@alexcrichton
Copy link
Member

👍

@abrown abrown deleted the add-simd-nan-asserts branch December 7, 2019 05:12
arkpar pushed a commit to paritytech/wasmtime that referenced this pull request Mar 4, 2020
…nking pass hasn't been run;

Also:
- make sure to apply diversions when determining offsets for code
relaxation.
- select the smallest encoding when selecting a relaxed branch
instruction.
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