| Index: src/compiler/wasm-compiler.cc
|
| diff --git a/src/compiler/wasm-compiler.cc b/src/compiler/wasm-compiler.cc
|
| index b8f94239206638acf94248d842d4da9cf4d6104f..e15cc38f18768c015bc4a73e4d5926a136263cbe 100644
|
| --- a/src/compiler/wasm-compiler.cc
|
| +++ b/src/compiler/wasm-compiler.cc
|
| @@ -3610,6 +3610,17 @@ Node* WasmGraphBuilder::SimdOp(wasm::WasmOpcode opcode,
|
| return graph()->NewNode(
|
| jsgraph()->machine()->Uint8x16GreaterThanOrEqual(), inputs[0],
|
| inputs[1]);
|
| + case wasm::kExprS128And:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd128And(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS128Or:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd128Or(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS128Xor:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd128Xor(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS128Not:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd128Not(), inputs[0]);
|
| case wasm::kExprS32x4Select:
|
| return graph()->NewNode(jsgraph()->machine()->Simd32x4Select(), inputs[0],
|
| inputs[1], inputs[2]);
|
| @@ -3619,17 +3630,57 @@ Node* WasmGraphBuilder::SimdOp(wasm::WasmOpcode opcode,
|
| case wasm::kExprS8x16Select:
|
| return graph()->NewNode(jsgraph()->machine()->Simd8x16Select(), inputs[0],
|
| inputs[1], inputs[2]);
|
| - case wasm::kExprS128And:
|
| - return graph()->NewNode(jsgraph()->machine()->Simd128And(), inputs[0],
|
| + case wasm::kExprS1x4And:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x4And(), inputs[0],
|
| inputs[1]);
|
| - case wasm::kExprS128Or:
|
| - return graph()->NewNode(jsgraph()->machine()->Simd128Or(), inputs[0],
|
| + case wasm::kExprS1x4Or:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x4Or(), inputs[0],
|
| inputs[1]);
|
| - case wasm::kExprS128Xor:
|
| - return graph()->NewNode(jsgraph()->machine()->Simd128Xor(), inputs[0],
|
| + case wasm::kExprS1x4Xor:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x4Xor(), inputs[0],
|
| inputs[1]);
|
| - case wasm::kExprS128Not:
|
| - return graph()->NewNode(jsgraph()->machine()->Simd128Not(), inputs[0]);
|
| + case wasm::kExprS1x4Not:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x4Not(), inputs[0]);
|
| + case wasm::kExprS1x4AnyTrue:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x4AnyTrue(),
|
| + inputs[0]);
|
| + case wasm::kExprS1x4AllTrue:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x4AllTrue(),
|
| + inputs[0]);
|
| + case wasm::kExprS1x8And:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x8And(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS1x8Or:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x8Or(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS1x8Xor:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x8Xor(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS1x8Not:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x8Not(), inputs[0]);
|
| + case wasm::kExprS1x8AnyTrue:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x8AnyTrue(),
|
| + inputs[0]);
|
| + case wasm::kExprS1x8AllTrue:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x8AllTrue(),
|
| + inputs[0]);
|
| + case wasm::kExprS1x16And:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x16And(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS1x16Or:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x16Or(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS1x16Xor:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x16Xor(), inputs[0],
|
| + inputs[1]);
|
| + case wasm::kExprS1x16Not:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x16Not(), inputs[0]);
|
| + case wasm::kExprS1x16AnyTrue:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x16AnyTrue(),
|
| + inputs[0]);
|
| + case wasm::kExprS1x16AllTrue:
|
| + return graph()->NewNode(jsgraph()->machine()->Simd1x16AllTrue(),
|
| + inputs[0]);
|
| default:
|
| return graph()->NewNode(UnsupportedOpcode(opcode), nullptr);
|
| }
|
|
|