diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2018-12-14 23:57:58 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-14 23:57:58 -0800 |
commit | e037e7a02e3c7d739de743b891bb6e145b63156f (patch) | |
tree | 02622c4eadc2e93898feecf9e9c5504f47789839 /src/ir/ExpressionManipulator.cpp | |
parent | c300e05873da1c8cafb654285f31959af1b3b9fc (diff) | |
download | binaryen-e037e7a02e3c7d739de743b891bb6e145b63156f.tar.gz binaryen-e037e7a02e3c7d739de743b891bb6e145b63156f.tar.bz2 binaryen-e037e7a02e3c7d739de743b891bb6e145b63156f.zip |
Fuzzing v128 and associated bug fixes (#1827)
* Fuzzing v128 and associated bug fixes
Diffstat (limited to 'src/ir/ExpressionManipulator.cpp')
-rw-r--r-- | src/ir/ExpressionManipulator.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp index d65509c52..3f53bccdd 100644 --- a/src/ir/ExpressionManipulator.cpp +++ b/src/ir/ExpressionManipulator.cpp @@ -114,6 +114,21 @@ Expression* flexibleCopy(Expression* original, Module& wasm, CustomCopier custom Expression* visitAtomicWake(AtomicWake* curr) { return builder.makeAtomicWake(copy(curr->ptr), copy(curr->wakeCount), curr->offset); } + Expression* visitSIMDExtract(SIMDExtract* curr) { + return builder.makeSIMDExtract(curr->op, copy(curr->vec), curr->idx); + } + Expression* visitSIMDReplace(SIMDReplace* curr) { + return builder.makeSIMDReplace(curr->op, copy(curr->vec), curr->idx, copy(curr->value)); + } + Expression* visitSIMDShuffle(SIMDShuffle* curr) { + return builder.makeSIMDShuffle(copy(curr->left), copy(curr->right), curr->mask); + } + Expression* visitSIMDBitselect(SIMDBitselect* curr) { + return builder.makeSIMDBitselect(copy(curr->left), copy(curr->right), copy(curr->cond)); + } + Expression* visitSIMDShift(SIMDShift* curr) { + return builder.makeSIMDShift(curr->op, copy(curr->vec), copy(curr->shift)); + } Expression* visitConst(Const *curr) { return builder.makeConst(curr->value); } |