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

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: Fix according to titzer Created 4 years, 4 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 1825 matching lines...) Expand 10 before | Expand all | Expand 10 after
1836 break; 1836 break;
1837 case kS390_LoadWordS16: 1837 case kS390_LoadWordS16:
1838 ASSEMBLE_LOAD_INTEGER(LoadHalfWordP); 1838 ASSEMBLE_LOAD_INTEGER(LoadHalfWordP);
1839 break; 1839 break;
1840 case kS390_LoadWordU32: 1840 case kS390_LoadWordU32:
1841 ASSEMBLE_LOAD_INTEGER(LoadlW); 1841 ASSEMBLE_LOAD_INTEGER(LoadlW);
1842 break; 1842 break;
1843 case kS390_LoadWordS32: 1843 case kS390_LoadWordS32:
1844 ASSEMBLE_LOAD_INTEGER(LoadW); 1844 ASSEMBLE_LOAD_INTEGER(LoadW);
1845 break; 1845 break;
1846 case kS390_LoadReverse16:
1847 ASSEMBLE_LOAD_INTEGER(lrvh);
1848 break;
1849 case kS390_LoadReverse32:
1850 ASSEMBLE_LOAD_INTEGER(lrv);
1851 break;
1852 case kS390_LoadReverse64:
1853 ASSEMBLE_LOAD_INTEGER(lrvg);
1854 break;
1855 case kS390_LoadReverse16RR:
1856 __ lrvr(i.OutputRegister(), i.InputRegister(0));
1857 __ rll(i.OutputRegister(), i.OutputRegister(), Operand(16));
1858 break;
1859 case kS390_LoadReverse32RR:
1860 __ lrvr(i.OutputRegister(), i.InputRegister(0));
1861 break;
1862 case kS390_LoadReverse64RR:
1863 __ lrvgr(i.OutputRegister(), i.InputRegister(0));
1864 break;
1846 #if V8_TARGET_ARCH_S390X 1865 #if V8_TARGET_ARCH_S390X
1847 case kS390_LoadWord64: 1866 case kS390_LoadWord64:
1848 ASSEMBLE_LOAD_INTEGER(lg); 1867 ASSEMBLE_LOAD_INTEGER(lg);
1849 break; 1868 break;
1850 #endif 1869 #endif
1851 case kS390_LoadFloat32: 1870 case kS390_LoadFloat32:
1852 ASSEMBLE_LOAD_FLOAT(LoadFloat32); 1871 ASSEMBLE_LOAD_FLOAT(LoadFloat32);
1853 break; 1872 break;
1854 case kS390_LoadDouble: 1873 case kS390_LoadDouble:
1855 ASSEMBLE_LOAD_FLOAT(LoadDouble); 1874 ASSEMBLE_LOAD_FLOAT(LoadDouble);
1856 break; 1875 break;
1857 case kS390_StoreWord8: 1876 case kS390_StoreWord8:
1858 ASSEMBLE_STORE_INTEGER(StoreByte); 1877 ASSEMBLE_STORE_INTEGER(StoreByte);
1859 break; 1878 break;
1860 case kS390_StoreWord16: 1879 case kS390_StoreWord16:
1861 ASSEMBLE_STORE_INTEGER(StoreHalfWord); 1880 ASSEMBLE_STORE_INTEGER(StoreHalfWord);
1862 break; 1881 break;
1863 case kS390_StoreWord32: 1882 case kS390_StoreWord32:
1864 ASSEMBLE_STORE_INTEGER(StoreW); 1883 ASSEMBLE_STORE_INTEGER(StoreW);
1865 break; 1884 break;
1866 #if V8_TARGET_ARCH_S390X 1885 #if V8_TARGET_ARCH_S390X
1867 case kS390_StoreWord64: 1886 case kS390_StoreWord64:
1868 ASSEMBLE_STORE_INTEGER(StoreP); 1887 ASSEMBLE_STORE_INTEGER(StoreP);
1869 break; 1888 break;
1870 #endif 1889 #endif
1890 case kS390_StoreReverse16:
1891 ASSEMBLE_STORE_INTEGER(strvh);
1892 break;
1893 case kS390_StoreReverse32:
1894 ASSEMBLE_STORE_INTEGER(strv);
1895 break;
1896 case kS390_StoreReverse64:
1897 ASSEMBLE_STORE_INTEGER(strvg);
1898 break;
1871 case kS390_StoreFloat32: 1899 case kS390_StoreFloat32:
1872 ASSEMBLE_STORE_FLOAT32(); 1900 ASSEMBLE_STORE_FLOAT32();
1873 break; 1901 break;
1874 case kS390_StoreDouble: 1902 case kS390_StoreDouble:
1875 ASSEMBLE_STORE_DOUBLE(); 1903 ASSEMBLE_STORE_DOUBLE();
1876 break; 1904 break;
1877 case kCheckedLoadInt8: 1905 case kCheckedLoadInt8:
1878 ASSEMBLE_CHECKED_LOAD_INTEGER(LoadlB); 1906 ASSEMBLE_CHECKED_LOAD_INTEGER(LoadlB);
1879 #if V8_TARGET_ARCH_S390X 1907 #if V8_TARGET_ARCH_S390X
1880 __ lgbr(i.OutputRegister(), i.OutputRegister()); 1908 __ lgbr(i.OutputRegister(), i.OutputRegister());
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
2430 padding_size -= 2; 2458 padding_size -= 2;
2431 } 2459 }
2432 } 2460 }
2433 } 2461 }
2434 2462
2435 #undef __ 2463 #undef __
2436 2464
2437 } // namespace compiler 2465 } // namespace compiler
2438 } // namespace internal 2466 } // namespace internal
2439 } // namespace v8 2467 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/ppc/instruction-selector-ppc.cc ('k') | src/compiler/s390/instruction-codes-s390.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698