Implement v128 instructions (#508)

This commit is contained in:
Daniel Wirtz
2019-02-28 17:36:22 +01:00
committed by GitHub
parent cdf40578b6
commit e1f1a3b49c
25 changed files with 6647 additions and 286 deletions

View File

@ -3199,6 +3199,12 @@ export class Compiler extends DiagnosticEmitter {
expr = module.createBinary(BinaryOp.EqF64, leftExpr, rightExpr);
break;
}
case TypeKind.V128: {
expr = module.createUnary(UnaryOp.AllTrueVecI8x16,
module.createBinary(BinaryOp.EqVecI8x16, leftExpr, rightExpr)
);
break;
}
default: {
assert(false);
expr = module.createUnreachable();
@ -3287,6 +3293,12 @@ export class Compiler extends DiagnosticEmitter {
expr = module.createBinary(BinaryOp.NeF64, leftExpr, rightExpr);
break;
}
case TypeKind.V128: {
expr = module.createUnary(UnaryOp.AnyTrueVecI8x16,
module.createBinary(BinaryOp.NeVecI8x16, leftExpr, rightExpr)
);
break;
}
default: {
assert(false);
expr = module.createUnreachable();