Index: src/compiler/arm64/instruction-selector-arm64.cc |
diff --git a/src/compiler/arm64/instruction-selector-arm64.cc b/src/compiler/arm64/instruction-selector-arm64.cc |
index 9eca69610b3e3ce2a5964acca900b32725e3ee7d..b46906280ecf38bac2bb036b753a4f3f7766bf68 100644 |
--- a/src/compiler/arm64/instruction-selector-arm64.cc |
+++ b/src/compiler/arm64/instruction-selector-arm64.cc |
@@ -71,14 +71,6 @@ class Arm64OperandGenerator V8_FINAL : public OperandGenerator { |
}; |
-static void VisitRR(InstructionSelector* selector, ArchOpcode opcode, |
- Node* node) { |
- Arm64OperandGenerator g(selector); |
- selector->Emit(opcode, g.DefineAsRegister(node), |
- g.UseRegister(node->InputAt(0))); |
-} |
- |
- |
static void VisitRRR(InstructionSelector* selector, ArchOpcode opcode, |
Node* node) { |
Arm64OperandGenerator g(selector); |
@@ -426,16 +418,6 @@ void InstructionSelector::VisitInt64UMod(Node* node) { |
} |
-void InstructionSelector::VisitConvertInt32ToInt64(Node* node) { |
- VisitRR(this, kArm64Int32ToInt64, node); |
-} |
- |
- |
-void InstructionSelector::VisitConvertInt64ToInt32(Node* node) { |
- VisitRR(this, kArm64Int64ToInt32, node); |
-} |
- |
- |
void InstructionSelector::VisitChangeInt32ToFloat64(Node* node) { |
Arm64OperandGenerator g(this); |
Emit(kArm64Int32ToFloat64, g.DefineAsDoubleRegister(node), |
@@ -464,6 +446,24 @@ void InstructionSelector::VisitChangeFloat64ToUint32(Node* node) { |
} |
+void InstructionSelector::VisitChangeInt32ToInt64(Node* node) { |
+ Arm64OperandGenerator g(this); |
+ Emit(kArm64Sxtw, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
+} |
+ |
+ |
+void InstructionSelector::VisitChangeUint32ToUint64(Node* node) { |
+ Arm64OperandGenerator g(this); |
+ Emit(kArm64Mov32, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
+} |
+ |
+ |
+void InstructionSelector::VisitTruncateInt64ToInt32(Node* node) { |
+ Arm64OperandGenerator g(this); |
+ Emit(kArm64Mov32, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
+} |
+ |
+ |
void InstructionSelector::VisitFloat64Add(Node* node) { |
VisitRRRFloat64(this, kArm64Float64Add, node); |
} |