989 return ret_value; // Per default match rules are supported.
990 }
991
992 const bool Matcher::has_predicated_vectors(void) {
993 return false;
994 }
995
996 const int Matcher::float_pressure(int default_pressure_threshold) {
997 return default_pressure_threshold;
998 }
999
1000 int Matcher::regnum_to_fpu_offset(int regnum) {
1001 return regnum - 32; // The FP registers are in the second chunk
1002 }
1003
1004 // Vector width in bytes
1005 const int Matcher::vector_width_in_bytes(BasicType bt) {
1006 return MaxVectorSize;
1007 }
1008
1009 // Vector ideal reg corresponding to specified size in bytes
1010 const uint Matcher::vector_ideal_reg(int size) {
1011 assert(MaxVectorSize >= size, "");
1012 switch(size) {
1013 case 8: return Op_VecD;
1014 case 16: return Op_VecX;
1015 }
1016 ShouldNotReachHere();
1017 return 0;
1018 }
1019
1020 // Limits on vector size (number of elements) loaded into vector.
1021 const int Matcher::max_vector_size(const BasicType bt) {
1022 assert(is_java_primitive(bt), "only primitive type vectors");
1023 return vector_width_in_bytes(bt)/type2aelembytes(bt);
1024 }
1025
1026 const int Matcher::min_vector_size(const BasicType bt) {
1027 assert(is_java_primitive(bt), "only primitive type vectors");
1028 return 8/type2aelembytes(bt);
|
989 return ret_value; // Per default match rules are supported.
990 }
991
992 const bool Matcher::has_predicated_vectors(void) {
993 return false;
994 }
995
996 const int Matcher::float_pressure(int default_pressure_threshold) {
997 return default_pressure_threshold;
998 }
999
1000 int Matcher::regnum_to_fpu_offset(int regnum) {
1001 return regnum - 32; // The FP registers are in the second chunk
1002 }
1003
1004 // Vector width in bytes
1005 const int Matcher::vector_width_in_bytes(BasicType bt) {
1006 return MaxVectorSize;
1007 }
1008
1009 const bool Matcher::supports_scalable_vector() {
1010 return false;
1011 }
1012
1013 const int Matcher::scalable_vector_reg_size(const BasicType bt) {
1014 return -1;
1015 }
1016
1017 // Vector ideal reg corresponding to specified size in bytes
1018 const uint Matcher::vector_ideal_reg(int size) {
1019 assert(MaxVectorSize >= size, "");
1020 switch(size) {
1021 case 8: return Op_VecD;
1022 case 16: return Op_VecX;
1023 }
1024 ShouldNotReachHere();
1025 return 0;
1026 }
1027
1028 // Limits on vector size (number of elements) loaded into vector.
1029 const int Matcher::max_vector_size(const BasicType bt) {
1030 assert(is_java_primitive(bt), "only primitive type vectors");
1031 return vector_width_in_bytes(bt)/type2aelembytes(bt);
1032 }
1033
1034 const int Matcher::min_vector_size(const BasicType bt) {
1035 assert(is_java_primitive(bt), "only primitive type vectors");
1036 return 8/type2aelembytes(bt);
|