wasm_decode_simd (wasm v0.1.0)
View SourceThe 0xFD opcode space: fixed-width SIMD. Add a vector instruction here.
Split out of wasm_decode_code because it is larger than every other opcode
prefix put together, roughly 240 instructions against the 17 behind 0xFC.
Only five immediate shapes exist across the whole space, so the table below is
almost entirely Sub -> Atom and the shapes are named once each:
| shape | instructions |
|---|---|
| none | every lane-wise arithmetic, comparison and bitwise operation |
| memarg | v128.load, v128.store, the splat and extend loads |
| memarg + lane index | v128.loadN_lane, v128.storeN_lane |
| lane index | extract_lane, replace_lane |
| 16 bytes | v128.const, i8x16.shuffle |
v128.const and i8x16.shuffle both carry 16 raw bytes and are the only
instructions in the format that do.