hotspot/src/share/vm/opto/superword.cpp
changeset 33155 73bf16b22e89
parent 33129 e0bcbb5015b3
parent 33088 34fe49ecee13
child 33198 b37ad9fbf681
--- a/hotspot/src/share/vm/opto/superword.cpp	Fri Oct 09 20:45:45 2015 +0000
+++ b/hotspot/src/share/vm/opto/superword.cpp	Thu Oct 15 13:28:22 2015 +0200
@@ -1858,8 +1858,8 @@
           vn = VectorNode::make(opc, in1, in2, vlen, velt_basic_type(n));
           vlen_in_bytes = vn->as_Vector()->length_in_bytes();
         }
-      } else if (opc == Op_SqrtD) {
-        // Promote operand to vector (Sqrt is a 2 address instruction)
+      } else if (opc == Op_SqrtD || opc == Op_AbsF || opc == Op_AbsD || opc == Op_NegF || opc == Op_NegD) {
+        // Promote operand to vector (Sqrt/Abs/Neg are 2 address instructions)
         Node* in = vector_opd(p, 1);
         vn = VectorNode::make(opc, in, NULL, vlen, velt_basic_type(n));
         vlen_in_bytes = vn->as_Vector()->length_in_bytes();