1593 assert(MaxVectorSize == 8, "");
1594 return 8;
1595 }
1596
1597 // Vector ideal reg.
1598 const uint Matcher::vector_ideal_reg(int size) {
1599 assert(MaxVectorSize == 8 && size == 8, "");
1600 return Op_RegL;
1601 }
1602
1603 // Limits on vector size (number of elements) loaded into vector.
1604 const int Matcher::max_vector_size(const BasicType bt) {
1605 assert(is_java_primitive(bt), "only primitive type vectors");
1606 return vector_width_in_bytes(bt)/type2aelembytes(bt);
1607 }
1608
1609 const int Matcher::min_vector_size(const BasicType bt) {
1610 return max_vector_size(bt); // Same as max.
1611 }
1612
1613 // z/Architecture does support misaligned store/load at minimal extra cost.
1614 const bool Matcher::misaligned_vectors_ok() {
1615 return true;
1616 }
1617
1618 // Not yet ported to z/Architecture.
1619 const bool Matcher::pass_original_key_for_aes() {
1620 return false;
1621 }
1622
1623 // RETURNS: whether this branch offset is short enough that a short
1624 // branch can be used.
1625 //
1626 // If the platform does not provide any short branch variants, then
1627 // this method should return `false' for offset 0.
1628 //
1629 // `Compile::Fill_buffer' will decide on basis of this information
1630 // whether to do the pass `Compile::Shorten_branches' at all.
1631 //
1632 // And `Compile::Shorten_branches' will decide on basis of this
|
1593 assert(MaxVectorSize == 8, "");
1594 return 8;
1595 }
1596
1597 // Vector ideal reg.
1598 const uint Matcher::vector_ideal_reg(int size) {
1599 assert(MaxVectorSize == 8 && size == 8, "");
1600 return Op_RegL;
1601 }
1602
1603 // Limits on vector size (number of elements) loaded into vector.
1604 const int Matcher::max_vector_size(const BasicType bt) {
1605 assert(is_java_primitive(bt), "only primitive type vectors");
1606 return vector_width_in_bytes(bt)/type2aelembytes(bt);
1607 }
1608
1609 const int Matcher::min_vector_size(const BasicType bt) {
1610 return max_vector_size(bt); // Same as max.
1611 }
1612
1613 const bool Matcher::supports_scalable_vector() {
1614 return false;
1615 }
1616
1617 const int Matcher::scalable_vector_reg_size(const BasicType bt) {
1618 return -1;
1619 }
1620
1621 // z/Architecture does support misaligned store/load at minimal extra cost.
1622 const bool Matcher::misaligned_vectors_ok() {
1623 return true;
1624 }
1625
1626 // Not yet ported to z/Architecture.
1627 const bool Matcher::pass_original_key_for_aes() {
1628 return false;
1629 }
1630
1631 // RETURNS: whether this branch offset is short enough that a short
1632 // branch can be used.
1633 //
1634 // If the platform does not provide any short branch variants, then
1635 // this method should return `false' for offset 0.
1636 //
1637 // `Compile::Fill_buffer' will decide on basis of this information
1638 // whether to do the pass `Compile::Shorten_branches' at all.
1639 //
1640 // And `Compile::Shorten_branches' will decide on basis of this
|