diff options
Diffstat (limited to 'src/WebAssembly/Structure/Instructions/Instrs')
207 files changed, 3537 insertions, 0 deletions
diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/Block.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/Block.php new file mode 100644 index 0000000..af2c97f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/Block.php @@ -0,0 +1,24 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Block extends Instr +{ + /** + * @param list<Instr> $body + */ + protected function __construct( + public BlockType $type, + public array $body, + ) { + } + + public static function opName(): string + { + return "block"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockType.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockType.php new file mode 100644 index 0000000..1188625 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockType.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValType; + +abstract readonly class BlockType +{ + final public static function TypeIdx(int $type): BlockTypes\TypeIdx + { + return new BlockTypes\TypeIdx($type); + } + + final public static function ValType(?ValType $type): BlockTypes\ValType + { + return new BlockTypes\ValType($type); + } + + public static function opName(): string + { + return "hoge"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockTypes/TypeIdx.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockTypes/TypeIdx.php new file mode 100644 index 0000000..2ed694b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockTypes/TypeIdx.php @@ -0,0 +1,14 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control\BlockTypes; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control\BlockType; + +final readonly class TypeIdx extends BlockType +{ + protected function __construct(public int $inner) + { + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockTypes/ValType.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockTypes/ValType.php new file mode 100644 index 0000000..e7caa3f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/BlockTypes/ValType.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control\BlockTypes; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control\BlockType; +use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValType as OrigValType; + +final readonly class ValType extends BlockType +{ + protected function __construct(public ?OrigValType $inner) + { + } + + public static function opName(): string + { + return "hoge"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/Br.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/Br.php new file mode 100644 index 0000000..6235a36 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/Br.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Br extends Instr +{ + protected function __construct( + public int $label, + ) { + } + + public static function opName(): string + { + return "br"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/BrIf.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/BrIf.php new file mode 100644 index 0000000..7c8a896 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/BrIf.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class BrIf extends Instr +{ + protected function __construct( + public int $label, + ) { + } + + public static function opName(): string + { + return "br_if"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/BrTable.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/BrTable.php new file mode 100644 index 0000000..2841814 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/BrTable.php @@ -0,0 +1,24 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class BrTable extends Instr +{ + /** + * @param list<int> $labelTable + */ + protected function __construct( + public array $labelTable, + public int $defaultLabel, + ) { + } + + public static function opName(): string + { + return "br_table"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/Call.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/Call.php new file mode 100644 index 0000000..461f561 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/Call.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Call extends Instr +{ + protected function __construct( + public int $func, + ) { + } + + public static function opName(): string + { + return "call"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/CallIndirect.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/CallIndirect.php new file mode 100644 index 0000000..7017723 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/CallIndirect.php @@ -0,0 +1,21 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class CallIndirect extends Instr +{ + protected function __construct( + public int $funcTable, + public int $type, + ) { + } + + public static function opName(): string + { + return "call_indirect"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/Else_.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/Else_.php new file mode 100644 index 0000000..1407543 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/Else_.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Else_ extends Instr +{ + public static function opName(): string + { + return "else"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/End.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/End.php new file mode 100644 index 0000000..5bdb8b9 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/End.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class End extends Instr +{ + public static function opName(): string + { + return "end"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/If_.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/If_.php new file mode 100644 index 0000000..8afdc8b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/If_.php @@ -0,0 +1,26 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class If_ extends Instr +{ + /** + * @param list<Instr> $thenBody + * @param list<Instr> $elseBody + */ + protected function __construct( + public BlockType $type, + public array $thenBody, + public array $elseBody, + ) { + } + + public static function opName(): string + { + return "if"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/Loop.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/Loop.php new file mode 100644 index 0000000..ca48ca1 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/Loop.php @@ -0,0 +1,24 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Loop extends Instr +{ + /** + * @param list<Instr> $body + */ + protected function __construct( + public BlockType $type, + public array $body, + ) { + } + + public static function opName(): string + { + return "loop"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/Nop.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/Nop.php new file mode 100644 index 0000000..50a3773 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/Nop.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Nop extends Instr +{ + public static function opName(): string + { + return "nop"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/Return_.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/Return_.php new file mode 100644 index 0000000..b80fdfe --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/Return_.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Return_ extends Instr +{ + public static function opName(): string + { + return "return"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Control/Unreachable.php b/src/WebAssembly/Structure/Instructions/Instrs/Control/Unreachable.php new file mode 100644 index 0000000..e43ade8 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Control/Unreachable.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Unreachable extends Instr +{ + public static function opName(): string + { + return "unreachable"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/DataDrop.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/DataDrop.php new file mode 100644 index 0000000..3525b80 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/DataDrop.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class DataDrop extends Instr +{ + protected function __construct( + public int $data, + ) { + } + + public static function opName(): string + { + return "data.drop"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/F32Load.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/F32Load.php new file mode 100644 index 0000000..82b7cf4 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/F32Load.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Load extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "f32.load"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/F32Store.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/F32Store.php new file mode 100644 index 0000000..06d9055 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/F32Store.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Store extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "f32.store"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/F64Load.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/F64Load.php new file mode 100644 index 0000000..13e2385 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/F64Load.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Load extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "f64.load"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/F64Store.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/F64Store.php new file mode 100644 index 0000000..261b276 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/F64Store.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Store extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "f64.store"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load.php new file mode 100644 index 0000000..4554a77 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Load extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i32.load"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load16S.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load16S.php new file mode 100644 index 0000000..56bdb3f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load16S.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Load16S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i32.load16_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load16U.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load16U.php new file mode 100644 index 0000000..1cc243c --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load16U.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Load16U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i32.load16_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load8S.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load8S.php new file mode 100644 index 0000000..a76607f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load8S.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Load8S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i32.load8_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load8U.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load8U.php new file mode 100644 index 0000000..7cab471 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load8U.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Load8U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i32.load8_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store.php new file mode 100644 index 0000000..3021639 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Store extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i32.store"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store16.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store16.php new file mode 100644 index 0000000..3463fdf --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store16.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Store16 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i32.store16"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store8.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store8.php new file mode 100644 index 0000000..5298ad5 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store8.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Store8 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i32.store8"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load.php new file mode 100644 index 0000000..33fa4e1 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Load extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.load"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load16S.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load16S.php new file mode 100644 index 0000000..47ef776 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load16S.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Load16S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.load16_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load16U.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load16U.php new file mode 100644 index 0000000..8825b89 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load16U.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Load16U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.load16_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load32S.php new file mode 100644 index 0000000..bd2575b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load32S.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Load32S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.load32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load32U.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load32U.php new file mode 100644 index 0000000..404bc8a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load32U.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Load32U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.load32_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load8S.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load8S.php new file mode 100644 index 0000000..f28bad9 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load8S.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Load8S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.load8_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load8U.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load8U.php new file mode 100644 index 0000000..66b5575 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load8U.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Load8U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.load8_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store.php new file mode 100644 index 0000000..0b4778b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Store extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.store"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store16.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store16.php new file mode 100644 index 0000000..984ecd2 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store16.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Store16 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.store16"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store32.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store32.php new file mode 100644 index 0000000..e486308 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store32.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Store32 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.store32"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store8.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store8.php new file mode 100644 index 0000000..7897197 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store8.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Store8 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + protected function __construct( + public int $offset, + public int $align, + ) { + } + + public static function opName(): string + { + return "i64.store8"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryCopy.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryCopy.php new file mode 100644 index 0000000..5ef7106 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryCopy.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class MemoryCopy extends Instr +{ + public static function opName(): string + { + return "memory.copy"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryFill.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryFill.php new file mode 100644 index 0000000..be388ff --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryFill.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class MemoryFill extends Instr +{ + public static function opName(): string + { + return "memory.fill"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryGrow.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryGrow.php new file mode 100644 index 0000000..9e6c320 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryGrow.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class MemoryGrow extends Instr +{ + public static function opName(): string + { + return "memory.grow"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryInit.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryInit.php new file mode 100644 index 0000000..7843ff1 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryInit.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class MemoryInit extends Instr +{ + protected function __construct( + public int $data, + ) { + } + + public static function opName(): string + { + return "memory.init"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemorySize.php b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemorySize.php new file mode 100644 index 0000000..075878a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Memory/MemorySize.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class MemorySize extends Instr +{ + public static function opName(): string + { + return "memory.size"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Abs.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Abs.php new file mode 100644 index 0000000..7711f7f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Abs.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Abs extends Instr +{ + public static function opName(): string + { + return "f32.abs"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Add.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Add.php new file mode 100644 index 0000000..5f92829 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Add.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Add extends Instr +{ + public static function opName(): string + { + return "f32.add"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ceil.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ceil.php new file mode 100644 index 0000000..be6f11e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ceil.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Ceil extends Instr +{ + public static function opName(): string + { + return "f32.ceil"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Const.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Const.php new file mode 100644 index 0000000..fd2670e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Const.php @@ -0,0 +1,23 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Const extends Instr +{ + /** + * @param F32 $value + */ + protected function __construct( + public float $value, + ) { + } + + public static function opName(): string + { + return "f32.const"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI32S.php new file mode 100644 index 0000000..5e68989 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI32S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32ConvertI32S extends Instr +{ + public static function opName(): string + { + return "f32.convert_i32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI32U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI32U.php new file mode 100644 index 0000000..fdaa709 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI32U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32ConvertI32U extends Instr +{ + public static function opName(): string + { + return "f32.convert_i32_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI64S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI64S.php new file mode 100644 index 0000000..b6444cc --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI64S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32ConvertI64S extends Instr +{ + public static function opName(): string + { + return "f32.convert_i64_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI64U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI64U.php new file mode 100644 index 0000000..4b0f578 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ConvertI64U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32ConvertI64U extends Instr +{ + public static function opName(): string + { + return "f32.convert_i64_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32CopySign.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32CopySign.php new file mode 100644 index 0000000..539682a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32CopySign.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32CopySign extends Instr +{ + public static function opName(): string + { + return "f32.copy_sign"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32DemoteF64.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32DemoteF64.php new file mode 100644 index 0000000..24cff4f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32DemoteF64.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32DemoteF64 extends Instr +{ + public static function opName(): string + { + return "f32.demote_f64"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Div.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Div.php new file mode 100644 index 0000000..3cdafb0 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Div.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Div extends Instr +{ + public static function opName(): string + { + return "f32.div"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Eq.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Eq.php new file mode 100644 index 0000000..cae6c2e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Eq.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Eq extends Instr +{ + public static function opName(): string + { + return "f32.eq"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Floor.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Floor.php new file mode 100644 index 0000000..9c1b23f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Floor.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Floor extends Instr +{ + public static function opName(): string + { + return "f32.floor"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ge.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ge.php new file mode 100644 index 0000000..ef75922 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ge.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Ge extends Instr +{ + public static function opName(): string + { + return "f32.ge"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Gt.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Gt.php new file mode 100644 index 0000000..0efda96 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Gt.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Gt extends Instr +{ + public static function opName(): string + { + return "f32.gt"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Le.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Le.php new file mode 100644 index 0000000..50cbb71 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Le.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Le extends Instr +{ + public static function opName(): string + { + return "f32.le"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Lt.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Lt.php new file mode 100644 index 0000000..e4b490a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Lt.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Lt extends Instr +{ + public static function opName(): string + { + return "f32.lt"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Max.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Max.php new file mode 100644 index 0000000..81f9b3e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Max.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Max extends Instr +{ + public static function opName(): string + { + return "f32.max"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Min.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Min.php new file mode 100644 index 0000000..20518ea --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Min.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Min extends Instr +{ + public static function opName(): string + { + return "f32.min"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Mul.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Mul.php new file mode 100644 index 0000000..8282273 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Mul.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Mul extends Instr +{ + public static function opName(): string + { + return "f32.mul"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ne.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ne.php new file mode 100644 index 0000000..8b5db5e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Ne.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Ne extends Instr +{ + public static function opName(): string + { + return "f32.ne"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Nearest.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Nearest.php new file mode 100644 index 0000000..ae51359 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Nearest.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Nearest extends Instr +{ + public static function opName(): string + { + return "f32.nearest"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Neg.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Neg.php new file mode 100644 index 0000000..82b72c3 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Neg.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Neg extends Instr +{ + public static function opName(): string + { + return "f32.neg"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ReinterpretI32.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ReinterpretI32.php new file mode 100644 index 0000000..3cd93c4 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ReinterpretI32.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32ReinterpretI32 extends Instr +{ + public static function opName(): string + { + return "f32.reinterpret_i32"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ReinterpretI64.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ReinterpretI64.php new file mode 100644 index 0000000..dd0f66f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32ReinterpretI64.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32ReinterpretI64 extends Instr +{ + public static function opName(): string + { + return "f32.reinterpret_i64"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Sqrt.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Sqrt.php new file mode 100644 index 0000000..9cdeba2 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Sqrt.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Sqrt extends Instr +{ + public static function opName(): string + { + return "f32.sqrt"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Sub.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Sub.php new file mode 100644 index 0000000..54b5991 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Sub.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Sub extends Instr +{ + public static function opName(): string + { + return "f32.sub"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Trunc.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Trunc.php new file mode 100644 index 0000000..627406e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F32Trunc.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F32Trunc extends Instr +{ + public static function opName(): string + { + return "f32.trunc"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Abs.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Abs.php new file mode 100644 index 0000000..a985933 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Abs.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Abs extends Instr +{ + public static function opName(): string + { + return "f64.abs"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Add.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Add.php new file mode 100644 index 0000000..60a6a05 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Add.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Add extends Instr +{ + public static function opName(): string + { + return "f64.add"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ceil.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ceil.php new file mode 100644 index 0000000..3c88a4b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ceil.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Ceil extends Instr +{ + public static function opName(): string + { + return "f64.ceil"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Const.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Const.php new file mode 100644 index 0000000..46c61fe --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Const.php @@ -0,0 +1,23 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Const extends Instr +{ + /** + * @param F64 $value + */ + protected function __construct( + public float $value, + ) { + } + + public static function opName(): string + { + return "f64.const"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI32S.php new file mode 100644 index 0000000..5deaec0 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI32S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64ConvertI32S extends Instr +{ + public static function opName(): string + { + return "f64.convert_i32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI32U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI32U.php new file mode 100644 index 0000000..657e8e2 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI32U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64ConvertI32U extends Instr +{ + public static function opName(): string + { + return "f64.convert_i32_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI64S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI64S.php new file mode 100644 index 0000000..af7d5af --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI64S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64ConvertI64S extends Instr +{ + public static function opName(): string + { + return "f64.convert_i64_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI64U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI64U.php new file mode 100644 index 0000000..575c8e5 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ConvertI64U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64ConvertI64U extends Instr +{ + public static function opName(): string + { + return "f64.convert_i64_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64CopySign.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64CopySign.php new file mode 100644 index 0000000..bab91f2 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64CopySign.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64CopySign extends Instr +{ + public static function opName(): string + { + return "f64.copy_sign"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Div.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Div.php new file mode 100644 index 0000000..7304a8d --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Div.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Div extends Instr +{ + public static function opName(): string + { + return "f64.div"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Eq.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Eq.php new file mode 100644 index 0000000..1c9e31c --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Eq.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Eq extends Instr +{ + public static function opName(): string + { + return "f64.eq"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Floor.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Floor.php new file mode 100644 index 0000000..8c76753 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Floor.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Floor extends Instr +{ + public static function opName(): string + { + return "f64.floor"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ge.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ge.php new file mode 100644 index 0000000..28f6da1 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ge.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Ge extends Instr +{ + public static function opName(): string + { + return "f64.ge"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Gt.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Gt.php new file mode 100644 index 0000000..9b6e91e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Gt.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Gt extends Instr +{ + public static function opName(): string + { + return "f64.gt"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Le.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Le.php new file mode 100644 index 0000000..1852d66 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Le.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Le extends Instr +{ + public static function opName(): string + { + return "f64.le"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Lt.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Lt.php new file mode 100644 index 0000000..fb96301 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Lt.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Lt extends Instr +{ + public static function opName(): string + { + return "f64.lt"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Max.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Max.php new file mode 100644 index 0000000..da79a2e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Max.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Max extends Instr +{ + public static function opName(): string + { + return "f64.max"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Min.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Min.php new file mode 100644 index 0000000..79bb77b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Min.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Min extends Instr +{ + public static function opName(): string + { + return "f64.min"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Mul.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Mul.php new file mode 100644 index 0000000..f0932ea --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Mul.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Mul extends Instr +{ + public static function opName(): string + { + return "f64.mul"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ne.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ne.php new file mode 100644 index 0000000..226b1e4 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Ne.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Ne extends Instr +{ + public static function opName(): string + { + return "f64.ne"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Nearest.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Nearest.php new file mode 100644 index 0000000..0863099 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Nearest.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Nearest extends Instr +{ + public static function opName(): string + { + return "f64.nearest"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Neg.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Neg.php new file mode 100644 index 0000000..c4e0ce7 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Neg.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Neg extends Instr +{ + public static function opName(): string + { + return "f64.neg"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64PromoteF32.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64PromoteF32.php new file mode 100644 index 0000000..8692806 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64PromoteF32.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64PromoteF32 extends Instr +{ + public static function opName(): string + { + return "f64.promote_f32"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ReinterpretI32.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ReinterpretI32.php new file mode 100644 index 0000000..4721e07 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ReinterpretI32.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64ReinterpretI32 extends Instr +{ + public static function opName(): string + { + return "f64.reinterpret_i32"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ReinterpretI64.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ReinterpretI64.php new file mode 100644 index 0000000..22faa67 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64ReinterpretI64.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64ReinterpretI64 extends Instr +{ + public static function opName(): string + { + return "f64.reinterpret_i64"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Sqrt.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Sqrt.php new file mode 100644 index 0000000..77d708a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Sqrt.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Sqrt extends Instr +{ + public static function opName(): string + { + return "f64.sqrt"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Sub.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Sub.php new file mode 100644 index 0000000..b20c0c9 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Sub.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Sub extends Instr +{ + public static function opName(): string + { + return "f64.sub"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Trunc.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Trunc.php new file mode 100644 index 0000000..62d6c12 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/F64Trunc.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class F64Trunc extends Instr +{ + public static function opName(): string + { + return "f64.trunc"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Add.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Add.php new file mode 100644 index 0000000..429dfdf --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Add.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Add extends Instr +{ + public static function opName(): string + { + return "i32.add"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32And.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32And.php new file mode 100644 index 0000000..135f038 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32And.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32And extends Instr +{ + public static function opName(): string + { + return "i32.and"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Clz.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Clz.php new file mode 100644 index 0000000..7bdfa52 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Clz.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Clz extends Instr +{ + public static function opName(): string + { + return "i32.clz"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Const.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Const.php new file mode 100644 index 0000000..4900a1c --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Const.php @@ -0,0 +1,23 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Const extends Instr +{ + /** + * @param U32 $value + */ + protected function __construct( + public int $value, + ) { + } + + public static function opName(): string + { + return "i32.const"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Ctz.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Ctz.php new file mode 100644 index 0000000..4577729 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Ctz.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Ctz extends Instr +{ + public static function opName(): string + { + return "i32.ctz"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32DivS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32DivS.php new file mode 100644 index 0000000..bbc0f08 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32DivS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32DivS extends Instr +{ + public static function opName(): string + { + return "i32.div_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32DivU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32DivU.php new file mode 100644 index 0000000..3db3fa0 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32DivU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32DivU extends Instr +{ + public static function opName(): string + { + return "i32.div_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Eq.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Eq.php new file mode 100644 index 0000000..eb24aad --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Eq.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Eq extends Instr +{ + public static function opName(): string + { + return "i32.eq"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Eqz.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Eqz.php new file mode 100644 index 0000000..b99341a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Eqz.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Eqz extends Instr +{ + public static function opName(): string + { + return "i32.eqz"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Extend16S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Extend16S.php new file mode 100644 index 0000000..50e3951 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Extend16S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Extend16S extends Instr +{ + public static function opName(): string + { + return "i32.extend16_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Extend8S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Extend8S.php new file mode 100644 index 0000000..9f5aa4b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Extend8S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Extend8S extends Instr +{ + public static function opName(): string + { + return "i32.extend8_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GeS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GeS.php new file mode 100644 index 0000000..7f2746f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GeS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32GeS extends Instr +{ + public static function opName(): string + { + return "i32.ge_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GeU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GeU.php new file mode 100644 index 0000000..3018605 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GeU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32GeU extends Instr +{ + public static function opName(): string + { + return "i32.ge_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GtS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GtS.php new file mode 100644 index 0000000..093f47d --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GtS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32GtS extends Instr +{ + public static function opName(): string + { + return "i32.gt_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GtU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GtU.php new file mode 100644 index 0000000..e7c07e3 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32GtU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32GtU extends Instr +{ + public static function opName(): string + { + return "i32.gt_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LeS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LeS.php new file mode 100644 index 0000000..078535a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LeS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32LeS extends Instr +{ + public static function opName(): string + { + return "i32.le_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LeU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LeU.php new file mode 100644 index 0000000..0fe2ae2 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LeU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32LeU extends Instr +{ + public static function opName(): string + { + return "i32.le_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LtS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LtS.php new file mode 100644 index 0000000..6070881 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LtS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32LtS extends Instr +{ + public static function opName(): string + { + return "i32.lt_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LtU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LtU.php new file mode 100644 index 0000000..ccb520e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32LtU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32LtU extends Instr +{ + public static function opName(): string + { + return "i32.lt_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Mul.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Mul.php new file mode 100644 index 0000000..7ddf1e6 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Mul.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Mul extends Instr +{ + public static function opName(): string + { + return "i32.mul"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Ne.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Ne.php new file mode 100644 index 0000000..7624909 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Ne.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Ne extends Instr +{ + public static function opName(): string + { + return "i32.ne"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Or.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Or.php new file mode 100644 index 0000000..4d985a7 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Or.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Or extends Instr +{ + public static function opName(): string + { + return "i32.or"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Popcnt.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Popcnt.php new file mode 100644 index 0000000..ea2e5af --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Popcnt.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Popcnt extends Instr +{ + public static function opName(): string + { + return "i32.popcnt"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ReinterpretF32.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ReinterpretF32.php new file mode 100644 index 0000000..3ca1a3c --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ReinterpretF32.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32ReinterpretF32 extends Instr +{ + public static function opName(): string + { + return "i32.reinterpret_f32"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ReinterpretF64.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ReinterpretF64.php new file mode 100644 index 0000000..2990a21 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ReinterpretF64.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32ReinterpretF64 extends Instr +{ + public static function opName(): string + { + return "i32.reinterpret_f64"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RemS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RemS.php new file mode 100644 index 0000000..0814085 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RemS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32RemS extends Instr +{ + public static function opName(): string + { + return "i32.rem_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RemU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RemU.php new file mode 100644 index 0000000..b945e4e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RemU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32RemU extends Instr +{ + public static function opName(): string + { + return "i32.rem_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RotL.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RotL.php new file mode 100644 index 0000000..509a39e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RotL.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32RotL extends Instr +{ + public static function opName(): string + { + return "i32.rot_l"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RotR.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RotR.php new file mode 100644 index 0000000..7104869 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32RotR.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32RotR extends Instr +{ + public static function opName(): string + { + return "i32.rot_r"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Shl.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Shl.php new file mode 100644 index 0000000..199cace --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Shl.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Shl extends Instr +{ + public static function opName(): string + { + return "i32.shl"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ShrS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ShrS.php new file mode 100644 index 0000000..5645907 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ShrS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32ShrS extends Instr +{ + public static function opName(): string + { + return "i32.shr_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ShrU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ShrU.php new file mode 100644 index 0000000..c5435cd --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32ShrU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32ShrU extends Instr +{ + public static function opName(): string + { + return "i32.shr_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Sub.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Sub.php new file mode 100644 index 0000000..5ca4dec --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Sub.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Sub extends Instr +{ + public static function opName(): string + { + return "i32.sub"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF32S.php new file mode 100644 index 0000000..31ab093 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF32S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32TruncF32S extends Instr +{ + public static function opName(): string + { + return "i32.trunc_f32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF32U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF32U.php new file mode 100644 index 0000000..afeda9c --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF32U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32TruncF32U extends Instr +{ + public static function opName(): string + { + return "i32.trunc_f32_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF64S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF64S.php new file mode 100644 index 0000000..8b27805 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF64S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32TruncF64S extends Instr +{ + public static function opName(): string + { + return "i32.trunc_f64_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF64U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF64U.php new file mode 100644 index 0000000..5b7550c --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncF64U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32TruncF64U extends Instr +{ + public static function opName(): string + { + return "i32.trunc_f64_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF32S.php new file mode 100644 index 0000000..c2fbdf1 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF32S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32TruncSatF32S extends Instr +{ + public static function opName(): string + { + return "i32.trunc_sat_f32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF32U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF32U.php new file mode 100644 index 0000000..0ae1090 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF32U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32TruncSatF32U extends Instr +{ + public static function opName(): string + { + return "i32.trunc_sat_f32_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF64S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF64S.php new file mode 100644 index 0000000..38731db --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF64S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32TruncSatF64S extends Instr +{ + public static function opName(): string + { + return "i32.trunc_sat_f64_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF64U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF64U.php new file mode 100644 index 0000000..22f5335 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32TruncSatF64U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32TruncSatF64U extends Instr +{ + public static function opName(): string + { + return "i32.trunc_sat_f64_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32WrapI64.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32WrapI64.php new file mode 100644 index 0000000..9c7ed4b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32WrapI64.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32WrapI64 extends Instr +{ + public static function opName(): string + { + return "i32.wrap_i64"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Xor.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Xor.php new file mode 100644 index 0000000..804b881 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I32Xor.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I32Xor extends Instr +{ + public static function opName(): string + { + return "i32.xor"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Add.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Add.php new file mode 100644 index 0000000..9d81af7 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Add.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Add extends Instr +{ + public static function opName(): string + { + return "i64.add"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64And.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64And.php new file mode 100644 index 0000000..4c1f4b3 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64And.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64And extends Instr +{ + public static function opName(): string + { + return "i64.and"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Clz.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Clz.php new file mode 100644 index 0000000..eb03da7 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Clz.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Clz extends Instr +{ + public static function opName(): string + { + return "i64.clz"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Const.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Const.php new file mode 100644 index 0000000..01e9e72 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Const.php @@ -0,0 +1,23 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Const extends Instr +{ + /** + * @param U64 $value + */ + protected function __construct( + public int $value, + ) { + } + + public static function opName(): string + { + return "i64.const"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Ctz.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Ctz.php new file mode 100644 index 0000000..3c6fdaa --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Ctz.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Ctz extends Instr +{ + public static function opName(): string + { + return "i64.ctz"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64DivS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64DivS.php new file mode 100644 index 0000000..8a8759b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64DivS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64DivS extends Instr +{ + public static function opName(): string + { + return "i64.div_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64DivU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64DivU.php new file mode 100644 index 0000000..67f50f7 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64DivU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64DivU extends Instr +{ + public static function opName(): string + { + return "i64.div_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Eq.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Eq.php new file mode 100644 index 0000000..5480197 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Eq.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Eq extends Instr +{ + public static function opName(): string + { + return "i64.eq"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Eqz.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Eqz.php new file mode 100644 index 0000000..8bd7f04 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Eqz.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Eqz extends Instr +{ + public static function opName(): string + { + return "i64.eqz"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend16S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend16S.php new file mode 100644 index 0000000..8733d84 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend16S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Extend16S extends Instr +{ + public static function opName(): string + { + return "i64.extend16_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend32S.php new file mode 100644 index 0000000..3594cf4 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend32S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Extend32S extends Instr +{ + public static function opName(): string + { + return "i64.extend32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend8S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend8S.php new file mode 100644 index 0000000..8579635 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Extend8S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Extend8S extends Instr +{ + public static function opName(): string + { + return "i64.extend8_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ExtendI32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ExtendI32S.php new file mode 100644 index 0000000..9db4c55 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ExtendI32S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64ExtendI32S extends Instr +{ + public static function opName(): string + { + return "i64.extend_i32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ExtendI32U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ExtendI32U.php new file mode 100644 index 0000000..9219f97 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ExtendI32U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64ExtendI32U extends Instr +{ + public static function opName(): string + { + return "i64.extend_i32_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GeS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GeS.php new file mode 100644 index 0000000..bddbffb --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GeS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64GeS extends Instr +{ + public static function opName(): string + { + return "i64.ge_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GeU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GeU.php new file mode 100644 index 0000000..9b5df84 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GeU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64GeU extends Instr +{ + public static function opName(): string + { + return "i64.ge_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GtS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GtS.php new file mode 100644 index 0000000..4ac4063 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GtS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64GtS extends Instr +{ + public static function opName(): string + { + return "i64.gt_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GtU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GtU.php new file mode 100644 index 0000000..4cd0f84 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64GtU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64GtU extends Instr +{ + public static function opName(): string + { + return "i64.gt_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LeS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LeS.php new file mode 100644 index 0000000..259cc99 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LeS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64LeS extends Instr +{ + public static function opName(): string + { + return "i64.le_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LeU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LeU.php new file mode 100644 index 0000000..69c880b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LeU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64LeU extends Instr +{ + public static function opName(): string + { + return "i64.le_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LtS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LtS.php new file mode 100644 index 0000000..9c8d434 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LtS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64LtS extends Instr +{ + public static function opName(): string + { + return "i64.lt_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LtU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LtU.php new file mode 100644 index 0000000..8142792 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64LtU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64LtU extends Instr +{ + public static function opName(): string + { + return "i64.lt_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Mul.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Mul.php new file mode 100644 index 0000000..1a69448 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Mul.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Mul extends Instr +{ + public static function opName(): string + { + return "i64.mul"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Ne.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Ne.php new file mode 100644 index 0000000..4cf363e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Ne.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Ne extends Instr +{ + public static function opName(): string + { + return "i64.ne"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Or.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Or.php new file mode 100644 index 0000000..c09caab --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Or.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Or extends Instr +{ + public static function opName(): string + { + return "i64.or"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Popcnt.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Popcnt.php new file mode 100644 index 0000000..3db978b --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Popcnt.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Popcnt extends Instr +{ + public static function opName(): string + { + return "i64.popcnt"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ReinterpretF32.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ReinterpretF32.php new file mode 100644 index 0000000..6446e50 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ReinterpretF32.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64ReinterpretF32 extends Instr +{ + public static function opName(): string + { + return "i64.reinterpret_f32"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ReinterpretF64.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ReinterpretF64.php new file mode 100644 index 0000000..b570008 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ReinterpretF64.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64ReinterpretF64 extends Instr +{ + public static function opName(): string + { + return "i64.reinterpret_f64"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RemS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RemS.php new file mode 100644 index 0000000..7833dcd --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RemS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64RemS extends Instr +{ + public static function opName(): string + { + return "i64.rem_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RemU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RemU.php new file mode 100644 index 0000000..97117dc --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RemU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64RemU extends Instr +{ + public static function opName(): string + { + return "i64.rem_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RotL.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RotL.php new file mode 100644 index 0000000..b39a2ac --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RotL.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64RotL extends Instr +{ + public static function opName(): string + { + return "i64.rot_l"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RotR.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RotR.php new file mode 100644 index 0000000..aa62ee8 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64RotR.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64RotR extends Instr +{ + public static function opName(): string + { + return "i64.rot_r"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Shl.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Shl.php new file mode 100644 index 0000000..f43018a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Shl.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Shl extends Instr +{ + public static function opName(): string + { + return "i64.shl"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ShrS.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ShrS.php new file mode 100644 index 0000000..f8da95e --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ShrS.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64ShrS extends Instr +{ + public static function opName(): string + { + return "i64.shr_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ShrU.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ShrU.php new file mode 100644 index 0000000..7ea2b3a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64ShrU.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64ShrU extends Instr +{ + public static function opName(): string + { + return "i64.shr_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Sub.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Sub.php new file mode 100644 index 0000000..7cb6f26 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Sub.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Sub extends Instr +{ + public static function opName(): string + { + return "i64.sub"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF32S.php new file mode 100644 index 0000000..9f6ed66 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF32S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64TruncF32S extends Instr +{ + public static function opName(): string + { + return "i64.trunc_f32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF32U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF32U.php new file mode 100644 index 0000000..9724897 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF32U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64TruncF32U extends Instr +{ + public static function opName(): string + { + return "i64.trunc_f32_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF64S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF64S.php new file mode 100644 index 0000000..70c235c --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF64S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64TruncF64S extends Instr +{ + public static function opName(): string + { + return "i64.trunc_f64_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF64U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF64U.php new file mode 100644 index 0000000..f787fe3 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncF64U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64TruncF64U extends Instr +{ + public static function opName(): string + { + return "i64.trunc_f64_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF32S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF32S.php new file mode 100644 index 0000000..98082e5 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF32S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64TruncSatF32S extends Instr +{ + public static function opName(): string + { + return "i64.trunc_sat_f32_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF32U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF32U.php new file mode 100644 index 0000000..6b0b833 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF32U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64TruncSatF32U extends Instr +{ + public static function opName(): string + { + return "i64.trunc_sat_f32_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF64S.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF64S.php new file mode 100644 index 0000000..2291eab --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF64S.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64TruncSatF64S extends Instr +{ + public static function opName(): string + { + return "i64.trunc_sat_f64_s"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF64U.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF64U.php new file mode 100644 index 0000000..90c1f49 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64TruncSatF64U.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64TruncSatF64U extends Instr +{ + public static function opName(): string + { + return "i64.trunc_sat_f64_u"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Xor.php b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Xor.php new file mode 100644 index 0000000..994e47f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Numeric/I64Xor.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class I64Xor extends Instr +{ + public static function opName(): string + { + return "i64.xor"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Parametric/Drop.php b/src/WebAssembly/Structure/Instructions/Instrs/Parametric/Drop.php new file mode 100644 index 0000000..5a5ed18 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Parametric/Drop.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Parametric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class Drop extends Instr +{ + public static function opName(): string + { + return "drop"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Parametric/Select.php b/src/WebAssembly/Structure/Instructions/Instrs/Parametric/Select.php new file mode 100644 index 0000000..2562764 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Parametric/Select.php @@ -0,0 +1,24 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Parametric; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValType; + +final readonly class Select extends Instr +{ + /** + * @param list<ValType> $types + */ + protected function __construct( + public array $types, + ) { + } + + public static function opName(): string + { + return "select"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefFunc.php b/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefFunc.php new file mode 100644 index 0000000..3539ede --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefFunc.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Reference; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class RefFunc extends Instr +{ + protected function __construct( + public int $func, + ) { + } + + public static function opName(): string + { + return "ref.func"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefIsNull.php b/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefIsNull.php new file mode 100644 index 0000000..21c9a26 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefIsNull.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Reference; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class RefIsNull extends Instr +{ + public static function opName(): string + { + return "ref.is_null"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefNull.php b/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefNull.php new file mode 100644 index 0000000..39d0f8f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Reference/RefNull.php @@ -0,0 +1,21 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Reference; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\RefType; + +final readonly class RefNull extends Instr +{ + protected function __construct( + public RefType $type, + ) { + } + + public static function opName(): string + { + return "ref.null"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Table/ElemDrop.php b/src/WebAssembly/Structure/Instructions/Instrs/Table/ElemDrop.php new file mode 100644 index 0000000..4ead3cb --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Table/ElemDrop.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class ElemDrop extends Instr +{ + protected function __construct( + public int $elem, + ) { + } + + public static function opName(): string + { + return "elem.drop"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Table/TableCopy.php b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableCopy.php new file mode 100644 index 0000000..ca4e01a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableCopy.php @@ -0,0 +1,21 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class TableCopy extends Instr +{ + protected function __construct( + public int $to, + public int $from, + ) { + } + + public static function opName(): string + { + return "table.copy"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Table/TableFill.php b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableFill.php new file mode 100644 index 0000000..8a8fba4 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableFill.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class TableFill extends Instr +{ + protected function __construct( + public int $table, + ) { + } + + public static function opName(): string + { + return "table.fill"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Table/TableGet.php b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableGet.php new file mode 100644 index 0000000..0a562cb --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableGet.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class TableGet extends Instr +{ + protected function __construct( + public int $table, + ) { + } + + public static function opName(): string + { + return "table.get"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Table/TableGrow.php b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableGrow.php new file mode 100644 index 0000000..fae1bd0 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableGrow.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class TableGrow extends Instr +{ + protected function __construct( + public int $table, + ) { + } + + public static function opName(): string + { + return "table.grow"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Table/TableInit.php b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableInit.php new file mode 100644 index 0000000..221c938 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableInit.php @@ -0,0 +1,21 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class TableInit extends Instr +{ + protected function __construct( + public int $to, + public int $from, + ) { + } + + public static function opName(): string + { + return "table.init"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Table/TableSet.php b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableSet.php new file mode 100644 index 0000000..46ce56f --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableSet.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class TableSet extends Instr +{ + protected function __construct( + public int $table, + ) { + } + + public static function opName(): string + { + return "table.set"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Table/TableSize.php b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableSize.php new file mode 100644 index 0000000..8a1625a --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Table/TableSize.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class TableSize extends Instr +{ + protected function __construct( + public int $table, + ) { + } + + public static function opName(): string + { + return "table.size"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Variable/GlobalGet.php b/src/WebAssembly/Structure/Instructions/Instrs/Variable/GlobalGet.php new file mode 100644 index 0000000..2358325 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Variable/GlobalGet.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class GlobalGet extends Instr +{ + protected function __construct( + public int $var, + ) { + } + + public static function opName(): string + { + return "global.get"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Variable/GlobalSet.php b/src/WebAssembly/Structure/Instructions/Instrs/Variable/GlobalSet.php new file mode 100644 index 0000000..a8d2cf4 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Variable/GlobalSet.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class GlobalSet extends Instr +{ + protected function __construct( + public int $var, + ) { + } + + public static function opName(): string + { + return "global.set"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalGet.php b/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalGet.php new file mode 100644 index 0000000..de610d3 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalGet.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class LocalGet extends Instr +{ + protected function __construct( + public int $var, + ) { + } + + public static function opName(): string + { + return "local.get"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalSet.php b/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalSet.php new file mode 100644 index 0000000..350c6bd --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalSet.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class LocalSet extends Instr +{ + protected function __construct( + public int $var, + ) { + } + + public static function opName(): string + { + return "local.set"; + } +} diff --git a/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalTee.php b/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalTee.php new file mode 100644 index 0000000..62d42c5 --- /dev/null +++ b/src/WebAssembly/Structure/Instructions/Instrs/Variable/LocalTee.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr; + +final readonly class LocalTee extends Instr +{ + protected function __construct( + public int $var, + ) { + } + + public static function opName(): string + { + return "local.tee"; + } +} |
