< 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 >