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 1566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1577 break; | 1577 break; |
1578 case kS390_LoadWordS16: | 1578 case kS390_LoadWordS16: |
1579 ASSEMBLE_LOAD_INTEGER(LoadHalfWordP); | 1579 ASSEMBLE_LOAD_INTEGER(LoadHalfWordP); |
1580 break; | 1580 break; |
1581 case kS390_LoadWordU32: | 1581 case kS390_LoadWordU32: |
1582 ASSEMBLE_LOAD_INTEGER(LoadlW); | 1582 ASSEMBLE_LOAD_INTEGER(LoadlW); |
1583 break; | 1583 break; |
1584 case kS390_LoadWordS32: | 1584 case kS390_LoadWordS32: |
1585 ASSEMBLE_LOAD_INTEGER(LoadW); | 1585 ASSEMBLE_LOAD_INTEGER(LoadW); |
1586 break; | 1586 break; |
| 1587 case kS390_LoadReverse16: |
| 1588 ASSEMBLE_LOAD_INTEGER(lrvh); |
| 1589 break; |
| 1590 case kS390_LoadReverse32: |
| 1591 ASSEMBLE_LOAD_INTEGER(lrv); |
| 1592 break; |
| 1593 case kS390_LoadReverse64: |
| 1594 ASSEMBLE_LOAD_INTEGER(lrvg); |
| 1595 break; |
| 1596 case kS390_LoadReverse16RR: |
| 1597 __ lrvr(i.OutputRegister(), i.InputRegister(0)); |
| 1598 __ rll(i.OutputRegister(), i.OutputRegister(), Operand(16)); |
| 1599 break; |
| 1600 case kS390_LoadReverse32RR: |
| 1601 __ lrvr(i.OutputRegister(), i.InputRegister(0)); |
| 1602 break; |
| 1603 case kS390_LoadReverse64RR: |
| 1604 __ lrvgr(i.OutputRegister(), i.InputRegister(0)); |
| 1605 break; |
1587 #if V8_TARGET_ARCH_S390X | 1606 #if V8_TARGET_ARCH_S390X |
1588 case kS390_LoadWord64: | 1607 case kS390_LoadWord64: |
1589 ASSEMBLE_LOAD_INTEGER(lg); | 1608 ASSEMBLE_LOAD_INTEGER(lg); |
1590 break; | 1609 break; |
1591 #endif | 1610 #endif |
1592 case kS390_LoadFloat32: | 1611 case kS390_LoadFloat32: |
1593 ASSEMBLE_LOAD_FLOAT(LoadFloat32); | 1612 ASSEMBLE_LOAD_FLOAT(LoadFloat32); |
1594 break; | 1613 break; |
1595 case kS390_LoadDouble: | 1614 case kS390_LoadDouble: |
1596 ASSEMBLE_LOAD_FLOAT(LoadDouble); | 1615 ASSEMBLE_LOAD_FLOAT(LoadDouble); |
1597 break; | 1616 break; |
1598 case kS390_StoreWord8: | 1617 case kS390_StoreWord8: |
1599 ASSEMBLE_STORE_INTEGER(StoreByte); | 1618 ASSEMBLE_STORE_INTEGER(StoreByte); |
1600 break; | 1619 break; |
1601 case kS390_StoreWord16: | 1620 case kS390_StoreWord16: |
1602 ASSEMBLE_STORE_INTEGER(StoreHalfWord); | 1621 ASSEMBLE_STORE_INTEGER(StoreHalfWord); |
1603 break; | 1622 break; |
1604 case kS390_StoreWord32: | 1623 case kS390_StoreWord32: |
1605 ASSEMBLE_STORE_INTEGER(StoreW); | 1624 ASSEMBLE_STORE_INTEGER(StoreW); |
1606 break; | 1625 break; |
1607 #if V8_TARGET_ARCH_S390X | 1626 #if V8_TARGET_ARCH_S390X |
1608 case kS390_StoreWord64: | 1627 case kS390_StoreWord64: |
1609 ASSEMBLE_STORE_INTEGER(StoreP); | 1628 ASSEMBLE_STORE_INTEGER(StoreP); |
1610 break; | 1629 break; |
1611 #endif | 1630 #endif |
| 1631 case kS390_StoreReverse16: |
| 1632 ASSEMBLE_STORE_INTEGER(strvh); |
| 1633 break; |
| 1634 case kS390_StoreReverse32: |
| 1635 ASSEMBLE_STORE_INTEGER(strv); |
| 1636 break; |
| 1637 case kS390_StoreReverse64: |
| 1638 ASSEMBLE_STORE_INTEGER(strvg); |
| 1639 break; |
1612 case kS390_StoreFloat32: | 1640 case kS390_StoreFloat32: |
1613 ASSEMBLE_STORE_FLOAT32(); | 1641 ASSEMBLE_STORE_FLOAT32(); |
1614 break; | 1642 break; |
1615 case kS390_StoreDouble: | 1643 case kS390_StoreDouble: |
1616 ASSEMBLE_STORE_DOUBLE(); | 1644 ASSEMBLE_STORE_DOUBLE(); |
1617 break; | 1645 break; |
1618 case kCheckedLoadInt8: | 1646 case kCheckedLoadInt8: |
1619 ASSEMBLE_CHECKED_LOAD_INTEGER(LoadlB); | 1647 ASSEMBLE_CHECKED_LOAD_INTEGER(LoadlB); |
1620 #if V8_TARGET_ARCH_S390X | 1648 #if V8_TARGET_ARCH_S390X |
1621 __ lgbr(i.OutputRegister(), i.OutputRegister()); | 1649 __ lgbr(i.OutputRegister(), i.OutputRegister()); |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2166 padding_size -= 2; | 2194 padding_size -= 2; |
2167 } | 2195 } |
2168 } | 2196 } |
2169 } | 2197 } |
2170 | 2198 |
2171 #undef __ | 2199 #undef __ |
2172 | 2200 |
2173 } // namespace compiler | 2201 } // namespace compiler |
2174 } // namespace internal | 2202 } // namespace internal |
2175 } // namespace v8 | 2203 } // namespace v8 |
OLD | NEW |