aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/WebAssembly/Structure/Instructions/Instrs/Memory
diff options
context:
space:
mode:
Diffstat (limited to 'src/WebAssembly/Structure/Instructions/Instrs/Memory')
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/DataDrop.php20
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/F32Load.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/F32Store.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/F64Load.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/F64Store.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load16S.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load16U.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load8S.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Load8U.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store16.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I32Store8.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load16S.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load16U.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load32S.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load32U.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load8S.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Load8U.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store16.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store32.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/I64Store8.php25
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryCopy.php15
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryFill.php15
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryGrow.php15
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/MemoryInit.php20
-rw-r--r--src/WebAssembly/Structure/Instructions/Instrs/Memory/MemorySize.php15
29 files changed, 675 insertions, 0 deletions
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";
+ }
+}