< prev index next >

src/hotspot/share/opto/vectornode.cpp

Print this page

        

*** 68,79 **** case Op_SubD: assert(bt == T_DOUBLE, "must be"); return Op_SubVD; case Op_MulI: switch (bt) { ! case T_BOOLEAN: ! case T_BYTE: return 0; // Unimplemented case T_CHAR: case T_SHORT: return Op_MulVS; case T_INT: return Op_MulVI; default: ShouldNotReachHere(); return 0; } --- 68,79 ---- case Op_SubD: assert(bt == T_DOUBLE, "must be"); return Op_SubVD; case Op_MulI: switch (bt) { ! case T_BOOLEAN:return 0; ! case T_BYTE: return Op_MulVB; case T_CHAR: case T_SHORT: return Op_MulVS; case T_INT: return Op_MulVI; default: ShouldNotReachHere(); return 0; }
*** 102,111 **** --- 102,123 ---- assert(bt == T_FLOAT, "must be"); return Op_DivVF; case Op_DivD: assert(bt == T_DOUBLE, "must be"); return Op_DivVD; + case Op_AbsI: + switch (bt) { + case T_BOOLEAN: + case T_CHAR: return 0; // abs does not make sense for unsigned + case T_BYTE: return Op_AbsVB; + case T_SHORT: return Op_AbsVS; + case T_INT: return Op_AbsVI; + default: ShouldNotReachHere(); return 0; + } + case Op_AbsL: + assert(bt == T_LONG, "must be"); + return Op_AbsVL; case Op_AbsF: assert(bt == T_FLOAT, "must be"); return Op_AbsVF; case Op_AbsD: assert(bt == T_DOUBLE, "must be");
*** 348,366 **** --- 360,383 ---- case Op_SubVI: return new SubVINode(n1, n2, vt); case Op_SubVL: return new SubVLNode(n1, n2, vt); case Op_SubVF: return new SubVFNode(n1, n2, vt); case Op_SubVD: return new SubVDNode(n1, n2, vt); + case Op_MulVB: return new MulVBNode(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); + case Op_AbsVB: return new AbsVBNode(n1, vt); + case Op_AbsVS: return new AbsVSNode(n1, vt); + case Op_AbsVI: return new AbsVINode(n1, vt); + case Op_AbsVL: return new AbsVLNode(n1, vt); case Op_AbsVF: return new AbsVFNode(n1, vt); case Op_AbsVD: return new AbsVDNode(n1, vt); case Op_NegVF: return new NegVFNode(n1, vt); case Op_NegVD: return new NegVDNode(n1, vt);
< prev index next >