| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/arm64/macro-assembler-arm64.h" | 7 #include "src/arm64/macro-assembler-arm64.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 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 551 break; | 551 break; |
| 552 } | 552 } |
| 553 case kArm64Umod32: { | 553 case kArm64Umod32: { |
| 554 UseScratchRegisterScope scope(masm()); | 554 UseScratchRegisterScope scope(masm()); |
| 555 Register temp = scope.AcquireW(); | 555 Register temp = scope.AcquireW(); |
| 556 __ Udiv(temp, i.InputRegister32(0), i.InputRegister32(1)); | 556 __ Udiv(temp, i.InputRegister32(0), i.InputRegister32(1)); |
| 557 __ Msub(i.OutputRegister32(), temp, i.InputRegister32(1), | 557 __ Msub(i.OutputRegister32(), temp, i.InputRegister32(1), |
| 558 i.InputRegister32(0)); | 558 i.InputRegister32(0)); |
| 559 break; | 559 break; |
| 560 } | 560 } |
| 561 // TODO(dcarney): use mvn instr?? | |
| 562 case kArm64Not: | 561 case kArm64Not: |
| 563 __ Orn(i.OutputRegister(), xzr, i.InputOperand(0)); | 562 __ Mvn(i.OutputRegister(), i.InputOperand(0)); |
| 564 break; | 563 break; |
| 565 case kArm64Not32: | 564 case kArm64Not32: |
| 566 __ Orn(i.OutputRegister32(), wzr, i.InputOperand32(0)); | 565 __ Mvn(i.OutputRegister32(), i.InputOperand32(0)); |
| 567 break; | 566 break; |
| 568 case kArm64Neg: | 567 case kArm64Neg: |
| 569 __ Neg(i.OutputRegister(), i.InputOperand(0)); | 568 __ Neg(i.OutputRegister(), i.InputOperand(0)); |
| 570 break; | 569 break; |
| 571 case kArm64Neg32: | 570 case kArm64Neg32: |
| 572 __ Neg(i.OutputRegister32(), i.InputOperand32(0)); | 571 __ Neg(i.OutputRegister32(), i.InputOperand32(0)); |
| 573 break; | 572 break; |
| 574 case kArm64Or: | 573 case kArm64Or: |
| 575 __ Orr(i.OutputRegister(), i.InputRegister(0), i.InputOperand2_64(1)); | 574 __ Orr(i.OutputRegister(), i.InputRegister(0), i.InputOperand2_64(1)); |
| 576 break; | 575 break; |
| (...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1323 } | 1322 } |
| 1324 } | 1323 } |
| 1325 MarkLazyDeoptSite(); | 1324 MarkLazyDeoptSite(); |
| 1326 } | 1325 } |
| 1327 | 1326 |
| 1328 #undef __ | 1327 #undef __ |
| 1329 | 1328 |
| 1330 } // namespace compiler | 1329 } // namespace compiler |
| 1331 } // namespace internal | 1330 } // namespace internal |
| 1332 } // namespace v8 | 1331 } // namespace v8 |
| OLD | NEW |