OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 1756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1767 break; | 1767 break; |
1768 case kS390_LoadWordS16: | 1768 case kS390_LoadWordS16: |
1769 ASSEMBLE_LOAD_INTEGER(LoadHalfWordP); | 1769 ASSEMBLE_LOAD_INTEGER(LoadHalfWordP); |
1770 break; | 1770 break; |
1771 case kS390_LoadWordU32: | 1771 case kS390_LoadWordU32: |
1772 ASSEMBLE_LOAD_INTEGER(LoadlW); | 1772 ASSEMBLE_LOAD_INTEGER(LoadlW); |
1773 break; | 1773 break; |
1774 case kS390_LoadWordS32: | 1774 case kS390_LoadWordS32: |
1775 ASSEMBLE_LOAD_INTEGER(LoadW); | 1775 ASSEMBLE_LOAD_INTEGER(LoadW); |
1776 break; | 1776 break; |
| 1777 case kS390_LoadReverse16: |
| 1778 ASSEMBLE_LOAD_INTEGER(lrvh); |
| 1779 break; |
| 1780 case kS390_LoadReverse32: |
| 1781 ASSEMBLE_LOAD_INTEGER(lrv); |
| 1782 break; |
| 1783 case kS390_LoadReverse64: |
| 1784 ASSEMBLE_LOAD_INTEGER(lrvg); |
| 1785 break; |
| 1786 case kS390_LoadReverse16RR: |
| 1787 __ lrvr(i.OutputRegister(), i.InputRegister(0)); |
| 1788 __ rll(i.OutputRegister(), i.OutputRegister(), Operand(16)); |
| 1789 break; |
| 1790 case kS390_LoadReverse32RR: |
| 1791 __ lrvr(i.OutputRegister(), i.InputRegister(0)); |
| 1792 break; |
| 1793 case kS390_LoadReverse64RR: |
| 1794 __ lrvgr(i.OutputRegister(), i.InputRegister(0)); |
| 1795 break; |
1777 #if V8_TARGET_ARCH_S390X | 1796 #if V8_TARGET_ARCH_S390X |
1778 case kS390_LoadWord64: | 1797 case kS390_LoadWord64: |
1779 ASSEMBLE_LOAD_INTEGER(lg); | 1798 ASSEMBLE_LOAD_INTEGER(lg); |
1780 break; | 1799 break; |
1781 #endif | 1800 #endif |
1782 case kS390_LoadFloat32: | 1801 case kS390_LoadFloat32: |
1783 ASSEMBLE_LOAD_FLOAT(LoadFloat32); | 1802 ASSEMBLE_LOAD_FLOAT(LoadFloat32); |
1784 break; | 1803 break; |
1785 case kS390_LoadDouble: | 1804 case kS390_LoadDouble: |
1786 ASSEMBLE_LOAD_FLOAT(LoadDouble); | 1805 ASSEMBLE_LOAD_FLOAT(LoadDouble); |
1787 break; | 1806 break; |
1788 case kS390_StoreWord8: | 1807 case kS390_StoreWord8: |
1789 ASSEMBLE_STORE_INTEGER(StoreByte); | 1808 ASSEMBLE_STORE_INTEGER(StoreByte); |
1790 break; | 1809 break; |
1791 case kS390_StoreWord16: | 1810 case kS390_StoreWord16: |
1792 ASSEMBLE_STORE_INTEGER(StoreHalfWord); | 1811 ASSEMBLE_STORE_INTEGER(StoreHalfWord); |
1793 break; | 1812 break; |
1794 case kS390_StoreWord32: | 1813 case kS390_StoreWord32: |
1795 ASSEMBLE_STORE_INTEGER(StoreW); | 1814 ASSEMBLE_STORE_INTEGER(StoreW); |
1796 break; | 1815 break; |
1797 #if V8_TARGET_ARCH_S390X | 1816 #if V8_TARGET_ARCH_S390X |
1798 case kS390_StoreWord64: | 1817 case kS390_StoreWord64: |
1799 ASSEMBLE_STORE_INTEGER(StoreP); | 1818 ASSEMBLE_STORE_INTEGER(StoreP); |
1800 break; | 1819 break; |
1801 #endif | 1820 #endif |
| 1821 case kS390_StoreReverse16: |
| 1822 ASSEMBLE_STORE_INTEGER(strvh); |
| 1823 break; |
| 1824 case kS390_StoreReverse32: |
| 1825 ASSEMBLE_STORE_INTEGER(strv); |
| 1826 break; |
| 1827 case kS390_StoreReverse64: |
| 1828 ASSEMBLE_STORE_INTEGER(strvg); |
| 1829 break; |
1802 case kS390_StoreFloat32: | 1830 case kS390_StoreFloat32: |
1803 ASSEMBLE_STORE_FLOAT32(); | 1831 ASSEMBLE_STORE_FLOAT32(); |
1804 break; | 1832 break; |
1805 case kS390_StoreDouble: | 1833 case kS390_StoreDouble: |
1806 ASSEMBLE_STORE_DOUBLE(); | 1834 ASSEMBLE_STORE_DOUBLE(); |
1807 break; | 1835 break; |
1808 case kCheckedLoadInt8: | 1836 case kCheckedLoadInt8: |
1809 ASSEMBLE_CHECKED_LOAD_INTEGER(LoadlB); | 1837 ASSEMBLE_CHECKED_LOAD_INTEGER(LoadlB); |
1810 #if V8_TARGET_ARCH_S390X | 1838 #if V8_TARGET_ARCH_S390X |
1811 __ lgbr(i.OutputRegister(), i.OutputRegister()); | 1839 __ lgbr(i.OutputRegister(), i.OutputRegister()); |
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2361 padding_size -= 2; | 2389 padding_size -= 2; |
2362 } | 2390 } |
2363 } | 2391 } |
2364 } | 2392 } |
2365 | 2393 |
2366 #undef __ | 2394 #undef __ |
2367 | 2395 |
2368 } // namespace compiler | 2396 } // namespace compiler |
2369 } // namespace internal | 2397 } // namespace internal |
2370 } // namespace v8 | 2398 } // namespace v8 |
OLD | NEW |