summaryrefslogtreecommitdiff
path: root/src/validator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/validator.cc')
-rw-r--r--src/validator.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/validator.cc b/src/validator.cc
index 3c20cbe8..b977fa73 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -95,6 +95,7 @@ class Validator : public ExprVisitor::Delegate {
Result OnAtomicRmwCmpxchgExpr(AtomicRmwCmpxchgExpr*) override;
Result OnTernaryExpr(TernaryExpr*) override;
Result OnSimdLaneOpExpr(SimdLaneOpExpr*) override;
+ Result OnSimdShuffleOpExpr(SimdShuffleOpExpr*) override;
private:
struct ActionResult {
@@ -820,6 +821,12 @@ Result Validator::OnSimdLaneOpExpr(SimdLaneOpExpr* expr) {
return Result::Ok;
}
+Result Validator::OnSimdShuffleOpExpr(SimdShuffleOpExpr* expr) {
+ expr_loc_ = &expr->loc;
+ typechecker_.OnSimdShuffleOp(expr->opcode, expr->val);
+ return Result::Ok;
+}
+
void Validator::CheckFuncSignature(const Location* loc,
const FuncDeclaration& decl) {
if (decl.has_func_type) {