< prev index next >

src/hotspot/share/opto/library_call.hpp

Print this page

301   bool inline_montgomeryMultiply();
302   bool inline_montgomerySquare();
303   bool inline_bigIntegerShift(bool isRightShift);
304   bool inline_vectorizedMismatch();
305   bool inline_fma(vmIntrinsics::ID id);
306   bool inline_character_compare(vmIntrinsics::ID id);
307   bool inline_fp_min_max(vmIntrinsics::ID id);
308   bool inline_galoisCounterMode_AESCrypt();
309   Node* inline_galoisCounterMode_AESCrypt_predicate();
310 
311   bool inline_profileBoolean();
312   bool inline_isCompileConstant();
313 
314   // Vector API support
315   bool inline_vector_nary_operation(int n);
316   bool inline_vector_broadcast_coerced();
317   bool inline_vector_shuffle_to_vector();
318   bool inline_vector_shuffle_iota();
319   bool inline_vector_mask_operation();
320   bool inline_vector_mem_operation(bool is_store);

321   bool inline_vector_gather_scatter(bool is_scatter);
322   bool inline_vector_reduction();
323   bool inline_vector_test();
324   bool inline_vector_blend();
325   bool inline_vector_rearrange();
326   bool inline_vector_compare();
327   bool inline_vector_broadcast_int();
328   bool inline_vector_convert();
329   bool inline_vector_extract();
330   bool inline_vector_insert();
331   Node* gen_call_to_svml(int vector_api_op_id, BasicType bt, int num_elem, Node* opd1, Node* opd2);
332 
333   enum VectorMaskUseType {
334     VecMaskUseLoad,
335     VecMaskUseStore,
336     VecMaskUseAll,
337     VecMaskNotUsed

338   };
339 
340   bool arch_supports_vector(int op, int num_elem, BasicType type, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
341   bool arch_supports_vector_rotate(int opc, int num_elem, BasicType elem_bt, bool has_scalar_args = false);
342 
343   void clear_upper_avx() {
344 #ifdef X86
345     if (UseAVX >= 2) {
346       C->set_clear_upper_avx(true);
347     }
348 #endif
349   }
350 
351   bool inline_getObjectSize();
352 
353   bool inline_blackhole();
354 };
355 

301   bool inline_montgomeryMultiply();
302   bool inline_montgomerySquare();
303   bool inline_bigIntegerShift(bool isRightShift);
304   bool inline_vectorizedMismatch();
305   bool inline_fma(vmIntrinsics::ID id);
306   bool inline_character_compare(vmIntrinsics::ID id);
307   bool inline_fp_min_max(vmIntrinsics::ID id);
308   bool inline_galoisCounterMode_AESCrypt();
309   Node* inline_galoisCounterMode_AESCrypt_predicate();
310 
311   bool inline_profileBoolean();
312   bool inline_isCompileConstant();
313 
314   // Vector API support
315   bool inline_vector_nary_operation(int n);
316   bool inline_vector_broadcast_coerced();
317   bool inline_vector_shuffle_to_vector();
318   bool inline_vector_shuffle_iota();
319   bool inline_vector_mask_operation();
320   bool inline_vector_mem_operation(bool is_store);
321   bool inline_vector_mem_masked_operation(bool is_store);
322   bool inline_vector_gather_scatter(bool is_scatter);
323   bool inline_vector_reduction();
324   bool inline_vector_test();
325   bool inline_vector_blend();
326   bool inline_vector_rearrange();
327   bool inline_vector_compare();
328   bool inline_vector_broadcast_int();
329   bool inline_vector_convert();
330   bool inline_vector_extract();
331   bool inline_vector_insert();
332   Node* gen_call_to_svml(int vector_api_op_id, BasicType bt, int num_elem, Node* opd1, Node* opd2);
333 
334   enum VectorMaskUseType {
335     VecMaskUseLoad  = 1 << 0,
336     VecMaskUseStore = 1 << 1,
337     VecMaskUseAll   = VecMaskUseLoad | VecMaskUseStore,
338     VecMaskUsePred  = 1 << 2,
339     VecMaskNotUsed  = 1 << 3
340   };
341 
342   bool arch_supports_vector(int op, int num_elem, BasicType type, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
343   bool arch_supports_vector_rotate(int opc, int num_elem, BasicType elem_bt, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
344 
345   void clear_upper_avx() {
346 #ifdef X86
347     if (UseAVX >= 2) {
348       C->set_clear_upper_avx(true);
349     }
350 #endif
351   }
352 
353   bool inline_getObjectSize();
354 
355   bool inline_blackhole();
356 };
357 
< prev index next >