summaryrefslogtreecommitdiff
path: root/src/wasm-interpreter.h
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2020-12-11 19:06:34 -0500
committerGitHub <noreply@github.com>2020-12-11 19:06:34 -0500
commitdd33ae0512aa97f537d40e61631d268c8a8fd17e (patch)
treee5c219ba349e56940669bb873bb57a3f2626bf77 /src/wasm-interpreter.h
parent290147d8d43a7448d68939ec711b524ba4fb3fbd (diff)
downloadbinaryen-dd33ae0512aa97f537d40e61631d268c8a8fd17e.tar.gz
binaryen-dd33ae0512aa97f537d40e61631d268c8a8fd17e.tar.bz2
binaryen-dd33ae0512aa97f537d40e61631d268c8a8fd17e.zip
Prototype SIMD instructions implemented in LLVM (#3440)
- i64x2.eq (https://github.com/WebAssembly/simd/pull/381) - i64x2 widens (https://github.com/WebAssembly/simd/pull/290) - i64x2.bitmask (https://github.com/WebAssembly/simd/pull/368) - signselect ops (https://github.com/WebAssembly/simd/pull/124)
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r--src/wasm-interpreter.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index e4c20082e..dbc14de5f 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -491,6 +491,8 @@ public:
return value.anyTrueI64x2();
case AllTrueVecI64x2:
return value.allTrueI64x2();
+ case BitmaskVecI64x2:
+ WASM_UNREACHABLE("unimp");
case AbsVecF32x4:
return value.absF32x4();
case NegVecF32x4:
@@ -551,6 +553,11 @@ public:
return value.widenLowUToVecI32x4();
case WidenHighUVecI16x8ToVecI32x4:
return value.widenHighUToVecI32x4();
+ case WidenLowSVecI32x4ToVecI64x2:
+ case WidenHighSVecI32x4ToVecI64x2:
+ case WidenLowUVecI32x4ToVecI64x2:
+ case WidenHighUVecI32x4ToVecI64x2:
+ WASM_UNREACHABLE("unimp");
case InvalidUnary:
WASM_UNREACHABLE("invalid unary op");
}
@@ -796,6 +803,8 @@ public:
return left.geSI32x4(right);
case GeUVecI32x4:
return left.geUI32x4(right);
+ case EqVecI64x2:
+ return left.eqI64x2(right);
case EqVecF32x4:
return left.eqF32x4(right);
case NeVecF32x4:
@@ -1067,7 +1076,7 @@ public:
case Bitselect:
return c.bitselectV128(a, b);
default:
- // TODO: implement qfma/qfms
+ // TODO: implement qfma/qfms and signselect
WASM_UNREACHABLE("not implemented");
}
}