summaryrefslogtreecommitdiff
path: root/src/wasm-binary.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r--src/wasm-binary.h53
1 files changed, 36 insertions, 17 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index e523d0994..01f37d9aa 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -917,11 +917,11 @@ enum ASTNodes {
I32x4Abs = 0xa0,
I32x4Neg = 0xa1,
- // 0xa2 unused
+ // 0xa2 for relaxed SIMD
I32x4AllTrue = 0xa3,
I32x4Bitmask = 0xa4,
- // 0xa5 unused
- // 0xa6 unused
+ // 0xa5 for relaxed SIMD
+ // 0xa6 for relaxed SIMD
I32x4ExtendLowI16x8S = 0xa7,
I32x4ExtendHighI16x8S = 0xa8,
I32x4ExtendLowI16x8U = 0xa9,
@@ -930,12 +930,12 @@ enum ASTNodes {
I32x4ShrS = 0xac,
I32x4ShrU = 0xad,
I32x4Add = 0xae,
- // 0xaf unused
- // 0xb0 unused
+ // 0xaf for relaxed SIMD
+ // 0xb0 for relaxed SIMD
I32x4Sub = 0xb1,
- // 0xb2 unused
- // 0xb3 unused
- // 0xb4 unused
+ // 0xb2 for relaxed SIMD
+ // 0xb3 for relaxed SIMD
+ // 0xb4 for relaxed SIMD
I32x4Mul = 0xb5,
I32x4MinS = 0xb6,
I32x4MinU = 0xb7,
@@ -953,8 +953,8 @@ enum ASTNodes {
// 0xc2 unused
I64x2AllTrue = 0xc3,
I64x2Bitmask = 0xc4,
- // 0xc5 unused
- // 0xc6 unused
+ // 0xc5 for relaxed SIMD
+ // 0xc6 for relaxed SIMD
I64x2ExtendLowI32x4S = 0xc7,
I64x2ExtendHighI32x4S = 0xc8,
I64x2ExtendLowI32x4U = 0xc9,
@@ -963,12 +963,12 @@ enum ASTNodes {
I64x2ShrS = 0xcc,
I64x2ShrU = 0xcd,
I64x2Add = 0xce,
- // 0xcf unused
- // 0xd0 unused
+ // 0xcf for relaxed SIMD
+ // 0xd0 for relaxed SIMD
I64x2Sub = 0xd1,
- // 0xd2 unused
- // 0xd3 unused
- // 0xd4 unused
+ // 0xd2 for relaxed SIMD
+ // 0xd3 for relaxed SIMD
+ // 0xd4 for relaxed SIMD
I64x2Mul = 0xd5,
I64x2Eq = 0xd6,
I64x2Ne = 0xd7,
@@ -983,7 +983,7 @@ enum ASTNodes {
F32x4Abs = 0xe0,
F32x4Neg = 0xe1,
- // 0xe2 unused
+ // 0xe2 for relaxed SIMD
F32x4Sqrt = 0xe3,
F32x4Add = 0xe4,
F32x4Sub = 0xe5,
@@ -996,7 +996,7 @@ enum ASTNodes {
F64x2Abs = 0xec,
F64x2Neg = 0xed,
- // 0xee unused
+ // 0xee for relaxed SIMD
F64x2Sqrt = 0xef,
F64x2Add = 0xf0,
F64x2Sub = 0xf1,
@@ -1016,6 +1016,25 @@ enum ASTNodes {
F64x2ConvertLowI32x4S = 0xfe,
F64x2ConvertLowI32x4U = 0xff,
+ // relaxed SIMD opcodes
+ I8x16RelaxedSwizzle = 0xa2,
+ I32x4RelaxedTruncF32x4S = 0xa5,
+ I32x4RelaxedTruncF32x4U = 0xa6,
+ I32x4RelaxedTruncF64x2SZero = 0xc5,
+ I32x4RelaxedTruncF64x2UZero = 0xc6,
+ F32x4RelaxedFma = 0xaf,
+ F32x4RelaxedFms = 0xb0,
+ F64x2RelaxedFma = 0xcf,
+ F64x2RelaxedFms = 0xd0,
+ I8x16Laneselect = 0xb2,
+ I16x8Laneselect = 0xb3,
+ I32x4Laneselect = 0xd2,
+ I64x2Laneselect = 0xd3,
+ F32x4RelaxedMin = 0xb4,
+ F32x4RelaxedMax = 0xe2,
+ F64x2RelaxedMin = 0xd4,
+ F64x2RelaxedMax = 0xee,
+
// bulk memory opcodes
MemoryInit = 0x08,