comparison src/share/vm/opto/superword.cpp @ 628:7bb995fbd3c0

Merge
author trims
date Thu, 12 Mar 2009 18:16:36 -0700
parents 0fbdb4381b99 98cb887364d3
children 78af5ae8e731
comparison
equal deleted inserted replaced
580:ce2272390558 628:7bb995fbd3c0
468 n = n->in(MemNode::Memory); 468 n = n->in(MemNode::Memory);
469 } 469 }
470 } 470 }
471 471
472 //------------------------------stmts_can_pack--------------------------- 472 //------------------------------stmts_can_pack---------------------------
473 // Can s1 and s2 be in a pack with s1 immediately preceeding s2 and 473 // Can s1 and s2 be in a pack with s1 immediately preceding s2 and
474 // s1 aligned at "align" 474 // s1 aligned at "align"
475 bool SuperWord::stmts_can_pack(Node* s1, Node* s2, int align) { 475 bool SuperWord::stmts_can_pack(Node* s1, Node* s2, int align) {
476 if (isomorphic(s1, s2)) { 476 if (isomorphic(s1, s2)) {
477 if (independent(s1, s2)) { 477 if (independent(s1, s2)) {
478 if (!exists_at(s1, 0) && !exists_at(s2, 1)) { 478 if (!exists_at(s1, 0) && !exists_at(s2, 1)) {
867 867
868 // Return false if some input is not vector and inside block 868 // Return false if some input is not vector and inside block
869 for (uint i = start; i < end; i++) { 869 for (uint i = start; i < end; i++) {
870 if (!is_vector_use(p0, i)) { 870 if (!is_vector_use(p0, i)) {
871 // For now, return false if not scalar promotion case (inputs are the same.) 871 // For now, return false if not scalar promotion case (inputs are the same.)
872 // Later, implement PackNode and allow differring, non-vector inputs 872 // Later, implement PackNode and allow differing, non-vector inputs
873 // (maybe just the ones from outside the block.) 873 // (maybe just the ones from outside the block.)
874 Node* p0_def = p0->in(i); 874 Node* p0_def = p0->in(i);
875 for (uint j = 1; j < p->size(); j++) { 875 for (uint j = 1; j < p->size(); j++) {
876 Node* use = p->at(j); 876 Node* use = p->at(j);
877 Node* def = use->in(i); 877 Node* def = use->in(i);