--- a/hotspot/src/share/vm/opto/reg_split.cpp Wed Jul 05 11:03:19 2017 -0700
+++ b/hotspot/src/share/vm/opto/reg_split.cpp Thu Jul 06 01:50:26 2017 +0200
@@ -80,9 +80,9 @@
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
- || is_vect // or vector
- || !is_vect && o_mask->is_aligned_pairs()) ) {
+ (num_regs == 1 // Single use or aligned
+ || is_vect // or vector
+ || (!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;
@@ -1033,7 +1033,7 @@
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);
@@ -1188,7 +1188,7 @@
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.