< prev index next >

src/hotspot/cpu/arm/arm.ad

Print this page

  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);
< prev index next >