| OLD | NEW | 
|     1 // Copyright 2014 the V8 project authors. All rights reserved. |     1 // Copyright 2014 the V8 project authors. All rights reserved. | 
|     2 // Use of this source code is governed by a BSD-style license that can be |     2 // Use of this source code is governed by a BSD-style license that can be | 
|     3 // found in the LICENSE file. |     3 // found in the LICENSE file. | 
|     4  |     4  | 
|     5 #include "src/base/bits.h" |     5 #include "src/base/bits.h" | 
|     6 #include "src/compiler/instruction-selector-impl.h" |     6 #include "src/compiler/instruction-selector-impl.h" | 
|     7 #include "src/compiler/node-matchers.h" |     7 #include "src/compiler/node-matchers.h" | 
|     8 #include "src/compiler/node-properties.h" |     8 #include "src/compiler/node-properties.h" | 
|     9  |     9  | 
|    10 namespace v8 { |    10 namespace v8 { | 
| (...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1141  |  1141  | 
|  1142  |  1142  | 
|  1143 void InstructionSelector::VisitFloat64LessThanOrEqual(Node* node) { |  1143 void InstructionSelector::VisitFloat64LessThanOrEqual(Node* node) { | 
|  1144   FlagsContinuation cont(kUnsignedLessThanOrEqual, node); |  1144   FlagsContinuation cont(kUnsignedLessThanOrEqual, node); | 
|  1145   VisitFloat64Compare(this, node, &cont); |  1145   VisitFloat64Compare(this, node, &cont); | 
|  1146 } |  1146 } | 
|  1147  |  1147  | 
|  1148  |  1148  | 
|  1149 void InstructionSelector::VisitFloat64ExtractLowWord32(Node* node) { |  1149 void InstructionSelector::VisitFloat64ExtractLowWord32(Node* node) { | 
|  1150   Mips64OperandGenerator g(this); |  1150   Mips64OperandGenerator g(this); | 
|  1151   Emit(kMips64FmoveLowUwD, g.DefineAsRegister(node), |  1151   Emit(kMips64Float64ExtractLowWord32, g.DefineAsRegister(node), | 
|  1152        g.UseRegister(node->InputAt(0))); |  1152        g.UseRegister(node->InputAt(0))); | 
|  1153 } |  1153 } | 
|  1154  |  1154  | 
|  1155  |  1155  | 
|  1156 void InstructionSelector::VisitFloat64ExtractHighWord32(Node* node) { |  1156 void InstructionSelector::VisitFloat64ExtractHighWord32(Node* node) { | 
|  1157   Mips64OperandGenerator g(this); |  1157   Mips64OperandGenerator g(this); | 
|  1158   Emit(kMips64FmoveHighUwD, g.DefineAsRegister(node), |  1158   Emit(kMips64Float64ExtractHighWord32, g.DefineAsRegister(node), | 
|  1159        g.UseRegister(node->InputAt(0))); |  1159        g.UseRegister(node->InputAt(0))); | 
|  1160 } |  1160 } | 
|  1161  |  1161  | 
|  1162  |  1162  | 
|  1163 void InstructionSelector::VisitFloat64InsertLowWord32(Node* node) { |  1163 void InstructionSelector::VisitFloat64InsertLowWord32(Node* node) { | 
|  1164   Mips64OperandGenerator g(this); |  1164   Mips64OperandGenerator g(this); | 
|  1165   Node* left = node->InputAt(0); |  1165   Node* left = node->InputAt(0); | 
|  1166   Node* right = node->InputAt(1); |  1166   Node* right = node->InputAt(1); | 
|  1167   Emit(kMips64FmoveLowDUw, g.DefineSameAsFirst(node), g.UseRegister(left), |  1167   Emit(kMips64Float64InsertLowWord32, g.DefineSameAsFirst(node), | 
|  1168        g.UseRegister(right)); |  1168        g.UseRegister(left), g.UseRegister(right)); | 
|  1169 } |  1169 } | 
|  1170  |  1170  | 
|  1171  |  1171  | 
|  1172 void InstructionSelector::VisitFloat64InsertHighWord32(Node* node) { |  1172 void InstructionSelector::VisitFloat64InsertHighWord32(Node* node) { | 
|  1173   Mips64OperandGenerator g(this); |  1173   Mips64OperandGenerator g(this); | 
|  1174   Node* left = node->InputAt(0); |  1174   Node* left = node->InputAt(0); | 
|  1175   Node* right = node->InputAt(1); |  1175   Node* right = node->InputAt(1); | 
|  1176   Emit(kMips64FmoveHighDUw, g.DefineSameAsFirst(node), g.UseRegister(left), |  1176   Emit(kMips64Float64InsertHighWord32, g.DefineSameAsFirst(node), | 
|  1177        g.UseRegister(right)); |  1177        g.UseRegister(left), g.UseRegister(right)); | 
|  1178 } |  1178 } | 
|  1179  |  1179  | 
|  1180  |  1180  | 
|  1181 // static |  1181 // static | 
|  1182 MachineOperatorBuilder::Flags |  1182 MachineOperatorBuilder::Flags | 
|  1183 InstructionSelector::SupportedMachineOperatorFlags() { |  1183 InstructionSelector::SupportedMachineOperatorFlags() { | 
|  1184   return MachineOperatorBuilder::kFloat64RoundDown | |  1184   return MachineOperatorBuilder::kFloat64RoundDown | | 
|  1185          MachineOperatorBuilder::kFloat64RoundTruncate; |  1185          MachineOperatorBuilder::kFloat64RoundTruncate; | 
|  1186 } |  1186 } | 
|  1187  |  1187  | 
|  1188 }  // namespace compiler |  1188 }  // namespace compiler | 
|  1189 }  // namespace internal |  1189 }  // namespace internal | 
|  1190 }  // namespace v8 |  1190 }  // namespace v8 | 
| OLD | NEW |