hotspot/src/share/vm/opto/chaitin.cpp
changeset 22853 308672304981
parent 20007 b67e71448544
child 22872 b6902ee5bc8d
equal deleted inserted replaced
22852:1063026e8cee 22853:308672304981
   759         // Check for vector live range (only if vector register is used).
   759         // Check for vector live range (only if vector register is used).
   760         // On SPARC vector uses RegD which could be misaligned so it is not
   760         // On SPARC vector uses RegD which could be misaligned so it is not
   761         // processes as vector in RA.
   761         // processes as vector in RA.
   762         if (RegMask::is_vector(ireg))
   762         if (RegMask::is_vector(ireg))
   763           lrg._is_vector = 1;
   763           lrg._is_vector = 1;
   764         assert(n_type->isa_vect() == NULL || lrg._is_vector || ireg == Op_RegD,
   764         assert(n_type->isa_vect() == NULL || lrg._is_vector || ireg == Op_RegD || ireg == Op_RegL,
   765                "vector must be in vector registers");
   765                "vector must be in vector registers");
   766 
   766 
   767         // Check for bound register masks
   767         // Check for bound register masks
   768         const RegMask &lrgmask = lrg.mask();
   768         const RegMask &lrgmask = lrg.mask();
   769         if (lrgmask.is_bound(ireg)) {
   769         if (lrgmask.is_bound(ireg)) {
   959         // Check for bound register masks
   959         // Check for bound register masks
   960         const RegMask &lrgmask = lrg.mask();
   960         const RegMask &lrgmask = lrg.mask();
   961         int kreg = n->in(k)->ideal_reg();
   961         int kreg = n->in(k)->ideal_reg();
   962         bool is_vect = RegMask::is_vector(kreg);
   962         bool is_vect = RegMask::is_vector(kreg);
   963         assert(n->in(k)->bottom_type()->isa_vect() == NULL ||
   963         assert(n->in(k)->bottom_type()->isa_vect() == NULL ||
   964                is_vect || kreg == Op_RegD,
   964                is_vect || kreg == Op_RegD || kreg == Op_RegL,
   965                "vector must be in vector registers");
   965                "vector must be in vector registers");
   966         if (lrgmask.is_bound(kreg))
   966         if (lrgmask.is_bound(kreg))
   967           lrg._is_bound = 1;
   967           lrg._is_bound = 1;
   968 
   968 
   969         // If this use of a double forces a mis-aligned double,
   969         // If this use of a double forces a mis-aligned double,