< prev index next >

src/hotspot/cpu/ppc/ppc.ad

Print this page




2323   }
2324 }
2325 
2326 const uint Matcher::vector_shift_count_ideal_reg(int size) {
2327   fatal("vector shift is not supported");
2328   return Node::NotAMachineReg;
2329 }
2330 
2331 // Limits on vector size (number of elements) loaded into vector.
2332 const int Matcher::max_vector_size(const BasicType bt) {
2333   assert(is_java_primitive(bt), "only primitive type vectors");
2334   return vector_width_in_bytes(bt)/type2aelembytes(bt);
2335 }
2336 
2337 const int Matcher::min_vector_size(const BasicType bt) {
2338   return max_vector_size(bt); // Same as max.
2339 }
2340 
2341 // PPC doesn't support misaligned vectors store/load.
2342 const bool Matcher::misaligned_vectors_ok() {
2343   return !AlignVector; // can be changed by flag
2344 }
2345 
2346 // PPC AES support not yet implemented
2347 const bool Matcher::pass_original_key_for_aes() {
2348   return false;
2349 }
2350 
2351 // RETURNS: whether this branch offset is short enough that a short
2352 // branch can be used.
2353 //
2354 // If the platform does not provide any short branch variants, then
2355 // this method should return `false' for offset 0.
2356 //
2357 // `Compile::Fill_buffer' will decide on basis of this information
2358 // whether to do the pass `Compile::Shorten_branches' at all.
2359 //
2360 // And `Compile::Shorten_branches' will decide on basis of this
2361 // information whether to replace particular branch sites by short
2362 // ones.
2363 bool Matcher::is_short_branch_offset(int rule, int br_size, int offset) {




2323   }
2324 }
2325 
2326 const uint Matcher::vector_shift_count_ideal_reg(int size) {
2327   fatal("vector shift is not supported");
2328   return Node::NotAMachineReg;
2329 }
2330 
2331 // Limits on vector size (number of elements) loaded into vector.
2332 const int Matcher::max_vector_size(const BasicType bt) {
2333   assert(is_java_primitive(bt), "only primitive type vectors");
2334   return vector_width_in_bytes(bt)/type2aelembytes(bt);
2335 }
2336 
2337 const int Matcher::min_vector_size(const BasicType bt) {
2338   return max_vector_size(bt); // Same as max.
2339 }
2340 
2341 // PPC doesn't support misaligned vectors store/load.
2342 const bool Matcher::misaligned_vectors_ok() {
2343   return false;
2344 }
2345 
2346 // PPC AES support not yet implemented
2347 const bool Matcher::pass_original_key_for_aes() {
2348   return false;
2349 }
2350 
2351 // RETURNS: whether this branch offset is short enough that a short
2352 // branch can be used.
2353 //
2354 // If the platform does not provide any short branch variants, then
2355 // this method should return `false' for offset 0.
2356 //
2357 // `Compile::Fill_buffer' will decide on basis of this information
2358 // whether to do the pass `Compile::Shorten_branches' at all.
2359 //
2360 // And `Compile::Shorten_branches' will decide on basis of this
2361 // information whether to replace particular branch sites by short
2362 // ones.
2363 bool Matcher::is_short_branch_offset(int rule, int br_size, int offset) {


< prev index next >