From 0faa68b9dfbe478c6d238a5c55ac61b54a86a3c3 Mon Sep 17 00:00:00 2001 From: Thomas Lively <7121787+tlively@users.noreply.github.com> Date: Tue, 3 Sep 2019 14:13:29 -0700 Subject: QFMA/QFMS instructions (#2328) Renames the SIMDBitselect class to SIMDTernary and adds the new {f32x4,f64x2}.qfm{a,s} ternary instructions. Because the SIMDBitselect class is no more, this is a backwards-incompatible change to the C interface. The new instructions are not yet used in the fuzzer because they are not yet implemented in V8. The corresponding LLVM commit is https://reviews.llvm.org/rL370556. --- src/wasm/wasm-s-parser.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/wasm/wasm-s-parser.cpp') diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 3a1e0db09..322c36c45 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1473,11 +1473,13 @@ Expression* SExpressionWasmBuilder::makeSIMDShuffle(Element& s) { return ret; } -Expression* SExpressionWasmBuilder::makeSIMDBitselect(Element& s) { - auto ret = allocator.alloc(); - ret->left = parseExpression(s[1]); - ret->right = parseExpression(s[2]); - ret->cond = parseExpression(s[3]); +Expression* SExpressionWasmBuilder::makeSIMDTernary(Element& s, + SIMDTernaryOp op) { + auto ret = allocator.alloc(); + ret->op = op; + ret->a = parseExpression(s[1]); + ret->b = parseExpression(s[2]); + ret->c = parseExpression(s[3]); ret->finalize(); return ret; } -- cgit v1.2.3