62 ENUM_BITFIELD (machine_mode)
mode : 16;
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,
275 machine_mode,
int,
rtx,
286#include "insn-config.h"
288#ifndef GCC_INSN_CONFIG_H
289#error "insn-config.h must be included before optabs.h"
301 rtx,
rtx, machine_mode,
int);
374 unsigned int opno,
unsigned int nops,
382extern void expand_insn (
enum insn_code icode,
unsigned int nops,
390 tree t_op0,
tree t_op1,
bool unsignedp,
391 enum insn_code icode,
unsigned int opno);
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
enum machine_mode mode
Definition optabs.h:62
poly_int64 int_value
Definition optabs.h:68
unsigned int unused
Definition optabs.h:58
Definition genmatch.cc:1468
Definition profile-count.h:147
static profile_probability uninitialized()
Definition profile-count.h:239
union tree_node * tree
Definition coretypes.h:97
static type_p type(options_p *optsp, bool nested)
Definition gengtype-parse.cc:883
tree_code
Definition genmatch.cc:992
HARD_REG_ELT_TYPE HARD_REG_SET
Definition hard-reg-set.h:47
memmodel
Definition memmodel.h:38
void expand_float(rtx, rtx, int)
Definition optabs.cc:5516
bool can_compare_p(enum rtx_code, machine_mode, enum can_compare_purpose)
Definition optabs.cc:4290
rtx expand_atomic_test_and_set(rtx, rtx, enum memmodel)
Definition optabs.cc:7015
rtx expand_atomic_store(rtx, rtx, enum memmodel, bool)
Definition optabs.cc:7405
void emit_libcall_block(rtx_insn *, rtx, rtx, rtx)
Definition optabs.cc:4276
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
rtx expand_mult_highpart(machine_mode, rtx, rtx, rtx, bool)
Definition optabs.cc:6693
rtx expand_widening_mult(machine_mode, rtx, rtx, rtx, int, optab)
Definition expmed.cc:3667
bool maybe_expand_jump_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8249
rtx expand_vector_broadcast(machine_mode, rtx)
Definition optabs.cc:430
rtx expand_one_cmpl_abs_nojump(machine_mode, rtx, rtx)
Definition optabs.cc:3800
bool expand_twoval_binop_libfunc(optab, rtx, rtx, rtx, rtx, enum rtx_code)
Definition optabs.cc:2536
rtx expand_atomic_fetch_op(rtx, rtx, rtx, enum rtx_code, enum memmodel, bool)
Definition optabs.cc:7774
rtx expand_ternary_op(machine_mode mode, optab ternary_optab, rtx op0, rtx op1, rtx op2, rtx target, int unsignedp)
Definition optabs.cc:371
bool can_vec_extract_var_idx_p(machine_mode, machine_mode)
Definition optabs.cc:4387
enum rtx_code get_rtx_code_1(enum tree_code tcode, bool unsignedp)
Definition optabs.cc:6177
rtx_insn * maybe_gen_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8178
void expand_fix(rtx, rtx, int)
Definition optabs.cc:5722
enum rtx_code get_rtx_code(enum tree_code tcode, bool unsignedp)
Definition optabs.cc:6245
void emit_indirect_jump(rtx)
Definition optabs.cc:4976
rtx_insn * gen_add3_insn(rtx, rtx, rtx)
Definition optabs.cc:5377
bool expand_atomic_compare_and_swap(rtx *, rtx *, rtx, rtx, rtx, bool, enum memmodel, enum memmodel)
Definition optabs.cc:7106
rtx expand_vec_cmp_expr(tree, tree, rtx)
Definition optabs.cc:6653
rtx prepare_operand(enum insn_code, rtx, int, machine_mode, machine_mode, int)
Definition optabs.cc:4650
rtx expand_vec_perm_const(machine_mode, rtx, rtx, const vec_perm_builder &, machine_mode, rtx)
Definition optabs.cc:6396
rtx simplify_expand_binop(machine_mode mode, optab binoptab, rtx op0, rtx op1, rtx target, int unsignedp, enum optab_methods methods)
Definition optabs.cc:393
rtx expand_atomic_exchange(rtx, rtx, rtx, enum memmodel)
Definition optabs.cc:7073
void create_convert_operand_from(class expand_operand *op, rtx value, machine_mode mode, bool unsigned_p)
Definition optabs.h:151
rtx_insn * gen_cond_trap(enum rtx_code, rtx, rtx, rtx)
Definition optabs.cc:6132
bool insn_operand_matches(enum insn_code icode, unsigned int opno, rtx operand)
Definition optabs.cc:7900
rtx_insn * gen_addptr3_insn(rtx, rtx, rtx)
Definition optabs.cc:5413
rtx expand_sync_lock_test_and_set(rtx, rtx, rtx)
Definition optabs.cc:6982
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
bool maybe_legitimize_operands(enum insn_code icode, unsigned int opno, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8136
void expand_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8265
bool have_insn_for(enum rtx_code, machine_mode)
Definition optabs.cc:6079
void expand_mem_signal_fence(enum memmodel)
Definition optabs.cc:7332
void create_convert_operand_from_type(class expand_operand *op, rtx value, tree type)
Definition optabs.cc:8085
bool valid_multiword_target_p(rtx)
Definition optabs.cc:7912
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
rtx expand_doubleword_divmod(machine_mode, rtx, rtx, rtx *, bool)
Definition optabs.cc:1176
bool force_expand_binop(machine_mode, optab, rtx, rtx, rtx, int, enum optab_methods)
Definition optabs.cc:412
void create_address_operand(class expand_operand *op, rtx value)
Definition optabs.h:162
bool have_add2_insn(rtx, rtx)
Definition optabs.cc:5391
bool maybe_emit_unop_insn(enum insn_code, rtx, rtx, enum rtx_code)
Definition optabs.cc:4086
bool have_sub2_insn(rtx, rtx)
Definition optabs.cc:5479
bool expand_twoval_binop(optab, rtx, rtx, rtx, rtx, int)
Definition optabs.cc:2456
bool can_vec_cmp_compare_p(enum rtx_code, machine_mode, machine_mode)
Definition optabs.cc:4347
rtx expand_abs(machine_mode, rtx, rtx, int, int)
Definition optabs.cc:3745
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_cmov
Definition optabs.h:251
@ ccp_store_flag
Definition optabs.h:252
rtx_insn * gen_sub2_insn(rtx, rtx)
Definition optabs.cc:5450
rtx expand_simple_unop(machine_mode, enum rtx_code, rtx, rtx, int)
Definition optabs.cc:2581
rtx expand_atomic_load(rtx, rtx, enum memmodel)
Definition optabs.cc:7347
rtx expand_unop(machine_mode, optab, rtx, rtx, int)
Definition optabs.cc:3239
void emit_cmp_and_jump_insns(rtx, rtx, enum rtx_code, rtx, machine_mode, int, rtx, profile_probability prob=profile_probability::uninitialized())
Definition optabs.cc:4833
rtx expand_vec_series_expr(machine_mode, rtx, rtx, rtx)
Definition optabs.cc:6633
rtx expand_copysign(rtx, rtx, rtx)
Definition optabs.cc:4032
rtx expand_binop(machine_mode, optab, rtx, rtx, rtx, int, enum optab_methods)
Definition optabs.cc:1493
rtx_insn * gen_add2_insn(rtx, rtx)
Definition optabs.cc:5362
rtx_insn * gen_sub3_insn(rtx, rtx, rtx)
Definition optabs.cc:5465
void create_input_operand(class expand_operand *op, rtx value, machine_mode mode)
Definition optabs.h:115
rtx sign_expand_binop(machine_mode, optab, optab, rtx, rtx, rtx, int, enum optab_methods)
Definition optabs.cc:2324
rtx expand_abs_nojump(machine_mode, rtx, rtx, int)
Definition optabs.cc:3675
rtx emit_conditional_add(rtx, enum rtx_code, rtx, rtx, machine_mode, rtx, rtx, machine_mode, int)
Definition optabs.cc:5283
bool can_vec_set_var_idx_p(machine_mode)
Definition optabs.cc:4362
bool maybe_expand_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8234
bool expand_twoval_unop(optab, rtx, rtx, rtx, int)
Definition optabs.cc:2384
bool expand_sfix_optab(rtx, rtx, convert_optab)
Definition optabs.cc:6037
void expand_mem_thread_fence(enum memmodel)
Definition optabs.cc:7312
void expand_fixed_convert(rtx, rtx, int, int)
Definition optabs.cc:5982
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:6258
rtx_insn * gen_extend_insn(rtx, rtx, machine_mode, machine_mode, int)
Definition optabs.cc:5502
void expand_asm_reg_clobber_mem_blockage(HARD_REG_SET)
Definition optabs.cc:7270
void emit_unop_insn(enum insn_code, rtx, rtx, enum rtx_code)
Definition optabs.cc:4116
rtx expand_vec_perm_var(machine_mode, rtx, rtx, rtx, rtx)
Definition optabs.cc:6558
void create_integer_operand(class expand_operand *, poly_int64)
Definition optabs.cc:7933
void create_output_operand(class expand_operand *op, rtx x, machine_mode mode)
Definition optabs.h:103
rtx expand_simple_binop(machine_mode, enum rtx_code, rtx, rtx, rtx, int, enum optab_methods)
Definition optabs.cc:1260
void create_fixed_operand(class expand_operand *op, rtx x)
Definition optabs.h:92
rtx emit_conditional_neg_or_complement(rtx, rtx_code, machine_mode, rtx, rtx, rtx)
Definition optabs.cc:5229
rtx emit_conditional_move(rtx, rtx_comparison, rtx, rtx, machine_mode, int)
Definition optabs.cc:5005
void expand_jump_insn(enum insn_code icode, unsigned int nops, class expand_operand *ops)
Definition optabs.cc:8275
bool have_addptr3_insn(rtx, rtx, rtx)
Definition optabs.cc:5428
void create_undefined_input_operand(class expand_operand *op, machine_mode mode)
Definition optabs.h:125
rtx expand_widen_pattern_expr(const struct separate_ops *, rtx, rtx, rtx, rtx, int)
rtx_code
Definition rtl.h:48
Definition gengtype.h:252