| 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 |