diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2020-12-11 19:06:34 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-11 19:06:34 -0500 |
commit | dd33ae0512aa97f537d40e61631d268c8a8fd17e (patch) | |
tree | e5c219ba349e56940669bb873bb57a3f2626bf77 /src/wasm-interpreter.h | |
parent | 290147d8d43a7448d68939ec711b524ba4fb3fbd (diff) | |
download | binaryen-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.h | 11 |
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"); } } |