< prev index next >
src/share/vm/opto/vectornode.cpp
Print this page
*** 75,84 ****
--- 75,87 ----
case T_CHAR:
case T_SHORT: return Op_MulVS;
case T_INT: return Op_MulVI;
}
ShouldNotReachHere();
+ case Op_MulL:
+ assert(bt == T_LONG, "must be");
+ return Op_MulVL;
case Op_MulF:
assert(bt == T_FLOAT, "must be");
return Op_MulVF;
case Op_MulD:
assert(bt == T_DOUBLE, "must be");
*** 265,274 ****
--- 268,278 ----
case Op_SubVF: return new SubVFNode(n1, n2, vt);
case Op_SubVD: return new SubVDNode(n1, n2, vt);
case Op_MulVS: return new MulVSNode(n1, n2, vt);
case Op_MulVI: return new MulVINode(n1, n2, vt);
+ case Op_MulVL: return new MulVLNode(n1, n2, vt);
case Op_MulVF: return new MulVFNode(n1, n2, vt);
case Op_MulVD: return new MulVDNode(n1, n2, vt);
case Op_DivVF: return new DivVFNode(n1, n2, vt);
case Op_DivVD: return new DivVDNode(n1, n2, vt);
*** 461,470 ****
--- 465,478 ----
break;
case Op_MulI:
assert(bt == T_INT, "must be");
vopc = Op_MulReductionVI;
break;
+ case Op_MulL:
+ assert(bt == T_LONG, "must be");
+ vopc = Op_MulReductionVL;
+ break;
case Op_MulF:
assert(bt == T_FLOAT, "must be");
vopc = Op_MulReductionVF;
break;
case Op_MulD:
*** 490,499 ****
--- 498,508 ----
case Op_AddReductionVI: return new AddReductionVINode(ctrl, n1, n2);
case Op_AddReductionVL: return new AddReductionVLNode(ctrl, n1, n2);
case Op_AddReductionVF: return new AddReductionVFNode(ctrl, n1, n2);
case Op_AddReductionVD: return new AddReductionVDNode(ctrl, n1, n2);
case Op_MulReductionVI: return new MulReductionVINode(ctrl, n1, n2);
+ case Op_MulReductionVL: return new MulReductionVLNode(ctrl, n1, n2);
case Op_MulReductionVF: return new MulReductionVFNode(ctrl, n1, n2);
case Op_MulReductionVD: return new MulReductionVDNode(ctrl, n1, n2);
}
fatal(err_msg_res("Missed vector creation for '%s'", NodeClassNames[vopc]));
return NULL;
< prev index next >