Mercurial > hg > graal-compiler
comparison src/cpu/ppc/vm/assembler_ppc.hpp @ 20418:b384ba33c9a0
8050942: PPC64: implement template interpreter for ppc64le
Reviewed-by: kvn, goetz
Contributed-by: asmundak@google.com
author | kvn |
---|---|
date | Thu, 17 Jul 2014 15:40:04 -0700 |
parents | 56e7f5560e60 |
children | f6bde7889409 |
comparison
equal
deleted
inserted
replaced
20416:99f0593d8c9f | 20418:b384ba33c9a0 |
---|---|
296 | 296 |
297 | 297 |
298 LWZ_OPCODE = (32u << OPCODE_SHIFT), | 298 LWZ_OPCODE = (32u << OPCODE_SHIFT), |
299 LWZX_OPCODE = (31u << OPCODE_SHIFT | 23u << 1), | 299 LWZX_OPCODE = (31u << OPCODE_SHIFT | 23u << 1), |
300 LWZU_OPCODE = (33u << OPCODE_SHIFT), | 300 LWZU_OPCODE = (33u << OPCODE_SHIFT), |
301 LWBRX_OPCODE = (31u << OPCODE_SHIFT | 534 << 1), | |
301 | 302 |
302 LHA_OPCODE = (42u << OPCODE_SHIFT), | 303 LHA_OPCODE = (42u << OPCODE_SHIFT), |
303 LHAX_OPCODE = (31u << OPCODE_SHIFT | 343u << 1), | 304 LHAX_OPCODE = (31u << OPCODE_SHIFT | 343u << 1), |
304 LHAU_OPCODE = (43u << OPCODE_SHIFT), | 305 LHAU_OPCODE = (43u << OPCODE_SHIFT), |
305 | 306 |
306 LHZ_OPCODE = (40u << OPCODE_SHIFT), | 307 LHZ_OPCODE = (40u << OPCODE_SHIFT), |
307 LHZX_OPCODE = (31u << OPCODE_SHIFT | 279u << 1), | 308 LHZX_OPCODE = (31u << OPCODE_SHIFT | 279u << 1), |
308 LHZU_OPCODE = (41u << OPCODE_SHIFT), | 309 LHZU_OPCODE = (41u << OPCODE_SHIFT), |
310 LHBRX_OPCODE = (31u << OPCODE_SHIFT | 790 << 1), | |
309 | 311 |
310 LBZ_OPCODE = (34u << OPCODE_SHIFT), | 312 LBZ_OPCODE = (34u << OPCODE_SHIFT), |
311 LBZX_OPCODE = (31u << OPCODE_SHIFT | 87u << 1), | 313 LBZX_OPCODE = (31u << OPCODE_SHIFT | 87u << 1), |
312 LBZU_OPCODE = (35u << OPCODE_SHIFT), | 314 LBZU_OPCODE = (35u << OPCODE_SHIFT), |
313 | 315 |
1362 | 1364 |
1363 // 4 bytes | 1365 // 4 bytes |
1364 inline void lwax( Register d, Register s1, Register s2); | 1366 inline void lwax( Register d, Register s1, Register s2); |
1365 inline void lwa( Register d, int si16, Register s1); | 1367 inline void lwa( Register d, int si16, Register s1); |
1366 | 1368 |
1369 // 4 bytes reversed | |
1370 inline void lwbrx( Register d, Register s1, Register s2); | |
1371 | |
1367 // 2 bytes | 1372 // 2 bytes |
1368 inline void lhzx( Register d, Register s1, Register s2); | 1373 inline void lhzx( Register d, Register s1, Register s2); |
1369 inline void lhz( Register d, int si16, Register s1); | 1374 inline void lhz( Register d, int si16, Register s1); |
1370 inline void lhzu( Register d, int si16, Register s1); | 1375 inline void lhzu( Register d, int si16, Register s1); |
1376 | |
1377 // 2 bytes reversed | |
1378 inline void lhbrx( Register d, Register s1, Register s2); | |
1371 | 1379 |
1372 // 2 bytes | 1380 // 2 bytes |
1373 inline void lhax( Register d, Register s1, Register s2); | 1381 inline void lhax( Register d, Register s1, Register s2); |
1374 inline void lha( Register d, int si16, Register s1); | 1382 inline void lha( Register d, int si16, Register s1); |
1375 inline void lhau( Register d, int si16, Register s1); | 1383 inline void lhau( Register d, int si16, Register s1); |
1856 // read r0 as '0'. | 1864 // read r0 as '0'. |
1857 inline void lwzx( Register d, Register s2); | 1865 inline void lwzx( Register d, Register s2); |
1858 inline void lwz( Register d, int si16); | 1866 inline void lwz( Register d, int si16); |
1859 inline void lwax( Register d, Register s2); | 1867 inline void lwax( Register d, Register s2); |
1860 inline void lwa( Register d, int si16); | 1868 inline void lwa( Register d, int si16); |
1869 inline void lwbrx(Register d, Register s2); | |
1861 inline void lhzx( Register d, Register s2); | 1870 inline void lhzx( Register d, Register s2); |
1862 inline void lhz( Register d, int si16); | 1871 inline void lhz( Register d, int si16); |
1863 inline void lhax( Register d, Register s2); | 1872 inline void lhax( Register d, Register s2); |
1864 inline void lha( Register d, int si16); | 1873 inline void lha( Register d, int si16); |
1874 inline void lhbrx(Register d, Register s2); | |
1865 inline void lbzx( Register d, Register s2); | 1875 inline void lbzx( Register d, Register s2); |
1866 inline void lbz( Register d, int si16); | 1876 inline void lbz( Register d, int si16); |
1867 inline void ldx( Register d, Register s2); | 1877 inline void ldx( Register d, Register s2); |
1868 inline void ld( Register d, int si16); | 1878 inline void ld( Register d, int si16); |
1869 inline void stwx( Register d, Register s2); | 1879 inline void stwx( Register d, Register s2); |