< prev index next >

src/cpu/ppc/vm/ppc.ad

Print this page




2041 
2042 int Matcher::regnum_to_fpu_offset(int regnum) {
2043   // No user for this method?
2044   Unimplemented();
2045   return 999;
2046 }
2047 
2048 const bool Matcher::convL2FSupported(void) {
2049   // fcfids can do the conversion (>= Power7).
2050   // fcfid + frsp showed rounding problem when result should be 0x3f800001.
2051   return VM_Version::has_fcfids(); // False means that conversion is done by runtime call.
2052 }
2053 
2054 // Vector width in bytes.
2055 const int Matcher::vector_width_in_bytes(BasicType bt) {
2056   assert(MaxVectorSize == 8, "");
2057   return 8;
2058 }
2059 
2060 // Vector ideal reg.
2061 const int Matcher::vector_ideal_reg(int size) {
2062   assert(MaxVectorSize == 8 && size == 8, "");
2063   return Op_RegL;
2064 }
2065 
2066 const int Matcher::vector_shift_count_ideal_reg(int size) {
2067   fatal("vector shift is not supported");
2068   return Node::NotAMachineReg;
2069 }
2070 
2071 // Limits on vector size (number of elements) loaded into vector.
2072 const int Matcher::max_vector_size(const BasicType bt) {
2073   assert(is_java_primitive(bt), "only primitive type vectors");
2074   return vector_width_in_bytes(bt)/type2aelembytes(bt);
2075 }
2076 
2077 const int Matcher::min_vector_size(const BasicType bt) {
2078   return max_vector_size(bt); // Same as max.
2079 }
2080 
2081 // PPC doesn't support misaligned vectors store/load.
2082 const bool Matcher::misaligned_vectors_ok() {
2083   return false;
2084 }
2085 
2086 // PPC AES support not yet implemented
2087 const bool Matcher::pass_original_key_for_aes() {
2088   return false;




2041 
2042 int Matcher::regnum_to_fpu_offset(int regnum) {
2043   // No user for this method?
2044   Unimplemented();
2045   return 999;
2046 }
2047 
2048 const bool Matcher::convL2FSupported(void) {
2049   // fcfids can do the conversion (>= Power7).
2050   // fcfid + frsp showed rounding problem when result should be 0x3f800001.
2051   return VM_Version::has_fcfids(); // False means that conversion is done by runtime call.
2052 }
2053 
2054 // Vector width in bytes.
2055 const int Matcher::vector_width_in_bytes(BasicType bt) {
2056   assert(MaxVectorSize == 8, "");
2057   return 8;
2058 }
2059 
2060 // Vector ideal reg.
2061 const Opcodes Matcher::vector_ideal_reg(int size) {
2062   assert(MaxVectorSize == 8 && size == 8, "");
2063   return Opcodes::Op_RegL;
2064 }
2065 
2066 const Opcodes Matcher::vector_shift_count_ideal_reg(int size) {
2067   fatal("vector shift is not supported");
2068   return Opcodes::NotAMachineReg;
2069 }
2070 
2071 // Limits on vector size (number of elements) loaded into vector.
2072 const int Matcher::max_vector_size(const BasicType bt) {
2073   assert(is_java_primitive(bt), "only primitive type vectors");
2074   return vector_width_in_bytes(bt)/type2aelembytes(bt);
2075 }
2076 
2077 const int Matcher::min_vector_size(const BasicType bt) {
2078   return max_vector_size(bt); // Same as max.
2079 }
2080 
2081 // PPC doesn't support misaligned vectors store/load.
2082 const bool Matcher::misaligned_vectors_ok() {
2083   return false;
2084 }
2085 
2086 // PPC AES support not yet implemented
2087 const bool Matcher::pass_original_key_for_aes() {
2088   return false;


< prev index next >