| Index: src/compiler/common-operator.cc
|
| diff --git a/src/compiler/common-operator.cc b/src/compiler/common-operator.cc
|
| index 2cd63314cff790a5a68a113a4e44a7e59e63d46f..4b71f84903e80be5b3f0e15edfc58590d3b097ad 100644
|
| --- a/src/compiler/common-operator.cc
|
| +++ b/src/compiler/common-operator.cc
|
| @@ -1353,6 +1353,26 @@ const Operator* CommonOperatorBuilder::ResizeMergeOrPhi(const Operator* op,
|
| }
|
| }
|
|
|
| +const Operator* CommonOperatorBuilder::Float32x4ExtractLane(
|
| + int32_t lane_number) {
|
| + DCHECK(0 <= lane_number && lane_number < 4);
|
| + return new (zone()) Operator1<int32_t>( // --
|
| + IrOpcode::kFloat32x4ExtractLane, Operator::kPure, // opcode
|
| + "Float32x4ExtractLane", // name
|
| + 1, 0, 0, 1, 0, 0, // counts
|
| + lane_number); // parameter
|
| +}
|
| +
|
| +const Operator* CommonOperatorBuilder::Float32x4ReplaceLane(
|
| + int32_t lane_number) {
|
| + DCHECK(0 <= lane_number && lane_number < 4);
|
| + return new (zone()) Operator1<int32_t>( // --
|
| + IrOpcode::kFloat32x4ReplaceLane, Operator::kPure, // opcode
|
| + "Float32x4ReplaceLane", // name
|
| + 2, 0, 0, 1, 0, 0, // counts
|
| + lane_number); // parameter
|
| +}
|
| +
|
| const Operator* CommonOperatorBuilder::Int32x4ExtractLane(int32_t lane_number) {
|
| DCHECK(0 <= lane_number && lane_number < 4);
|
| return new (zone()) Operator1<int32_t>( // --
|
| @@ -1371,24 +1391,40 @@ const Operator* CommonOperatorBuilder::Int32x4ReplaceLane(int32_t lane_number) {
|
| lane_number); // parameter
|
| }
|
|
|
| -const Operator* CommonOperatorBuilder::Float32x4ExtractLane(
|
| - int32_t lane_number) {
|
| - DCHECK(0 <= lane_number && lane_number < 4);
|
| - return new (zone()) Operator1<int32_t>( // --
|
| - IrOpcode::kFloat32x4ExtractLane, Operator::kPure, // opcode
|
| - "Float32x4ExtractLane", // name
|
| - 1, 0, 0, 1, 0, 0, // counts
|
| - lane_number); // parameter
|
| +const Operator* CommonOperatorBuilder::Int16x8ExtractLane(int32_t lane_number) {
|
| + DCHECK(0 <= lane_number && lane_number < 8);
|
| + return new (zone()) Operator1<int32_t>( // --
|
| + IrOpcode::kInt16x8ExtractLane, Operator::kPure, // opcode
|
| + "Int16x8ExtractLane", // name
|
| + 1, 0, 0, 1, 0, 0, // counts
|
| + lane_number); // parameter
|
| }
|
|
|
| -const Operator* CommonOperatorBuilder::Float32x4ReplaceLane(
|
| - int32_t lane_number) {
|
| - DCHECK(0 <= lane_number && lane_number < 4);
|
| - return new (zone()) Operator1<int32_t>( // --
|
| - IrOpcode::kFloat32x4ReplaceLane, Operator::kPure, // opcode
|
| - "Float32x4ReplaceLane", // name
|
| - 2, 0, 0, 1, 0, 0, // counts
|
| - lane_number); // parameter
|
| +const Operator* CommonOperatorBuilder::Int16x8ReplaceLane(int32_t lane_number) {
|
| + DCHECK(0 <= lane_number && lane_number < 8);
|
| + return new (zone()) Operator1<int32_t>( // --
|
| + IrOpcode::kInt16x8ReplaceLane, Operator::kPure, // opcode
|
| + "Int16x8ReplaceLane", // name
|
| + 2, 0, 0, 1, 0, 0, // counts
|
| + lane_number); // parameter
|
| +}
|
| +
|
| +const Operator* CommonOperatorBuilder::Int8x16ExtractLane(int32_t lane_number) {
|
| + DCHECK(0 <= lane_number && lane_number < 16);
|
| + return new (zone()) Operator1<int32_t>( // --
|
| + IrOpcode::kInt8x16ExtractLane, Operator::kPure, // opcode
|
| + "Int8x16ExtractLane", // name
|
| + 1, 0, 0, 1, 0, 0, // counts
|
| + lane_number); // parameter
|
| +}
|
| +
|
| +const Operator* CommonOperatorBuilder::Int8x16ReplaceLane(int32_t lane_number) {
|
| + DCHECK(0 <= lane_number && lane_number < 16);
|
| + return new (zone()) Operator1<int32_t>( // --
|
| + IrOpcode::kInt8x16ReplaceLane, Operator::kPure, // opcode
|
| + "Int8x16ReplaceLane", // name
|
| + 2, 0, 0, 1, 0, 0, // counts
|
| + lane_number); // parameter
|
| }
|
|
|
| const FrameStateFunctionInfo*
|
|
|