< prev index next >

src/cpu/ppc/vm/ppc.ad

Print this page




2047   case Op_CountTrailingZerosL:
2048     if (!UseCountLeadingZerosInstructionsPPC64)
2049       return false;
2050     break;
2051 
2052   case Op_PopCountI:
2053   case Op_PopCountL:
2054     return (UsePopCountInstruction && VM_Version::has_popcntw());
2055 
2056   case Op_StrComp:
2057     return SpecialStringCompareTo;
2058   case Op_StrEquals:
2059     return SpecialStringEquals;
2060   case Op_StrIndexOf:
2061     return SpecialStringIndexOf;
2062   }
2063 
2064   return true;  // Per default match rules are supported.
2065 }
2066 




2067 int Matcher::regnum_to_fpu_offset(int regnum) {
2068   // No user for this method?
2069   Unimplemented();
2070   return 999;
2071 }
2072 
2073 const bool Matcher::convL2FSupported(void) {
2074   // fcfids can do the conversion (>= Power7).
2075   // fcfid + frsp showed rounding problem when result should be 0x3f800001.
2076   return VM_Version::has_fcfids(); // False means that conversion is done by runtime call.
2077 }
2078 
2079 // Vector width in bytes.
2080 const int Matcher::vector_width_in_bytes(BasicType bt) {
2081   assert(MaxVectorSize == 8, "");
2082   return 8;
2083 }
2084 
2085 // Vector ideal reg.
2086 const int Matcher::vector_ideal_reg(int size) {




2047   case Op_CountTrailingZerosL:
2048     if (!UseCountLeadingZerosInstructionsPPC64)
2049       return false;
2050     break;
2051 
2052   case Op_PopCountI:
2053   case Op_PopCountL:
2054     return (UsePopCountInstruction && VM_Version::has_popcntw());
2055 
2056   case Op_StrComp:
2057     return SpecialStringCompareTo;
2058   case Op_StrEquals:
2059     return SpecialStringEquals;
2060   case Op_StrIndexOf:
2061     return SpecialStringIndexOf;
2062   }
2063 
2064   return true;  // Per default match rules are supported.
2065 }
2066 
2067 const int Matcher::float_pressure_scale(void) {
2068   return 1;
2069 }
2070 
2071 int Matcher::regnum_to_fpu_offset(int regnum) {
2072   // No user for this method?
2073   Unimplemented();
2074   return 999;
2075 }
2076 
2077 const bool Matcher::convL2FSupported(void) {
2078   // fcfids can do the conversion (>= Power7).
2079   // fcfid + frsp showed rounding problem when result should be 0x3f800001.
2080   return VM_Version::has_fcfids(); // False means that conversion is done by runtime call.
2081 }
2082 
2083 // Vector width in bytes.
2084 const int Matcher::vector_width_in_bytes(BasicType bt) {
2085   assert(MaxVectorSize == 8, "");
2086   return 8;
2087 }
2088 
2089 // Vector ideal reg.
2090 const int Matcher::vector_ideal_reg(int size) {


< prev index next >