OLD | NEW |
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/osr.h" | 10 #include "src/compiler/osr.h" |
(...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
761 break; | 761 break; |
762 case kX64Sar: | 762 case kX64Sar: |
763 ASSEMBLE_SHIFT(sarq, 6); | 763 ASSEMBLE_SHIFT(sarq, 6); |
764 break; | 764 break; |
765 case kX64Ror32: | 765 case kX64Ror32: |
766 ASSEMBLE_SHIFT(rorl, 5); | 766 ASSEMBLE_SHIFT(rorl, 5); |
767 break; | 767 break; |
768 case kX64Ror: | 768 case kX64Ror: |
769 ASSEMBLE_SHIFT(rorq, 6); | 769 ASSEMBLE_SHIFT(rorq, 6); |
770 break; | 770 break; |
| 771 case kX64Lzcnt: |
| 772 if (instr->InputAt(0)->IsRegister()) { |
| 773 __ Lzcntq(i.OutputRegister(), i.InputRegister(0)); |
| 774 } else { |
| 775 __ Lzcntq(i.OutputRegister(), i.InputOperand(0)); |
| 776 } |
| 777 break; |
771 case kX64Lzcnt32: | 778 case kX64Lzcnt32: |
772 if (instr->InputAt(0)->IsRegister()) { | 779 if (instr->InputAt(0)->IsRegister()) { |
773 __ Lzcntl(i.OutputRegister(), i.InputRegister(0)); | 780 __ Lzcntl(i.OutputRegister(), i.InputRegister(0)); |
774 } else { | 781 } else { |
775 __ Lzcntl(i.OutputRegister(), i.InputOperand(0)); | 782 __ Lzcntl(i.OutputRegister(), i.InputOperand(0)); |
776 } | 783 } |
777 break; | 784 break; |
778 case kX64Tzcnt32: | 785 case kX64Tzcnt32: |
779 if (instr->InputAt(0)->IsRegister()) { | 786 if (instr->InputAt(0)->IsRegister()) { |
780 __ Tzcntl(i.OutputRegister(), i.InputRegister(0)); | 787 __ Tzcntl(i.OutputRegister(), i.InputRegister(0)); |
(...skipping 1057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1838 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 1845 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
1839 __ Nop(padding_size); | 1846 __ Nop(padding_size); |
1840 } | 1847 } |
1841 } | 1848 } |
1842 | 1849 |
1843 #undef __ | 1850 #undef __ |
1844 | 1851 |
1845 } // namespace compiler | 1852 } // namespace compiler |
1846 } // namespace internal | 1853 } // namespace internal |
1847 } // namespace v8 | 1854 } // namespace v8 |
OLD | NEW |