Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Side by Side Diff: src/compiler/ppc/code-generator-ppc.cc

Issue 1680833002: PPC: [turbofan] Add RoundUint32ToFloat32 operator to Turbofan. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/compiler/ppc/instruction-codes-ppc.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « no previous file | src/compiler/ppc/instruction-codes-ppc.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698