--- a/hotspot/src/share/vm/opto/vectornode.cpp Fri Oct 09 20:45:45 2015 +0000
+++ b/hotspot/src/share/vm/opto/vectornode.cpp Thu Oct 15 13:28:22 2015 +0200
@@ -92,6 +92,18 @@
case Op_DivD:
assert(bt == T_DOUBLE, "must be");
return Op_DivVD;
+ case Op_AbsF:
+ assert(bt == T_FLOAT, "must be");
+ return Op_AbsVF;
+ case Op_AbsD:
+ assert(bt == T_DOUBLE, "must be");
+ return Op_AbsVD;
+ case Op_NegF:
+ assert(bt == T_FLOAT, "must be");
+ return Op_NegVF;
+ case Op_NegD:
+ assert(bt == T_DOUBLE, "must be");
+ return Op_NegVD;
case Op_SqrtD:
assert(bt == T_DOUBLE, "must be");
return Op_SqrtVD;
@@ -280,6 +292,12 @@
case Op_DivVF: return new DivVFNode(n1, n2, vt);
case Op_DivVD: return new DivVDNode(n1, n2, 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);
+
// Currently only supports double precision sqrt
case Op_SqrtVD: return new SqrtVDNode(n1, vt);