< prev index next >

src/hotspot/cpu/aarch64/aarch64.ad

Print this page




2124 
2125 // Vector ideal reg.
2126 const uint Matcher::vector_ideal_reg(int len) {
2127   switch(len) {
2128     case  8: return Op_VecD;
2129     case 16: return Op_VecX;
2130   }
2131   ShouldNotReachHere();
2132   return 0;
2133 }
2134 
2135 const uint Matcher::vector_shift_count_ideal_reg(int size) {
2136   return Op_VecX;
2137 }
2138 
2139 // AES support not yet implemented
2140 const bool Matcher::pass_original_key_for_aes() {
2141   return false;
2142 }
2143 
2144 // x86 supports misaligned vectors store/load.
2145 const bool Matcher::misaligned_vectors_ok() {
2146   return !AlignVector; // can be changed by flag
2147 }
2148 
2149 // false => size gets scaled to BytesPerLong, ok.
2150 const bool Matcher::init_array_count_is_in_bytes = false;
2151 
2152 // Use conditional move (CMOVL)
2153 const int Matcher::long_cmove_cost() {
2154   // long cmoves are no more expensive than int cmoves
2155   return 0;
2156 }
2157 
2158 const int Matcher::float_cmove_cost() {
2159   // float cmoves are no more expensive than int cmoves
2160   return 0;
2161 }
2162 
2163 // Does the CPU require late expand (see block.cpp for description of late expand)?
2164 const bool Matcher::require_postalloc_expand = false;
2165 
2166 // Do we need to mask the count passed to shift instructions or does




2124 
2125 // Vector ideal reg.
2126 const uint Matcher::vector_ideal_reg(int len) {
2127   switch(len) {
2128     case  8: return Op_VecD;
2129     case 16: return Op_VecX;
2130   }
2131   ShouldNotReachHere();
2132   return 0;
2133 }
2134 
2135 const uint Matcher::vector_shift_count_ideal_reg(int size) {
2136   return Op_VecX;
2137 }
2138 
2139 // AES support not yet implemented
2140 const bool Matcher::pass_original_key_for_aes() {
2141   return false;
2142 }
2143 
2144 // aarch64 supports misaligned vectors store/load.
2145 const bool Matcher::misaligned_vectors_ok() {
2146   return true;
2147 }
2148 
2149 // false => size gets scaled to BytesPerLong, ok.
2150 const bool Matcher::init_array_count_is_in_bytes = false;
2151 
2152 // Use conditional move (CMOVL)
2153 const int Matcher::long_cmove_cost() {
2154   // long cmoves are no more expensive than int cmoves
2155   return 0;
2156 }
2157 
2158 const int Matcher::float_cmove_cost() {
2159   // float cmoves are no more expensive than int cmoves
2160   return 0;
2161 }
2162 
2163 // Does the CPU require late expand (see block.cpp for description of late expand)?
2164 const bool Matcher::require_postalloc_expand = false;
2165 
2166 // Do we need to mask the count passed to shift instructions or does


< prev index next >