3321 Node* mult = new MulLNode(d, d->in(2));
3322 Node* sub = new SubLNode(d->in(1), mult);
3323 n->subsume_by(sub, this);
3324 }
3325 }
3326 }
3327 break;
3328
3329 case Op_LoadVector:
3330 case Op_StoreVector:
3331 break;
3332
3333 case Op_AddReductionVI:
3334 case Op_AddReductionVL:
3335 case Op_AddReductionVF:
3336 case Op_AddReductionVD:
3337 case Op_MulReductionVI:
3338 case Op_MulReductionVL:
3339 case Op_MulReductionVF:
3340 case Op_MulReductionVD:
3341 break;
3342
3343 case Op_PackB:
3344 case Op_PackS:
3345 case Op_PackI:
3346 case Op_PackF:
3347 case Op_PackL:
3348 case Op_PackD:
3349 if (n->req()-1 > 2) {
3350 // Replace many operand PackNodes with a binary tree for matching
3351 PackNode* p = (PackNode*) n;
3352 Node* btp = p->binary_tree_pack(1, n->req());
3353 n->subsume_by(btp, this);
3354 }
3355 break;
3356 case Op_Loop:
3357 case Op_CountedLoop:
3358 case Op_OuterStripMinedLoop:
3359 if (n->as_Loop()->is_inner_loop()) {
3360 frc.inc_inner_loop_count();
|
3321 Node* mult = new MulLNode(d, d->in(2));
3322 Node* sub = new SubLNode(d->in(1), mult);
3323 n->subsume_by(sub, this);
3324 }
3325 }
3326 }
3327 break;
3328
3329 case Op_LoadVector:
3330 case Op_StoreVector:
3331 break;
3332
3333 case Op_AddReductionVI:
3334 case Op_AddReductionVL:
3335 case Op_AddReductionVF:
3336 case Op_AddReductionVD:
3337 case Op_MulReductionVI:
3338 case Op_MulReductionVL:
3339 case Op_MulReductionVF:
3340 case Op_MulReductionVD:
3341 case Op_MinReductionV:
3342 case Op_MaxReductionV:
3343 break;
3344
3345 case Op_PackB:
3346 case Op_PackS:
3347 case Op_PackI:
3348 case Op_PackF:
3349 case Op_PackL:
3350 case Op_PackD:
3351 if (n->req()-1 > 2) {
3352 // Replace many operand PackNodes with a binary tree for matching
3353 PackNode* p = (PackNode*) n;
3354 Node* btp = p->binary_tree_pack(1, n->req());
3355 n->subsume_by(btp, this);
3356 }
3357 break;
3358 case Op_Loop:
3359 case Op_CountedLoop:
3360 case Op_OuterStripMinedLoop:
3361 if (n->as_Loop()->is_inner_loop()) {
3362 frc.inc_inner_loop_count();
|