https://webassembly.github.io/spec/core/binary/instructions.html Logo Navigation * Introduction * Structure * Validation * Execution * Binary Format + Conventions + Values + Types + Instructions + Modules * Text Format * Appendix * Index of Types * Index of Instructions * Index of Semantic Rules --------------------------------------------------------------------- * Index * Download as PDF Quick search [ ] [Go] InstructionsP Instructions are encoded by opcodes. Each opcode is represented by a single byte, and is followed by the instruction's immediate arguments, where present. The only exception are structured control instructions, which consist of several opcodes bracketing their nested instruction sequences. Note Gaps in the byte code ranges for encoding instructions are reserved for future extensions. Control InstructionsP Control instructions have varying encodings. For structured instructions, the instruction sequences forming nested blocks are terminated with explicit opcodes for \(\href{../syntax/ instructions.html#syntax-instr-control}{\mathsf{end}}\) and \(\href {../syntax/instructions.html#syntax-instr-control}{\mathsf{else}}\). Block types are encoded in special compressed form, by either the byte \(\def\mathdef1404#1{\mathtt{0x#1}}\mathdef1404{40}\) indicating the empty type, as a single value type, or as a type index encoded as a positive signed integer. \[\begin{split}\begin{array}{llcllll} \def\mathdef1365#1{{}}\ mathdef1365{block type} & \href{../binary/instructions.html# binary-blocktype}{\mathtt{blocktype}} &::=& \def\mathdef1405#1{\ mathtt{0x#1}}\mathdef1405{40} &\Rightarrow& \epsilon \\ &&|& t{:}\ href{../binary/types.html#binary-valtype}{\mathtt{valtype}} &\ Rightarrow& t \\ &&|& x{:}\href{../binary/values.html#binary-int}{\ def\mathdef1375#1{{\mathtt{s}#1}}\mathdef1375{\mathtt{33}}} &\ Rightarrow& x & (\mathrel{\mbox{if}} x \geq 0) \\ \def\mathdef1365#1 {{}}\mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \def\mathdef1406#1{\mathtt{0x#1}} \mathdef1406{00} &\Rightarrow& \href{../syntax/instructions.html# syntax-instr-control}{\mathsf{unreachable}} \\ &&|& \def\mathdef1407# 1{\mathtt{0x#1}}\mathdef1407{01} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-control}{\mathsf{nop}} \\ &&|& \def\ mathdef1408#1{\mathtt{0x#1}}\mathdef1408{02}~~\mathit{bt}{:}\href{../ binary/instructions.html#binary-blocktype}{\mathtt{blocktype}}~~(\ mathit{in}{:}\href{../binary/instructions.html#binary-instr}{\mathtt {instr}})^\ast~~\def\mathdef1409#1{\mathtt{0x#1}}\mathdef1409{0B} &\ Rightarrow& \href{../syntax/instructions.html#syntax-instr-control}{\ mathsf{block}}~\mathit{bt}~\mathit{in}^\ast~\href{../syntax/ instructions.html#syntax-instr-control}{\mathsf{end}} \\ &&|& \def\ mathdef1410#1{\mathtt{0x#1}}\mathdef1410{03}~~\mathit{bt}{:}\href{../ binary/instructions.html#binary-blocktype}{\mathtt{blocktype}}~~(\ mathit{in}{:}\href{../binary/instructions.html#binary-instr}{\mathtt {instr}})^\ast~~\def\mathdef1411#1{\mathtt{0x#1}}\mathdef1411{0B} &\ Rightarrow& \href{../syntax/instructions.html#syntax-instr-control}{\ mathsf{loop}}~\mathit{bt}~\mathit{in}^\ast~\href{../syntax/ instructions.html#syntax-instr-control}{\mathsf{end}} \\ &&|& \def\ mathdef1412#1{\mathtt{0x#1}}\mathdef1412{04}~~\mathit{bt}{:}\href{../ binary/instructions.html#binary-blocktype}{\mathtt{blocktype}}~~(\ mathit{in}{:}\href{../binary/instructions.html#binary-instr}{\mathtt {instr}})^\ast~~\def\mathdef1413#1{\mathtt{0x#1}}\mathdef1413{0B} &\ Rightarrow& \href{../syntax/instructions.html#syntax-instr-control}{\ mathsf{if}}~\mathit{bt}~\mathit{in}^\ast~\href{../syntax/ instructions.html#syntax-instr-control}{\mathsf{else}}~\epsilon~\href {../syntax/instructions.html#syntax-instr-control}{\mathsf{end}} \\ & &|& \def\mathdef1414#1{\mathtt{0x#1}}\mathdef1414{04}~~\mathit{bt}{:} \href{../binary/instructions.html#binary-blocktype}{\mathtt {blocktype}}~~(\mathit{in}_1{:}\href{../binary/instructions.html# binary-instr}{\mathtt{instr}})^\ast~~ \def\mathdef1415#1{\mathtt{0x# 1}}\mathdef1415{05}~~(\mathit{in}_2{:}\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}})^\ast~~\def\ mathdef1416#1{\mathtt{0x#1}}\mathdef1416{0B} &\Rightarrow& \href{../ syntax/instructions.html#syntax-instr-control}{\mathsf{if}}~\mathit {bt}~\mathit{in}_1^\ast~\href{../syntax/instructions.html# syntax-instr-control}{\mathsf{else}}~\mathit{in}_2^\ast~\href{../ syntax/instructions.html#syntax-instr-control}{\mathsf{end}} \\ &&|& \def\mathdef1417#1{\mathtt{0x#1}}\mathdef1417{0C}~~l{:}\href{../ binary/modules.html#binary-labelidx}{\mathtt{labelidx}} &\Rightarrow& \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}} ~l \\ &&|& \def\mathdef1418#1{\mathtt{0x#1}}\mathdef1418{0D}~~l{:}\ href{../binary/modules.html#binary-labelidx}{\mathtt{labelidx}} &\ Rightarrow& \href{../syntax/instructions.html#syntax-instr-control}{\ mathsf{br\_if}}~l \\ &&|& \def\mathdef1419#1{\mathtt{0x#1}}\ mathdef1419{0E}~~l^\ast{:}\href{../binary/conventions.html# binary-vec}{\mathtt{vec}}(\href{../binary/modules.html# binary-labelidx}{\mathtt{labelidx}})~~l_N{:}\href{../binary/ modules.html#binary-labelidx}{\mathtt{labelidx}} &\Rightarrow& \href {../syntax/instructions.html#syntax-instr-control}{\mathsf{br\ _table}}~l^\ast~l_N \\ &&|& \def\mathdef1420#1{\mathtt{0x#1}}\ mathdef1420{0F} &\Rightarrow& \href{../syntax/instructions.html# syntax-instr-control}{\mathsf{return}} \\ &&|& \def\mathdef1421#1{\ mathtt{0x#1}}\mathdef1421{10}~~x{:}\href{../binary/modules.html# binary-funcidx}{\mathtt{funcidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-control}{\mathsf{call}}~x \\ &&|& \def \mathdef1422#1{\mathtt{0x#1}}\mathdef1422{11}~~y{:}\href{../binary/ modules.html#binary-typeidx}{\mathtt{typeidx}}~~x{:}\href{../binary/ modules.html#binary-tableidx}{\mathtt{tableidx}} &\Rightarrow& \href {../syntax/instructions.html#syntax-instr-control}{\mathsf{call\ _indirect}}~x~y \\ \end{array}\end{split}\] Note The \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf {else}}\) opcode \(\def\mathdef1423#1{\mathtt{0x#1}}\mathdef1423{05} \) in the encoding of an \(\href{../syntax/instructions.html# syntax-instr-control}{\mathsf{if}}\) instruction can be omitted if the following instruction sequence is empty. Unlike any other occurrence, the type index in a block type is encoded as a positive signed integer, so that its signed LEB128 bit pattern cannot collide with the encoding of value types or the special code \(\def\mathdef1424#1{\mathtt{0x#1}}\mathdef1424{40}\), which correspond to the LEB128 encoding of negative integers. To avoid any loss in the range of allowed indices, it is treated as a 33 bit signed integer. Reference InstructionsP Reference instructions are represented by single byte codes. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots \\ &&|& \def\mathdef1425#1 {\mathtt{0x#1}}\mathdef1425{D0}~~t{:}\href{../binary/types.html# binary-reftype}{\mathtt{reftype}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-ref}{\mathsf{ref{.}null}}~t \\ &&|& \ def\mathdef1426#1{\mathtt{0x#1}}\mathdef1426{D1} &\Rightarrow& \href {../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref{.}is\ _null}} \\ &&|& \def\mathdef1427#1{\mathtt{0x#1}}\mathdef1427{D2}~~x {:}\href{../binary/modules.html#binary-funcidx}{\mathtt{funcidx}} &\ Rightarrow& \href{../syntax/instructions.html#syntax-instr-ref}{\ mathsf{ref{.}func}}~x \\ \end{array}\end{split}\] Parametric InstructionsP Parametric instructions are represented by single byte codes, possibly followed by a type annotation. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots \\ &&|& \def\mathdef1428#1 {\mathtt{0x#1}}\mathdef1428{1A} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-parametric}{\mathsf{drop}} \\ &&|& \ def\mathdef1429#1{\mathtt{0x#1}}\mathdef1429{1B} &\Rightarrow& \href {../syntax/instructions.html#syntax-instr-parametric}{\mathsf {select}} \\ &&|& \def\mathdef1430#1{\mathtt{0x#1}}\mathdef1430{1C} ~~t^\ast{:}\href{../binary/conventions.html#binary-vec}{\mathtt{vec}} (\href{../binary/types.html#binary-valtype}{\mathtt{valtype}}) &\ Rightarrow& \href{../syntax/instructions.html# syntax-instr-parametric}{\mathsf{select}}~t^\ast \\ \end{array}\end {split}\] Variable InstructionsP Variable instructions are represented by byte codes followed by the encoding of the respective index. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots \\ &&|& \def\mathdef1431#1 {\mathtt{0x#1}}\mathdef1431{20}~~x{:}\href{../binary/modules.html# binary-localidx}{\mathtt{localidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-variable}{\mathsf{local.get}}~x \\ &&| & \def\mathdef1432#1{\mathtt{0x#1}}\mathdef1432{21}~~x{:}\href{../ binary/modules.html#binary-localidx}{\mathtt{localidx}} &\Rightarrow& \href{../syntax/instructions.html#syntax-instr-variable}{\mathsf {local.set}}~x \\ &&|& \def\mathdef1433#1{\mathtt{0x#1}}\mathdef1433 {22}~~x{:}\href{../binary/modules.html#binary-localidx}{\mathtt {localidx}} &\Rightarrow& \href{../syntax/instructions.html# syntax-instr-variable}{\mathsf{local.tee}}~x \\ &&|& \def\mathdef1434 #1{\mathtt{0x#1}}\mathdef1434{23}~~x{:}\href{../binary/modules.html# binary-globalidx}{\mathtt{globalidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-variable}{\mathsf{global.get}}~x \\ && |& \def\mathdef1435#1{\mathtt{0x#1}}\mathdef1435{24}~~x{:}\href{../ binary/modules.html#binary-globalidx}{\mathtt{globalidx}} &\ Rightarrow& \href{../syntax/instructions.html#syntax-instr-variable} {\mathsf{global.set}}~x \\ \end{array}\end{split}\] Table InstructionsP Table instructions are represented either by a single byte or a one byte prefix followed by a variable-length unsigned integer. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots \\ &&|& \def\mathdef1436#1 {\mathtt{0x#1}}\mathdef1436{25}~~x{:}\href{../binary/modules.html# binary-tableidx}{\mathtt{tableidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-table}{\mathsf{table.get}}~x \\ &&|& \ def\mathdef1437#1{\mathtt{0x#1}}\mathdef1437{26}~~x{:}\href{../binary /modules.html#binary-tableidx}{\mathtt{tableidx}} &\Rightarrow& \href {../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}} ~x \\ &&|& \def\mathdef1438#1{\mathtt{0x#1}}\mathdef1438{FC}~~12{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}}~~y{:}\href{../binary/modules.html# binary-elemidx}{\mathtt{elemidx}}~~x{:}\href{../binary/modules.html# binary-tableidx}{\mathtt{tableidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-table}{\mathsf{table.init}}~x~y \\ &&| & \def\mathdef1439#1{\mathtt{0x#1}}\mathdef1439{FC}~~13{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}}~~x{:}\href{../binary/modules.html# binary-elemidx}{\mathtt{elemidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-table}{\mathsf{elem.drop}}~x \\ &&|& \ def\mathdef1440#1{\mathtt{0x#1}}\mathdef1440{FC}~~14{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}}~~x{:}\href{../binary/modules.html# binary-tableidx}{\mathtt{tableidx}}~~y{:}\href{../binary/modules.html #binary-tableidx}{\mathtt{tableidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y \\ &&| & \def\mathdef1441#1{\mathtt{0x#1}}\mathdef1441{FC}~~15{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}}~~x{:}\href{../binary/modules.html# binary-tableidx}{\mathtt{tableidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-table}{\mathsf{table.grow}}~x \\ &&|& \def\mathdef1442#1{\mathtt{0x#1}}\mathdef1442{FC}~~16{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}}~~x{:}\href{../binary/modules.html# binary-tableidx}{\mathtt{tableidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-table}{\mathsf{table.size}}~x \\ &&|& \def\mathdef1443#1{\mathtt{0x#1}}\mathdef1443{FC}~~17{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}}~~x{:}\href{../binary/modules.html# binary-tableidx}{\mathtt{tableidx}} &\Rightarrow& \href{../syntax/ instructions.html#syntax-instr-table}{\mathsf{table.fill}}~x \\ \end {array}\end{split}\] Memory InstructionsP Each variant of memory instruction is encoded with a different byte code. Loads and stores are followed by the encoding of their \(\href {../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}\) immediate. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{memory argument} & \href{../binary/instructions.html# binary-memarg}{\mathtt{memarg}} &::=& a{:}\href{../binary/values.html #binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}}~~o{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \{ \href{.. /syntax/instructions.html#syntax-instr-memory}{\mathsf{align}}~a,~\ href{../syntax/instructions.html#syntax-instr-memory}{\mathsf {offset}}~o \} \\ \def\mathdef1365#1{{}}\mathdef1365{instruction} & \ href{../binary/instructions.html#binary-instr}{\mathtt{instr}} &::=& \dots \\ &&|& \def\mathdef1444#1{\mathtt{0x#1}}\mathdef1444{28}~~m{:} \href{../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}} ~m \\ &&|& \def\mathdef1445#1{\mathtt{0x#1}}\mathdef1445{29}~~m{:}\ href{../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}} ~m \\ &&|& \def\mathdef1446#1{\mathtt{0x#1}}\mathdef1446{2A}~~m{:}\ href{../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}. \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}} ~m \\ &&|& \def\mathdef1447#1{\mathtt{0x#1}}\mathdef1447{2B}~~m{:}\ href{../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{f64}}. \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}} ~m \\ &&|& \def\mathdef1448#1{\mathtt{0x#1}}\mathdef1448{2C}~~m{:}\ href{../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}} \mathsf{8\_s}~m \\ &&|& \def\mathdef1449#1{\mathtt{0x#1}}\mathdef1449 {2D}~~m{:}\href{../binary/instructions.html#binary-memarg}{\mathtt {memarg}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-memory}{\ mathsf{load}}\mathsf{8\_u}~m \\ &&|& \def\mathdef1450#1{\mathtt{0x# 1}}\mathdef1450{2E}~~m{:}\href{../binary/instructions.html# binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{16\_s}~m \\ &&|& \def\mathdef1451#1{\mathtt{0x#1}}\mathdef1451{2F}~~m{:}\href {../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}} \mathsf{16\_u}~m \\ &&|& \def\mathdef1452#1{\mathtt{0x#1}}\ mathdef1452{30}~~m{:}\href{../binary/instructions.html#binary-memarg} {\mathtt{memarg}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64}}.\href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{load}}\mathsf{8\_s}~m \\ &&|& \def\ mathdef1453#1{\mathtt{0x#1}}\mathdef1453{31}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{8\_u}~m \\ &&|& \def\mathdef1454#1{\mathtt{0x#1}}\mathdef1454{32}~~m{:}\href {../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}} \mathsf{16\_s}~m \\ &&|& \def\mathdef1455#1{\mathtt{0x#1}}\ mathdef1455{33}~~m{:}\href{../binary/instructions.html#binary-memarg} {\mathtt{memarg}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64}}.\href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{load}}\mathsf{16\_u}~m \\ &&|& \def\ mathdef1456#1{\mathtt{0x#1}}\mathdef1456{34}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{32\_s}~m \\ &&|& \def\mathdef1457#1{\mathtt{0x#1}}\mathdef1457{35}~~m{:}\href {../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}} \mathsf{32\_u}~m \\ &&|& \def\mathdef1458#1{\mathtt{0x#1}}\ mathdef1458{36}~~m{:}\href{../binary/instructions.html#binary-memarg} {\mathtt{memarg}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32}}.\href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{store}}~m \\ &&|& \def\mathdef1459#1{\ mathtt{0x#1}}\mathdef1459{37}~~m{:}\href{../binary/instructions.html# binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{store}}~m \\ &&|& \def \mathdef1460#1{\mathtt{0x#1}}\mathdef1460{38}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{store}}~m \\ &&|& \def \mathdef1461#1{\mathtt{0x#1}}\mathdef1461{39}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{store}}~m \\ &&|& \def \mathdef1462#1{\mathtt{0x#1}}\mathdef1462{3A}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{store}}\mathsf{8}~m \\ &&|& \def\mathdef1463#1{\mathtt{0x#1}}\mathdef1463{3B}~~m{:}\href{../ binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow & \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}\mathsf {16}~m \\ &&|& \def\mathdef1464#1{\mathtt{0x#1}}\mathdef1464{3C}~~m {:}\href{../binary/instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64}}.\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf {store}}\mathsf{8}~m \\ &&|& \def\mathdef1465#1{\mathtt{0x#1}}\ mathdef1465{3D}~~m{:}\href{../binary/instructions.html#binary-memarg} {\mathtt{memarg}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64}}.\href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{store}}\mathsf{16}~m \\ &&|& \def\ mathdef1466#1{\mathtt{0x#1}}\mathdef1466{3E}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{store}}\mathsf{32}~m \ \ &&|& \def\mathdef1467#1{\mathtt{0x#1}}\mathdef1467{3F}~~\def\ mathdef1468#1{\mathtt{0x#1}}\mathdef1468{00} &\Rightarrow& \href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.size}} \ \ &&|& \def\mathdef1469#1{\mathtt{0x#1}}\mathdef1469{40}~~\def\ mathdef1470#1{\mathtt{0x#1}}\mathdef1470{00} &\Rightarrow& \href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.grow}} \ \ &&|& \def\mathdef1471#1{\mathtt{0x#1}}\mathdef1471{FC}~~8{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}}~~x{:}\href{../binary/modules.html# binary-dataidx}{\mathtt{dataidx}}~\def\mathdef1472#1{\mathtt{0x#1}}\ mathdef1472{00} &\Rightarrow& \href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{memory.init}}~x \\ &&|& \def\mathdef1473 #1{\mathtt{0x#1}}\mathdef1473{FC}~~9{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}}~~x{:}\href{../binary/modules.html#binary-dataidx}{\mathtt {dataidx}} &\Rightarrow& \href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{data.drop}}~x \\ &&|& \def\mathdef1474#1 {\mathtt{0x#1}}\mathdef1474{FC}~~10{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}}~~\def\mathdef1475#1{\mathtt{0x#1}}\mathdef1475{00}~~\def\ mathdef1476#1{\mathtt{0x#1}}\mathdef1476{00} &\Rightarrow& \href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}} \ \ &&|& \def\mathdef1477#1{\mathtt{0x#1}}\mathdef1477{FC}~~11{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}}~~\def\mathdef1478#1{\mathtt{0x#1}}\ mathdef1478{00} &\Rightarrow& \href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{memory.fill}} \\ \end{array}\end{split} \] Note In future versions of WebAssembly, the additional zero bytes occurring in the encoding of the \(\href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{memory.size}}\), \(\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{memory.grow}}\), \(\ href{../syntax/instructions.html#syntax-instr-memory}{\mathsf {memory.copy}}\), and \(\href{../syntax/instructions.html# syntax-instr-memory}{\mathsf{memory.fill}}\) instructions may be used to index additional memories. Numeric InstructionsP All variants of numeric instructions are represented by separate byte codes. The \(\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {const}}\) instructions are followed by the respective literal. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots \\&&|& \def\mathdef1479#1{\ mathtt{0x#1}}\mathdef1479{41}~~n{:}\href{../binary/values.html# binary-int}{\def\mathdef1378#1{{\mathtt{i}#1}}\mathdef1378{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric} {\mathsf{const}}~n \\ &&|& \def\mathdef1480#1{\mathtt{0x#1}}\ mathdef1480{42}~~n{:}\href{../binary/values.html#binary-int}{\def\ mathdef1379#1{{\mathtt{i}#1}}\mathdef1379{\mathtt{64}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n \\ & &|& \def\mathdef1481#1{\mathtt{0x#1}}\mathdef1481{43}~~z{:}\href{../ binary/values.html#binary-float}{\def\mathdef1381#1{{\mathtt{f}#1}}\ mathdef1381{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{const}}~z \\ &&|& \def\mathdef1482#1{\ mathtt{0x#1}}\mathdef1482{44}~~z{:}\href{../binary/values.html# binary-float}{\def\mathdef1382#1{{\mathtt{f}#1}}\mathdef1382{\mathtt {64}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{f64}}.\href{../syntax/instructions.html#syntax-instr-numeric} {\mathsf{const}}~z \\ \end{array}\end{split}\] All other numeric instructions are plain opcodes without any immediates. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots && \phantom {thisshouldbeenough} \\&&|& \def\mathdef1483#1{\mathtt{0x#1}}\ mathdef1483{45} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{eqz}} \\ &&|& \def\mathdef1484#1{\ mathtt{0x#1}}\mathdef1484{46} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{eq}} \\ &&|& \def\ mathdef1485#1{\mathtt{0x#1}}\mathdef1485{47} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ne}} \\ &&|& \def\ mathdef1486#1{\mathtt{0x#1}}\mathdef1486{48} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{lt}}\mathsf{\_s} \\ & &|& \def\mathdef1487#1{\mathtt{0x#1}}\mathdef1487{49} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{lt}}\mathsf{\ _u} \\ &&|& \def\mathdef1488#1{\mathtt{0x#1}}\mathdef1488{4A} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{gt}}\ mathsf{\_s} \\ &&|& \def\mathdef1489#1{\mathtt{0x#1}}\mathdef1489{4B} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{gt}}\mathsf{\_u} \\ &&|& \def\mathdef1490#1{\mathtt{0x#1}}\ mathdef1490{4C} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{le}}\mathsf{\_s} \\ &&|& \def\ mathdef1491#1{\mathtt{0x#1}}\mathdef1491{4D} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{le}}\mathsf{\_u} \\ & &|& \def\mathdef1492#1{\mathtt{0x#1}}\mathdef1492{4E} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{ge}}\mathsf{\ _s} \\ &&|& \def\mathdef1493#1{\mathtt{0x#1}}\mathdef1493{4F} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{ge}}\ mathsf{\_u} \\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1494#1{\mathtt{0x#1}}\mathdef1494{50} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{eqz}} \\ &&|& \def\ mathdef1495#1{\mathtt{0x#1}}\mathdef1495{51} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{eq}} \\ &&|& \def\ mathdef1496#1{\mathtt{0x#1}}\mathdef1496{52} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ne}} \\ &&|& \def\ mathdef1497#1{\mathtt{0x#1}}\mathdef1497{53} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{lt}}\mathsf{\_s} \\ & &|& \def\mathdef1498#1{\mathtt{0x#1}}\mathdef1498{54} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{lt}}\mathsf{\ _u} \\ &&|& \def\mathdef1499#1{\mathtt{0x#1}}\mathdef1499{55} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{gt}}\ mathsf{\_s} \\ &&|& \def\mathdef1500#1{\mathtt{0x#1}}\mathdef1500{56} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{gt}}\mathsf{\_u} \\ &&|& \def\mathdef1501#1{\mathtt{0x#1}}\ mathdef1501{57} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{le}}\mathsf{\_s} \\ &&|& \def\ mathdef1502#1{\mathtt{0x#1}}\mathdef1502{58} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{le}}\mathsf{\_u} \\ & &|& \def\mathdef1503#1{\mathtt{0x#1}}\mathdef1503{59} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{ge}}\mathsf{\ _s} \\ &&|& \def\mathdef1504#1{\mathtt{0x#1}}\mathdef1504{5A} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{ge}}\ mathsf{\_u} \\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1505#1{\mathtt{0x#1}}\mathdef1505{5B} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{eq}} \\ &&|& \def\ mathdef1506#1{\mathtt{0x#1}}\mathdef1506{5C} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ne}} \\ &&|& \def\ mathdef1507#1{\mathtt{0x#1}}\mathdef1507{5D} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{lt}} \\ &&|& \def\ mathdef1508#1{\mathtt{0x#1}}\mathdef1508{5E} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{gt}} \\ &&|& \def\ mathdef1509#1{\mathtt{0x#1}}\mathdef1509{5F} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{le}} \\ &&|& \def\ mathdef1510#1{\mathtt{0x#1}}\mathdef1510{60} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ge}} \\ \end{array}\ end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1511#1{\mathtt{0x#1}}\mathdef1511{61} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{eq}} \\ &&|& \def\ mathdef1512#1{\mathtt{0x#1}}\mathdef1512{62} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ne}} \\ &&|& \def\ mathdef1513#1{\mathtt{0x#1}}\mathdef1513{63} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{lt}} \\ &&|& \def\ mathdef1514#1{\mathtt{0x#1}}\mathdef1514{64} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{gt}} \\ &&|& \def\ mathdef1515#1{\mathtt{0x#1}}\mathdef1515{65} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{le}} \\ &&|& \def\ mathdef1516#1{\mathtt{0x#1}}\mathdef1516{66} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ge}} \\ \end{array}\ end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1517#1{\mathtt{0x#1}}\mathdef1517{67} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{clz}} \\ &&|& \def\ mathdef1518#1{\mathtt{0x#1}}\mathdef1518{68} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ctz}} \\ &&|& \def\ mathdef1519#1{\mathtt{0x#1}}\mathdef1519{69} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{popcnt}} \\ &&|& \def \mathdef1520#1{\mathtt{0x#1}}\mathdef1520{6A} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{add}} \\ &&|& \def\ mathdef1521#1{\mathtt{0x#1}}\mathdef1521{6B} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{sub}} \\ &&|& \def\ mathdef1522#1{\mathtt{0x#1}}\mathdef1522{6C} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{mul}} \\ &&|& \def\ mathdef1523#1{\mathtt{0x#1}}\mathdef1523{6D} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{div}}\mathsf{\_s} \\ &&|& \def\mathdef1524#1{\mathtt{0x#1}}\mathdef1524{6E} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{div}}\mathsf{\ _u} \\ &&|& \def\mathdef1525#1{\mathtt{0x#1}}\mathdef1525{6F} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{rem}} \mathsf{\_s} \\ &&|& \def\mathdef1526#1{\mathtt{0x#1}}\mathdef1526 {70} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{rem}}\mathsf{\_u} \\ &&|& \def\mathdef1527#1{\mathtt{0x#1}}\ mathdef1527{71} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{and}} \\ &&|& \def\mathdef1528#1{\ mathtt{0x#1}}\mathdef1528{72} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{or}} \\ &&|& \def\ mathdef1529#1{\mathtt{0x#1}}\mathdef1529{73} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{xor}} \\ &&|& \def\ mathdef1530#1{\mathtt{0x#1}}\mathdef1530{74} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{shl}} \\ &&|& \def\ mathdef1531#1{\mathtt{0x#1}}\mathdef1531{75} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1532#1{\mathtt{0x#1}}\mathdef1532{76} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{shr}}\mathsf{\ _u} \\ &&|& \def\mathdef1533#1{\mathtt{0x#1}}\mathdef1533{77} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {rotl}} \\ &&|& \def\mathdef1534#1{\mathtt{0x#1}}\mathdef1534{78} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {rotr}} \\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1535#1{\mathtt{0x#1}}\mathdef1535{79} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{clz}} \\ &&|& \def\ mathdef1536#1{\mathtt{0x#1}}\mathdef1536{7A} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ctz}} \\ &&|& \def\ mathdef1537#1{\mathtt{0x#1}}\mathdef1537{7B} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{popcnt}} \\ &&|& \def \mathdef1538#1{\mathtt{0x#1}}\mathdef1538{7C} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{add}} \\ &&|& \def\ mathdef1539#1{\mathtt{0x#1}}\mathdef1539{7D} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{sub}} \\ &&|& \def\ mathdef1540#1{\mathtt{0x#1}}\mathdef1540{7E} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{mul}} \\ &&|& \def\ mathdef1541#1{\mathtt{0x#1}}\mathdef1541{7F} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{div}}\mathsf{\_s} \\ &&|& \def\mathdef1542#1{\mathtt{0x#1}}\mathdef1542{80} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{div}}\mathsf{\ _u} \\ &&|& \def\mathdef1543#1{\mathtt{0x#1}}\mathdef1543{81} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{rem}} \mathsf{\_s} \\ &&|& \def\mathdef1544#1{\mathtt{0x#1}}\mathdef1544 {82} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{rem}}\mathsf{\_u} \\ &&|& \def\mathdef1545#1{\mathtt{0x#1}}\ mathdef1545{83} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{and}} \\ &&|& \def\mathdef1546#1{\ mathtt{0x#1}}\mathdef1546{84} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{or}} \\ &&|& \def\ mathdef1547#1{\mathtt{0x#1}}\mathdef1547{85} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{xor}} \\ &&|& \def\ mathdef1548#1{\mathtt{0x#1}}\mathdef1548{86} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{shl}} \\ &&|& \def\ mathdef1549#1{\mathtt{0x#1}}\mathdef1549{87} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1550#1{\mathtt{0x#1}}\mathdef1550{88} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{shr}}\mathsf{\ _u} \\ &&|& \def\mathdef1551#1{\mathtt{0x#1}}\mathdef1551{89} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {rotl}} \\ &&|& \def\mathdef1552#1{\mathtt{0x#1}}\mathdef1552{8A} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {rotr}} \\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1553#1{\mathtt{0x#1}}\mathdef1553{8B} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{abs}} \\ &&|& \def\ mathdef1554#1{\mathtt{0x#1}}\mathdef1554{8C} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{neg}} \\ &&|& \def\ mathdef1555#1{\mathtt{0x#1}}\mathdef1555{8D} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ceil}} \\ &&|& \def\ mathdef1556#1{\mathtt{0x#1}}\mathdef1556{8E} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{floor}} \\ &&|& \def\ mathdef1557#1{\mathtt{0x#1}}\mathdef1557{8F} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}} \\ &&|& \def\ mathdef1558#1{\mathtt{0x#1}}\mathdef1558{90} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{nearest}} \\ &&|& \ def\mathdef1559#1{\mathtt{0x#1}}\mathdef1559{91} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{sqrt}} \\ &&|& \def\ mathdef1560#1{\mathtt{0x#1}}\mathdef1560{92} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{add}} \\ &&|& \def\ mathdef1561#1{\mathtt{0x#1}}\mathdef1561{93} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{sub}} \\ &&|& \def\ mathdef1562#1{\mathtt{0x#1}}\mathdef1562{94} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{mul}} \\ &&|& \def\ mathdef1563#1{\mathtt{0x#1}}\mathdef1563{95} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{div}} \\ &&|& \def\ mathdef1564#1{\mathtt{0x#1}}\mathdef1564{96} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{min}} \\ &&|& \def\ mathdef1565#1{\mathtt{0x#1}}\mathdef1565{97} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{max}} \\ &&|& \def\ mathdef1566#1{\mathtt{0x#1}}\mathdef1566{98} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{copysign}} \\ \end {array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1567#1{\mathtt{0x#1}}\mathdef1567{99} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{abs}} \\ &&|& \def\ mathdef1568#1{\mathtt{0x#1}}\mathdef1568{9A} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{neg}} \\ &&|& \def\ mathdef1569#1{\mathtt{0x#1}}\mathdef1569{9B} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{ceil}} \\ &&|& \def\ mathdef1570#1{\mathtt{0x#1}}\mathdef1570{9C} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{floor}} \\ &&|& \def\ mathdef1571#1{\mathtt{0x#1}}\mathdef1571{9D} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}} \\ &&|& \def\ mathdef1572#1{\mathtt{0x#1}}\mathdef1572{9E} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{nearest}} \\ &&|& \ def\mathdef1573#1{\mathtt{0x#1}}\mathdef1573{9F} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{sqrt}} \\ &&|& \def\ mathdef1574#1{\mathtt{0x#1}}\mathdef1574{A0} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{add}} \\ &&|& \def\ mathdef1575#1{\mathtt{0x#1}}\mathdef1575{A1} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{sub}} \\ &&|& \def\ mathdef1576#1{\mathtt{0x#1}}\mathdef1576{A2} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{mul}} \\ &&|& \def\ mathdef1577#1{\mathtt{0x#1}}\mathdef1577{A3} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{div}} \\ &&|& \def\ mathdef1578#1{\mathtt{0x#1}}\mathdef1578{A4} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{min}} \\ &&|& \def\ mathdef1579#1{\mathtt{0x#1}}\mathdef1579{A5} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{max}} \\ &&|& \def\ mathdef1580#1{\mathtt{0x#1}}\mathdef1580{A6} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{copysign}} \\ \end {array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1581#1{\mathtt{0x#1}}\mathdef1581{A7} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{wrap}}\mathsf{\_}\ href{../syntax/types.html#syntax-valtype}{\mathsf{i64}} \\ &&|& \def\ mathdef1582#1{\mathtt{0x#1}}\mathdef1582{A8} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_}\ href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}\mathsf{\_s} \ \ &&|& \def\mathdef1583#1{\mathtt{0x#1}}\mathdef1583{A9} &\Rightarrow & \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf {\_}\href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}\mathsf{\ _u} \\ &&|& \def\mathdef1584#1{\mathtt{0x#1}}\mathdef1584{AA} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {trunc}}\mathsf{\_}\href{../syntax/types.html#syntax-valtype}{\mathsf {f64}}\mathsf{\_s} \\ &&|& \def\mathdef1585#1{\mathtt{0x#1}}\ mathdef1585{AB} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_}\href{../syntax/ types.html#syntax-valtype}{\mathsf{f64}}\mathsf{\_u} \\ &&|& \def\ mathdef1586#1{\mathtt{0x#1}}\mathdef1586{AC} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{extend}}\mathsf{\_}\ href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}\mathsf{\_s} \ \ &&|& \def\mathdef1587#1{\mathtt{0x#1}}\mathdef1587{AD} &\Rightarrow & \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{extend}}\ mathsf{\_}\href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}\ mathsf{\_u} \\ &&|& \def\mathdef1588#1{\mathtt{0x#1}}\mathdef1588{AE} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{trunc}}\mathsf{\_}\href{../syntax/types.html#syntax-valtype}{\ mathsf{f32}}\mathsf{\_s} \\ &&|& \def\mathdef1589#1{\mathtt{0x#1}}\ mathdef1589{AF} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_}\href{../syntax/ types.html#syntax-valtype}{\mathsf{f32}}\mathsf{\_u} \\ &&|& \def\ mathdef1590#1{\mathtt{0x#1}}\mathdef1590{B0} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_}\ href{../syntax/types.html#syntax-valtype}{\mathsf{f64}}\mathsf{\_s} \ \ &&|& \def\mathdef1591#1{\mathtt{0x#1}}\mathdef1591{B1} &\Rightarrow & \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf {\_}\href{../syntax/types.html#syntax-valtype}{\mathsf{f64}}\mathsf{\ _u} \\ &&|& \def\mathdef1592#1{\mathtt{0x#1}}\mathdef1592{B2} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {convert}}\mathsf{\_}\href{../syntax/types.html#syntax-valtype}{\ mathsf{i32}}\mathsf{\_s} \\ &&|& \def\mathdef1593#1{\mathtt{0x#1}}\ mathdef1593{B3} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_}\href{../syntax/ types.html#syntax-valtype}{\mathsf{i32}}\mathsf{\_u} \\ &&|& \def\ mathdef1594#1{\mathtt{0x#1}}\mathdef1594{B4} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_}\ href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}\mathsf{\_s} \ \ &&|& \def\mathdef1595#1{\mathtt{0x#1}}\mathdef1595{B5} &\Rightarrow & \href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert}}\ mathsf{\_}\href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}\ mathsf{\_u} \\ &&|& \def\mathdef1596#1{\mathtt{0x#1}}\mathdef1596{B6} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{demote}}\mathsf{\_}\href{../syntax/types.html#syntax-valtype} {\mathsf{f64}} \\ &&|& \def\mathdef1597#1{\mathtt{0x#1}}\mathdef1597 {B7} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{convert}}\mathsf{\_}\href{../syntax/types.html#syntax-valtype} {\mathsf{i32}}\mathsf{\_s} \\ &&|& \def\mathdef1598#1{\mathtt{0x#1}}\ mathdef1598{B8} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_}\href{../syntax/ types.html#syntax-valtype}{\mathsf{i32}}\mathsf{\_u} \\ &&|& \def\ mathdef1599#1{\mathtt{0x#1}}\mathdef1599{B9} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_}\ href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}\mathsf{\_s} \ \ &&|& \def\mathdef1600#1{\mathtt{0x#1}}\mathdef1600{BA} &\Rightarrow & \href{../syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert}}\ mathsf{\_}\href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}\ mathsf{\_u} \\ &&|& \def\mathdef1601#1{\mathtt{0x#1}}\mathdef1601{BB} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{promote}}\mathsf{\_}\href{../syntax/types.html#syntax-valtype} {\mathsf{f32}} \\ &&|& \def\mathdef1602#1{\mathtt{0x#1}}\mathdef1602 {BC} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\ mathsf{reinterpret}}\mathsf{\_}\href{../syntax/types.html# syntax-valtype}{\mathsf{f32}} \\ &&|& \def\mathdef1603#1{\mathtt{0x# 1}}\mathdef1603{BD} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{reinterpret}}\mathsf{\_}\href{../syntax /types.html#syntax-valtype}{\mathsf{f64}} \\ &&|& \def\mathdef1604#1 {\mathtt{0x#1}}\mathdef1604{BE} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{f32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{reinterpret}}\mathsf {\_}\href{../syntax/types.html#syntax-valtype}{\mathsf{i32}} \\ &&|& \def\mathdef1605#1{\mathtt{0x#1}}\mathdef1605{BF} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{f64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{reinterpret}}\mathsf {\_}\href{../syntax/types.html#syntax-valtype}{\mathsf{i64}} \\ \end {array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{thisshouldbeenough} \\[-2ex] &&|& \def\ mathdef1606#1{\mathtt{0x#1}}\mathdef1606{C0} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{extend}}\mathsf{8\_s} \\ &&|& \def\mathdef1607#1{\mathtt{0x#1}}\mathdef1607{C1} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {extend}}\mathsf{16\_s} \\ &&|& \def\mathdef1608#1{\mathtt{0x#1}}\ mathdef1608{C2} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{extend}}\mathsf{8\_s} \\ &&|& \def\ mathdef1609#1{\mathtt{0x#1}}\mathdef1609{C3} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{extend}}\mathsf{16\ _s} \\ &&|& \def\mathdef1610#1{\mathtt{0x#1}}\mathdef1610{C4} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64}}. \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf {extend}}\mathsf{32\_s} \\ \end{array}\end{split}\] The saturating truncation instructions all have a one byte prefix, whereas the actual opcode is encoded by a variable-length unsigned integer. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots && \phantom {thisshouldbeenough} \\&&|& \def\mathdef1611#1{\mathtt{0x#1}}\ mathdef1611{FC}~~0{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32}}.\href{../ syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf {\_sat\_}\href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}\ mathsf{\_s} \\ &&|& \def\mathdef1612#1{\mathtt{0x#1}}\mathdef1612{FC} ~~1{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\ _}\href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}\mathsf{\ _u} \\ &&|& \def\mathdef1613#1{\mathtt{0x#1}}\mathdef1613{FC}~~2{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\ _}\href{../syntax/types.html#syntax-valtype}{\mathsf{f64}}\mathsf{\ _s} \\ &&|& \def\mathdef1614#1{\mathtt{0x#1}}\mathdef1614{FC}~~3{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i32}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\ _}\href{../syntax/types.html#syntax-valtype}{\mathsf{f64}}\mathsf{\ _u} \\ &&|& \def\mathdef1615#1{\mathtt{0x#1}}\mathdef1615{FC}~~4{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\ _}\href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}\mathsf{\ _s} \\ &&|& \def\mathdef1616#1{\mathtt{0x#1}}\mathdef1616{FC}~~5{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\ _}\href{../syntax/types.html#syntax-valtype}{\mathsf{f32}}\mathsf{\ _u} \\ &&|& \def\mathdef1617#1{\mathtt{0x#1}}\mathdef1617{FC}~~6{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\ _}\href{../syntax/types.html#syntax-valtype}{\mathsf{f64}}\mathsf{\ _s} \\ &&|& \def\mathdef1618#1{\mathtt{0x#1}}\mathdef1618{FC}~~7{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i64}}.\href{../syntax/ instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\ _}\href{../syntax/types.html#syntax-valtype}{\mathsf{f64}}\mathsf{\ _u} \\ \end{array}\end{split}\] Vector InstructionsP All variants of vector instructions are represented by separate byte codes. They all have a one byte prefix, whereas the actual opcode is encoded by a variable-length unsigned integer. Vector loads and stores are followed by the encoding of their \(\href {../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}\) immediate. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{lane index} & \href{../binary/instructions.html# binary-laneidx}{\mathtt{laneidx}} &::=& l{:}\href{../binary/ values.html#binary-byte}{\mathtt{byte}} &\Rightarrow& l \\ \def\ mathdef1365#1{{}}\mathdef1365{instruction} & \href{../binary/ instructions.html#binary-instr}{\mathtt{instr}} &::=& \dots \\&&|& \ def\mathdef1619#1{\mathtt{0x#1}}\mathdef1619{FD}~~0{:}\href{../binary /values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html# binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}~m \\ &&|& \def\ mathdef1620#1{\mathtt{0x#1}}\mathdef1620{FD}~~1{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html# binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{8x8\_s} ~m \\ &&|& \def\mathdef1621#1{\mathtt{0x#1}}\mathdef1621{FD}~~2{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html #binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{8x8\_u} ~m \\ &&|& \def\mathdef1622#1{\mathtt{0x#1}}\mathdef1622{FD}~~3{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html #binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{16x4\_s} ~m \\ &&|& \def\mathdef1623#1{\mathtt{0x#1}}\mathdef1623{FD}~~4{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html #binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{16x4\_u} ~m \\ &&|& \def\mathdef1624#1{\mathtt{0x#1}}\mathdef1624{FD}~~5{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html #binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{32x2\_s} ~m \\ &&|& \def\mathdef1625#1{\mathtt{0x#1}}\mathdef1625{FD}~~6{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html #binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{32x2\_u} ~m \\ &&|& \def\mathdef1626#1{\mathtt{0x#1}}\mathdef1626{FD}~~7{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html #binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{8\ _splat}~m \\ &&|& \def\mathdef1627#1{\mathtt{0x#1}}\mathdef1627{FD} ~~8{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{16\ _splat}~m \\ &&|& \def\mathdef1628#1{\mathtt{0x#1}}\mathdef1628{FD} ~~9{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{32\ _splat}~m \\ &&|& \def\mathdef1629#1{\mathtt{0x#1}}\mathdef1629{FD} ~~10{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{64\ _splat}~m \\ &&|& \def\mathdef1630#1{\mathtt{0x#1}}\mathdef1630{FD} ~~92{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{32\ _zero}~m \\ &&|& \def\mathdef1631#1{\mathtt{0x#1}}\mathdef1631{FD} ~~93{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{64\ _zero}~m \\ &&|& \def\mathdef1632#1{\mathtt{0x#1}}\mathdef1632{FD} ~~11{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}} &\Rightarrow& \href {../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{store}}~m \\ &&|& \def \mathdef1633#1{\mathtt{0x#1}}\mathdef1633{FD}~~84{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/instructions.html# binary-memarg}{\mathtt{memarg}}~l{:}\href{../binary/instructions.html #binary-laneidx}{\mathtt{laneidx}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf{8\_lane} ~m~l \\ &&|& \def\mathdef1634#1{\mathtt{0x#1}}\mathdef1634{FD}~~85{:} \href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt {u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}}~l{:}\href{../binary /instructions.html#binary-laneidx}{\mathtt{laneidx}} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf {16\_lane}~m~l \\ &&|& \def\mathdef1635#1{\mathtt{0x#1}}\mathdef1635 {FD}~~86{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1 {{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}}~l{:}\href{../binary /instructions.html#binary-laneidx}{\mathtt{laneidx}} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf {32\_lane}~m~l \\ &&|& \def\mathdef1636#1{\mathtt{0x#1}}\mathdef1636 {FD}~~87{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1 {{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}}~l{:}\href{../binary /instructions.html#binary-laneidx}{\mathtt{laneidx}} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}\mathsf {64\_lane}~m~l \\ &&|& \def\mathdef1637#1{\mathtt{0x#1}}\mathdef1637 {FD}~~88{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1 {{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}}~l{:}\href{../binary /instructions.html#binary-laneidx}{\mathtt{laneidx}} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}\mathsf {8\_lane}~m~l \\ &&|& \def\mathdef1638#1{\mathtt{0x#1}}\mathdef1638 {FD}~~89{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1 {{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}}~l{:}\href{../binary /instructions.html#binary-laneidx}{\mathtt{laneidx}} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}\mathsf {16\_lane}~m~l \\ &&|& \def\mathdef1639#1{\mathtt{0x#1}}\mathdef1639 {FD}~~90{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1 {{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}}~l{:}\href{../binary /instructions.html#binary-laneidx}{\mathtt{laneidx}} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}\mathsf {32\_lane}~m~l \\ &&|& \def\mathdef1640#1{\mathtt{0x#1}}\mathdef1640 {FD}~~91{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1 {{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~m{:}\href{../binary/ instructions.html#binary-memarg}{\mathtt{memarg}}~l{:}\href{../binary /instructions.html#binary-laneidx}{\mathtt{laneidx}} &\Rightarrow& \ href{../syntax/types.html#syntax-valtype}{\mathsf{v128}}.\href{../ syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}\mathsf {64\_lane}~m~l \\ \end{array}\end{split}\] The \(\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {const}}\) instruction is followed by 16 immediate bytes, which are converted into a \(\href{../syntax/values.html#syntax-int}{\mathit {i128}}\) in \(\href{../exec/numerics.html#aux-littleendian}{\mathrm {littleendian}}\) byte order: \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots \\&&|& \def\mathdef1641#1{\ mathtt{0x#1}}\mathdef1641{FD}~~12{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}}~~(b{:}\href{../binary/values.html#binary-byte}{\mathtt{byte}}) ^{16} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{v128}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{const}}~ \href{../exec/numerics.html#aux-bytes}{\mathrm {bytes}}_{\mathsf{i128}}^{-1}(b_{0}~\dots~b_{15}) \\ \end{array}\end {split}\] The \(\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {shuffle}}\) instruction is also followed by the encoding of 16 \(\ href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}\) immediates. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots \\&&|& \def\mathdef1642#1{\ mathtt{0x#1}}\mathdef1642{FD}~~13{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}}~~(l{:}\href{../binary/instructions.html#binary-laneidx}{\ mathtt{laneidx}})^{16} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{shuffle}}~l^{16} \\ \end{array}\end{split} \] \(\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extract \_lane}}\) and \(\href{../syntax/instructions.html#syntax-instr-vec} {\mathsf{replace\_lane}}\) instructions are followed by the encoding of a \(\href{../syntax/instructions.html#syntax-laneidx}{\mathit {laneidx}}\) immediate. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots \\&&|& \def\mathdef1643#1{\ mathtt{0x#1}}\mathdef1643{FD}~~21{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}}~~l{:}\href{../binary/instructions.html#binary-laneidx}{\mathtt {laneidx}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extract\_lane}}\mathsf{\_s}~l \\ &&|& \def\mathdef1644#1{\ mathtt{0x#1}}\mathdef1644{FD}~~22{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}}~~l{:}\href{../binary/instructions.html#binary-laneidx}{\mathtt {laneidx}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extract\_lane}}\mathsf{\_u}~l \\ &&|& \def\mathdef1645#1{\ mathtt{0x#1}}\mathdef1645{FD}~~23{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}}~~l{:}\href{../binary/instructions.html#binary-laneidx}{\mathtt {laneidx}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{replace\_lane}}~l \\ &&|& \def\mathdef1646#1{\mathtt{0x#1}}\ mathdef1646{FD}~~24{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {extract\_lane}}\mathsf{\_s}~l \\ &&|& \def\mathdef1647#1{\mathtt{0x# 1}}\mathdef1647{FD}~~25{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\ href{../binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {extract\_lane}}\mathsf{\_u}~l \\ &&|& \def\mathdef1648#1{\mathtt{0x# 1}}\mathdef1648{FD}~~26{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\ href{../binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {replace\_lane}}~l \\ &&|& \def\mathdef1649#1{\mathtt{0x#1}}\ mathdef1649{FD}~~27{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {extract\_lane}}~l \\ &&|& \def\mathdef1650#1{\mathtt{0x#1}}\ mathdef1650{FD}~~28{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {replace\_lane}}~l \\ &&|& \def\mathdef1651#1{\mathtt{0x#1}}\ mathdef1651{FD}~~29{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {extract\_lane}}~l \\ &&|& \def\mathdef1652#1{\mathtt{0x#1}}\ mathdef1652{FD}~~30{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {replace\_lane}}~l \\ &&|& \def\mathdef1653#1{\mathtt{0x#1}}\ mathdef1653{FD}~~31{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {extract\_lane}}~l \\ &&|& \def\mathdef1654#1{\mathtt{0x#1}}\ mathdef1654{FD}~~32{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {replace\_lane}}~l \\ &&|& \def\mathdef1655#1{\mathtt{0x#1}}\ mathdef1655{FD}~~33{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {extract\_lane}}~l \\ &&|& \def\mathdef1656#1{\mathtt{0x#1}}\ mathdef1656{FD}~~34{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}}~~l{:}\href{.. /binary/instructions.html#binary-laneidx}{\mathtt{laneidx}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {replace\_lane}}~l \\ \end{array}\end{split}\] All other vector instructions are plain opcodes without any immediates. \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{instruction} & \href{../binary/instructions.html# binary-instr}{\mathtt{instr}} &::=& \dots && \phantom {vechaslongerinstructionnames} \\&&|& \def\mathdef1657#1{\mathtt{0x# 1}}\mathdef1657{FD}~~14{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {swizzle}} \\ &&|& \def\mathdef1658#1{\mathtt{0x#1}}\mathdef1658{FD} ~~15{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{splat}} \\ &&|& \def\ mathdef1659#1{\mathtt{0x#1}}\mathdef1659{FD}~~16{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{splat}} \\ &&|& \def\mathdef1660#1{\mathtt {0x#1}}\mathdef1660{FD}~~17{:}\href{../binary/values.html#binary-int} {\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {splat}} \\ &&|& \def\mathdef1661#1{\mathtt{0x#1}}\mathdef1661{FD} ~~18{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{splat}} \\ &&|& \def\ mathdef1662#1{\mathtt{0x#1}}\mathdef1662{FD}~~19{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{splat}} \\ &&|& \def\mathdef1663#1{\mathtt {0x#1}}\mathdef1663{FD}~~20{:}\href{../binary/values.html#binary-int} {\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {splat}} \\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1664#1{\mathtt{0x#1}}\mathdef1664{FD}~~35{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{eq}} \\ &&|& \def\mathdef1665#1{\mathtt{0x# 1}}\mathdef1665{FD}~~36{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {ne}} \\ &&|& \def\mathdef1666#1{\mathtt{0x#1}}\mathdef1666{FD}~~37 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{lt}}\mathsf{\_s} \\ &&|& \def\mathdef1667#1{\mathtt{0x#1}}\mathdef1667{FD}~~38{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{lt}}\mathsf{\_u} \\ &&|& \def\mathdef1668#1 {\mathtt{0x#1}}\mathdef1668{FD}~~39{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{gt}}\mathsf{\_s} \\ &&|& \def\mathdef1669#1{\mathtt{0x#1}}\ mathdef1669{FD}~~40{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{gt}}\mathsf{\_u} \ \ &&|& \def\mathdef1670#1{\mathtt{0x#1}}\mathdef1670{FD}~~41{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{le}}\mathsf{\_s} \\ &&|& \def\mathdef1671#1 {\mathtt{0x#1}}\mathdef1671{FD}~~42{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{le}}\mathsf{\_u} \\ &&|& \def\mathdef1672#1{\mathtt{0x#1}}\ mathdef1672{FD}~~43{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{ge}}\mathsf{\_s} \ \ &&|& \def\mathdef1673#1{\mathtt{0x#1}}\mathdef1673{FD}~~44{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{ge}}\mathsf{\_u} \\ \end{array}\end{split} \] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1674#1{\mathtt{0x#1}}\mathdef1674{FD}~~45{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{eq}} \\ &&|& \def\mathdef1675#1{\mathtt{0x# 1}}\mathdef1675{FD}~~46{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {ne}} \\ &&|& \def\mathdef1676#1{\mathtt{0x#1}}\mathdef1676{FD}~~47 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{lt}}\mathsf{\_s} \\ &&|& \def\mathdef1677#1{\mathtt{0x#1}}\mathdef1677{FD}~~48{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{lt}}\mathsf{\_u} \\ &&|& \def\mathdef1678#1 {\mathtt{0x#1}}\mathdef1678{FD}~~49{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{gt}}\mathsf{\_s} \\ &&|& \def\mathdef1679#1{\mathtt{0x#1}}\ mathdef1679{FD}~~50{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{gt}}\mathsf{\_u} \ \ &&|& \def\mathdef1680#1{\mathtt{0x#1}}\mathdef1680{FD}~~51{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{le}}\mathsf{\_s} \\ &&|& \def\mathdef1681#1 {\mathtt{0x#1}}\mathdef1681{FD}~~52{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{le}}\mathsf{\_u} \\ &&|& \def\mathdef1682#1{\mathtt{0x#1}}\ mathdef1682{FD}~~53{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{ge}}\mathsf{\_s} \ \ &&|& \def\mathdef1683#1{\mathtt{0x#1}}\mathdef1683{FD}~~54{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{ge}}\mathsf{\_u} \\ \end{array}\end{split} \] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1684#1{\mathtt{0x#1}}\mathdef1684{FD}~~55{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{eq}} \\ &&|& \def\mathdef1685#1{\mathtt{0x# 1}}\mathdef1685{FD}~~56{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {ne}} \\ &&|& \def\mathdef1686#1{\mathtt{0x#1}}\mathdef1686{FD}~~57 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{lt}}\mathsf{\_s} \\ &&|& \def\mathdef1687#1{\mathtt{0x#1}}\mathdef1687{FD}~~58{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{lt}}\mathsf{\_u} \\ &&|& \def\mathdef1688#1 {\mathtt{0x#1}}\mathdef1688{FD}~~59{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{gt}}\mathsf{\_s} \\ &&|& \def\mathdef1689#1{\mathtt{0x#1}}\ mathdef1689{FD}~~60{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32x4}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{gt}}\mathsf{\_u} \ \ &&|& \def\mathdef1690#1{\mathtt{0x#1}}\mathdef1690{FD}~~61{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{le}}\mathsf{\_s} \\ &&|& \def\mathdef1691#1 {\mathtt{0x#1}}\mathdef1691{FD}~~62{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{le}}\mathsf{\_u} \\ &&|& \def\mathdef1692#1{\mathtt{0x#1}}\ mathdef1692{FD}~~63{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32x4}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{ge}}\mathsf{\_s} \ \ &&|& \def\mathdef1693#1{\mathtt{0x#1}}\mathdef1693{FD}~~64{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{ge}}\mathsf{\_u} \\ \end{array}\end{split} \] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1694#1{\mathtt{0x#1}}\mathdef1694{FD}~~214{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{eq}} \\ &&|& \def\mathdef1695#1{\mathtt{0x# 1}}\mathdef1695{FD}~~215{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {ne}} \\ &&|& \def\mathdef1696#1{\mathtt{0x#1}}\mathdef1696{FD}~~216 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{lt}}\mathsf{\_s} \\ &&|& \def\mathdef1697#1{\mathtt{0x#1}}\mathdef1697{FD}~~217{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{gt}}\mathsf{\_s} \\ &&|& \def\mathdef1698#1 {\mathtt{0x#1}}\mathdef1698{FD}~~218{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{le}}\mathsf{\_s} \\ &&|& \def\mathdef1699#1{\mathtt{0x#1}}\ mathdef1699{FD}~~219{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i64x2}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{ge}}\mathsf{\_s} \ \ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1700#1{\mathtt{0x#1}}\mathdef1700{FD}~~65{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{eq}} \\ &&|& \def\mathdef1701#1{\mathtt{0x# 1}}\mathdef1701{FD}~~66{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {ne}} \\ &&|& \def\mathdef1702#1{\mathtt{0x#1}}\mathdef1702{FD}~~67 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{lt}} \\ &&|& \def\ mathdef1703#1{\mathtt{0x#1}}\mathdef1703{FD}~~68{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{gt}} \\ &&|& \def\mathdef1704#1{\mathtt{0x# 1}}\mathdef1704{FD}~~69{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {le}} \\ &&|& \def\mathdef1705#1{\mathtt{0x#1}}\mathdef1705{FD}~~70 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{ge}} \\ \end{array}\end {split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1706#1{\mathtt{0x#1}}\mathdef1706{FD}~~71{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{eq}} \\ &&|& \def\mathdef1707#1{\mathtt{0x# 1}}\mathdef1707{FD}~~72{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {ne}} \\ &&|& \def\mathdef1708#1{\mathtt{0x#1}}\mathdef1708{FD}~~73 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{lt}} \\ &&|& \def\ mathdef1709#1{\mathtt{0x#1}}\mathdef1709{FD}~~74{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{gt}} \\ &&|& \def\mathdef1710#1{\mathtt{0x# 1}}\mathdef1710{FD}~~75{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {le}} \\ &&|& \def\mathdef1711#1{\mathtt{0x#1}}\mathdef1711{FD}~~76 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{ge}} \\ \end{array}\end {split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1712#1{\mathtt{0x#1}}\mathdef1712{FD}~~77{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{v128}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{not}} \\ &&|& \def\mathdef1713#1{\mathtt{0x #1}}\mathdef1713{FD}~~78{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {v128}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {and}} \\ &&|& \def\mathdef1714#1{\mathtt{0x#1}}\mathdef1714{FD}~~79 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{andnot}} \\ &&|& \def\ mathdef1715#1{\mathtt{0x#1}}\mathdef1715{FD}~~80{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{v128}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{or}} \\ &&|& \def\mathdef1716#1{\mathtt{0x# 1}}\mathdef1716{FD}~~81{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {v128}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {xor}} \\ &&|& \def\mathdef1717#1{\mathtt{0x#1}}\mathdef1717{FD}~~82 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{v128}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{bitselect}} \\ &&|& \def\ mathdef1718#1{\mathtt{0x#1}}\mathdef1718{FD}~~83{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{v128}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{any\_true}} \\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1719#1{\mathtt{0x#1}}\mathdef1719{FD}~~96{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{abs}} \\ &&|& \def\mathdef1720#1{\mathtt{0x #1}}\mathdef1720{FD}~~97{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {neg}} \\ &&|& \def\mathdef1721#1{\mathtt{0x#1}}\mathdef1721{FD}~~98 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{popcnt}} \\ &&|& \def\ mathdef1722#1{\mathtt{0x#1}}\mathdef1722{FD}~~99{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{all\_true}} \\ &&|& \def\mathdef1723#1{\ mathtt{0x#1}}\mathdef1723{FD}~~100{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{bitmask}} \\ &&|& \def\mathdef1724#1{\mathtt{0x#1}}\ mathdef1724{FD}~~101{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{narrow}}\mathsf{\ _i16x8\_s} \\ &&|& \def\mathdef1725#1{\mathtt{0x#1}}\mathdef1725{FD} ~~102{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{narrow}}\mathsf{\_i16x8\ _u} \\ &&|& \def\mathdef1726#1{\mathtt{0x#1}}\mathdef1726{FD}~~107{:} \href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt {u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{shl}} \\ &&|& \def\ mathdef1727#1{\mathtt{0x#1}}\mathdef1727{FD}~~108{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1728# 1{\mathtt{0x#1}}\mathdef1728{FD}~~109{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{shr}}\mathsf{\_u} \\ &&|& \def\mathdef1729#1{\mathtt{0x#1}}\ mathdef1729{FD}~~110{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{add}} \\ &&|& \def \mathdef1730#1{\mathtt{0x#1}}\mathdef1730{FD}~~111{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{add}}\mathsf{\_sat\_s} \\ &&|& \def\ mathdef1731#1{\mathtt{0x#1}}\mathdef1731{FD}~~112{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{add}}\mathsf{\_sat\_u} \\ &&|& \def\ mathdef1732#1{\mathtt{0x#1}}\mathdef1732{FD}~~113{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{sub}} \\ &&|& \def\mathdef1733#1{\mathtt{0x #1}}\mathdef1733{FD}~~114{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {sub}}\mathsf{\_sat\_s} \\ &&|& \def\mathdef1734#1{\mathtt{0x#1}}\ mathdef1734{FD}~~115{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}}\mathsf{\_sat \_u} \\ &&|& \def\mathdef1735#1{\mathtt{0x#1}}\mathdef1735{FD}~~118 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{min}}\mathsf{\_s} \\ &&|& \def\mathdef1736#1{\mathtt{0x#1}}\mathdef1736{FD}~~119{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{min}}\mathsf{\_u} \\ &&|& \def\mathdef1737# 1{\mathtt{0x#1}}\mathdef1737{FD}~~120{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{max}}\mathsf{\_s} \\ &&|& \def\mathdef1738#1{\mathtt{0x#1}}\ mathdef1738{FD}~~121{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_u} \\ &&|& \def\mathdef1739#1{\mathtt{0x#1}}\mathdef1739{FD}~~123{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i8x16}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{avgr}}\mathsf{\_u} \\ \ end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1740#1{\mathtt{0x#1}}\mathdef1740{FD}~~124{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{extadd\_pairwise}}\mathsf{\_i8x16\_s}\\ &&| & \def\mathdef1741#1{\mathtt{0x#1}}\mathdef1741{FD}~~125{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{extadd\_pairwise}}\mathsf{\_i8x16\_u}\\ &&| & \def\mathdef1742#1{\mathtt{0x#1}}\mathdef1742{FD}~~128{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{abs}} \\ &&|& \def\mathdef1743#1{\mathtt{0x #1}}\mathdef1743{FD}~~129{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {neg}} \\ &&|& \def\mathdef1744#1{\mathtt{0x#1}}\mathdef1744{FD}~~130 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{q15mulr\_sat}}\mathsf{\ _s} \\ &&|& \def\mathdef1745#1{\mathtt{0x#1}}\mathdef1745{FD}~~131{:} \href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt {u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{all\_true}} \\ &&|& \def\ mathdef1746#1{\mathtt{0x#1}}\mathdef1746{FD}~~132{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{bitmask}} \\ &&|& \def\mathdef1747#1{\ mathtt{0x#1}}\mathdef1747{FD}~~133{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{narrow}}\mathsf{\_i32x4\_s} \\ &&|& \def\mathdef1748#1{\mathtt {0x#1}}\mathdef1748{FD}~~134{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{narrow}}\mathsf{\_i32x4\_u} \\ &&|& \def\mathdef1749#1{\mathtt {0x#1}}\mathdef1749{FD}~~135{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_low\_i8x16\_s} \\ &&|& \def\mathdef1750#1{\ mathtt{0x#1}}\mathdef1750{FD}~~136{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_high\_i8x16\_s} \\ &&|& \def\mathdef1751#1{\ mathtt{0x#1}}\mathdef1751{FD}~~137{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_low\_i8x16\_u} \\ &&|& \def\mathdef1752#1{\ mathtt{0x#1}}\mathdef1752{FD}~~138{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_high\_i8x16\_u} \\ &&|& \def\mathdef1753#1{\ mathtt{0x#1}}\mathdef1753{FD}~~139{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{shl}} \\ &&|& \def\mathdef1754#1{\mathtt{0x#1}}\mathdef1754 {FD}~~140{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1755#1{\mathtt{0x#1}}\mathdef1755{FD}~~141{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{shr}}\mathsf{\_u} \\ &&|& \def\mathdef1756# 1{\mathtt{0x#1}}\mathdef1756{FD}~~142{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{add}} \\ &&|& \def\mathdef1757#1{\mathtt{0x#1}}\mathdef1757 {FD}~~143{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{add}}\mathsf{\_sat\_s} \\ &&|& \def\mathdef1758#1{\mathtt{0x#1}}\mathdef1758{FD}~~144{:}\href {../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}} \mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{add}}\mathsf{\_sat\_u} \\ &&|& \def\ mathdef1759#1{\mathtt{0x#1}}\mathdef1759{FD}~~145{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{sub}} \\ &&|& \def\mathdef1760#1{\mathtt{0x #1}}\mathdef1760{FD}~~146{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {sub}}\mathsf{\_sat\_s} \\ &&|& \def\mathdef1761#1{\mathtt{0x#1}}\ mathdef1761{FD}~~147{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}}\mathsf{\_sat \_u} \\ &&|& \def\mathdef1762#1{\mathtt{0x#1}}\mathdef1762{FD}~~149 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{mul}} \\ &&|& \def\ mathdef1763#1{\mathtt{0x#1}}\mathdef1763{FD}~~150{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{min}}\mathsf{\_s} \\ &&|& \def\mathdef1764# 1{\mathtt{0x#1}}\mathdef1764{FD}~~151{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{min}}\mathsf{\_u} \\ &&|& \def\mathdef1765#1{\mathtt{0x#1}}\ mathdef1765{FD}~~152{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_s} \\ &&|& \def\mathdef1766#1{\mathtt{0x#1}}\mathdef1766{FD}~~153{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_u} \\ &&|& \def\mathdef1767#1{\mathtt{0x#1}}\mathdef1767{FD}~~155{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i16x8}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{avgr}}\mathsf{\_u} \\ &&|& \def\mathdef1768 #1{\mathtt{0x#1}}\mathdef1768{FD}~~156{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_low\_i8x16\_s}\\ &&|& \def\mathdef1769#1{\ mathtt{0x#1}}\mathdef1769{FD}~~157{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_high\_i8x16\_s}\\ &&|& \def\mathdef1770#1{\ mathtt{0x#1}}\mathdef1770{FD}~~158{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_low\_i8x16\_u}\\ &&|& \def\mathdef1771#1{\ mathtt{0x#1}}\mathdef1771{FD}~~159{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_high\_i8x16\_u}\\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1772#1{\mathtt{0x#1}}\mathdef1772{FD}~~126{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{extadd\_pairwise}}\mathsf{\_i16x8\_s}\\ &&| & \def\mathdef1773#1{\mathtt{0x#1}}\mathdef1773{FD}~~127{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{extadd\_pairwise}}\mathsf{\_i16x8\_u}\\ &&| & \def\mathdef1774#1{\mathtt{0x#1}}\mathdef1774{FD}~~160{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{abs}} \\ &&|& \def\mathdef1775#1{\mathtt{0x #1}}\mathdef1775{FD}~~161{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {neg}} \\ &&|& \def\mathdef1776#1{\mathtt{0x#1}}\mathdef1776{FD}~~163 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{all\_true}} \\ &&|& \def\ mathdef1777#1{\mathtt{0x#1}}\mathdef1777{FD}~~164{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{bitmask}} \\ &&|& \def\mathdef1778#1{\ mathtt{0x#1}}\mathdef1778{FD}~~167{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_low\_i16x8\_s} \\ &&|& \def\mathdef1779#1{\ mathtt{0x#1}}\mathdef1779{FD}~~168{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_high\_i16x8\_s} \\ &&|& \def\mathdef1780#1{\ mathtt{0x#1}}\mathdef1780{FD}~~169{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_low\_i16x8\_u} \\ &&|& \def\mathdef1781#1{\ mathtt{0x#1}}\mathdef1781{FD}~~170{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_high\_i16x8\_u} \\ &&|& \def\mathdef1782#1{\ mathtt{0x#1}}\mathdef1782{FD}~~171{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{shl}} \\ &&|& \def\mathdef1783#1{\mathtt{0x#1}}\mathdef1783 {FD}~~172{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1784#1{\mathtt{0x#1}}\mathdef1784{FD}~~173{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{shr}}\mathsf{\_u} \\ &&|& \def\mathdef1785# 1{\mathtt{0x#1}}\mathdef1785{FD}~~174{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{add}} \\ &&|& \def\mathdef1786#1{\mathtt{0x#1}}\mathdef1786 {FD}~~177{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{sub}} \\ &&|& \def\ mathdef1787#1{\mathtt{0x#1}}\mathdef1787{FD}~~181{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{mul}} \\ &&|& \def\mathdef1788#1{\mathtt{0x #1}}\mathdef1788{FD}~~182{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {min}}\mathsf{\_s} \\ &&|& \def\mathdef1789#1{\mathtt{0x#1}}\ mathdef1789{FD}~~183{:}\href{../binary/values.html#binary-int}{\def\ mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf{i32x4}}.\href{../ syntax/instructions.html#syntax-instr-vec}{\mathsf{min}}\mathsf{\_u} \\ &&|& \def\mathdef1790#1{\mathtt{0x#1}}\mathdef1790{FD}~~184{:}\ href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u} #1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/ types.html#syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_s} \\ &&|& \def\mathdef1791#1{\mathtt{0x#1}}\mathdef1791{FD}~~185{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{max}}\mathsf{\_u} \\ &&|& \def\mathdef1792# 1{\mathtt{0x#1}}\mathdef1792{FD}~~186{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{dot}}\mathsf{\_i16x8\_s}\\ &&|& \def\mathdef1793#1{\mathtt{0x# 1}}\mathdef1793{FD}~~188{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {extmul}}\mathsf{\_low\_i16x8\_s}\\ &&|& \def\mathdef1794#1{\mathtt {0x#1}}\mathdef1794{FD}~~189{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_high\_i16x8\_s}\\ &&|& \def\mathdef1795#1{\ mathtt{0x#1}}\mathdef1795{FD}~~190{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_low\_i16x8\_u}\\ &&|& \def\mathdef1796#1{\ mathtt{0x#1}}\mathdef1796{FD}~~191{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_high\_i16x8\_u}\\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1797#1{\mathtt{0x#1}}\mathdef1797{FD}~~192{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{abs}} \\ &&|& \def\mathdef1798#1{\mathtt{0x #1}}\mathdef1798{FD}~~193{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {neg}} \\ &&|& \def\mathdef1799#1{\mathtt{0x#1}}\mathdef1799{FD}~~195 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{all\_true}} \\ &&|& \def\ mathdef1800#1{\mathtt{0x#1}}\mathdef1800{FD}~~196{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{bitmask}} \\ &&|& \def\mathdef1801#1{\ mathtt{0x#1}}\mathdef1801{FD}~~199{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_low\_i32x4\_s} \\ &&|& \def\mathdef1802#1{\ mathtt{0x#1}}\mathdef1802{FD}~~200{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_high\_i32x4\_s} \\ &&|& \def\mathdef1803#1{\ mathtt{0x#1}}\mathdef1803{FD}~~201{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_low\_i32x4\_u} \\ &&|& \def\mathdef1804#1{\ mathtt{0x#1}}\mathdef1804{FD}~~202{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extend}}\mathsf{\_high\_i32x4\_u} \\ &&|& \def\mathdef1805#1{\ mathtt{0x#1}}\mathdef1805{FD}~~203{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{shl}} \\ &&|& \def\mathdef1806#1{\mathtt{0x#1}}\mathdef1806 {FD}~~204{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1807#1{\mathtt{0x#1}}\mathdef1807{FD}~~205{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{shr}}\mathsf{\_u} \\ &&|& \def\mathdef1808# 1{\mathtt{0x#1}}\mathdef1808{FD}~~206{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{add}} \\ &&|& \def\mathdef1809#1{\mathtt{0x#1}}\mathdef1809 {FD}~~209{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{sub}} \\ &&|& \def\ mathdef1810#1{\mathtt{0x#1}}\mathdef1810{FD}~~213{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{mul}} \\ &&|& \def\mathdef1811#1{\mathtt{0x #1}}\mathdef1811{FD}~~220{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {extmul}}\mathsf{\_low\_i32x4\_s}\\ &&|& \def\mathdef1812#1{\mathtt {0x#1}}\mathdef1812{FD}~~221{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_high\_i32x4\_s}\\ &&|& \def\mathdef1813#1{\ mathtt{0x#1}}\mathdef1813{FD}~~222{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_low\_i32x4\_u}\\ &&|& \def\mathdef1814#1{\ mathtt{0x#1}}\mathdef1814{FD}~~223{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{extmul}}\mathsf{\_high\_i32x4\_u}\\ \end{array}\end{split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1815#1{\mathtt{0x#1}}\mathdef1815{FD}~~103{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{ceil}} \\ &&|& \def\mathdef1816#1{\mathtt {0x#1}}\mathdef1816{FD}~~104{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{floor}} \\ &&|& \def\mathdef1817#1{\mathtt{0x#1}}\mathdef1817 {FD}~~105{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{trunc}} \\ &&|& \def\ mathdef1818#1{\mathtt{0x#1}}\mathdef1818{FD}~~106{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{nearest}} \\ &&|& \def\mathdef1819#1{\ mathtt{0x#1}}\mathdef1819{FD}~~224{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{abs}} \\ &&|& \def\mathdef1820#1{\mathtt{0x#1}}\mathdef1820 {FD}~~225{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{neg}} \\ &&|& \def\ mathdef1821#1{\mathtt{0x#1}}\mathdef1821{FD}~~227{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{sqrt}} \\ &&|& \def\mathdef1822#1{\mathtt {0x#1}}\mathdef1822{FD}~~228{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{add}} \\ &&|& \def\mathdef1823#1{\mathtt{0x#1}}\mathdef1823 {FD}~~229{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{sub}} \\ &&|& \def\ mathdef1824#1{\mathtt{0x#1}}\mathdef1824{FD}~~230{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{mul}} \\ &&|& \def\mathdef1825#1{\mathtt{0x #1}}\mathdef1825{FD}~~231{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {div}} \\ &&|& \def\mathdef1826#1{\mathtt{0x#1}}\mathdef1826{FD}~~232 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{min}} \\ &&|& \def\ mathdef1827#1{\mathtt{0x#1}}\mathdef1827{FD}~~233{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{max}} \\ &&|& \def\mathdef1828#1{\mathtt{0x #1}}\mathdef1828{FD}~~234{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {pmin}} \\ &&|& \def\mathdef1829#1{\mathtt{0x#1}}\mathdef1829{FD} ~~235{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{pmax}} \\ \end{array}\end {split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1830#1{\mathtt{0x#1}}\mathdef1830{FD}~~116{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{ceil}} \\ &&|& \def\mathdef1831#1{\mathtt {0x#1}}\mathdef1831{FD}~~117{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{floor}} \\ &&|& \def\mathdef1832#1{\mathtt{0x#1}}\mathdef1832 {FD}~~122{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{trunc}} \\ &&|& \def\ mathdef1833#1{\mathtt{0x#1}}\mathdef1833{FD}~~148{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{nearest}} \\ &&|& \def\mathdef1834#1{\ mathtt{0x#1}}\mathdef1834{FD}~~236{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{abs}} \\ &&|& \def\mathdef1835#1{\mathtt{0x#1}}\mathdef1835 {FD}~~237{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{neg}} \\ &&|& \def\ mathdef1836#1{\mathtt{0x#1}}\mathdef1836{FD}~~239{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{sqrt}} \\ &&|& \def\mathdef1837#1{\mathtt {0x#1}}\mathdef1837{FD}~~240{:}\href{../binary/values.html# binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt {32}}} &\Rightarrow& \href{../syntax/types.html#syntax-valtype}{\ mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\ mathsf{add}} \\ &&|& \def\mathdef1838#1{\mathtt{0x#1}}\mathdef1838 {FD}~~241{:}\href{../binary/values.html#binary-int}{\def\mathdef1370# 1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../ syntax/types.html#syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{sub}} \\ &&|& \def\ mathdef1839#1{\mathtt{0x#1}}\mathdef1839{FD}~~242{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{mul}} \\ &&|& \def\mathdef1840#1{\mathtt{0x #1}}\mathdef1840{FD}~~243{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {div}} \\ &&|& \def\mathdef1841#1{\mathtt{0x#1}}\mathdef1841{FD}~~244 {:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{min}} \\ &&|& \def\ mathdef1842#1{\mathtt{0x#1}}\mathdef1842{FD}~~245{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{max}} \\ &&|& \def\mathdef1843#1{\mathtt{0x #1}}\mathdef1843{FD}~~246{:}\href{../binary/values.html#binary-int}{\ def\mathdef1370#1{{\mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\ Rightarrow& \href{../syntax/types.html#syntax-valtype}{\mathsf {f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf {pmin}} \\ &&|& \def\mathdef1844#1{\mathtt{0x#1}}\mathdef1844{FD} ~~247{:}\href{../binary/values.html#binary-int}{\def\mathdef1370#1{{\ mathtt{u}#1}}\mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax /types.html#syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/ instructions.html#syntax-instr-vec}{\mathsf{pmax}} \\ \end{array}\end {split}\] \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1365#1{{}}\ mathdef1365{instruction}} & \phantom{\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \ phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&| & \def\mathdef1845#1{\mathtt{0x#1}}\mathdef1845{FD}~~248{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_s} \\ &&|& \def\mathdef1846#1{\mathtt{0x#1}}\mathdef1846{FD}~~249{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_u} \\ &&|& \def\mathdef1847#1{\mathtt{0x#1}}\mathdef1847{FD}~~250{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_i32x4\_s} \\ &&|& \ def\mathdef1848#1{\mathtt{0x#1}}\mathdef1848{FD}~~251{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_i32x4\_u} \\ &&|& \ def\mathdef1849#1{\mathtt{0x#1}}\mathdef1849{FD}~~252{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_s\_zero}\\ &&| & \def\mathdef1850#1{\mathtt{0x#1}}\mathdef1850{FD}~~253{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{i32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_u\_zero}\\ &&| & \def\mathdef1851#1{\mathtt{0x#1}}\mathdef1851{FD}~~254{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_s}\\ &&|& \ def\mathdef1852#1{\mathtt{0x#1}}\mathdef1852{FD}~~255{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_u}\\ &&|& \ def\mathdef1853#1{\mathtt{0x#1}}\mathdef1853{FD}~~94{:}\href{../ binary/values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f32x4}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{demote}}\mathsf{\_f64x2\_zero}\\ &&|& \def\ mathdef1854#1{\mathtt{0x#1}}\mathdef1854{FD}~~95{:}\href{../binary/ values.html#binary-int}{\def\mathdef1370#1{{\mathtt{u}#1}}\ mathdef1370{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html# syntax-valtype}{\mathsf{f64x2}}.\href{../syntax/instructions.html# syntax-instr-vec}{\mathsf{promote}}\mathsf{\_low\_f32x4}\\ \end {array}\end{split}\] ExpressionsP Expressions are encoded by their instruction sequence terminated with an explicit \(\def\mathdef1855#1{\mathtt{0x#1}}\mathdef1855{0B}\) opcode for \(\href{../syntax/instructions.html#syntax-instr-control} {\mathsf{end}}\). \[\begin{split}\begin{array}{llclll} \def\mathdef1365#1{{}}\ mathdef1365{expression} & \href{../binary/instructions.html# binary-expr}{\mathtt{expr}} &::=& (\mathit{in}{:}\href{../binary/ instructions.html#binary-instr}{\mathtt{instr}})^\ast~~\def\ mathdef1856#1{\mathtt{0x#1}}\mathdef1856{0B} &\Rightarrow& \mathit {in}^\ast~\href{../syntax/instructions.html#syntax-instr-control}{\ mathsf{end}} \\ \end{array}\end{split}\] (c)2022, WebAssembly Community Group.