< prev index next >

src/hotspot/share/opto/matcher.hpp

Print this page

321   static const bool has_predicated_vectors(void);
322 
323   // Some uarchs have different sized float register resources
324   static const int float_pressure(int default_pressure_threshold);
325 
326   // Used to determine if we have fast l2f conversion
327   // USII has it, USIII doesn't
328   static const bool convL2FSupported(void);
329 
330   // Vector width in bytes
331   static const int vector_width_in_bytes(BasicType bt);
332 
333   // Limits on vector size (number of elements).
334   static const int max_vector_size(const BasicType bt);
335   static const int min_vector_size(const BasicType bt);
336   static const bool vector_size_supported(const BasicType bt, int size) {
337     return (Matcher::max_vector_size(bt) >= size &&
338             Matcher::min_vector_size(bt) <= size);
339   }
340 




341   // Vector ideal reg
342   static const uint vector_ideal_reg(int len);
343 
344   // CPU supports misaligned vectors store/load.
345   static const bool misaligned_vectors_ok();
346 
347   // Should original key array reference be passed to AES stubs
348   static const bool pass_original_key_for_aes();
349 
350   // Used to determine a "low complexity" 64-bit constant.  (Zero is simple.)
351   // The standard of comparison is one (StoreL ConL) vs. two (StoreI ConI).
352   // Depends on the details of 64-bit constant generation on the CPU.
353   static const bool isSimpleConstant64(jlong con);
354 
355   // These calls are all generated by the ADLC
356 
357   // TRUE - grows up, FALSE - grows down (Intel)
358   virtual bool stack_direction() const;
359 
360   // Java-Java calling convention

321   static const bool has_predicated_vectors(void);
322 
323   // Some uarchs have different sized float register resources
324   static const int float_pressure(int default_pressure_threshold);
325 
326   // Used to determine if we have fast l2f conversion
327   // USII has it, USIII doesn't
328   static const bool convL2FSupported(void);
329 
330   // Vector width in bytes
331   static const int vector_width_in_bytes(BasicType bt);
332 
333   // Limits on vector size (number of elements).
334   static const int max_vector_size(const BasicType bt);
335   static const int min_vector_size(const BasicType bt);
336   static const bool vector_size_supported(const BasicType bt, int size) {
337     return (Matcher::max_vector_size(bt) >= size &&
338             Matcher::min_vector_size(bt) <= size);
339   }
340 
341   static const bool supports_scalable_vector();
342   // Actual max scalable vector register length.
343   static const int scalable_vector_reg_size(const BasicType bt);
344 
345   // Vector ideal reg
346   static const uint vector_ideal_reg(int len);
347 
348   // CPU supports misaligned vectors store/load.
349   static const bool misaligned_vectors_ok();
350 
351   // Should original key array reference be passed to AES stubs
352   static const bool pass_original_key_for_aes();
353 
354   // Used to determine a "low complexity" 64-bit constant.  (Zero is simple.)
355   // The standard of comparison is one (StoreL ConL) vs. two (StoreI ConI).
356   // Depends on the details of 64-bit constant generation on the CPU.
357   static const bool isSimpleConstant64(jlong con);
358 
359   // These calls are all generated by the ADLC
360 
361   // TRUE - grows up, FALSE - grows down (Intel)
362   virtual bool stack_direction() const;
363 
364   // Java-Java calling convention
< prev index next >