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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/arm/macro-assembler-arm.h" | 7 #include "src/arm/macro-assembler-arm.h" |
8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" |
10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" |
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
610 DCHECK_EQ(LeaveCC, i.OutputSBit()); | 610 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
611 break; | 611 break; |
612 } | 612 } |
613 case kArmVcvtU32F64: { | 613 case kArmVcvtU32F64: { |
614 SwVfpRegister scratch = kScratchDoubleReg.low(); | 614 SwVfpRegister scratch = kScratchDoubleReg.low(); |
615 __ vcvt_u32_f64(scratch, i.InputFloat64Register(0)); | 615 __ vcvt_u32_f64(scratch, i.InputFloat64Register(0)); |
616 __ vmov(i.OutputRegister(), scratch); | 616 __ vmov(i.OutputRegister(), scratch); |
617 DCHECK_EQ(LeaveCC, i.OutputSBit()); | 617 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
618 break; | 618 break; |
619 } | 619 } |
| 620 case kArmVmovLowU32F64: |
| 621 __ VmovLow(i.OutputRegister(), i.InputFloat64Register(0)); |
| 622 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
| 623 break; |
| 624 case kArmVmovLowF64U32: |
| 625 __ VmovLow(i.OutputFloat64Register(), i.InputRegister(1)); |
| 626 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
| 627 break; |
| 628 case kArmVmovHighU32F64: |
| 629 __ VmovHigh(i.OutputRegister(), i.InputFloat64Register(0)); |
| 630 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
| 631 break; |
| 632 case kArmVmovHighF64U32: |
| 633 __ VmovHigh(i.OutputFloat64Register(), i.InputRegister(1)); |
| 634 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
| 635 break; |
| 636 case kArmVmovF64U32U32: |
| 637 __ vmov(i.OutputFloat64Register(), i.InputRegister(0), |
| 638 i.InputRegister(1)); |
| 639 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
| 640 break; |
620 case kArmLdrb: | 641 case kArmLdrb: |
621 __ ldrb(i.OutputRegister(), i.InputOffset()); | 642 __ ldrb(i.OutputRegister(), i.InputOffset()); |
622 DCHECK_EQ(LeaveCC, i.OutputSBit()); | 643 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
623 break; | 644 break; |
624 case kArmLdrsb: | 645 case kArmLdrsb: |
625 __ ldrsb(i.OutputRegister(), i.InputOffset()); | 646 __ ldrsb(i.OutputRegister(), i.InputOffset()); |
626 DCHECK_EQ(LeaveCC, i.OutputSBit()); | 647 DCHECK_EQ(LeaveCC, i.OutputSBit()); |
627 break; | 648 break; |
628 case kArmStrb: { | 649 case kArmStrb: { |
629 size_t index = 0; | 650 size_t index = 0; |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1080 } | 1101 } |
1081 } | 1102 } |
1082 MarkLazyDeoptSite(); | 1103 MarkLazyDeoptSite(); |
1083 } | 1104 } |
1084 | 1105 |
1085 #undef __ | 1106 #undef __ |
1086 | 1107 |
1087 } // namespace compiler | 1108 } // namespace compiler |
1088 } // namespace internal | 1109 } // namespace internal |
1089 } // namespace v8 | 1110 } // namespace v8 |
OLD | NEW |