77 rtx value, machine_mode mode,
136 machine_mode mode,
bool unsigned_p)
152 machine_mode mode,
bool unsigned_p)
191 rtx op0,
rtx op1,
rtx target,
int unsignedp,
274 machine_mode,
int,
rtx,
285#include "insn-config.h"
287#ifndef GCC_INSN_CONFIG_H
288#error "insn-config.h must be included before optabs.h"
300 rtx,
rtx, machine_mode,
int);
377 unsigned int opno,
unsigned int nops,
385extern void expand_insn (
enum insn_code icode,
unsigned int nops,
393 tree t_op0,
tree t_op1,
bool unsignedp,
394 enum insn_code icode,
unsigned int opno);
machine_mode mode
Definition optabs.h:62
rtx value
Definition optabs.h:65
enum expand_operand_type type
Definition optabs.h:48
unsigned int target
Definition optabs.h:55
unsigned int unsigned_p
Definition optabs.h:52
poly_int64 int_value
Definition optabs.h:68
unsigned int unused
Definition optabs.h:58
Definition genmatch.cc:1597
Definition profile-count.h:149
static profile_probability uninitialized()
Definition profile-count.h:254
Definition vec-perm-indices.h:51
struct rtx_def * rtx
Definition coretypes.h:57
union tree_node * tree
Definition coretypes.h:97
rtx expand_widening_mult(machine_mode mode, rtx op0, rtx op1, rtx target, int unsignedp, optab this_optab)
Definition expmed.cc:3752
tree_code
Definition genmatch.cc:1011
HARD_REG_ELT_TYPE HARD_REG_SET
Definition hard-reg-set.h:47
memmodel
Definition memmodel.h:38
bool expand_atomic_compare_and_swap(rtx *ptarget_bool, rtx *ptarget_oval, rtx mem, rtx expected, rtx desired, bool is_weak, enum memmodel succ_model, enum memmodel fail_model)
Definition optabs.cc:7537
rtx expand_atomic_test_and_set(rtx target, rtx mem, enum memmodel model)
Definition optabs.cc:7446
rtx expand_unop(machine_mode mode, optab unoptab, rtx op0, rtx target, int unsignedp)
Definition optabs.cc:3417
rtx_insn * gen_add2_insn(rtx x, rtx y)
Definition optabs.cc:5746
bool maybe_expand_jump_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8694
rtx expand_mult_highpart(machine_mode mode, rtx op0, rtx op1, rtx target, bool uns_p)
Definition optabs.cc:7117
rtx expand_ternary_op(machine_mode mode, optab ternary_optab, rtx op0, rtx op1, rtx op2, rtx target, int unsignedp)
Definition optabs.cc:377
enum rtx_code get_rtx_code_1(enum tree_code tcode, bool unsignedp)
Definition optabs.cc:6557
rtx_insn * gen_cond_trap(enum rtx_code code, rtx op1, rtx op2, rtx tcode)
Definition optabs.cc:6513
rtx expand_atomic_fetch_op(rtx target, rtx mem, rtx val, enum rtx_code code, enum memmodel model, bool after)
Definition optabs.cc:8214
rtx_insn * maybe_gen_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8623
rtx_insn * gen_add3_insn(rtx r0, rtx r1, rtx c)
Definition optabs.cc:5761
rtx expand_vec_cmp_expr(tree type, tree exp, rtx target)
Definition optabs.cc:7077
rtx expand_binop(machine_mode mode, optab binoptab, rtx op0, rtx op1, rtx target, int unsignedp, enum optab_methods methods)
Definition optabs.cc:1519
enum rtx_code get_rtx_code(enum tree_code tcode, bool unsignedp)
Definition optabs.cc:6625
rtx_insn * gen_extend_insn(rtx x, rtx y, machine_mode mto, machine_mode mfrom, int unsignedp)
Definition optabs.cc:5886
void emit_cmp_and_jump_insns(rtx x, rtx y, enum rtx_code comparison, rtx size, machine_mode mode, int unsignedp, tree val, rtx label, profile_probability prob)
Definition optabs.cc:4981
rtx expand_vec_perm_var(machine_mode mode, rtx v0, rtx v1, rtx sel, rtx target)
Definition optabs.cc:6982
rtx_insn * gen_sub2_insn(rtx x, rtx y)
Definition optabs.cc:5834
bool can_vec_extract_var_idx_p(machine_mode vec_mode, machine_mode extr_mode)
Definition optabs.cc:4565
rtx expand_simple_unop(machine_mode mode, enum rtx_code code, rtx op0, rtx target, int unsignedp)
Definition optabs.cc:2625
void expand_mem_signal_fence(enum memmodel model)
Definition optabs.cc:7764
rtx expand_vec_perm_const(machine_mode mode, rtx v0, rtx v1, const vec_perm_builder &sel, machine_mode sel_mode, rtx target)
Definition optabs.cc:6820
rtx_insn * gen_addptr3_insn(rtx x, rtx y, rtx z)
Definition optabs.cc:5797
rtx expand_simple_binop(machine_mode mode, enum rtx_code code, rtx op0, rtx op1, rtx target, int unsignedp, enum optab_methods methods)
Definition optabs.cc:1289
rtx expand_doubleword_divmod(machine_mode mode, rtx op0, rtx op1, rtx *rem, bool unsignedp)
Definition optabs.cc:1205
bool have_add2_insn(rtx x, rtx y)
Definition optabs.cc:5775
rtx simplify_expand_binop(machine_mode mode, optab binoptab, rtx op0, rtx op1, rtx target, int unsignedp, enum optab_methods methods)
Definition optabs.cc:399
bool insn_operand_matches(enum insn_code icode, unsigned int opno, rtx operand)
Definition optabs.cc:8345
bool can_compare_p(enum rtx_code code, machine_mode mode, enum can_compare_purpose purpose)
Definition optabs.cc:4471
rtx expand_vec_series_expr(machine_mode vmode, rtx op0, rtx op1, rtx target)
Definition optabs.cc:7057
rtx vec_perm_and_mask(machine_mode mode, const vec_perm_indices &sel, bool zero_op0_p)
Definition optabs.cc:6776
rtx emit_conditional_add(rtx target, enum rtx_code code, rtx op0, rtx op1, machine_mode cmode, rtx op2, rtx op3, machine_mode mode, int unsignedp)
Definition optabs.cc:5667
bool maybe_legitimize_operands(enum insn_code icode, unsigned int opno, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8581
rtx expand_sync_lock_test_and_set(rtx target, rtx mem, rtx val)
Definition optabs.cc:7413
void emit_unop_insn(enum insn_code icode, rtx target, rtx op0, enum rtx_code code)
Definition optabs.cc:4297
void expand_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8710
void create_convert_operand_from_type(class expand_operand *op, rtx value, tree type)
Definition optabs.cc:8530
bool expand_twoval_binop_libfunc(optab binoptab, rtx op0, rtx op1, rtx targ0, rtx targ1, enum rtx_code code)
Definition optabs.cc:2581
bool valid_multiword_target_p(rtx target)
Definition optabs.cc:8357
rtx emit_conditional_move(rtx target, struct rtx_comparison comp, rtx op2, rtx op3, machine_mode mode, int unsignedp)
Definition optabs.cc:5389
void emit_indirect_jump(rtx loc)
Definition optabs.cc:5360
rtx emit_conditional_neg_or_complement(rtx target, rtx_code code, machine_mode mode, rtx cond, rtx op1, rtx op2)
Definition optabs.cc:5613
bool expand_sfix_optab(rtx to, rtx from, convert_optab tab)
Definition optabs.cc:6418
void emit_libcall_block(rtx_insn *insns, rtx target, rtx result, rtx equiv)
Definition optabs.cc:4457
rtx sign_expand_binop(machine_mode mode, optab uoptab, optab soptab, rtx op0, rtx op1, rtx target, int unsignedp, enum optab_methods methods)
Definition optabs.cc:2369
rtx expand_widen_pattern_expr(const_sepops ops, rtx op0, rtx op1, rtx wide_op, rtx target, int unsignedp)
Definition optabs.cc:258
rtx expand_copysign(rtx op0, rtx op1, rtx target)
Definition optabs.cc:4213
rtx expand_atomic_exchange(rtx target, rtx mem, rtx val, enum memmodel model)
Definition optabs.cc:7504
rtx expand_atomic_store(rtx mem, rtx val, enum memmodel model, bool use_release)
Definition optabs.cc:7837
bool expand_twoval_binop(optab binoptab, rtx op0, rtx op1, rtx targ0, rtx targ1, int unsignedp)
Definition optabs.cc:2501
rtx prepare_operand(enum insn_code icode, rtx x, int opnum, machine_mode mode, machine_mode wider_mode, int unsignedp)
Definition optabs.cc:4831
bool force_expand_binop(machine_mode mode, optab binoptab, rtx op0, rtx op1, rtx target, int unsignedp, enum optab_methods methods)
Definition optabs.cc:418
bool maybe_expand_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8679
bool maybe_emit_unop_insn(enum insn_code icode, rtx target, rtx op0, enum rtx_code code)
Definition optabs.cc:4267
void expand_asm_reg_clobber_mem_blockage(HARD_REG_SET regs)
Definition optabs.cc:7701
rtx vector_compare_rtx(machine_mode cmp_mode, enum tree_code tcode, tree t_op0, tree t_op1, bool unsignedp, enum insn_code icode, unsigned int opno)
Definition optabs.cc:6638
void create_integer_operand(class expand_operand *op, poly_int64 intval)
Definition optabs.cc:8378
rtx expand_atomic_load(rtx target, rtx mem, enum memmodel model)
Definition optabs.cc:7779
bool can_vec_cmp_compare_p(enum rtx_code code, machine_mode value_mode, machine_mode mask_mode)
Definition optabs.cc:4525
bool have_sub2_insn(rtx x, rtx y)
Definition optabs.cc:5863
rtx expand_one_cmpl_abs_nojump(machine_mode mode, rtx op0, rtx target)
Definition optabs.cc:3982
void expand_mem_thread_fence(enum memmodel model)
Definition optabs.cc:7744
rtx expand_vector_broadcast(machine_mode vmode, rtx op)
Definition optabs.cc:437
void expand_fix(rtx to, rtx from, int unsignedp)
Definition optabs.cc:6105
bool can_vec_set_var_idx_p(machine_mode vec_mode)
Definition optabs.cc:4540
rtx_insn * gen_sub3_insn(rtx r0, rtx r1, rtx c)
Definition optabs.cc:5849
bool have_insn_for(enum rtx_code code, machine_mode mode)
Definition optabs.cc:6460
void expand_float(rtx to, rtx from, int unsignedp)
Definition optabs.cc:5900
rtx expand_abs_nojump(machine_mode mode, rtx op0, rtx target, int result_unsignedp)
Definition optabs.cc:3866
void expand_fixed_convert(rtx to, rtx from, int uintp, int satp)
Definition optabs.cc:6364
void expand_jump_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8720
bool expand_twoval_unop(optab unoptab, rtx op0, rtx targ0, rtx targ1, int unsignedp)
Definition optabs.cc:2429
rtx expand_abs(machine_mode mode, rtx op0, rtx target, int result_unsignedp, int safe)
Definition optabs.cc:3927
bool have_addptr3_insn(rtx x, rtx y, rtx z)
Definition optabs.cc:5812
optab_methods
Definition optabs.h:177
@ OPTAB_LIB_WIDEN
Definition optabs.h:181
@ OPTAB_MUST_WIDEN
Definition optabs.h:182
@ OPTAB_LIB
Definition optabs.h:179
@ OPTAB_DIRECT
Definition optabs.h:178
@ OPTAB_WIDEN
Definition optabs.h:180
void create_convert_operand_from(class expand_operand *op, rtx value, machine_mode mode, bool unsigned_p)
Definition optabs.h:151
void create_expand_operand(class expand_operand *op, enum expand_operand_type type, rtx value, machine_mode mode, bool unsigned_p, poly_int64 int_value=0)
Definition optabs.h:75
expand_operand_type
Definition optabs.h:33
@ EXPAND_FIXED
Definition optabs.h:34
@ EXPAND_INPUT
Definition optabs.h:36
@ EXPAND_INTEGER
Definition optabs.h:40
@ EXPAND_ADDRESS
Definition optabs.h:39
@ EXPAND_OUTPUT
Definition optabs.h:35
@ EXPAND_CONVERT_FROM
Definition optabs.h:38
@ EXPAND_UNDEFINED_INPUT
Definition optabs.h:41
@ EXPAND_CONVERT_TO
Definition optabs.h:37
void create_address_operand(class expand_operand *op, rtx value)
Definition optabs.h:162
void create_convert_operand_to(class expand_operand *op, rtx value, machine_mode mode, bool unsigned_p)
Definition optabs.h:135
can_compare_purpose
Definition optabs.h:249
@ ccp_jump
Definition optabs.h:250
@ ccp_store_flag
Definition optabs.h:251
void create_input_operand(class expand_operand *op, rtx value, machine_mode mode)
Definition optabs.h:115
void create_output_operand(class expand_operand *op, rtx x, machine_mode mode)
Definition optabs.h:103
void create_fixed_operand(class expand_operand *op, rtx x)
Definition optabs.h:92
void create_undefined_input_operand(class expand_operand *op, machine_mode mode)
Definition optabs.h:125
poly_int< NUM_POLY_INT_COEFFS, HOST_WIDE_INT > poly_int64
Definition poly-int-types.h:24
rtx_code
Definition rtl.h:48
Definition gengtype.h:252
int_vector_builder< poly_int64 > vec_perm_builder
Definition vec-perm-indices.h:28