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

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: Use ByteReverse in simulator Created 4 years, 5 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 1756 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698