Closed abrown closed 4 years ago
@iximeow, thanks for all of the help! (And @peterhuene too!) I believe this is ready for an actual review--@iximeow, can you take a look? I rebased the commits into some semblance of order so they should be reviewable from oldest to newest (fun fact of the day: I had to redate them for GitHub to show them in order). Since we likely won't want to squash these things, I made sure the commits are bisectable by running git rebase master --exec 'cargo test --all'
with no issues.
I would like to be able to actually run this new instruction on AVX512 hardware with a test run
filetest but I will try that in a future PR; currently I don't think we have the ability to skip test run
filetests when the target doesn't match the host's CPU features (or do we?).
Closing in favor of https://github.com/bytecodealliance/wasmtime/pull/1192.
i64x2.mul
) that are optimally encoded in VEX/EVEX, it seems like we should support these encoding formats. For this PR, only EVEX was added (and not every addressing form) in order to implement i64x2 multiplication. I haven't yet test-run this on an AVX512DQ-compatible CPU but will soon; while implementing this, I discovered that there is no good way to indicate an encoding that is predicated on either of two settings flags (see TODO inencodings.rs
).