< prev index next >

src/hotspot/cpu/arm/arm.ad

Print this page

  966   case Op_MulVD:
  967   case Op_DivVF:
  968   case Op_DivVD:
  969     return VM_Version::has_vfp();
  970   }
  971 
  972   return true;  // Per default match rules are supported.
  973 }
  974 
  975 const bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType bt) {
  976 
  977   // TODO
  978   // identify extra cases that we might want to provide match rules for
  979   // e.g. Op_ vector nodes and other intrinsics while guarding with vlen
  980   bool ret_value = match_rule_supported(opcode) && vector_size_supported(bt, vlen);
  981   // Add rules here.
  982 
  983   return ret_value;  // Per default match rules are supported.
  984 }
  985 




  986 const RegMask* Matcher::predicate_reg_mask(void) {
  987   return NULL;
  988 }
  989 
  990 const TypeVect* Matcher::predicate_reg_type(const Type* elemTy, int length) {
  991   return NULL;
  992 }
  993 
  994 // Vector calling convention not yet implemented.
  995 const bool Matcher::supports_vector_calling_convention(void) {
  996   return false;
  997 }
  998 
  999 OptoRegPair Matcher::vector_return_value(uint ideal_reg) {
 1000   Unimplemented();
 1001   return OptoRegPair(0, 0);
 1002 }
 1003 
 1004 // Vector width in bytes
 1005 const int Matcher::vector_width_in_bytes(BasicType bt) {

  966   case Op_MulVD:
  967   case Op_DivVF:
  968   case Op_DivVD:
  969     return VM_Version::has_vfp();
  970   }
  971 
  972   return true;  // Per default match rules are supported.
  973 }
  974 
  975 const bool Matcher::match_rule_supported_vector(int opcode, int vlen, BasicType bt) {
  976 
  977   // TODO
  978   // identify extra cases that we might want to provide match rules for
  979   // e.g. Op_ vector nodes and other intrinsics while guarding with vlen
  980   bool ret_value = match_rule_supported(opcode) && vector_size_supported(bt, vlen);
  981   // Add rules here.
  982 
  983   return ret_value;  // Per default match rules are supported.
  984 }
  985 
  986 const bool Matcher::match_rule_supported_vector_masked(int opcode, int vlen, BasicType bt) {
  987   return false;
  988 }
  989 
  990 const RegMask* Matcher::predicate_reg_mask(void) {
  991   return NULL;
  992 }
  993 
  994 const TypeVect* Matcher::predicate_reg_type(const Type* elemTy, int length) {
  995   return NULL;
  996 }
  997 
  998 // Vector calling convention not yet implemented.
  999 const bool Matcher::supports_vector_calling_convention(void) {
 1000   return false;
 1001 }
 1002 
 1003 OptoRegPair Matcher::vector_return_value(uint ideal_reg) {
 1004   Unimplemented();
 1005   return OptoRegPair(0, 0);
 1006 }
 1007 
 1008 // Vector width in bytes
 1009 const int Matcher::vector_width_in_bytes(BasicType bt) {
< prev index next >