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/ast/scopes.h" | 7 #include "src/ast/scopes.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 1178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1189 i.OutputDoubleRegister()); | 1189 i.OutputDoubleRegister()); |
1190 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1190 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
1191 break; | 1191 break; |
1192 case kPPC_Uint64ToDouble: | 1192 case kPPC_Uint64ToDouble: |
1193 __ ConvertUnsignedInt64ToDouble(i.InputRegister(0), | 1193 __ ConvertUnsignedInt64ToDouble(i.InputRegister(0), |
1194 i.OutputDoubleRegister()); | 1194 i.OutputDoubleRegister()); |
1195 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1195 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
1196 break; | 1196 break; |
1197 #endif | 1197 #endif |
1198 case kPPC_Int32ToFloat32: | 1198 case kPPC_Int32ToFloat32: |
1199 __ ConvertIntToFloat(i.OutputDoubleRegister(), i.InputRegister(0), | 1199 __ ConvertIntToFloat(i.InputRegister(0), i.OutputDoubleRegister()); |
1200 kScratchReg); | |
1201 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1200 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
1202 break; | 1201 break; |
1203 case kPPC_Int32ToDouble: | 1202 case kPPC_Int32ToDouble: |
1204 __ ConvertIntToDouble(i.InputRegister(0), i.OutputDoubleRegister()); | 1203 __ ConvertIntToDouble(i.InputRegister(0), i.OutputDoubleRegister()); |
1205 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1204 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
1206 break; | 1205 break; |
| 1206 case kPPC_Uint32ToFloat32: |
| 1207 __ ConvertUnsignedIntToFloat(i.InputRegister(0), |
| 1208 i.OutputDoubleRegister()); |
| 1209 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
| 1210 break; |
1207 case kPPC_Uint32ToDouble: | 1211 case kPPC_Uint32ToDouble: |
1208 __ ConvertUnsignedIntToDouble(i.InputRegister(0), | 1212 __ ConvertUnsignedIntToDouble(i.InputRegister(0), |
1209 i.OutputDoubleRegister()); | 1213 i.OutputDoubleRegister()); |
1210 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1214 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
1211 break; | 1215 break; |
1212 case kPPC_DoubleToInt32: | 1216 case kPPC_DoubleToInt32: |
1213 case kPPC_DoubleToUint32: | 1217 case kPPC_DoubleToUint32: |
1214 case kPPC_DoubleToInt64: { | 1218 case kPPC_DoubleToInt64: { |
1215 #if V8_TARGET_ARCH_PPC64 | 1219 #if V8_TARGET_ARCH_PPC64 |
1216 bool check_conversion = | 1220 bool check_conversion = |
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1851 padding_size -= v8::internal::Assembler::kInstrSize; | 1855 padding_size -= v8::internal::Assembler::kInstrSize; |
1852 } | 1856 } |
1853 } | 1857 } |
1854 } | 1858 } |
1855 | 1859 |
1856 #undef __ | 1860 #undef __ |
1857 | 1861 |
1858 } // namespace compiler | 1862 } // namespace compiler |
1859 } // namespace internal | 1863 } // namespace internal |
1860 } // namespace v8 | 1864 } // namespace v8 |
OLD | NEW |