diff options
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r-- | src/wasm-binary.h | 178 |
1 files changed, 86 insertions, 92 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index ec89bb1da..804df5811 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -803,7 +803,6 @@ enum ASTNodes { I32x4LeU = 0x3e, I32x4GeS = 0x3f, I32x4GeU = 0x40, - I64x2Eq = 0xc0, F32x4Eq = 0x41, F32x4Ne = 0x42, F32x4Lt = 0x43, @@ -823,28 +822,33 @@ enum ASTNodes { V128Or = 0x50, V128Xor = 0x51, V128Bitselect = 0x52, - - V8x16SignSelect = 0x7d, - V16x8SignSelect = 0x7e, - V32x4SignSelect = 0x7f, - V64x2SignSelect = 0x94, - - V128Load8Lane = 0x58, - V128Load16Lane = 0x59, - V128Load32Lane = 0x5a, - V128Load64Lane = 0x5b, - V128Store8Lane = 0x5c, - V128Store16Lane = 0x5d, - V128Store32Lane = 0x5e, - V128Store64Lane = 0x5f, + V128AnyTrue = 0x53, + + V128Load8Lane = 0x54, + V128Load16Lane = 0x55, + V128Load32Lane = 0x56, + V128Load64Lane = 0x57, + V128Store8Lane = 0x58, + V128Store16Lane = 0x59, + V128Store32Lane = 0x5a, + V128Store64Lane = 0x5b, + V128Load32Zero = 0x5c, + V128Load64Zero = 0x5d, + + F32x4DemoteZeroF64x2 = 0x5e, + F64x2PromoteLowF32x4 = 0x5f, I8x16Abs = 0x60, I8x16Neg = 0x61, - I8x16AnyTrue = 0x62, + I8x16Popcnt = 0x62, I8x16AllTrue = 0x63, I8x16Bitmask = 0x64, I8x16NarrowSI16x8 = 0x65, I8x16NarrowUI16x8 = 0x66, + F32x4Ceil = 0x67, + F32x4Floor = 0x68, + F32x4Trunc = 0x69, + F32x4Nearest = 0x6a, I8x16Shl = 0x6b, I8x16ShrS = 0x6c, I8x16ShrU = 0x6d, @@ -854,26 +858,30 @@ enum ASTNodes { I8x16Sub = 0x71, I8x16SubSatS = 0x72, I8x16SubSatU = 0x73, - I8x16Mul = 0x75, + F64x2Ceil = 0x74, + F64x2Floor = 0x75, I8x16MinS = 0x76, I8x16MinU = 0x77, I8x16MaxS = 0x78, I8x16MaxU = 0x79, + F64x2Trunc = 0x7a, I8x16AvgrU = 0x7b, - - I8x16Popcnt = 0x7c, + I16x8ExtAddPairWiseSI8x16 = 0x7c, + I16x8ExtAddPairWiseUI8x16 = 0x7d, + I32x4ExtAddPairWiseSI16x8 = 0x7e, + I32x4ExtAddPairWiseUI16x8 = 0x7f, I16x8Abs = 0x80, I16x8Neg = 0x81, - I16x8AnyTrue = 0x82, + I16x8Q15MulrSatS = 0x82, I16x8AllTrue = 0x83, I16x8Bitmask = 0x84, I16x8NarrowSI32x4 = 0x85, I16x8NarrowUI32x4 = 0x86, - I16x8WidenLowSI8x16 = 0x87, - I16x8WidenHighSI8x16 = 0x88, - I16x8WidenLowUI8x16 = 0x89, - I16x8WidenHighUI8x16 = 0x8a, + I16x8ExtendLowSI8x16 = 0x87, + I16x8ExtendHighSI8x16 = 0x88, + I16x8ExtendLowUI8x16 = 0x89, + I16x8ExtendHighUI8x16 = 0x8a, I16x8Shl = 0x8b, I16x8ShrS = 0x8c, I16x8ShrU = 0x8d, @@ -883,50 +891,88 @@ enum ASTNodes { I16x8Sub = 0x91, I16x8SubSatS = 0x92, I16x8SubSatU = 0x93, + F64x2Nearest = 0x94, I16x8Mul = 0x95, I16x8MinS = 0x96, I16x8MinU = 0x97, I16x8MaxS = 0x98, I16x8MaxU = 0x99, + // 0x9a unused I16x8AvgrU = 0x9b, - I16x8Q15MulrSatS = 0x9c, + I16x8ExtMulLowSI8x16 = 0x9c, + I16x8ExtMulHighSI8x16 = 0x9d, + I16x8ExtMulLowUI8x16 = 0x9e, + I16x8ExtMulHighUI8x16 = 0x9f, I32x4Abs = 0xa0, I32x4Neg = 0xa1, - I32x4AnyTrue = 0xa2, + // 0xa2 unused I32x4AllTrue = 0xa3, I32x4Bitmask = 0xa4, - I32x4WidenLowSI16x8 = 0xa7, - I32x4WidenHighSI16x8 = 0xa8, - I32x4WidenLowUI16x8 = 0xa9, - I32x4WidenHighUI16x8 = 0xaa, + // 0xa5 unused + // 0xa6 unused + I32x4ExtendLowSI16x8 = 0xa7, + I32x4ExtendHighSI16x8 = 0xa8, + I32x4ExtendLowUI16x8 = 0xa9, + I32x4ExtendHighUI16x8 = 0xaa, I32x4Shl = 0xab, I32x4ShrS = 0xac, I32x4ShrU = 0xad, I32x4Add = 0xae, + // 0xaf unused + // 0xb0 unused I32x4Sub = 0xb1, + // 0xb2 unused + // 0xb3 unused + // 0xb4 unused I32x4Mul = 0xb5, I32x4MinS = 0xb6, I32x4MinU = 0xb7, I32x4MaxS = 0xb8, I32x4MaxU = 0xb9, I32x4DotSVecI16x8 = 0xba, + // 0xbb unused + I32x4ExtMulLowSI16x8 = 0xbc, + I32x4ExtMulHighSI16x8 = 0xbd, + I32x4ExtMulLowUI16x8 = 0xbe, + I32x4ExtMulHighUI16x8 = 0xbf, - I64x2Bitmask = 0xc4, - I64x2WidenLowSI32x4 = 0xc7, - I64x2WidenHighSI32x4 = 0xc8, - I64x2WidenLowUI32x4 = 0xc9, - I64x2WidenHighUI32x4 = 0xca, + I64x2Abs = 0xc0, I64x2Neg = 0xc1, + // 0xc2 unused + I64x2AllTrue = 0xc3, + I64x2Bitmask = 0xc4, + // 0xc5 unused + // 0xc6 unused + I64x2ExtendLowSI32x4 = 0xc7, + I64x2ExtendHighSI32x4 = 0xc8, + I64x2ExtendLowUI32x4 = 0xc9, + I64x2ExtendHighUI32x4 = 0xca, I64x2Shl = 0xcb, I64x2ShrS = 0xcc, I64x2ShrU = 0xcd, I64x2Add = 0xce, + // 0xcf unused + // 0xd0 unused I64x2Sub = 0xd1, + // 0xd2 unused + // 0xd3 unused + // 0xd4 unused I64x2Mul = 0xd5, + I64x2Eq = 0xd6, + I64x2Ne = 0xd7, + I64x2LtS = 0xd8, + I64x2GtS = 0xd9, + I64x2LeS = 0xda, + I64x2GeS = 0xdb, + I64x2ExtMulLowSI32x4 = 0xdc, + I64x2ExtMulHighSI32x4 = 0xdd, + I64x2ExtMulLowUI32x4 = 0xde, + I64x2ExtMulHighUI32x4 = 0xdf, F32x4Abs = 0xe0, F32x4Neg = 0xe1, + // 0xe2 unused F32x4Sqrt = 0xe3, F32x4Add = 0xe4, F32x4Sub = 0xe5, @@ -937,17 +983,9 @@ enum ASTNodes { F32x4PMin = 0xea, F32x4PMax = 0xeb, - F32x4Ceil = 0xd8, - F32x4Floor = 0xd9, - F32x4Trunc = 0xda, - F32x4Nearest = 0xdb, - F64x2Ceil = 0xdc, - F64x2Floor = 0xdd, - F64x2Trunc = 0xde, - F64x2Nearest = 0xdf, - F64x2Abs = 0xec, F64x2Neg = 0xed, + // 0xee unused F64x2Sqrt = 0xef, F64x2Add = 0xf0, F64x2Sub = 0xf1, @@ -958,56 +996,14 @@ enum ASTNodes { F64x2PMin = 0xf6, F64x2PMax = 0xf7, - I16x8ExtAddPairWiseSI8x16 = 0xc2, - I16x8ExtAddPairWiseUI8x16 = 0xc3, - I32x4ExtAddPairWiseSI16x8 = 0xa5, - I32x4ExtAddPairWiseUI16x8 = 0xa6, - I32x4TruncSatSF32x4 = 0xf8, I32x4TruncSatUF32x4 = 0xf9, F32x4ConvertSI32x4 = 0xfa, F32x4ConvertUI32x4 = 0xfb, - - V128Load32Zero = 0xfc, - V128Load64Zero = 0xfd, - - F32x4QFMA = 0xb4, - F32x4QFMS = 0xd4, - F64x2QFMA = 0xfe, - F64x2QFMS = 0xff, - - I64x2TruncSatSF64x2 = 0x0100, - I64x2TruncSatUF64x2 = 0x0101, - F64x2ConvertSI64x2 = 0x0102, - F64x2ConvertUI64x2 = 0x0103, - - I16x8ExtMulLowSI8x16 = 0x9a, - I16x8ExtMulHighSI8x16 = 0x9d, - I16x8ExtMulLowUI8x16 = 0x9e, - I16x8ExtMulHighUI8x16 = 0x9f, - I32x4ExtMulLowSI16x8 = 0xbb, - I32x4ExtMulHighSI16x8 = 0xbd, - I32x4ExtMulLowUI16x8 = 0xbe, - I32x4ExtMulHighUI16x8 = 0xbf, - I64x2ExtMulLowSI32x4 = 0xd2, - I64x2ExtMulHighSI32x4 = 0xd3, - I64x2ExtMulLowUI32x4 = 0xd6, - I64x2ExtMulHighUI32x4 = 0xd7, - - F64x2ConvertLowSI32x4 = 0x53, - F64x2ConvertLowUI32x4 = 0x54, - I32x4TruncSatZeroSF64x2 = 0x55, - I32x4TruncSatZeroUF64x2 = 0x56, - F32x4DemoteZeroF64x2 = 0x57, - F64x2PromoteLowF32x4 = 0x69, - - I32x4WidenSI8x16 = 0x67, - I32x4WidenUI8x16 = 0x68, - - // prefetch opcodes - - PrefetchT = 0xc5, - PrefetchNT = 0xc6, + I32x4TruncSatZeroSF64x2 = 0xfc, + I32x4TruncSatZeroUF64x2 = 0xfd, + F64x2ConvertLowSI32x4 = 0xfe, + F64x2ConvertLowUI32x4 = 0xff, // bulk memory opcodes @@ -1595,8 +1591,6 @@ public: bool maybeVisitSIMDShift(Expression*& out, uint32_t code); bool maybeVisitSIMDLoad(Expression*& out, uint32_t code); bool maybeVisitSIMDLoadStoreLane(Expression*& out, uint32_t code); - bool maybeVisitSIMDWiden(Expression*& out, uint32_t code); - bool maybeVisitPrefetch(Expression*& out, uint32_t code); bool maybeVisitMemoryInit(Expression*& out, uint32_t code); bool maybeVisitDataDrop(Expression*& out, uint32_t code); bool maybeVisitMemoryCopy(Expression*& out, uint32_t code); |