#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "rtl.h"#include "tree.h"#include "regs.h"#include "hard-reg-set.h"#include "real.h"#include "insn-config.h"#include "conditions.h"#include "insn-flags.h"#include "output.h"#include "insn-attr.h"#include "flags.h"#include "recog.h"#include "reload.h"#include "expr.h"#include "obstack.h"#include "except.h"#include "function.h"#include "optabs.h"#include "toplev.h"#include "basic-block.h"#include "tm_p.h"#include "ggc.h"#include <ctype.h>#include "target.h"#include "target-def.h"#include "targhooks.h"#include "integrate.h"#include "langhooks.h"#include "gt-frv.h"

Go to the source code of this file.
| #define FOR_EACH_REGNO | ( | REG, | |||
| X | ) |
| #define FRV_SYMBOL_REF_TLS_P | ( | RTX | ) | (GET_CODE (RTX) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (RTX) != 0) |
| #define MASK_DEFAULT_ALLOC_CC MASK_ALLOC_CC |
| #define NTH_UNIT | ( | GROUP, | |||
| N | ) | frv_unit_codes[(GROUP) + (N) * 2 + 1] |
| #define REGSTATE_IF_EITHER (REGSTATE_IF_TRUE | REGSTATE_IF_FALSE) |
| #define TARGET_ARG_PARTIAL_BYTES frv_arg_partial_bytes |
| #define TARGET_ASM_CAN_OUTPUT_MI_THUNK default_can_output_mi_thunk_no_vcall |
| #define TARGET_ASM_CONSTRUCTOR frv_asm_out_constructor |
| #define TARGET_ASM_DESTRUCTOR frv_asm_out_destructor |
| #define TARGET_ASM_FUNCTION_EPILOGUE frv_function_epilogue |
| #define TARGET_ASM_FUNCTION_PROLOGUE frv_function_prologue |
| #define TARGET_ASM_INTEGER frv_assemble_integer |
| #define TARGET_ASM_OUTPUT_MI_THUNK frv_asm_output_mi_thunk |
| #define TARGET_CANNOT_FORCE_CONST_MEM frv_cannot_force_const_mem |
| #define TARGET_DEFAULT_TARGET_FLAGS |
Value:
(MASK_DEFAULT_ALLOC_CC \ | MASK_COND_MOVE \ | MASK_SCC \ | MASK_COND_EXEC \ | MASK_VLIW_BRANCH \ | MASK_MULTI_CE \ | MASK_NESTED_CE)
| #define TARGET_EXPAND_BUILTIN frv_expand_builtin |
| #define TARGET_EXPAND_BUILTIN_SAVEREGS frv_expand_builtin_saveregs |
| #define TARGET_FUNCTION_OK_FOR_SIBCALL frv_function_ok_for_sibcall |
| #define TARGET_HANDLE_OPTION frv_handle_option |
| #define TARGET_HAVE_TLS HAVE_AS_TLS |
| #define TARGET_IN_SMALL_DATA_P frv_in_small_data_p |
| #define TARGET_INIT_BUILTINS frv_init_builtins |
| #define TARGET_INIT_LIBFUNCS frv_init_libfuncs |
| #define TARGET_MACHINE_DEPENDENT_REORG frv_reorg |
| #define TARGET_MUST_PASS_IN_STACK frv_must_pass_in_stack |
| #define TARGET_PASS_BY_REFERENCE hook_pass_by_reference_must_pass_in_stack |
| #define TARGET_RTX_COSTS frv_rtx_costs |
| #define TARGET_SCHED_ISSUE_RATE frv_issue_rate |
| #define TARGET_SETUP_INCOMING_VARARGS frv_setup_incoming_varargs |
| #define TARGET_STRUCT_VALUE_RTX frv_struct_value_rtx |
| typedef struct frv_tmp_reg_struct frv_tmp_reg_t |
| typedef unsigned char regstate_t |
| enum frv_insn_group |
| enum frv_stack_op |
| int condexec_memory_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
| int direct_return_p | ( | void | ) |
Definition at line 3911 of file frv.c.
References FALSE, frv_stack_info(), info, reload_completed, and frv_stack::total_size.
| int frv_acc_group | ( | rtx | insn | ) |
Definition at line 7004 of file frv.c.
References for_each_rtx(), frv_acc_group_1(), FRV_CPU_FR550, and PATTERN.
Definition at line 7344 of file frv.c.
References frv_insn_unit(), frv_packet, frv_registers_update(), frv_unit_groups, and PATTERN.
| int frv_adjust_field_align | ( | tree | field, | |
| int | computed | |||
| ) |
Definition at line 6500 of file frv.c.
References cur, DECL_ARTIFICIAL, DECL_BIT_FIELD, DECL_BIT_FIELD_TYPE, DECL_CONTEXT, DECL_PACKED, DECL_SIZE, gcc_assert, integer_zerop(), NULL_TREE, prev, TREE_CHAIN, TREE_CODE, TREE_TYPE, TYPE_ALIGN, and TYPE_FIELDS.
Definition at line 8027 of file frv.c.
References alignment, BARRIER_P, emit_insn_after(), frv_insert_nop_in_packet(), frv_pack_insn_p(), frv_packet, INSN_P, LABEL_P, label_to_alignment(), last, MAX, NEXT_INSN, nop, PATTERN, target, TARGET_ALIGN_LABELS, and x.
| static rtx frv_alloc_temp_reg | ( | frv_tmp_reg_t * | info, | |
| enum reg_class | class, | |||
| enum machine_mode | mode, | |||
| int | mark_as_used, | |||
| int | no_abort | |||
| ) | [static] |
Definition at line 1536 of file frv.c.
References CLEAR_HARD_REG_BIT, FIRST_PSEUDO_REGISTER, gcc_assert, gen_rtx_REG(), HARD_REG_SET, HARD_REGNO_NREGS, i, int, frv_tmp_reg_struct::next_reg, nr, NULL_RTX, reg_class_contents, frv_tmp_reg_struct::regs, and TEST_HARD_REG_BIT.
| static int frv_arg_partial_bytes | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree type | ATTRIBUTE_UNUSED, | |||
| bool named | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 3222 of file frv.c.
References bytes, fprintf(), GET_MODE_SIZE, LAST_ARG_REGNUM, ret, TARGET_DEBUG_ARG, UNITS_PER_WORD, and words.
| static int frv_arg_partial_bytes | ( | CUMULATIVE_ARGS * | , | |
| enum | machine_mode, | |||
| tree | , | |||
| bool | ||||
| ) | [static] |
Definition at line 9543 of file frv.c.
References assemble_align(), assemble_integer_with_op(), BITS_PER_UNIT, frv_assemble_integer(), gcc_assert, ok(), POINTER_SIZE, switch_to_section(), and TARGET_FDPIC.
Definition at line 9558 of file frv.c.
References assemble_align(), assemble_integer_with_op(), BITS_PER_UNIT, frv_assemble_integer(), gcc_assert, ok(), POINTER_SIZE, switch_to_section(), and TARGET_FDPIC.
| static void frv_asm_output_mi_thunk | ( | FILE * | file, | |
| tree thunk_fndecl | ATTRIBUTE_UNUSED, | |||
| HOST_WIDE_INT | delta, | |||
| HOST_WIDE_INT vcall_offset | ATTRIBUTE_UNUSED, | |||
| tree | function | |||
| ) | [static] |
Definition at line 1979 of file frv.c.
References assemble_name(), DECL_RTL, FDPIC_FPTR_REGNO, FDPIC_REGNO, FIRST_ARG_REGNUM, flag_pic, fprintf(), frv_issue_rate(), GPR_FIRST, HOST_WIDE_INT_PRINT_DEC, IN_RANGE_P, JUMP_REGNO, LR_REGNO, reg_names, TARGET_FDPIC, TEMP_REGNO, XEXP, and XSTR.
| static void frv_asm_output_mi_thunk | ( | FILE * | , | |
| tree | , | |||
| HOST_WIDE_INT | , | |||
| HOST_WIDE_INT | , | |||
| tree | ||||
| ) | [static] |
| const char* frv_asm_output_opcode | ( | FILE * | f, | |
| const char * | ptr | |||
| ) |
Definition at line 6898 of file frv.c.
References ASM_GENERATE_INTERNAL_LABEL, asm_out_file, assemble_integer_with_op(), buf, CONST, default_assemble_integer(), FIXUP_SECTION_ASM_OP, flag_pic, fprintf(), fputs(), frv_function_symbol_referenced_p(), GET_CODE, label_num, output_addr_const(), p, gcc_target::strip_name_encoding, SYMBOL_REF_FUNCTION_P, TARGET_FDPIC, and UNITS_PER_WORD.
| int frv_class_likely_spilled_p | ( | enum reg_class | class | ) |
| int frv_class_max_nregs | ( | enum reg_class | class, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 5171 of file frv.c.
References CLEAR_HARD_REG_BIT, FIRST_PSEUDO_REGISTER, GET_CODE, GET_MODE, HARD_REG_SET, HARD_REGNO_NREGS, REG, and REGNO.
| static int frv_cond_flags | ( | rtx | cond | ) | [static] |
Definition at line 7104 of file frv.c.
References const0_rtx, CR_FIRST, CR_P, EQ, gcc_assert, GET_CODE, NE, REG, REGNO, REGSTATE_IF_FALSE, REGSTATE_IF_TRUE, and XEXP.
Definition at line 866 of file frv.c.
References call_used_regs, FCC_FIRST, FCR_FIRST, fixed_regs, flag_pic, FPR_FIRST, FPR_LAST, g_switch_value, GPR_FIRST, GPR_LAST, i, ICC_FIRST, ICC_TEMP, ICR_FIRST, ICR_TEMP, NUM_FPRS, NUM_GPRS, PIC_REGNO, SDA_BASE_REG, TARGET_FDPIC, and TARGET_FIXED_CC.
Definition at line 493 of file frv.c.
References CONST, frv_small_data_reloc_p(), g_switch_value, GET_CODE, HOST_WIDE_INT, INTVAL, PLUS, UNSPEC_GOT, XEXP, XINT, and XVECEXP.
Referenced by const_unspec_operand(), frv_emit_movsi(), frv_find_base_term(), frv_print_operand(), frv_print_operand_memory_reference(), and got12_operand().
| void frv_debug_stack | ( | frv_stack_t * | info | ) |
Definition at line 1405 of file frv.c.
References current_function_decl, DECL_NAME, fflush(), frv_stack_regs::first, first, fprintf(), fputc(), frv_stack_info(), frv_stack::header_size, IDENTIFIER_POINTER, frv_stack_regs::last, last, frv_stack_regs::name, frv_stack::parameter_size, frv_stack::pretend_size, reg_names, frv_stack::reg_offset, REG_SAVE_1WORD, REG_SAVE_2WORDS, regs, frv_stack::regs, frv_stack::regs_offset, frv_stack::regs_size, frv_stack::regs_size_1word, frv_stack::regs_size_2words, frv_stack::save_p, frv_stack_regs::size_1word, frv_stack_regs::size_2words, STACK_REGS_MAX, frv_stack::total_size, frv_stack::vars_offset, and frv_stack::vars_size.
Referenced by frv_expand_prologue().
| static int frv_default_flags_for_cpu | ( | void | ) | [static] |
Definition at line 582 of file frv.c.
References FRV_CPU_FR300, FRV_CPU_FR400, FRV_CPU_FR405, FRV_CPU_FR450, FRV_CPU_FR500, FRV_CPU_FR550, FRV_CPU_GENERIC, FRV_CPU_SIMPLE, FRV_CPU_TOMCAT, gcc_unreachable, MASK_DEFAULT_FR400, MASK_DEFAULT_FR450, MASK_DEFAULT_FR500, MASK_DEFAULT_FR550, MASK_DEFAULT_FRV, and MASK_DEFAULT_SIMPLE.
Definition at line 1620 of file frv.c.
References gen_rtx_MEM(), gen_rtx_SET, GET_MODE, plus_constant, RTX_FRAME_RELATED_P, and stack_pointer_rtx.
Definition at line 4699 of file frv.c.
References emit_insn(), FCC_FIRST, force_reg(), gen_reg_rtx(), gen_rtx_COMPARE, gen_rtx_REG(), gen_rtx_SET, GET_CODE, GET_MODE, ICC_FIRST, REG, SELECT_CC_MODE, and TARGET_ALLOC_CC.
Definition at line 4730 of file frv.c.
References const0_rtx, emit_jump_insn(), frv_emit_comparison(), gen_rtx_fmt_ee(), gen_rtx_IF_THEN_ELSE, gen_rtx_LABEL_REF, gen_rtx_SET, GET_MODE, pc_rtx, and TRUE.
Definition at line 4821 of file frv.c.
References const0_rtx, emit_insn(), FCR_FIRST, force_reg(), frv_emit_comparison(), gen_reg_rtx(), gen_rtvec(), gen_rtx_CLOBBER, gen_rtx_fmt_ee(), gen_rtx_IF_THEN_ELSE, gen_rtx_PARALLEL, gen_rtx_REG(), gen_rtx_SET, GET_CODE, GET_MODE, HOST_WIDE_INT, ICR_FIRST, IN_RANGE_P, INTVAL, TARGET_ALLOC_CC, and TRUE.
| void frv_emit_move | ( | enum machine_mode | mode, | |
| rtx | dest, | |||
| rtx | src | |||
| ) |
Definition at line 3924 of file frv.c.
References copy_to_mode_reg(), emit_insn(), frv_emit_movsi(), frv_legitimize_tls_address(), gcc_unreachable, gen_rtx_SET, GET_CODE, reg_or_0_operand(), register_operand(), reload_completed, reload_in_progress, and SYMBOL_REF_TLS_MODEL.
Definition at line 3964 of file frv.c.
References cfun, compute_reloc_for_constant(), CONST, CONSTANT_POOL_ADDRESS_P, copy_to_mode_reg(), DECL_ATTRIBUTES, DECL_COMMON, DECL_INITIAL, DECL_P, decl_readonly_section(), emit_insn(), emit_move_insn(), error_mark_node, FALSE, FIRST_VIRTUAL_REGISTER, flag_pic, force_reg(), frv_const_unspec_p(), frv_function_symbol_referenced_p(), frv_legitimize_tls_address(), frv_local_funcdesc_p(), frv_small_data_reloc_p(), gcc_assert, GEN_INT, gen_rtx_REG(), gen_rtx_SET, GET_CODE, GET_MODE, get_pool_constant(), IN_RANGE_P, LAST_VIRTUAL_REGISTER, lookup_attribute(), named_section(), OUR_FDPIC_REG, PIC_REGNO, PLUS, Pmode, REG, reg_or_0_operand(), register_operand(), REGNO, reload_completed, reload_in_progress, SDA_BASE_REG, sym, SYMBOL_REF_DECL, SYMBOL_REF_EXTERNAL_P, SYMBOL_REF_FUNCTION_P, SYMBOL_REF_LOCAL_P, SYMBOL_REF_SMALL_P, SYMBOL_REF_TLS_MODEL, TARGET_FDPIC, TARGET_GPREL_RO, TREE_CODE, TRUE, x, and XEXP.
Definition at line 4755 of file frv.c.
References const0_rtx, emit_insn(), FCR_FIRST, frv_emit_comparison(), gen_reg_rtx(), gen_rtvec(), gen_rtx_CLOBBER, gen_rtx_fmt_ee(), gen_rtx_PARALLEL, gen_rtx_REG(), gen_rtx_SET, GET_MODE, ICR_FIRST, TARGET_ALLOC_CC, and TRUE.
Definition at line 8838 of file frv.c.
References emit_insn(), frv_legitimize_argument(), frv_legitimize_target(), frv_read_argument(), GEN_FCN, and NULL_RTX.
Definition at line 8891 of file frv.c.
References emit_insn(), frv_check_constant_argument(), frv_legitimize_argument(), frv_legitimize_target(), frv_read_argument(), GEN_FCN, and NULL_RTX.
| int frv_expand_block_clear | ( | rtx | operands[] | ) |
Definition at line 2332 of file frv.c.
References align, bytes, change_address(), const0_rtx, copy_addr_to_reg(), emit_insn(), FALSE, gcc_assert, gen_rtx_SET, GET_CODE, GET_MODE_SIZE, INTVAL, mode, offset, plus_constant, TOTAL_MOVE_REG, TRUE, and XEXP.
| int frv_expand_block_move | ( | rtx | operands[] | ) |
Definition at line 2233 of file frv.c.
References align, bytes, change_address(), copy_addr_to_reg(), emit_insn(), FALSE, gcc_assert, gen_reg_rtx(), gen_rtx_SET, GET_CODE, GET_MODE_SIZE, i, INTVAL, MAX_MOVE_REG, mode, offset, plus_constant, TOTAL_MOVE_REG, TRUE, and XEXP.
| static rtx frv_expand_builtin | ( | tree | exp, | |
| rtx | target, | |||
| rtx subtarget | ATTRIBUTE_UNUSED, | |||
| enum machine_mode mode | ATTRIBUTE_UNUSED, | |||
| int ignore | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 9213 of file frv.c.
References ARRAY_SIZE, builtin_description::code, d, DECL_FUNCTION_CODE, dest, emit_move_insn(), error(), force_reg(), FRV_BUILTIN_ADDSS, FRV_BUILTIN_FIRST_NONMEDIA, FRV_BUILTIN_IACCreadl, FRV_BUILTIN_IACCreadll, FRV_BUILTIN_IACCsetl, FRV_BUILTIN_IACCsetll, FRV_BUILTIN_MABSHS, FRV_BUILTIN_MADDACCS, FRV_BUILTIN_MASACCS, FRV_BUILTIN_MBTOHE, FRV_BUILTIN_MCLRACC, FRV_BUILTIN_MCLRACCA, FRV_BUILTIN_MCOP1, FRV_BUILTIN_MCOP2, FRV_BUILTIN_MCPLHI, FRV_BUILTIN_MCPLI, FRV_BUILTIN_MDADDACCS, FRV_BUILTIN_MDASACCS, FRV_BUILTIN_MDCUTSSI, FRV_BUILTIN_MDPACKH, FRV_BUILTIN_MDROTLI, FRV_BUILTIN_MDSUBACCS, FRV_BUILTIN_MDUNPACKH, FRV_BUILTIN_MHDSETH, FRV_BUILTIN_MHDSETS, FRV_BUILTIN_MHSETHIH, FRV_BUILTIN_MHSETHIS, FRV_BUILTIN_MHSETLOH, FRV_BUILTIN_MHSETLOS, FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQMACXHS, FRV_BUILTIN_MQSATHS, FRV_BUILTIN_MQSLLHI, FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_MQXMACHS, FRV_BUILTIN_MQXMACXHS, FRV_BUILTIN_MRDACC, FRV_BUILTIN_MRDACCG, FRV_BUILTIN_MSUBACCS, FRV_BUILTIN_MTRAP, FRV_BUILTIN_MWTACC, FRV_BUILTIN_MWTACCG, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SCUTSS, FRV_BUILTIN_SLASS, FRV_BUILTIN_SMASS, FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SUBSS, frv_expand_binop_builtin(), frv_expand_binopimm_builtin(), frv_expand_cut_builtin(), frv_expand_int_void2arg(), frv_expand_load_builtin(), frv_expand_mclracc_builtin(), frv_expand_mdpackh_builtin(), frv_expand_mrdacc_builtin(), frv_expand_mwtacc_builtin(), frv_expand_noargs_builtin(), frv_expand_prefetches(), frv_expand_set_builtin(), frv_expand_store_builtin(), frv_expand_unop_builtin(), frv_expand_voidaccop_builtin(), frv_expand_voidbinop_builtin(), frv_expand_voidtriop_builtin(), frv_read_argument(), frv_read_iacc_argument(), frv_split_iacc_move(), gen_reg_rtx(), i, builtin_description::icode, NULL_RTX, REG_P, src, TARGET_ACC_8, TARGET_FR405_BUILTINS, TARGET_FR500_FR550_BUILTINS, TARGET_MEDIA, TARGET_MEDIA_FR450, TARGET_MEDIA_REV1, TARGET_MEDIA_REV2, TREE_OPERAND, TREE_TYPE, TYPE_MODE, and unsigned.
Definition at line 2175 of file frv.c.
References fprintf(), FRV_NUM_ARG_REGS, GEN_INT, gen_rtx_PLUS, offset, Pmode, TARGET_DEBUG_ARG, UNITS_PER_WORD, and virtual_incoming_args_rtx.
Definition at line 2190 of file frv.c.
References build2, cfun, const0_rtx, debug_rtx(), expand_expr(), EXPAND_NORMAL, FIRST_ARG_REGNUM, fprintf(), FRV_NUM_ARG_REGS, GEN_INT, gen_rtx_PLUS, make_tree(), Pmode, ptr_type_node, TARGET_DEBUG_ARG, TREE_SIDE_EFFECTS, TREE_TYPE, UNITS_PER_WORD, and virtual_incoming_args_rtx.
Definition at line 8859 of file frv.c.
References emit_insn(), frv_check_constant_argument(), frv_int_to_acc(), frv_legitimize_argument(), frv_legitimize_target(), frv_matching_accg_for_acc(), frv_read_argument(), GEN_FCN, GET_CODE, and NULL_RTX.
Definition at line 1896 of file frv.c.
References current_function_calls_eh_return, current_function_sp_is_unchanging, EH_RETURN_STACKADJ_RTX, emit_insn(), emit_jump_insn(), emit_move_insn(), fp, frame_pointer_needed, FRAME_POINTER_REGNUM, frame_pointer_rtx, frv_frame_access_standard_regs(), frv_frame_mem(), frv_frame_offset_rtx(), FRV_LOAD, frv_stack_info(), gen_addsi3(), gen_rtx_MEM(), gen_rtx_REG(), gen_rtx_SET, gen_rtx_USE, info, lr, LR_REGNO, mem, offset, Pmode, frv_stack::reg_offset, REGNO, frv_stack::save_p, sp, stack_pointer_rtx, TEMP_REGNO, and frv_stack::total_size.
Definition at line 3748 of file frv.c.
References addr(), c, cfun, const0_rtx, dest, emit_call_insn(), emit_insn(), flag_pic, force_reg(), GEN_INT, gen_reg_rtx(), gen_rtx_REG(), GET_CODE, get_hard_reg_initial_val(), ldd_address_operand(), lr, LR_REGNO, OUR_FDPIC_REG, Pmode, SYMBOL_REF_LOCAL_P, TARGET_INLINE_PLT, TRUE, x, and XEXP.
Definition at line 8952 of file frv.c.
References emit_insn(), frv_legitimize_argument(), frv_read_argument(), GEN_FCN, and NULL_RTX.
| static rtx frv_expand_load_builtin | ( | enum insn_code | icode, | |
| enum machine_mode | target_mode, | |||
| tree | arglist, | |||
| rtx | target | |||
| ) | [static] |
Definition at line 9048 of file frv.c.
References cfun, convert_move(), cookie, copy_rtx(), emit_insn(), frv_io_address_cookie(), frv_read_argument(), frv_volatile_memref(), GEN_FCN, GEN_INT, gen_reg_rtx(), mode, and REG_P.
Referenced by frv_expand_builtin().
Definition at line 9121 of file frv.c.
References emit_insn(), frv_int_to_acc(), frv_read_argument(), GEN_FCN, builtin_description::icode, and NULL_RTX.
Definition at line 9085 of file frv.c.
References emit_insn(), emit_move_insn(), frv_legitimize_target(), frv_read_argument(), GEN_FCN, gen_reg_rtx(), gen_rtx_CLOBBER, builtin_description::icode, NULL_RTX, and simplify_gen_subreg().
Definition at line 9154 of file frv.c.
References emit_insn(), frv_int_to_acc(), frv_read_argument(), GEN_FCN, gen_reg_rtx(), NULL_RTX, and target.
Definition at line 9177 of file frv.c.
References emit_insn(), frv_int_to_acc(), frv_legitimize_argument(), frv_read_argument(), GEN_FCN, and NULL_RTX.
Definition at line 8971 of file frv.c.
References emit_insn(), force_reg(), frv_read_argument(), GEN_FCN, and Pmode.
Definition at line 1761 of file frv.c.
References frv_frame_accessor_t::base, frv_frame_accessor_t::base_offset, cfun, emit_insn(), flag_pic, fp, frame_pointer_needed, FRAME_POINTER_REGNUM, frame_pointer_rtx, frv_debug_stack(), frv_frame_access(), frv_frame_access_multi(), frv_frame_access_standard_regs(), frv_frame_insn(), frv_frame_offset_rtx(), frv_stack_info(), FRV_STORE, gen_blockage(), GEN_INT, gen_movsi(), gen_rtx_PLUS, gen_rtx_REG(), gen_rtx_SET, info, insn, LR_REGNO, OFFSET_REGNO, OLD_SP_REGNO, frv_frame_accessor_t::op, PIC_REGNO, plus_constant, Pmode, frv_stack::reg_offset, sp, stack_pointer_rtx, STACK_REGS_LR, STACK_REGS_STDARG, STACK_REGS_STRUCT, frv_stack::stdarg_size, TARGET_DEBUG_STACK, TARGET_FDPIC, and frv_stack::total_size.
Definition at line 8800 of file frv.c.
References emit_insn(), frv_check_constant_argument(), frv_legitimize_target(), frv_read_argument(), GEN_FCN, and NULL_RTX.
Definition at line 9066 of file frv.c.
References cfun, convert_move(), cookie, copy_rtx(), emit_insn(), force_reg(), frv_io_address_cookie(), frv_read_argument(), frv_volatile_memref(), GEN_FCN, GEN_INT, mode, and NULL_RTX.
Referenced by frv_expand_builtin().
Definition at line 8820 of file frv.c.
References emit_insn(), frv_legitimize_argument(), frv_legitimize_target(), frv_read_argument(), GEN_FCN, and NULL_RTX.
Definition at line 9018 of file frv.c.
References emit_insn(), frv_int_to_acc(), frv_matching_accg_for_acc(), frv_read_argument(), GEN_FCN, and NULL_RTX.
Definition at line 8914 of file frv.c.
References addr(), change_address(), copy_to_mode_reg(), emit_insn(), frv_legitimize_argument(), frv_read_argument(), GEN_FCN, gen_reg_rtx(), gen_rtx_MEM(), gen_rtx_SET, GET_CODE, MEM, offsettable_address_p(), Pmode, and XEXP.
Definition at line 8990 of file frv.c.
References emit_insn(), frv_int_to_acc(), frv_legitimize_argument(), frv_matching_accg_for_acc(), frv_read_argument(), GEN_FCN, and NULL_RTX.
Definition at line 7744 of file frv.c.
References extract_insn(), INTVAL, and XEXP.
Referenced by frv_optimize_membar_global(), and frv_optimize_membar_local().
| static void frv_fill_unused_units | ( | enum frv_insn_group | group | ) | [static] |
Definition at line 7670 of file frv.c.
References frv_insert_nop_in_packet(), frv_packet, frv_sort_insn_group(), i, and nops.
Definition at line 2436 of file frv.c.
References asm_out_file, fprintf(), INSN_P, PACKING_FLAG_P, and recog_memoized.
Definition at line 3724 of file frv.c.
References frv_const_unspec_p(), frv_small_data_reloc_p(), and plus_constant.
Definition at line 7285 of file frv.c.
References frv_packet, frv_start_packet(), and state_transition().
Definition at line 7387 of file frv.c.
References alloca, dfa_finish(), dfa_start(), find_reg_note(), flag_schedule_insns_after_reload, frv_add_insn_to_packet(), FRV_CPU_TOMCAT, frv_finish_packet(), frv_issue_rate(), frv_issues_to_branch_unit_p(), frv_pack_insn_p(), frv_packet, frv_start_packet_block(), GET_CODE, get_insns(), insn, INSN_P, NEXT_INSN, next_insn(), NULL, optimize, PATTERN, REG_EH_REGION, state_size(), state_transition(), TARGET_VLIW_BRANCH, and USE.
| static void frv_frame_access | ( | frv_frame_accessor_t * | accessor, | |
| rtx | reg, | |||
| int | stack_offset | |||
| ) | [static] |
Definition at line 1664 of file frv.c.
References frv_frame_accessor_t::base, frv_frame_accessor_t::base_offset, emit_insn(), frv_dwarf_store(), frv_frame_insn(), frv_frame_mem(), FRV_LOAD, gen_rtvec(), gen_rtx_PARALLEL, gen_rtx_REG(), gen_rtx_SET, gen_rtx_USE, GET_MODE, mem, mode, frv_frame_accessor_t::op, Pmode, REGNO, SPR_P, and TEMP_REGNO.
| static void frv_frame_access_multi | ( | frv_frame_accessor_t * | accessor, | |
| frv_stack_t * | info, | |||
| int | reg_set | |||
| ) | [static] |
Definition at line 1715 of file frv.c.
References frv_stack_regs::first, frv_frame_access(), gen_rtx_REG(), last, frv_stack::reg_offset, REG_SAVE_2WORDS, frv_stack::regs, and frv_stack::save_p.
| static void frv_frame_access_standard_regs | ( | enum frv_stack_op | op, | |
| frv_stack_t * | info | |||
| ) | [static] |
Definition at line 1737 of file frv.c.
References frv_frame_accessor_t::base, frv_frame_accessor_t::base_offset, frv_frame_access_multi(), frv_frame_accessor_t::op, stack_pointer_rtx, STACK_REGS_FPR, STACK_REGS_GPR, and STACK_REGS_LCR.
Definition at line 1637 of file frv.c.
References alloc_EXPR_LIST(), emit_insn(), insn, REG_FRAME_RELATED_EXPR, REG_NOTES, and RTX_FRAME_RELATED_P.
| static rtx frv_frame_mem | ( | enum machine_mode | mode, | |
| rtx | base, | |||
| int | offset | |||
| ) | [static] |
Definition at line 1603 of file frv.c.
References frv_frame_offset_rtx(), gen_rtx_MEM(), gen_rtx_PLUS, and Pmode.
| static rtx frv_frame_offset_rtx | ( | int | offset | ) | [static] |
Definition at line 1581 of file frv.c.
References emit_insn(), GEN_INT, gen_movsi(), gen_rtx_REG(), IN_RANGE_P, and OFFSET_REGNO.
| int frv_frame_pointer_required | ( | void | ) |
Definition at line 2090 of file frv.c.
References cfun, current_function_is_leaf, current_function_sp_is_unchanging, FALSE, flag_pic, get_frame_size(), profile_flag, TARGET_FDPIC, TARGET_LINKED_FP, and TRUE.
| rtx frv_function_arg | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree type | ATTRIBUTE_UNUSED, | |||
| int | named, | |||
| int incoming | ATTRIBUTE_UNUSED | |||
| ) |
Definition at line 3137 of file frv.c.
References const0_rtx, fprintf(), gen_rtx_REG(), GET_MODE_NAME, GET_MODE_SIZE, LAST_ARG_REGNUM, NULL_RTX, reg_names, ret, and TARGET_DEBUG_ARG.
| void frv_function_arg_advance | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree type | ATTRIBUTE_UNUSED, | |||
| int | named | |||
| ) |
Definition at line 3186 of file frv.c.
References bytes, fprintf(), GET_MODE_NAME, GET_MODE_SIZE, TARGET_DEBUG_ARG, UNITS_PER_WORD, and words.
| int frv_function_arg_boundary | ( | enum machine_mode mode | ATTRIBUTE_UNUSED, | |
| tree type | ATTRIBUTE_UNUSED | |||
| ) |
| static int frv_function_contains_far_jump | ( | void | ) | [static] |
| static void frv_function_epilogue | ( | FILE *file | ATTRIBUTE_UNUSED, | |
| HOST_WIDE_INT size | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 1874 of file frv.c.
References BITMAP_FREE, memset, frv_ifcvt_t::scratch_insns_bitmap, and frv_ifcvt_t::tmp_reg.
Definition at line 1488 of file frv.c.
References address, fprintf(), frv_function_contains_far_jump(), frv_pack_insns(), frv_stack_info(), gcc_assert, GET_CODE, get_insns(), GPR_FIRST, insn, LR_REGNO, memset, NEXT_INSN, NULL, pattern, PATTERN, REG, REGNO, regs_ever_live, RETURN, USE, XEXP, XVECEXP, and XVECLEN.
Definition at line 3835 of file frv.c.
References FALSE, format, frv_function_symbol_referenced_p(), GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, length, SYMBOL_REF_FUNCTION_P, TRUE, XEXP, XVEC, XVECEXP, and XVECLEN.
Definition at line 3665 of file frv.c.
References GEN_INT, gen_rtx_SYMBOL_REF, get_identifier(), IDENTIFIER_POINTER, and Pmode.
| static bool frv_handle_option | ( | size_t | code, | |
| const char * | arg, | |||
| int value | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 549 of file frv.c.
References FRV_CPU_FR300, FRV_CPU_FR400, FRV_CPU_FR405, FRV_CPU_FR450, FRV_CPU_FR500, FRV_CPU_FR550, FRV_CPU_GENERIC, FRV_CPU_SIMPLE, FRV_CPU_TOMCAT, and strcmp().
| int frv_hard_regno_mode_ok | ( | int | regno, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 6593 of file frv.c.
References ACC_FIRST, ACC_P, ACCG_FIRST, ACCG_P, AP_FIRST, base, CR_P, FCC_P, FLOAT_MODE_P, FPR_FIRST, FPR_P, GET_MODE_SIZE, GPR_FIRST, GPR_P, ICC_P, INTEGRAL_MODE_P, SPR_P, and VECTOR_MODE_P.
| int frv_hard_regno_nregs | ( | int | regno, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 5216 of file frv.c.
References frv_ifcvt_t::added_insns_list, alloc_EXPR_LIST(), debug_rtx(), fprintf(), INSN_UID, and TARGET_DEBUG_COND_EXEC.
| void frv_ifcvt_init_extra_fields | ( | ce_if_block_t *ce_info | ATTRIBUTE_UNUSED | ) |
Definition at line 5199 of file frv.c.
References frv_ifcvt_t::added_insns_list, frv_ifcvt_t::cr_reg, frv_ifcvt_t::cur_scratch_regs, frv_ifcvt_t::extra_fp_cr, frv_ifcvt_t::extra_int_cr, frv_ifcvt_t::last_nested_if_cr, frv_ifcvt_t::nested_cc_reg, NULL_RTX, and frv_ifcvt_t::num_nested_cond_exec.
Definition at line 5732 of file frv.c.
References const0_rtx, CONSTANT_P, frv_ifcvt_t::cur_scratch_regs, dump_file, fprintf(), fputs(), frv_alloc_temp_reg(), gen_rtx_REG(), gen_rtx_SET, GET_CODE, GPR_FIRST, GPR_REGS, GPR_TEMP_NUM, i, INTVAL, LR_REGNO, NULL_RTX, REG, reg_names, REGNO, rtx_equal_p(), frv_ifcvt_t::scratch_regs, SET_DEST, SET_SRC, frv_ifcvt_t::tmp_reg, and TRUE.
| void frv_ifcvt_modify_cancel | ( | ce_if_block_t *ce_info | ATTRIBUTE_UNUSED | ) |
Definition at line 6216 of file frv.c.
References frv_ifcvt_t::added_insns_list, frv_ifcvt_t::cur_scratch_regs, free_EXPR_LIST_node(), i, NULL_RTX, p, frv_ifcvt_t::scratch_regs, and XEXP.
| void frv_ifcvt_modify_final | ( | ce_if_block_t *ce_info | ATTRIBUTE_UNUSED | ) |
Definition at line 6161 of file frv.c.
References frv_ifcvt_t::added_insns_list, BITMAP_ALLOC, bitmap_set_bit(), frv_ifcvt_t::cur_scratch_regs, emit_insn_after(), emit_insn_before(), free_EXPR_LIST_node(), gcc_assert, i, insn, INSN_UID, NULL, NULL_RTX, p, frv_ifcvt_t::scratch_insns_bitmap, frv_ifcvt_t::scratch_regs, and XEXP.
| rtx frv_ifcvt_modify_insn | ( | ce_if_block_t * | ce_info, | |
| rtx | pattern, | |||
| rtx | insn | |||
| ) |
Definition at line 5894 of file frv.c.
References AND, and_op, ARITHMETIC_P, bitmap_bit_p(), BLOCK_FOR_INSN, CC_P, COMPARE, COMPARISON_P, COND_EXEC_CODE, COND_EXEC_TEST, const0_rtx, CONSTANT_P, copy_rtx(), frv_ifcvt_t::cr_reg, debug_rtx(), dest, ce_if_block::else_bb, fail, FALSE, fprintf(), frv_ifcvt_add_insn(), frv_ifcvt_load_value(), frv_ifcvt_rewrite_mem(), gcc_assert, gen_rtx_fmt_ee(), gen_rtx_IF_THEN_ELSE, gen_rtx_MULT, gen_rtx_SET, gen_rtx_SIGN_EXTEND, gen_rtx_USE, GET_CODE, GET_MODE, basic_block_def::global_live_at_start, INSN_UID, integer_register_operand(), ce_if_block::join_bb, frv_ifcvt_t::last_nested_if_cr, MEM, mode, NE, frv_ifcvt_t::nested_cc_ok_rewrite, frv_ifcvt_t::nested_cc_reg, NULL_RTX, ce_if_block::pass, PATTERN, PUT_MODE, REG, REG_P, REGNO, REGNO_REG_SET_P, rtx_equal_p(), frv_ifcvt_t::scratch_insns_bitmap, SET_DEST, SET_SRC, SIGN_EXTEND, single_set_pattern(), src, TARGET_DEBUG_COND_EXEC, TEST_HARD_REG_BIT, TRUE, and XEXP.
| void frv_ifcvt_modify_multiple_tests | ( | ce_if_block_t * | ce_info, | |
| basic_block | bb, | |||
| rtx * | p_true, | |||
| rtx * | p_false | |||
| ) |
Definition at line 5600 of file frv.c.
References ce_if_block::and_and_p, BB_END, cc, CLEAR_HARD_REG_BIT, compare, const0_rtx, debug_rtx(), EQ, frv_ifcvt_t::extra_fp_cr, frv_ifcvt_t::extra_int_cr, fail, FCR_REGS, fprintf(), fputs(), frv_alloc_temp_reg(), frv_ifcvt_add_insn(), gen_rtx_EQ, gen_rtx_fmt_ee(), gen_rtx_IF_THEN_ELSE, gen_rtx_NE, gen_rtx_SET, GET_CODE, GET_MODE, ICR_REGS, mode, NULL_RTX, REG, REGNO, frv_tmp_reg_struct::regs, TARGET_DEBUG_COND_EXEC, TARGET_MULTI_CE, frv_ifcvt_t::tmp_reg, TRUE, and XEXP.
| void frv_ifcvt_modify_tests | ( | ce_if_block_t * | ce_info, | |
| rtx * | p_true, | |||
| rtx * | p_false | |||
| ) |
Definition at line 5243 of file frv.c.
References frv_ifcvt_t::added_insns_list, alloca, AND_COMPL_HARD_REG_SET, BB_END, BB_HEAD, call_used_reg_set, cc, CC_FIRST, CC_LAST, CC_P, CLEAR_HARD_REG_BIT, CLEAR_HARD_REG_SET, COMPARE, COMPARISON_P, COND_EXEC_TEST, const0_rtx, COPY_HARD_REG_SET, CR_FIRST, CR_LAST, CR_P, frv_ifcvt_t::cr_reg, frv_ifcvt_t::cur_scratch_regs, dest, dump_file, EDGE_PRED, ce_if_block::else_bb, EQ, EXECUTE_IF_SET_IN_REG_SET, fail, FALSE, FCC_FIRST, FCC_LAST, FCC_REGS, FCR_REGS, FIRST_PSEUDO_REGISTER, fixed_reg_set, for_each_rtx(), fprintf(), fputs(), frv_alloc_temp_reg(), frv_clear_registers_used(), frv_ifcvt_add_insn(), gen_rtx_fmt_ee(), gen_rtx_SET, GET_CODE, GET_MODE, basic_block_def::global_live_at_start, GPR_FIRST, GPR_LAST, GPR_TEMP_NUM, ICC_FIRST, ICC_LAST, ICC_REGS, ICC_TEMP, ICR_REGS, ICR_TEMP, index(), insn, INSN_P, INSN_UID, int, ce_if_block::join_bb, last_insn, ce_if_block::last_test_bb, memset, mode, NE, frv_ifcvt_t::nested_cc_ok_rewrite, frv_ifcvt_t::nested_cc_reg, NEXT_INSN, frv_tmp_reg_struct::next_reg, NO_REGS, NULL_RTX, ce_if_block::num_multiple_test_blocks, frv_ifcvt_t::num_nested_cond_exec, ce_if_block::pass, pattern, PATTERN, REG, reg_names, REGNO, REGNO_REG_SET_P, frv_tmp_reg_struct::regs, reload_completed, reverse_condition(), frv_ifcvt_t::scratch_regs, SET_DEST, SET_HARD_REG_BIT, SET_SRC, single_set_pattern(), src, TARGET_COND_EXEC, TARGET_NESTED_CE, ce_if_block::test_bb, TEST_HARD_REG_BIT, ce_if_block::then_bb, frv_ifcvt_t::tmp_reg, TRUE, and XEXP.
| static rtx frv_ifcvt_rewrite_mem | ( | rtx | mem, | |
| enum machine_mode | mode, | |||
| rtx | insn | |||
| ) | [static] |
Definition at line 5802 of file frv.c.
References addr(), change_address(), CONSTANT_P, FALSE, frv_ifcvt_load_value(), frv_legitimate_address_p(), gen_rtx_PLUS, GET_CODE, NULL_RTX, PLUS, Pmode, REG, reload_completed, TRUE, and XEXP.
Definition at line 9436 of file frv.c.
References DECL_ARTIFICIAL, DECL_SECTION_NAME, frv_string_begins_with(), g_switch_value, gcc_assert, HOST_WIDE_INT, int_size_in_bytes(), size, TREE_CODE, and TREE_TYPE.
| rtx frv_index_memory | ( | rtx | memref, | |
| enum machine_mode | mode, | |||
| int | index | |||
| ) |
Definition at line 2501 of file frv.c.
References base, change_address(), GET_CODE, GET_MODE_SIZE, plus_constant, and XEXP.
Definition at line 8347 of file frv.c.
References BINARY, build_function_type(), build_pointer_type(), build_type_variant, const_ptr_type_node, def_builtin, FRV_BUILTIN_ADDSS, FRV_BUILTIN_IACCreadl, FRV_BUILTIN_IACCreadll, FRV_BUILTIN_IACCsetl, FRV_BUILTIN_IACCsetll, FRV_BUILTIN_MABSHS, FRV_BUILTIN_MADDACCS, FRV_BUILTIN_MADDHSS, FRV_BUILTIN_MADDHUS, FRV_BUILTIN_MAND, FRV_BUILTIN_MASACCS, FRV_BUILTIN_MAVEH, FRV_BUILTIN_MBTOH, FRV_BUILTIN_MBTOHE, FRV_BUILTIN_MCLRACC, FRV_BUILTIN_MCLRACCA, FRV_BUILTIN_MCOP1, FRV_BUILTIN_MCOP2, FRV_BUILTIN_MCPLHI, FRV_BUILTIN_MCPLI, FRV_BUILTIN_MCPXIS, FRV_BUILTIN_MCPXIU, FRV_BUILTIN_MCPXRS, FRV_BUILTIN_MCPXRU, FRV_BUILTIN_MCUT, FRV_BUILTIN_MCUTSS, FRV_BUILTIN_MDADDACCS, FRV_BUILTIN_MDASACCS, FRV_BUILTIN_MDCUTSSI, FRV_BUILTIN_MDPACKH, FRV_BUILTIN_MDROTLI, FRV_BUILTIN_MDSUBACCS, FRV_BUILTIN_MDUNPACKH, FRV_BUILTIN_MEXPDHD, FRV_BUILTIN_MEXPDHW, FRV_BUILTIN_MHDSETH, FRV_BUILTIN_MHDSETS, FRV_BUILTIN_MHSETHIH, FRV_BUILTIN_MHSETHIS, FRV_BUILTIN_MHSETLOH, FRV_BUILTIN_MHSETLOS, FRV_BUILTIN_MHTOB, FRV_BUILTIN_MMACHS, FRV_BUILTIN_MMACHU, FRV_BUILTIN_MMRDHS, FRV_BUILTIN_MMRDHU, FRV_BUILTIN_MMULHS, FRV_BUILTIN_MMULHU, FRV_BUILTIN_MMULXHS, FRV_BUILTIN_MMULXHU, FRV_BUILTIN_MNOT, FRV_BUILTIN_MOR, FRV_BUILTIN_MPACKH, FRV_BUILTIN_MQADDHSS, FRV_BUILTIN_MQADDHUS, FRV_BUILTIN_MQCPXIS, FRV_BUILTIN_MQCPXIU, FRV_BUILTIN_MQCPXRS, FRV_BUILTIN_MQCPXRU, FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQMACHS, FRV_BUILTIN_MQMACHU, FRV_BUILTIN_MQMACXHS, FRV_BUILTIN_MQMULHS, FRV_BUILTIN_MQMULHU, FRV_BUILTIN_MQMULXHS, FRV_BUILTIN_MQMULXHU, FRV_BUILTIN_MQSATHS, FRV_BUILTIN_MQSLLHI, FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_MQSUBHSS, FRV_BUILTIN_MQSUBHUS, FRV_BUILTIN_MQXMACHS, FRV_BUILTIN_MQXMACXHS, FRV_BUILTIN_MRDACC, FRV_BUILTIN_MRDACCG, FRV_BUILTIN_MROTLI, FRV_BUILTIN_MROTRI, FRV_BUILTIN_MSATHS, FRV_BUILTIN_MSATHU, FRV_BUILTIN_MSLLHI, FRV_BUILTIN_MSRAHI, FRV_BUILTIN_MSRLHI, FRV_BUILTIN_MSUBACCS, FRV_BUILTIN_MSUBHSS, FRV_BUILTIN_MSUBHUS, FRV_BUILTIN_MTRAP, FRV_BUILTIN_MUNPACKH, FRV_BUILTIN_MWCUT, FRV_BUILTIN_MWTACC, FRV_BUILTIN_MWTACCG, FRV_BUILTIN_MXOR, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32, FRV_BUILTIN_READ64, FRV_BUILTIN_READ8, FRV_BUILTIN_SCAN, FRV_BUILTIN_SCUTSS, FRV_BUILTIN_SLASS, FRV_BUILTIN_SMASS, FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SMUL, FRV_BUILTIN_SUBSS, FRV_BUILTIN_UMUL, FRV_BUILTIN_WRITE16, FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64, FRV_BUILTIN_WRITE8, integer_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, QUAD, short_unsigned_type_node, TRINARY, UNARY, unsigned_char_type_node, void_list_node, and void_type_node.
| void frv_init_cumulative_args | ( | CUMULATIVE_ARGS * | cum, | |
| tree | fntype, | |||
| rtx | libname, | |||
| tree | fndecl, | |||
| int | incoming | |||
| ) |
Definition at line 3077 of file frv.c.
References cfun, FIRST_ARG_REGNUM, fprintf(), fputs(), GET_CODE, putc(), TARGET_DEBUG_ARG, TREE_CODE, tree_code_name, TREE_TYPE, and XSTR.
Definition at line 8557 of file frv.c.
References add_optab, and_optab, ior_optab, one_cmpl_optab, sdiv_optab, set_conv_libfunc(), set_optab_libfunc(), sext_optab, sfix_optab, sfloat_optab, smod_optab, smul_optab, sub_optab, trunc_optab, ufix_optab, umod_optab, and xor_optab.
| static struct machine_function * frv_init_machine_status | ( | void | ) | [static, read] |
| int frv_initial_elimination_offset | ( | int | from, | |
| int | to | |||
| ) |
Definition at line 2129 of file frv.c.
References abort, ARG_POINTER_REGNUM, fprintf(), FRAME_POINTER_REGNUM, frv_stack_info(), gcc_unreachable, info, frv_stack::pretend_size, reg_names, frv_stack::reg_offset, ret, STACK_POINTER_REGNUM, TARGET_DEBUG_STACK, and frv_stack::total_size.
Definition at line 6275 of file frv.c.
References emit_library_call(), FALSE, force_reg(), frv_trampoline_size(), GEN_INT, gen_rtx_SYMBOL_REF, and Pmode.
Definition at line 7361 of file frv.c.
References emit_insn_after(), emit_insn_before(), frv_insn_unit(), frv_packet, frv_unit_groups, GET_CODE, last, and PATTERN.
| static unsigned int frv_insn_unit | ( | rtx | insn | ) | [static] |
Definition at line 7017 of file frv.c.
References alloca, ARRAY_SIZE, frv_type_to_unit, frv_unit_codes, gcc_assert, get_attr_type(), state_reset(), state_size(), and state_transition().
Definition at line 8609 of file frv.c.
References ACC_FIRST, ACC_MASK, ACCG_FIRST, error(), gen_rtx_REG(), GET_CODE, global_regs, i, INTVAL, mode, NULL_RTX, and REGNO.
Definition at line 8672 of file frv.c.
References const0_rtx, GEN_INT, GET_CODE, and INTVAL.
Referenced by frv_expand_load_builtin(), and frv_expand_store_builtin().
Definition at line 7756 of file frv.c.
References reg_overlap_mentioned_p(), and REG_P.
Referenced by frv_optimize_membar_local().
Definition at line 7710 of file frv.c.
References frv_same_doubleword_p().
Referenced by frv_optimize_membar_global(), and frv_optimize_membar_local().
Definition at line 7768 of file frv.c.
References CLEAR_HARD_REG_BIT, FOR_EACH_REGNO, HARD_REG_SET, and REG_P.
Referenced by frv_optimize_membar_local().
Definition at line 7798 of file frv.c.
References for_each_rtx(), and frv_io_handle_use_1().
Referenced by frv_optimize_membar_local().
Definition at line 7782 of file frv.c.
References FOR_EACH_REGNO, HARD_REG_SET, REG_P, and SET_HARD_REG_BIT.
Referenced by frv_io_handle_use().
Definition at line 7729 of file frv.c.
References frv_same_doubleword_p().
Referenced by frv_optimize_membar_global().
| int frv_issue_rate | ( | void | ) |
Definition at line 6956 of file frv.c.
References FRV_CPU_FR300, FRV_CPU_FR400, FRV_CPU_FR405, FRV_CPU_FR450, FRV_CPU_FR500, FRV_CPU_FR550, FRV_CPU_GENERIC, FRV_CPU_SIMPLE, FRV_CPU_TOMCAT, and TARGET_PACK.
Referenced by frv_asm_output_mi_thunk(), and frv_for_each_packet().
| int frv_legitimate_address_p | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| int | strict_p, | |||
| int | condexec_p, | |||
| int | allow_double_reg_p | |||
| ) |
Definition at line 3318 of file frv.c.
References CONST, debug_rtx(), FALSE, fprintf(), frv_regno_ok_for_base_p(), FRV_SYMBOL_REF_TLS_P, GET_CODE, GET_MODE_NAME, GET_MODE_SIZE, got12_operand(), HOST_WIDE_INT, IN_RANGE_P, INTVAL, PLUS, REG, REGNO, ret, rtx_equal_p(), SUBREG_REG, TARGET_DEBUG_ADDR, TRUE, UNITS_PER_WORD, x0, x1, and XEXP.
| int frv_legitimate_constant_p | ( | rtx | x | ) |
Definition at line 6714 of file frv.c.
References CONST0_RTX, FALSE, GET_CODE, GET_MODE, LEGITIMATE_PIC_OPERAND_P, mode, TARGET_DOUBLE, TARGET_FDPIC, TARGET_HAS_FPRS, and TRUE.
| int frv_legitimate_memory_operand | ( | rtx | op, | |
| enum machine_mode | mode, | |||
| int | condexec_p | |||
| ) |
Definition at line 3739 of file frv.c.
References FALSE, frv_legitimate_address_p(), GET_CODE, GET_MODE, MEM, reload_completed, and XEXP.
Referenced by condexec_dest_operand(), condexec_source_operand(), fpr_or_memory_operand(), gpr_or_memory_operand(), move_destination_operand(), and move_source_operand().
| rtx frv_legitimize_address | ( | rtx | x, | |
| rtx oldx | ATTRIBUTE_UNUSED, | |||
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) |
Definition at line 3609 of file frv.c.
References frv_legitimize_tls_address(), GET_CODE, NULL_RTX, and SYMBOL_REF_TLS_MODEL.
Definition at line 3521 of file frv.c.
References dest, emit_insn(), flag_pic, gcc_unreachable, gen_inlined_tls_plt(), GEN_INT, gen_reg_rtx(), gen_rtx_PLUS, gen_rtx_REG(), gen_rtx_SET, gen_tlsmoff(), get_hard_reg_initial_val(), Pmode, TARGET_INLINE_PLT, TLS_MODEL_GLOBAL_DYNAMIC, TLS_MODEL_INITIAL_EXEC, TLS_MODEL_LOCAL_DYNAMIC, TLS_MODEL_LOCAL_EXEC, and tmp.
Definition at line 3628 of file frv.c.
References DECL_VISIBILITY, default_binds_local_p_1(), FALSE, flag_pic, flag_shlib, ret, SYMBOL_REF_DECL, SYMBOL_REF_LOCAL_P, TRUE, VISIBILITY_DEFAULT, and VISIBILITY_PROTECTED.
Definition at line 8684 of file frv.c.
References ACC_FIRST, ACCG_FIRST, frv_matching_accg_mode(), gen_rtx_REG(), GET_MODE, and REGNO.
| static enum machine_mode frv_matching_accg_mode | ( | enum machine_mode | mode | ) | [static] |
| static bool frv_must_pass_in_stack | ( | enum machine_mode | mode, | |
| tree | type | |||
| ) | [static] |
Definition at line 7998 of file frv.c.
References compute_bb_for_insn(), FOR_EACH_BB, free(), frv_optimize_membar_global(), frv_optimize_membar_local(), basic_block_def::index, last_basic_block, and xcalloc().
Referenced by frv_reorg().
| static void frv_optimize_membar_global | ( | basic_block | bb, | |
| struct frv_io * | first_io, | |||
| rtx | membar | |||
| ) | [static] |
Definition at line 7955 of file frv.c.
References delete_insn(), dump_file, ei_cond(), ei_next(), ei_start, EXIT_BLOCK_PTR, FOR_EACH_EDGE, fprintf(), frv_extract_membar(), frv_io_fixed_order_p(), frv_io_union(), gcc_unreachable, and INSN_UID.
Referenced by frv_optimize_membar().
| static void frv_optimize_membar_local | ( | basic_block | bb, | |
| struct frv_io * | next_io, | |||
| rtx * | last_membar | |||
| ) | [static] |
Definition at line 7822 of file frv.c.
References BB_END, BB_HEAD, CLEAR_HARD_REG_SET, delete_insn(), dump_file, fprintf(), frv_extract_membar(), frv_io_check_address(), frv_io_fixed_order_p(), frv_io_handle_set(), frv_io_handle_use(), GET_CODE, HARD_REG_SET, insn, INSN_P, INSN_UID, MEM, memset, NEXT_INSN, note_stores(), note_uses(), PATTERN, PREV_INSN, recog_memoized, REG, REGNO, rtx_equal_p(), SET, SET_DEST, SET_SRC, src, TEST_HARD_REG_BIT, used_regs, volatile_refs_p(), and XEXP.
Referenced by frv_optimize_membar().
Definition at line 3712 of file frv.c.
References fprintf(), fputs(), output_addr_const(), plus_constant, and unspec_got_name().
Definition at line 622 of file frv.c.
References ACC_FIRST, ACC_P, ACC_REGS, ACCG_P, ACCG_REGS, ARRAY_SIZE, gcc_target::asm_out, atoi(), CC_REGS, CR_REGS, error(), EVEN_ACC_REGS, EVEN_REGS, FCC_P, FCC_REGS, FCR_P, FCR_REGS, FDPIC_CALL_REGS, FDPIC_FPTR_REGS, FDPIC_REGNO, FDPIC_REGS, FEVEN_REGS, FIRST_PSEUDO_REGISTER, flag_pic, FPR_P, FPR_REGS, FRV_CPU_FR300, FRV_CPU_FR400, FRV_CPU_FR405, FRV_CPU_FR450, FRV_CPU_FR500, FRV_CPU_FR550, FRV_CPU_GENERIC, FRV_CPU_SIMPLE, FRV_CPU_TOMCAT, frv_default_flags_for_cpu(), frv_init_machine_status(), frv_type_to_unit, frv_unit_codes, frv_unit_names, g_switch_set, g_switch_value, GPR_FIRST, GPR_P, GPR_REGS, GR8_REGS, GR9_REGS, i, ICC_P, ICC_REGS, ICR_P, ICR_REGS, init_machine_status, LCR_REG, LCR_REGNO, LR_REG, LR_REGNO, MASK_LINKED_FP, NO_REGS, p, QUAD_ACC_REGS, QUAD_FPR_REGS, QUAD_REGS, r, SDATA_DEFAULT_SIZE, gcc_target::asm_out::asm_int_op::si, SPR_REGS, strcmp(), strncmp(), TARGET_FDPIC, target_flags, target_flags_explicit, TARGET_LIBPIC, and gcc_target::asm_out::unaligned_op.
Definition at line 7300 of file frv.c.
References frv_packet, frv_registers_conflict_p(), get_attr_type(), GET_CODE, GET_MODE, PATTERN, and state_transition().
Definition at line 2769 of file frv.c.
References AND, comparison_string(), CONST, CONST_DOUBLE_LOW, CONSTANT_ADDRESS_P, current_output_insn, EQ, fatal_insn, fprintf(), fputs(), frv_const_unspec_p(), frv_output_const_unspec(), frv_print_operand_address(), frv_print_operand_jump_hint(), frv_print_operand_memory_reference(), GE, GET_CODE, GET_MODE, GPR_R0, GT, HOST_WIDE_INT, ICC_TEMP, ICR_TEMP, IMMEDIATE_PREFIX, INTVAL, isalpha(), LE, LT, MEM, MINUS, NE, offset, PIC_REGNO, PLUS, REAL_VALUE_FROM_CONST_DOUBLE, REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TYPE, REG, reg_names, REGNO, reverse_condition(), SDA_BASE_REG, UNITS_PER_WORD, unspec_got_name(), XEXP, and XOR.
| static int frv_print_operand_jump_hint | ( | rtx | insn | ) | [static] |
Definition at line 2650 of file frv.c.
References any_condjump_p(), BACKWARD, condjump_label(), current_function_decl, DECL_NAME, find_reg_note(), FORWARD, fprintf(), FRV_JUMP_LIKELY, FRV_JUMP_NOT_LIKELY, gcc_assert, GET_CODE, HOST_WIDE_INT, IDENTIFIER_POINTER, INSN_ADDRESSES, insn_current_address, INSN_UID, INTVAL, REG_BR_PROB, REG_BR_PROB_BASE, ret, TARGET_DEBUG, UNKNOWN, and XEXP.
Definition at line 2558 of file frv.c.
References CONST, const0_rtx, fatal_insn, fprintf(), fputs(), frv_const_unspec_p(), frv_output_const_unspec(), frv_print_operand_memory_reference_reg(), GET_CODE, GPR_R0, INTVAL, NULL_RTX, PLUS, REG, reg_names, x0, x1, and XEXP.
Definition at line 2546 of file frv.c.
References fatal_insn, fputs(), GPR_P, reg_names, and true_regnum().
Definition at line 8695 of file frv.c.
References expand_expr(), next, NULL_RTX, TREE_CHAIN, and TREE_VALUE.
| static rtx frv_read_iacc_argument | ( | enum machine_mode | mode, | |
| tree * | arglistptr | |||
| ) | [static] |
Definition at line 8706 of file frv.c.
References const0_rtx, error(), frv_read_argument(), gen_rtx_REG(), GET_CODE, GET_MODE_SIZE, global_regs, HARD_REGNO_NREGS, i, IACC_FIRST, IACC_LAST, and INTVAL.
Definition at line 6809 of file frv.c.
References ACC_REGS, ACCG_REGS, EVEN_ACC_REGS, EVEN_REGS, FEVEN_REGS, FPR_REGS, GPR_REGS, HIGH_COST, LCR_REG, LOW_COST, LR_REG, MEDIUM_COST, QUAD_ACC_REGS, QUAD_REGS, and SPR_REGS.
Definition at line 7197 of file frv.c.
References flags, for_each_rtx(), frv_cond_flags(), frv_registers_conflict_p_1(), GET_CODE, and XEXP.
Definition at line 7147 of file frv.c.
References ARRAY_SIZE, cond, FOR_EACH_REGNO, for_each_rtx(), frv_packet, frv_registers_conflict_p_1(), frv_regstate_conflict_p(), GET_CODE, i, MEM, output_dependence(), REG, REGSTATE_MODIFIED, rtx_varies_p(), SET, SET_SRC, and true_dependence().
Definition at line 7242 of file frv.c.
References flags, frv_cond_flags(), frv_registers_update_1(), GET_CODE, note_stores(), REGSTATE_MODIFIED, and XEXP.
Definition at line 7218 of file frv.c.
References ARRAY_SIZE, FOR_EACH_REGNO, frv_packet, GET_CODE, MEM, and REG.
| static FRV_INLINE int frv_regno_ok_for_base_p | ( | int | regno, | |
| int | strict_p | |||
| ) | [static] |
Definition at line 3246 of file frv.c.
References ARG_POINTER_REGNUM, FIRST_PSEUDO_REGISTER, GPR_P, reg_renumber, and TRUE.
| static bool frv_regstate_conflict_p | ( | regstate_t | cond1, | |
| regstate_t | cond2 | |||
| ) | [static] |
Definition at line 7605 of file frv.c.
References add_insn_before(), ARRAY_SIZE, CLEAR_PACKING_FLAG, frv_packet, frv_sort_insn_group(), frv_unit_groups, gcc_assert, insns, NUM_GROUPS, remove_insn(), and SET_PACKING_FLAG.
Definition at line 8130 of file frv.c.
References cfun, frv_for_each_packet(), frv_optimize_membar(), frv_register_nop(), frv_reorg_packet(), gen_nop(), get_insns(), optimize, shorten_branches(), TARGET_HARD_FLOAT, and TARGET_MEDIA.
Definition at line 8105 of file frv.c.
References frv_align_label(), frv_fill_unused_units(), GROUP_FM, and GROUP_I.
Definition at line 2484 of file frv.c.
References cfun, const0_rtx, gen_rtx_MEM(), plus_constant, and Pmode.
Definition at line 7695 of file frv.c.
References rtx_equal_p().
Referenced by frv_io_fixed_order_p(), and frv_io_union().
| enum reg_class frv_secondary_reload_class | ( | enum reg_class | class, | |
| enum machine_mode mode | ATTRIBUTE_UNUSED, | |||
| rtx | x, | |||
| int in_p | ATTRIBUTE_UNUSED | |||
| ) |
Definition at line 6341 of file frv.c.
References ACC_P, ACC_REGS, ACCG_P, ACCG_REGS, CC_REGS, CONSTANT_P, CR_REGS, EVEN_ACC_REGS, EVEN_REGS, FCC_REGS, FCR_REGS, FEVEN_REGS, FPR_REGS, GET_CODE, GPR_REGS, ICC_REGS, ICR_REGS, LCR_REG, LR_REG, NO_REGS, QUAD_ACC_REGS, QUAD_FPR_REGS, QUAD_REGS, REG, REGNO, ret, and ZERO_P.
| enum machine_mode frv_select_cc_mode | ( | enum rtx_code | code, | |
| rtx | x, | |||
| rtx | y | |||
| ) |
Definition at line 6764 of file frv.c.
References const0_rtx, EQ, GE, GET_MODE, GET_MODE_CLASS, LT, MODE_FLOAT, and NE.
| static void frv_setup_incoming_varargs | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree type | ATTRIBUTE_UNUSED, | |||
| int * | pretend_size, | |||
| int | second_time | |||
| ) | [static] |
| static void frv_setup_incoming_varargs | ( | CUMULATIVE_ARGS * | , | |
| enum | machine_mode, | |||
| tree | , | |||
| int * | , | |||
| int | ||||
| ) | [static] |
Definition at line 481 of file frv.c.
References flag_pic, GET_CODE, SYMBOL_REF_SMALL_P, and TARGET_FDPIC.
| static void frv_sort_insn_group | ( | enum frv_insn_group | group | ) | [static] |
Definition at line 7534 of file frv.c.
References alloca, first, frv_compare_insns(), frv_insn_unit(), frv_packet, frv_sort_insn_group_1(), frv_unit_groups, gcc_unreachable, GROUP_B, GROUP_C, i, memcpy, nop, NTH_UNIT, qsort(), state_reset(), state_size(), state_transition(), and UNIT_NUMBER.
| static bool frv_sort_insn_group_1 | ( | enum frv_insn_group | group, | |
| unsigned int | lower_slot, | |||
| unsigned int | upper_slot, | |||
| unsigned int | issued, | |||
| unsigned int | num_insns, | |||
| state_t | state | |||
| ) | [static] |
Definition at line 7480 of file frv.c.
References alloca, frv_packet, frv_sort_insn_group_1(), i, insn, memcpy, NTH_UNIT, state_size(), and state_transition().
Definition at line 5129 of file frv.c.
References const0_rtx, dest, emit_insn(), end_sequence(), gen_negsi2(), gen_rtx_COMPARE, gen_rtx_COND_EXEC, gen_rtx_EQ, gen_rtx_fmt_ee(), gen_rtx_NE, gen_rtx_SET, get_insns(), LT, ret, rtx_equal_p(), src, and start_sequence().
Definition at line 4898 of file frv.c.
References const0_rtx, dest, emit_insn(), emit_move_insn(), end_sequence(), gcc_unreachable, gen_addsi3(), GEN_INT, gen_rtx_COND_EXEC, gen_rtx_EQ, gen_rtx_fmt_ee(), gen_rtx_NE, gen_rtx_SET, gen_rtx_SUBREG(), GET_CODE, get_insns(), GET_MODE, HOST_WIDE_INT, IN_RANGE_P, INTVAL, ret, rtx_equal_p(), and start_sequence().
Definition at line 4993 of file frv.c.
References address, change_address(), emit_move_insn(), frv_index_memory(), gen_highpart(), gen_lowpart, GET_CODE, NULL, refers_to_regno_p(), REGNO, and XEXP.
Definition at line 5029 of file frv.c.
References change_address(), CONST0_RTX, emit_move_insn(), frv_index_memory(), gen_highpart(), gen_lowpart, NULL, and ZERO_P.
Definition at line 9199 of file frv.c.
References emit_move_insn(), GET_MODE, GET_MODE_SIZE, i, and simplify_gen_subreg().
Definition at line 5050 of file frv.c.
References const0_rtx, dest, emit_insn(), emit_move_insn(), end_sequence(), gcc_assert, gcc_unreachable, gen_rtx_COMPARE, gen_rtx_COND_EXEC, gen_rtx_EQ, gen_rtx_fmt_ee(), gen_rtx_NE, gen_rtx_SET, GET_CODE, get_insns(), GET_MODE, GT, INTVAL, LT, ret, rtx_equal_p(), and start_sequence().
Definition at line 4786 of file frv.c.
References const0_rtx, emit_insn(), emit_move_insn(), end_sequence(), GEN_INT, gen_rtx_COND_EXEC, gen_rtx_EQ, gen_rtx_fmt_ee(), gen_rtx_SET, GET_CODE, get_insns(), GET_MODE, ret, and start_sequence().
| frv_stack_t* frv_stack_info | ( | void | ) |
Definition at line 1071 of file frv.c.
References ADDR_ALIGN, alignment, call_used_regs, CC_FIRST, CC_LAST, cfun, current_function_calls_eh_return, current_function_decl, DECL_ARGUMENTS, DECL_NAME, frv_stack_regs::dword_p, frv_stack_regs::field_p, frv_stack_regs::first, first, FIRST_ARG_REGNUM, FIRST_EH_REGNUM, flag_pic, FPR_FIRST, FPR_LAST, frame_pointer_needed, FRAME_POINTER_REGNUM, FRV_STRUCT_VALUE_REGNUM, get_frame_size(), GPR_LAST, frv_stack::header_size, IDENTIFIER_POINTER, info, frv_stack_regs::last, last, LAST_ARG_REGNUM, LAST_EH_REGNUM, LCR_REGNO, LR_REGNO, frv_stack_regs::name, offset, frv_stack::parameter_size, PIC_REGNO, frv_stack::pretend_size, profile_flag, frv_stack::reg_offset, REG_SAVE_1WORD, REG_SAVE_2WORDS, REG_SAVE_NO_SAVE, frv_stack::regs, regs_ever_live, frv_stack::regs_size, frv_stack::regs_size_1word, frv_stack::regs_size_2words, reload_completed, frv_stack::save_p, frv_stack_regs::size_1word, frv_stack_regs::size_2words, frv_stack_regs::special_p, STACK_REGS_CC, STACK_REGS_FP, STACK_REGS_FPR, STACK_REGS_GPR, STACK_REGS_LCR, STACK_REGS_LR, STACK_REGS_MAX, STACK_REGS_STDARG, STACK_REGS_STRUCT, frv_stack::stdarg_size, strcmp(), TARGET_DWORD, TARGET_FDPIC, TARGET_LINKED_FP, frv_stack::total_size, TREE_CHAIN, TRUE, UNITS_PER_WORD, frv_stack::vars_offset, and frv_stack::vars_size.
Referenced by direct_return_p(), frv_debug_stack(), frv_expand_epilogue(), frv_expand_prologue(), frv_function_prologue(), and frv_initial_elimination_offset().
Definition at line 7274 of file frv.c.
References frv_packet, frv_start_packet(), and state_reset().
| static int frv_string_begins_with | ( | tree | name, | |
| const char * | prefix | |||
| ) | [static] |
Definition at line 836 of file frv.c.
References strlen(), strncmp(), TREE_STRING_LENGTH, and TREE_STRING_POINTER.
| static rtx frv_struct_value_rtx | ( | tree fntype | ATTRIBUTE_UNUSED, | |
| int incoming | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 9575 of file frv.c.
References FRV_STRUCT_VALUE_REGNUM, gen_rtx_REG(), and Pmode.
| int frv_trampoline_size | ( | void | ) |
| static rtx frv_volatile_memref | ( | enum machine_mode | mode, | |
| rtx | arg | |||
| ) | [static] |
Definition at line 8787 of file frv.c.
References gen_rtx_MEM(), mem, MEM_VOLATILE_P, and memory_address().
Referenced by frv_expand_load_builtin(), and frv_expand_store_builtin().
Definition at line 3451 of file frv.c.
References dest, emit_insn(), flag_pic, GEN_INT, gen_reg_rtx(), get_hard_reg_initial_val(), and Pmode.
Definition at line 3492 of file frv.c.
References dest, emit_insn(), GEN_INT, gen_reg_rtx(), gen_rtx_PLUS, Pmode, and TARGET_BIG_TLS.
| static GTY | ( | () | ) | [static] |
Definition at line 4214 of file frv.c.
References CONST, CONST_DOUBLE_LOW, dest, fatal_insn, FPR_P, GET_CODE, GET_MODE, GPR_P, HOST_WIDE_INT, IN_RANGE_P, INTVAL, MEM, mode, REAL_VALUE_FROM_CONST_DOUBLE, REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TYPE, REG, REGNO, SPR_P, src, TARGET_HARD_FLOAT, and ZERO_P.
| static const char * unspec_got_name | ( | int | i | ) | [static] |
struct builtin_description bdesc_1arg[] [static] |
Initial value:
{
{ CODE_FOR_mnot, "__MNOT", FRV_BUILTIN_MNOT, 0, 0 },
{ CODE_FOR_munpackh, "__MUNPACKH", FRV_BUILTIN_MUNPACKH, 0, 0 },
{ CODE_FOR_mbtoh, "__MBTOH", FRV_BUILTIN_MBTOH, 0, 0 },
{ CODE_FOR_mhtob, "__MHTOB", FRV_BUILTIN_MHTOB, 0, 0 },
{ CODE_FOR_mabshs, "__MABSHS", FRV_BUILTIN_MABSHS, 0, 0 },
{ CODE_FOR_scutss, "__SCUTSS", FRV_BUILTIN_SCUTSS, 0, 0 }
}
struct builtin_description bdesc_2arg[] [static] |
Initial value:
{
{ CODE_FOR_mand, "__MAND", FRV_BUILTIN_MAND, 0, 0 },
{ CODE_FOR_mor, "__MOR", FRV_BUILTIN_MOR, 0, 0 },
{ CODE_FOR_mxor, "__MXOR", FRV_BUILTIN_MXOR, 0, 0 },
{ CODE_FOR_maveh, "__MAVEH", FRV_BUILTIN_MAVEH, 0, 0 },
{ CODE_FOR_msaths, "__MSATHS", FRV_BUILTIN_MSATHS, 0, 0 },
{ CODE_FOR_msathu, "__MSATHU", FRV_BUILTIN_MSATHU, 0, 0 },
{ CODE_FOR_maddhss, "__MADDHSS", FRV_BUILTIN_MADDHSS, 0, 0 },
{ CODE_FOR_maddhus, "__MADDHUS", FRV_BUILTIN_MADDHUS, 0, 0 },
{ CODE_FOR_msubhss, "__MSUBHSS", FRV_BUILTIN_MSUBHSS, 0, 0 },
{ CODE_FOR_msubhus, "__MSUBHUS", FRV_BUILTIN_MSUBHUS, 0, 0 },
{ CODE_FOR_mqaddhss, "__MQADDHSS", FRV_BUILTIN_MQADDHSS, 0, 0 },
{ CODE_FOR_mqaddhus, "__MQADDHUS", FRV_BUILTIN_MQADDHUS, 0, 0 },
{ CODE_FOR_mqsubhss, "__MQSUBHSS", FRV_BUILTIN_MQSUBHSS, 0, 0 },
{ CODE_FOR_mqsubhus, "__MQSUBHUS", FRV_BUILTIN_MQSUBHUS, 0, 0 },
{ CODE_FOR_mpackh, "__MPACKH", FRV_BUILTIN_MPACKH, 0, 0 },
{ CODE_FOR_mcop1, "__Mcop1", FRV_BUILTIN_MCOP1, 0, 0 },
{ CODE_FOR_mcop2, "__Mcop2", FRV_BUILTIN_MCOP2, 0, 0 },
{ CODE_FOR_mwcut, "__MWCUT", FRV_BUILTIN_MWCUT, 0, 0 },
{ CODE_FOR_mqsaths, "__MQSATHS", FRV_BUILTIN_MQSATHS, 0, 0 },
{ CODE_FOR_mqlclrhs, "__MQLCLRHS", FRV_BUILTIN_MQLCLRHS, 0, 0 },
{ CODE_FOR_mqlmths, "__MQLMTHS", FRV_BUILTIN_MQLMTHS, 0, 0 },
{ CODE_FOR_smul, "__SMUL", FRV_BUILTIN_SMUL, 0, 0 },
{ CODE_FOR_umul, "__UMUL", FRV_BUILTIN_UMUL, 0, 0 },
{ CODE_FOR_addss, "__ADDSS", FRV_BUILTIN_ADDSS, 0, 0 },
{ CODE_FOR_subss, "__SUBSS", FRV_BUILTIN_SUBSS, 0, 0 },
{ CODE_FOR_slass, "__SLASS", FRV_BUILTIN_SLASS, 0, 0 },
{ CODE_FOR_scan, "__SCAN", FRV_BUILTIN_SCAN, 0, 0 }
}
struct builtin_description bdesc_2argimm[] [static] |
Initial value:
{
{ CODE_FOR_mrotli, "__MROTLI", FRV_BUILTIN_MROTLI, 0, 0 },
{ CODE_FOR_mrotri, "__MROTRI", FRV_BUILTIN_MROTRI, 0, 0 },
{ CODE_FOR_msllhi, "__MSLLHI", FRV_BUILTIN_MSLLHI, 0, 0 },
{ CODE_FOR_msrlhi, "__MSRLHI", FRV_BUILTIN_MSRLHI, 0, 0 },
{ CODE_FOR_msrahi, "__MSRAHI", FRV_BUILTIN_MSRAHI, 0, 0 },
{ CODE_FOR_mexpdhw, "__MEXPDHW", FRV_BUILTIN_MEXPDHW, 0, 0 },
{ CODE_FOR_mexpdhd, "__MEXPDHD", FRV_BUILTIN_MEXPDHD, 0, 0 },
{ CODE_FOR_mdrotli, "__MDROTLI", FRV_BUILTIN_MDROTLI, 0, 0 },
{ CODE_FOR_mcplhi, "__MCPLHI", FRV_BUILTIN_MCPLHI, 0, 0 },
{ CODE_FOR_mcpli, "__MCPLI", FRV_BUILTIN_MCPLI, 0, 0 },
{ CODE_FOR_mhsetlos, "__MHSETLOS", FRV_BUILTIN_MHSETLOS, 0, 0 },
{ CODE_FOR_mhsetloh, "__MHSETLOH", FRV_BUILTIN_MHSETLOH, 0, 0 },
{ CODE_FOR_mhsethis, "__MHSETHIS", FRV_BUILTIN_MHSETHIS, 0, 0 },
{ CODE_FOR_mhsethih, "__MHSETHIH", FRV_BUILTIN_MHSETHIH, 0, 0 },
{ CODE_FOR_mhdseth, "__MHDSETH", FRV_BUILTIN_MHDSETH, 0, 0 },
{ CODE_FOR_mqsllhi, "__MQSLLHI", FRV_BUILTIN_MQSLLHI, 0, 0 },
{ CODE_FOR_mqsrahi, "__MQSRAHI", FRV_BUILTIN_MQSRAHI, 0, 0 }
}
struct builtin_description bdesc_cut[] [static] |
Initial value:
{
{ CODE_FOR_mcut, "__MCUT", FRV_BUILTIN_MCUT, 0, 0 },
{ CODE_FOR_mcutss, "__MCUTSS", FRV_BUILTIN_MCUTSS, 0, 0 },
{ CODE_FOR_mdcutssi, "__MDCUTSSI", FRV_BUILTIN_MDCUTSSI, 0, 0 }
}
struct builtin_description bdesc_int_void2arg[] [static] |
Initial value:
{
{ CODE_FOR_smass, "__SMASS", FRV_BUILTIN_SMASS, 0, 0 },
{ CODE_FOR_smsss, "__SMSSS", FRV_BUILTIN_SMSSS, 0, 0 },
{ CODE_FOR_smu, "__SMU", FRV_BUILTIN_SMU, 0, 0 }
}
struct builtin_description bdesc_loads[] [static] |
Initial value:
{
{ CODE_FOR_optional_membar_qi, "__builtin_read8",
FRV_BUILTIN_READ8, 0, 0 },
{ CODE_FOR_optional_membar_hi, "__builtin_read16",
FRV_BUILTIN_READ16, 0, 0 },
{ CODE_FOR_optional_membar_si, "__builtin_read32",
FRV_BUILTIN_READ32, 0, 0 },
{ CODE_FOR_optional_membar_di, "__builtin_read64",
FRV_BUILTIN_READ64, 0, 0 }
}
struct builtin_description bdesc_prefetches[] [static] |
Initial value:
{
{ CODE_FOR_frv_prefetch0, "__data_prefetch0", FRV_BUILTIN_PREFETCH0, 0, 0 },
{ CODE_FOR_frv_prefetch, "__data_prefetch", FRV_BUILTIN_PREFETCH, 0, 0 }
}
struct builtin_description bdesc_set[] [static] |
Initial value:
{
{ CODE_FOR_mhdsets, "__MHDSETS", FRV_BUILTIN_MHDSETS, 0, 0 }
}
struct builtin_description bdesc_stores[] [static] |
Initial value:
{
{ CODE_FOR_optional_membar_qi, "__builtin_write8",
FRV_BUILTIN_WRITE8, 0, 0 },
{ CODE_FOR_optional_membar_hi, "__builtin_write16",
FRV_BUILTIN_WRITE16, 0, 0 },
{ CODE_FOR_optional_membar_si, "__builtin_write32",
FRV_BUILTIN_WRITE32, 0, 0 },
{ CODE_FOR_optional_membar_di, "__builtin_write64",
FRV_BUILTIN_WRITE64, 0, 0 },
}
struct builtin_description bdesc_void2arg[] [static] |
Initial value:
{
{ CODE_FOR_mdunpackh, "__MDUNPACKH", FRV_BUILTIN_MDUNPACKH, 0, 0 },
{ CODE_FOR_mbtohe, "__MBTOHE", FRV_BUILTIN_MBTOHE, 0, 0 },
}
struct builtin_description bdesc_void3arg[] [static] |
Initial value:
{
{ CODE_FOR_mcpxrs, "__MCPXRS", FRV_BUILTIN_MCPXRS, 0, 0 },
{ CODE_FOR_mcpxru, "__MCPXRU", FRV_BUILTIN_MCPXRU, 0, 0 },
{ CODE_FOR_mcpxis, "__MCPXIS", FRV_BUILTIN_MCPXIS, 0, 0 },
{ CODE_FOR_mcpxiu, "__MCPXIU", FRV_BUILTIN_MCPXIU, 0, 0 },
{ CODE_FOR_mmulhs, "__MMULHS", FRV_BUILTIN_MMULHS, 0, 0 },
{ CODE_FOR_mmulhu, "__MMULHU", FRV_BUILTIN_MMULHU, 0, 0 },
{ CODE_FOR_mmulxhs, "__MMULXHS", FRV_BUILTIN_MMULXHS, 0, 0 },
{ CODE_FOR_mmulxhu, "__MMULXHU", FRV_BUILTIN_MMULXHU, 0, 0 },
{ CODE_FOR_mmachs, "__MMACHS", FRV_BUILTIN_MMACHS, 0, 0 },
{ CODE_FOR_mmachu, "__MMACHU", FRV_BUILTIN_MMACHU, 0, 0 },
{ CODE_FOR_mmrdhs, "__MMRDHS", FRV_BUILTIN_MMRDHS, 0, 0 },
{ CODE_FOR_mmrdhu, "__MMRDHU", FRV_BUILTIN_MMRDHU, 0, 0 },
{ CODE_FOR_mqcpxrs, "__MQCPXRS", FRV_BUILTIN_MQCPXRS, 0, 0 },
{ CODE_FOR_mqcpxru, "__MQCPXRU", FRV_BUILTIN_MQCPXRU, 0, 0 },
{ CODE_FOR_mqcpxis, "__MQCPXIS", FRV_BUILTIN_MQCPXIS, 0, 0 },
{ CODE_FOR_mqcpxiu, "__MQCPXIU", FRV_BUILTIN_MQCPXIU, 0, 0 },
{ CODE_FOR_mqmulhs, "__MQMULHS", FRV_BUILTIN_MQMULHS, 0, 0 },
{ CODE_FOR_mqmulhu, "__MQMULHU", FRV_BUILTIN_MQMULHU, 0, 0 },
{ CODE_FOR_mqmulxhs, "__MQMULXHS", FRV_BUILTIN_MQMULXHS, 0, 0 },
{ CODE_FOR_mqmulxhu, "__MQMULXHU", FRV_BUILTIN_MQMULXHU, 0, 0 },
{ CODE_FOR_mqmachs, "__MQMACHS", FRV_BUILTIN_MQMACHS, 0, 0 },
{ CODE_FOR_mqmachu, "__MQMACHU", FRV_BUILTIN_MQMACHU, 0, 0 },
{ CODE_FOR_mqxmachs, "__MQXMACHS", FRV_BUILTIN_MQXMACHS, 0, 0 },
{ CODE_FOR_mqxmacxhs, "__MQXMACXHS", FRV_BUILTIN_MQXMACXHS, 0, 0 },
{ CODE_FOR_mqmacxhs, "__MQMACXHS", FRV_BUILTIN_MQMACXHS, 0, 0 }
}
struct builtin_description bdesc_voidacc[] [static] |
Initial value:
{
{ CODE_FOR_maddaccs, "__MADDACCS", FRV_BUILTIN_MADDACCS, 0, 0 },
{ CODE_FOR_msubaccs, "__MSUBACCS", FRV_BUILTIN_MSUBACCS, 0, 0 },
{ CODE_FOR_masaccs, "__MASACCS", FRV_BUILTIN_MASACCS, 0, 0 },
{ CODE_FOR_mdaddaccs, "__MDADDACCS", FRV_BUILTIN_MDADDACCS, 0, 0 },
{ CODE_FOR_mdsubaccs, "__MDSUBACCS", FRV_BUILTIN_MDSUBACCS, 0, 0 },
{ CODE_FOR_mdasaccs, "__MDASACCS", FRV_BUILTIN_MDASACCS, 0, 0 }
}
| frv_cpu_t frv_cpu_type = CPU_TYPE |
frv_ifcvt_t frv_ifcvt [static] |
rtx* frv_insn_operands [static] |
int frv_insn_packing_flag [static] |
struct { ... } frv_packet [static] |
unsigned int frv_packet_address [static] |
frv_stack_t* frv_stack_cache = (frv_stack_t *)0 [static] |
unsigned int frv_type_to_unit[TYPE_UNKNOWN+1] [static] |
int frv_unit_codes[ARRAY_SIZE(frv_unit_names)] [static] |
enum frv_insn_group frv_unit_groups[ARRAY_SIZE(frv_unit_names)] [static] |
const char* const frv_unit_names[] [static] |
| struct { ... } frv_packet_group groups[NUM_GROUPS] |
| rtx insns[ARRAY_SIZE(frv_unit_codes)] |
| unsigned int issue_rate |
| struct { ... } mems[2] |
| enum reg_class reg_class_from_letter[256] |
| regstate_t regstate[FIRST_PSEUDO_REGISTER] |
| rtx sorted[ARRAY_SIZE(frv_unit_codes)] |
1.5.6