diswasm

WASM analysis workbench
HomeDocsReferenceCompilerRuntimeBenchmarksDisassemblyDecompileEditEasy EditorIntermediateCreateSavedControllerGame StudioAboutLicensesContributorsOpen source

Local-first parsing. No automatic module execution.

self-hosted mode

Reference

module

modulefunction

control

i32.consti64.constf32.constf64.constdropreturncallnopifelseunreachablestartendbrbr_ifblockloopselectbr_table

numeric

i32.consti32.eqzi32.clzi32.ctzi32.popcnti32.eqi32.nei32.lt_si32.lt_ui32.gt_si32.gt_ui32.le_si32.le_ui32.ge_si32.ge_ui32.addi32.subi32.muli32.div_si32.div_ui32.rem_si32.rem_ui32.andi32.ori32.xori32.shli32.shr_si32.shr_ui32.rotli32.rotri64.consti64.eqzi64.clzi64.ctzi64.popcnti64.eqi64.nei64.lt_si64.lt_ui64.gt_si64.gt_ui64.le_si64.le_ui64.ge_si64.ge_ui64.addi64.subi64.muli64.div_si64.div_ui64.rem_si64.rem_ui64.andi64.ori64.xori64.shli64.shr_si64.shr_ui64.rotli64.rotrf32.constf32.eqf32.nef32.ltf32.gtf32.lef32.gef32.absf32.negf32.ceilf32.floorf32.truncf32.nearestf32.sqrtf32.addf32.subf32.mulf32.divf32.minf32.max60 more in search

simd

v128.constv128.loadv128.storev128.notv128.andv128.andnotv128.orv128.xorv128.bitselectv128.any_truev128.load8_splatv128.load16_splatv128.load32_splatv128.load64_splatv128.load8x8_sv128.load8x8_uv128.load16x4_sv128.load16x4_uv128.load32x2_sv128.load32x2_uv128.load32_zerov128.load64_zerov128.load8_lanev128.load16_lanev128.load32_lanev128.load64_lanev128.store8_lanev128.store16_lanev128.store32_lanev128.store64_lanei8x16.shufflei8x16.swizzlei8x16.splati8x16.extract_lane_si8x16.extract_lane_ui8x16.replace_lanei8x16.eqi8x16.nei8x16.lt_si8x16.lt_ui8x16.gt_si8x16.gt_ui8x16.le_si8x16.le_ui8x16.ge_si8x16.ge_ui8x16.absi8x16.negi8x16.popcnti8x16.all_truei8x16.bitmaski8x16.narrow_i16x8_si8x16.narrow_i16x8_ui8x16.shli8x16.shr_si8x16.shr_ui8x16.addi8x16.add_sat_si8x16.add_sat_ui8x16.subi8x16.sub_sat_si8x16.sub_sat_ui8x16.min_si8x16.min_ui8x16.max_si8x16.max_ui8x16.avgr_ui16x8.splati16x8.extract_lane_si16x8.extract_lane_ui16x8.replace_lanei16x8.eqi16x8.nei16x8.lt_si16x8.lt_ui16x8.gt_si16x8.gt_ui16x8.le_si16x8.le_ui16x8.ge_s148 more in search

table

table.gettable.settable.growtable.sizetable.filltable.copytable.initelem.drop

variable

local.getlocal.setlocal.teeglobal.getglobal.set

memory

i32.loadi64.loadf32.loadf64.loadi32.load8_si32.load8_ui32.load16_si32.load16_ui64.load8_si64.load8_ui64.load16_si64.load16_ui64.load32_si64.load32_ui32.storei64.storef32.storef64.storei32.store8i32.store16i64.store8i64.store16i64.store32memory.sizememory.growmemory.copymemory.fillmemory.initdata.drop

type

externreffuncrefv128i32i64f32f64
simd

i32x4.extmul_high_i16x8_s

i32x4.extmul_high_i16x8_s SIMD vector operation.

simd0xFD 0xBD

Syntax

i32x4.extmul_high_i16x8_s

Stack Effect

SIMD lane operands -> SIMD result

Opcode

Hex
0xFD 0xBD
Decimal
253 189
Bytes
[0xfd, 0xbd]
Prefix
0xFD SIMD extension space
Encoding
0xFD 0xBD
Category
simd
Proposal
simd

Browser Support

Feature-detect runtime support before executing examples.

Validation Rules

  • Operands and result types must match the instruction signature.
  • The instruction must appear in a valid structured control context.

Common Mistakes

  • Using the instruction with the wrong operand type.
  • Forgetting that WAT validation is stack-typed.
Example
(func $example
  ;; i32x4.extmul_high_i16x8_s example
)