< prev index next >

src/hotspot/share/opto/matcher.cpp

Print this page

        

@@ -2356,19 +2356,41 @@
       n->set_req(2, pair);
       n->set_req(1, n->in(3));
       n->del_req(3);
       break;
     }
+    case Op_VectorBlend:
+    case Op_VectorInsert: {
+      Node* pair = new BinaryNode(n->in(1), n->in(2));
+      n->set_req(1, pair);
+      n->set_req(2, n->in(3));
+      n->del_req(3);
+      break;
+    }
+    case Op_StoreVectorScatter: {
+      Node* pair = new BinaryNode(n->in(MemNode::ValueIn), n->in(MemNode::ValueIn+1));
+      n->set_req(MemNode::ValueIn, pair);
+      n->del_req(MemNode::ValueIn+1);
+      break;
+    }
     case Op_MulAddS2I: {
       Node* pair1 = new BinaryNode(n->in(1), n->in(2));
       Node* pair2 = new BinaryNode(n->in(3), n->in(4));
       n->set_req(1, pair1);
       n->set_req(2, pair2);
       n->del_req(4);
       n->del_req(3);
       break;
     }
+#ifdef X86
+    case Op_VectorMaskCmp: {
+      n->set_req(1, new BinaryNode(n->in(1), n->in(2)));
+      n->set_req(2, n->in(3));
+      n->del_req(3);
+      break;
+    }
+#endif
     default:
       break;
   }
 }
 
< prev index next >