OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
10 #include "src/compiler/node-properties-inl.h" | 10 #include "src/compiler/node-properties-inl.h" |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 if (instr->InputAt(0)->IsDoubleRegister()) { | 401 if (instr->InputAt(0)->IsDoubleRegister()) { |
402 __ sqrtsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 402 __ sqrtsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
403 } else { | 403 } else { |
404 __ sqrtsd(i.OutputDoubleRegister(), i.InputOperand(0)); | 404 __ sqrtsd(i.OutputDoubleRegister(), i.InputOperand(0)); |
405 } | 405 } |
406 break; | 406 break; |
407 case kSSECvtss2sd: | 407 case kSSECvtss2sd: |
408 __ cvtss2sd(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 408 __ cvtss2sd(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
409 break; | 409 break; |
410 case kSSECvtsd2ss: | 410 case kSSECvtsd2ss: |
411 __ cvtsd2ss(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 411 if (instr->InputAt(0)->IsDoubleRegister()) { |
| 412 __ cvtsd2ss(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
| 413 } else { |
| 414 __ cvtsd2ss(i.OutputDoubleRegister(), i.InputOperand(0)); |
| 415 } |
412 break; | 416 break; |
413 case kSSEFloat64ToInt32: | 417 case kSSEFloat64ToInt32: |
414 if (instr->InputAt(0)->IsDoubleRegister()) { | 418 if (instr->InputAt(0)->IsDoubleRegister()) { |
415 __ cvttsd2si(i.OutputRegister(), i.InputDoubleRegister(0)); | 419 __ cvttsd2si(i.OutputRegister(), i.InputDoubleRegister(0)); |
416 } else { | 420 } else { |
417 __ cvttsd2si(i.OutputRegister(), i.InputOperand(0)); | 421 __ cvttsd2si(i.OutputRegister(), i.InputOperand(0)); |
418 } | 422 } |
419 break; | 423 break; |
420 case kSSEFloat64ToUint32: | 424 case kSSEFloat64ToUint32: |
421 if (instr->InputAt(0)->IsDoubleRegister()) { | 425 if (instr->InputAt(0)->IsDoubleRegister()) { |
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
989 } | 993 } |
990 } | 994 } |
991 MarkLazyDeoptSite(); | 995 MarkLazyDeoptSite(); |
992 } | 996 } |
993 | 997 |
994 #undef __ | 998 #undef __ |
995 | 999 |
996 } // namespace internal | 1000 } // namespace internal |
997 } // namespace compiler | 1001 } // namespace compiler |
998 } // namespace v8 | 1002 } // namespace v8 |
OLD | NEW |