< prev index next >

src/share/vm/opto/reg_split.cpp

Print this page

        

@@ -78,13 +78,13 @@
   const RegMask *w_o_mask;
 
   int num_regs = RegMask::num_registers(ireg);
   bool is_vect = RegMask::is_vector(ireg);
   if( w_mask->overlap( *o_mask ) && // Overlap AND
-      ((num_regs == 1) // Single use or aligned
+      (num_regs == 1  // Single use or aligned
         ||  is_vect    // or vector
-        || !is_vect && o_mask->is_aligned_pairs()) ) {
+        || (!is_vect && o_mask->is_aligned_pairs())) ) {
     assert(!is_vect || o_mask->is_aligned_sets(num_regs), "vectors are aligned");
     // Don't come here for mis-aligned doubles
     w_o_mask = w_mask;
   } else {                      // wide ideal mask does not overlap with o_mask
     // Mis-aligned doubles come here and XMM->FPR moves on x86.

@@ -1031,11 +1031,11 @@
             // bound use if we can't rematerialize the def, or if we need the
             // split to form a misaligned pair.
             if( !umask.is_AllStack() &&
                 (int)umask.Size() <= lrgs(useidx).num_regs() &&
                 (!def->rematerialize() ||
-                 !is_vect && umask.is_misaligned_pair())) {
+                 (!is_vect && umask.is_misaligned_pair()))) {
               // These need a Split regardless of overlap or pressure
               // SPLIT - NO DEF - NO CISC SPILL
               maxlrg = split_USE(MachSpillCopyNode::Bound, def,b,n,inpidx,maxlrg,dup,false, splits,slidx);
               // If it wasn't split bail
               if (!maxlrg) {

@@ -1186,11 +1186,11 @@
         bool defup = dmask.is_UP();
         uint ireg = n->ideal_reg();
         bool is_vect = RegMask::is_vector(ireg);
         // Only split at Def if this is a HRP block or bound (and spilled once)
         if( !n->rematerialize() &&
-            (((dmask.is_bound(ireg) || !is_vect && dmask.is_misaligned_pair()) &&
+            (((dmask.is_bound(ireg) || (!is_vect && dmask.is_misaligned_pair())) &&
               (deflrg._direct_conflict || deflrg._must_spill)) ||
              // Check for LRG being up in a register and we are inside a high
              // pressure area.  Spill it down immediately.
              (defup && is_high_pressure(b,&deflrg,insidx))) ) {
           assert( !n->rematerialize(), "" );
< prev index next >