< prev index next >
src/hotspot/share/opto/vectornode.cpp
Print this page
rev 47825 : Support vectorization of sqrt for float
@@ -111,10 +111,13 @@
assert(bt == T_FLOAT, "must be");
return Op_NegVF;
case Op_NegD:
assert(bt == T_DOUBLE, "must be");
return Op_NegVD;
+ case Op_SqrtF:
+ assert(bt == T_FLOAT, "must be");
+ return Op_SqrtVF;
case Op_SqrtD:
assert(bt == T_DOUBLE, "must be");
return Op_SqrtVD;
case Op_LShiftI:
switch (bt) {
@@ -314,11 +317,11 @@
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_SqrtVF: return new SqrtVFNode(n1, vt);
case Op_SqrtVD: return new SqrtVDNode(n1, vt);
case Op_LShiftVB: return new LShiftVBNode(n1, n2, vt);
case Op_LShiftVS: return new LShiftVSNode(n1, n2, vt);
case Op_LShiftVI: return new LShiftVINode(n1, n2, vt);
< prev index next >