Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: src/compiler/s390/code-generator-s390.cc

Issue 2045943002: [compiler] [wasm] Introduce Word32/64ReverseBytes as TF Optional Opcode (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: update on store and some optimization on load Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698