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/ast/scopes.h" | 7 #include "src/ast/scopes.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 699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 __ shr_cl(i.OutputOperand()); | 710 __ shr_cl(i.OutputOperand()); |
711 } | 711 } |
712 break; | 712 break; |
713 case kX87Sar: | 713 case kX87Sar: |
714 if (HasImmediateInput(instr, 1)) { | 714 if (HasImmediateInput(instr, 1)) { |
715 __ sar(i.OutputOperand(), i.InputInt5(1)); | 715 __ sar(i.OutputOperand(), i.InputInt5(1)); |
716 } else { | 716 } else { |
717 __ sar_cl(i.OutputOperand()); | 717 __ sar_cl(i.OutputOperand()); |
718 } | 718 } |
719 break; | 719 break; |
| 720 case kX87PairShl: |
| 721 if (HasImmediateInput(instr, 2)) { |
| 722 __ PairShl(i.InputRegister(1), i.InputRegister(0), i.InputInt6(2)); |
| 723 } else { |
| 724 // Shift has been loaded into CL by the register allocator. |
| 725 __ PairShl_cl(i.InputRegister(1), i.InputRegister(0)); |
| 726 } |
| 727 break; |
720 case kX87Ror: | 728 case kX87Ror: |
721 if (HasImmediateInput(instr, 1)) { | 729 if (HasImmediateInput(instr, 1)) { |
722 __ ror(i.OutputOperand(), i.InputInt5(1)); | 730 __ ror(i.OutputOperand(), i.InputInt5(1)); |
723 } else { | 731 } else { |
724 __ ror_cl(i.OutputOperand()); | 732 __ ror_cl(i.OutputOperand()); |
725 } | 733 } |
726 break; | 734 break; |
727 case kX87Lzcnt: | 735 case kX87Lzcnt: |
728 __ Lzcnt(i.OutputRegister(), i.InputOperand(0)); | 736 __ Lzcnt(i.OutputRegister(), i.InputOperand(0)); |
729 break; | 737 break; |
(...skipping 1556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2286 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 2294 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
2287 __ Nop(padding_size); | 2295 __ Nop(padding_size); |
2288 } | 2296 } |
2289 } | 2297 } |
2290 | 2298 |
2291 #undef __ | 2299 #undef __ |
2292 | 2300 |
2293 } // namespace compiler | 2301 } // namespace compiler |
2294 } // namespace internal | 2302 } // namespace internal |
2295 } // namespace v8 | 2303 } // namespace v8 |
OLD | NEW |