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/mips/macro-assembler-mips.h" | 9 #include "src/mips/macro-assembler-mips.h" |
10 #include "src/scopes.h" | 10 #include "src/scopes.h" |
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 break; | 489 break; |
490 case kMipsAnd: | 490 case kMipsAnd: |
491 __ And(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 491 __ And(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
492 break; | 492 break; |
493 case kMipsOr: | 493 case kMipsOr: |
494 __ Or(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 494 __ Or(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
495 break; | 495 break; |
496 case kMipsXor: | 496 case kMipsXor: |
497 __ Xor(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 497 __ Xor(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
498 break; | 498 break; |
| 499 case kMipsClz: |
| 500 __ Clz(i.OutputRegister(), i.InputRegister(0)); |
| 501 break; |
499 case kMipsShl: | 502 case kMipsShl: |
500 if (instr->InputAt(1)->IsRegister()) { | 503 if (instr->InputAt(1)->IsRegister()) { |
501 __ sllv(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1)); | 504 __ sllv(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1)); |
502 } else { | 505 } else { |
503 int32_t imm = i.InputOperand(1).immediate(); | 506 int32_t imm = i.InputOperand(1).immediate(); |
504 __ sll(i.OutputRegister(), i.InputRegister(0), imm); | 507 __ sll(i.OutputRegister(), i.InputRegister(0), imm); |
505 } | 508 } |
506 break; | 509 break; |
507 case kMipsShr: | 510 case kMipsShr: |
508 if (instr->InputAt(1)->IsRegister()) { | 511 if (instr->InputAt(1)->IsRegister()) { |
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1217 } | 1220 } |
1218 } | 1221 } |
1219 MarkLazyDeoptSite(); | 1222 MarkLazyDeoptSite(); |
1220 } | 1223 } |
1221 | 1224 |
1222 #undef __ | 1225 #undef __ |
1223 | 1226 |
1224 } // namespace compiler | 1227 } // namespace compiler |
1225 } // namespace internal | 1228 } // namespace internal |
1226 } // namespace v8 | 1229 } // namespace v8 |
OLD | NEW |