345 bool inline_vector_frombits_coerced();
346 bool inline_vector_shuffle_to_vector();
347 bool inline_vector_shuffle_iota();
348 bool inline_vector_mask_operation();
349 bool inline_vector_mem_operation(bool is_store);
350 bool inline_vector_mem_masked_operation(bool is_store);
351 bool inline_vector_gather_scatter(bool is_scatter);
352 bool inline_vector_reduction();
353 bool inline_vector_test();
354 bool inline_vector_blend();
355 bool inline_vector_rearrange();
356 bool inline_vector_compare();
357 bool inline_vector_broadcast_int();
358 bool inline_vector_convert();
359 bool inline_vector_extract();
360 bool inline_vector_insert();
361 bool inline_vector_compress_expand();
362 bool inline_index_vector();
363 bool inline_index_partially_in_upper_range();
364
365 Node* gen_call_to_svml(int vector_api_op_id, BasicType bt, int num_elem, Node* opd1, Node* opd2);
366
367 enum VectorMaskUseType {
368 VecMaskUseLoad = 1 << 0,
369 VecMaskUseStore = 1 << 1,
370 VecMaskUseAll = VecMaskUseLoad | VecMaskUseStore,
371 VecMaskUsePred = 1 << 2,
372 VecMaskNotUsed = 1 << 3
373 };
374
375 bool arch_supports_vector(int op, int num_elem, BasicType type, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
376 bool arch_supports_vector_rotate(int opc, int num_elem, BasicType elem_bt, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
377
378 void clear_upper_avx() {
379 #ifdef X86
380 if (UseAVX >= 2) {
381 C->set_clear_upper_avx(true);
382 }
383 #endif
384 }
385
386 bool inline_getObjectSize();
387
388 bool inline_blackhole();
389 };
390
|
345 bool inline_vector_frombits_coerced();
346 bool inline_vector_shuffle_to_vector();
347 bool inline_vector_shuffle_iota();
348 bool inline_vector_mask_operation();
349 bool inline_vector_mem_operation(bool is_store);
350 bool inline_vector_mem_masked_operation(bool is_store);
351 bool inline_vector_gather_scatter(bool is_scatter);
352 bool inline_vector_reduction();
353 bool inline_vector_test();
354 bool inline_vector_blend();
355 bool inline_vector_rearrange();
356 bool inline_vector_compare();
357 bool inline_vector_broadcast_int();
358 bool inline_vector_convert();
359 bool inline_vector_extract();
360 bool inline_vector_insert();
361 bool inline_vector_compress_expand();
362 bool inline_index_vector();
363 bool inline_index_partially_in_upper_range();
364
365 bool inline_timestamp(bool serial);
366
367 Node* gen_call_to_svml(int vector_api_op_id, BasicType bt, int num_elem, Node* opd1, Node* opd2);
368
369 enum VectorMaskUseType {
370 VecMaskUseLoad = 1 << 0,
371 VecMaskUseStore = 1 << 1,
372 VecMaskUseAll = VecMaskUseLoad | VecMaskUseStore,
373 VecMaskUsePred = 1 << 2,
374 VecMaskNotUsed = 1 << 3
375 };
376
377 bool arch_supports_vector(int op, int num_elem, BasicType type, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
378 bool arch_supports_vector_rotate(int opc, int num_elem, BasicType elem_bt, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
379
380 void clear_upper_avx() {
381 #ifdef X86
382 if (UseAVX >= 2) {
383 C->set_clear_upper_avx(true);
384 }
385 #endif
386 }
387
388 bool inline_getObjectSize();
389
390 bool inline_blackhole();
391
392 bool inline_sizeOf();
393 bool inline_sizeOf_impl(Node* obj);
394
395 bool inline_addressOf();
396
397 };
398
|