Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(940)

Unified Diff: src/compiler/instruction-selector.cc

Issue 2668013003: [Turbofan] Add more integer SIMD operations for ARM. (Closed)
Patch Set: Fix compile. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/code-generator-impl.h ('k') | src/compiler/machine-operator.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/instruction-selector.cc
diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc
index d13b3b99c740b5cdc69a08e9321d560d57b95046..7e7b909b4f6ded1317e49721c9a096f85037b561 100644
--- a/src/compiler/instruction-selector.cc
+++ b/src/compiler/instruction-selector.cc
@@ -1489,6 +1489,10 @@ void InstructionSelector::VisitNode(Node* node) {
return MarkAsSimd128(node), VisitUint32x4FromFloat32x4(node);
case IrOpcode::kInt32x4Neg:
return MarkAsSimd128(node), VisitInt32x4Neg(node);
+ case IrOpcode::kInt32x4ShiftLeftByScalar:
+ return MarkAsSimd128(node), VisitInt32x4ShiftLeftByScalar(node);
+ case IrOpcode::kInt32x4ShiftRightByScalar:
+ return MarkAsSimd128(node), VisitInt32x4ShiftRightByScalar(node);
case IrOpcode::kInt32x4Add:
return MarkAsSimd128(node), VisitInt32x4Add(node);
case IrOpcode::kInt32x4Sub:
@@ -1507,6 +1511,12 @@ void InstructionSelector::VisitNode(Node* node) {
return MarkAsSimd128(node), VisitInt32x4GreaterThan(node);
case IrOpcode::kInt32x4GreaterThanOrEqual:
return MarkAsSimd128(node), VisitInt32x4GreaterThanOrEqual(node);
+ case IrOpcode::kUint32x4ShiftRightByScalar:
+ return MarkAsSimd128(node), VisitUint32x4ShiftRightByScalar(node);
+ case IrOpcode::kUint32x4Min:
+ return MarkAsSimd128(node), VisitUint32x4Min(node);
+ case IrOpcode::kUint32x4Max:
+ return MarkAsSimd128(node), VisitUint32x4Max(node);
case IrOpcode::kUint32x4GreaterThan:
return MarkAsSimd128(node), VisitUint32x4GreaterThan(node);
case IrOpcode::kUint32x4GreaterThanOrEqual:
@@ -1521,10 +1531,18 @@ void InstructionSelector::VisitNode(Node* node) {
return MarkAsSimd128(node), VisitInt16x8ReplaceLane(node);
case IrOpcode::kInt16x8Neg:
return MarkAsSimd128(node), VisitInt16x8Neg(node);
+ case IrOpcode::kInt16x8ShiftLeftByScalar:
+ return MarkAsSimd128(node), VisitInt16x8ShiftLeftByScalar(node);
+ case IrOpcode::kInt16x8ShiftRightByScalar:
+ return MarkAsSimd128(node), VisitInt16x8ShiftRightByScalar(node);
case IrOpcode::kInt16x8Add:
return MarkAsSimd128(node), VisitInt16x8Add(node);
+ case IrOpcode::kInt16x8AddSaturate:
+ return MarkAsSimd128(node), VisitInt16x8AddSaturate(node);
case IrOpcode::kInt16x8Sub:
return MarkAsSimd128(node), VisitInt16x8Sub(node);
+ case IrOpcode::kInt16x8SubSaturate:
+ return MarkAsSimd128(node), VisitInt16x8SubSaturate(node);
case IrOpcode::kInt16x8Mul:
return MarkAsSimd128(node), VisitInt16x8Mul(node);
case IrOpcode::kInt16x8Min:
@@ -1539,6 +1557,16 @@ void InstructionSelector::VisitNode(Node* node) {
return MarkAsSimd128(node), VisitInt16x8GreaterThan(node);
case IrOpcode::kInt16x8GreaterThanOrEqual:
return MarkAsSimd128(node), VisitInt16x8GreaterThanOrEqual(node);
+ case IrOpcode::kUint16x8ShiftRightByScalar:
+ return MarkAsSimd128(node), VisitUint16x8ShiftRightByScalar(node);
+ case IrOpcode::kUint16x8AddSaturate:
+ return MarkAsSimd128(node), VisitUint16x8AddSaturate(node);
+ case IrOpcode::kUint16x8SubSaturate:
+ return MarkAsSimd128(node), VisitUint16x8SubSaturate(node);
+ case IrOpcode::kUint16x8Min:
+ return MarkAsSimd128(node), VisitUint16x8Min(node);
+ case IrOpcode::kUint16x8Max:
+ return MarkAsSimd128(node), VisitUint16x8Max(node);
case IrOpcode::kUint16x8GreaterThan:
return MarkAsSimd128(node), VisitUint16x8GreaterThan(node);
case IrOpcode::kUint16x8GreaterThanOrEqual:
@@ -1551,10 +1579,18 @@ void InstructionSelector::VisitNode(Node* node) {
return MarkAsSimd128(node), VisitInt8x16ReplaceLane(node);
case IrOpcode::kInt8x16Neg:
return MarkAsSimd128(node), VisitInt8x16Neg(node);
+ case IrOpcode::kInt8x16ShiftLeftByScalar:
+ return MarkAsSimd128(node), VisitInt8x16ShiftLeftByScalar(node);
+ case IrOpcode::kInt8x16ShiftRightByScalar:
+ return MarkAsSimd128(node), VisitInt8x16ShiftRightByScalar(node);
case IrOpcode::kInt8x16Add:
return MarkAsSimd128(node), VisitInt8x16Add(node);
+ case IrOpcode::kInt8x16AddSaturate:
+ return MarkAsSimd128(node), VisitInt8x16AddSaturate(node);
case IrOpcode::kInt8x16Sub:
return MarkAsSimd128(node), VisitInt8x16Sub(node);
+ case IrOpcode::kInt8x16SubSaturate:
+ return MarkAsSimd128(node), VisitInt8x16SubSaturate(node);
case IrOpcode::kInt8x16Mul:
return MarkAsSimd128(node), VisitInt8x16Mul(node);
case IrOpcode::kInt8x16Min:
@@ -1569,6 +1605,16 @@ void InstructionSelector::VisitNode(Node* node) {
return MarkAsSimd128(node), VisitInt8x16GreaterThan(node);
case IrOpcode::kInt8x16GreaterThanOrEqual:
return MarkAsSimd128(node), VisitInt8x16GreaterThanOrEqual(node);
+ case IrOpcode::kUint8x16ShiftRightByScalar:
+ return MarkAsSimd128(node), VisitUint8x16ShiftRightByScalar(node);
+ case IrOpcode::kUint8x16AddSaturate:
+ return MarkAsSimd128(node), VisitUint8x16AddSaturate(node);
+ case IrOpcode::kUint8x16SubSaturate:
+ return MarkAsSimd128(node), VisitUint8x16SubSaturate(node);
+ case IrOpcode::kUint8x16Min:
+ return MarkAsSimd128(node), VisitUint8x16Min(node);
+ case IrOpcode::kUint8x16Max:
+ return MarkAsSimd128(node), VisitUint8x16Max(node);
case IrOpcode::kUint8x16GreaterThan:
return MarkAsSimd128(node), VisitUint8x16GreaterThan(node);
case IrOpcode::kUint8x16GreaterThanOrEqual:
@@ -1959,6 +2005,14 @@ void InstructionSelector::VisitUint32x4FromFloat32x4(Node* node) {
void InstructionSelector::VisitInt32x4Neg(Node* node) { UNIMPLEMENTED(); }
+void InstructionSelector::VisitInt32x4ShiftLeftByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitInt32x4ShiftRightByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
void InstructionSelector::VisitInt32x4Mul(Node* node) { UNIMPLEMENTED(); }
void InstructionSelector::VisitInt32x4Max(Node* node) { UNIMPLEMENTED(); }
@@ -1983,6 +2037,14 @@ void InstructionSelector::VisitInt32x4GreaterThanOrEqual(Node* node) {
UNIMPLEMENTED();
}
+void InstructionSelector::VisitUint32x4ShiftRightByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitUint32x4Max(Node* node) { UNIMPLEMENTED(); }
+
+void InstructionSelector::VisitUint32x4Min(Node* node) { UNIMPLEMENTED(); }
+
void InstructionSelector::VisitUint32x4GreaterThan(Node* node) {
UNIMPLEMENTED();
}
@@ -2005,10 +2067,26 @@ void InstructionSelector::VisitInt16x8ReplaceLane(Node* node) {
void InstructionSelector::VisitInt16x8Neg(Node* node) { UNIMPLEMENTED(); }
+void InstructionSelector::VisitInt16x8ShiftLeftByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitInt16x8ShiftRightByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
void InstructionSelector::VisitInt16x8Add(Node* node) { UNIMPLEMENTED(); }
+void InstructionSelector::VisitInt16x8AddSaturate(Node* node) {
+ UNIMPLEMENTED();
+}
+
void InstructionSelector::VisitInt16x8Sub(Node* node) { UNIMPLEMENTED(); }
+void InstructionSelector::VisitInt16x8SubSaturate(Node* node) {
+ UNIMPLEMENTED();
+}
+
void InstructionSelector::VisitInt16x8Mul(Node* node) { UNIMPLEMENTED(); }
void InstructionSelector::VisitInt16x8Max(Node* node) { UNIMPLEMENTED(); }
@@ -2033,6 +2111,22 @@ void InstructionSelector::VisitInt16x8GreaterThanOrEqual(Node* node) {
UNIMPLEMENTED();
}
+void InstructionSelector::VisitUint16x8ShiftRightByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitUint16x8AddSaturate(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitUint16x8SubSaturate(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitUint16x8Max(Node* node) { UNIMPLEMENTED(); }
+
+void InstructionSelector::VisitUint16x8Min(Node* node) { UNIMPLEMENTED(); }
+
void InstructionSelector::VisitUint16x8GreaterThan(Node* node) {
UNIMPLEMENTED();
}
@@ -2053,10 +2147,26 @@ void InstructionSelector::VisitInt8x16ReplaceLane(Node* node) {
void InstructionSelector::VisitInt8x16Neg(Node* node) { UNIMPLEMENTED(); }
+void InstructionSelector::VisitInt8x16ShiftLeftByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitInt8x16ShiftRightByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
void InstructionSelector::VisitInt8x16Add(Node* node) { UNIMPLEMENTED(); }
+void InstructionSelector::VisitInt8x16AddSaturate(Node* node) {
+ UNIMPLEMENTED();
+}
+
void InstructionSelector::VisitInt8x16Sub(Node* node) { UNIMPLEMENTED(); }
+void InstructionSelector::VisitInt8x16SubSaturate(Node* node) {
+ UNIMPLEMENTED();
+}
+
void InstructionSelector::VisitInt8x16Mul(Node* node) { UNIMPLEMENTED(); }
void InstructionSelector::VisitInt8x16Max(Node* node) { UNIMPLEMENTED(); }
@@ -2081,6 +2191,22 @@ void InstructionSelector::VisitInt8x16GreaterThanOrEqual(Node* node) {
UNIMPLEMENTED();
}
+void InstructionSelector::VisitUint8x16ShiftRightByScalar(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitUint8x16AddSaturate(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitUint8x16SubSaturate(Node* node) {
+ UNIMPLEMENTED();
+}
+
+void InstructionSelector::VisitUint8x16Max(Node* node) { UNIMPLEMENTED(); }
+
+void InstructionSelector::VisitUint8x16Min(Node* node) { UNIMPLEMENTED(); }
+
void InstructionSelector::VisitUint8x16GreaterThan(Node* node) {
UNIMPLEMENTED();
}
« no previous file with comments | « src/compiler/code-generator-impl.h ('k') | src/compiler/machine-operator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698