Index: src/compiler/wasm-compiler.cc |
diff --git a/src/compiler/wasm-compiler.cc b/src/compiler/wasm-compiler.cc |
index c59e5a6ae6d08871cf6e4fb0f2fb50c33710e017..8269617aeb36b26175ba42dff400c009eef7f6da 100644 |
--- a/src/compiler/wasm-compiler.cc |
+++ b/src/compiler/wasm-compiler.cc |
@@ -3108,9 +3108,6 @@ Node* WasmGraphBuilder::SimdOp(wasm::WasmOpcode opcode, |
case wasm::kExprI32x4Add: |
return graph()->NewNode(jsgraph()->machine()->Int32x4Add(), inputs[0], |
inputs[1]); |
- case wasm::kExprF32x4ExtractLane: |
- return graph()->NewNode(jsgraph()->machine()->Float32x4ExtractLane(), |
- inputs[0], inputs[1]); |
case wasm::kExprF32x4Splat: |
return graph()->NewNode(jsgraph()->machine()->CreateFloat32x4(), |
inputs[0], inputs[0], inputs[0], inputs[0]); |
@@ -3136,6 +3133,20 @@ Node* WasmGraphBuilder::SimdExtractLane(wasm::WasmOpcode opcode, uint8_t lane, |
} |
} |
+Node* WasmGraphBuilder::SimdReplaceLane(wasm::WasmOpcode opcode, uint8_t lane, |
+ Node* input, Node* replacement) { |
+ switch (opcode) { |
+ case wasm::kExprI32x4ReplaceLane: |
+ return graph()->NewNode(jsgraph()->machine()->Int32x4ReplaceLane(), input, |
+ Int32Constant(lane), replacement); |
+ case wasm::kExprF32x4ReplaceLane: |
+ return graph()->NewNode(jsgraph()->machine()->Float32x4ReplaceLane(), |
+ input, Int32Constant(lane), replacement); |
+ default: |
+ return graph()->NewNode(UnsupportedOpcode(opcode), nullptr); |
+ } |
+} |
+ |
static void RecordFunctionCompilation(CodeEventListener::LogEventsAndTags tag, |
Isolate* isolate, Handle<Code> code, |
const char* message, uint32_t index, |