Chromium Code Reviews

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

Issue 1040603002: [x64] Introduce BMI instructions. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: clear TODOs of MacroAssembler::Lzcntl Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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/scopes.h" 10 #include "src/scopes.h"
(...skipping 688 matching lines...)
699 ASSEMBLE_SHIFT(sarq, 6); 699 ASSEMBLE_SHIFT(sarq, 6);
700 break; 700 break;
701 case kX64Ror32: 701 case kX64Ror32:
702 ASSEMBLE_SHIFT(rorl, 5); 702 ASSEMBLE_SHIFT(rorl, 5);
703 break; 703 break;
704 case kX64Ror: 704 case kX64Ror:
705 ASSEMBLE_SHIFT(rorq, 6); 705 ASSEMBLE_SHIFT(rorq, 6);
706 break; 706 break;
707 case kX64Lzcnt32: 707 case kX64Lzcnt32:
708 if (instr->InputAt(0)->IsRegister()) { 708 if (instr->InputAt(0)->IsRegister()) {
709 __ Lzcntl(i.OutputRegister(), i.InputRegister(0)); 709 __ lzcntl(i.OutputRegister(), i.InputRegister(0));
Benedikt Meurer 2015/04/08 05:45:41 Keep the macro assembler version here, because we
710 } else { 710 } else {
711 __ Lzcntl(i.OutputRegister(), i.InputOperand(0)); 711 __ lzcntl(i.OutputRegister(), i.InputOperand(0));
Benedikt Meurer 2015/04/08 05:45:41 Same here.
712 } 712 }
713 break; 713 break;
714 case kSSEFloat32Cmp: 714 case kSSEFloat32Cmp:
715 ASSEMBLE_SSE_BINOP(ucomiss); 715 ASSEMBLE_SSE_BINOP(ucomiss);
716 break; 716 break;
717 case kSSEFloat32Add: 717 case kSSEFloat32Add:
718 ASSEMBLE_SSE_BINOP(addss); 718 ASSEMBLE_SSE_BINOP(addss);
719 break; 719 break;
720 case kSSEFloat32Sub: 720 case kSSEFloat32Sub:
721 ASSEMBLE_SSE_BINOP(subss); 721 ASSEMBLE_SSE_BINOP(subss);
(...skipping 838 matching lines...)
1560 } 1560 }
1561 } 1561 }
1562 MarkLazyDeoptSite(); 1562 MarkLazyDeoptSite();
1563 } 1563 }
1564 1564
1565 #undef __ 1565 #undef __
1566 1566
1567 } // namespace internal 1567 } // namespace internal
1568 } // namespace compiler 1568 } // namespace compiler
1569 } // namespace v8 1569 } // namespace v8
OLDNEW
« no previous file with comments | « src/base/cpu.cc ('k') | src/flag-definitions.h » ('j') | src/x64/lithium-codegen-x64.cc » ('J')

Powered by Google App Engine