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/compilation-info.h" | 6 #include "src/compilation-info.h" |
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 1584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1595 case kAtomicExchangeInt16: | 1595 case kAtomicExchangeInt16: |
1596 case kAtomicExchangeUint16: | 1596 case kAtomicExchangeUint16: |
1597 case kAtomicExchangeWord32: | 1597 case kAtomicExchangeWord32: |
1598 case kAtomicCompareExchangeInt8: | 1598 case kAtomicCompareExchangeInt8: |
1599 case kAtomicCompareExchangeUint8: | 1599 case kAtomicCompareExchangeUint8: |
1600 case kAtomicCompareExchangeInt16: | 1600 case kAtomicCompareExchangeInt16: |
1601 case kAtomicCompareExchangeUint16: | 1601 case kAtomicCompareExchangeUint16: |
1602 case kAtomicCompareExchangeWord32: | 1602 case kAtomicCompareExchangeWord32: |
1603 UNREACHABLE(); | 1603 UNREACHABLE(); |
1604 break; | 1604 break; |
| 1605 case kMipsSimd128Zero: { |
| 1606 CpuFeatureScope msa_scope(masm(), MIPS_SIMD); |
| 1607 __ xor_v(i.OutputSimd128Register(), i.OutputSimd128Register(), |
| 1608 i.OutputSimd128Register()); |
| 1609 break; |
| 1610 } |
| 1611 case kMipsInt32x4Splat: { |
| 1612 CpuFeatureScope msa_scope(masm(), MIPS_SIMD); |
| 1613 __ fill_w(i.OutputSimd128Register(), i.InputRegister(0)); |
| 1614 break; |
| 1615 } |
| 1616 case kMipsInt32x4ExtractLane: { |
| 1617 CpuFeatureScope msa_scope(masm(), MIPS_SIMD); |
| 1618 __ copy_s_w(i.OutputRegister(), i.InputSimd128Register(0), |
| 1619 i.InputInt8(1)); |
| 1620 break; |
| 1621 } |
| 1622 case kMipsInt32x4ReplaceLane: { |
| 1623 CpuFeatureScope msa_scope(masm(), MIPS_SIMD); |
| 1624 Simd128Register src = i.InputSimd128Register(0); |
| 1625 Simd128Register dst = i.OutputSimd128Register(); |
| 1626 if (!src.is(dst)) { |
| 1627 __ move_v(dst, src); |
| 1628 } |
| 1629 __ insert_w(dst, i.InputInt8(1), i.InputRegister(2)); |
| 1630 break; |
| 1631 } |
| 1632 case kMipsInt32x4Add: { |
| 1633 CpuFeatureScope msa_scope(masm(), MIPS_SIMD); |
| 1634 __ addv_w(i.OutputSimd128Register(), i.InputSimd128Register(0), |
| 1635 i.InputSimd128Register(1)); |
| 1636 break; |
| 1637 } |
| 1638 case kMipsInt32x4Sub: { |
| 1639 CpuFeatureScope msa_scope(masm(), MIPS_SIMD); |
| 1640 __ subv_w(i.OutputSimd128Register(), i.InputSimd128Register(0), |
| 1641 i.InputSimd128Register(1)); |
| 1642 break; |
| 1643 } |
1605 } | 1644 } |
1606 return kSuccess; | 1645 return kSuccess; |
1607 } // NOLINT(readability/fn_size) | 1646 } // NOLINT(readability/fn_size) |
1608 | 1647 |
1609 | 1648 |
1610 #define UNSUPPORTED_COND(opcode, condition) \ | 1649 #define UNSUPPORTED_COND(opcode, condition) \ |
1611 OFStream out(stdout); \ | 1650 OFStream out(stdout); \ |
1612 out << "Unsupported " << #opcode << " condition: \"" << condition << "\""; \ | 1651 out << "Unsupported " << #opcode << " condition: \"" << condition << "\""; \ |
1613 UNIMPLEMENTED(); | 1652 UNIMPLEMENTED(); |
1614 | 1653 |
(...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2388 padding_size -= v8::internal::Assembler::kInstrSize; | 2427 padding_size -= v8::internal::Assembler::kInstrSize; |
2389 } | 2428 } |
2390 } | 2429 } |
2391 } | 2430 } |
2392 | 2431 |
2393 #undef __ | 2432 #undef __ |
2394 | 2433 |
2395 } // namespace compiler | 2434 } // namespace compiler |
2396 } // namespace internal | 2435 } // namespace internal |
2397 } // namespace v8 | 2436 } // namespace v8 |
OLD | NEW |