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

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

Issue 770183002: [ia32] Introduce vex prefix version of float64 arithmetic binop (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years 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 | « src/base/cpu.cc ('k') | src/compiler/ia32/instruction-codes-ia32.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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/node-properties-inl.h" 10 #include "src/compiler/node-properties-inl.h"
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 __ cvttsd2si(i.OutputRegister(), scratch); 392 __ cvttsd2si(i.OutputRegister(), scratch);
393 __ add(i.OutputRegister(), Immediate(0x80000000)); 393 __ add(i.OutputRegister(), Immediate(0x80000000));
394 break; 394 break;
395 } 395 }
396 case kSSEInt32ToFloat64: 396 case kSSEInt32ToFloat64:
397 __ cvtsi2sd(i.OutputDoubleRegister(), i.InputOperand(0)); 397 __ cvtsi2sd(i.OutputDoubleRegister(), i.InputOperand(0));
398 break; 398 break;
399 case kSSEUint32ToFloat64: 399 case kSSEUint32ToFloat64:
400 __ LoadUint32(i.OutputDoubleRegister(), i.InputOperand(0)); 400 __ LoadUint32(i.OutputDoubleRegister(), i.InputOperand(0));
401 break; 401 break;
402 case kAVXFloat64Add: {
403 CpuFeatureScope avx_scope(masm(), AVX);
404 __ vaddsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0),
405 i.InputOperand(1));
406 break;
407 }
408 case kAVXFloat64Sub: {
409 CpuFeatureScope avx_scope(masm(), AVX);
410 __ vsubsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0),
411 i.InputOperand(1));
412 break;
413 }
414 case kAVXFloat64Mul: {
415 CpuFeatureScope avx_scope(masm(), AVX);
416 __ vmulsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0),
417 i.InputOperand(1));
418 break;
419 }
420 case kAVXFloat64Div: {
421 CpuFeatureScope avx_scope(masm(), AVX);
422 __ vdivsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0),
423 i.InputOperand(1));
424 break;
425 }
402 case kIA32Movsxbl: 426 case kIA32Movsxbl:
403 __ movsx_b(i.OutputRegister(), i.MemoryOperand()); 427 __ movsx_b(i.OutputRegister(), i.MemoryOperand());
404 break; 428 break;
405 case kIA32Movzxbl: 429 case kIA32Movzxbl:
406 __ movzx_b(i.OutputRegister(), i.MemoryOperand()); 430 __ movzx_b(i.OutputRegister(), i.MemoryOperand());
407 break; 431 break;
408 case kIA32Movb: { 432 case kIA32Movb: {
409 int index = 0; 433 int index = 0;
410 Operand operand = i.MemoryOperand(&index); 434 Operand operand = i.MemoryOperand(&index);
411 if (HasImmediateInput(instr, index)) { 435 if (HasImmediateInput(instr, index)) {
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after
1034 } 1058 }
1035 } 1059 }
1036 MarkLazyDeoptSite(); 1060 MarkLazyDeoptSite();
1037 } 1061 }
1038 1062
1039 #undef __ 1063 #undef __
1040 1064
1041 } // namespace compiler 1065 } // namespace compiler
1042 } // namespace internal 1066 } // namespace internal
1043 } // namespace v8 1067 } // namespace v8
OLDNEW
« no previous file with comments | « src/base/cpu.cc ('k') | src/compiler/ia32/instruction-codes-ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698