--- old/src/share/vm/opto/chaitin.cpp 2015-04-23 08:27:11.720343300 -0700 +++ new/src/share/vm/opto/chaitin.cpp 2015-04-23 08:27:11.527343300 -0700 @@ -907,6 +907,13 @@ lrg.set_num_regs(RegMask::SlotsPerVecY); lrg.set_reg_pressure(1); break; + case Op_VecZ: + assert(Matcher::vector_size_supported(T_FLOAT,RegMask::SlotsPerVecZ), "sanity"); + assert(RegMask::num_registers(Op_VecZ) == RegMask::SlotsPerVecZ, "sanity"); + assert(lrgmask.is_aligned_sets(RegMask::SlotsPerVecZ), "vector should be aligned"); + lrg.set_num_regs(RegMask::SlotsPerVecZ); + lrg.set_reg_pressure(1); + break; default: ShouldNotReachHere(); } @@ -1514,7 +1521,7 @@ int n_regs = lrg->num_regs(); assert(!lrg->_is_vector || !lrg->_fat_proj, "sanity"); if (n_regs == 1 || !lrg->_fat_proj) { - assert(!lrg->_is_vector || n_regs <= RegMask::SlotsPerVecY, "sanity"); + assert(!lrg->_is_vector || n_regs <= RegMask::SlotsPerVecZ, "sanity"); lrg->Clear(); // Clear the mask lrg->Insert(reg); // Set regmask to match selected reg // For vectors and pairs, also insert the low bit of the pair