summaryrefslogtreecommitdiff
path: root/src/tools/fuzzing.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/fuzzing.h')
-rw-r--r--src/tools/fuzzing.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/tools/fuzzing.h b/src/tools/fuzzing.h
index dde8a0de7..82a269740 100644
--- a/src/tools/fuzzing.h
+++ b/src/tools/fuzzing.h
@@ -2336,7 +2336,7 @@ private:
case 3:
return makeSIMDShuffle();
case 4:
- return makeSIMDBitselect();
+ return makeSIMDTernary();
case 5:
return makeSIMDShift();
}
@@ -2444,11 +2444,18 @@ private:
return builder.makeSIMDShuffle(left, right, mask);
}
- Expression* makeSIMDBitselect() {
- Expression* left = make(v128);
- Expression* right = make(v128);
- Expression* cond = make(v128);
- return builder.makeSIMDBitselect(left, right, cond);
+ Expression* makeSIMDTernary() {
+ // TODO: Enable qfma/qfms once it is implemented in V8 and the interpreter
+ // SIMDTernaryOp op = pick(Bitselect,
+ // QFMAF32x4,
+ // QFMSF32x4,
+ // QFMAF64x2,
+ // QFMSF64x2);
+ SIMDTernaryOp op = Bitselect;
+ Expression* a = make(v128);
+ Expression* b = make(v128);
+ Expression* c = make(v128);
+ return builder.makeSIMDTernary(op, a, b, c);
}
Expression* makeSIMDShift() {