diff options
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/wasm.h b/src/wasm.h index bd2e31814..0050fcc28 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -481,7 +481,7 @@ enum SIMDReplaceOp { ReplaceLaneVecI32x4, ReplaceLaneVecI64x2, ReplaceLaneVecF32x4, - ReplaceLaneVecF64x2 + ReplaceLaneVecF64x2, }; enum SIMDShiftOp { @@ -537,6 +537,11 @@ enum SIMDTernaryOp { SignSelectVec64x2 }; +enum SIMDWidenOp { + WidenSVecI8x16ToVecI32x4, + WidenUVecI8x16ToVecI32x4, +}; + enum PrefetchOp { PrefetchTemporal, PrefetchNontemporal, @@ -625,6 +630,7 @@ public: SIMDShiftId, SIMDLoadId, SIMDLoadStoreLaneId, + SIMDWidenId, MemoryInitId, DataDropId, MemoryCopyId, @@ -1072,6 +1078,18 @@ public: void finalize(); }; +class SIMDWiden : public SpecificExpression<Expression::SIMDWidenId> { +public: + SIMDWiden() = default; + SIMDWiden(MixedArena& allocator) {} + + SIMDWidenOp op; + uint8_t index; + Expression* vec; + + void finalize(); +}; + class Prefetch : public SpecificExpression<Expression::PrefetchId> { public: Prefetch() = default; |