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 #include "src/compiler/code-generator-impl.h" | 6 #include "src/compiler/code-generator-impl.h" |
7 #include "src/compiler/gap-resolver.h" | 7 #include "src/compiler/gap-resolver.h" |
8 #include "src/compiler/node-matchers.h" | 8 #include "src/compiler/node-matchers.h" |
9 #include "src/compiler/osr.h" | 9 #include "src/compiler/osr.h" |
10 #include "src/mips/macro-assembler-mips.h" | 10 #include "src/mips/macro-assembler-mips.h" |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
571 break; | 571 break; |
572 case kMips64Or: | 572 case kMips64Or: |
573 __ Or(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 573 __ Or(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
574 break; | 574 break; |
575 case kMips64Xor: | 575 case kMips64Xor: |
576 __ Xor(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 576 __ Xor(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
577 break; | 577 break; |
578 case kMips64Clz: | 578 case kMips64Clz: |
579 __ Clz(i.OutputRegister(), i.InputRegister(0)); | 579 __ Clz(i.OutputRegister(), i.InputRegister(0)); |
580 break; | 580 break; |
| 581 case kMips64Dclz: |
| 582 __ dclz(i.OutputRegister(), i.InputRegister(0)); |
| 583 break; |
581 case kMips64Shl: | 584 case kMips64Shl: |
582 if (instr->InputAt(1)->IsRegister()) { | 585 if (instr->InputAt(1)->IsRegister()) { |
583 __ sllv(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1)); | 586 __ sllv(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1)); |
584 } else { | 587 } else { |
585 int64_t imm = i.InputOperand(1).immediate(); | 588 int64_t imm = i.InputOperand(1).immediate(); |
586 __ sll(i.OutputRegister(), i.InputRegister(0), | 589 __ sll(i.OutputRegister(), i.InputRegister(0), |
587 static_cast<uint16_t>(imm)); | 590 static_cast<uint16_t>(imm)); |
588 } | 591 } |
589 break; | 592 break; |
590 case kMips64Shr: | 593 case kMips64Shr: |
(...skipping 1013 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1604 padding_size -= v8::internal::Assembler::kInstrSize; | 1607 padding_size -= v8::internal::Assembler::kInstrSize; |
1605 } | 1608 } |
1606 } | 1609 } |
1607 } | 1610 } |
1608 | 1611 |
1609 #undef __ | 1612 #undef __ |
1610 | 1613 |
1611 } // namespace compiler | 1614 } // namespace compiler |
1612 } // namespace internal | 1615 } // namespace internal |
1613 } // namespace v8 | 1616 } // namespace v8 |
OLD | NEW |