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/ast/scopes.h" | 5 #include "src/ast/scopes.h" |
6 #include "src/compiler/code-generator.h" | 6 #include "src/compiler/code-generator.h" |
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/osr.h" | 10 #include "src/compiler/osr.h" |
(...skipping 1012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1023 break; | 1023 break; |
1024 } | 1024 } |
1025 case kMips64CvtDUl: { | 1025 case kMips64CvtDUl: { |
1026 __ Cvt_d_ul(i.OutputDoubleRegister(), i.InputRegister(0)); | 1026 __ Cvt_d_ul(i.OutputDoubleRegister(), i.InputRegister(0)); |
1027 break; | 1027 break; |
1028 } | 1028 } |
1029 case kMips64CvtSUl: { | 1029 case kMips64CvtSUl: { |
1030 __ Cvt_s_ul(i.OutputDoubleRegister(), i.InputRegister(0)); | 1030 __ Cvt_s_ul(i.OutputDoubleRegister(), i.InputRegister(0)); |
1031 break; | 1031 break; |
1032 } | 1032 } |
| 1033 case kMips64FloorWD: { |
| 1034 FPURegister scratch = kScratchDoubleReg; |
| 1035 __ floor_w_d(scratch, i.InputDoubleRegister(0)); |
| 1036 __ mfc1(i.OutputRegister(), scratch); |
| 1037 break; |
| 1038 } |
| 1039 case kMips64CeilWD: { |
| 1040 FPURegister scratch = kScratchDoubleReg; |
| 1041 __ ceil_w_d(scratch, i.InputDoubleRegister(0)); |
| 1042 __ mfc1(i.OutputRegister(), scratch); |
| 1043 break; |
| 1044 } |
| 1045 case kMips64RoundWD: { |
| 1046 FPURegister scratch = kScratchDoubleReg; |
| 1047 __ round_w_d(scratch, i.InputDoubleRegister(0)); |
| 1048 __ mfc1(i.OutputRegister(), scratch); |
| 1049 break; |
| 1050 } |
1033 case kMips64TruncWD: { | 1051 case kMips64TruncWD: { |
1034 FPURegister scratch = kScratchDoubleReg; | 1052 FPURegister scratch = kScratchDoubleReg; |
1035 // Other arches use round to zero here, so we follow. | 1053 // Other arches use round to zero here, so we follow. |
1036 __ trunc_w_d(scratch, i.InputDoubleRegister(0)); | 1054 __ trunc_w_d(scratch, i.InputDoubleRegister(0)); |
1037 __ mfc1(i.OutputRegister(), scratch); | 1055 __ mfc1(i.OutputRegister(), scratch); |
1038 break; | 1056 break; |
1039 } | 1057 } |
1040 case kMips64TruncLS: { | 1058 case kMips64TruncLS: { |
1041 FPURegister scratch = kScratchDoubleReg; | 1059 FPURegister scratch = kScratchDoubleReg; |
1042 // Other arches use round to zero here, so we follow. | 1060 // Other arches use round to zero here, so we follow. |
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1787 padding_size -= v8::internal::Assembler::kInstrSize; | 1805 padding_size -= v8::internal::Assembler::kInstrSize; |
1788 } | 1806 } |
1789 } | 1807 } |
1790 } | 1808 } |
1791 | 1809 |
1792 #undef __ | 1810 #undef __ |
1793 | 1811 |
1794 } // namespace compiler | 1812 } // namespace compiler |
1795 } // namespace internal | 1813 } // namespace internal |
1796 } // namespace v8 | 1814 } // namespace v8 |
OLD | NEW |