20#ifndef GCC_OPTABS_QUERY_H
21#define GCC_OPTABS_QUERY_H
23#include "insn-opinit.h"
40 unsigned scode = (op << 20) | mode;
174enum insn_code
can_extend_p (machine_mode, machine_mode,
int);
175enum insn_code
can_float_p (machine_mode, machine_mode,
int);
176enum insn_code
can_fix_p (machine_mode, machine_mode,
int,
bool *);
184#define find_widening_optab_handler(A, B, C) \
185 find_widening_optab_handler_and_mode (A, B, C, NULL)
Definition machmode.h:427
Definition vec-perm-indices.h:51
optimization_type
Definition coretypes.h:272
@ unknown_optab
Definition gensupport.h:58
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
bool trapv_binoptab_p(optab binoptab)
Definition optabs-query.h:85
bool get_best_mem_extraction_insn(extraction_insn *, enum extraction_pattern, HOST_WIDE_INT, HOST_WIDE_INT, machine_mode)
Definition optabs-query.cc:258
enum insn_code find_widening_optab_handler_and_mode(optab, machine_mode, machine_mode, machine_mode *)
Definition optabs-query.cc:470
bool can_vec_perm_const_p(machine_mode, machine_mode, const vec_perm_indices &, bool=true)
Definition optabs-query.cc:420
bool supports_vec_gather_load_p(machine_mode=E_VOIDmode)
Definition optabs-query.cc:689
enum insn_code get_vcond_eq_icode(machine_mode vmode, machine_mode cmode)
Definition optabs-query.h:138
bool lshift_cheap_p(bool)
Definition optabs-query.cc:641
enum insn_code get_vec_cmp_icode(machine_mode vmode, machine_mode mask_mode, bool uns)
Definition optabs-query.h:96
enum insn_code can_float_p(machine_mode, machine_mode, int)
Definition optabs-query.cc:291
bool can_vec_extract(machine_mode, machine_mode)
Definition optabs-query.cc:722
enum insn_code get_vec_cmp_eq_icode(machine_mode vmode, machine_mode mask_mode)
Definition optabs-query.h:106
enum insn_code can_extend_p(machine_mode, machine_mode, int)
Definition optabs-query.cc:276
bool can_vec_perm_var_p(machine_mode)
Definition optabs-query.cc:378
bool can_conditionally_move_p(machine_mode mode)
Definition optabs-query.cc:344
enum insn_code get_vcond_icode(machine_mode vmode, machine_mode cmode, bool uns)
Definition optabs-query.h:115
bool can_compare_and_swap_p(machine_mode, bool)
Definition optabs-query.cc:580
opt_machine_mode qimode_for_vec_perm(machine_mode)
Definition optabs-query.cc:355
enum insn_code can_fix_p(machine_mode, machine_mode, int, bool *)
Definition optabs-query.cc:306
enum insn_code convert_optab_handler(convert_optab op, machine_mode to_mode, machine_mode from_mode)
Definition optabs-query.h:50
enum insn_code optab_handler(optab op, machine_mode mode)
Definition optabs-query.h:38
bool convert_optab_p(optab op)
Definition optabs-query.h:29
int can_mult_highpart_p(machine_mode, bool)
Definition optabs-query.cc:510
extraction_pattern
Definition optabs-query.h:144
@ EP_extzv
Definition optabs-query.h:144
@ EP_insv
Definition optabs-query.h:144
@ EP_extv
Definition optabs-query.h:144
enum insn_code get_vcond_mask_icode(machine_mode vmode, machine_mode mmode)
Definition optabs-query.h:129
bool can_atomic_load_p(machine_mode)
Definition optabs-query.cc:623
bool trapv_unoptab_p(optab unoptab)
Definition optabs-query.h:76
enum insn_code direct_optab_handler(direct_optab op, machine_mode mode)
Definition optabs-query.h:65
bool get_best_reg_extraction_insn(extraction_insn *, enum extraction_pattern, unsigned HOST_WIDE_INT, machine_mode)
Definition optabs-query.cc:239
bool supports_vec_scatter_store_p(machine_mode=E_VOIDmode)
Definition optabs-query.cc:706
bool selector_fits_mode_p(machine_mode, const vec_perm_indices &)
Definition optabs-query.cc:366
bool can_atomic_exchange_p(machine_mode, bool)
Definition optabs-query.cc:603
#define gcc_assert(EXPR)
Definition system.h:821