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

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

Issue 680833005: MIPS: Add floor, ceil, round (truncate) instructions for ia32, x64 (if SSE4.1) and add floor, ceil,… (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: supported on r6 also. Created 6 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | src/compiler/mips/instruction-codes-mips.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 #include "src/compiler/code-generator-impl.h" 6 #include "src/compiler/code-generator-impl.h"
7 #include "src/compiler/gap-resolver.h" 7 #include "src/compiler/gap-resolver.h"
8 #include "src/compiler/node-matchers.h" 8 #include "src/compiler/node-matchers.h"
9 #include "src/compiler/node-properties-inl.h" 9 #include "src/compiler/node-properties-inl.h"
10 #include "src/mips/macro-assembler-mips.h" 10 #include "src/mips/macro-assembler-mips.h"
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 __ CallCFunction(ExternalReference::mod_two_doubles_operation(isolate()), 284 __ CallCFunction(ExternalReference::mod_two_doubles_operation(isolate()),
285 0, 2); 285 0, 2);
286 // Move the result in the double result register. 286 // Move the result in the double result register.
287 __ MovFromFloatResult(i.OutputDoubleRegister()); 287 __ MovFromFloatResult(i.OutputDoubleRegister());
288 break; 288 break;
289 } 289 }
290 case kMipsSqrtD: { 290 case kMipsSqrtD: {
291 __ sqrt_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); 291 __ sqrt_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0));
292 break; 292 break;
293 } 293 }
294 case kMipsFloorD: {
295 __ floor_l_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0));
296 break;
297 }
298 case kMipsCeilD: {
299 __ ceil_l_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0));
300 break;
301 }
302 case kMipsRoundTruncateD: {
303 __ round_l_d(i.OutputDoubleRegister(), i.InputDoubleRegister(0));
304 break;
305 }
294 case kMipsCvtSD: { 306 case kMipsCvtSD: {
295 __ cvt_s_d(i.OutputSingleRegister(), i.InputDoubleRegister(0)); 307 __ cvt_s_d(i.OutputSingleRegister(), i.InputDoubleRegister(0));
296 break; 308 break;
297 } 309 }
298 case kMipsCvtDS: { 310 case kMipsCvtDS: {
299 __ cvt_d_s(i.OutputDoubleRegister(), i.InputSingleRegister(0)); 311 __ cvt_d_s(i.OutputDoubleRegister(), i.InputSingleRegister(0));
300 break; 312 break;
301 } 313 }
302 case kMipsCvtDW: { 314 case kMipsCvtDW: {
303 FPURegister scratch = kScratchDoubleReg; 315 FPURegister scratch = kScratchDoubleReg;
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 } 971 }
960 } 972 }
961 MarkLazyDeoptSite(); 973 MarkLazyDeoptSite();
962 } 974 }
963 975
964 #undef __ 976 #undef __
965 977
966 } // namespace compiler 978 } // namespace compiler
967 } // namespace internal 979 } // namespace internal
968 } // namespace v8 980 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/mips/instruction-codes-mips.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698