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/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 1119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1130 case kPPC_DoubleToInt32: | 1130 case kPPC_DoubleToInt32: |
1131 case kPPC_DoubleToUint32: | 1131 case kPPC_DoubleToUint32: |
1132 case kPPC_DoubleToInt64: | 1132 case kPPC_DoubleToInt64: |
1133 __ ConvertDoubleToInt64(i.InputDoubleRegister(0), | 1133 __ ConvertDoubleToInt64(i.InputDoubleRegister(0), |
1134 #if !V8_TARGET_ARCH_PPC64 | 1134 #if !V8_TARGET_ARCH_PPC64 |
1135 kScratchReg, | 1135 kScratchReg, |
1136 #endif | 1136 #endif |
1137 i.OutputRegister(), kScratchDoubleReg); | 1137 i.OutputRegister(), kScratchDoubleReg); |
1138 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1138 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
1139 break; | 1139 break; |
| 1140 #if V8_TARGET_ARCH_PPC64 |
| 1141 case kPPC_DoubleToUint64: |
| 1142 __ ConvertDoubleToUnsignedInt64(i.InputDoubleRegister(0), |
| 1143 i.OutputRegister(), kScratchDoubleReg); |
| 1144 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
| 1145 break; |
| 1146 #endif |
1140 case kPPC_DoubleToFloat32: | 1147 case kPPC_DoubleToFloat32: |
1141 ASSEMBLE_FLOAT_UNOP_RC(frsp); | 1148 ASSEMBLE_FLOAT_UNOP_RC(frsp); |
1142 break; | 1149 break; |
1143 case kPPC_Float32ToDouble: | 1150 case kPPC_Float32ToDouble: |
1144 // Nothing to do. | 1151 // Nothing to do. |
1145 __ Move(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 1152 __ Move(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
1146 DCHECK_EQ(LeaveRC, i.OutputRCBit()); | 1153 DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
1147 break; | 1154 break; |
1148 case kPPC_DoubleExtractLowWord32: | 1155 case kPPC_DoubleExtractLowWord32: |
1149 __ MovDoubleLowToInt(i.OutputRegister(), i.InputDoubleRegister(0)); | 1156 __ MovDoubleLowToInt(i.OutputRegister(), i.InputDoubleRegister(0)); |
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1735 padding_size -= v8::internal::Assembler::kInstrSize; | 1742 padding_size -= v8::internal::Assembler::kInstrSize; |
1736 } | 1743 } |
1737 } | 1744 } |
1738 } | 1745 } |
1739 | 1746 |
1740 #undef __ | 1747 #undef __ |
1741 | 1748 |
1742 } // namespace compiler | 1749 } // namespace compiler |
1743 } // namespace internal | 1750 } // namespace internal |
1744 } // namespace v8 | 1751 } // namespace v8 |
OLD | NEW |