summaryrefslogtreecommitdiff
path: root/src/wasm-interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r--src/wasm-interpreter.h81
1 files changed, 36 insertions, 45 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index 61d29ada1..249ec8fdb 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -465,12 +465,12 @@ public:
return value.splatF64x2();
case NotVec128:
return value.notV128();
+ case AnyTrueVec128:
+ return value.anyTrueV128();
case AbsVecI8x16:
return value.absI8x16();
case NegVecI8x16:
return value.negI8x16();
- case AnyTrueVecI8x16:
- return value.anyTrueI8x16();
case AllTrueVecI8x16:
return value.allTrueI8x16();
case BitmaskVecI8x16:
@@ -481,8 +481,6 @@ public:
return value.absI16x8();
case NegVecI16x8:
return value.negI16x8();
- case AnyTrueVecI16x8:
- return value.anyTrueI16x8();
case AllTrueVecI16x8:
return value.allTrueI16x8();
case BitmaskVecI16x8:
@@ -491,14 +489,16 @@ public:
return value.absI32x4();
case NegVecI32x4:
return value.negI32x4();
- case AnyTrueVecI32x4:
- return value.anyTrueI32x4();
case AllTrueVecI32x4:
return value.allTrueI32x4();
case BitmaskVecI32x4:
return value.bitmaskI32x4();
+ case AbsVecI64x2:
+ return value.absI64x2();
case NegVecI64x2:
return value.negI64x2();
+ case AllTrueVecI64x2:
+ return value.allTrueI64x2();
case BitmaskVecI64x2:
WASM_UNREACHABLE("unimp");
case AbsVecF32x4:
@@ -541,38 +541,30 @@ public:
return value.truncSatToSI32x4();
case TruncSatUVecF32x4ToVecI32x4:
return value.truncSatToUI32x4();
- case TruncSatSVecF64x2ToVecI64x2:
- return value.truncSatToSI64x2();
- case TruncSatUVecF64x2ToVecI64x2:
- return value.truncSatToUI64x2();
case ConvertSVecI32x4ToVecF32x4:
return value.convertSToF32x4();
case ConvertUVecI32x4ToVecF32x4:
return value.convertUToF32x4();
- case ConvertSVecI64x2ToVecF64x2:
- return value.convertSToF64x2();
- case ConvertUVecI64x2ToVecF64x2:
- return value.convertUToF64x2();
- case WidenLowSVecI8x16ToVecI16x8:
- return value.widenLowSToVecI16x8();
- case WidenHighSVecI8x16ToVecI16x8:
- return value.widenHighSToVecI16x8();
- case WidenLowUVecI8x16ToVecI16x8:
- return value.widenLowUToVecI16x8();
- case WidenHighUVecI8x16ToVecI16x8:
- return value.widenHighUToVecI16x8();
- case WidenLowSVecI16x8ToVecI32x4:
- return value.widenLowSToVecI32x4();
- case WidenHighSVecI16x8ToVecI32x4:
- return value.widenHighSToVecI32x4();
- case WidenLowUVecI16x8ToVecI32x4:
- return value.widenLowUToVecI32x4();
- case WidenHighUVecI16x8ToVecI32x4:
- return value.widenHighUToVecI32x4();
- case WidenLowSVecI32x4ToVecI64x2:
- case WidenHighSVecI32x4ToVecI64x2:
- case WidenLowUVecI32x4ToVecI64x2:
- case WidenHighUVecI32x4ToVecI64x2:
+ case ExtendLowSVecI8x16ToVecI16x8:
+ return value.extendLowSToVecI16x8();
+ case ExtendHighSVecI8x16ToVecI16x8:
+ return value.extendHighSToVecI16x8();
+ case ExtendLowUVecI8x16ToVecI16x8:
+ return value.extendLowUToVecI16x8();
+ case ExtendHighUVecI8x16ToVecI16x8:
+ return value.extendHighUToVecI16x8();
+ case ExtendLowSVecI16x8ToVecI32x4:
+ return value.extendLowSToVecI32x4();
+ case ExtendHighSVecI16x8ToVecI32x4:
+ return value.extendHighSToVecI32x4();
+ case ExtendLowUVecI16x8ToVecI32x4:
+ return value.extendLowUToVecI32x4();
+ case ExtendHighUVecI16x8ToVecI32x4:
+ return value.extendHighUToVecI32x4();
+ case ExtendLowSVecI32x4ToVecI64x2:
+ case ExtendHighSVecI32x4ToVecI64x2:
+ case ExtendLowUVecI32x4ToVecI64x2:
+ case ExtendHighUVecI32x4ToVecI64x2:
case ConvertLowSVecI32x4ToVecF64x2:
case ConvertLowUVecI32x4ToVecF64x2:
case TruncSatZeroSVecF64x2ToVecI32x4:
@@ -827,6 +819,16 @@ public:
return left.geUI32x4(right);
case EqVecI64x2:
return left.eqI64x2(right);
+ case NeVecI64x2:
+ return left.neI64x2(right);
+ case LtSVecI64x2:
+ return left.ltSI64x2(right);
+ case GtSVecI64x2:
+ return left.gtSI64x2(right);
+ case LeSVecI64x2:
+ return left.leSI64x2(right);
+ case GeSVecI64x2:
+ return left.geSI64x2(right);
case EqVecF32x4:
return left.eqF32x4(right);
case NeVecF32x4:
@@ -873,8 +875,6 @@ public:
return left.subSaturateSI8x16(right);
case SubSatUVecI8x16:
return left.subSaturateUI8x16(right);
- case MulVecI8x16:
- return left.mulI8x16(right);
case MinSVecI8x16:
return left.minSI8x16(right);
case MinUVecI8x16:
@@ -1142,7 +1142,6 @@ public:
}
WASM_UNREACHABLE("invalid op");
}
- Flow visitSIMDWiden(SIMDWiden* curr) { WASM_UNREACHABLE("unimp"); }
Flow visitSelect(Select* curr) {
NOTE_ENTER("Select");
Flow ifTrue = visit(curr->ifTrue);
@@ -1185,14 +1184,6 @@ public:
NOTE_ENTER("Nop");
return Flow();
}
- Flow visitPrefetch(Prefetch* curr) {
- NOTE_ENTER("Prefetch");
- Flow flow = visit(curr->ptr);
- if (flow.breaking()) {
- return flow;
- }
- return Flow();
- }
Flow visitUnreachable(Unreachable* curr) {
NOTE_ENTER("Unreachable");
trap("unreachable");