< prev index next >

src/hotspot/cpu/ppc/assembler_ppc.inline.hpp

Print this page
rev 50959 : 8205582: PPC64: RTM: Fix counter for aborts on nested transactions


 534   int dst_bit = condition_register_bit(crdst, cdst),
 535       src_bit = condition_register_bit(crsrc, csrc);
 536   crnor(dst_bit, src_bit, dst_bit);
 537 }
 538 inline void Assembler::creqv( ConditionRegister crdst, Condition cdst, ConditionRegister crsrc, Condition csrc) {
 539   int dst_bit = condition_register_bit(crdst, cdst),
 540       src_bit = condition_register_bit(crsrc, csrc);
 541   creqv(dst_bit, src_bit, dst_bit);
 542 }
 543 inline void Assembler::crandc(ConditionRegister crdst, Condition cdst, ConditionRegister crsrc, Condition csrc) {
 544   int dst_bit = condition_register_bit(crdst, cdst),
 545       src_bit = condition_register_bit(crsrc, csrc);
 546   crandc(dst_bit, src_bit, dst_bit);
 547 }
 548 inline void Assembler::crorc( ConditionRegister crdst, Condition cdst, ConditionRegister crsrc, Condition csrc) {
 549   int dst_bit = condition_register_bit(crdst, cdst),
 550       src_bit = condition_register_bit(crsrc, csrc);
 551   crorc(dst_bit, src_bit, dst_bit);
 552 }
 553 






 554 // Conditional move (>= Power7)
 555 inline void Assembler::isel(Register d, ConditionRegister cr, Condition cc, bool inv, Register a, Register b) {
 556   if (b == noreg) {
 557     b = d; // Can be omitted if old value should be kept in "else" case.
 558   }
 559   Register first = a;
 560   Register second = b;
 561   if (inv) {
 562     first = b;
 563     second = a; // exchange
 564   }
 565   assert(first != R0, "r0 not allowed");
 566   isel(d, first, second, bi0(cr, cc));
 567 }
 568 inline void Assembler::isel_0(Register d, ConditionRegister cr, Condition cc, Register b) {
 569   if (b == noreg) {
 570     b = d; // Can be omitted if old value should be kept in "else" case.
 571   }
 572   isel(d, R0, b, bi0(cr, cc));
 573 }




 534   int dst_bit = condition_register_bit(crdst, cdst),
 535       src_bit = condition_register_bit(crsrc, csrc);
 536   crnor(dst_bit, src_bit, dst_bit);
 537 }
 538 inline void Assembler::creqv( ConditionRegister crdst, Condition cdst, ConditionRegister crsrc, Condition csrc) {
 539   int dst_bit = condition_register_bit(crdst, cdst),
 540       src_bit = condition_register_bit(crsrc, csrc);
 541   creqv(dst_bit, src_bit, dst_bit);
 542 }
 543 inline void Assembler::crandc(ConditionRegister crdst, Condition cdst, ConditionRegister crsrc, Condition csrc) {
 544   int dst_bit = condition_register_bit(crdst, cdst),
 545       src_bit = condition_register_bit(crsrc, csrc);
 546   crandc(dst_bit, src_bit, dst_bit);
 547 }
 548 inline void Assembler::crorc( ConditionRegister crdst, Condition cdst, ConditionRegister crsrc, Condition csrc) {
 549   int dst_bit = condition_register_bit(crdst, cdst),
 550       src_bit = condition_register_bit(crsrc, csrc);
 551   crorc(dst_bit, src_bit, dst_bit);
 552 }
 553 
 554 inline void Assembler::crnot( ConditionRegister crdst, Condition cdst, ConditionRegister crsrc, Condition csrc) {
 555   int dst_bit = condition_register_bit(crdst, cdst),
 556       src_bit = condition_register_bit(crsrc, csrc);
 557   crnor(dst_bit, src_bit, src_bit);
 558 }
 559 
 560 // Conditional move (>= Power7)
 561 inline void Assembler::isel(Register d, ConditionRegister cr, Condition cc, bool inv, Register a, Register b) {
 562   if (b == noreg) {
 563     b = d; // Can be omitted if old value should be kept in "else" case.
 564   }
 565   Register first = a;
 566   Register second = b;
 567   if (inv) {
 568     first = b;
 569     second = a; // exchange
 570   }
 571   assert(first != R0, "r0 not allowed");
 572   isel(d, first, second, bi0(cr, cc));
 573 }
 574 inline void Assembler::isel_0(Register d, ConditionRegister cr, Condition cc, Register b) {
 575   if (b == noreg) {
 576     b = d; // Can be omitted if old value should be kept in "else" case.
 577   }
 578   isel(d, R0, b, bi0(cr, cc));
 579 }


< prev index next >