diff options
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r-- | src/wasm-binary.h | 53 |
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, |