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);