hotspot/src/share/vm/opto/vectornode.cpp
changeset 32723 56534fb3d71a
parent 31035 0f0743952c41
child 33088 34fe49ecee13
child 33105 294e48b4f704
equal deleted inserted replaced
32582:56619bb8bcaa 32723:56534fb3d71a
    90     assert(bt == T_FLOAT, "must be");
    90     assert(bt == T_FLOAT, "must be");
    91     return Op_DivVF;
    91     return Op_DivVF;
    92   case Op_DivD:
    92   case Op_DivD:
    93     assert(bt == T_DOUBLE, "must be");
    93     assert(bt == T_DOUBLE, "must be");
    94     return Op_DivVD;
    94     return Op_DivVD;
       
    95   case Op_SqrtD:
       
    96     assert(bt == T_DOUBLE, "must be");
       
    97     return Op_SqrtVD;
    95   case Op_LShiftI:
    98   case Op_LShiftI:
    96     switch (bt) {
    99     switch (bt) {
    97     case T_BOOLEAN:
   100     case T_BOOLEAN:
    98     case T_BYTE:   return Op_LShiftVB;
   101     case T_BYTE:   return Op_LShiftVB;
    99     case T_CHAR:
   102     case T_CHAR:
   275   case Op_MulVD: return new MulVDNode(n1, n2, vt);
   278   case Op_MulVD: return new MulVDNode(n1, n2, vt);
   276 
   279 
   277   case Op_DivVF: return new DivVFNode(n1, n2, vt);
   280   case Op_DivVF: return new DivVFNode(n1, n2, vt);
   278   case Op_DivVD: return new DivVDNode(n1, n2, vt);
   281   case Op_DivVD: return new DivVDNode(n1, n2, vt);
   279 
   282 
       
   283   // Currently only supports double precision sqrt
       
   284   case Op_SqrtVD: return new SqrtVDNode(n1, vt);
       
   285 
   280   case Op_LShiftVB: return new LShiftVBNode(n1, n2, vt);
   286   case Op_LShiftVB: return new LShiftVBNode(n1, n2, vt);
   281   case Op_LShiftVS: return new LShiftVSNode(n1, n2, vt);
   287   case Op_LShiftVS: return new LShiftVSNode(n1, n2, vt);
   282   case Op_LShiftVI: return new LShiftVINode(n1, n2, vt);
   288   case Op_LShiftVI: return new LShiftVINode(n1, n2, vt);
   283   case Op_LShiftVL: return new LShiftVLNode(n1, n2, vt);
   289   case Op_LShiftVL: return new LShiftVLNode(n1, n2, vt);
   284 
   290