< prev index next >

src/share/vm/opto/matcher.cpp

Print this page

        

*** 2115,2124 **** --- 2115,2126 ---- case Op_AryEq: case Op_HasNegatives: case Op_StrInflatedCopy: case Op_StrCompressedCopy: case Op_EncodeISOArray: + case Op_FmaD: + case Op_FmaF: set_shared(n); // Force result into register (it will be anyways) break; case Op_ConP: { // Convert pointers above the centerline to NUL TypeNode *tn = n->as_Type(); // Constants derive from type nodes const TypePtr* tp = tn->type()->is_ptr();
*** 2303,2312 **** --- 2305,2323 ---- Node* pair = new BinaryNode(n->in(3), n->in(4)); n->set_req(3, pair); n->del_req(4); break; } + case Op_FmaD: + case Op_FmaF: { + // Restructure into a binary tree for Matching. + Node* pair = new BinaryNode(n->in(1), n->in(2)); + n->set_req(2, pair); + n->set_req(1, n->in(3)); + n->del_req(3); + break; + } default: break; } } else {
< prev index next >