< prev index next >

src/hotspot/share/opto/library_call.hpp

Print this page

332   // Vector API support
333   bool inline_vector_nary_operation(int n);
334   bool inline_vector_frombits_coerced();
335   bool inline_vector_shuffle_to_vector();
336   bool inline_vector_shuffle_iota();
337   bool inline_vector_mask_operation();
338   bool inline_vector_mem_operation(bool is_store);
339   bool inline_vector_mem_masked_operation(bool is_store);
340   bool inline_vector_gather_scatter(bool is_scatter);
341   bool inline_vector_reduction();
342   bool inline_vector_test();
343   bool inline_vector_blend();
344   bool inline_vector_rearrange();
345   bool inline_vector_compare();
346   bool inline_vector_broadcast_int();
347   bool inline_vector_convert();
348   bool inline_vector_extract();
349   bool inline_vector_insert();
350   bool inline_vector_compress_expand();
351 


352   Node* gen_call_to_svml(int vector_api_op_id, BasicType bt, int num_elem, Node* opd1, Node* opd2);
353 
354   enum VectorMaskUseType {
355     VecMaskUseLoad  = 1 << 0,
356     VecMaskUseStore = 1 << 1,
357     VecMaskUseAll   = VecMaskUseLoad | VecMaskUseStore,
358     VecMaskUsePred  = 1 << 2,
359     VecMaskNotUsed  = 1 << 3
360   };
361 
362   bool arch_supports_vector(int op, int num_elem, BasicType type, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
363   bool arch_supports_vector_rotate(int opc, int num_elem, BasicType elem_bt, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
364 
365   void clear_upper_avx() {
366 #ifdef X86
367     if (UseAVX >= 2) {
368       C->set_clear_upper_avx(true);
369     }
370 #endif
371   }
372 
373   bool inline_getObjectSize();
374 
375   bool inline_blackhole();






376 };
377 

332   // Vector API support
333   bool inline_vector_nary_operation(int n);
334   bool inline_vector_frombits_coerced();
335   bool inline_vector_shuffle_to_vector();
336   bool inline_vector_shuffle_iota();
337   bool inline_vector_mask_operation();
338   bool inline_vector_mem_operation(bool is_store);
339   bool inline_vector_mem_masked_operation(bool is_store);
340   bool inline_vector_gather_scatter(bool is_scatter);
341   bool inline_vector_reduction();
342   bool inline_vector_test();
343   bool inline_vector_blend();
344   bool inline_vector_rearrange();
345   bool inline_vector_compare();
346   bool inline_vector_broadcast_int();
347   bool inline_vector_convert();
348   bool inline_vector_extract();
349   bool inline_vector_insert();
350   bool inline_vector_compress_expand();
351 
352   bool inline_timestamp(bool serial);
353 
354   Node* gen_call_to_svml(int vector_api_op_id, BasicType bt, int num_elem, Node* opd1, Node* opd2);
355 
356   enum VectorMaskUseType {
357     VecMaskUseLoad  = 1 << 0,
358     VecMaskUseStore = 1 << 1,
359     VecMaskUseAll   = VecMaskUseLoad | VecMaskUseStore,
360     VecMaskUsePred  = 1 << 2,
361     VecMaskNotUsed  = 1 << 3
362   };
363 
364   bool arch_supports_vector(int op, int num_elem, BasicType type, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
365   bool arch_supports_vector_rotate(int opc, int num_elem, BasicType elem_bt, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
366 
367   void clear_upper_avx() {
368 #ifdef X86
369     if (UseAVX >= 2) {
370       C->set_clear_upper_avx(true);
371     }
372 #endif
373   }
374 
375   bool inline_getObjectSize();
376 
377   bool inline_blackhole();
378 
379   bool inline_sizeOf();
380   bool inline_sizeOf_impl(Node* obj);
381 
382   bool inline_addressOf();
383 
384 };
385 
< prev index next >