src/hotspot/cpu/ppc/assembler_ppc.inline.hpp
changeset 49728 a1617a75c231
parent 48810 1f7ebe9dd5b2
child 51711 3aafd7015d87
equal deleted inserted replaced
49727:2bbd5117d91a 49728:a1617a75c231
   618 inline void Assembler::stwcx_(Register s, Register a, Register b)                             { emit_int32( STWCX_OPCODE | rs(s) | ra0mem(a) | rb(b) | rc(1)); }
   618 inline void Assembler::stwcx_(Register s, Register a, Register b)                             { emit_int32( STWCX_OPCODE | rs(s) | ra0mem(a) | rb(b) | rc(1)); }
   619 inline void Assembler::stdcx_(Register s, Register a, Register b)                             { emit_int32( STDCX_OPCODE | rs(s) | ra0mem(a) | rb(b) | rc(1)); }
   619 inline void Assembler::stdcx_(Register s, Register a, Register b)                             { emit_int32( STDCX_OPCODE | rs(s) | ra0mem(a) | rb(b) | rc(1)); }
   620 inline void Assembler::stqcx_(Register s, Register a, Register b)                             { emit_int32( STQCX_OPCODE | rs(s) | ra0mem(a) | rb(b) | rc(1)); }
   620 inline void Assembler::stqcx_(Register s, Register a, Register b)                             { emit_int32( STQCX_OPCODE | rs(s) | ra0mem(a) | rb(b) | rc(1)); }
   621 
   621 
   622 // Instructions for adjusting thread priority
   622 // Instructions for adjusting thread priority
   623 // for simultaneous multithreading (SMT) on POWER5.
   623 // for simultaneous multithreading (SMT) on >= POWER5.
   624 inline void Assembler::smt_prio_very_low()    { Assembler::or_unchecked(R31, R31, R31); }
   624 inline void Assembler::smt_prio_very_low()    { Assembler::or_unchecked(R31, R31, R31); }
   625 inline void Assembler::smt_prio_low()         { Assembler::or_unchecked(R1,  R1,  R1); }
   625 inline void Assembler::smt_prio_low()         { Assembler::or_unchecked(R1,  R1,  R1); }
   626 inline void Assembler::smt_prio_medium_low()  { Assembler::or_unchecked(R6,  R6,  R6); }
   626 inline void Assembler::smt_prio_medium_low()  { Assembler::or_unchecked(R6,  R6,  R6); }
   627 inline void Assembler::smt_prio_medium()      { Assembler::or_unchecked(R2,  R2,  R2); }
   627 inline void Assembler::smt_prio_medium()      { Assembler::or_unchecked(R2,  R2,  R2); }
   628 inline void Assembler::smt_prio_medium_high() { Assembler::or_unchecked(R5,  R5,  R5); }
   628 inline void Assembler::smt_prio_medium_high() { Assembler::or_unchecked(R5,  R5,  R5); }
   629 inline void Assembler::smt_prio_high()        { Assembler::or_unchecked(R3,  R3,  R3); }
   629 inline void Assembler::smt_prio_high()        { Assembler::or_unchecked(R3,  R3,  R3); }
   630 // >= Power7
   630 // >= Power7
   631 inline void Assembler::smt_yield()            { Assembler::or_unchecked(R27, R27, R27); }
   631 inline void Assembler::smt_yield()            { Assembler::or_unchecked(R27, R27, R27); } // never actually implemented
   632 inline void Assembler::smt_mdoio()            { Assembler::or_unchecked(R29, R29, R29); }
   632 inline void Assembler::smt_mdoio()            { Assembler::or_unchecked(R29, R29, R29); } // never actually implemetned
   633 inline void Assembler::smt_mdoom()            { Assembler::or_unchecked(R30, R30, R30); }
   633 inline void Assembler::smt_mdoom()            { Assembler::or_unchecked(R30, R30, R30); } // never actually implemented
   634 // >= Power8
   634 // Power8
   635 inline void Assembler::smt_miso()             { Assembler::or_unchecked(R26, R26, R26); }
   635 inline void Assembler::smt_miso()             { Assembler::or_unchecked(R26, R26, R26); } // never actually implemented
   636 
   636 
   637 inline void Assembler::twi_0(Register a)      { twi_unchecked(0, a, 0);}
   637 inline void Assembler::twi_0(Register a)      { twi_unchecked(0, a, 0);}
   638 
   638 
   639 // trap instructions
   639 // trap instructions
   640 inline void Assembler::tdi_unchecked(int tobits, Register a, int si16){                                     emit_int32( TDI_OPCODE | to(tobits) | ra(a) | si(si16)); }
   640 inline void Assembler::tdi_unchecked(int tobits, Register a, int si16){                                     emit_int32( TDI_OPCODE | to(tobits) | ra(a) | si(si16)); }