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

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

Issue 595963002: Extend JSBuiltinReducer to cover Math.sqrt as well. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comment by Benedikt. Created 6 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | src/compiler/arm/instruction-codes-arm.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/arm/macro-assembler-arm.h" 7 #include "src/arm/macro-assembler-arm.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 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 __ CallCFunction(ExternalReference::mod_two_doubles_operation(isolate()), 316 __ CallCFunction(ExternalReference::mod_two_doubles_operation(isolate()),
317 0, 2); 317 0, 2);
318 // Move the result in the double result register. 318 // Move the result in the double result register.
319 __ MovFromFloatResult(i.OutputDoubleRegister()); 319 __ MovFromFloatResult(i.OutputDoubleRegister());
320 DCHECK_EQ(LeaveCC, i.OutputSBit()); 320 DCHECK_EQ(LeaveCC, i.OutputSBit());
321 break; 321 break;
322 } 322 }
323 case kArmVnegF64: 323 case kArmVnegF64:
324 __ vneg(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); 324 __ vneg(i.OutputDoubleRegister(), i.InputDoubleRegister(0));
325 break; 325 break;
326 case kArmVsqrtF64:
327 __ vsqrt(i.OutputDoubleRegister(), i.InputDoubleRegister(0));
328 break;
326 case kArmVcvtF64S32: { 329 case kArmVcvtF64S32: {
327 SwVfpRegister scratch = kScratchDoubleReg.low(); 330 SwVfpRegister scratch = kScratchDoubleReg.low();
328 __ vmov(scratch, i.InputRegister(0)); 331 __ vmov(scratch, i.InputRegister(0));
329 __ vcvt_f64_s32(i.OutputDoubleRegister(), scratch); 332 __ vcvt_f64_s32(i.OutputDoubleRegister(), scratch);
330 DCHECK_EQ(LeaveCC, i.OutputSBit()); 333 DCHECK_EQ(LeaveCC, i.OutputSBit());
331 break; 334 break;
332 } 335 }
333 case kArmVcvtF64U32: { 336 case kArmVcvtF64U32: {
334 SwVfpRegister scratch = kScratchDoubleReg.low(); 337 SwVfpRegister scratch = kScratchDoubleReg.low();
335 __ vmov(scratch, i.InputRegister(0)); 338 __ vmov(scratch, i.InputRegister(0));
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 } 867 }
865 } 868 }
866 MarkLazyDeoptSite(); 869 MarkLazyDeoptSite();
867 } 870 }
868 871
869 #undef __ 872 #undef __
870 873
871 } // namespace compiler 874 } // namespace compiler
872 } // namespace internal 875 } // namespace internal
873 } // namespace v8 876 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/arm/instruction-codes-arm.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698