Stream: git-wasmtime

Topic: wasmtime / Issue #1176 Determine best way to encode SIMD ...


view this post on Zulip Wasmtime GitHub notifications bot (Mar 31 2020 at 18:35):

abrown closed Issue #1176:

What is the feature or code improvement you would like to do in Cranelift?

I would like to implement the SIMD load_extend instructions.

What is the value of adding this in Cranelift?

This is necessary for Wasm SIMD spec compliance.

Do you have an implementation plan, and/or ideas for data structures or algorithms to use?

I see that currently shared/instructions.rs includes instructions such as uload32 and sload32; one option is to add the additional instructions [u/s]load8x8, [u/s]load16x4, and [u/s]load32x4. Alternately, @bnjbvr and I had discussed using the IR->IR infrastructure of legalization to implement peephole optimizations; if this was in place and at the right level, I could translate the Wasm load8x8_s, e.g., to Cranelift's load.i8x8 and uextend and then write a peephole optimization to generate the appropriate x86 PMOVSXBW to encode both of these instructions (perhaps with a new Cranelift x86_pmovsxb instruction). Which approach is better.


Last updated: Dec 23 2024 at 12:05 UTC