1363 // Turn or0(rx,rx,rx) into a nop and avoid that we accidently emit a
1364 // SMT-priority change instruction (see SMT instructions below).
1365 inline void or_unchecked(Register a, Register s, Register b);
1366 inline void orr( Register a, Register s, Register b); // suffixed by 'r' as 'or' is C++ keyword
1367 inline void or_( Register a, Register s, Register b);
1368 inline void xorr( Register a, Register s, Register b); // suffixed by 'r' as 'xor' is C++ keyword
1369 inline void xor_( Register a, Register s, Register b);
1370 inline void nand( Register a, Register s, Register b);
1371 inline void nand_( Register a, Register s, Register b);
1372 inline void nor( Register a, Register s, Register b);
1373 inline void nor_( Register a, Register s, Register b);
1374 inline void andc( Register a, Register s, Register b);
1375 inline void andc_( Register a, Register s, Register b);
1376 inline void orc( Register a, Register s, Register b);
1377 inline void orc_( Register a, Register s, Register b);
1378 inline void extsb( Register a, Register s);
1379 inline void extsh( Register a, Register s);
1380 inline void extsw( Register a, Register s);
1381
1382 // extended mnemonics
1383 inline void nop();
1384 // NOP for FP and BR units (different versions to allow them to be in one group)
1385 inline void fpnop0();
1386 inline void fpnop1();
1387 inline void brnop0();
1388 inline void brnop1();
1389 inline void brnop2();
1390
1391 inline void mr( Register d, Register s);
1392 inline void ori_opt( Register d, int ui16);
1393 inline void oris_opt(Register d, int ui16);
1394
1395 // endgroup opcode for Power6
1396 inline void endgroup();
1397
1398 // count instructions
1399 inline void cntlzw( Register a, Register s);
1400 inline void cntlzw_( Register a, Register s);
1401 inline void cntlzd( Register a, Register s);
1402 inline void cntlzd_( Register a, Register s);
1403
|
1363 // Turn or0(rx,rx,rx) into a nop and avoid that we accidently emit a
1364 // SMT-priority change instruction (see SMT instructions below).
1365 inline void or_unchecked(Register a, Register s, Register b);
1366 inline void orr( Register a, Register s, Register b); // suffixed by 'r' as 'or' is C++ keyword
1367 inline void or_( Register a, Register s, Register b);
1368 inline void xorr( Register a, Register s, Register b); // suffixed by 'r' as 'xor' is C++ keyword
1369 inline void xor_( Register a, Register s, Register b);
1370 inline void nand( Register a, Register s, Register b);
1371 inline void nand_( Register a, Register s, Register b);
1372 inline void nor( Register a, Register s, Register b);
1373 inline void nor_( Register a, Register s, Register b);
1374 inline void andc( Register a, Register s, Register b);
1375 inline void andc_( Register a, Register s, Register b);
1376 inline void orc( Register a, Register s, Register b);
1377 inline void orc_( Register a, Register s, Register b);
1378 inline void extsb( Register a, Register s);
1379 inline void extsh( Register a, Register s);
1380 inline void extsw( Register a, Register s);
1381
1382 // extended mnemonics
1383 inline void nop(int count = 1);
1384 // NOP for FP and BR units (different versions to allow them to be in one group)
1385 inline void fpnop0();
1386 inline void fpnop1();
1387 inline void brnop0();
1388 inline void brnop1();
1389 inline void brnop2();
1390
1391 inline void mr( Register d, Register s);
1392 inline void ori_opt( Register d, int ui16);
1393 inline void oris_opt(Register d, int ui16);
1394
1395 // endgroup opcode for Power6
1396 inline void endgroup();
1397
1398 // count instructions
1399 inline void cntlzw( Register a, Register s);
1400 inline void cntlzw_( Register a, Register s);
1401 inline void cntlzd( Register a, Register s);
1402 inline void cntlzd_( Register a, Register s);
1403
|