{"ground_truth": ["", "static", "void", "add_to_sp", "(", "rtx", "spreg", ",", "HOST_WIDE_INT", "value", ",", "int", "frame", ")", "{", "if", "(", "value", "==", "0", ")", "return", ";", "if", "(", "value", ">", "120", "||", "value", "<", "-", "120", ")", "{", "rtx", "tmpreg", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_P1", ")", ";", "rtx", "insn", ";", "if", "(", "frame", ")", "frame_related_constant_load", "(", "tmpreg", ",", "value", ",", "TRUE", ")", ";", "else", "{", "insn", "=", "emit_move_insn", "(", "tmpreg", ",", "GEN_INT", "(", "value", ")", ")", ";", "if", "(", "frame", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "tmpreg", ")", ")", ";", "if", "(", "frame", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "else", "do", "{", "int", "size", "=", "value", ";", "rtx", "insn", ";", "if", "(", "size", ">", "60", ")", "size", "=", "60", ";", "else", "if", "(", "size", "<", "-", "60", ")", "size", "=", "-", "60", ";", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "GEN_INT", "(", "size", ")", ")", ")", ";", "if", "(", "frame", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "value", "-=", "size", ";", "}", "while", "(", "value", "!=", "0", ")", ";", "}", ""], "natrual_language": ["Generate", "efficient", "code", "to", "add", "a", "value", "to", "the", "frame", "pointer", ".", "We", "can", "use", "P1", "as", "a", "scratch", "register", ".", "Set", "RTX_FRAME_RELATED_P", "on", "the", "generated", "insns", "if", "FRAME", "is", "nonzero", "."], "TS_V_token": ["bfin", "0", "120", "120", "1", "1", "60", "60", "60", "60", "1", "0"], "File": "bfin2", "Func": "add_to_sp", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33812, "Length": 187}
{"ground_truth": ["", "static", "HOST_WIDE_INT", "arg_area_size", "(", "void", ")", "{", "if", "(", "current_function_outgoing_args_size", ")", "{", "if", "(", "current_function_outgoing_args_size", ">=", "FIXED_STACK_AREA", ")", "return", "current_function_outgoing_args_size", ";", "else", "return", "FIXED_STACK_AREA", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "the", "number", "of", "bytes", "we", "must", "reserve", "for", "outgoing", "arguments", "in", "the", "current", "function", "'s", "stack", "frame", "."], "TS_V_token": ["bfin", "0"], "File": "bfin2", "Func": "arg_area_size", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33813, "Length": 30}
{"ground_truth": ["", "void", "asm_conditional_branch", "(", "rtx", "insn", ",", "rtx", "*", "operands", ",", "int", "n_nops", ",", "int", "predict_taken", ")", "{", "int", "offset", "=", "branch_dest", "(", "insn", ")", "-", "INSN_ADDRESSES", "(", "INSN_UID", "(", "insn", ")", ")", ";", "int", "len", "=", "(", "offset", ">=", "-", "1024", "&&", "offset", "<=", "1022", "?", "0", ":", "offset", ">=", "-", "4094", "&&", "offset", "<=", "4096", "?", "1", ":", "2", ")", ";", "int", "bp", "=", "predict_taken", "&&", "len", "==", "0", "?", "1", ":", "cbranch_predicted_taken_p", "(", "insn", ")", ";", "int", "idx", "=", "(", "bp", "<<", "1", ")", "|", "(", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "EQ", "?", "BRF", ":", "BRT", ")", ";", "output_asm_insn", "(", "ccbranch_templates", "[", "idx", "]", "[", "len", "]", ",", "operands", ")", ";", "gcc_assert", "(", "n_nops", "==", "0", "||", "!", "bp", ")", ";", "if", "(", "len", "==", "0", ")", "while", "(", "n_nops", "--", ">", "0", ")", "output_asm_insn", "(", "\"nop;\"", ",", "NULL", ")", ";", "}", ""], "natrual_language": ["Output", "INSN", ",", "which", "is", "a", "conditional", "branch", "instruction", "with", "operands", "OPERANDS", ".", "We", "deal", "with", "the", "various", "forms", "of", "conditional", "branches", "that", "can", "be", "generated", "by", "bfin_reorg", "to", "prevent", "the", "hardware", "from", "doing", "speculative", "loads", ",", "by", "-", "emitting", "a", "sufficient", "number", "of", "nops", ",", "if", "N_NOPS", "is", "nonzero", ",", "or", "-", "always", "emitting", "the", "branch", "as", "predicted", "taken", ",", "if", "PREDICT_TAKEN", "is", "true", ".", "Either", "of", "these", "is", "only", "necessary", "if", "the", "branch", "is", "short", ",", "otherwise", "the", "template", "we", "use", "ends", "in", "an", "unconditional", "jump", "which", "flushes", "the", "pipeline", "anyway", "."], "TS_V_token": ["bfin", "1024", "1022", "0", "4094", "4096", "1", "2", "0", "1", "1", "0", "0", "0", "0", "\"nop;\""], "File": "bfin2", "Func": "asm_conditional_branch", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33814, "Length": 147}
{"ground_truth": ["", "static", "int", "bfin_address_cost", "(", "rtx", "addr", "ATTRIBUTE_UNUSED", ")", "{", "return", "1", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "the", "memory", "address", "ADDR", ".", "All", "addressing", "modes", "are", "equally", "cheap", "on", "the", "Blackfin", "."], "TS_V_token": ["bfin", "1"], "File": "bfin2", "Func": "bfin_address_cost", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33815, "Length": 13}
{"ground_truth": ["", "static", "int", "bfin_arg_partial_bytes", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "enum", "machine_mode", "mode", ",", "tree", "type", "ATTRIBUTE_UNUSED", ",", "bool", "named", "ATTRIBUTE_UNUSED", ")", "{", "int", "bytes", "=", "(", "mode", "==", "BLKmode", ")", "?", "int_size_in_bytes", "(", "type", ")", ":", "GET_MODE_SIZE", "(", "mode", ")", ";", "int", "bytes_left", "=", "cum", "->", "nregs", "*", "UNITS_PER_WORD", ";", "if", "(", "bytes", "==", "-", "1", ")", "return", "0", ";", "if", "(", "bytes_left", "==", "0", ")", "return", "0", ";", "if", "(", "bytes", ">", "bytes_left", ")", "return", "bytes_left", ";", "return", "0", ";", "}", ""], "natrual_language": ["For", "an", "arg", "passed", "partly", "in", "registers", "and", "partly", "in", "memory", ",", "this", "is", "the", "number", "of", "bytes", "passed", "in", "registers", ".", "For", "args", "passed", "entirely", "in", "registers", "or", "entirely", "in", "memory", ",", "zero", ".", "Refer", "VDSP", "C", "Compiler", "manual", ",", "our", "ABI", ".", "First", "3", "words", "are", "in", "registers", ".", "So", ",", "if", "a", "an", "argument", "is", "larger", "than", "the", "registers", "available", ",", "it", "will", "span", "the", "register", "and", "stack", "."], "TS_V_token": ["bfin", "1", "0", "0", "0", "0"], "File": "bfin2", "Func": "bfin_arg_partial_bytes", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33816, "Length": 81}
{"ground_truth": ["", "static", "int", "bfin_comp_type_attributes", "(", "tree", "type1", ",", "tree", "type2", ")", "{", "e_funkind", "kind1", ",", "kind2", ";", "if", "(", "TREE_CODE", "(", "type1", ")", "!=", "FUNCTION_TYPE", ")", "return", "1", ";", "kind1", "=", "funkind", "(", "type1", ")", ";", "kind2", "=", "funkind", "(", "type2", ")", ";", "if", "(", "kind1", "!=", "kind2", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"nesting\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"nesting\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"saveall\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"saveall\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"kspisusp\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"kspisusp\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"longcall\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"longcall\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "return", "1", ";", "}", ""], "natrual_language": ["Return", "0", "if", "the", "attributes", "for", "two", "types", "are", "incompatible", ",", "1", "if", "they", "are", "compatible", ",", "and", "2", "if", "they", "are", "nearly", "compatible", "(", "which", "causes", "a", "warning", "to", "be", "generated", ")", "."], "TS_V_token": ["bfin", "1", "0", "\"nesting\"", "\"nesting\"", "0", "\"saveall\"", "\"saveall\"", "0", "\"kspisusp\"", "\"kspisusp\"", "0", "\"longcall\"", "\"longcall\"", "0", "1"], "File": "bfin2", "Func": "bfin_comp_type_attributes", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33817, "Length": 163}
{"ground_truth": ["", "static", "rtx", "bfin_expand_builtin", "(", "tree", "exp", ",", "rtx", "target", "ATTRIBUTE_UNUSED", ",", "rtx", "subtarget", "ATTRIBUTE_UNUSED", ",", "enum", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "int", "ignore", "ATTRIBUTE_UNUSED", ")", "{", "tree", "fndecl", "=", "TREE_OPERAND", "(", "TREE_OPERAND", "(", "exp", ",", "0", ")", ",", "0", ")", ";", "unsigned", "int", "fcode", "=", "DECL_FUNCTION_CODE", "(", "fndecl", ")", ";", "switch", "(", "fcode", ")", "{", "case", "BFIN_BUILTIN_CSYNC", ":", "emit_insn", "(", "gen_csync", "(", ")", ")", ";", "return", "0", ";", "case", "BFIN_BUILTIN_SSYNC", ":", "emit_insn", "(", "gen_ssync", "(", ")", ")", ";", "return", "0", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Expand", "an", "expression", "EXP", "that", "calls", "a", "built-in", "function", ",", "with", "result", "going", "to", "TARGET", "if", "that", "'s", "convenient", "(", "and", "in", "mode", "MODE", "if", "that", "'s", "convenient", ")", ".", "SUBTARGET", "may", "be", "used", "as", "the", "target", "for", "computing", "one", "of", "EXP", "'s", "operands", ".", "IGNORE", "is", "nonzero", "if", "the", "value", "is", "to", "be", "ignored", "."], "TS_V_token": ["bfin", "0", "0", "0", "0"], "File": "bfin2", "Func": "bfin_expand_builtin", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33818, "Length": 88}
{"ground_truth": ["", "void", "bfin_expand_call", "(", "rtx", "retval", ",", "rtx", "fnaddr", ",", "rtx", "callarg1", ",", "rtx", "cookie", ",", "int", "sibcall", ")", "{", "rtx", "use", "=", "NULL", ",", "call", ";", "rtx", "callee", "=", "XEXP", "(", "fnaddr", ",", "0", ")", ";", "rtx", "pat", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "rtvec_alloc", "(", "sibcall", "?", "3", ":", "2", ")", ")", ";", "if", "(", "cookie", "==", "NULL_RTX", ")", "cookie", "=", "const0_rtx", ";", "if", "(", "flag_pic", "&&", "GET_CODE", "(", "callee", ")", "==", "SYMBOL_REF", "&&", "!", "SYMBOL_REF_LOCAL_P", "(", "callee", ")", ")", "use_reg", "(", "&", "use", ",", "pic_offset_table_rtx", ")", ";", "if", "(", "(", "!", "register_no_elim_operand", "(", "callee", ",", "Pmode", ")", "&&", "GET_CODE", "(", "callee", ")", "!=", "SYMBOL_REF", ")", "||", "(", "GET_CODE", "(", "callee", ")", "==", "SYMBOL_REF", "&&", "(", "flag_pic", "||", "bfin_longcall_p", "(", "callee", ",", "INTVAL", "(", "cookie", ")", ")", ")", ")", ")", "{", "callee", "=", "copy_to_mode_reg", "(", "Pmode", ",", "callee", ")", ";", "fnaddr", "=", "gen_rtx_MEM", "(", "Pmode", ",", "callee", ")", ";", "}", "call", "=", "gen_rtx_CALL", "(", "VOIDmode", ",", "fnaddr", ",", "callarg1", ")", ";", "if", "(", "retval", ")", "call", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "retval", ",", "call", ")", ";", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", "=", "call", ";", "XVECEXP", "(", "pat", ",", "0", ",", "1", ")", "=", "gen_rtx_USE", "(", "VOIDmode", ",", "cookie", ")", ";", "if", "(", "sibcall", ")", "XVECEXP", "(", "pat", ",", "0", ",", "2", ")", "=", "gen_rtx_RETURN", "(", "VOIDmode", ")", ";", "call", "=", "emit_call_insn", "(", "pat", ")", ";", "if", "(", "use", ")", "CALL_INSN_FUNCTION_USAGE", "(", "call", ")", "=", "use", ";", "}", ""], "natrual_language": ["Expand", "a", "call", "instruction", ".", "FNADDR", "is", "the", "call", "target", ",", "RETVAL", "the", "return", "value", ".", "COOKIE", "is", "a", "CONST_INT", "holding", "the", "call_cookie", "prepared", "init_cumulative_args", ".", "SIBCALL", "is", "nonzero", "if", "this", "is", "a", "sibling", "call", "."], "TS_V_token": ["bfin", "0", "3", "2", "0", "0", "0", "1", "0", "2"], "File": "bfin2", "Func": "bfin_expand_call", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33819, "Length": 240}
{"ground_truth": ["", "void", "bfin_expand_epilogue", "(", "int", "need_return", ",", "int", "eh_return", ")", "{", "rtx", "spreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_SP", ")", ";", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "{", "expand_interrupt_handler_epilogue", "(", "spreg", ",", "fkind", ")", ";", "return", ";", "}", "do_unlink", "(", "spreg", ",", "get_frame_size", "(", ")", ",", "false", ")", ";", "expand_epilogue_reg_restore", "(", "spreg", ",", "false", ",", "false", ")", ";", "if", "(", "!", "need_return", ")", "return", ";", "if", "(", "eh_return", ")", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "gen_rtx_REG", "(", "Pmode", ",", "REG_P2", ")", ")", ")", ";", "emit_jump_insn", "(", "gen_return_internal", "(", "GEN_INT", "(", "SUBROUTINE", ")", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "RTL", "for", "the", "epilogue", "of", "the", "current", "function", ".", "NEED_RETURN", "is", "zero", "if", "this", "is", "for", "a", "sibcall", ".", "EH_RETURN", "is", "nonzero", "if", "we", "'re", "expanding", "an", "eh_return", "pattern", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "bfin_expand_epilogue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33820, "Length": 108}
{"ground_truth": ["", "void", "bfin_expand_prologue", "(", "void", ")", "{", "rtx", "insn", ";", "HOST_WIDE_INT", "frame_size", "=", "get_frame_size", "(", ")", ";", "rtx", "spreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_SP", ")", ";", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "rtx", "pic_reg_loaded", "=", "NULL_RTX", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "{", "expand_interrupt_handler_prologue", "(", "spreg", ",", "fkind", ")", ";", "return", ";", "}", "if", "(", "current_function_limit_stack", ")", "{", "HOST_WIDE_INT", "offset", "=", "bfin_initial_elimination_offset", "(", "ARG_POINTER_REGNUM", ",", "STACK_POINTER_REGNUM", ")", ";", "rtx", "lim", "=", "stack_limit_rtx", ";", "if", "(", "GET_CODE", "(", "lim", ")", "==", "SYMBOL_REF", ")", "{", "rtx", "p2reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P2", ")", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", ")", "{", "rtx", "p1reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P1", ")", ";", "rtx", "val", ";", "pic_reg_loaded", "=", "bfin_load_pic_reg", "(", "p2reg", ")", ";", "val", "=", "legitimize_pic_address", "(", "stack_limit_rtx", ",", "p1reg", ",", "pic_reg_loaded", ")", ";", "emit_move_insn", "(", "p1reg", ",", "val", ")", ";", "frame_related_constant_load", "(", "p2reg", ",", "offset", ",", "FALSE", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "p2reg", ",", "p2reg", ",", "p1reg", ")", ")", ";", "lim", "=", "p2reg", ";", "}", "else", "{", "rtx", "limit", "=", "plus_constant", "(", "stack_limit_rtx", ",", "offset", ")", ";", "emit_move_insn", "(", "p2reg", ",", "limit", ")", ";", "lim", "=", "p2reg", ";", "}", "}", "emit_insn", "(", "gen_compare_lt", "(", "bfin_cc_rtx", ",", "spreg", ",", "lim", ")", ")", ";", "emit_insn", "(", "gen_trapifcc", "(", ")", ")", ";", "}", "expand_prologue_reg_save", "(", "spreg", ",", "0", ",", "false", ")", ";", "do_link", "(", "spreg", ",", "frame_size", ",", "false", ")", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "(", "current_function_uses_pic_offset_table", "||", "!", "current_function_is_leaf", ")", ")", "bfin_load_pic_reg", "(", "pic_offset_table_rtx", ")", ";", "}", ""], "natrual_language": ["Generate", "RTL", "for", "the", "prologue", "of", "the", "current", "function", "."], "TS_V_token": ["bfin", "0"], "File": "bfin2", "Func": "bfin_expand_prologue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33821, "Length": 248}
{"ground_truth": ["", "bool", "bfin_expand_strmov", "(", "rtx", "dst", ",", "rtx", "src", ",", "rtx", "count_exp", ",", "rtx", "align_exp", ")", "{", "rtx", "srcreg", ",", "destreg", ",", "countreg", ";", "HOST_WIDE_INT", "align", "=", "0", ";", "unsigned", "HOST_WIDE_INT", "count", "=", "0", ";", "if", "(", "GET_CODE", "(", "align_exp", ")", "==", "CONST_INT", ")", "align", "=", "INTVAL", "(", "align_exp", ")", ";", "if", "(", "GET_CODE", "(", "count_exp", ")", "==", "CONST_INT", ")", "{", "count", "=", "INTVAL", "(", "count_exp", ")", ";", "if", "(", "!", "TARGET_INLINE_ALL_STRINGOPS", "&&", "count", ">", "64", ")", "return", "false", ";", "}", "if", "(", "optimize_size", ")", "{", "if", "(", "count", "==", "2", "&&", "align", "<", "2", ")", "return", "false", ";", "if", "(", "count", "==", "4", "&&", "align", "<", "4", ")", "return", "false", ";", "if", "(", "count", "!=", "1", "&&", "count", "!=", "2", "&&", "count", "!=", "4", ")", "return", "false", ";", "}", "if", "(", "align", "<", "2", "&&", "count", "!=", "1", ")", "return", "false", ";", "destreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "XEXP", "(", "dst", ",", "0", ")", ")", ";", "if", "(", "destreg", "!=", "XEXP", "(", "dst", ",", "0", ")", ")", "dst", "=", "replace_equiv_address_nv", "(", "dst", ",", "destreg", ")", ";", "srcreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "XEXP", "(", "src", ",", "0", ")", ")", ";", "if", "(", "srcreg", "!=", "XEXP", "(", "src", ",", "0", ")", ")", "src", "=", "replace_equiv_address_nv", "(", "src", ",", "srcreg", ")", ";", "if", "(", "count", "!=", "0", "&&", "align", ">=", "2", ")", "{", "unsigned", "HOST_WIDE_INT", "offset", "=", "0", ";", "if", "(", "align", ">=", "4", ")", "{", "if", "(", "(", "count", "&", "~", "3", ")", "==", "4", ")", "{", "single_move_for_strmov", "(", "dst", ",", "src", ",", "SImode", ",", "offset", ")", ";", "offset", "=", "4", ";", "}", "else", "if", "(", "count", "&", "~", "3", ")", "{", "HOST_WIDE_INT", "new_count", "=", "(", "(", "count", ">>", "2", ")", "&", "0x3fffffff", ")", "-", "1", ";", "countreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "GEN_INT", "(", "new_count", ")", ")", ";", "emit_insn", "(", "gen_rep_movsi", "(", "destreg", ",", "srcreg", ",", "countreg", ",", "destreg", ",", "srcreg", ")", ")", ";", "}", "if", "(", "count", "&", "2", ")", "{", "single_move_for_strmov", "(", "dst", ",", "src", ",", "HImode", ",", "offset", ")", ";", "offset", "+=", "2", ";", "}", "}", "else", "{", "if", "(", "(", "count", "&", "~", "1", ")", "==", "2", ")", "{", "single_move_for_strmov", "(", "dst", ",", "src", ",", "HImode", ",", "offset", ")", ";", "offset", "=", "2", ";", "}", "else", "if", "(", "count", "&", "~", "1", ")", "{", "HOST_WIDE_INT", "new_count", "=", "(", "(", "count", ">>", "1", ")", "&", "0x7fffffff", ")", "-", "1", ";", "countreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "GEN_INT", "(", "new_count", ")", ")", ";", "emit_insn", "(", "gen_rep_movhi", "(", "destreg", ",", "srcreg", ",", "countreg", ",", "destreg", ",", "srcreg", ")", ")", ";", "}", "}", "if", "(", "count", "&", "1", ")", "{", "single_move_for_strmov", "(", "dst", ",", "src", ",", "QImode", ",", "offset", ")", ";", "}", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Expand", "a", "string", "move", "operation", "of", "COUNT_EXP", "bytes", "from", "SRC", "to", "DST", ",", "with", "alignment", "ALIGN_EXP", ".", "Return", "true", "if", "successful", ",", "false", "if", "we", "should", "fall", "back", "on", "a", "different", "method", "."], "TS_V_token": ["bfin", "0", "0", "64", "2", "2", "4", "4", "1", "2", "4", "2", "1", "0", "0", "0", "0", "0", "2", "0", "4", "3", "4", "4", "3", "2", "0x3fffffff", "1", "2", "2", "1", "2", "2", "1", "1", "0x7fffffff", "1", "1"], "File": "bfin2", "Func": "bfin_expand_strmov", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33822, "Length": 450}
{"ground_truth": ["", "int", "bfin_frame_pointer_required", "(", "void", ")", "{", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "return", "1", ";", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", "&&", "!", "current_function_is_leaf", ")", "return", "1", ";", "return", "0", ";", "}", ""], "natrual_language": ["Value", "should", "be", "nonzero", "if", "functions", "must", "have", "frame", "pointers", ".", "Zero", "means", "the", "frame", "pointer", "need", "not", "be", "set", "up", "(", "and", "parms", "may", "be", "accessed", "via", "the", "stack", "pointer", ")", "in", "functions", "that", "seem", "suitable", "."], "TS_V_token": ["bfin", "1", "1", "0"], "File": "bfin2", "Func": "bfin_frame_pointer_required", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33823, "Length": 40}
{"ground_truth": ["", "static", "bool", "bfin_function_ok_for_sibcall", "(", "tree", "decl", "ATTRIBUTE_UNUSED", ",", "tree", "exp", "ATTRIBUTE_UNUSED", ")", "{", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "return", "fkind", "==", "SUBROUTINE", ";", "}", ""], "natrual_language": ["Decide", "whether", "we", "can", "make", "a", "sibling", "call", "to", "a", "function", ".", "DECL", "is", "the", "declaration", "of", "the", "function", "being", "targeted", "by", "the", "call", "and", "EXP", "is", "the", "CALL_EXPR", "representing", "the", "call", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "bfin_function_ok_for_sibcall", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33824, "Length": 30}
{"ground_truth": ["", "rtx", "bfin_gen_compare", "(", "rtx", "cmp", ",", "enum", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ")", "{", "enum", "rtx_code", "code1", ",", "code2", ";", "rtx", "op0", "=", "bfin_compare_op0", ",", "op1", "=", "bfin_compare_op1", ";", "rtx", "tem", "=", "bfin_cc_rtx", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "cmp", ")", ";", "if", "(", "GET_MODE", "(", "op0", ")", "==", "BImode", ")", "{", "gcc_assert", "(", "(", "code", "==", "NE", "||", "code", "==", "EQ", ")", "&&", "op1", "==", "const0_rtx", ")", ";", "tem", "=", "op0", ",", "code2", "=", "code", ";", "}", "else", "{", "switch", "(", "code", ")", "{", "case", "EQ", ":", "case", "LT", ":", "case", "LE", ":", "case", "LEU", ":", "case", "LTU", ":", "code1", "=", "code", ";", "code2", "=", "NE", ";", "break", ";", "default", ":", "code1", "=", "reverse_condition", "(", "code", ")", ";", "code2", "=", "EQ", ";", "break", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "BImode", ",", "tem", ",", "gen_rtx_fmt_ee", "(", "code1", ",", "BImode", ",", "op0", ",", "op1", ")", ")", ")", ";", "}", "return", "gen_rtx_fmt_ee", "(", "code2", ",", "BImode", ",", "tem", ",", "CONST0_RTX", "(", "BImode", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "rtl", "for", "a", "comparison", "operation", "CMP", "in", "mode", "MODE", ".", "Operands", "have", "been", "stored", "in", "bfin_compare_op0", "and", "bfin_compare_op1", "already", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "bfin_gen_compare", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33825, "Length": 163}
{"ground_truth": ["", "static", "tree", "bfin_handle_longcall_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", "ATTRIBUTE_UNUSED", ",", "int", "flags", "ATTRIBUTE_UNUSED", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "FUNCTION_TYPE", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "FIELD_DECL", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "TYPE_DECL", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"`%s' attribute only applies to functions\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "if", "(", "(", "strcmp", "(", "IDENTIFIER_POINTER", "(", "name", ")", ",", "\"longcall\"", ")", "==", "0", "&&", "lookup_attribute", "(", "\"shortcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "||", "(", "strcmp", "(", "IDENTIFIER_POINTER", "(", "name", ")", ",", "\"shortcall\"", ")", "==", "0", "&&", "lookup_attribute", "(", "\"longcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"can't apply both longcall and shortcall attributes to the same function\"", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "longcall", "''", "or", "``", "shortcall", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["bfin", "\"`%s' attribute only applies to functions\"", "\"longcall\"", "0", "\"shortcall\"", "\"shortcall\"", "0", "\"longcall\"", "\"can't apply both longcall and shortcall attributes to the same function\""], "File": "bfin2", "Func": "bfin_handle_longcall_attribute", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33826, "Length": 139}
{"ground_truth": ["", "static", "bool", "bfin_handle_option", "(", "size_t", "code", ",", "const", "char", "*", "arg", ",", "int", "value", ")", "{", "switch", "(", "code", ")", "{", "case", "OPT_mshared_library_id_", ":", "if", "(", "value", ">", "MAX_LIBRARY_ID", ")", "error", "(", "\"-mshared-library-id=%s is not between 0 and %d\"", ",", "arg", ",", "MAX_LIBRARY_ID", ")", ";", "bfin_lib_id_given", "=", "1", ";", "return", "true", ";", "default", ":", "return", "true", ";", "}", "}", ""], "natrual_language": ["Implement", "TARGET_HANDLE_OPTION", "."], "TS_V_token": ["bfin", "\"-mshared-library-id=%s is not between 0 and %d\"", "1"], "File": "bfin2", "Func": "bfin_handle_option", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33827, "Length": 53}
{"ground_truth": ["", "int", "bfin_hard_regno_rename_ok", "(", "unsigned", "int", "old_reg", "ATTRIBUTE_UNUSED", ",", "unsigned", "int", "new_reg", ")", "{", "if", "(", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", "!=", "SUBROUTINE", "&&", "!", "regs_ever_live", "[", "new_reg", "]", ")", "return", "0", ";", "return", "1", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "register", "OLD_REG", "can", "be", "renamed", "to", "register", "NEW_REG", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin2", "Func": "bfin_hard_regno_rename_ok", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33828, "Length": 38}
{"ground_truth": ["", "HOST_WIDE_INT", "bfin_initial_elimination_offset", "(", "int", "from", ",", "int", "to", ")", "{", "HOST_WIDE_INT", "offset", "=", "0", ";", "if", "(", "from", "==", "ARG_POINTER_REGNUM", ")", "offset", "=", "n_regs_saved_by_prologue", "(", ")", "*", "4", ";", "if", "(", "to", "==", "STACK_POINTER_REGNUM", ")", "{", "if", "(", "current_function_outgoing_args_size", ">=", "FIXED_STACK_AREA", ")", "offset", "+=", "current_function_outgoing_args_size", ";", "else", "if", "(", "current_function_outgoing_args_size", ")", "offset", "+=", "FIXED_STACK_AREA", ";", "offset", "+=", "get_frame_size", "(", ")", ";", "}", "return", "offset", ";", "}", ""], "natrual_language": ["Return", "the", "offset", "between", "two", "registers", ",", "one", "to", "be", "eliminated", ",", "and", "the", "other", "its", "replacement", ",", "at", "the", "start", "of", "a", "routine", "."], "TS_V_token": ["bfin", "0", "4"], "File": "bfin2", "Func": "bfin_initial_elimination_offset", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33829, "Length": 66}
{"ground_truth": ["", "static", "void", "bfin_init_builtins", "(", "void", ")", "{", "tree", "void_ftype_void", "=", "build_function_type", "(", "void_type_node", ",", "void_list_node", ")", ";", "def_builtin", "(", "\"__builtin_bfin_csync\"", ",", "void_ftype_void", ",", "BFIN_BUILTIN_CSYNC", ")", ";", "def_builtin", "(", "\"__builtin_bfin_ssync\"", ",", "void_ftype_void", ",", "BFIN_BUILTIN_SSYNC", ")", ";", "}", ""], "natrual_language": ["Set", "up", "all", "builtin", "functions", "for", "this", "target", "."], "TS_V_token": ["bfin", "\"__builtin_bfin_csync\"", "\"__builtin_bfin_ssync\""], "File": "bfin2", "Func": "bfin_init_builtins", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33830, "Length": 36}
{"ground_truth": ["", "bool", "bfin_legitimate_address_p", "(", "enum", "machine_mode", "mode", ",", "rtx", "x", ",", "int", "strict", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "REG", ":", "if", "(", "bfin_valid_reg_p", "(", "REGNO", "(", "x", ")", ",", "strict", ")", ")", "return", "true", ";", "break", ";", "case", "PLUS", ":", "if", "(", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ")", "&&", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "==", "UNSPEC", "||", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "==", "CONST_INT", "&&", "bfin_valid_add", "(", "mode", ",", "INTVAL", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", ")", ")", ")", "return", "true", ";", "break", ";", "case", "POST_INC", ":", "case", "POST_DEC", ":", "if", "(", "LEGITIMATE_MODE_FOR_AUTOINC_P", "(", "mode", ")", "&&", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ")", ")", "return", "true", ";", "case", "PRE_DEC", ":", "if", "(", "LEGITIMATE_MODE_FOR_AUTOINC_P", "(", "mode", ")", "&&", "XEXP", "(", "x", ",", "0", ")", "==", "stack_pointer_rtx", "&&", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ")", ")", "return", "true", ";", "break", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Recognize", "an", "RTL", "expression", "that", "is", "a", "valid", "memory", "address", "for", "an", "instruction", ".", "The", "MODE", "argument", "is", "the", "machine", "mode", "for", "the", "MEM", "expression", "that", "wants", "to", "use", "this", "address", ".", "Blackfin", "addressing", "modes", "are", "as", "follows", ":", "[", "preg", "]", "[", "preg", "+", "imm16", "]", "B", "[", "Preg", "+", "uimm15", "]", "W", "[", "Preg", "+", "uimm16m2", "]", "[", "Preg", "+", "uimm17m4", "]", "[", "preg++", "]", "[", "preg", "--", "]", "[", "--", "sp", "]"], "TS_V_token": ["bfin", "0", "0", "1", "1", "1", "0", "0", "0", "0", "0"], "File": "bfin2", "Func": "bfin_legitimate_address_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33831, "Length": 219}
{"ground_truth": ["", "static", "rtx", "bfin_load_pic_reg", "(", "rtx", "dest", ")", "{", "struct", "cgraph_local_info", "*", "i", "=", "NULL", ";", "rtx", "addr", ",", "insn", ";", "if", "(", "flag_unit_at_a_time", ")", "i", "=", "cgraph_local_info", "(", "current_function_decl", ")", ";", "if", "(", "i", "&&", "i", "->", "local", ")", "return", "pic_offset_table_rtx", ";", "if", "(", "bfin_lib_id_given", ")", "addr", "=", "plus_constant", "(", "pic_offset_table_rtx", ",", "-", "4", "-", "bfin_library_id", "*", "4", ")", ";", "else", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "pic_offset_table_rtx", ",", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ",", "UNSPEC_LIBRARY_OFFSET", ")", ")", ";", "insn", "=", "emit_insn", "(", "gen_movsi", "(", "dest", ",", "gen_rtx_MEM", "(", "Pmode", ",", "addr", ")", ")", ")", ";", "REG_NOTES", "(", "insn", ")", "=", "gen_rtx_EXPR_LIST", "(", "REG_MAYBE_DEAD", ",", "const0_rtx", ",", "NULL", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Used", "while", "emitting", "the", "prologue", "to", "generate", "code", "to", "load", "the", "correct", "value", "into", "the", "PIC", "register", ",", "which", "is", "passed", "in", "DEST", "."], "TS_V_token": ["bfin", "4", "4", "1"], "File": "bfin2", "Func": "bfin_load_pic_reg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33832, "Length": 119}
{"ground_truth": ["", "int", "bfin_register_move_cost", "(", "enum", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "enum", "reg_class", "class1", ",", "enum", "reg_class", "class2", ")", "{", "if", "(", "optimize_size", ")", "return", "2", ";", "if", "(", "class1", "==", "DREGS", "&&", "class2", "!=", "DREGS", ")", "return", "2", "*", "2", ";", "return", "2", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "from", "a", "register", "in", "class", "CLASS1", "to", "one", "in", "class", "CLASS2", ".", "A", "cost", "of", "2", "is", "the", "default", "."], "TS_V_token": ["bfin", "2", "2", "2", "2"], "File": "bfin2", "Func": "bfin_register_move_cost", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33833, "Length": 43}
{"ground_truth": ["", "int", "bfin_return_in_memory", "(", "tree", "type", ")", "{", "int", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "return", "size", ">", "2", "*", "UNITS_PER_WORD", "||", "size", "==", "-", "1", ";", "}", ""], "natrual_language": ["Decide", "whether", "a", "type", "should", "be", "returned", "in", "memory", "(", "true", ")", "or", "in", "a", "register", "(", "false", ")", ".", "This", "is", "called", "by", "the", "macro", "RETURN_IN_MEMORY", "."], "TS_V_token": ["bfin", "2", "1"], "File": "bfin2", "Func": "bfin_return_in_memory", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33834, "Length": 28}
{"ground_truth": ["", "static", "bool", "bfin_valid_add", "(", "enum", "machine_mode", "mode", ",", "HOST_WIDE_INT", "value", ")", "{", "unsigned", "HOST_WIDE_INT", "v", "=", "value", ">", "0", "?", "value", ":", "-", "value", ";", "int", "sz", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "int", "shift", "=", "sz", "==", "1", "?", "0", ":", "sz", "==", "2", "?", "1", ":", "2", ";", "unsigned", "HOST_WIDE_INT", "mask", "=", "sz", "==", "8", "?", "0x7ffe", ":", "0x7fff", ";", "return", "(", "v", "&", "~", "(", "mask", "<<", "shift", ")", ")", "==", "0", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "legitimate", "memory", "address", "for", "a", "memory", "operand", "of", "mode", "MODE", ".", "Return", "false", "if", "not", "."], "TS_V_token": ["bfin", "0", "1", "0", "2", "1", "2", "8", "0x7ffe", "0x7fff", "0"], "File": "bfin2", "Func": "bfin_valid_add", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33835, "Length": 77}
{"ground_truth": ["", "static", "bool", "bfin_vector_mode_supported_p", "(", "enum", "machine_mode", "mode", ")", "{", "return", "mode", "==", "V2HImode", ";", "}", ""], "natrual_language": ["Implements", "target", "hook", "vector_mode_supported_p", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "bfin_vector_mode_supported_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33836, "Length": 15}
{"ground_truth": ["", "static", "int", "branch_dest", "(", "rtx", "branch", ")", "{", "rtx", "dest", ";", "int", "dest_uid", ";", "rtx", "pat", "=", "PATTERN", "(", "branch", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", "pat", "=", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", ";", "dest", "=", "SET_SRC", "(", "pat", ")", ";", "if", "(", "GET_CODE", "(", "dest", ")", "==", "IF_THEN_ELSE", ")", "dest", "=", "XEXP", "(", "dest", ",", "1", ")", ";", "dest", "=", "XEXP", "(", "dest", ",", "0", ")", ";", "dest_uid", "=", "INSN_UID", "(", "dest", ")", ";", "return", "INSN_ADDRESSES", "(", "dest_uid", ")", ";", "}", ""], "natrual_language": ["Return", "the", "destination", "address", "of", "BRANCH", ".", "We", "need", "to", "use", "this", "instead", "of", "get_attr_length", ",", "because", "the", "cbranch_with_nops", "pattern", "conservatively", "sets", "its", "length", "to", "6", ",", "and", "we", "still", "prefer", "to", "use", "shorter", "sequences", "."], "TS_V_token": ["bfin", "0", "0", "1", "0"], "File": "bfin2", "Func": "branch_dest", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33837, "Length": 90}
{"ground_truth": ["", "static", "int", "cbranch_predicted_taken_p", "(", "rtx", "insn", ")", "{", "rtx", "x", "=", "find_reg_note", "(", "insn", ",", "REG_BR_PROB", ",", "0", ")", ";", "if", "(", "x", ")", "{", "int", "pred_val", "=", "INTVAL", "(", "XEXP", "(", "x", ",", "0", ")", ")", ";", "return", "pred_val", ">=", "REG_BR_PROB_BASE", "/", "2", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "INSN", "is", "annotated", "with", "a", "REG_BR_PROB", "note", "that", "indicates", "it", "'s", "a", "branch", "that", "'s", "predicted", "taken", "."], "TS_V_token": ["bfin", "0", "0", "2", "0"], "File": "bfin2", "Func": "cbranch_predicted_taken_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33838, "Length": 50}
{"ground_truth": ["", "void", "conditional_register_usage", "(", "void", ")", "{", "bfin_cc_rtx", "=", "gen_rtx_REG", "(", "BImode", ",", "REG_CC", ")", ";", "bfin_rets_rtx", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_RETS", ")", ";", "}", ""], "natrual_language": ["Called", "early", "in", "the", "compilation", "to", "conditionally", "modify", "fixed_regs/call_used_regs", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "conditional_register_usage", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33839, "Length": 25}
{"ground_truth": ["", "static", "void", "do_link", "(", "rtx", "spreg", ",", "HOST_WIDE_INT", "frame_size", ",", "bool", "all", ")", "{", "frame_size", "+=", "arg_area_size", "(", ")", ";", "if", "(", "all", "||", "stack_frame_needed_p", "(", ")", "||", "(", "must_save_fp_p", "(", ")", "&&", "!", "current_function_is_leaf", ")", ")", "emit_link_insn", "(", "spreg", ",", "frame_size", ")", ";", "else", "{", "if", "(", "!", "current_function_is_leaf", ")", "{", "rtx", "pat", "=", "gen_movsi", "(", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "spreg", ")", ")", ",", "bfin_rets_rtx", ")", ";", "rtx", "insn", "=", "emit_insn", "(", "pat", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "if", "(", "must_save_fp_p", "(", ")", ")", "{", "rtx", "pat", "=", "gen_movsi", "(", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "spreg", ")", ")", ",", "gen_rtx_REG", "(", "Pmode", ",", "REG_FP", ")", ")", ";", "rtx", "insn", "=", "emit_insn", "(", "pat", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "add_to_sp", "(", "spreg", ",", "-", "frame_size", ",", "1", ")", ";", "}", "}", ""], "natrual_language": ["Save", "RETS", "and", "FP", ",", "and", "allocate", "a", "stack", "frame", ".", "ALL", "is", "true", "if", "the", "function", "must", "save", "all", "its", "registers", "(", "true", "only", "for", "certain", "interrupt", "handlers", ")", "."], "TS_V_token": ["bfin", "1", "1", "1"], "File": "bfin2", "Func": "do_link", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33840, "Length": 148}
{"ground_truth": ["", "static", "void", "do_unlink", "(", "rtx", "spreg", ",", "HOST_WIDE_INT", "frame_size", ",", "bool", "all", ")", "{", "frame_size", "+=", "arg_area_size", "(", ")", ";", "if", "(", "all", "||", "stack_frame_needed_p", "(", ")", ")", "emit_insn", "(", "gen_unlink", "(", ")", ")", ";", "else", "{", "rtx", "postinc", "=", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_POST_INC", "(", "Pmode", ",", "spreg", ")", ")", ";", "add_to_sp", "(", "spreg", ",", "frame_size", ",", "0", ")", ";", "if", "(", "must_save_fp_p", "(", ")", ")", "{", "rtx", "fpreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_FP", ")", ";", "emit_move_insn", "(", "fpreg", ",", "postinc", ")", ";", "emit_insn", "(", "gen_rtx_USE", "(", "VOIDmode", ",", "fpreg", ")", ")", ";", "}", "if", "(", "!", "current_function_is_leaf", ")", "{", "emit_move_insn", "(", "bfin_rets_rtx", ",", "postinc", ")", ";", "emit_insn", "(", "gen_rtx_USE", "(", "VOIDmode", ",", "bfin_rets_rtx", ")", ")", ";", "}", "}", "}", ""], "natrual_language": ["Like", "do_link", ",", "but", "used", "for", "epilogues", "to", "deallocate", "the", "stack", "frame", "."], "TS_V_token": ["bfin", "0"], "File": "bfin2", "Func": "do_unlink", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33841, "Length": 122}
{"ground_truth": ["", "int", "effective_address_32bit_p", "(", "rtx", "op", ",", "enum", "machine_mode", "mode", ")", "{", "HOST_WIDE_INT", "offset", ";", "mode", "=", "GET_MODE", "(", "op", ")", ";", "op", "=", "XEXP", "(", "op", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "op", ")", "!=", "PLUS", ")", "{", "gcc_assert", "(", "REG_P", "(", "op", ")", "||", "GET_CODE", "(", "op", ")", "==", "POST_INC", "||", "GET_CODE", "(", "op", ")", "==", "PRE_DEC", "||", "GET_CODE", "(", "op", ")", "==", "POST_DEC", ")", ";", "return", "0", ";", "}", "offset", "=", "INTVAL", "(", "XEXP", "(", "op", ",", "1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "1", ")", "return", "1", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "4", ")", "{", "if", "(", "XEXP", "(", "op", ",", "0", ")", "==", "frame_pointer_rtx", ")", "return", "offset", "<", "-", "128", "||", "offset", ">", "60", ";", "return", "offset", "<", "0", "||", "offset", ">", "60", ";", "}", "return", "offset", "<", "0", "||", "offset", ">", "30", ";", "}", ""], "natrual_language": ["This", "predicate", "is", "used", "to", "compute", "the", "length", "of", "a", "load/store", "insn", ".", "OP", "is", "a", "MEM", "rtx", ",", "we", "return", "nonzero", "if", "its", "addressing", "mode", "requires", "a", "32", "bit", "instruction", "."], "TS_V_token": ["bfin", "0", "0", "1", "1", "1", "4", "0", "128", "60", "0", "60", "0", "30"], "File": "bfin2", "Func": "effective_address_32bit_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33842, "Length": 148}
{"ground_truth": ["", "static", "void", "emit_link_insn", "(", "rtx", "spreg", ",", "HOST_WIDE_INT", "frame_size", ")", "{", "HOST_WIDE_INT", "link_size", "=", "frame_size", ";", "rtx", "insn", ";", "int", "i", ";", "if", "(", "link_size", ">", "262140", ")", "link_size", "=", "262140", ";", "insn", "=", "emit_insn", "(", "gen_link", "(", "GEN_INT", "(", "-", "8", "-", "link_size", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "for", "(", "i", "=", "0", ";", "i", "<", "XVECLEN", "(", "PATTERN", "(", "insn", ")", ",", "0", ")", ";", "i", "++", ")", "{", "rtx", "set", "=", "XVECEXP", "(", "PATTERN", "(", "insn", ")", ",", "0", ",", "i", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "RTX_FRAME_RELATED_P", "(", "set", ")", "=", "1", ";", "}", "frame_size", "-=", "link_size", ";", "if", "(", "frame_size", ">", "0", ")", "{", "rtx", "tmpreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P1", ")", ";", "frame_related_constant_load", "(", "tmpreg", ",", "-", "frame_size", ",", "TRUE", ")", ";", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "tmpreg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Generate", "a", "LINK", "insn", "for", "a", "frame", "sized", "FRAME_SIZE", ".", "If", "this", "constant", "is", "too", "large", ",", "generate", "a", "sequence", "of", "insns", "that", "has", "the", "same", "effect", ".", "SPREG", "contains", "(", "reg", ":", "SI", "REG_SP", ")", "."], "TS_V_token": ["bfin", "262140", "262140", "8", "1", "0", "0", "0", "1", "0", "1"], "File": "bfin2", "Func": "emit_link_insn", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33843, "Length": 164}
{"ground_truth": ["", "void", "emit_pic_move", "(", "rtx", "*", "operands", ",", "enum", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ")", "{", "rtx", "temp", "=", "reload_in_progress", "?", "operands", "[", "0", "]", ":", "gen_reg_rtx", "(", "Pmode", ")", ";", "if", "(", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "MEM", "&&", "SYMBOLIC_CONST", "(", "operands", "[", "1", "]", ")", ")", "operands", "[", "1", "]", "=", "force_reg", "(", "SImode", ",", "operands", "[", "1", "]", ")", ";", "else", "operands", "[", "1", "]", "=", "legitimize_pic_address", "(", "operands", "[", "1", "]", ",", "temp", ",", "pic_offset_table_rtx", ")", ";", "}", ""], "natrual_language": ["Emit", "insns", "to", "move", "operands", "[", "1", "]", "into", "operands", "[", "0", "]", "."], "TS_V_token": ["bfin", "0", "0", "1", "1", "1", "1", "1"], "File": "bfin2", "Func": "emit_pic_move", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33844, "Length": 82}
{"ground_truth": ["", "static", "void", "expand_epilogue_reg_restore", "(", "rtx", "spreg", ",", "bool", "saveall", ",", "bool", "is_inthandler", ")", "{", "int", "ndregs", "=", "saveall", "?", "8", ":", "n_dregs_to_save", "(", "is_inthandler", ")", ";", "int", "npregs", "=", "saveall", "?", "6", ":", "n_pregs_to_save", "(", "is_inthandler", ")", ";", "int", "total", "=", "ndregs", "+", "npregs", ";", "int", "i", ",", "regno", ";", "rtx", "pat", ",", "insn", ";", "if", "(", "total", "==", "0", ")", "return", ";", "pat", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "rtvec_alloc", "(", "total", "+", "1", ")", ")", ";", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "spreg", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "spreg", ",", "GEN_INT", "(", "total", "*", "4", ")", ")", ")", ";", "if", "(", "npregs", ">", "0", ")", "regno", "=", "REG_P5", "+", "1", ";", "else", "regno", "=", "REG_R7", "+", "1", ";", "for", "(", "i", "=", "0", ";", "i", "<", "total", ";", "i", "++", ")", "{", "rtx", "addr", "=", "(", "i", ">", "0", "?", "gen_rtx_PLUS", "(", "Pmode", ",", "spreg", ",", "GEN_INT", "(", "i", "*", "4", ")", ")", ":", "spreg", ")", ";", "rtx", "memref", "=", "gen_rtx_MEM", "(", "word_mode", ",", "addr", ")", ";", "regno", "--", ";", "XVECEXP", "(", "pat", ",", "0", ",", "i", "+", "1", ")", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ",", "memref", ")", ";", "if", "(", "npregs", ">", "0", ")", "{", "if", "(", "--", "npregs", "==", "0", ")", "regno", "=", "REG_R7", "+", "1", ";", "}", "}", "insn", "=", "emit_insn", "(", "pat", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "registers", "in", "the", "epilogue", ".", "SAVEALL", "is", "nonzero", "if", "we", "must", "save", "all", "registers", ";", "this", "is", "used", "for", "interrupt", "handlers", ".", "SPREG", "contains", "(", "reg", ":", "SI", "REG_SP", ")", ".", "IS_INTHANDLER", "is", "true", "if", "we", "'re", "doing", "this", "for", "an", "interrupt", "(", "or", "exception", ")", "handler", "."], "TS_V_token": ["bfin", "8", "6", "0", "1", "0", "0", "4", "0", "1", "1", "0", "0", "4", "0", "1", "0", "0", "1", "1"], "File": "bfin2", "Func": "expand_epilogue_reg_restore", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33845, "Length": 240}
{"ground_truth": ["", "static", "void", "expand_interrupt_handler_epilogue", "(", "rtx", "spreg", ",", "e_funkind", "fkind", ")", "{", "int", "i", ";", "rtx", "postinc1", "=", "gen_rtx_POST_INC", "(", "SImode", ",", "spreg", ")", ";", "rtx", "postinc", "=", "gen_rtx_MEM", "(", "SImode", ",", "postinc1", ")", ";", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "all", "=", "lookup_attribute", "(", "\"saveall\"", ",", "attrs", ")", "!=", "NULL_TREE", ";", "MEM_VOLATILE_P", "(", "postinc", ")", "=", "1", ";", "do_unlink", "(", "spreg", ",", "get_frame_size", "(", ")", ",", "all", ")", ";", "if", "(", "lookup_attribute", "(", "\"nesting\"", ",", "attrs", ")", ")", "{", "rtx", "srcreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "(", "fkind", "==", "EXCPT_HANDLER", "?", "REG_RETX", ":", "fkind", "==", "NMI_HANDLER", "?", "REG_RETN", ":", "REG_RETI", ")", ")", ";", "emit_move_insn", "(", "srcreg", ",", "postinc", ")", ";", "}", "if", "(", "!", "current_function_is_leaf", ")", "all", "=", "true", ";", "for", "(", "i", "=", "REG_CC", "-", "1", ";", "i", ">", "REG_P7", ";", "i", "--", ")", "if", "(", "all", "||", "regs_ever_live", "[", "i", "]", "||", "(", "!", "leaf_function_p", "(", ")", "&&", "call_used_regs", "[", "i", "]", ")", ")", "{", "if", "(", "i", "==", "REG_A0", "||", "i", "==", "REG_A1", ")", "{", "rtx", "mem", "=", "gen_rtx_MEM", "(", "PDImode", ",", "postinc1", ")", ";", "MEM_VOLATILE_P", "(", "mem", ")", "=", "1", ";", "emit_move_insn", "(", "gen_rtx_REG", "(", "PDImode", ",", "i", ")", ",", "mem", ")", ";", "}", "else", "emit_move_insn", "(", "gen_rtx_REG", "(", "SImode", ",", "i", ")", ",", "postinc", ")", ";", "}", "expand_epilogue_reg_restore", "(", "spreg", ",", "all", ",", "true", ")", ";", "emit_move_insn", "(", "gen_rtx_REG", "(", "SImode", ",", "REG_ASTAT", ")", ",", "postinc", ")", ";", "if", "(", "fkind", "==", "EXCPT_HANDLER", ")", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "GEN_INT", "(", "12", ")", ")", ")", ";", "emit_jump_insn", "(", "gen_return_internal", "(", "GEN_INT", "(", "fkind", ")", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "an", "epilogue", "suitable", "for", "a", "function", "of", "kind", "FKIND", ".", "This", "is", "called", "for", "interrupt", "and", "exception", "handler", "epilogues", ".", "SPREG", "contains", "(", "reg", ":", "SI", "REG_SP", ")", "."], "TS_V_token": ["bfin", "\"saveall\"", "1", "\"nesting\"", "1", "1", "12"], "File": "bfin2", "Func": "expand_interrupt_handler_epilogue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33846, "Length": 272}
{"ground_truth": ["", "void", "expand_move", "(", "rtx", "*", "operands", ",", "enum", "machine_mode", "mode", ")", "{", "if", "(", "flag_pic", "&&", "SYMBOLIC_CONST", "(", "operands", "[", "1", "]", ")", ")", "emit_pic_move", "(", "operands", ",", "mode", ")", ";", "else", "if", "(", "(", "reload_in_progress", "|", "reload_completed", ")", "==", "0", "&&", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "MEM", "&&", "GET_CODE", "(", "operands", "[", "1", "]", ")", "!=", "REG", ")", "operands", "[", "1", "]", "=", "force_reg", "(", "mode", ",", "operands", "[", "1", "]", ")", ";", "}", ""], "natrual_language": ["Expand", "a", "move", "operation", "in", "mode", "MODE", ".", "The", "operands", "are", "in", "OPERANDS", "."], "TS_V_token": ["bfin", "1", "0", "0", "1", "1", "1"], "File": "bfin2", "Func": "expand_move", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33847, "Length": 78}
{"ground_truth": ["", "static", "void", "expand_prologue_reg_save", "(", "rtx", "spreg", ",", "int", "saveall", ",", "bool", "is_inthandler", ")", "{", "int", "ndregs", "=", "saveall", "?", "8", ":", "n_dregs_to_save", "(", "is_inthandler", ")", ";", "int", "npregs", "=", "saveall", "?", "6", ":", "n_pregs_to_save", "(", "is_inthandler", ")", ";", "int", "dregno", "=", "REG_R7", "+", "1", "-", "ndregs", ";", "int", "pregno", "=", "REG_P5", "+", "1", "-", "npregs", ";", "int", "total", "=", "ndregs", "+", "npregs", ";", "int", "i", ";", "rtx", "pat", ",", "insn", ",", "val", ";", "if", "(", "total", "==", "0", ")", "return", ";", "val", "=", "GEN_INT", "(", "-", "total", "*", "4", ")", ";", "pat", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "rtvec_alloc", "(", "total", "+", "2", ")", ")", ";", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", "=", "gen_rtx_UNSPEC", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "val", ")", ",", "UNSPEC_PUSH_MULTIPLE", ")", ";", "XVECEXP", "(", "pat", ",", "0", ",", "total", "+", "1", ")", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "spreg", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "spreg", ",", "val", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "XVECEXP", "(", "pat", ",", "0", ",", "total", "+", "1", ")", ")", "=", "1", ";", "for", "(", "i", "=", "0", ";", "i", "<", "total", ";", "i", "++", ")", "{", "rtx", "memref", "=", "gen_rtx_MEM", "(", "word_mode", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "spreg", ",", "GEN_INT", "(", "-", "i", "*", "4", "-", "4", ")", ")", ")", ";", "rtx", "subpat", ";", "if", "(", "ndregs", ">", "0", ")", "{", "subpat", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "memref", ",", "gen_rtx_REG", "(", "word_mode", ",", "dregno", "++", ")", ")", ";", "ndregs", "--", ";", "}", "else", "{", "subpat", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "memref", ",", "gen_rtx_REG", "(", "word_mode", ",", "pregno", "++", ")", ")", ";", "npregs", "++", ";", "}", "XVECEXP", "(", "pat", ",", "0", ",", "i", "+", "1", ")", "=", "subpat", ";", "RTX_FRAME_RELATED_P", "(", "subpat", ")", "=", "1", ";", "}", "insn", "=", "emit_insn", "(", "pat", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "in", "the", "prologue", ".", "SAVEALL", "is", "nonzero", "if", "we", "must", "save", "all", "registers", ";", "this", "is", "used", "for", "interrupt", "handlers", ".", "SPREG", "contains", "(", "reg", ":", "SI", "REG_SP", ")", ".", "IS_INTHANDLER", "is", "true", "if", "we", "'re", "doing", "this", "for", "an", "interrupt", "(", "or", "exception", ")", "handler", "."], "TS_V_token": ["bfin", "8", "6", "1", "1", "0", "4", "2", "0", "0", "1", "0", "1", "0", "1", "1", "0", "4", "4", "0", "0", "1", "1", "1"], "File": "bfin2", "Func": "expand_prologue_reg_save", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33848, "Length": 300}
{"ground_truth": ["", "static", "void", "frame_related_constant_load", "(", "rtx", "reg", ",", "HOST_WIDE_INT", "constant", ",", "bool", "related", ")", "{", "rtx", "insn", ";", "rtx", "cst", "=", "GEN_INT", "(", "constant", ")", ";", "if", "(", "constant", ">=", "-", "32768", "&&", "constant", "<", "65536", ")", "insn", "=", "emit_move_insn", "(", "reg", ",", "cst", ")", ";", "else", "{", "insn", "=", "emit_insn", "(", "gen_movsi_high", "(", "reg", ",", "cst", ")", ")", ";", "if", "(", "related", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "insn", "=", "emit_insn", "(", "gen_movsi_low", "(", "reg", ",", "reg", ",", "cst", ")", ")", ";", "}", "if", "(", "related", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "load", "a", "constant", "CONSTANT", "into", "register", "REG", ";", "setting", "RTX_FRAME_RELATED_P", "on", "all", "insns", "we", "generate", "if", "RELATED", "is", "true", ".", "Make", "sure", "that", "the", "insns", "we", "generate", "need", "not", "be", "split", "."], "TS_V_token": ["bfin", "32768", "65536", "1", "1"], "File": "bfin2", "Func": "frame_related_constant_load", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33849, "Length": 97}
{"ground_truth": ["", "struct", "rtx_def", "*", "function_arg", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "enum", "machine_mode", "mode", ",", "tree", "type", ",", "int", "named", "ATTRIBUTE_UNUSED", ")", "{", "int", "bytes", "=", "(", "mode", "==", "BLKmode", ")", "?", "int_size_in_bytes", "(", "type", ")", ":", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "mode", "==", "VOIDmode", ")", "return", "GEN_INT", "(", "cum", "->", "call_cookie", ")", ";", "if", "(", "bytes", "==", "-", "1", ")", "return", "NULL_RTX", ";", "if", "(", "cum", "->", "nregs", ")", "return", "gen_rtx_REG", "(", "mode", ",", "*", "(", "cum", "->", "arg_regs", ")", ")", ";", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["Return", "an", "RTL", "expression", "containing", "the", "register", "for", "the", "given", "mode", ",", "or", "0", "if", "the", "argument", "is", "to", "be", "passed", "on", "the", "stack", ".", "INCOMING_P", "is", "nonzero", "if", "this", "is", "an", "incoming", "argument", "to", "the", "current", "function", "."], "TS_V_token": ["bfin", "1"], "File": "bfin2", "Func": "function_arg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33850, "Length": 87}
{"ground_truth": ["", "void", "function_arg_advance", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "enum", "machine_mode", "mode", ",", "tree", "type", ",", "int", "named", "ATTRIBUTE_UNUSED", ")", "{", "int", "count", ",", "bytes", ",", "words", ";", "bytes", "=", "(", "mode", "==", "BLKmode", ")", "?", "int_size_in_bytes", "(", "type", ")", ":", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "(", "bytes", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ";", "cum", "->", "words", "+=", "words", ";", "cum", "->", "nregs", "-=", "words", ";", "if", "(", "cum", "->", "nregs", "<=", "0", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cum", "->", "arg_regs", "=", "NULL", ";", "}", "else", "{", "for", "(", "count", "=", "1", ";", "count", "<=", "words", ";", "count", "++", ")", "cum", "->", "arg_regs", "++", ";", "}", "return", ";", "}", ""], "natrual_language": ["Handle", "the", "FUNCTION_ARG_ADVANCE", "macro", ".", "Update", "the", "data", "in", "CUM", "to", "advance", "over", "an", "argument", "of", "mode", "MODE", "and", "data", "type", "TYPE", ".", "TYPE", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", "."], "TS_V_token": ["bfin", "1", "0", "0", "1"], "File": "bfin2", "Func": "function_arg_advance", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33851, "Length": 114}
{"ground_truth": ["", "static", "e_funkind", "funkind", "(", "tree", "funtype", ")", "{", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "funtype", ")", ";", "if", "(", "lookup_attribute", "(", "\"interrupt_handler\"", ",", "attrs", ")", ")", "return", "INTERRUPT_HANDLER", ";", "else", "if", "(", "lookup_attribute", "(", "\"exception_handler\"", ",", "attrs", ")", ")", "return", "EXCPT_HANDLER", ";", "else", "if", "(", "lookup_attribute", "(", "\"nmi_handler\"", ",", "attrs", ")", ")", "return", "NMI_HANDLER", ";", "else", "return", "SUBROUTINE", ";", "}", ""], "natrual_language": ["Examine", "machine-dependent", "attributes", "of", "function", "type", "FUNTYPE", "and", "return", "its", "type", ".", "See", "the", "definition", "of", "E_FUNKIND", "."], "TS_V_token": ["bfin", "\"interrupt_handler\"", "\"exception_handler\"", "\"nmi_handler\""], "File": "bfin2", "Func": "funkind", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33852, "Length": 59}
{"ground_truth": ["", "static", "tree", "handle_int_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", "ATTRIBUTE_UNUSED", ",", "int", "flags", "ATTRIBUTE_UNUSED", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "x", "=", "*", "node", ";", "if", "(", "TREE_CODE", "(", "x", ")", "==", "FUNCTION_DECL", ")", "x", "=", "TREE_TYPE", "(", "x", ")", ";", "if", "(", "TREE_CODE", "(", "x", ")", "!=", "FUNCTION_TYPE", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qs attribute only applies to functions\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "if", "(", "funkind", "(", "x", ")", "!=", "SUBROUTINE", ")", "error", "(", "\"multiple function type attributes specified\"", ")", ";", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "interrupt_handler", ",", "exception_handler", "and", "nmi_handler", "function", "attributes", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["bfin", "\"%qs attribute only applies to functions\"", "\"multiple function type attributes specified\""], "File": "bfin2", "Func": "handle_int_attribute", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33853, "Length": 93}
{"ground_truth": ["", "int", "hard_regno_mode_ok", "(", "int", "regno", ",", "enum", "machine_mode", "mode", ")", "{", "enum", "reg_class", "class", "=", "REGNO_REG_CLASS", "(", "regno", ")", ";", "if", "(", "mode", "==", "CCmode", ")", "return", "0", ";", "if", "(", "mode", "==", "V2HImode", ")", "return", "D_REGNO_P", "(", "regno", ")", ";", "if", "(", "class", "==", "CCREGS", ")", "return", "mode", "==", "BImode", ";", "if", "(", "mode", "==", "PDImode", ")", "return", "regno", "==", "REG_A0", "||", "regno", "==", "REG_A1", ";", "if", "(", "mode", "==", "SImode", "&&", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "PROLOGUE_REGS", "]", ",", "regno", ")", ")", "return", "1", ";", "return", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "MOST_REGS", "]", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Value", "is", "1", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin2", "Func": "hard_regno_mode_ok", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33854, "Length": 98}
{"ground_truth": ["", "rtx", "legitimize_address", "(", "rtx", "x", "ATTRIBUTE_UNUSED", ",", "rtx", "oldx", "ATTRIBUTE_UNUSED", ",", "enum", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ")", "{", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["Try", "machine-dependent", "ways", "of", "modifying", "an", "illegitimate", "address", "X", "to", "be", "legitimate", ".", "If", "we", "find", "one", ",", "return", "the", "new", ",", "valid", "address", ".", "OLDX", "is", "the", "address", "as", "it", "was", "before", "break_out_memory_refs", "was", "called", ".", "In", "some", "cases", "it", "is", "useful", "to", "look", "at", "this", "to", "decide", "what", "needs", "to", "be", "done", ".", "MODE", "is", "the", "mode", "of", "the", "operand", "pointed", "to", "by", "X", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "legitimize_address", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33855, "Length": 21}
{"ground_truth": ["", "rtx", "legitimize_pic_address", "(", "rtx", "orig", ",", "rtx", "reg", ",", "rtx", "picreg", ")", "{", "rtx", "addr", "=", "orig", ";", "rtx", "new", "=", "orig", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", "||", "GET_CODE", "(", "addr", ")", "==", "LABEL_REF", ")", "{", "if", "(", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", "&&", "CONSTANT_POOL_ADDRESS_P", "(", "addr", ")", ")", "reg", "=", "new", "=", "orig", ";", "else", "{", "if", "(", "reg", "==", "0", ")", "{", "gcc_assert", "(", "!", "no_new_pseudos", ")", ";", "reg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "}", "if", "(", "flag_pic", "==", "2", ")", "{", "emit_insn", "(", "gen_movsi_high_pic", "(", "reg", ",", "addr", ")", ")", ";", "emit_insn", "(", "gen_movsi_low_pic", "(", "reg", ",", "reg", ",", "addr", ")", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "reg", ",", "reg", ",", "picreg", ")", ")", ";", "new", "=", "gen_const_mem", "(", "Pmode", ",", "reg", ")", ";", "}", "else", "{", "rtx", "tmp", "=", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "1", ",", "addr", ")", ",", "UNSPEC_MOVE_PIC", ")", ";", "new", "=", "gen_const_mem", "(", "Pmode", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "picreg", ",", "tmp", ")", ")", ";", "}", "emit_move_insn", "(", "reg", ",", "new", ")", ";", "}", "if", "(", "picreg", "==", "pic_offset_table_rtx", ")", "current_function_uses_pic_offset_table", "=", "1", ";", "return", "reg", ";", "}", "else", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", "||", "GET_CODE", "(", "addr", ")", "==", "PLUS", ")", "{", "rtx", "base", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", ")", "{", "addr", "=", "XEXP", "(", "addr", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "addr", ")", "==", "PLUS", ")", ";", "}", "if", "(", "XEXP", "(", "addr", ",", "0", ")", "==", "picreg", ")", "return", "orig", ";", "if", "(", "reg", "==", "0", ")", "{", "gcc_assert", "(", "!", "no_new_pseudos", ")", ";", "reg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "}", "base", "=", "legitimize_pic_address", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "reg", ",", "picreg", ")", ";", "addr", "=", "legitimize_pic_address", "(", "XEXP", "(", "addr", ",", "1", ")", ",", "base", "==", "reg", "?", "NULL_RTX", ":", "reg", ",", "picreg", ")", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST_INT", ")", "{", "gcc_assert", "(", "!", "reload_in_progress", "&&", "!", "reload_completed", ")", ";", "addr", "=", "force_reg", "(", "Pmode", ",", "addr", ")", ";", "}", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PLUS", "&&", "CONSTANT_P", "(", "XEXP", "(", "addr", ",", "1", ")", ")", ")", "{", "base", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "base", ",", "XEXP", "(", "addr", ",", "0", ")", ")", ";", "addr", "=", "XEXP", "(", "addr", ",", "1", ")", ";", "}", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "base", ",", "addr", ")", ";", "}", "return", "new", ";", "}", ""], "natrual_language": ["Legitimize", "PIC", "addresses", ".", "If", "the", "address", "is", "already", "position-independent", ",", "we", "return", "ORIG", ".", "Newly", "generated", "position-independent", "addresses", "go", "into", "a", "reg", ".", "This", "is", "REG", "if", "nonzero", ",", "otherwise", "we", "allocate", "register", "(", "s", ")", "as", "necessary", "."], "TS_V_token": ["bfin", "0", "2", "1", "1", "0", "0", "0", "0", "1", "1", "0", "1"], "File": "bfin2", "Func": "legitimize_pic_address", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33856, "Length": 406}
{"ground_truth": ["", "static", "bool", "must_save_fp_p", "(", "void", ")", "{", "return", "frame_pointer_needed", "||", "regs_ever_live", "[", "REG_FP", "]", ";", "}", ""], "natrual_language": ["Determine", "if", "we", "are", "going", "to", "save", "the", "frame", "pointer", "in", "the", "prologue", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "must_save_fp_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33857, "Length": 16}
{"ground_truth": ["", "static", "int", "n_dregs_to_save", "(", "bool", "is_inthandler", ")", "{", "unsigned", "i", ";", "for", "(", "i", "=", "REG_R0", ";", "i", "<=", "REG_R7", ";", "i", "++", ")", "{", "if", "(", "regs_ever_live", "[", "i", "]", "&&", "(", "is_inthandler", "||", "!", "call_used_regs", "[", "i", "]", ")", ")", "return", "REG_R7", "-", "i", "+", "1", ";", "if", "(", "current_function_calls_eh_return", ")", "{", "unsigned", "j", ";", "for", "(", "j", "=", "0", ";", ";", "j", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "j", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "i", ")", "return", "REG_R7", "-", "i", "+", "1", ";", "}", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "DREGS", "to", "save", "with", "a", "push_multiple", "operation", ".", "This", "could", "include", "registers", "that", "are", "n't", "modified", "in", "the", "function", ",", "since", "push_multiple", "only", "takes", "a", "range", "of", "registers", ".", "If", "IS_INTHANDLER", ",", "then", "everything", "that", "is", "live", "must", "be", "saved", ",", "even", "if", "normally", "call-clobbered", "."], "TS_V_token": ["bfin", "1", "0", "1", "0"], "File": "bfin2", "Func": "n_dregs_to_save", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33858, "Length": 104}
{"ground_truth": ["", "static", "int", "n_pregs_to_save", "(", "bool", "is_inthandler", ")", "{", "unsigned", "i", ";", "for", "(", "i", "=", "REG_P0", ";", "i", "<=", "REG_P5", ";", "i", "++", ")", "if", "(", "(", "regs_ever_live", "[", "i", "]", "&&", "(", "is_inthandler", "||", "!", "call_used_regs", "[", "i", "]", ")", ")", "||", "(", "i", "==", "PIC_OFFSET_TABLE_REGNUM", "&&", "(", "current_function_uses_pic_offset_table", "||", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "!", "current_function_is_leaf", ")", ")", ")", ")", "return", "REG_P5", "-", "i", "+", "1", ";", "return", "0", ";", "}", ""], "natrual_language": ["Like", "n_dregs_to_save", ",", "but", "compute", "number", "of", "PREGS", "to", "save", "."], "TS_V_token": ["bfin", "1", "0"], "File": "bfin2", "Func": "n_pregs_to_save", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33859, "Length": 71}
{"ground_truth": ["", "static", "int", "n_regs_saved_by_prologue", "(", "void", ")", "{", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "is_inthandler", "=", "fkind", "!=", "SUBROUTINE", ";", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "all", "=", "(", "lookup_attribute", "(", "\"saveall\"", ",", "attrs", ")", "!=", "NULL_TREE", "||", "(", "is_inthandler", "&&", "!", "current_function_is_leaf", ")", ")", ";", "int", "ndregs", "=", "all", "?", "8", ":", "n_dregs_to_save", "(", "is_inthandler", ")", ";", "int", "npregs", "=", "all", "?", "6", ":", "n_pregs_to_save", "(", "is_inthandler", ")", ";", "int", "n", "=", "ndregs", "+", "npregs", ";", "if", "(", "all", "||", "stack_frame_needed_p", "(", ")", ")", "n", "+=", "2", ";", "else", "{", "if", "(", "must_save_fp_p", "(", ")", ")", "n", "++", ";", "if", "(", "!", "current_function_is_leaf", ")", "n", "++", ";", "}", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "{", "int", "i", ";", "n", "++", ";", "if", "(", "lookup_attribute", "(", "\"nesting\"", ",", "attrs", ")", ")", "n", "++", ";", "for", "(", "i", "=", "REG_P7", "+", "1", ";", "i", "<", "REG_CC", ";", "i", "++", ")", "if", "(", "all", "||", "regs_ever_live", "[", "i", "]", "||", "(", "!", "leaf_function_p", "(", ")", "&&", "call_used_regs", "[", "i", "]", ")", ")", "n", "+=", "i", "==", "REG_A0", "||", "i", "==", "REG_A1", "?", "2", ":", "1", ";", "}", "return", "n", ";", "}", ""], "natrual_language": ["Return", "the", "number", "of", "registers", "pushed", "during", "the", "prologue", "."], "TS_V_token": ["bfin", "\"saveall\"", "8", "6", "2", "\"nesting\"", "1", "2", "1"], "File": "bfin2", "Func": "n_regs_saved_by_prologue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33860, "Length": 200}
{"ground_truth": ["", "static", "void", "output_file_start", "(", "void", ")", "{", "FILE", "*", "file", "=", "asm_out_file", ";", "int", "i", ";", "fprintf", "(", "file", ",", "\".file \\\"%s\\\";\\n\"", ",", "input_filename", ")", ";", "for", "(", "i", "=", "0", ";", "arg_regs", "[", "i", "]", ">=", "0", ";", "i", "++", ")", ";", "max_arg_registers", "=", "i", ";", "}", ""], "natrual_language": ["Output", "to", "FILE", "the", "start", "of", "the", "assembler", "file", "."], "TS_V_token": ["bfin", "\".file \\\"%s\\\";\\n\"", "0", "0"], "File": "bfin2", "Func": "output_file_start", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33861, "Length": 47}
{"ground_truth": ["", "void", "output_pop_multiple", "(", "rtx", "insn", ",", "rtx", "*", "operands", ")", "{", "char", "buf", "[", "80", "]", ";", "int", "ok", ";", "ok", "=", "pop_multiple_operation", "(", "PATTERN", "(", "insn", ")", ",", "VOIDmode", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "first_dreg_to_save", "==", "8", ")", "sprintf", "(", "buf", ",", "\"( p5:%d ) = [sp++];\\n\"", ",", "first_preg_to_save", ")", ";", "else", "if", "(", "first_preg_to_save", "==", "6", ")", "sprintf", "(", "buf", ",", "\"( r7:%d ) = [sp++];\\n\"", ",", "first_dreg_to_save", ")", ";", "else", "sprintf", "(", "buf", ",", "\"( r7:%d, p5:%d ) = [sp++];\\n\"", ",", "first_dreg_to_save", ",", "first_preg_to_save", ")", ";", "output_asm_insn", "(", "buf", ",", "operands", ")", ";", "}", ""], "natrual_language": ["Emit", "assembly", "code", "for", "one", "multi-register", "pop", "described", "by", "INSN", ",", "with", "operands", "in", "OPERANDS", "."], "TS_V_token": ["bfin", "80", "8", "\"( p5:%d ) = [sp++];\\n\"", "6", "\"( r7:%d ) = [sp++];\\n\"", "\"( r7:%d, p5:%d ) = [sp++];\\n\""], "File": "bfin2", "Func": "output_pop_multiple", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33862, "Length": 88}
{"ground_truth": ["", "void", "output_push_multiple", "(", "rtx", "insn", ",", "rtx", "*", "operands", ")", "{", "char", "buf", "[", "80", "]", ";", "int", "ok", ";", "ok", "=", "push_multiple_operation", "(", "PATTERN", "(", "insn", ")", ",", "VOIDmode", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "first_dreg_to_save", "==", "8", ")", "sprintf", "(", "buf", ",", "\"[--sp] = ( p5:%d );\\n\"", ",", "first_preg_to_save", ")", ";", "else", "if", "(", "first_preg_to_save", "==", "6", ")", "sprintf", "(", "buf", ",", "\"[--sp] = ( r7:%d );\\n\"", ",", "first_dreg_to_save", ")", ";", "else", "sprintf", "(", "buf", ",", "\"[--sp] = ( r7:%d, p5:%d );\\n\"", ",", "first_dreg_to_save", ",", "first_preg_to_save", ")", ";", "output_asm_insn", "(", "buf", ",", "operands", ")", ";", "}", ""], "natrual_language": ["Emit", "assembly", "code", "for", "one", "multi-register", "push", "described", "by", "INSN", ",", "with", "operands", "in", "OPERANDS", "."], "TS_V_token": ["bfin", "80", "8", "\"[--sp] = ( p5:%d );\\n\"", "6", "\"[--sp] = ( r7:%d );\\n\"", "\"[--sp] = ( r7:%d, p5:%d );\\n\""], "File": "bfin2", "Func": "output_push_multiple", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33863, "Length": 88}
{"ground_truth": ["", "void", "override_options", "(", "void", ")", "{", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", ")", "flag_omit_frame_pointer", "=", "1", ";", "if", "(", "bfin_lib_id_given", "&&", "!", "TARGET_ID_SHARED_LIBRARY", ")", "error", "(", "\"-mshared-library-id= specified without -mid-shared-library\"", ")", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", ")", "flag_pic", "=", "1", ";", "flag_schedule_insns", "=", "0", ";", "}", ""], "natrual_language": ["Set", "global", "variables", "as", "needed", "for", "the", "options", "enabled", "."], "TS_V_token": ["bfin", "1", "\"-mshared-library-id= specified without -mid-shared-library\"", "1", "0"], "File": "bfin2", "Func": "override_options", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33864, "Length": 39}
{"ground_truth": ["", "void", "print_address_operand", "(", "FILE", "*", "file", ",", "rtx", "x", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "PLUS", ":", "output_address", "(", "XEXP", "(", "x", ",", "0", ")", ")", ";", "fprintf", "(", "file", ",", "\"+\"", ")", ";", "output_address", "(", "XEXP", "(", "x", ",", "1", ")", ")", ";", "break", ";", "case", "PRE_DEC", ":", "fprintf", "(", "file", ",", "\"--\"", ")", ";", "output_address", "(", "XEXP", "(", "x", ",", "0", ")", ")", ";", "break", ";", "case", "POST_INC", ":", "output_address", "(", "XEXP", "(", "x", ",", "0", ")", ")", ";", "fprintf", "(", "file", ",", "\"++\"", ")", ";", "break", ";", "case", "POST_DEC", ":", "output_address", "(", "XEXP", "(", "x", ",", "0", ")", ")", ";", "fprintf", "(", "file", ",", "\"--\"", ")", ";", "break", ";", "default", ":", "gcc_assert", "(", "GET_CODE", "(", "x", ")", "!=", "MEM", ")", ";", "print_operand", "(", "file", ",", "x", ",", "0", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Subroutine", "of", "print_operand", ";", "used", "to", "print", "a", "memory", "reference", "X", "to", "FILE", "."], "TS_V_token": ["bfin", "0", "\"+\"", "1", "\"--\"", "0", "0", "\"++\"", "0", "\"--\"", "0"], "File": "bfin2", "Func": "print_address_operand", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33865, "Length": 142}
{"ground_truth": ["", "enum", "reg_class", "secondary_input_reload_class", "(", "enum", "reg_class", "class", ",", "enum", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "enum", "reg_class", "default_class", "=", "GET_MODE_SIZE", "(", "mode", ")", ">=", "4", "?", "DPREGS", ":", "DREGS", ";", "enum", "reg_class", "x_class", "=", "NO_REGS", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "x", ")", ";", "if", "(", "code", "==", "SUBREG", ")", "x", "=", "SUBREG_REG", "(", "x", ")", ",", "code", "=", "GET_CODE", "(", "x", ")", ";", "if", "(", "REG_P", "(", "x", ")", ")", "{", "int", "regno", "=", "REGNO", "(", "x", ")", ";", "if", "(", "regno", ">=", "FIRST_PSEUDO_REGISTER", ")", "regno", "=", "reg_renumber", "[", "regno", "]", ";", "if", "(", "regno", "==", "-", "1", ")", "code", "=", "MEM", ";", "else", "x_class", "=", "REGNO_REG_CLASS", "(", "regno", ")", ";", "}", "if", "(", "fp_plus_const_operand", "(", "x", ",", "mode", ")", ")", "{", "rtx", "op2", "=", "XEXP", "(", "x", ",", "1", ")", ";", "int", "large_constant_p", "=", "!", "CONST_7BIT_IMM_P", "(", "INTVAL", "(", "op2", ")", ")", ";", "if", "(", "class", "==", "PREGS", "||", "class", "==", "PREGS_CLOBBERED", ")", "return", "NO_REGS", ";", "if", "(", "class", "==", "DREGS", "||", "class", "==", "DPREGS", ")", "return", "large_constant_p", "?", "PREGS", ":", "NO_REGS", ";", "return", "PREGS", ";", "}", "if", "(", "x_class", "==", "AREGS", ")", "return", "class", "==", "DREGS", "||", "class", "==", "AREGS", "?", "NO_REGS", ":", "DREGS", ";", "if", "(", "class", "==", "AREGS", ")", "{", "if", "(", "x", "!=", "const0_rtx", "&&", "x_class", "!=", "DREGS", ")", "return", "DREGS", ";", "else", "return", "NO_REGS", ";", "}", "if", "(", "class", "==", "CCREGS", "&&", "x_class", "!=", "DREGS", ")", "return", "DREGS", ";", "if", "(", "x_class", "==", "CCREGS", "&&", "class", "!=", "DREGS", ")", "return", "DREGS", ";", "if", "(", "code", "==", "MEM", ")", "if", "(", "!", "reg_class_subset_p", "(", "class", ",", "default_class", ")", ")", "return", "default_class", ";", "return", "NO_REGS", ";", "}", ""], "natrual_language": ["Inform", "reload", "about", "cases", "where", "moving", "X", "with", "a", "mode", "MODE", "to", "a", "register", "in", "CLASS", "requires", "an", "extra", "scratch", "register", ".", "Return", "the", "class", "needed", "for", "the", "scratch", "register", "."], "TS_V_token": ["bfin", "4", "1", "1"], "File": "bfin2", "Func": "secondary_input_reload_class", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33866, "Length": 274}
{"ground_truth": ["", "enum", "reg_class", "secondary_output_reload_class", "(", "enum", "reg_class", "class", ",", "enum", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "return", "secondary_input_reload_class", "(", "class", ",", "mode", ",", "x", ")", ";", "}", ""], "natrual_language": ["Like", "secondary_input_reload_class", ";", "and", "all", "we", "do", "is", "call", "that", "function", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "secondary_output_reload_class", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33867, "Length": 27}
{"ground_truth": ["", "static", "void", "setup_incoming_varargs", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "enum", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "tree", "type", "ATTRIBUTE_UNUSED", ",", "int", "*", "pretend_size", ",", "int", "no_rtl", ")", "{", "rtx", "mem", ";", "int", "i", ";", "if", "(", "no_rtl", ")", "return", ";", "for", "(", "i", "=", "cum", "->", "words", "+", "1", ";", "i", "<", "max_arg_registers", ";", "i", "++", ")", "{", "mem", "=", "gen_rtx_MEM", "(", "Pmode", ",", "plus_constant", "(", "arg_pointer_rtx", ",", "(", "i", "*", "UNITS_PER_WORD", ")", ")", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_rtx_REG", "(", "Pmode", ",", "i", ")", ")", ";", "}", "*", "pretend_size", "=", "0", ";", "}", ""], "natrual_language": ["Perform", "any", "needed", "actions", "needed", "for", "a", "function", "that", "is", "receiving", "a", "variable", "number", "of", "arguments", ".", "CUM", "is", "as", "above", ".", "MODE", "and", "TYPE", "are", "the", "mode", "and", "type", "of", "the", "current", "parameter", ".", "PRETEND_SIZE", "is", "a", "variable", "that", "should", "be", "set", "to", "the", "amount", "of", "stack", "that", "must", "be", "pushed", "by", "the", "prolog", "to", "pretend", "that", "our", "caller", "pushed", "it", ".", "Normally", ",", "this", "macro", "will", "push", "all", "remaining", "incoming", "registers", "on", "the", "stack", "and", "set", "PRETEND_SIZE", "to", "the", "length", "of", "the", "registers", "pushed", "."], "TS_V_token": ["bfin", "1", "0"], "File": "bfin2", "Func": "setup_incoming_varargs", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33868, "Length": 92}
{"ground_truth": ["", "static", "void", "single_move_for_strmov", "(", "rtx", "dst", ",", "rtx", "src", ",", "enum", "machine_mode", "mode", ",", "HOST_WIDE_INT", "offset", ")", "{", "rtx", "scratch", "=", "gen_reg_rtx", "(", "mode", ")", ";", "rtx", "srcmem", ",", "dstmem", ";", "srcmem", "=", "adjust_address_nv", "(", "src", ",", "mode", ",", "offset", ")", ";", "dstmem", "=", "adjust_address_nv", "(", "dst", ",", "mode", ",", "offset", ")", ";", "emit_move_insn", "(", "scratch", ",", "srcmem", ")", ";", "emit_move_insn", "(", "dstmem", ",", "scratch", ")", ";", "}", ""], "natrual_language": ["Adjust", "DST", "and", "SRC", "by", "OFFSET", "bytes", ",", "and", "generate", "one", "move", "in", "mode", "MODE", "."], "TS_V_token": ["bfin"], "File": "bfin2", "Func": "single_move_for_strmov", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33869, "Length": 68}
{"ground_truth": ["", "static", "void", "add_sched_insns_for_speculation", "(", "void", ")", "{", "rtx_insn", "*", "insn", ";", "if", "(", "!", "ENABLE_WA_SPECULATIVE_LOADS", "&&", "!", "ENABLE_WA_SPECULATIVE_SYNCS", "&&", "!", "ENABLE_WA_INDIRECT_CALLS", ")", "return", ";", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "rtx", "pat", ";", "if", "(", "NOTE_P", "(", "insn", ")", "||", "BARRIER_P", "(", "insn", ")", "||", "LABEL_P", "(", "insn", ")", ")", "continue", ";", "if", "(", "JUMP_TABLE_DATA_P", "(", "insn", ")", ")", "continue", ";", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "USE", "||", "GET_CODE", "(", "pat", ")", "==", "CLOBBER", "||", "GET_CODE", "(", "pat", ")", "==", "ASM_INPUT", "||", "asm_noperands", "(", "pat", ")", ">=", "0", ")", "continue", ";", "if", "(", "JUMP_P", "(", "insn", ")", ")", "{", "if", "(", "any_condjump_p", "(", "insn", ")", "&&", "!", "cbranch_predicted_taken_p", "(", "insn", ")", ")", "{", "rtx", "n", "=", "next_real_insn", "(", "insn", ")", ";", "emit_insn_before", "(", "gen_stall", "(", "GEN_INT", "(", "3", ")", ")", ",", "n", ")", ";", "}", "}", "}", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "if", "(", "JUMP_P", "(", "insn", ")", "&&", "any_condjump_p", "(", "insn", ")", "&&", "(", "cbranch_predicted_taken_p", "(", "insn", ")", ")", ")", "{", "rtx", "target", "=", "JUMP_LABEL", "(", "insn", ")", ";", "rtx_insn", "*", "next", "=", "next_real_insn", "(", "target", ")", ";", "if", "(", "GET_CODE", "(", "PATTERN", "(", "next", ")", ")", "==", "UNSPEC_VOLATILE", "&&", "get_attr_type", "(", "next", ")", "==", "TYPE_STALL", ")", "continue", ";", "emit_insn_before", "(", "gen_stall", "(", "GEN_INT", "(", "1", ")", ")", ",", "next", ")", ";", "}", "}", "}", ""], "natrual_language": ["Called", "just", "before", "the", "final", "scheduling", "pass", ".", "If", "we", "need", "to", "insert", "NOPs", "later", "on", "to", "work", "around", "speculative", "loads", ",", "insert", "special", "placeholder", "insns", "that", "cause", "loads", "to", "be", "delayed", "for", "as", "many", "cycles", "as", "necessary", "(", "and", "possible", ")", ".", "This", "reduces", "the", "number", "of", "NOPs", "we", "need", "to", "add", ".", "The", "dummy", "insns", "we", "generate", "are", "later", "removed", "by", "bfin_gen_bundles", "."], "TS_V_token": ["bfin", "0", "3", "1"], "File": "bfin3", "Func": "add_sched_insns_for_speculation", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33870, "Length": 250}
{"ground_truth": ["", "static", "void", "add_to_reg", "(", "rtx", "reg", ",", "HOST_WIDE_INT", "value", ",", "int", "frame", ",", "int", "epilogue_p", ")", "{", "if", "(", "value", "==", "0", ")", "return", ";", "if", "(", "value", ">", "120", "||", "value", "<", "-", "120", ")", "{", "rtx", "tmpreg", ";", "rtx", "tmpreg2", ";", "rtx_insn", "*", "insn", ";", "tmpreg2", "=", "NULL_RTX", ";", "if", "(", "epilogue_p", ">=", "0", ")", "tmpreg", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_P1", ")", ";", "else", "{", "int", "i", ";", "for", "(", "i", "=", "REG_P0", ";", "i", "<=", "REG_P5", ";", "i", "++", ")", "if", "(", "(", "df_regs_ever_live_p", "(", "i", ")", "&&", "!", "call_used_regs", "[", "i", "]", ")", "||", "(", "!", "TARGET_FDPIC", "&&", "i", "==", "PIC_OFFSET_TABLE_REGNUM", "&&", "(", "crtl", "->", "uses_pic_offset_table", "||", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "!", "crtl", "->", "is_leaf", ")", ")", ")", ")", "break", ";", "if", "(", "i", "<=", "REG_P5", ")", "tmpreg", "=", "gen_rtx_REG", "(", "SImode", ",", "i", ")", ";", "else", "{", "tmpreg", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_P1", ")", ";", "tmpreg2", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_I0", ")", ";", "emit_move_insn", "(", "tmpreg2", ",", "tmpreg", ")", ";", "}", "}", "if", "(", "frame", ")", "frame_related_constant_load", "(", "tmpreg", ",", "value", ",", "TRUE", ")", ";", "else", "insn", "=", "emit_move_insn", "(", "tmpreg", ",", "GEN_INT", "(", "value", ")", ")", ";", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "reg", ",", "reg", ",", "tmpreg", ")", ")", ";", "if", "(", "frame", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "tmpreg2", "!=", "NULL_RTX", ")", "emit_move_insn", "(", "tmpreg", ",", "tmpreg2", ")", ";", "}", "else", "do", "{", "int", "size", "=", "value", ";", "rtx_insn", "*", "insn", ";", "if", "(", "size", ">", "60", ")", "size", "=", "60", ";", "else", "if", "(", "size", "<", "-", "60", ")", "size", "=", "-", "60", ";", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "reg", ",", "reg", ",", "GEN_INT", "(", "size", ")", ")", ")", ";", "if", "(", "frame", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "value", "-=", "size", ";", "}", "while", "(", "value", "!=", "0", ")", ";", "}", ""], "natrual_language": ["Generate", "efficient", "code", "to", "add", "a", "value", "to", "a", "P", "register", ".", "Set", "RTX_FRAME_RELATED_P", "on", "the", "generated", "insns", "if", "FRAME", "is", "nonzero", ".", "EPILOGUE_P", "is", "zero", "if", "this", "function", "is", "called", "for", "prologue", ",", "otherwise", "it", "'s", "nonzero", ".", "And", "it", "'s", "less", "than", "zero", "if", "this", "is", "for", "sibcall", "epilogue", "."], "TS_V_token": ["bfin", "0", "120", "120", "0", "1", "60", "60", "60", "60", "1", "0"], "File": "bfin3", "Func": "add_to_reg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33871, "Length": 310}
{"ground_truth": ["", "static", "int", "bfin_arg_partial_bytes", "(", "cumulative_args_t", "cum", ",", "machine_mode", "mode", ",", "tree", "type", "ATTRIBUTE_UNUSED", ",", "bool", "named", "ATTRIBUTE_UNUSED", ")", "{", "int", "bytes", "=", "(", "mode", "==", "BLKmode", ")", "?", "int_size_in_bytes", "(", "type", ")", ":", "GET_MODE_SIZE", "(", "mode", ")", ";", "int", "bytes_left", "=", "get_cumulative_args", "(", "cum", ")", "->", "nregs", "*", "UNITS_PER_WORD", ";", "if", "(", "bytes", "==", "-", "1", ")", "return", "0", ";", "if", "(", "bytes_left", "==", "0", ")", "return", "0", ";", "if", "(", "bytes", ">", "bytes_left", ")", "return", "bytes_left", ";", "return", "0", ";", "}", ""], "natrual_language": ["For", "an", "arg", "passed", "partly", "in", "registers", "and", "partly", "in", "memory", ",", "this", "is", "the", "number", "of", "bytes", "passed", "in", "registers", ".", "For", "args", "passed", "entirely", "in", "registers", "or", "entirely", "in", "memory", ",", "zero", ".", "Refer", "VDSP", "C", "Compiler", "manual", ",", "our", "ABI", ".", "First", "3", "words", "are", "in", "registers", ".", "So", ",", "if", "a", "an", "argument", "is", "larger", "than", "the", "registers", "available", ",", "it", "will", "span", "the", "register", "and", "stack", "."], "TS_V_token": ["bfin", "1", "0", "0", "0", "0"], "File": "bfin3", "Func": "bfin_arg_partial_bytes", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33872, "Length": 82}
{"ground_truth": ["", "static", "bool", "bfin_can_use_doloop_p", "(", "const", "widest_int", "&", ",", "const", "widest_int", "&", "iterations_max", ",", "unsigned", "int", ",", "bool", ")", "{", "if", "(", "!", "flag_unsafe_loop_optimizations", "&&", "wi", "::", "geu_p", "(", "iterations_max", ",", "0xFFFFFFFF", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "TARGET_CAN_USE_DOLOOP_P", "."], "TS_V_token": ["bfin", "0xFFFFFFFF"], "File": "bfin3", "Func": "bfin_can_use_doloop_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33873, "Length": 40}
{"ground_truth": ["", "bool", "bfin_expand_movmem", "(", "rtx", "dst", ",", "rtx", "src", ",", "rtx", "count_exp", ",", "rtx", "align_exp", ")", "{", "rtx", "srcreg", ",", "destreg", ",", "countreg", ";", "HOST_WIDE_INT", "align", "=", "0", ";", "unsigned", "HOST_WIDE_INT", "count", "=", "0", ";", "if", "(", "GET_CODE", "(", "align_exp", ")", "==", "CONST_INT", ")", "align", "=", "INTVAL", "(", "align_exp", ")", ";", "if", "(", "GET_CODE", "(", "count_exp", ")", "==", "CONST_INT", ")", "{", "count", "=", "INTVAL", "(", "count_exp", ")", ";", "if", "(", "!", "TARGET_INLINE_ALL_STRINGOPS", "&&", "count", ">", "64", ")", "return", "false", ";", "}", "if", "(", "optimize_size", ")", "{", "if", "(", "count", "==", "2", "&&", "align", "<", "2", ")", "return", "false", ";", "if", "(", "count", "==", "4", "&&", "align", "<", "4", ")", "return", "false", ";", "if", "(", "count", "!=", "1", "&&", "count", "!=", "2", "&&", "count", "!=", "4", ")", "return", "false", ";", "}", "if", "(", "align", "<", "2", "&&", "count", "!=", "1", ")", "return", "false", ";", "destreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "XEXP", "(", "dst", ",", "0", ")", ")", ";", "if", "(", "destreg", "!=", "XEXP", "(", "dst", ",", "0", ")", ")", "dst", "=", "replace_equiv_address_nv", "(", "dst", ",", "destreg", ")", ";", "srcreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "XEXP", "(", "src", ",", "0", ")", ")", ";", "if", "(", "srcreg", "!=", "XEXP", "(", "src", ",", "0", ")", ")", "src", "=", "replace_equiv_address_nv", "(", "src", ",", "srcreg", ")", ";", "if", "(", "count", "!=", "0", "&&", "align", ">=", "2", ")", "{", "unsigned", "HOST_WIDE_INT", "offset", "=", "0", ";", "if", "(", "align", ">=", "4", ")", "{", "if", "(", "(", "count", "&", "~", "3", ")", "==", "4", ")", "{", "single_move_for_movmem", "(", "dst", ",", "src", ",", "SImode", ",", "offset", ")", ";", "offset", "=", "4", ";", "}", "else", "if", "(", "count", "&", "~", "3", ")", "{", "HOST_WIDE_INT", "new_count", "=", "(", "(", "count", ">>", "2", ")", "&", "0x3fffffff", ")", "-", "1", ";", "countreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "GEN_INT", "(", "new_count", ")", ")", ";", "emit_insn", "(", "gen_rep_movsi", "(", "destreg", ",", "srcreg", ",", "countreg", ",", "destreg", ",", "srcreg", ")", ")", ";", "cfun", "->", "machine", "->", "has_loopreg_clobber", "=", "true", ";", "}", "if", "(", "count", "&", "2", ")", "{", "single_move_for_movmem", "(", "dst", ",", "src", ",", "HImode", ",", "offset", ")", ";", "offset", "+=", "2", ";", "}", "}", "else", "{", "if", "(", "(", "count", "&", "~", "1", ")", "==", "2", ")", "{", "single_move_for_movmem", "(", "dst", ",", "src", ",", "HImode", ",", "offset", ")", ";", "offset", "=", "2", ";", "}", "else", "if", "(", "count", "&", "~", "1", ")", "{", "HOST_WIDE_INT", "new_count", "=", "(", "(", "count", ">>", "1", ")", "&", "0x7fffffff", ")", "-", "1", ";", "countreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "GEN_INT", "(", "new_count", ")", ")", ";", "emit_insn", "(", "gen_rep_movhi", "(", "destreg", ",", "srcreg", ",", "countreg", ",", "destreg", ",", "srcreg", ")", ")", ";", "cfun", "->", "machine", "->", "has_loopreg_clobber", "=", "true", ";", "}", "}", "if", "(", "count", "&", "1", ")", "{", "single_move_for_movmem", "(", "dst", ",", "src", ",", "QImode", ",", "offset", ")", ";", "}", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Expand", "a", "string", "move", "operation", "of", "COUNT_EXP", "bytes", "from", "SRC", "to", "DST", ",", "with", "alignment", "ALIGN_EXP", ".", "Return", "true", "if", "successful", ",", "false", "if", "we", "should", "fall", "back", "on", "a", "different", "method", "."], "TS_V_token": ["bfin", "0", "0", "64", "2", "2", "4", "4", "1", "2", "4", "2", "1", "0", "0", "0", "0", "0", "2", "0", "4", "3", "4", "4", "3", "2", "0x3fffffff", "1", "2", "2", "1", "2", "2", "1", "1", "0x7fffffff", "1", "1"], "File": "bfin3", "Func": "bfin_expand_movmem", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33874, "Length": 466}
{"ground_truth": ["", "void", "bfin_expand_prologue", "(", "void", ")", "{", "HOST_WIDE_INT", "frame_size", "=", "get_frame_size", "(", ")", ";", "rtx", "spreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_SP", ")", ";", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "rtx", "pic_reg_loaded", "=", "NULL_RTX", ";", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "all", "=", "lookup_attribute", "(", "\"saveall\"", ",", "attrs", ")", "!=", "NULL_TREE", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "{", "expand_interrupt_handler_prologue", "(", "spreg", ",", "fkind", ",", "all", ")", ";", "return", ";", "}", "if", "(", "crtl", "->", "limit_stack", "||", "(", "TARGET_STACK_CHECK_L1", "&&", "!", "DECL_NO_LIMIT_STACK", "(", "current_function_decl", ")", ")", ")", "{", "HOST_WIDE_INT", "offset", "=", "bfin_initial_elimination_offset", "(", "ARG_POINTER_REGNUM", ",", "STACK_POINTER_REGNUM", ")", ";", "rtx", "lim", "=", "crtl", "->", "limit_stack", "?", "stack_limit_rtx", ":", "NULL_RTX", ";", "rtx", "tmp", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_R3", ")", ";", "rtx", "p2reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P2", ")", ";", "emit_move_insn", "(", "tmp", ",", "p2reg", ")", ";", "if", "(", "!", "lim", ")", "{", "emit_move_insn", "(", "p2reg", ",", "gen_int_mode", "(", "0xFFB00000", ",", "SImode", ")", ")", ";", "emit_move_insn", "(", "p2reg", ",", "gen_rtx_MEM", "(", "Pmode", ",", "p2reg", ")", ")", ";", "lim", "=", "p2reg", ";", "}", "if", "(", "GET_CODE", "(", "lim", ")", "==", "SYMBOL_REF", ")", "{", "if", "(", "TARGET_ID_SHARED_LIBRARY", ")", "{", "rtx", "p1reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P1", ")", ";", "rtx", "val", ";", "pic_reg_loaded", "=", "bfin_load_pic_reg", "(", "p2reg", ")", ";", "val", "=", "legitimize_pic_address", "(", "stack_limit_rtx", ",", "p1reg", ",", "pic_reg_loaded", ")", ";", "emit_move_insn", "(", "p1reg", ",", "val", ")", ";", "frame_related_constant_load", "(", "p2reg", ",", "offset", ",", "FALSE", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "p2reg", ",", "p2reg", ",", "p1reg", ")", ")", ";", "lim", "=", "p2reg", ";", "}", "else", "{", "rtx", "limit", "=", "plus_constant", "(", "Pmode", ",", "lim", ",", "offset", ")", ";", "emit_move_insn", "(", "p2reg", ",", "limit", ")", ";", "lim", "=", "p2reg", ";", "}", "}", "else", "{", "if", "(", "lim", "!=", "p2reg", ")", "emit_move_insn", "(", "p2reg", ",", "lim", ")", ";", "add_to_reg", "(", "p2reg", ",", "offset", ",", "0", ",", "0", ")", ";", "lim", "=", "p2reg", ";", "}", "emit_insn", "(", "gen_compare_lt", "(", "bfin_cc_rtx", ",", "spreg", ",", "lim", ")", ")", ";", "emit_insn", "(", "gen_trapifcc", "(", ")", ")", ";", "emit_move_insn", "(", "p2reg", ",", "tmp", ")", ";", "}", "expand_prologue_reg_save", "(", "spreg", ",", "all", ",", "false", ")", ";", "do_link", "(", "spreg", ",", "frame_size", ",", "all", ")", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "!", "TARGET_SEP_DATA", "&&", "(", "crtl", "->", "uses_pic_offset_table", "||", "!", "crtl", "->", "is_leaf", ")", ")", "bfin_load_pic_reg", "(", "pic_offset_table_rtx", ")", ";", "}", ""], "natrual_language": ["Generate", "RTL", "for", "the", "prologue", "of", "the", "current", "function", "."], "TS_V_token": ["bfin", "\"saveall\"", "0xFFB00000", "0", "0"], "File": "bfin3", "Func": "bfin_expand_prologue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33875, "Length": 387}
{"ground_truth": ["", "static", "rtx", "bfin_function_arg", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", "named", "ATTRIBUTE_UNUSED", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "int", "bytes", "=", "(", "mode", "==", "BLKmode", ")", "?", "int_size_in_bytes", "(", "type", ")", ":", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "mode", "==", "VOIDmode", ")", "return", "GEN_INT", "(", "cum", "->", "call_cookie", ")", ";", "if", "(", "bytes", "==", "-", "1", ")", "return", "NULL_RTX", ";", "if", "(", "cum", "->", "nregs", ")", "return", "gen_rtx_REG", "(", "mode", ",", "*", "(", "cum", "->", "arg_regs", ")", ")", ";", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["Define", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Value", "is", "zero", "to", "push", "the", "argument", "on", "the", "stack", ",", "or", "a", "hard", "register", "in", "which", "to", "store", "the", "argument", ".", "MODE", "is", "the", "argument", "'s", "machine", "mode", ".", "TYPE", "is", "the", "data", "type", "of", "the", "argument", "(", "as", "a", "tree", ")", ".", "This", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "is", "a", "variable", "of", "type", "CUMULATIVE_ARGS", "which", "gives", "info", "about", "the", "preceding", "args", "and", "about", "the", "function", "being", "called", ".", "NAMED", "is", "nonzero", "if", "this", "argument", "is", "a", "named", "parameter", "(", "otherwise", "it", "is", "an", "extra", "parameter", "matching", "an", "ellipsis", ")", "."], "TS_V_token": ["bfin", "1"], "File": "bfin3", "Func": "bfin_function_arg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33876, "Length": 93}
{"ground_truth": ["", "static", "void", "bfin_function_arg_advance", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", "named", "ATTRIBUTE_UNUSED", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "int", "count", ",", "bytes", ",", "words", ";", "bytes", "=", "(", "mode", "==", "BLKmode", ")", "?", "int_size_in_bytes", "(", "type", ")", ":", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "(", "bytes", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ";", "cum", "->", "words", "+=", "words", ";", "cum", "->", "nregs", "-=", "words", ";", "if", "(", "cum", "->", "nregs", "<=", "0", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cum", "->", "arg_regs", "=", "NULL", ";", "}", "else", "{", "for", "(", "count", "=", "1", ";", "count", "<=", "words", ";", "count", "++", ")", "cum", "->", "arg_regs", "++", ";", "}", "return", ";", "}", ""], "natrual_language": ["Update", "the", "data", "in", "CUM", "to", "advance", "over", "an", "argument", "of", "mode", "MODE", "and", "data", "type", "TYPE", ".", "(", "TYPE", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", ")"], "TS_V_token": ["bfin", "1", "0", "0", "1"], "File": "bfin3", "Func": "bfin_function_arg_advance", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33877, "Length": 122}
{"ground_truth": ["", "static", "bool", "bfin_function_ok_for_sibcall", "(", "tree", "decl", "ATTRIBUTE_UNUSED", ",", "tree", "exp", "ATTRIBUTE_UNUSED", ")", "{", "struct", "cgraph_local_info", "*", "this_func", ",", "*", "called_func", ";", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "return", "false", ";", "if", "(", "!", "TARGET_ID_SHARED_LIBRARY", "||", "TARGET_SEP_DATA", ")", "return", "true", ";", "if", "(", "!", "decl", ")", "return", "false", ";", "this_func", "=", "cgraph_node", "::", "local_info", "(", "current_function_decl", ")", ";", "called_func", "=", "cgraph_node", "::", "local_info", "(", "decl", ")", ";", "if", "(", "!", "called_func", ")", "return", "false", ";", "return", "!", "called_func", "->", "local", "||", "this_func", "->", "local", ";", "}", ""], "natrual_language": ["Decide", "whether", "we", "can", "make", "a", "sibling", "call", "to", "a", "function", ".", "DECL", "is", "the", "declaration", "of", "the", "function", "being", "targeted", "by", "the", "call", "and", "EXP", "is", "the", "CALL_EXPR", "representing", "the", "call", "."], "TS_V_token": ["bfin"], "File": "bfin3", "Func": "bfin_function_ok_for_sibcall", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33878, "Length": 96}
{"ground_truth": ["", "static", "void", "bfin_gen_bundles", "(", "void", ")", "{", "basic_block", "bb", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ",", "*", "next", ";", "rtx_insn", "*", "slot", "[", "3", "]", ";", "int", "n_filled", "=", "0", ";", "slot", "[", "0", "]", "=", "slot", "[", "1", "]", "=", "slot", "[", "2", "]", "=", "NULL", ";", "for", "(", "insn", "=", "BB_HEAD", "(", "bb", ")", ";", ";", "insn", "=", "next", ")", "{", "int", "at_end", ";", "rtx", "delete_this", "=", "NULL_RTX", ";", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "{", "enum", "attr_type", "type", "=", "get_attr_type", "(", "insn", ")", ";", "if", "(", "type", "==", "TYPE_STALL", ")", "{", "gcc_assert", "(", "n_filled", "==", "0", ")", ";", "delete_this", "=", "insn", ";", "}", "else", "{", "if", "(", "type", "==", "TYPE_DSP32", "||", "type", "==", "TYPE_DSP32SHIFTIMM", ")", "slot", "[", "0", "]", "=", "insn", ";", "else", "if", "(", "slot", "[", "1", "]", "==", "NULL_RTX", ")", "slot", "[", "1", "]", "=", "insn", ";", "else", "slot", "[", "2", "]", "=", "insn", ";", "n_filled", "++", ";", "}", "}", "next", "=", "NEXT_INSN", "(", "insn", ")", ";", "while", "(", "next", "&&", "insn", "!=", "BB_END", "(", "bb", ")", "&&", "!", "(", "INSN_P", "(", "next", ")", "&&", "GET_CODE", "(", "PATTERN", "(", "next", ")", ")", "!=", "USE", "&&", "GET_CODE", "(", "PATTERN", "(", "next", ")", ")", "!=", "CLOBBER", ")", ")", "{", "insn", "=", "next", ";", "next", "=", "NEXT_INSN", "(", "insn", ")", ";", "}", "at_end", "=", "insn", "==", "BB_END", "(", "bb", ")", ";", "if", "(", "delete_this", "==", "NULL_RTX", "&&", "(", "at_end", "||", "GET_MODE", "(", "next", ")", "==", "TImode", ")", ")", "{", "if", "(", "(", "n_filled", "<", "2", "||", "!", "gen_one_bundle", "(", "slot", ")", ")", "&&", "slot", "[", "0", "]", "!=", "NULL_RTX", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "slot", "[", "0", "]", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "SET", "&&", "GET_CODE", "(", "SET_SRC", "(", "pat", ")", ")", "==", "UNSPEC", "&&", "XINT", "(", "SET_SRC", "(", "pat", ")", ",", "1", ")", "==", "UNSPEC_32BIT", ")", "{", "SET_SRC", "(", "pat", ")", "=", "XVECEXP", "(", "SET_SRC", "(", "pat", ")", ",", "0", ",", "0", ")", ";", "INSN_CODE", "(", "slot", "[", "0", "]", ")", "=", "-", "1", ";", "df_insn_rescan", "(", "slot", "[", "0", "]", ")", ";", "}", "}", "n_filled", "=", "0", ";", "slot", "[", "0", "]", "=", "slot", "[", "1", "]", "=", "slot", "[", "2", "]", "=", "NULL", ";", "}", "if", "(", "delete_this", "!=", "NULL_RTX", ")", "delete_insn", "(", "delete_this", ")", ";", "if", "(", "at_end", ")", "break", ";", "}", "}", "}", ""], "natrual_language": ["Go", "through", "all", "insns", ",", "and", "use", "the", "information", "generated", "during", "scheduling", "to", "generate", "SEQUENCEs", "to", "represent", "bundles", "of", "instructions", "issued", "simultaneously", "."], "TS_V_token": ["bfin", "3", "0", "0", "1", "2", "0", "0", "1", "1", "2", "2", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0", "1", "2"], "File": "bfin3", "Func": "bfin_gen_bundles", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33879, "Length": 392}
{"ground_truth": ["", "rtx", "bfin_gen_compare", "(", "rtx", "cmp", ",", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ")", "{", "enum", "rtx_code", "code1", ",", "code2", ";", "rtx", "op0", "=", "XEXP", "(", "cmp", ",", "0", ")", ",", "op1", "=", "XEXP", "(", "cmp", ",", "1", ")", ";", "rtx", "tem", "=", "bfin_cc_rtx", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "cmp", ")", ";", "if", "(", "GET_MODE", "(", "op0", ")", "==", "BImode", ")", "{", "gcc_assert", "(", "(", "code", "==", "NE", "||", "code", "==", "EQ", ")", "&&", "op1", "==", "const0_rtx", ")", ";", "tem", "=", "op0", ",", "code2", "=", "code", ";", "}", "else", "{", "switch", "(", "code", ")", "{", "case", "EQ", ":", "case", "LT", ":", "case", "LE", ":", "case", "LEU", ":", "case", "LTU", ":", "code1", "=", "code", ";", "code2", "=", "NE", ";", "break", ";", "default", ":", "code1", "=", "reverse_condition", "(", "code", ")", ";", "code2", "=", "EQ", ";", "break", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "tem", ",", "gen_rtx_fmt_ee", "(", "code1", ",", "BImode", ",", "op0", ",", "op1", ")", ")", ")", ";", "}", "return", "gen_rtx_fmt_ee", "(", "code2", ",", "BImode", ",", "tem", ",", "CONST0_RTX", "(", "BImode", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "rtl", "for", "a", "comparison", "operation", "CMP", "in", "mode", "MODE", ".", "Operands", "have", "been", "stored", "in", "bfin_compare_op0", "and", "bfin_compare_op1", "already", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin3", "Func": "bfin_gen_compare", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33880, "Length": 172}
{"ground_truth": ["", "static", "bool", "bfin_legitimate_address_p", "(", "machine_mode", "mode", ",", "rtx", "x", ",", "bool", "strict", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "REG", ":", "if", "(", "bfin_valid_reg_p", "(", "REGNO", "(", "x", ")", ",", "strict", ",", "mode", ",", "MEM", ")", ")", "return", "true", ";", "break", ";", "case", "PLUS", ":", "if", "(", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ",", "mode", ",", "PLUS", ")", "&&", "(", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "==", "UNSPEC", "&&", "mode", "==", "SImode", ")", "||", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "==", "CONST_INT", "&&", "bfin_valid_add", "(", "mode", ",", "INTVAL", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", ")", ")", ")", "return", "true", ";", "break", ";", "case", "POST_INC", ":", "case", "POST_DEC", ":", "if", "(", "LEGITIMATE_MODE_FOR_AUTOINC_P", "(", "mode", ")", "&&", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ",", "mode", ",", "POST_INC", ")", ")", "return", "true", ";", "case", "PRE_DEC", ":", "if", "(", "LEGITIMATE_MODE_FOR_AUTOINC_P", "(", "mode", ")", "&&", "XEXP", "(", "x", ",", "0", ")", "==", "stack_pointer_rtx", "&&", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ",", "mode", ",", "PRE_DEC", ")", ")", "return", "true", ";", "break", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Recognize", "an", "RTL", "expression", "that", "is", "a", "valid", "memory", "address", "for", "an", "instruction", ".", "The", "MODE", "argument", "is", "the", "machine", "mode", "for", "the", "MEM", "expression", "that", "wants", "to", "use", "this", "address", ".", "Blackfin", "addressing", "modes", "are", "as", "follows", ":", "[", "preg", "]", "[", "preg", "+", "imm16", "]", "B", "[", "Preg", "+", "uimm15", "]", "W", "[", "Preg", "+", "uimm16m2", "]", "[", "Preg", "+", "uimm17m4", "]", "[", "preg++", "]", "[", "preg", "--", "]", "[", "--", "sp", "]"], "TS_V_token": ["bfin", "0", "0", "1", "1", "1", "0", "0", "0", "0", "0"], "File": "bfin3", "Func": "bfin_legitimate_address_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33881, "Length": 241}
{"ground_truth": ["", "static", "rtx", "bfin_load_pic_reg", "(", "rtx", "dest", ")", "{", "struct", "cgraph_local_info", "*", "i", "=", "NULL", ";", "rtx", "addr", ";", "i", "=", "cgraph_node", "::", "local_info", "(", "current_function_decl", ")", ";", "if", "(", "i", "&&", "i", "->", "local", ")", "return", "pic_offset_table_rtx", ";", "if", "(", "global_options_set", ".", "x_bfin_library_id", ")", "addr", "=", "plus_constant", "(", "Pmode", ",", "pic_offset_table_rtx", ",", "-", "4", "-", "bfin_library_id", "*", "4", ")", ";", "else", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "pic_offset_table_rtx", ",", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ",", "UNSPEC_LIBRARY_OFFSET", ")", ")", ";", "emit_insn", "(", "gen_movsi", "(", "dest", ",", "gen_rtx_MEM", "(", "Pmode", ",", "addr", ")", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Used", "while", "emitting", "the", "prologue", "to", "generate", "code", "to", "load", "the", "correct", "value", "into", "the", "PIC", "register", ",", "which", "is", "passed", "in", "DEST", "."], "TS_V_token": ["bfin", "4", "4", "1"], "File": "bfin3", "Func": "bfin_load_pic_reg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33882, "Length": 103}
{"ground_truth": ["", "unsigned", "bfin_local_alignment", "(", "tree", "type", ",", "unsigned", "align", ")", "{", "if", "(", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "gtu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "8", ")", "&&", "align", "<", "32", ")", "return", "32", ";", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "local", "variable", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "macro", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["bfin", "8", "32", "32"], "File": "bfin3", "Func": "bfin_local_alignment", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33883, "Length": 50}
{"ground_truth": ["", "static", "void", "bfin_option_override", "(", "void", ")", "{", "if", "(", "bfin_cpu_type", "==", "BFIN_CPU_UNKNOWN", ")", "{", "int", "i", ";", "for", "(", "i", "=", "0", ";", "bfin_cpus", "[", "i", "]", ".", "name", "!=", "NULL", ";", "i", "++", ")", "bfin_workarounds", "|=", "bfin_cpus", "[", "i", "]", ".", "workarounds", ";", "bfin_si_revision", "=", "0xffff", ";", "}", "if", "(", "bfin_csync_anomaly", "==", "1", ")", "bfin_workarounds", "|=", "WA_SPECULATIVE_SYNCS", ";", "else", "if", "(", "bfin_csync_anomaly", "==", "0", ")", "bfin_workarounds", "&=", "~", "WA_SPECULATIVE_SYNCS", ";", "if", "(", "bfin_specld_anomaly", "==", "1", ")", "bfin_workarounds", "|=", "WA_SPECULATIVE_LOADS", ";", "else", "if", "(", "bfin_specld_anomaly", "==", "0", ")", "bfin_workarounds", "&=", "~", "WA_SPECULATIVE_LOADS", ";", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", ")", "flag_omit_frame_pointer", "=", "1", ";", "if", "(", "TARGET_FDPIC", ")", "error", "(", "\"-mfdpic is not supported, please use a bfin-linux-uclibc target\"", ")", ";", "if", "(", "global_options_set", ".", "x_bfin_library_id", "&&", "!", "TARGET_ID_SHARED_LIBRARY", ")", "error", "(", "\"-mshared-library-id= specified without -mid-shared-library\"", ")", ";", "if", "(", "stack_limit_rtx", "&&", "TARGET_FDPIC", ")", "{", "warning", "(", "0", ",", "\"-fstack-limit- options are ignored with -mfdpic; use -mstack-check-l1\"", ")", ";", "stack_limit_rtx", "=", "NULL_RTX", ";", "}", "if", "(", "stack_limit_rtx", "&&", "TARGET_STACK_CHECK_L1", ")", "error", "(", "\"can%'t use multiple stack checking methods together\"", ")", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "TARGET_FDPIC", ")", "error", "(", "\"ID shared libraries and FD-PIC mode can%'t be used together\"", ")", ";", "if", "(", "TARGET_SEP_DATA", "&&", "TARGET_ID_SHARED_LIBRARY", ")", "error", "(", "\"cannot specify both -msep-data and -mid-shared-library\"", ")", ";", "if", "(", "TARGET_SEP_DATA", ")", "target_flags", "|=", "MASK_ID_SHARED_LIBRARY", "|", "MASK_LEAF_ID_SHARED_LIBRARY", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "flag_pic", "==", "0", ")", "flag_pic", "=", "1", ";", "if", "(", "TARGET_FDPIC", ")", "targetm", ".", "asm_out", ".", "unaligned_op", ".", "si", "=", "0", ";", "if", "(", "flag_pic", "&&", "!", "TARGET_FDPIC", "&&", "!", "TARGET_ID_SHARED_LIBRARY", ")", "flag_pic", "=", "0", ";", "if", "(", "TARGET_MULTICORE", "&&", "bfin_cpu_type", "!=", "BFIN_CPU_BF561", ")", "error", "(", "\"-mmulticore can only be used with BF561\"", ")", ";", "if", "(", "TARGET_COREA", "&&", "!", "TARGET_MULTICORE", ")", "error", "(", "\"-mcorea should be used with -mmulticore\"", ")", ";", "if", "(", "TARGET_COREB", "&&", "!", "TARGET_MULTICORE", ")", "error", "(", "\"-mcoreb should be used with -mmulticore\"", ")", ";", "if", "(", "TARGET_COREA", "&&", "TARGET_COREB", ")", "error", "(", "\"-mcorea and -mcoreb can%'t be used together\"", ")", ";", "flag_schedule_insns", "=", "0", ";", "init_machine_status", "=", "bfin_init_machine_status", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTION_OVERRIDE", "hook", "."], "TS_V_token": ["bfin", "0", "0xffff", "1", "0", "1", "0", "1", "\"-mfdpic is not supported, please use a bfin-linux-uclibc target\"", "\"-mshared-library-id= specified without -mid-shared-library\"", "0", "\"-fstack-limit- options are ignored with -mfdpic; use -mstack-check-l1\"", "\"can%'t use multiple stack checking methods together\"", "\"ID shared libraries and FD-PIC mode can%'t be used together\"", "\"cannot specify both -msep-data and -mid-shared-library\"", "0", "1", "0", "0", "\"-mmulticore can only be used with BF561\"", "\"-mcorea should be used with -mmulticore\"", "\"-mcoreb should be used with -mmulticore\"", "\"-mcorea and -mcoreb can%'t be used together\"", "0"], "File": "bfin3", "Func": "bfin_option_override", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33884, "Length": 283}
{"ground_truth": ["", "static", "bool", "bfin_pass_by_reference", "(", "cumulative_args_t", "cum", "ATTRIBUTE_UNUSED", ",", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "const_tree", "type", ",", "bool", "named", "ATTRIBUTE_UNUSED", ")", "{", "return", "type", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "!=", "INTEGER_CST", ";", "}", ""], "natrual_language": ["Variable", "sized", "types", "are", "passed", "by", "reference", "."], "TS_V_token": ["bfin"], "File": "bfin3", "Func": "bfin_pass_by_reference", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33885, "Length": 34}
{"ground_truth": ["", "static", "int", "cbranch_predicted_taken_p", "(", "rtx", "insn", ")", "{", "rtx", "x", "=", "find_reg_note", "(", "insn", ",", "REG_BR_PROB", ",", "0", ")", ";", "if", "(", "x", ")", "{", "int", "pred_val", "=", "XINT", "(", "x", ",", "0", ")", ";", "return", "pred_val", ">=", "REG_BR_PROB_BASE", "/", "2", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "INSN", "is", "annotated", "with", "a", "REG_BR_PROB", "note", "that", "indicates", "it", "'s", "a", "branch", "that", "'s", "predicted", "taken", "."], "TS_V_token": ["bfin", "0", "0", "2", "0"], "File": "bfin3", "Func": "cbranch_predicted_taken_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33886, "Length": 47}
{"ground_truth": ["", "int", "hard_regno_mode_ok", "(", "int", "regno", ",", "machine_mode", "mode", ")", "{", "enum", "reg_class", "rclass", "=", "REGNO_REG_CLASS", "(", "regno", ")", ";", "if", "(", "mode", "==", "CCmode", ")", "return", "0", ";", "if", "(", "mode", "==", "V2HImode", ")", "return", "D_REGNO_P", "(", "regno", ")", ";", "if", "(", "rclass", "==", "CCREGS", ")", "return", "mode", "==", "BImode", ";", "if", "(", "mode", "==", "PDImode", "||", "mode", "==", "V2PDImode", ")", "return", "regno", "==", "REG_A0", "||", "regno", "==", "REG_A1", ";", "if", "(", "mode", "==", "DImode", ")", "return", "regno", "<", "REG_M3", ";", "if", "(", "mode", "==", "SImode", "&&", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "PROLOGUE_REGS", "]", ",", "regno", ")", ")", "return", "1", ";", "return", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "MOST_REGS", "]", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Value", "is", "1", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin3", "Func": "hard_regno_mode_ok", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33887, "Length": 112}
{"ground_truth": ["", "static", "void", "hwloop_fail", "(", "hwloop_info", "loop", ")", "{", "rtx", "insn", "=", "loop", "->", "loop_end", ";", "if", "(", "DPREG_P", "(", "loop", "->", "iter_reg", ")", ")", "{", "rtx", "insn", ",", "test", ";", "emit_insn_before", "(", "gen_addsi3", "(", "loop", "->", "iter_reg", ",", "loop", "->", "iter_reg", ",", "constm1_rtx", ")", ",", "loop", "->", "loop_end", ")", ";", "test", "=", "gen_rtx_NE", "(", "VOIDmode", ",", "loop", "->", "iter_reg", ",", "const0_rtx", ")", ";", "insn", "=", "emit_jump_insn_before", "(", "gen_cbranchsi4", "(", "test", ",", "loop", "->", "iter_reg", ",", "const0_rtx", ",", "loop", "->", "start_label", ")", ",", "loop", "->", "loop_end", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "loop", "->", "start_label", ";", "LABEL_NUSES", "(", "loop", "->", "start_label", ")", "++", ";", "delete_insn", "(", "loop", "->", "loop_end", ")", ";", "}", "else", "{", "splitting_loops", "=", "1", ";", "try_split", "(", "PATTERN", "(", "insn", ")", ",", "insn", ",", "1", ")", ";", "splitting_loops", "=", "0", ";", "}", "}", ""], "natrual_language": ["A", "callback", "for", "the", "hw-doloop", "pass", ".", "Called", "when", "a", "loop", "we", "have", "discovered", "turns", "out", "not", "to", "be", "optimizable", ";", "we", "have", "to", "split", "the", "doloop_end", "pattern", "into", "a", "subtract", "and", "a", "test", "."], "TS_V_token": ["bfin", "1", "1", "0"], "File": "bfin3", "Func": "hwloop_fail", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33888, "Length": 136}
{"ground_truth": ["", "static", "bool", "must_save_p", "(", "bool", "is_inthandler", ",", "unsigned", "regno", ")", "{", "if", "(", "D_REGNO_P", "(", "regno", ")", ")", "{", "bool", "is_eh_return_reg", "=", "false", ";", "if", "(", "crtl", "->", "calls_eh_return", ")", "{", "unsigned", "j", ";", "for", "(", "j", "=", "0", ";", ";", "j", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "j", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "regno", ")", "is_eh_return_reg", "=", "true", ";", "}", "}", "return", "(", "is_eh_return_reg", "||", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "is_inthandler", "||", "!", "call_used_regs", "[", "regno", "]", ")", ")", ")", ";", "}", "else", "if", "(", "P_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "is_inthandler", "||", "!", "call_used_regs", "[", "regno", "]", ")", ")", "||", "(", "is_inthandler", "&&", "(", "ENABLE_WA_05000283", "||", "ENABLE_WA_05000315", ")", "&&", "regno", "==", "REG_P5", ")", "||", "(", "!", "TARGET_FDPIC", "&&", "regno", "==", "PIC_OFFSET_TABLE_REGNUM", "&&", "(", "crtl", "->", "uses_pic_offset_table", "||", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "!", "crtl", "->", "is_leaf", ")", ")", ")", ")", ";", "}", "else", "return", "(", "(", "is_inthandler", "||", "!", "call_used_regs", "[", "regno", "]", ")", "&&", "(", "df_regs_ever_live_p", "(", "regno", ")", "||", "(", "!", "leaf_function_p", "(", ")", "&&", "call_used_regs", "[", "regno", "]", ")", ")", ")", ";", "}", ""], "natrual_language": ["For", "a", "given", "REGNO", ",", "determine", "whether", "it", "must", "be", "saved", "in", "the", "function", "prologue", ".", "IS_INTHANDLER", "specifies", "whether", "we", "'re", "generating", "a", "normal", "prologue", "or", "an", "interrupt/exception", "one", "."], "TS_V_token": ["bfin", "0"], "File": "bfin3", "Func": "must_save_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33889, "Length": 210}
{"ground_truth": ["", "static", "int", "n_regs_saved_by_prologue", "(", "void", ")", "{", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "is_inthandler", "=", "fkind", "!=", "SUBROUTINE", ";", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "all", "=", "(", "lookup_attribute", "(", "\"saveall\"", ",", "attrs", ")", "!=", "NULL_TREE", "||", "(", "is_inthandler", "&&", "!", "crtl", "->", "is_leaf", ")", ")", ";", "int", "ndregs", "=", "all", "?", "8", ":", "n_dregs_to_save", "(", "is_inthandler", ",", "false", ")", ";", "int", "npregs", "=", "all", "?", "6", ":", "n_pregs_to_save", "(", "is_inthandler", ",", "false", ")", ";", "int", "n", "=", "ndregs", "+", "npregs", ";", "int", "i", ";", "if", "(", "all", "||", "stack_frame_needed_p", "(", ")", ")", "n", "+=", "2", ";", "else", "{", "if", "(", "must_save_fp_p", "(", ")", ")", "n", "++", ";", "if", "(", "must_save_rets_p", "(", ")", ")", "n", "++", ";", "}", "if", "(", "fkind", "!=", "SUBROUTINE", "||", "all", ")", "{", "n", "++", ";", "if", "(", "!", "crtl", "->", "is_leaf", "||", "cfun", "->", "machine", "->", "has_hardware_loops", "||", "cfun", "->", "machine", "->", "has_loopreg_clobber", ")", "{", "n", "+=", "6", ";", "}", "}", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "{", "if", "(", "lookup_attribute", "(", "\"nesting\"", ",", "attrs", ")", ")", "n", "++", ";", "}", "for", "(", "i", "=", "REG_P7", "+", "1", ";", "i", "<", "REG_CC", ";", "i", "++", ")", "if", "(", "all", "||", "(", "fkind", "!=", "SUBROUTINE", "&&", "(", "df_regs_ever_live_p", "(", "i", ")", "||", "(", "!", "leaf_function_p", "(", ")", "&&", "call_used_regs", "[", "i", "]", ")", ")", ")", ")", "n", "+=", "i", "==", "REG_A0", "||", "i", "==", "REG_A1", "?", "2", ":", "1", ";", "return", "n", ";", "}", ""], "natrual_language": ["Return", "the", "number", "of", "registers", "pushed", "during", "the", "prologue", "."], "TS_V_token": ["bfin", "\"saveall\"", "8", "6", "2", "6", "\"nesting\"", "1", "2", "1"], "File": "bfin3", "Func": "n_regs_saved_by_prologue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33890, "Length": 250}
{"ground_truth": ["", "static", "void", "setup_incoming_varargs", "(", "cumulative_args_t", "cum", ",", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "tree", "type", "ATTRIBUTE_UNUSED", ",", "int", "*", "pretend_size", ",", "int", "no_rtl", ")", "{", "rtx", "mem", ";", "int", "i", ";", "if", "(", "no_rtl", ")", "return", ";", "for", "(", "i", "=", "get_cumulative_args", "(", "cum", ")", "->", "words", "+", "1", ";", "i", "<", "max_arg_registers", ";", "i", "++", ")", "{", "mem", "=", "gen_rtx_MEM", "(", "Pmode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "(", "i", "*", "UNITS_PER_WORD", ")", ")", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_rtx_REG", "(", "Pmode", ",", "i", ")", ")", ";", "}", "*", "pretend_size", "=", "0", ";", "}", ""], "natrual_language": ["Perform", "any", "needed", "actions", "needed", "for", "a", "function", "that", "is", "receiving", "a", "variable", "number", "of", "arguments", ".", "CUM", "is", "as", "above", ".", "MODE", "and", "TYPE", "are", "the", "mode", "and", "type", "of", "the", "current", "parameter", ".", "PRETEND_SIZE", "is", "a", "variable", "that", "should", "be", "set", "to", "the", "amount", "of", "stack", "that", "must", "be", "pushed", "by", "the", "prolog", "to", "pretend", "that", "our", "caller", "pushed", "it", ".", "Normally", ",", "this", "macro", "will", "push", "all", "remaining", "incoming", "registers", "on", "the", "stack", "and", "set", "PRETEND_SIZE", "to", "the", "length", "of", "the", "registers", "pushed", "."], "TS_V_token": ["bfin", "1", "0"], "File": "bfin3", "Func": "setup_incoming_varargs", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33891, "Length": 95}
{"ground_truth": ["", "static", "void", "single_move_for_movmem", "(", "rtx", "dst", ",", "rtx", "src", ",", "machine_mode", "mode", ",", "HOST_WIDE_INT", "offset", ")", "{", "rtx", "scratch", "=", "gen_reg_rtx", "(", "mode", ")", ";", "rtx", "srcmem", ",", "dstmem", ";", "srcmem", "=", "adjust_address_nv", "(", "src", ",", "mode", ",", "offset", ")", ";", "dstmem", "=", "adjust_address_nv", "(", "dst", ",", "mode", ",", "offset", ")", ";", "emit_move_insn", "(", "scratch", ",", "srcmem", ")", ";", "emit_move_insn", "(", "dstmem", ",", "scratch", ")", ";", "}", ""], "natrual_language": ["Adjust", "DST", "and", "SRC", "by", "OFFSET", "bytes", ",", "and", "generate", "one", "move", "in", "mode", "MODE", "."], "TS_V_token": ["bfin"], "File": "bfin3", "Func": "single_move_for_movmem", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33892, "Length": 67}
{"ground_truth": ["", "static", "void", "add_sched_insns_for_speculation", "(", "void", ")", "{", "rtx_insn", "*", "insn", ";", "if", "(", "!", "ENABLE_WA_SPECULATIVE_LOADS", "&&", "!", "ENABLE_WA_SPECULATIVE_SYNCS", "&&", "!", "ENABLE_WA_INDIRECT_CALLS", ")", "return", ";", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "rtx", "pat", ";", "if", "(", "NOTE_P", "(", "insn", ")", "||", "BARRIER_P", "(", "insn", ")", "||", "LABEL_P", "(", "insn", ")", ")", "continue", ";", "if", "(", "JUMP_TABLE_DATA_P", "(", "insn", ")", ")", "continue", ";", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "USE", "||", "GET_CODE", "(", "pat", ")", "==", "CLOBBER", "||", "GET_CODE", "(", "pat", ")", "==", "ASM_INPUT", "||", "asm_noperands", "(", "pat", ")", ">=", "0", ")", "continue", ";", "if", "(", "JUMP_P", "(", "insn", ")", ")", "{", "if", "(", "any_condjump_p", "(", "insn", ")", "&&", "!", "cbranch_predicted_taken_p", "(", "insn", ")", ")", "{", "rtx_insn", "*", "n", "=", "next_real_insn", "(", "insn", ")", ";", "emit_insn_before", "(", "gen_stall", "(", "GEN_INT", "(", "3", ")", ")", ",", "n", ")", ";", "}", "}", "}", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "if", "(", "JUMP_P", "(", "insn", ")", "&&", "any_condjump_p", "(", "insn", ")", "&&", "(", "cbranch_predicted_taken_p", "(", "insn", ")", ")", ")", "{", "rtx", "target", "=", "JUMP_LABEL", "(", "insn", ")", ";", "rtx_insn", "*", "next", "=", "next_real_insn", "(", "target", ")", ";", "if", "(", "GET_CODE", "(", "PATTERN", "(", "next", ")", ")", "==", "UNSPEC_VOLATILE", "&&", "get_attr_type", "(", "next", ")", "==", "TYPE_STALL", ")", "continue", ";", "emit_insn_before", "(", "gen_stall", "(", "GEN_INT", "(", "1", ")", ")", ",", "next", ")", ";", "}", "}", "}", ""], "natrual_language": ["Called", "just", "before", "the", "final", "scheduling", "pass", ".", "If", "we", "need", "to", "insert", "NOPs", "later", "on", "to", "work", "around", "speculative", "loads", ",", "insert", "special", "placeholder", "insns", "that", "cause", "loads", "to", "be", "delayed", "for", "as", "many", "cycles", "as", "necessary", "(", "and", "possible", ")", ".", "This", "reduces", "the", "number", "of", "NOPs", "we", "need", "to", "add", ".", "The", "dummy", "insns", "we", "generate", "are", "later", "removed", "by", "bfin_gen_bundles", "."], "TS_V_token": ["bfin", "0", "3", "1"], "File": "bfin4", "Func": "add_sched_insns_for_speculation", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33893, "Length": 251}
{"ground_truth": ["", "initialize_trampoline", "(", "TRAMP", ",", "FNADDR", ",", "CXT", ")", "{", "{", "ARG_POINTER_REGNUM", ",", "STACK_POINTER_REGNUM", "}", ",", "\\", "{", "ARG_POINTER_REGNUM", ",", "FRAME_POINTER_REGNUM", "}", ",", "\\", "{", "FRAME_POINTER_REGNUM", ",", "STACK_POINTER_REGNUM", "}", "}", ""], "natrual_language": ["Emit", "RTL", "insns", "to", "initialize", "the", "variable", "parts", "of", "a", "trampoline", "at", "TRAMP", ".", "FNADDR", "is", "an", "RTX", "for", "the", "address", "of", "the", "function", "'s", "pure", "code", ".", "CXT", "is", "an", "RTX", "for", "the", "static", "chain", "value", "for", "the", "function", "."], "TS_V_token": ["bfin"], "File": "bfin4", "Func": "initialize_trampoline", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33894, "Length": 29}
{"ground_truth": ["", "static", "void", "add_sched_insns_for_speculation", "(", "void", ")", "{", "rtx_insn", "*", "insn", ";", "if", "(", "!", "ENABLE_WA_SPECULATIVE_LOADS", "&&", "!", "ENABLE_WA_SPECULATIVE_SYNCS", "&&", "!", "ENABLE_WA_INDIRECT_CALLS", ")", "return", ";", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "rtx", "pat", ";", "if", "(", "NOTE_P", "(", "insn", ")", "||", "BARRIER_P", "(", "insn", ")", "||", "LABEL_P", "(", "insn", ")", ")", "continue", ";", "if", "(", "JUMP_TABLE_DATA_P", "(", "insn", ")", ")", "continue", ";", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "USE", "||", "GET_CODE", "(", "pat", ")", "==", "CLOBBER", "||", "GET_CODE", "(", "pat", ")", "==", "ASM_INPUT", "||", "asm_noperands", "(", "pat", ")", ">=", "0", ")", "continue", ";", "if", "(", "JUMP_P", "(", "insn", ")", ")", "{", "if", "(", "any_condjump_p", "(", "insn", ")", "&&", "!", "cbranch_predicted_taken_p", "(", "insn", ")", ")", "{", "rtx_insn", "*", "n", "=", "next_real_insn", "(", "insn", ")", ";", "emit_insn_before", "(", "gen_stall", "(", "GEN_INT", "(", "3", ")", ")", ",", "n", ")", ";", "}", "}", "}", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "if", "(", "JUMP_P", "(", "insn", ")", "&&", "any_condjump_p", "(", "insn", ")", "&&", "(", "cbranch_predicted_taken_p", "(", "insn", ")", ")", ")", "{", "rtx_insn", "*", "target", "=", "JUMP_LABEL_AS_INSN", "(", "insn", ")", ";", "rtx_insn", "*", "next", "=", "next_real_insn", "(", "target", ")", ";", "if", "(", "GET_CODE", "(", "PATTERN", "(", "next", ")", ")", "==", "UNSPEC_VOLATILE", "&&", "get_attr_type", "(", "next", ")", "==", "TYPE_STALL", ")", "continue", ";", "emit_insn_before", "(", "gen_stall", "(", "GEN_INT", "(", "1", ")", ")", ",", "next", ")", ";", "}", "}", "}", ""], "natrual_language": ["Called", "just", "before", "the", "final", "scheduling", "pass", ".", "If", "we", "need", "to", "insert", "NOPs", "later", "on", "to", "work", "around", "speculative", "loads", ",", "insert", "special", "placeholder", "insns", "that", "cause", "loads", "to", "be", "delayed", "for", "as", "many", "cycles", "as", "necessary", "(", "and", "possible", ")", ".", "This", "reduces", "the", "number", "of", "NOPs", "we", "need", "to", "add", ".", "The", "dummy", "insns", "we", "generate", "are", "later", "removed", "by", "bfin_gen_bundles", "."], "TS_V_token": ["bfin", "0", "3", "1"], "File": "bfin", "Func": "add_sched_insns_for_speculation", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33895, "Length": 252}
{"ground_truth": ["", "static", "void", "add_to_reg", "(", "rtx", "reg", ",", "HOST_WIDE_INT", "value", ",", "int", "frame", ",", "int", "epilogue_p", ")", "{", "if", "(", "value", "==", "0", ")", "return", ";", "if", "(", "value", ">", "120", "||", "value", "<", "-", "120", ")", "{", "rtx", "tmpreg", ";", "rtx", "tmpreg2", ";", "rtx_insn", "*", "insn", ";", "tmpreg2", "=", "NULL_RTX", ";", "if", "(", "epilogue_p", ">=", "0", ")", "tmpreg", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_P1", ")", ";", "else", "{", "int", "i", ";", "for", "(", "i", "=", "REG_P0", ";", "i", "<=", "REG_P5", ";", "i", "++", ")", "if", "(", "(", "df_regs_ever_live_p", "(", "i", ")", "&&", "!", "call_used_or_fixed_reg_p", "(", "i", ")", ")", "||", "(", "!", "TARGET_FDPIC", "&&", "i", "==", "PIC_OFFSET_TABLE_REGNUM", "&&", "(", "crtl", "->", "uses_pic_offset_table", "||", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "!", "crtl", "->", "is_leaf", ")", ")", ")", ")", "break", ";", "if", "(", "i", "<=", "REG_P5", ")", "tmpreg", "=", "gen_rtx_REG", "(", "SImode", ",", "i", ")", ";", "else", "{", "tmpreg", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_P1", ")", ";", "tmpreg2", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_I0", ")", ";", "emit_move_insn", "(", "tmpreg2", ",", "tmpreg", ")", ";", "}", "}", "if", "(", "frame", ")", "frame_related_constant_load", "(", "tmpreg", ",", "value", ",", "TRUE", ")", ";", "else", "insn", "=", "emit_move_insn", "(", "tmpreg", ",", "GEN_INT", "(", "value", ")", ")", ";", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "reg", ",", "reg", ",", "tmpreg", ")", ")", ";", "if", "(", "frame", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "tmpreg2", "!=", "NULL_RTX", ")", "emit_move_insn", "(", "tmpreg", ",", "tmpreg2", ")", ";", "}", "else", "do", "{", "int", "size", "=", "value", ";", "rtx_insn", "*", "insn", ";", "if", "(", "size", ">", "60", ")", "size", "=", "60", ";", "else", "if", "(", "size", "<", "-", "60", ")", "size", "=", "-", "60", ";", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "reg", ",", "reg", ",", "GEN_INT", "(", "size", ")", ")", ")", ";", "if", "(", "frame", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "value", "-=", "size", ";", "}", "while", "(", "value", "!=", "0", ")", ";", "}", ""], "natrual_language": ["Generate", "efficient", "code", "to", "add", "a", "value", "to", "a", "P", "register", ".", "Set", "RTX_FRAME_RELATED_P", "on", "the", "generated", "insns", "if", "FRAME", "is", "nonzero", ".", "EPILOGUE_P", "is", "zero", "if", "this", "function", "is", "called", "for", "prologue", ",", "otherwise", "it", "'s", "nonzero", ".", "And", "it", "'s", "less", "than", "zero", "if", "this", "is", "for", "sibcall", "epilogue", "."], "TS_V_token": ["bfin", "0", "120", "120", "0", "1", "60", "60", "60", "60", "1", "0"], "File": "bfin", "Func": "add_to_reg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33896, "Length": 310}
{"ground_truth": ["", "static", "HOST_WIDE_INT", "arg_area_size", "(", "void", ")", "{", "if", "(", "crtl", "->", "outgoing_args_size", ")", "{", "if", "(", "crtl", "->", "outgoing_args_size", ">=", "FIXED_STACK_AREA", ")", "return", "crtl", "->", "outgoing_args_size", ";", "else", "return", "FIXED_STACK_AREA", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "the", "number", "of", "bytes", "we", "must", "reserve", "for", "outgoing", "arguments", "in", "the", "current", "function", "'s", "stack", "frame", "."], "TS_V_token": ["bfin", "0"], "File": "bfin", "Func": "arg_area_size", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33897, "Length": 36}
{"ground_truth": ["", "void", "asm_conditional_branch", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ",", "int", "n_nops", ",", "int", "predict_taken", ")", "{", "int", "offset", "=", "branch_dest", "(", "insn", ")", "-", "INSN_ADDRESSES", "(", "INSN_UID", "(", "insn", ")", ")", ";", "int", "len", "=", "(", "offset", ">=", "-", "1024", "&&", "offset", "<=", "1022", "?", "0", ":", "offset", ">=", "-", "4094", "&&", "offset", "<=", "4096", "?", "1", ":", "2", ")", ";", "int", "bp", "=", "predict_taken", "&&", "len", "==", "0", "?", "1", ":", "cbranch_predicted_taken_p", "(", "insn", ")", ";", "int", "idx", "=", "(", "bp", "<<", "1", ")", "|", "(", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "EQ", "?", "BRF", ":", "BRT", ")", ";", "output_asm_insn", "(", "ccbranch_templates", "[", "idx", "]", "[", "len", "]", ",", "operands", ")", ";", "gcc_assert", "(", "n_nops", "==", "0", "||", "!", "bp", ")", ";", "if", "(", "len", "==", "0", ")", "while", "(", "n_nops", "--", ">", "0", ")", "output_asm_insn", "(", "\"nop;\"", ",", "NULL", ")", ";", "}", ""], "natrual_language": ["Output", "INSN", ",", "which", "is", "a", "conditional", "branch", "instruction", "with", "operands", "OPERANDS", ".", "We", "deal", "with", "the", "various", "forms", "of", "conditional", "branches", "that", "can", "be", "generated", "by", "bfin_reorg", "to", "prevent", "the", "hardware", "from", "doing", "speculative", "loads", ",", "by", "-", "emitting", "a", "sufficient", "number", "of", "nops", ",", "if", "N_NOPS", "is", "nonzero", ",", "or", "-", "always", "emitting", "the", "branch", "as", "predicted", "taken", ",", "if", "PREDICT_TAKEN", "is", "true", ".", "Either", "of", "these", "is", "only", "necessary", "if", "the", "branch", "is", "short", ",", "otherwise", "the", "template", "we", "use", "ends", "in", "an", "unconditional", "jump", "which", "flushes", "the", "pipeline", "anyway", "."], "TS_V_token": ["bfin", "1024", "1022", "0", "4094", "4096", "1", "2", "0", "1", "1", "0", "0", "0", "0", "\"nop;\""], "File": "bfin", "Func": "asm_conditional_branch", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33898, "Length": 148}
{"ground_truth": ["", "static", "int", "bfin_address_cost", "(", "rtx", "addr", "ATTRIBUTE_UNUSED", ",", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "addr_space_t", "as", "ATTRIBUTE_UNUSED", ",", "bool", "speed", "ATTRIBUTE_UNUSED", ")", "{", "return", "1", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "the", "memory", "address", "ADDR", ".", "All", "addressing", "modes", "are", "equally", "cheap", "on", "the", "Blackfin", "."], "TS_V_token": ["bfin", "1"], "File": "bfin", "Func": "bfin_address_cost", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33899, "Length": 25}
{"ground_truth": ["", "static", "int", "bfin_arg_partial_bytes", "(", "cumulative_args_t", "cum", ",", "const", "function_arg_info", "&", "arg", ")", "{", "int", "bytes", "=", "arg", ".", "promoted_size_in_bytes", "(", ")", ";", "int", "bytes_left", "=", "get_cumulative_args", "(", "cum", ")", "->", "nregs", "*", "UNITS_PER_WORD", ";", "if", "(", "bytes", "==", "-", "1", ")", "return", "0", ";", "if", "(", "bytes_left", "==", "0", ")", "return", "0", ";", "if", "(", "bytes", ">", "bytes_left", ")", "return", "bytes_left", ";", "return", "0", ";", "}", ""], "natrual_language": ["For", "an", "arg", "passed", "partly", "in", "registers", "and", "partly", "in", "memory", ",", "this", "is", "the", "number", "of", "bytes", "passed", "in", "registers", ".", "For", "args", "passed", "entirely", "in", "registers", "or", "entirely", "in", "memory", ",", "zero", ".", "Refer", "VDSP", "C", "Compiler", "manual", ",", "our", "ABI", ".", "First", "3", "words", "are", "in", "registers", ".", "So", ",", "if", "a", "an", "argument", "is", "larger", "than", "the", "registers", "available", ",", "it", "will", "span", "the", "register", "and", "stack", "."], "TS_V_token": ["bfin", "1", "0", "0", "0", "0"], "File": "bfin", "Func": "bfin_arg_partial_bytes", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33900, "Length": 66}
{"ground_truth": ["", "static", "void", "bfin_asm_trampoline_template", "(", "FILE", "*", "f", ")", "{", "if", "(", "TARGET_FDPIC", ")", "{", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x00000000\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x00000000\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x0000e109\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x0000e149\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x0000e10a\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x0000e14a\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dw\\t0xac4b\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dw\\t0x9149\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dw\\t0x0051\\n\"", ")", ";", "}", "else", "{", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x0000e109\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x0000e149\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x0000e10a\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dd\\t0x0000e14a\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\t.dw\\t0x0051\\n\"", ")", ";", "}", "}", ""], "natrual_language": ["Write", "a", "template", "for", "a", "trampoline", "to", "F", "."], "TS_V_token": ["bfin", "\"\\t.dd\\t0x00000000\\n\"", "\"\\t.dd\\t0x00000000\\n\"", "\"\\t.dd\\t0x0000e109\\n\"", "\"\\t.dd\\t0x0000e149\\n\"", "\"\\t.dd\\t0x0000e10a\\n\"", "\"\\t.dd\\t0x0000e14a\\n\"", "\"\\t.dw\\t0xac4b\\n\"", "\"\\t.dw\\t0x9149\\n\"", "\"\\t.dw\\t0x0051\\n\"", "\"\\t.dd\\t0x0000e109\\n\"", "\"\\t.dd\\t0x0000e149\\n\"", "\"\\t.dd\\t0x0000e10a\\n\"", "\"\\t.dd\\t0x0000e14a\\n\"", "\"\\t.dw\\t0x0051\\n\""], "File": "bfin", "Func": "bfin_asm_trampoline_template", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33901, "Length": 117}
{"ground_truth": ["", "static", "bool", "bfin_assemble_integer", "(", "rtx", "value", ",", "unsigned", "int", "size", ",", "int", "aligned_p", ")", "{", "if", "(", "TARGET_FDPIC", "&&", "size", "==", "UNITS_PER_WORD", ")", "{", "if", "(", "GET_CODE", "(", "value", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_FUNCTION_P", "(", "value", ")", ")", "{", "fputs", "(", "\"\\t.picptr\\tfuncdesc(\"", ",", "asm_out_file", ")", ";", "output_addr_const", "(", "asm_out_file", ",", "value", ")", ";", "fputs", "(", "\")\\n\"", ",", "asm_out_file", ")", ";", "return", "true", ";", "}", "if", "(", "!", "aligned_p", ")", "{", "assemble_integer_with_op", "(", "\"\\t.4byte\\t\"", ",", "value", ")", ";", "return", "true", ";", "}", "}", "return", "default_assemble_integer", "(", "value", ",", "size", ",", "aligned_p", ")", ";", "}", ""], "natrual_language": ["Implementation", "of", "TARGET_ASM_INTEGER", ".", "When", "using", "FD-PIC", ",", "we", "need", "to", "tell", "the", "assembler", "to", "generate", "pointers", "to", "function", "descriptors", "in", "some", "cases", "."], "TS_V_token": ["bfin", "\"\\t.picptr\\tfuncdesc(\"", "\")\\n\"", "\"\\t.4byte\\t\""], "File": "bfin", "Func": "bfin_assemble_integer", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33902, "Length": 93}
{"ground_truth": ["", "static", "bool", "bfin_cannot_force_const_mem", "(", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "rtx", "x", "ATTRIBUTE_UNUSED", ")", "{", "return", "true", ";", "}", ""], "natrual_language": ["Decide", "whether", "we", "can", "force", "certain", "constants", "to", "memory", ".", "If", "we", "decide", "we", "ca", "n't", ",", "the", "caller", "should", "be", "able", "to", "cope", "with", "it", "in", "another", "way", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_cannot_force_const_mem", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33903, "Length": 17}
{"ground_truth": ["", "static", "bool", "bfin_can_eliminate", "(", "const", "int", "from", "ATTRIBUTE_UNUSED", ",", "const", "int", "to", ")", "{", "return", "(", "to", "==", "STACK_POINTER_REGNUM", "?", "!", "frame_pointer_needed", ":", "true", ")", ";", "}", ""], "natrual_language": ["Given", "FROM", "and", "TO", "register", "numbers", ",", "say", "whether", "this", "elimination", "is", "allowed", ".", "Frame", "pointer", "elimination", "is", "automatically", "handled", ".", "All", "other", "eliminations", "are", "valid", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_can_eliminate", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33904, "Length": 27}
{"ground_truth": ["", "static", "bool", "bfin_can_use_doloop_p", "(", "const", "widest_int", "&", ",", "const", "widest_int", "&", "iterations_max", ",", "unsigned", "int", ",", "bool", ")", "{", "return", "(", "wi", "::", "ltu_p", "(", "iterations_max", ",", "0xFFFFFFFF", ")", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_CAN_USE_DOLOOP_P", "."], "TS_V_token": ["bfin", "0xFFFFFFFF"], "File": "bfin", "Func": "bfin_can_use_doloop_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33905, "Length": 32}
{"ground_truth": ["", "static", "bool", "bfin_class_likely_spilled_p", "(", "reg_class_t", "rclass", ")", "{", "switch", "(", "rclass", ")", "{", "case", "PREGS_CLOBBERED", ":", "case", "PROLOGUE_REGS", ":", "case", "P0REGS", ":", "case", "D0REGS", ":", "case", "D1REGS", ":", "case", "D2REGS", ":", "case", "CCREGS", ":", "return", "true", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Implement", "TARGET_CLASS_LIKELY_SPILLED_P", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_class_likely_spilled_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33906, "Length": 46}
{"ground_truth": ["", "static", "int", "bfin_comp_type_attributes", "(", "const_tree", "type1", ",", "const_tree", "type2", ")", "{", "e_funkind", "kind1", ",", "kind2", ";", "if", "(", "TREE_CODE", "(", "type1", ")", "!=", "FUNCTION_TYPE", ")", "return", "1", ";", "kind1", "=", "funkind", "(", "type1", ")", ";", "kind2", "=", "funkind", "(", "type2", ")", ";", "if", "(", "kind1", "!=", "kind2", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"nesting\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"nesting\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"saveall\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"saveall\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"kspisusp\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"kspisusp\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"longcall\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"longcall\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "return", "1", ";", "}", ""], "natrual_language": ["Return", "0", "if", "the", "attributes", "for", "two", "types", "are", "incompatible", ",", "1", "if", "they", "are", "compatible", ",", "and", "2", "if", "they", "are", "nearly", "compatible", "(", "which", "causes", "a", "warning", "to", "be", "generated", ")", "."], "TS_V_token": ["bfin", "1", "0", "\"nesting\"", "\"nesting\"", "0", "\"saveall\"", "\"saveall\"", "0", "\"kspisusp\"", "\"kspisusp\"", "0", "\"longcall\"", "\"longcall\"", "0", "1"], "File": "bfin", "Func": "bfin_comp_type_attributes", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33907, "Length": 163}
{"ground_truth": ["", "bool", "bfin_dsp_memref_p", "(", "rtx", "x", ")", "{", "if", "(", "!", "MEM_P", "(", "x", ")", ")", "return", "false", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "POST_INC", "||", "GET_CODE", "(", "x", ")", "==", "PRE_INC", "||", "GET_CODE", "(", "x", ")", "==", "POST_DEC", "||", "GET_CODE", "(", "x", ")", "==", "PRE_DEC", ")", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "return", "IREG_P", "(", "x", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "X", "is", "a", "memory", "reference", "using", "an", "I", "register", "."], "TS_V_token": ["bfin", "0", "0"], "File": "bfin", "Func": "bfin_dsp_memref_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33908, "Length": 73}
{"ground_truth": ["", "static", "rtx", "bfin_expand_binop_builtin", "(", "enum", "insn_code", "icode", ",", "tree", "exp", ",", "rtx", "target", ",", "int", "macflag", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "CALL_EXPR_ARG", "(", "exp", ",", "0", ")", ";", "tree", "arg1", "=", "CALL_EXPR_ARG", "(", "exp", ",", "1", ")", ";", "rtx", "op0", "=", "expand_normal", "(", "arg0", ")", ";", "rtx", "op1", "=", "expand_normal", "(", "arg1", ")", ";", "machine_mode", "op0mode", "=", "GET_MODE", "(", "op0", ")", ";", "machine_mode", "op1mode", "=", "GET_MODE", "(", "op1", ")", ";", "machine_mode", "tmode", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode0", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "machine_mode", "mode1", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "2", "]", ".", "mode", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "if", "(", "!", "target", "||", "GET_MODE", "(", "target", ")", "!=", "tmode", "||", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", ")", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "if", "(", "(", "op0mode", "==", "SImode", "||", "op0mode", "==", "VOIDmode", ")", "&&", "mode0", "==", "HImode", ")", "{", "op0mode", "=", "HImode", ";", "op0", "=", "gen_lowpart", "(", "HImode", ",", "op0", ")", ";", "}", "if", "(", "(", "op1mode", "==", "SImode", "||", "op1mode", "==", "VOIDmode", ")", "&&", "mode1", "==", "HImode", ")", "{", "op1mode", "=", "HImode", ";", "op1", "=", "gen_lowpart", "(", "HImode", ",", "op1", ")", ";", "}", "gcc_assert", "(", "(", "op0mode", "==", "mode0", "||", "op0mode", "==", "VOIDmode", ")", "&&", "(", "op1mode", "==", "mode1", "||", "op1mode", "==", "VOIDmode", ")", ")", ";", "if", "(", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", ")", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "2", "]", ".", "predicate", ")", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "if", "(", "macflag", "==", "-", "1", ")", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "target", ",", "op0", ",", "op1", ")", ";", "else", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "target", ",", "op0", ",", "op1", ",", "GEN_INT", "(", "macflag", ")", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutine", "of", "bfin_expand_builtin", "to", "take", "care", "of", "binop", "insns", ".", "MACFLAG", "is", "-1", "if", "this", "is", "a", "normal", "binary", "op", ",", "or", "one", "of", "the", "MACFLAG_xxx", "constants", "."], "TS_V_token": ["bfin", "0", "1", "0", "1", "2", "0", "1", "2", "1", "0"], "File": "bfin", "Func": "bfin_expand_binop_builtin", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33909, "Length": 397}
{"ground_truth": ["", "bool", "bfin_expand_cpymem", "(", "rtx", "dst", ",", "rtx", "src", ",", "rtx", "count_exp", ",", "rtx", "align_exp", ")", "{", "rtx", "srcreg", ",", "destreg", ",", "countreg", ";", "HOST_WIDE_INT", "align", "=", "0", ";", "unsigned", "HOST_WIDE_INT", "count", "=", "0", ";", "if", "(", "GET_CODE", "(", "align_exp", ")", "==", "CONST_INT", ")", "align", "=", "INTVAL", "(", "align_exp", ")", ";", "if", "(", "GET_CODE", "(", "count_exp", ")", "==", "CONST_INT", ")", "{", "count", "=", "INTVAL", "(", "count_exp", ")", ";", "if", "(", "!", "TARGET_INLINE_ALL_STRINGOPS", "&&", "count", ">", "64", ")", "return", "false", ";", "}", "if", "(", "optimize_size", ")", "{", "if", "(", "count", "==", "2", "&&", "align", "<", "2", ")", "return", "false", ";", "if", "(", "count", "==", "4", "&&", "align", "<", "4", ")", "return", "false", ";", "if", "(", "count", "!=", "1", "&&", "count", "!=", "2", "&&", "count", "!=", "4", ")", "return", "false", ";", "}", "if", "(", "align", "<", "2", "&&", "count", "!=", "1", ")", "return", "false", ";", "destreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "XEXP", "(", "dst", ",", "0", ")", ")", ";", "if", "(", "destreg", "!=", "XEXP", "(", "dst", ",", "0", ")", ")", "dst", "=", "replace_equiv_address_nv", "(", "dst", ",", "destreg", ")", ";", "srcreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "XEXP", "(", "src", ",", "0", ")", ")", ";", "if", "(", "srcreg", "!=", "XEXP", "(", "src", ",", "0", ")", ")", "src", "=", "replace_equiv_address_nv", "(", "src", ",", "srcreg", ")", ";", "if", "(", "count", "!=", "0", "&&", "align", ">=", "2", ")", "{", "unsigned", "HOST_WIDE_INT", "offset", "=", "0", ";", "if", "(", "align", ">=", "4", ")", "{", "if", "(", "(", "count", "&", "~", "3", ")", "==", "4", ")", "{", "single_move_for_cpymem", "(", "dst", ",", "src", ",", "SImode", ",", "offset", ")", ";", "offset", "=", "4", ";", "}", "else", "if", "(", "count", "&", "~", "3", ")", "{", "HOST_WIDE_INT", "new_count", "=", "(", "(", "count", ">>", "2", ")", "&", "0x3fffffff", ")", "-", "1", ";", "countreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "GEN_INT", "(", "new_count", ")", ")", ";", "emit_insn", "(", "gen_rep_movsi", "(", "destreg", ",", "srcreg", ",", "countreg", ",", "destreg", ",", "srcreg", ")", ")", ";", "cfun", "->", "machine", "->", "has_loopreg_clobber", "=", "true", ";", "}", "if", "(", "count", "&", "2", ")", "{", "single_move_for_cpymem", "(", "dst", ",", "src", ",", "HImode", ",", "offset", ")", ";", "offset", "+=", "2", ";", "}", "}", "else", "{", "if", "(", "(", "count", "&", "~", "1", ")", "==", "2", ")", "{", "single_move_for_cpymem", "(", "dst", ",", "src", ",", "HImode", ",", "offset", ")", ";", "offset", "=", "2", ";", "}", "else", "if", "(", "count", "&", "~", "1", ")", "{", "HOST_WIDE_INT", "new_count", "=", "(", "(", "count", ">>", "1", ")", "&", "0x7fffffff", ")", "-", "1", ";", "countreg", "=", "copy_to_mode_reg", "(", "Pmode", ",", "GEN_INT", "(", "new_count", ")", ")", ";", "emit_insn", "(", "gen_rep_movhi", "(", "destreg", ",", "srcreg", ",", "countreg", ",", "destreg", ",", "srcreg", ")", ")", ";", "cfun", "->", "machine", "->", "has_loopreg_clobber", "=", "true", ";", "}", "}", "if", "(", "count", "&", "1", ")", "{", "single_move_for_cpymem", "(", "dst", ",", "src", ",", "QImode", ",", "offset", ")", ";", "}", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Expand", "a", "string", "move", "operation", "of", "COUNT_EXP", "bytes", "from", "SRC", "to", "DST", ",", "with", "alignment", "ALIGN_EXP", ".", "Return", "true", "if", "successful", ",", "false", "if", "we", "should", "fall", "back", "on", "a", "different", "method", "."], "TS_V_token": ["bfin", "0", "0", "64", "2", "2", "4", "4", "1", "2", "4", "2", "1", "0", "0", "0", "0", "0", "2", "0", "4", "3", "4", "4", "3", "2", "0x3fffffff", "1", "2", "2", "1", "2", "2", "1", "1", "0x7fffffff", "1", "1"], "File": "bfin", "Func": "bfin_expand_cpymem", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33910, "Length": 466}
{"ground_truth": ["", "void", "bfin_expand_epilogue", "(", "int", "need_return", ",", "int", "eh_return", ",", "bool", "sibcall_p", ")", "{", "rtx", "spreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_SP", ")", ";", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "int", "e", "=", "sibcall_p", "?", "-", "1", ":", "1", ";", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "all", "=", "lookup_attribute", "(", "\"saveall\"", ",", "attrs", ")", "!=", "NULL_TREE", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "{", "expand_interrupt_handler_epilogue", "(", "spreg", ",", "fkind", ",", "all", ")", ";", "return", ";", "}", "do_unlink", "(", "spreg", ",", "get_frame_size", "(", ")", ",", "all", ",", "e", ")", ";", "expand_epilogue_reg_restore", "(", "spreg", ",", "all", ",", "false", ")", ";", "if", "(", "!", "need_return", ")", "return", ";", "if", "(", "eh_return", ")", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "gen_rtx_REG", "(", "Pmode", ",", "REG_P2", ")", ")", ")", ";", "emit_jump_insn", "(", "gen_return_internal", "(", "gen_rtx_REG", "(", "Pmode", ",", "REG_RETS", ")", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "RTL", "for", "the", "epilogue", "of", "the", "current", "function", ".", "NEED_RETURN", "is", "zero", "if", "this", "is", "for", "a", "sibcall", ".", "EH_RETURN", "is", "nonzero", "if", "we", "'re", "expanding", "an", "eh_return", "pattern", "."], "TS_V_token": ["bfin", "1", "1", "\"saveall\""], "File": "bfin", "Func": "bfin_expand_epilogue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33911, "Length": 150}
{"ground_truth": ["", "void", "bfin_expand_prologue", "(", "void", ")", "{", "HOST_WIDE_INT", "frame_size", "=", "get_frame_size", "(", ")", ";", "rtx", "spreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_SP", ")", ";", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "rtx", "pic_reg_loaded", "=", "NULL_RTX", ";", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "all", "=", "lookup_attribute", "(", "\"saveall\"", ",", "attrs", ")", "!=", "NULL_TREE", ";", "if", "(", "flag_stack_usage_info", ")", "current_function_static_stack_size", "=", "frame_size", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "{", "expand_interrupt_handler_prologue", "(", "spreg", ",", "fkind", ",", "all", ")", ";", "return", ";", "}", "if", "(", "crtl", "->", "limit_stack", "||", "(", "TARGET_STACK_CHECK_L1", "&&", "!", "DECL_NO_LIMIT_STACK", "(", "current_function_decl", ")", ")", ")", "{", "HOST_WIDE_INT", "offset", "=", "bfin_initial_elimination_offset", "(", "ARG_POINTER_REGNUM", ",", "STACK_POINTER_REGNUM", ")", ";", "rtx", "lim", "=", "crtl", "->", "limit_stack", "?", "stack_limit_rtx", ":", "NULL_RTX", ";", "rtx", "tmp", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_R3", ")", ";", "rtx", "p2reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P2", ")", ";", "emit_move_insn", "(", "tmp", ",", "p2reg", ")", ";", "if", "(", "!", "lim", ")", "{", "emit_move_insn", "(", "p2reg", ",", "gen_int_mode", "(", "0xFFB00000", ",", "SImode", ")", ")", ";", "emit_move_insn", "(", "p2reg", ",", "gen_rtx_MEM", "(", "Pmode", ",", "p2reg", ")", ")", ";", "lim", "=", "p2reg", ";", "}", "if", "(", "GET_CODE", "(", "lim", ")", "==", "SYMBOL_REF", ")", "{", "if", "(", "TARGET_ID_SHARED_LIBRARY", ")", "{", "rtx", "p1reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P1", ")", ";", "rtx", "val", ";", "pic_reg_loaded", "=", "bfin_load_pic_reg", "(", "p2reg", ")", ";", "val", "=", "legitimize_pic_address", "(", "stack_limit_rtx", ",", "p1reg", ",", "pic_reg_loaded", ")", ";", "emit_move_insn", "(", "p1reg", ",", "val", ")", ";", "frame_related_constant_load", "(", "p2reg", ",", "offset", ",", "FALSE", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "p2reg", ",", "p2reg", ",", "p1reg", ")", ")", ";", "lim", "=", "p2reg", ";", "}", "else", "{", "rtx", "limit", "=", "plus_constant", "(", "Pmode", ",", "lim", ",", "offset", ")", ";", "emit_move_insn", "(", "p2reg", ",", "limit", ")", ";", "lim", "=", "p2reg", ";", "}", "}", "else", "{", "if", "(", "lim", "!=", "p2reg", ")", "emit_move_insn", "(", "p2reg", ",", "lim", ")", ";", "add_to_reg", "(", "p2reg", ",", "offset", ",", "0", ",", "0", ")", ";", "lim", "=", "p2reg", ";", "}", "emit_insn", "(", "gen_compare_lt", "(", "bfin_cc_rtx", ",", "spreg", ",", "lim", ")", ")", ";", "emit_insn", "(", "gen_trapifcc", "(", ")", ")", ";", "emit_move_insn", "(", "p2reg", ",", "tmp", ")", ";", "}", "expand_prologue_reg_save", "(", "spreg", ",", "all", ",", "false", ")", ";", "do_link", "(", "spreg", ",", "frame_size", ",", "all", ")", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "!", "TARGET_SEP_DATA", "&&", "(", "crtl", "->", "uses_pic_offset_table", "||", "!", "crtl", "->", "is_leaf", ")", ")", "bfin_load_pic_reg", "(", "pic_offset_table_rtx", ")", ";", "}", ""], "natrual_language": ["Generate", "RTL", "for", "the", "prologue", "of", "the", "current", "function", "."], "TS_V_token": ["bfin", "\"saveall\"", "0xFFB00000", "0", "0"], "File": "bfin", "Func": "bfin_expand_prologue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33912, "Length": 395}
{"ground_truth": ["", "static", "rtx", "bfin_expand_unop_builtin", "(", "enum", "insn_code", "icode", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "CALL_EXPR_ARG", "(", "exp", ",", "0", ")", ";", "rtx", "op0", "=", "expand_normal", "(", "arg0", ")", ";", "machine_mode", "op0mode", "=", "GET_MODE", "(", "op0", ")", ";", "machine_mode", "tmode", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode0", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "if", "(", "!", "target", "||", "GET_MODE", "(", "target", ")", "!=", "tmode", "||", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", ")", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "op0mode", "==", "SImode", "&&", "mode0", "==", "HImode", ")", "{", "op0mode", "=", "HImode", ";", "op0", "=", "gen_lowpart", "(", "HImode", ",", "op0", ")", ";", "}", "gcc_assert", "(", "op0mode", "==", "mode0", "||", "op0mode", "==", "VOIDmode", ")", ";", "if", "(", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", ")", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "target", ",", "op0", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutine", "of", "bfin_expand_builtin", "to", "take", "care", "of", "unop", "insns", "."], "TS_V_token": ["bfin", "0", "0", "1", "0", "1", "0"], "File": "bfin", "Func": "bfin_expand_unop_builtin", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33913, "Length": 227}
{"ground_truth": ["", "static", "void", "bfin_extra_live_on_entry", "(", "bitmap", "regs", ")", "{", "if", "(", "TARGET_FDPIC", ")", "bitmap_set_bit", "(", "regs", ",", "FDPIC_REGNO", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_EXTRA_LIVE_ON_ENTRY", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_extra_live_on_entry", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33914, "Length": 20}
{"ground_truth": ["", "static", "bool", "bfin_frame_pointer_required", "(", "void", ")", "{", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "return", "true", ";", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", "&&", "!", "crtl", "->", "is_leaf", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Value", "should", "be", "nonzero", "if", "functions", "must", "have", "frame", "pointers", ".", "Zero", "means", "the", "frame", "pointer", "need", "not", "be", "set", "up", "(", "and", "parms", "may", "be", "accessed", "via", "the", "stack", "pointer", ")", "in", "functions", "that", "seem", "suitable", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_frame_pointer_required", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33915, "Length": 43}
{"ground_truth": ["", "static", "rtx", "bfin_function_arg", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "int", "bytes", "=", "arg", ".", "promoted_size_in_bytes", "(", ")", ";", "if", "(", "arg", ".", "end_marker_p", "(", ")", ")", "return", "GEN_INT", "(", "cum", "->", "call_cookie", ")", ";", "if", "(", "bytes", "==", "-", "1", ")", "return", "NULL_RTX", ";", "if", "(", "cum", "->", "nregs", ")", "return", "gen_rtx_REG", "(", "arg", ".", "mode", ",", "*", "(", "cum", "->", "arg_regs", ")", ")", ";", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["Define", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Value", "is", "zero", "to", "push", "the", "argument", "on", "the", "stack", ",", "or", "a", "hard", "register", "in", "which", "to", "store", "the", "argument", ".", "MODE", "is", "the", "argument", "'s", "machine", "mode", ".", "TYPE", "is", "the", "data", "type", "of", "the", "argument", "(", "as", "a", "tree", ")", ".", "This", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "is", "a", "variable", "of", "type", "CUMULATIVE_ARGS", "which", "gives", "info", "about", "the", "preceding", "args", "and", "about", "the", "function", "being", "called", ".", "NAMED", "is", "nonzero", "if", "this", "argument", "is", "a", "named", "parameter", "(", "otherwise", "it", "is", "an", "extra", "parameter", "matching", "an", "ellipsis", ")", "."], "TS_V_token": ["bfin", "1"], "File": "bfin", "Func": "bfin_function_arg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33916, "Length": 82}
{"ground_truth": ["", "static", "void", "bfin_function_arg_advance", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "int", "count", ",", "bytes", ",", "words", ";", "bytes", "=", "arg", ".", "promoted_size_in_bytes", "(", ")", ";", "words", "=", "(", "bytes", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ";", "cum", "->", "words", "+=", "words", ";", "cum", "->", "nregs", "-=", "words", ";", "if", "(", "cum", "->", "nregs", "<=", "0", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cum", "->", "arg_regs", "=", "NULL", ";", "}", "else", "{", "for", "(", "count", "=", "1", ";", "count", "<=", "words", ";", "count", "++", ")", "cum", "->", "arg_regs", "++", ";", "}", "return", ";", "}", ""], "natrual_language": ["Update", "the", "data", "in", "CUM", "to", "advance", "over", "an", "argument", "of", "mode", "MODE", "and", "data", "type", "TYPE", ".", "(", "TYPE", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", ")"], "TS_V_token": ["bfin", "1", "0", "0", "1"], "File": "bfin", "Func": "bfin_function_arg_advance", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33917, "Length": 107}
{"ground_truth": ["", "static", "bool", "bfin_function_ok_for_sibcall", "(", "tree", "decl", "ATTRIBUTE_UNUSED", ",", "tree", "exp", "ATTRIBUTE_UNUSED", ")", "{", "cgraph_node", "*", "this_func", ",", "*", "called_func", ";", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "return", "false", ";", "if", "(", "!", "TARGET_ID_SHARED_LIBRARY", "||", "TARGET_SEP_DATA", ")", "return", "true", ";", "if", "(", "!", "decl", ")", "return", "false", ";", "this_func", "=", "cgraph_node", "::", "local_info_node", "(", "current_function_decl", ")", ";", "called_func", "=", "cgraph_node", "::", "local_info_node", "(", "decl", ")", ";", "if", "(", "!", "called_func", ")", "return", "false", ";", "return", "!", "called_func", "->", "local", "||", "this_func", "->", "local", ";", "}", ""], "natrual_language": ["Decide", "whether", "we", "can", "make", "a", "sibling", "call", "to", "a", "function", ".", "DECL", "is", "the", "declaration", "of", "the", "function", "being", "targeted", "by", "the", "call", "and", "EXP", "is", "the", "CALL_EXPR", "representing", "the", "call", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_function_ok_for_sibcall", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33918, "Length": 95}
{"ground_truth": ["", "static", "void", "bfin_gen_bundles", "(", "void", ")", "{", "basic_block", "bb", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ",", "*", "next", ";", "rtx_insn", "*", "slot", "[", "3", "]", ";", "int", "n_filled", "=", "0", ";", "slot", "[", "0", "]", "=", "slot", "[", "1", "]", "=", "slot", "[", "2", "]", "=", "NULL", ";", "for", "(", "insn", "=", "BB_HEAD", "(", "bb", ")", ";", ";", "insn", "=", "next", ")", "{", "int", "at_end", ";", "rtx_insn", "*", "delete_this", "=", "NULL", ";", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "{", "enum", "attr_type", "type", "=", "get_attr_type", "(", "insn", ")", ";", "if", "(", "type", "==", "TYPE_STALL", ")", "{", "gcc_assert", "(", "n_filled", "==", "0", ")", ";", "delete_this", "=", "insn", ";", "}", "else", "{", "if", "(", "type", "==", "TYPE_DSP32", "||", "type", "==", "TYPE_DSP32SHIFTIMM", ")", "slot", "[", "0", "]", "=", "insn", ";", "else", "if", "(", "slot", "[", "1", "]", "==", "NULL_RTX", ")", "slot", "[", "1", "]", "=", "insn", ";", "else", "slot", "[", "2", "]", "=", "insn", ";", "n_filled", "++", ";", "}", "}", "next", "=", "NEXT_INSN", "(", "insn", ")", ";", "while", "(", "next", "&&", "insn", "!=", "BB_END", "(", "bb", ")", "&&", "!", "(", "INSN_P", "(", "next", ")", "&&", "GET_CODE", "(", "PATTERN", "(", "next", ")", ")", "!=", "USE", "&&", "GET_CODE", "(", "PATTERN", "(", "next", ")", ")", "!=", "CLOBBER", ")", ")", "{", "insn", "=", "next", ";", "next", "=", "NEXT_INSN", "(", "insn", ")", ";", "}", "at_end", "=", "insn", "==", "BB_END", "(", "bb", ")", ";", "if", "(", "delete_this", "==", "NULL_RTX", "&&", "(", "at_end", "||", "GET_MODE", "(", "next", ")", "==", "TImode", ")", ")", "{", "if", "(", "(", "n_filled", "<", "2", "||", "!", "gen_one_bundle", "(", "slot", ")", ")", "&&", "slot", "[", "0", "]", "!=", "NULL_RTX", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "slot", "[", "0", "]", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "SET", "&&", "GET_CODE", "(", "SET_SRC", "(", "pat", ")", ")", "==", "UNSPEC", "&&", "XINT", "(", "SET_SRC", "(", "pat", ")", ",", "1", ")", "==", "UNSPEC_32BIT", ")", "{", "SET_SRC", "(", "pat", ")", "=", "XVECEXP", "(", "SET_SRC", "(", "pat", ")", ",", "0", ",", "0", ")", ";", "INSN_CODE", "(", "slot", "[", "0", "]", ")", "=", "-", "1", ";", "df_insn_rescan", "(", "slot", "[", "0", "]", ")", ";", "}", "}", "n_filled", "=", "0", ";", "slot", "[", "0", "]", "=", "slot", "[", "1", "]", "=", "slot", "[", "2", "]", "=", "NULL", ";", "}", "if", "(", "delete_this", "!=", "NULL_RTX", ")", "delete_insn", "(", "delete_this", ")", ";", "if", "(", "at_end", ")", "break", ";", "}", "}", "}", ""], "natrual_language": ["Go", "through", "all", "insns", ",", "and", "use", "the", "information", "generated", "during", "scheduling", "to", "generate", "SEQUENCEs", "to", "represent", "bundles", "of", "instructions", "issued", "simultaneously", "."], "TS_V_token": ["bfin", "3", "0", "0", "1", "2", "0", "0", "1", "1", "2", "2", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0", "1", "2"], "File": "bfin", "Func": "bfin_gen_bundles", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33919, "Length": 393}
{"ground_truth": ["", "rtx", "bfin_gen_compare", "(", "rtx", "cmp", ",", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ")", "{", "enum", "rtx_code", "code1", ",", "code2", ";", "rtx", "op0", "=", "XEXP", "(", "cmp", ",", "0", ")", ",", "op1", "=", "XEXP", "(", "cmp", ",", "1", ")", ";", "rtx", "tem", "=", "bfin_cc_rtx", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "cmp", ")", ";", "if", "(", "GET_MODE", "(", "op0", ")", "==", "BImode", ")", "{", "gcc_assert", "(", "(", "code", "==", "NE", "||", "code", "==", "EQ", ")", "&&", "op1", "==", "const0_rtx", ")", ";", "tem", "=", "op0", ",", "code2", "=", "code", ";", "}", "else", "{", "switch", "(", "code", ")", "{", "case", "EQ", ":", "case", "LT", ":", "case", "LE", ":", "case", "LEU", ":", "case", "LTU", ":", "code1", "=", "code", ";", "code2", "=", "NE", ";", "break", ";", "default", ":", "code1", "=", "reverse_condition", "(", "code", ")", ";", "code2", "=", "EQ", ";", "break", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "tem", ",", "gen_rtx_fmt_ee", "(", "code1", ",", "BImode", ",", "op0", ",", "op1", ")", ")", ")", ";", "}", "return", "gen_rtx_fmt_ee", "(", "code2", ",", "BImode", ",", "tem", ",", "CONST0_RTX", "(", "BImode", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "rtl", "for", "a", "comparison", "operation", "CMP", "in", "mode", "MODE", ".", "Operands", "have", "been", "stored", "in", "bfin_compare_op0", "and", "bfin_compare_op1", "already", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin", "Func": "bfin_gen_compare", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33920, "Length": 170}
{"ground_truth": ["", "static", "tree", "bfin_handle_l1_data_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "ARG_UNUSED", "(", "args", ")", ",", "int", "ARG_UNUSED", "(", "flags", ")", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "decl", "=", "*", "node", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "!=", "VAR_DECL", ")", "{", "error", "(", "\"%qE attribute only applies to variables\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "if", "(", "current_function_decl", "!=", "NULL_TREE", "&&", "!", "TREE_STATIC", "(", "decl", ")", ")", "{", "error", "(", "\"%qE attribute cannot be specified for local variables\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "{", "const", "char", "*", "section_name", ";", "if", "(", "strcmp", "(", "IDENTIFIER_POINTER", "(", "name", ")", ",", "\"l1_data\"", ")", "==", "0", ")", "section_name", "=", "\".l1.data\"", ";", "else", "if", "(", "strcmp", "(", "IDENTIFIER_POINTER", "(", "name", ")", ",", "\"l1_data_A\"", ")", "==", "0", ")", "section_name", "=", "\".l1.data.A\"", ";", "else", "if", "(", "strcmp", "(", "IDENTIFIER_POINTER", "(", "name", ")", ",", "\"l1_data_B\"", ")", "==", "0", ")", "section_name", "=", "\".l1.data.B\"", ";", "else", "gcc_unreachable", "(", ")", ";", "if", "(", "DECL_SECTION_NAME", "(", "decl", ")", "!=", "NULL", "&&", "strcmp", "(", "DECL_SECTION_NAME", "(", "decl", ")", ",", "section_name", ")", "!=", "0", ")", "{", "error", "(", "\"section of %q+D conflicts with previous declaration\"", ",", "decl", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "set_decl_section_name", "(", "decl", ",", "section_name", ")", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "l1_data", "''", ",", "``", "l1_data_A", "''", "or", "``", "l1_data_B", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["bfin", "\"%qE attribute only applies to variables\"", "\"%qE attribute cannot be specified for local variables\"", "\"l1_data\"", "0", "\".l1.data\"", "\"l1_data_A\"", "0", "\".l1.data.A\"", "\"l1_data_B\"", "0", "\".l1.data.B\"", "0", "\"section of %q+D conflicts with previous declaration\""], "File": "bfin", "Func": "bfin_handle_l1_data_attribute", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33921, "Length": 200}
{"ground_truth": ["", "static", "tree", "bfin_handle_l1_text_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "ARG_UNUSED", "(", "args", ")", ",", "int", "ARG_UNUSED", "(", "flags", ")", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "decl", "=", "*", "node", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "!=", "FUNCTION_DECL", ")", "{", "error", "(", "\"%qE attribute only applies to functions\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "if", "(", "DECL_SECTION_NAME", "(", "decl", ")", "!=", "NULL", "&&", "strcmp", "(", "DECL_SECTION_NAME", "(", "decl", ")", ",", "\".l1.text\"", ")", "!=", "0", ")", "{", "error", "(", "\"section of %q+D conflicts with previous declaration\"", ",", "decl", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "set_decl_section_name", "(", "decl", ",", "\".l1.text\"", ")", ";", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "l1_text", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["bfin", "\"%qE attribute only applies to functions\"", "\".l1.text\"", "0", "\"section of %q+D conflicts with previous declaration\"", "\".l1.text\""], "File": "bfin", "Func": "bfin_handle_l1_text_attribute", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33922, "Length": 105}
{"ground_truth": ["", "static", "tree", "bfin_handle_l2_attribute", "(", "tree", "*", "node", ",", "tree", "ARG_UNUSED", "(", "name", ")", ",", "tree", "ARG_UNUSED", "(", "args", ")", ",", "int", "ARG_UNUSED", "(", "flags", ")", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "decl", "=", "*", "node", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "{", "if", "(", "DECL_SECTION_NAME", "(", "decl", ")", "!=", "NULL", "&&", "strcmp", "(", "DECL_SECTION_NAME", "(", "decl", ")", ",", "\".l2.text\"", ")", "!=", "0", ")", "{", "error", "(", "\"section of %q+D conflicts with previous declaration\"", ",", "decl", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "set_decl_section_name", "(", "decl", ",", "\".l2.text\"", ")", ";", "}", "else", "if", "(", "TREE_CODE", "(", "decl", ")", "==", "VAR_DECL", ")", "{", "if", "(", "DECL_SECTION_NAME", "(", "decl", ")", "!=", "NULL", "&&", "strcmp", "(", "DECL_SECTION_NAME", "(", "decl", ")", ",", "\".l2.data\"", ")", "!=", "0", ")", "{", "error", "(", "\"section of %q+D conflicts with previous declaration\"", ",", "decl", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "set_decl_section_name", "(", "decl", ",", "\".l2.data\"", ")", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "l2", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["bfin", "\".l2.text\"", "0", "\"section of %q+D conflicts with previous declaration\"", "\".l2.text\"", "\".l2.data\"", "0", "\"section of %q+D conflicts with previous declaration\"", "\".l2.data\""], "File": "bfin", "Func": "bfin_handle_l2_attribute", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33923, "Length": 150}
{"ground_truth": ["", "static", "tree", "bfin_handle_longcall_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", "ATTRIBUTE_UNUSED", ",", "int", "flags", "ATTRIBUTE_UNUSED", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "FUNCTION_TYPE", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "FIELD_DECL", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "TYPE_DECL", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute only applies to functions\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "if", "(", "(", "strcmp", "(", "IDENTIFIER_POINTER", "(", "name", ")", ",", "\"longcall\"", ")", "==", "0", "&&", "lookup_attribute", "(", "\"shortcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "||", "(", "strcmp", "(", "IDENTIFIER_POINTER", "(", "name", ")", ",", "\"shortcall\"", ")", "==", "0", "&&", "lookup_attribute", "(", "\"longcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"cannot apply both % and % attributes \"", "\"to the same function\"", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "longcall", "''", "or", "``", "shortcall", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["bfin", "\"%qE attribute only applies to functions\"", "\"longcall\"", "0", "\"shortcall\"", "\"shortcall\"", "0", "\"longcall\"", "\"cannot apply both % and % attributes \"", "\"to the same function\""], "File": "bfin", "Func": "bfin_handle_longcall_attribute", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33924, "Length": 137}
{"ground_truth": ["", "void", "bfin_hardware_loop", "(", "void", ")", "{", "cfun", "->", "machine", "->", "has_hardware_loops", "++", ";", "}", ""], "natrual_language": ["Increment", "the", "counter", "for", "the", "number", "of", "loop", "instructions", "in", "the", "current", "function", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_hardware_loop", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33925, "Length": 14}
{"ground_truth": ["", "static", "bool", "bfin_hard_regno_mode_ok", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "enum", "reg_class", "rclass", "=", "REGNO_REG_CLASS", "(", "regno", ")", ";", "if", "(", "mode", "==", "CCmode", ")", "return", "false", ";", "if", "(", "mode", "==", "V2HImode", ")", "return", "D_REGNO_P", "(", "regno", ")", ";", "if", "(", "rclass", "==", "CCREGS", ")", "return", "mode", "==", "BImode", ";", "if", "(", "mode", "==", "PDImode", "||", "mode", "==", "V2PDImode", ")", "return", "regno", "==", "REG_A0", "||", "regno", "==", "REG_A1", ";", "if", "(", "mode", "==", "DImode", ")", "return", "regno", "<", "REG_M3", ";", "if", "(", "mode", "==", "SImode", "&&", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "PROLOGUE_REGS", "]", ",", "regno", ")", ")", "return", "true", ";", "return", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "MOST_REGS", "]", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_HARD_REGNO_MODE_OK", ".", "Do", "not", "allow", "to", "store", "a", "value", "in", "REG_CC", "for", "any", "mode", ".", "Do", "not", "allow", "to", "store", "value", "in", "pregs", "if", "mode", "is", "not", "SI", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_hard_regno_mode_ok", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33926, "Length": 114}
{"ground_truth": ["", "static", "unsigned", "int", "bfin_hard_regno_nregs", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "mode", "==", "PDImode", "&&", "(", "regno", "==", "REG_A0", "||", "regno", "==", "REG_A1", ")", ")", "return", "1", ";", "if", "(", "mode", "==", "V2PDImode", "&&", "(", "regno", "==", "REG_A0", "||", "regno", "==", "REG_A1", ")", ")", "return", "2", ";", "return", "CLASS_MAX_NREGS", "(", "GENERAL_REGS", ",", "mode", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_HARD_REGNO_NREGS", "."], "TS_V_token": ["bfin", "1", "2"], "File": "bfin", "Func": "bfin_hard_regno_nregs", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33927, "Length": 60}
{"ground_truth": ["", "int", "bfin_hard_regno_rename_ok", "(", "unsigned", "int", "old_reg", "ATTRIBUTE_UNUSED", ",", "unsigned", "int", "new_reg", ")", "{", "if", "(", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", "!=", "SUBROUTINE", "&&", "!", "df_regs_ever_live_p", "(", "new_reg", ")", ")", "return", "0", ";", "return", "1", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "register", "OLD_REG", "can", "be", "renamed", "to", "register", "NEW_REG", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin", "Func": "bfin_hard_regno_rename_ok", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33928, "Length": 38}
{"ground_truth": ["", "HOST_WIDE_INT", "bfin_initial_elimination_offset", "(", "int", "from", ",", "int", "to", ")", "{", "HOST_WIDE_INT", "offset", "=", "0", ";", "if", "(", "from", "==", "ARG_POINTER_REGNUM", ")", "offset", "=", "n_regs_saved_by_prologue", "(", ")", "*", "4", ";", "if", "(", "to", "==", "STACK_POINTER_REGNUM", ")", "{", "if", "(", "crtl", "->", "outgoing_args_size", ">=", "FIXED_STACK_AREA", ")", "offset", "+=", "crtl", "->", "outgoing_args_size", ";", "else", "if", "(", "crtl", "->", "outgoing_args_size", ")", "offset", "+=", "FIXED_STACK_AREA", ";", "offset", "+=", "get_frame_size", "(", ")", ";", "}", "return", "offset", ";", "}", ""], "natrual_language": ["Return", "the", "offset", "between", "two", "registers", ",", "one", "to", "be", "eliminated", ",", "and", "the", "other", "its", "replacement", ",", "at", "the", "start", "of", "a", "routine", "."], "TS_V_token": ["bfin", "0", "4"], "File": "bfin", "Func": "bfin_initial_elimination_offset", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33929, "Length": 72}
{"ground_truth": ["", "static", "int", "bfin_issue_rate", "(", "void", ")", "{", "return", "3", ";", "}", ""], "natrual_language": ["Implement", "TARGET_SCHED_ISSUE_RATE", "."], "TS_V_token": ["bfin", "3"], "File": "bfin", "Func": "bfin_issue_rate", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33930, "Length": 11}
{"ground_truth": ["", "static", "bool", "bfin_legitimate_address_p", "(", "machine_mode", "mode", ",", "rtx", "x", ",", "bool", "strict", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "REG", ":", "if", "(", "bfin_valid_reg_p", "(", "REGNO", "(", "x", ")", ",", "strict", ",", "mode", ",", "MEM", ")", ")", "return", "true", ";", "break", ";", "case", "PLUS", ":", "if", "(", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ",", "mode", ",", "PLUS", ")", "&&", "(", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "==", "UNSPEC", "&&", "mode", "==", "SImode", ")", "||", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "==", "CONST_INT", "&&", "bfin_valid_add", "(", "mode", ",", "INTVAL", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", ")", ")", ")", "return", "true", ";", "break", ";", "case", "POST_INC", ":", "case", "POST_DEC", ":", "if", "(", "LEGITIMATE_MODE_FOR_AUTOINC_P", "(", "mode", ")", "&&", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ",", "mode", ",", "POST_INC", ")", ")", "return", "true", ";", "break", ";", "case", "PRE_DEC", ":", "if", "(", "LEGITIMATE_MODE_FOR_AUTOINC_P", "(", "mode", ")", "&&", "XEXP", "(", "x", ",", "0", ")", "==", "stack_pointer_rtx", "&&", "REG_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "&&", "bfin_valid_reg_p", "(", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", ",", "strict", ",", "mode", ",", "PRE_DEC", ")", ")", "return", "true", ";", "break", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Recognize", "an", "RTL", "expression", "that", "is", "a", "valid", "memory", "address", "for", "an", "instruction", ".", "The", "MODE", "argument", "is", "the", "machine", "mode", "for", "the", "MEM", "expression", "that", "wants", "to", "use", "this", "address", ".", "Blackfin", "addressing", "modes", "are", "as", "follows", ":", "[", "preg", "]", "[", "preg", "+", "imm16", "]", "B", "[", "Preg", "+", "uimm15", "]", "W", "[", "Preg", "+", "uimm16m2", "]", "[", "Preg", "+", "uimm17m4", "]", "[", "preg++", "]", "[", "preg", "--", "]", "[", "--", "sp", "]"], "TS_V_token": ["bfin", "0", "0", "1", "1", "1", "0", "0", "0", "0", "0"], "File": "bfin", "Func": "bfin_legitimate_address_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33931, "Length": 243}
{"ground_truth": ["", "static", "bool", "bfin_legitimate_constant_p", "(", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "rtx", "x", ")", "{", "rtx", "sym", ";", "HOST_WIDE_INT", "offset", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "CONST", ")", "return", "true", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", ";", "sym", "=", "XEXP", "(", "x", ",", "0", ")", ";", "x", "=", "XEXP", "(", "x", ",", "1", ")", ";", "if", "(", "GET_CODE", "(", "sym", ")", "!=", "SYMBOL_REF", "||", "GET_CODE", "(", "x", ")", "!=", "CONST_INT", ")", "return", "true", ";", "offset", "=", "INTVAL", "(", "x", ")", ";", "if", "(", "SYMBOL_REF_DECL", "(", "sym", ")", "==", "0", ")", "return", "true", ";", "if", "(", "offset", "<", "0", "||", "offset", ">=", "int_size_in_bytes", "(", "TREE_TYPE", "(", "SYMBOL_REF_DECL", "(", "sym", ")", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Ensure", "that", "for", "any", "constant", "of", "the", "form", "symbol", "+", "offset", ",", "the", "offset", "remains", "within", "the", "object", ".", "Any", "other", "constants", "are", "ok", ".", "This", "ensures", "that", "flat", "binaries", "never", "have", "to", "deal", "with", "relocations", "crossing", "section", "boundaries", "."], "TS_V_token": ["bfin", "0", "0", "1", "0", "0"], "File": "bfin", "Func": "bfin_legitimate_constant_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33932, "Length": 131}
{"ground_truth": ["", "static", "rtx", "bfin_load_pic_reg", "(", "rtx", "dest", ")", "{", "rtx", "addr", ";", "cgraph_node", "*", "local_info_node", "=", "cgraph_node", "::", "local_info_node", "(", "current_function_decl", ")", ";", "if", "(", "local_info_node", "&&", "local_info_node", "->", "local", ")", "return", "pic_offset_table_rtx", ";", "if", "(", "OPTION_SET_P", "(", "bfin_library_id", ")", ")", "addr", "=", "plus_constant", "(", "Pmode", ",", "pic_offset_table_rtx", ",", "-", "4", "-", "bfin_library_id", "*", "4", ")", ";", "else", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "pic_offset_table_rtx", ",", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ",", "UNSPEC_LIBRARY_OFFSET", ")", ")", ";", "emit_insn", "(", "gen_movsi", "(", "dest", ",", "gen_rtx_MEM", "(", "Pmode", ",", "addr", ")", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Used", "while", "emitting", "the", "prologue", "to", "generate", "code", "to", "load", "the", "correct", "value", "into", "the", "PIC", "register", ",", "which", "is", "passed", "in", "DEST", "."], "TS_V_token": ["bfin", "4", "4", "1"], "File": "bfin", "Func": "bfin_load_pic_reg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33933, "Length": 99}
{"ground_truth": ["", "unsigned", "bfin_local_alignment", "(", "tree", "type", ",", "unsigned", "align", ")", "{", "if", "(", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "gtu_p", "(", "wi", "::", "to_wide", "(", "TYPE_SIZE", "(", "type", ")", ")", ",", "8", ")", "&&", "align", "<", "32", ")", "return", "32", ";", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "local", "variable", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "macro", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["bfin", "8", "32", "32"], "File": "bfin", "Func": "bfin_local_alignment", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33934, "Length": 55}
{"ground_truth": ["", "static", "bool", "bfin_modes_tieable_p", "(", "machine_mode", "mode1", ",", "machine_mode", "mode2", ")", "{", "return", "(", "mode1", "==", "mode2", "||", "(", "(", "GET_MODE_CLASS", "(", "mode1", ")", "==", "MODE_INT", "||", "GET_MODE_CLASS", "(", "mode1", ")", "==", "MODE_FLOAT", ")", "&&", "(", "GET_MODE_CLASS", "(", "mode2", ")", "==", "MODE_INT", "||", "GET_MODE_CLASS", "(", "mode2", ")", "==", "MODE_FLOAT", ")", "&&", "mode1", "!=", "BImode", "&&", "mode2", "!=", "BImode", "&&", "GET_MODE_SIZE", "(", "mode1", ")", "<=", "UNITS_PER_WORD", "&&", "GET_MODE_SIZE", "(", "mode2", ")", "<=", "UNITS_PER_WORD", ")", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_MODES_TIEABLE_P", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_modes_tieable_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33935, "Length": 75}
{"ground_truth": ["", "static", "void", "bfin_option_override", "(", "void", ")", "{", "if", "(", "bfin_cpu_type", "==", "BFIN_CPU_UNKNOWN", ")", "{", "int", "i", ";", "for", "(", "i", "=", "0", ";", "bfin_cpus", "[", "i", "]", ".", "name", "!=", "NULL", ";", "i", "++", ")", "bfin_workarounds", "|=", "bfin_cpus", "[", "i", "]", ".", "workarounds", ";", "bfin_si_revision", "=", "0xffff", ";", "}", "if", "(", "bfin_csync_anomaly", "==", "1", ")", "bfin_workarounds", "|=", "WA_SPECULATIVE_SYNCS", ";", "else", "if", "(", "bfin_csync_anomaly", "==", "0", ")", "bfin_workarounds", "&=", "~", "WA_SPECULATIVE_SYNCS", ";", "if", "(", "bfin_specld_anomaly", "==", "1", ")", "bfin_workarounds", "|=", "WA_SPECULATIVE_LOADS", ";", "else", "if", "(", "bfin_specld_anomaly", "==", "0", ")", "bfin_workarounds", "&=", "~", "WA_SPECULATIVE_LOADS", ";", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", ")", "flag_omit_frame_pointer", "=", "1", ";", "if", "(", "TARGET_FDPIC", ")", "error", "(", "\"%<-mfdpic%> is not supported, please use a bfin-linux-uclibc \"", "\"target\"", ")", ";", "if", "(", "OPTION_SET_P", "(", "bfin_library_id", ")", "&&", "!", "TARGET_ID_SHARED_LIBRARY", ")", "error", "(", "\"%<-mshared-library-id=%> specified without \"", "\"%<-mid-shared-library%>\"", ")", ";", "if", "(", "stack_limit_rtx", "&&", "TARGET_FDPIC", ")", "{", "warning", "(", "0", ",", "\"%<-fstack-limit-%> options are ignored with %<-mfdpic%>; \"", "\"use %<-mstack-check-l1%>\"", ")", ";", "stack_limit_rtx", "=", "NULL_RTX", ";", "}", "if", "(", "stack_limit_rtx", "&&", "TARGET_STACK_CHECK_L1", ")", "error", "(", "\"cannot use multiple stack checking methods together\"", ")", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "TARGET_FDPIC", ")", "error", "(", "\"ID shared libraries and FD-PIC mode cannot be used together\"", ")", ";", "if", "(", "TARGET_SEP_DATA", "&&", "TARGET_ID_SHARED_LIBRARY", ")", "error", "(", "\"cannot specify both %<-msep-data%> and %<-mid-shared-library%>\"", ")", ";", "if", "(", "TARGET_SEP_DATA", ")", "target_flags", "|=", "MASK_ID_SHARED_LIBRARY", "|", "MASK_LEAF_ID_SHARED_LIBRARY", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "flag_pic", "==", "0", ")", "flag_pic", "=", "1", ";", "if", "(", "TARGET_FDPIC", ")", "targetm", ".", "asm_out", ".", "unaligned_op", ".", "si", "=", "0", ";", "if", "(", "flag_pic", "&&", "!", "TARGET_FDPIC", "&&", "!", "TARGET_ID_SHARED_LIBRARY", ")", "flag_pic", "=", "0", ";", "if", "(", "TARGET_MULTICORE", "&&", "bfin_cpu_type", "!=", "BFIN_CPU_BF561", ")", "error", "(", "\"%<-mmulticore%> can only be used with BF561\"", ")", ";", "if", "(", "TARGET_COREA", "&&", "!", "TARGET_MULTICORE", ")", "error", "(", "\"%<-mcorea%> should be used with %<-mmulticore%>\"", ")", ";", "if", "(", "TARGET_COREB", "&&", "!", "TARGET_MULTICORE", ")", "error", "(", "\"%<-mcoreb%> should be used with %<-mmulticore%>\"", ")", ";", "if", "(", "TARGET_COREA", "&&", "TARGET_COREB", ")", "error", "(", "\"%<-mcorea%> and %<-mcoreb%> cannot be used together\"", ")", ";", "flag_schedule_insns", "=", "0", ";", "init_machine_status", "=", "bfin_init_machine_status", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTION_OVERRIDE", "hook", "."], "TS_V_token": ["bfin", "0", "0xffff", "1", "0", "1", "0", "1", "\"%<-mfdpic%> is not supported, please use a bfin-linux-uclibc \"", "\"target\"", "\"%<-mshared-library-id=%> specified without \"", "\"%<-mid-shared-library%>\"", "0", "\"%<-fstack-limit-%> options are ignored with %<-mfdpic%>; \"", "\"use %<-mstack-check-l1%>\"", "\"cannot use multiple stack checking methods together\"", "\"ID shared libraries and FD-PIC mode cannot be used together\"", "\"cannot specify both %<-msep-data%> and %<-mid-shared-library%>\"", "0", "1", "0", "0", "\"%<-mmulticore%> can only be used with BF561\"", "\"%<-mcorea%> should be used with %<-mmulticore%>\"", "\"%<-mcoreb%> should be used with %<-mmulticore%>\"", "\"%<-mcorea%> and %<-mcoreb%> cannot be used together\"", "0"], "File": "bfin", "Func": "bfin_option_override", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33936, "Length": 287}
{"ground_truth": ["", "static", "bool", "bfin_pass_by_reference", "(", "cumulative_args_t", ",", "const", "function_arg_info", "&", "arg", ")", "{", "return", "arg", ".", "type", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "arg", ".", "type", ")", ")", "!=", "INTEGER_CST", ";", "}", ""], "natrual_language": ["Variable", "sized", "types", "are", "passed", "by", "reference", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_pass_by_reference", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33937, "Length": 30}
{"ground_truth": ["", "static", "int", "bfin_register_move_cost", "(", "machine_mode", "mode", ",", "reg_class_t", "class1", ",", "reg_class_t", "class2", ")", "{", "if", "(", "(", "class1", "==", "CCREGS", "&&", "!", "reg_class_subset_p", "(", "class2", ",", "DREGS", ")", ")", "||", "(", "class2", "==", "CCREGS", "&&", "!", "reg_class_subset_p", "(", "class1", ",", "DREGS", ")", ")", ")", "return", "4", ";", "if", "(", "optimize_size", ")", "return", "2", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_INT", ")", "{", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "class1", "]", ",", "REG_A0", ")", "||", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "class1", "]", ",", "REG_A1", ")", "||", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "class2", "]", ",", "REG_A0", ")", "||", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "class2", "]", ",", "REG_A1", ")", ")", "return", "20", ";", "}", "return", "2", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "from", "a", "register", "in", "class", "CLASS1", "to", "one", "in", "class", "CLASS2", ".", "A", "cost", "of", "2", "is", "the", "default", "."], "TS_V_token": ["bfin", "4", "2", "20", "2"], "File": "bfin", "Func": "bfin_register_move_cost", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33938, "Length": 114}
{"ground_truth": ["", "static", "void", "bfin_reorg", "(", "void", ")", "{", "compute_bb_for_insn", "(", ")", ";", "if", "(", "flag_schedule_insns_after_reload", ")", "{", "splitting_for_sched", "=", "1", ";", "split_all_insns", "(", ")", ";", "splitting_for_sched", "=", "0", ";", "add_sched_insns_for_speculation", "(", ")", ";", "timevar_push", "(", "TV_SCHED2", ")", ";", "if", "(", "flag_selective_scheduling2", "&&", "!", "maybe_skip_selective_scheduling", "(", ")", ")", "run_selective_scheduling", "(", ")", ";", "else", "schedule_insns", "(", ")", ";", "timevar_pop", "(", "TV_SCHED2", ")", ";", "bfin_gen_bundles", "(", ")", ";", "}", "df_analyze", "(", ")", ";", "if", "(", "cfun", "->", "machine", "->", "has_hardware_loops", ")", "bfin_reorg_loops", "(", ")", ";", "workaround_speculation", "(", ")", ";", "if", "(", "flag_var_tracking", ")", "{", "timevar_push", "(", "TV_VAR_TRACKING", ")", ";", "variable_tracking_main", "(", ")", ";", "reorder_var_tracking_notes", "(", ")", ";", "timevar_pop", "(", "TV_VAR_TRACKING", ")", ";", "}", "df_finish_pass", "(", "false", ")", ";", "workaround_rts_anomaly", "(", ")", ";", "}", ""], "natrual_language": ["We", "use", "the", "machine", "specific", "reorg", "pass", "for", "emitting", "CSYNC", "instructions", "after", "conditional", "branches", "as", "needed", ".", "The", "Blackfin", "is", "unusual", "in", "that", "a", "code", "sequence", "like", "if", "cc", "jump", "label", "r0", "=", "(", "p0", ")", "may", "speculatively", "perform", "the", "load", "even", "if", "the", "condition", "is", "n't", "true", ".", "This", "happens", "for", "a", "branch", "that", "is", "predicted", "not", "taken", ",", "because", "the", "pipeline", "is", "n't", "flushed", "or", "stalled", ",", "so", "the", "early", "stages", "of", "the", "following", "instructions", ",", "which", "perform", "the", "memory", "reference", ",", "are", "allowed", "to", "execute", "before", "the", "jump", "condition", "is", "evaluated", ".", "Therefore", ",", "we", "must", "insert", "additional", "instructions", "in", "all", "places", "where", "this", "could", "lead", "to", "incorrect", "behavior", ".", "The", "manual", "recommends", "CSYNC", ",", "while", "VDSP", "seems", "to", "use", "NOPs", "(", "even", "though", "its", "corresponding", "compiler", "option", "is", "named", "CSYNC", ")", ".", "When", "optimizing", "for", "speed", ",", "we", "emit", "NOPs", ",", "which", "seems", "faster", "than", "a", "CSYNC", ".", "When", "optimizing", "for", "size", ",", "we", "turn", "the", "branch", "into", "a", "predicted", "taken", "one", ".", "This", "may", "be", "slower", "due", "to", "mispredicts", ",", "but", "saves", "code", "size", "."], "TS_V_token": ["bfin", "1", "0"], "File": "bfin", "Func": "bfin_reorg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33939, "Length": 119}
{"ground_truth": ["", "static", "void", "bfin_reorg_loops", "(", "void", ")", "{", "reorg_loops", "(", "true", ",", "&", "bfin_doloop_hooks", ")", ";", "}", ""], "natrual_language": ["Run", "from", "machine_dependent_reorg", ",", "this", "pass", "looks", "for", "doloop_end", "insns", "and", "tries", "to", "rewrite", "the", "RTL", "of", "these", "loops", "so", "that", "proper", "Blackfin", "hardware", "loops", "are", "generated", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_reorg_loops", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33940, "Length": 16}
{"ground_truth": ["", "rtx", "bfin_return_addr_rtx", "(", "int", "count", ")", "{", "if", "(", "count", "!=", "0", ")", "return", "const0_rtx", ";", "return", "get_hard_reg_initial_val", "(", "Pmode", ",", "REG_RETS", ")", ";", "}", ""], "natrual_language": ["Return", "the", "value", "of", "the", "return", "address", "for", "the", "frame", "COUNT", "steps", "up", "from", "the", "current", "frame", ",", "after", "the", "prologue", ".", "We", "punt", "for", "everything", "but", "the", "current", "frame", "by", "returning", "const0_rtx", "."], "TS_V_token": ["bfin", "0"], "File": "bfin", "Func": "bfin_return_addr_rtx", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33941, "Length": 25}
{"ground_truth": ["", "static", "bool", "bfin_return_in_memory", "(", "const_tree", "type", ",", "const_tree", "fntype", "ATTRIBUTE_UNUSED", ")", "{", "int", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "return", "size", ">", "2", "*", "UNITS_PER_WORD", "||", "size", "==", "-", "1", ";", "}", ""], "natrual_language": ["Decide", "whether", "a", "type", "should", "be", "returned", "in", "memory", "(", "true", ")", "or", "in", "a", "register", "(", "false", ")", ".", "This", "is", "called", "by", "the", "macro", "RETURN_IN_MEMORY", "."], "TS_V_token": ["bfin", "2", "1"], "File": "bfin", "Func": "bfin_return_in_memory", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33942, "Length": 33}
{"ground_truth": ["", "static", "reg_class_t", "bfin_secondary_reload", "(", "bool", "in_p", ",", "rtx", "x", ",", "reg_class_t", "rclass_i", ",", "machine_mode", "mode", ",", "secondary_reload_info", "*", "sri", ")", "{", "enum", "reg_class", "default_class", "=", "GET_MODE_SIZE", "(", "mode", ")", ">=", "4", "?", "DPREGS", ":", "DREGS", ";", "enum", "reg_class", "x_class", "=", "NO_REGS", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "x", ")", ";", "enum", "reg_class", "rclass", "=", "(", "enum", "reg_class", ")", "rclass_i", ";", "if", "(", "code", "==", "SUBREG", ")", "x", "=", "SUBREG_REG", "(", "x", ")", ",", "code", "=", "GET_CODE", "(", "x", ")", ";", "if", "(", "REG_P", "(", "x", ")", ")", "{", "int", "regno", "=", "REGNO", "(", "x", ")", ";", "if", "(", "regno", ">=", "FIRST_PSEUDO_REGISTER", ")", "regno", "=", "reg_renumber", "[", "regno", "]", ";", "if", "(", "regno", "==", "-", "1", ")", "code", "=", "MEM", ";", "else", "x_class", "=", "REGNO_REG_CLASS", "(", "regno", ")", ";", "}", "if", "(", "fp_plus_const_operand", "(", "x", ",", "mode", ")", ")", "{", "rtx", "op2", "=", "XEXP", "(", "x", ",", "1", ")", ";", "int", "large_constant_p", "=", "!", "satisfies_constraint_Ks7", "(", "op2", ")", ";", "if", "(", "rclass", "==", "PREGS", "||", "rclass", "==", "PREGS_CLOBBERED", ")", "return", "NO_REGS", ";", "if", "(", "(", "rclass", "==", "DREGS", "||", "rclass", "==", "DPREGS", ")", "&&", "!", "large_constant_p", ")", "return", "NO_REGS", ";", "sri", "->", "icode", "=", "CODE_FOR_reload_insi", ";", "return", "NO_REGS", ";", "}", "if", "(", "x_class", "==", "AREGS", "||", "x_class", "==", "EVEN_AREGS", "||", "x_class", "==", "ODD_AREGS", ")", "return", "(", "rclass", "==", "DREGS", "||", "rclass", "==", "AREGS", "||", "rclass", "==", "EVEN_AREGS", "||", "rclass", "==", "ODD_AREGS", "?", "NO_REGS", ":", "DREGS", ")", ";", "if", "(", "rclass", "==", "AREGS", "||", "rclass", "==", "EVEN_AREGS", "||", "rclass", "==", "ODD_AREGS", ")", "{", "if", "(", "code", "==", "MEM", ")", "{", "sri", "->", "icode", "=", "in_p", "?", "CODE_FOR_reload_inpdi", ":", "CODE_FOR_reload_outpdi", ";", "return", "NO_REGS", ";", "}", "if", "(", "x", "!=", "const0_rtx", "&&", "x_class", "!=", "DREGS", ")", "{", "return", "DREGS", ";", "}", "else", "return", "NO_REGS", ";", "}", "if", "(", "rclass", "==", "CCREGS", "&&", "x_class", "!=", "DREGS", ")", "return", "DREGS", ";", "if", "(", "x_class", "==", "CCREGS", "&&", "rclass", "!=", "DREGS", ")", "return", "DREGS", ";", "if", "(", "code", "==", "MEM", ")", "if", "(", "!", "reg_class_subset_p", "(", "rclass", ",", "default_class", ")", ")", "return", "default_class", ";", "return", "NO_REGS", ";", "}", ""], "natrual_language": ["Inform", "reload", "about", "cases", "where", "moving", "X", "with", "a", "mode", "MODE", "to", "a", "register", "in", "RCLASS", "requires", "an", "extra", "scratch", "register", ".", "Return", "the", "class", "needed", "for", "the", "scratch", "register", "."], "TS_V_token": ["bfin", "4", "1", "1"], "File": "bfin", "Func": "bfin_secondary_reload", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33943, "Length": 342}
{"ground_truth": ["", "static", "rtx", "bfin_struct_value_rtx", "(", "tree", "fntype", "ATTRIBUTE_UNUSED", ",", "int", "incoming", "ATTRIBUTE_UNUSED", ")", "{", "return", "gen_rtx_REG", "(", "Pmode", ",", "REG_P0", ")", ";", "}", ""], "natrual_language": ["Register", "in", "which", "address", "to", "store", "a", "structure", "value", "is", "passed", "to", "a", "function", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_struct_value_rtx", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33944, "Length": 22}
{"ground_truth": ["", "static", "void", "bfin_trampoline_init", "(", "rtx", "m_tramp", ",", "tree", "fndecl", ",", "rtx", "chain_value", ")", "{", "rtx", "t1", "=", "copy_to_reg", "(", "XEXP", "(", "DECL_RTL", "(", "fndecl", ")", ",", "0", ")", ")", ";", "rtx", "t2", "=", "copy_to_reg", "(", "chain_value", ")", ";", "rtx", "mem", ";", "int", "i", "=", "0", ";", "emit_block_move", "(", "m_tramp", ",", "assemble_trampoline_template", "(", ")", ",", "GEN_INT", "(", "TRAMPOLINE_SIZE", ")", ",", "BLOCK_OP_NORMAL", ")", ";", "if", "(", "TARGET_FDPIC", ")", "{", "rtx", "a", "=", "force_reg", "(", "Pmode", ",", "plus_constant", "(", "Pmode", ",", "XEXP", "(", "m_tramp", ",", "0", ")", ",", "8", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "Pmode", ",", "0", ")", ";", "emit_move_insn", "(", "mem", ",", "a", ")", ";", "i", "=", "8", ";", "}", "mem", "=", "adjust_address", "(", "m_tramp", ",", "HImode", ",", "i", "+", "2", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_lowpart", "(", "HImode", ",", "t1", ")", ")", ";", "emit_insn", "(", "gen_ashrsi3", "(", "t1", ",", "t1", ",", "GEN_INT", "(", "16", ")", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "HImode", ",", "i", "+", "6", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_lowpart", "(", "HImode", ",", "t1", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "HImode", ",", "i", "+", "10", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_lowpart", "(", "HImode", ",", "t2", ")", ")", ";", "emit_insn", "(", "gen_ashrsi3", "(", "t2", ",", "t2", ",", "GEN_INT", "(", "16", ")", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "HImode", ",", "i", "+", "14", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_lowpart", "(", "HImode", ",", "t2", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "RTL", "insns", "to", "initialize", "the", "variable", "parts", "of", "a", "trampoline", "at", "M_TRAMP", ".", "FNDECL", "is", "the", "target", "function", ".", "CHAIN_VALUE", "is", "an", "RTX", "for", "the", "static", "chain", "value", "for", "the", "function", "."], "TS_V_token": ["bfin", "0", "0", "0", "8", "0", "8", "2", "16", "6", "10", "16", "14"], "File": "bfin", "Func": "bfin_trampoline_init", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33945, "Length": 243}
{"ground_truth": ["", "static", "bool", "bfin_valid_add", "(", "machine_mode", "mode", ",", "HOST_WIDE_INT", "value", ")", "{", "unsigned", "HOST_WIDE_INT", "v", "=", "value", ">", "0", "?", "value", ":", "-", "value", ";", "int", "sz", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "int", "shift", "=", "sz", "==", "1", "?", "0", ":", "sz", "==", "2", "?", "1", ":", "2", ";", "if", "(", "value", ">", "0", "&&", "sz", "==", "8", ")", "v", "+=", "4", ";", "return", "(", "v", "&", "~", "(", "0x7fff", "<<", "shift", ")", ")", "==", "0", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "legitimate", "memory", "address", "for", "a", "memory", "operand", "of", "mode", "MODE", ".", "Return", "false", "if", "not", "."], "TS_V_token": ["bfin", "0", "1", "0", "2", "1", "2", "0", "8", "4", "0x7fff", "0"], "File": "bfin", "Func": "bfin_valid_add", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33946, "Length": 78}
{"ground_truth": ["", "static", "bool", "bfin_vector_mode_supported_p", "(", "machine_mode", "mode", ")", "{", "return", "mode", "==", "V2HImode", ";", "}", ""], "natrual_language": ["Implements", "target", "hook", "vector_mode_supported_p", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "bfin_vector_mode_supported_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33947, "Length": 14}
{"ground_truth": ["", "static", "int", "branch_dest", "(", "rtx_insn", "*", "branch", ")", "{", "rtx", "dest", ";", "int", "dest_uid", ";", "rtx", "pat", "=", "PATTERN", "(", "branch", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", "pat", "=", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", ";", "dest", "=", "SET_SRC", "(", "pat", ")", ";", "if", "(", "GET_CODE", "(", "dest", ")", "==", "IF_THEN_ELSE", ")", "dest", "=", "XEXP", "(", "dest", ",", "1", ")", ";", "dest", "=", "XEXP", "(", "dest", ",", "0", ")", ";", "dest_uid", "=", "INSN_UID", "(", "dest", ")", ";", "return", "INSN_ADDRESSES", "(", "dest_uid", ")", ";", "}", ""], "natrual_language": ["Return", "the", "destination", "address", "of", "BRANCH", ".", "We", "need", "to", "use", "this", "instead", "of", "get_attr_length", ",", "because", "the", "cbranch_with_nops", "pattern", "conservatively", "sets", "its", "length", "to", "6", ",", "and", "we", "still", "prefer", "to", "use", "shorter", "sequences", "."], "TS_V_token": ["bfin", "0", "0", "1", "0"], "File": "bfin", "Func": "branch_dest", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33948, "Length": 91}
{"ground_truth": ["", "static", "int", "cbranch_predicted_taken_p", "(", "rtx", "insn", ")", "{", "rtx", "x", "=", "find_reg_note", "(", "insn", ",", "REG_BR_PROB", ",", "0", ")", ";", "if", "(", "x", ")", "{", "return", "profile_probability", "::", "from_reg_br_prob_note", "(", "XINT", "(", "x", ",", "0", ")", ")", ">=", "profile_probability", "::", "even", "(", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "INSN", "is", "annotated", "with", "a", "REG_BR_PROB", "note", "that", "indicates", "it", "'s", "a", "branch", "that", "'s", "predicted", "taken", "."], "TS_V_token": ["bfin", "0", "0", "0"], "File": "bfin", "Func": "cbranch_predicted_taken_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33949, "Length": 49}
{"ground_truth": ["", "static", "void", "do_link", "(", "rtx", "spreg", ",", "HOST_WIDE_INT", "frame_size", ",", "bool", "all", ")", "{", "frame_size", "+=", "arg_area_size", "(", ")", ";", "if", "(", "all", "||", "stack_frame_needed_p", "(", ")", "||", "(", "must_save_rets_p", "(", ")", "&&", "must_save_fp_p", "(", ")", ")", ")", "emit_link_insn", "(", "spreg", ",", "frame_size", ")", ";", "else", "{", "if", "(", "must_save_rets_p", "(", ")", ")", "{", "rtx", "pat", "=", "gen_movsi", "(", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "spreg", ")", ")", ",", "bfin_rets_rtx", ")", ";", "rtx_insn", "*", "insn", "=", "emit_insn", "(", "pat", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "if", "(", "must_save_fp_p", "(", ")", ")", "{", "rtx", "pat", "=", "gen_movsi", "(", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "spreg", ")", ")", ",", "gen_rtx_REG", "(", "Pmode", ",", "REG_FP", ")", ")", ";", "rtx_insn", "*", "insn", "=", "emit_insn", "(", "pat", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "add_to_reg", "(", "spreg", ",", "-", "frame_size", ",", "1", ",", "0", ")", ";", "}", "}", ""], "natrual_language": ["Save", "RETS", "and", "FP", ",", "and", "allocate", "a", "stack", "frame", ".", "ALL", "is", "true", "if", "the", "function", "must", "save", "all", "its", "registers", "(", "true", "only", "for", "certain", "interrupt", "handlers", ")", "."], "TS_V_token": ["bfin", "1", "1", "1", "0"], "File": "bfin", "Func": "do_link", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33950, "Length": 154}
{"ground_truth": ["", "static", "void", "do_unlink", "(", "rtx", "spreg", ",", "HOST_WIDE_INT", "frame_size", ",", "bool", "all", ",", "int", "epilogue_p", ")", "{", "frame_size", "+=", "arg_area_size", "(", ")", ";", "if", "(", "stack_frame_needed_p", "(", ")", ")", "emit_insn", "(", "gen_unlink", "(", ")", ")", ";", "else", "{", "rtx", "postinc", "=", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_POST_INC", "(", "Pmode", ",", "spreg", ")", ")", ";", "add_to_reg", "(", "spreg", ",", "frame_size", ",", "0", ",", "epilogue_p", ")", ";", "if", "(", "all", "||", "must_save_fp_p", "(", ")", ")", "{", "rtx", "fpreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_FP", ")", ";", "emit_move_insn", "(", "fpreg", ",", "postinc", ")", ";", "emit_use", "(", "fpreg", ")", ";", "}", "if", "(", "all", "||", "must_save_rets_p", "(", ")", ")", "{", "emit_move_insn", "(", "bfin_rets_rtx", ",", "postinc", ")", ";", "emit_use", "(", "bfin_rets_rtx", ")", ";", "}", "}", "}", ""], "natrual_language": ["Like", "do_link", ",", "but", "used", "for", "epilogues", "to", "deallocate", "the", "stack", "frame", "."], "TS_V_token": ["bfin", "0"], "File": "bfin", "Func": "do_unlink", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33951, "Length": 120}
{"ground_truth": ["", "int", "effective_address_32bit_p", "(", "rtx", "op", ",", "machine_mode", "mode", ")", "{", "HOST_WIDE_INT", "offset", ";", "mode", "=", "GET_MODE", "(", "op", ")", ";", "op", "=", "XEXP", "(", "op", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "op", ")", "!=", "PLUS", ")", "{", "gcc_assert", "(", "REG_P", "(", "op", ")", "||", "GET_CODE", "(", "op", ")", "==", "POST_INC", "||", "GET_CODE", "(", "op", ")", "==", "PRE_DEC", "||", "GET_CODE", "(", "op", ")", "==", "POST_DEC", ")", ";", "return", "0", ";", "}", "if", "(", "GET_CODE", "(", "XEXP", "(", "op", ",", "1", ")", ")", "==", "UNSPEC", ")", "return", "1", ";", "offset", "=", "INTVAL", "(", "XEXP", "(", "op", ",", "1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "1", ")", "return", "1", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "4", ")", "{", "if", "(", "XEXP", "(", "op", ",", "0", ")", "==", "frame_pointer_rtx", ")", "return", "offset", "<", "-", "128", "||", "offset", ">", "60", ";", "return", "offset", "<", "0", "||", "offset", ">", "60", ";", "}", "return", "offset", "<", "0", "||", "offset", ">", "30", ";", "}", ""], "natrual_language": ["This", "predicate", "is", "used", "to", "compute", "the", "length", "of", "a", "load/store", "insn", ".", "OP", "is", "a", "MEM", "rtx", ",", "we", "return", "nonzero", "if", "its", "addressing", "mode", "requires", "a", "32", "bit", "instruction", "."], "TS_V_token": ["bfin", "0", "0", "1", "1", "1", "1", "1", "4", "0", "128", "60", "0", "60", "0", "30"], "File": "bfin", "Func": "effective_address_32bit_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33952, "Length": 164}
{"ground_truth": ["", "static", "void", "emit_link_insn", "(", "rtx", "spreg", ",", "HOST_WIDE_INT", "frame_size", ")", "{", "HOST_WIDE_INT", "link_size", "=", "frame_size", ";", "rtx_insn", "*", "insn", ";", "int", "i", ";", "if", "(", "link_size", ">", "262140", ")", "link_size", "=", "262140", ";", "insn", "=", "emit_insn", "(", "gen_link", "(", "GEN_INT", "(", "-", "8", "-", "link_size", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "for", "(", "i", "=", "0", ";", "i", "<", "XVECLEN", "(", "PATTERN", "(", "insn", ")", ",", "0", ")", ";", "i", "++", ")", "{", "rtx", "set", "=", "XVECEXP", "(", "PATTERN", "(", "insn", ")", ",", "0", ",", "i", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "RTX_FRAME_RELATED_P", "(", "set", ")", "=", "1", ";", "}", "frame_size", "-=", "link_size", ";", "if", "(", "frame_size", ">", "0", ")", "{", "rtx", "tmpreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P1", ")", ";", "frame_related_constant_load", "(", "tmpreg", ",", "-", "frame_size", ",", "TRUE", ")", ";", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "tmpreg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Generate", "a", "LINK", "insn", "for", "a", "frame", "sized", "FRAME_SIZE", ".", "If", "this", "constant", "is", "too", "large", ",", "generate", "a", "sequence", "of", "insns", "that", "has", "the", "same", "effect", ".", "SPREG", "contains", "(", "reg", ":", "SI", "REG_SP", ")", "."], "TS_V_token": ["bfin", "262140", "262140", "8", "1", "0", "0", "0", "1", "0", "1"], "File": "bfin", "Func": "emit_link_insn", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33953, "Length": 165}
{"ground_truth": ["", "void", "emit_pic_move", "(", "rtx", "*", "operands", ",", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ")", "{", "rtx", "temp", "=", "reload_in_progress", "?", "operands", "[", "0", "]", ":", "gen_reg_rtx", "(", "Pmode", ")", ";", "gcc_assert", "(", "!", "TARGET_FDPIC", "||", "!", "(", "reload_in_progress", "||", "reload_completed", ")", ")", ";", "if", "(", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "MEM", "&&", "SYMBOLIC_CONST", "(", "operands", "[", "1", "]", ")", ")", "operands", "[", "1", "]", "=", "force_reg", "(", "SImode", ",", "operands", "[", "1", "]", ")", ";", "else", "operands", "[", "1", "]", "=", "legitimize_pic_address", "(", "operands", "[", "1", "]", ",", "temp", ",", "TARGET_FDPIC", "?", "OUR_FDPIC_REG", ":", "pic_offset_table_rtx", ")", ";", "}", ""], "natrual_language": ["Emit", "insns", "to", "move", "operands", "[", "1", "]", "into", "operands", "[", "0", "]", "."], "TS_V_token": ["bfin", "0", "0", "1", "1", "1", "1", "1"], "File": "bfin", "Func": "emit_pic_move", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33954, "Length": 98}
{"ground_truth": ["", "static", "void", "expand_interrupt_handler_epilogue", "(", "rtx", "spreg", ",", "e_funkind", "fkind", ",", "bool", "all", ")", "{", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "rtx", "postinc1", "=", "gen_rtx_POST_INC", "(", "SImode", ",", "spreg", ")", ";", "rtx", "postinc", "=", "gen_rtx_MEM", "(", "SImode", ",", "postinc1", ")", ";", "MEM_VOLATILE_P", "(", "postinc", ")", "=", "1", ";", "do_unlink", "(", "spreg", ",", "get_frame_size", "(", ")", ",", "all", ",", "1", ")", ";", "if", "(", "lookup_attribute", "(", "\"nesting\"", ",", "attrs", ")", ")", "{", "rtx", "srcreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "ret_regs", "[", "fkind", "]", ")", ";", "emit_move_insn", "(", "srcreg", ",", "postinc", ")", ";", "}", "if", "(", "!", "crtl", "->", "is_leaf", ")", "all", "=", "true", ";", "expand_epilogue_reg_restore", "(", "spreg", ",", "all", ",", "true", ")", ";", "if", "(", "fkind", "==", "EXCPT_HANDLER", ")", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "GEN_INT", "(", "12", ")", ")", ")", ";", "emit_jump_insn", "(", "gen_return_internal", "(", "gen_rtx_REG", "(", "Pmode", ",", "ret_regs", "[", "fkind", "]", ")", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "an", "epilogue", "suitable", "for", "a", "function", "of", "kind", "FKIND", ".", "This", "is", "called", "for", "interrupt", "and", "exception", "handler", "epilogues", ".", "SPREG", "contains", "(", "reg", ":", "SI", "REG_SP", ")", "."], "TS_V_token": ["bfin", "1", "1", "\"nesting\"", "12"], "File": "bfin", "Func": "expand_interrupt_handler_epilogue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33955, "Length": 154}
{"ground_truth": ["", "static", "void", "expand_interrupt_handler_prologue", "(", "rtx", "spreg", ",", "e_funkind", "fkind", ",", "bool", "all", ")", "{", "HOST_WIDE_INT", "frame_size", "=", "get_frame_size", "(", ")", ";", "rtx", "predec1", "=", "gen_rtx_PRE_DEC", "(", "SImode", ",", "spreg", ")", ";", "rtx", "predec", "=", "gen_rtx_MEM", "(", "SImode", ",", "predec1", ")", ";", "rtx_insn", "*", "insn", ";", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "tree", "kspisusp", "=", "lookup_attribute", "(", "\"kspisusp\"", ",", "attrs", ")", ";", "if", "(", "kspisusp", ")", "{", "insn", "=", "emit_move_insn", "(", "spreg", ",", "gen_rtx_REG", "(", "Pmode", ",", "REG_USP", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "if", "(", "fkind", "==", "EXCPT_HANDLER", ")", "{", "insn", "=", "emit_insn", "(", "gen_addsi3", "(", "spreg", ",", "spreg", ",", "GEN_INT", "(", "-", "12", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "if", "(", "!", "crtl", "->", "is_leaf", ")", "all", "=", "true", ";", "expand_prologue_reg_save", "(", "spreg", ",", "all", ",", "true", ")", ";", "if", "(", "ENABLE_WA_05000283", "||", "ENABLE_WA_05000315", ")", "{", "rtx", "chipid", "=", "GEN_INT", "(", "trunc_int_for_mode", "(", "0xFFC00014", ",", "SImode", ")", ")", ";", "rtx", "p5reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "REG_P5", ")", ";", "emit_insn", "(", "gen_movbi", "(", "bfin_cc_rtx", ",", "const1_rtx", ")", ")", ";", "emit_insn", "(", "gen_movsi_high", "(", "p5reg", ",", "chipid", ")", ")", ";", "emit_insn", "(", "gen_movsi_low", "(", "p5reg", ",", "p5reg", ",", "chipid", ")", ")", ";", "emit_insn", "(", "gen_dummy_load", "(", "p5reg", ",", "bfin_cc_rtx", ")", ")", ";", "}", "if", "(", "lookup_attribute", "(", "\"nesting\"", ",", "attrs", ")", ")", "{", "rtx", "srcreg", "=", "gen_rtx_REG", "(", "Pmode", ",", "ret_regs", "[", "fkind", "]", ")", ";", "insn", "=", "emit_move_insn", "(", "predec", ",", "srcreg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "do_link", "(", "spreg", ",", "frame_size", ",", "all", ")", ";", "if", "(", "fkind", "==", "EXCPT_HANDLER", ")", "{", "rtx", "r0reg", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_R0", ")", ";", "rtx", "r1reg", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_R1", ")", ";", "rtx", "r2reg", "=", "gen_rtx_REG", "(", "SImode", ",", "REG_R2", ")", ";", "emit_move_insn", "(", "r0reg", ",", "gen_rtx_REG", "(", "SImode", ",", "REG_SEQSTAT", ")", ")", ";", "emit_insn", "(", "gen_ashrsi3", "(", "r0reg", ",", "r0reg", ",", "GEN_INT", "(", "26", ")", ")", ")", ";", "emit_insn", "(", "gen_ashlsi3", "(", "r0reg", ",", "r0reg", ",", "GEN_INT", "(", "26", ")", ")", ")", ";", "emit_move_insn", "(", "r1reg", ",", "spreg", ")", ";", "emit_move_insn", "(", "r2reg", ",", "gen_rtx_REG", "(", "Pmode", ",", "REG_FP", ")", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "r2reg", ",", "r2reg", ",", "GEN_INT", "(", "8", ")", ")", ")", ";", "}", "}", ""], "natrual_language": ["Generate", "a", "prologue", "suitable", "for", "a", "function", "of", "kind", "FKIND", ".", "This", "is", "called", "for", "interrupt", "and", "exception", "handler", "prologues", ".", "SPREG", "contains", "(", "reg", ":", "SI", "REG_SP", ")", "."], "TS_V_token": ["bfin", "\"kspisusp\"", "1", "12", "1", "0xFFC00014", "\"nesting\"", "1", "26", "26", "8"], "File": "bfin", "Func": "expand_interrupt_handler_prologue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33956, "Length": 383}
{"ground_truth": ["", "bool", "expand_move", "(", "rtx", "*", "operands", ",", "machine_mode", "mode", ")", "{", "rtx", "op", "=", "operands", "[", "1", "]", ";", "if", "(", "(", "TARGET_ID_SHARED_LIBRARY", "||", "TARGET_FDPIC", ")", "&&", "SYMBOLIC_CONST", "(", "op", ")", ")", "emit_pic_move", "(", "operands", ",", "mode", ")", ";", "else", "if", "(", "mode", "==", "SImode", "&&", "GET_CODE", "(", "op", ")", "==", "CONST", "&&", "GET_CODE", "(", "XEXP", "(", "op", ",", "0", ")", ")", "==", "PLUS", "&&", "GET_CODE", "(", "XEXP", "(", "XEXP", "(", "op", ",", "0", ")", ",", "0", ")", ")", "==", "SYMBOL_REF", "&&", "!", "targetm", ".", "legitimate_constant_p", "(", "mode", ",", "op", ")", ")", "{", "rtx", "dest", "=", "operands", "[", "0", "]", ";", "rtx", "op0", ",", "op1", ";", "gcc_assert", "(", "!", "reload_in_progress", "&&", "!", "reload_completed", ")", ";", "op", "=", "XEXP", "(", "op", ",", "0", ")", ";", "op0", "=", "force_reg", "(", "mode", ",", "XEXP", "(", "op", ",", "0", ")", ")", ";", "op1", "=", "XEXP", "(", "op", ",", "1", ")", ";", "if", "(", "!", "insn_data", "[", "CODE_FOR_addsi3", "]", ".", "operand", "[", "2", "]", ".", "predicate", "(", "op1", ",", "mode", ")", ")", "op1", "=", "force_reg", "(", "mode", ",", "op1", ")", ";", "if", "(", "GET_CODE", "(", "dest", ")", "==", "MEM", ")", "dest", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "dest", ",", "op0", ",", "op1", ")", ")", ";", "if", "(", "dest", "==", "operands", "[", "0", "]", ")", "return", "true", ";", "operands", "[", "1", "]", "=", "dest", ";", "}", "else", "if", "(", "(", "reload_in_progress", "|", "reload_completed", ")", "==", "0", "&&", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "MEM", "&&", "GET_CODE", "(", "operands", "[", "1", "]", ")", "!=", "REG", ")", "operands", "[", "1", "]", "=", "force_reg", "(", "mode", ",", "operands", "[", "1", "]", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Expand", "a", "move", "operation", "in", "mode", "MODE", ".", "The", "operands", "are", "in", "OPERANDS", "."], "TS_V_token": ["bfin", "1", "0", "0", "0", "0", "0", "0", "1", "2", "0", "1", "0", "0", "1", "1", "1"], "File": "bfin", "Func": "expand_move", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33957, "Length": 274}
{"ground_truth": ["", "static", "rtx_insn", "*", "find_load", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "!", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "return", "NULL", ";", "if", "(", "get_attr_type", "(", "insn", ")", "==", "TYPE_MCLD", ")", "return", "insn", ";", "if", "(", "GET_MODE", "(", "insn", ")", "!=", "SImode", ")", "return", "NULL", ";", "do", "{", "insn", "=", "NEXT_INSN", "(", "insn", ")", ";", "if", "(", "(", "GET_MODE", "(", "insn", ")", "==", "SImode", "||", "GET_MODE", "(", "insn", ")", "==", "QImode", ")", "&&", "get_attr_type", "(", "insn", ")", "==", "TYPE_MCLD", ")", "return", "insn", ";", "}", "while", "(", "GET_MODE", "(", "insn", ")", "!=", "QImode", ")", ";", "return", "NULL", ";", "}", ""], "natrual_language": ["Return", "INSN", "if", "it", "is", "of", "TYPE_MCLD", ".", "Alternatively", ",", "if", "INSN", "is", "the", "start", "of", "a", "three-insn", "bundle", ",", "see", "if", "one", "of", "them", "is", "a", "load", "and", "return", "that", "if", "so", ".", "Return", "NULL", "if", "the", "insn", "does", "not", "contain", "loads", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "find_load", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33958, "Length": 97}
{"ground_truth": ["", "static", "rtx_insn", "*", "find_next_insn_start", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "GET_MODE", "(", "insn", ")", "==", "SImode", ")", "{", "while", "(", "GET_MODE", "(", "insn", ")", "!=", "QImode", ")", "insn", "=", "NEXT_INSN", "(", "insn", ")", ";", "}", "return", "NEXT_INSN", "(", "insn", ")", ";", "}", ""], "natrual_language": ["This", "function", "acts", "like", "NEXT_INSN", ",", "but", "is", "aware", "of", "three-insn", "bundles", "and", "skips", "all", "subsequent", "parallel", "instructions", "if", "INSN", "is", "the", "start", "of", "such", "a", "group", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "find_next_insn_start", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33959, "Length": 44}
{"ground_truth": ["", "static", "rtx_insn", "*", "find_prev_insn_start", "(", "rtx_insn", "*", "insn", ")", "{", "insn", "=", "PREV_INSN", "(", "insn", ")", ";", "gcc_assert", "(", "GET_MODE", "(", "insn", ")", "!=", "SImode", ")", ";", "if", "(", "GET_MODE", "(", "insn", ")", "==", "QImode", ")", "{", "while", "(", "GET_MODE", "(", "PREV_INSN", "(", "insn", ")", ")", "==", "SImode", ")", "insn", "=", "PREV_INSN", "(", "insn", ")", ";", "}", "return", "insn", ";", "}", ""], "natrual_language": ["This", "function", "acts", "like", "PREV_INSN", ",", "but", "is", "aware", "of", "three-insn", "bundles", "and", "skips", "all", "subsequent", "parallel", "instructions", "if", "INSN", "is", "the", "start", "of", "such", "a", "group", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "find_prev_insn_start", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33960, "Length": 61}
{"ground_truth": ["", "static", "void", "frame_related_constant_load", "(", "rtx", "reg", ",", "HOST_WIDE_INT", "constant", ",", "bool", "related", ")", "{", "rtx_insn", "*", "insn", ";", "rtx", "cst", "=", "GEN_INT", "(", "constant", ")", ";", "if", "(", "constant", ">=", "-", "32768", "&&", "constant", "<", "65536", ")", "insn", "=", "emit_move_insn", "(", "reg", ",", "cst", ")", ";", "else", "{", "insn", "=", "emit_insn", "(", "gen_movsi_high", "(", "reg", ",", "cst", ")", ")", ";", "if", "(", "related", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "insn", "=", "emit_insn", "(", "gen_movsi_low", "(", "reg", ",", "reg", ",", "cst", ")", ")", ";", "}", "if", "(", "related", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "load", "a", "constant", "CONSTANT", "into", "register", "REG", ";", "setting", "RTX_FRAME_RELATED_P", "on", "all", "insns", "we", "generate", "if", "RELATED", "is", "true", ".", "Make", "sure", "that", "the", "insns", "we", "generate", "need", "not", "be", "split", "."], "TS_V_token": ["bfin", "32768", "65536", "1", "1"], "File": "bfin", "Func": "frame_related_constant_load", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33961, "Length": 98}
{"ground_truth": ["", "bool", "function_arg_regno_p", "(", "int", "n", ")", "{", "int", "i", ";", "for", "(", "i", "=", "0", ";", "arg_regs", "[", "i", "]", "!=", "-", "1", ";", "i", "++", ")", "if", "(", "n", "==", "arg_regs", "[", "i", "]", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "when", "register", "may", "be", "used", "to", "pass", "function", "parameters", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin", "Func": "function_arg_regno_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33962, "Length": 43}
{"ground_truth": ["", "static", "e_funkind", "funkind", "(", "const_tree", "funtype", ")", "{", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "funtype", ")", ";", "if", "(", "lookup_attribute", "(", "\"interrupt_handler\"", ",", "attrs", ")", ")", "return", "INTERRUPT_HANDLER", ";", "else", "if", "(", "lookup_attribute", "(", "\"exception_handler\"", ",", "attrs", ")", ")", "return", "EXCPT_HANDLER", ";", "else", "if", "(", "lookup_attribute", "(", "\"nmi_handler\"", ",", "attrs", ")", ")", "return", "NMI_HANDLER", ";", "else", "return", "SUBROUTINE", ";", "}", ""], "natrual_language": ["Examine", "machine-dependent", "attributes", "of", "function", "type", "FUNTYPE", "and", "return", "its", "type", ".", "See", "the", "definition", "of", "E_FUNKIND", "."], "TS_V_token": ["bfin", "\"interrupt_handler\"", "\"exception_handler\"", "\"nmi_handler\""], "File": "bfin", "Func": "funkind", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33963, "Length": 59}
{"ground_truth": ["", "static", "bool", "gen_one_bundle", "(", "rtx_insn", "*", "slot", "[", "3", "]", ")", "{", "gcc_assert", "(", "slot", "[", "1", "]", "!=", "NULL_RTX", ")", ";", "if", "(", "optimize_size", "&&", "(", "slot", "[", "0", "]", "==", "NULL_RTX", "||", "slot", "[", "2", "]", "==", "NULL_RTX", ")", ")", "return", "false", ";", "if", "(", "slot", "[", "0", "]", ")", "{", "rtx_insn", "*", "t", "=", "NEXT_INSN", "(", "slot", "[", "0", "]", ")", ";", "while", "(", "t", "!=", "slot", "[", "1", "]", ")", "{", "if", "(", "!", "NOTE_P", "(", "t", ")", "||", "NOTE_KIND", "(", "t", ")", "!=", "NOTE_INSN_DELETED", ")", "return", "false", ";", "t", "=", "NEXT_INSN", "(", "t", ")", ";", "}", "}", "if", "(", "slot", "[", "2", "]", ")", "{", "rtx_insn", "*", "t", "=", "NEXT_INSN", "(", "slot", "[", "1", "]", ")", ";", "while", "(", "t", "!=", "slot", "[", "2", "]", ")", "{", "if", "(", "!", "NOTE_P", "(", "t", ")", "||", "NOTE_KIND", "(", "t", ")", "!=", "NOTE_INSN_DELETED", ")", "return", "false", ";", "t", "=", "NEXT_INSN", "(", "t", ")", ";", "}", "}", "if", "(", "slot", "[", "0", "]", "==", "NULL_RTX", ")", "{", "slot", "[", "0", "]", "=", "emit_insn_before", "(", "gen_mnop", "(", ")", ",", "slot", "[", "1", "]", ")", ";", "df_insn_rescan", "(", "slot", "[", "0", "]", ")", ";", "}", "if", "(", "slot", "[", "2", "]", "==", "NULL_RTX", ")", "{", "slot", "[", "2", "]", "=", "emit_insn_after", "(", "gen_forced_nop", "(", ")", ",", "slot", "[", "1", "]", ")", ";", "df_insn_rescan", "(", "slot", "[", "2", "]", ")", ";", "}", "if", "(", "INSN_LOCATION", "(", "slot", "[", "1", "]", ")", "&&", "INSN_LOCATION", "(", "slot", "[", "1", "]", ")", "!=", "INSN_LOCATION", "(", "slot", "[", "0", "]", ")", ")", "INSN_LOCATION", "(", "slot", "[", "1", "]", ")", "=", "INSN_LOCATION", "(", "slot", "[", "0", "]", ")", ";", "if", "(", "INSN_LOCATION", "(", "slot", "[", "2", "]", ")", "&&", "INSN_LOCATION", "(", "slot", "[", "2", "]", ")", "!=", "INSN_LOCATION", "(", "slot", "[", "0", "]", ")", ")", "INSN_LOCATION", "(", "slot", "[", "2", "]", ")", "=", "INSN_LOCATION", "(", "slot", "[", "0", "]", ")", ";", "PUT_MODE", "(", "slot", "[", "0", "]", ",", "SImode", ")", ";", "PUT_MODE", "(", "slot", "[", "1", "]", ",", "SImode", ")", ";", "PUT_MODE", "(", "slot", "[", "2", "]", ",", "QImode", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Create", "a", "SEQUENCE", "rtx", "to", "replace", "the", "instructions", "in", "SLOT", ",", "of", "which", "there", "are", "N_FILLED", ".", "REAL_FIRST", "identifies", "the", "slot", "if", "the", "insn", "that", "appears", "first", "in", "the", "original", "stream", "."], "TS_V_token": ["bfin", "3", "1", "0", "2", "0", "0", "1", "2", "1", "2", "0", "0", "1", "0", "2", "2", "1", "2", "1", "1", "0", "1", "0", "2", "2", "0", "2", "0", "0", "1", "2"], "File": "bfin", "Func": "gen_one_bundle", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33964, "Length": 349}
{"ground_truth": ["", "static", "tree", "handle_int_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", "ATTRIBUTE_UNUSED", ",", "int", "flags", "ATTRIBUTE_UNUSED", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "x", "=", "*", "node", ";", "if", "(", "TREE_CODE", "(", "x", ")", "==", "FUNCTION_DECL", ")", "x", "=", "TREE_TYPE", "(", "x", ")", ";", "if", "(", "TREE_CODE", "(", "x", ")", "!=", "FUNCTION_TYPE", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute only applies to functions\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "if", "(", "funkind", "(", "x", ")", "!=", "SUBROUTINE", ")", "error", "(", "\"multiple function type attributes specified\"", ")", ";", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "interrupt_handler", ",", "exception_handler", "and", "nmi_handler", "function", "attributes", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["bfin", "\"%qE attribute only applies to functions\"", "\"multiple function type attributes specified\""], "File": "bfin", "Func": "handle_int_attribute", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33965, "Length": 90}
{"ground_truth": ["", "static", "bool", "harmless_null_pointer_p", "(", "rtx", "mem", ",", "int", "np_reg", ")", "{", "mem", "=", "XEXP", "(", "mem", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "mem", ")", "==", "POST_INC", "||", "GET_CODE", "(", "mem", ")", "==", "POST_DEC", ")", "mem", "=", "XEXP", "(", "mem", ",", "0", ")", ";", "if", "(", "REG_P", "(", "mem", ")", "&&", "(", "int", ")", "REGNO", "(", "mem", ")", "==", "np_reg", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "mem", ")", "==", "PLUS", "&&", "REG_P", "(", "XEXP", "(", "mem", ",", "0", ")", ")", "&&", "(", "int", ")", "REGNO", "(", "XEXP", "(", "mem", ",", "0", ")", ")", "==", "np_reg", ")", "{", "mem", "=", "XEXP", "(", "mem", ",", "1", ")", ";", "if", "(", "GET_CODE", "(", "mem", ")", "==", "CONST_INT", "&&", "INTVAL", "(", "mem", ")", ">", "0", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "iff", "the", "address", "found", "in", "MEM", "is", "based", "on", "the", "register", "NP_REG", "and", "optionally", "has", "a", "positive", "offset", "."], "TS_V_token": ["bfin", "0", "0", "0", "0", "1", "0"], "File": "bfin", "Func": "harmless_null_pointer_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33966, "Length": 133}
{"ground_truth": ["", "static", "void", "hwloop_fail", "(", "hwloop_info", "loop", ")", "{", "rtx", "insn", "=", "loop", "->", "loop_end", ";", "if", "(", "DPREG_P", "(", "loop", "->", "iter_reg", ")", ")", "{", "rtx", "insn", ",", "test", ";", "emit_insn_before", "(", "gen_addsi3", "(", "loop", "->", "iter_reg", ",", "loop", "->", "iter_reg", ",", "constm1_rtx", ")", ",", "loop", "->", "loop_end", ")", ";", "test", "=", "gen_rtx_NE", "(", "VOIDmode", ",", "loop", "->", "iter_reg", ",", "const0_rtx", ")", ";", "insn", "=", "emit_jump_insn_before", "(", "gen_cbranchsi4", "(", "test", ",", "loop", "->", "iter_reg", ",", "const0_rtx", ",", "loop", "->", "start_label", ")", ",", "loop", "->", "loop_end", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "loop", "->", "start_label", ";", "LABEL_NUSES", "(", "loop", "->", "start_label", ")", "++", ";", "delete_insn", "(", "loop", "->", "loop_end", ")", ";", "}", "else", "{", "splitting_loops", "=", "1", ";", "try_split", "(", "PATTERN", "(", "insn", ")", ",", "safe_as_a", "<", "rtx_insn", "*", ">", "(", "insn", ")", ",", "1", ")", ";", "splitting_loops", "=", "0", ";", "}", "}", ""], "natrual_language": ["A", "callback", "for", "the", "hw-doloop", "pass", ".", "Called", "when", "a", "loop", "we", "have", "discovered", "turns", "out", "not", "to", "be", "optimizable", ";", "we", "have", "to", "split", "the", "doloop_end", "pattern", "into", "a", "subtract", "and", "a", "test", "."], "TS_V_token": ["bfin", "1", "1", "0"], "File": "bfin", "Func": "hwloop_fail", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33967, "Length": 143}
{"ground_truth": ["", "static", "rtx", "hwloop_pattern_reg", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "reg", ";", "if", "(", "!", "JUMP_P", "(", "insn", ")", "||", "recog_memoized", "(", "insn", ")", "!=", "CODE_FOR_loop_end", ")", "return", "NULL_RTX", ";", "reg", "=", "SET_DEST", "(", "XVECEXP", "(", "PATTERN", "(", "insn", ")", ",", "0", ",", "1", ")", ")", ";", "if", "(", "!", "REG_P", "(", "reg", ")", ")", "return", "NULL_RTX", ";", "return", "reg", ";", "}", ""], "natrual_language": ["A", "callback", "for", "the", "hw-doloop", "pass", ".", "This", "function", "examines", "INSN", ";", "if", "it", "is", "a", "doloop_end", "pattern", "we", "recognize", ",", "return", "the", "reg", "rtx", "for", "the", "loop", "counter", ".", "Otherwise", ",", "return", "NULL_RTX", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin", "Func": "hwloop_pattern_reg", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33968, "Length": 62}
{"ground_truth": ["", "static", "bool", "indirect_call_p", "(", "rtx", "pat", ")", "{", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", "pat", "=", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "SET", ")", "pat", "=", "SET_SRC", "(", "pat", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "pat", ")", "==", "CALL", ")", ";", "pat", "=", "XEXP", "(", "pat", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "pat", ")", "==", "MEM", ")", ";", "pat", "=", "XEXP", "(", "pat", ",", "0", ")", ";", "return", "REG_P", "(", "pat", ")", ";", "}", ""], "natrual_language": ["Determine", "whether", "PAT", "is", "an", "indirect", "call", "pattern", "."], "TS_V_token": ["bfin", "0", "0", "0", "0"], "File": "bfin", "Func": "indirect_call_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33969, "Length": 89}
{"ground_truth": ["", "void", "init_cumulative_args", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "tree", "fntype", ",", "rtx", "libname", "ATTRIBUTE_UNUSED", ")", "{", "static", "CUMULATIVE_ARGS", "zero_cum", ";", "*", "cum", "=", "zero_cum", ";", "cum", "->", "nregs", "=", "max_arg_registers", ";", "cum", "->", "arg_regs", "=", "arg_regs", ";", "cum", "->", "call_cookie", "=", "CALL_NORMAL", ";", "if", "(", "fntype", "&&", "lookup_attribute", "(", "\"shortcall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "cum", "->", "call_cookie", "|=", "CALL_SHORT", ";", "else", "if", "(", "fntype", "&&", "lookup_attribute", "(", "\"longcall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "cum", "->", "call_cookie", "|=", "CALL_LONG", ";", "return", ";", "}", ""], "natrual_language": ["Handle", "the", "INIT_CUMULATIVE_ARGS", "macro", ".", "Initialize", "a", "variable", "CUM", "of", "type", "CUMULATIVE_ARGS", "for", "a", "call", "to", "a", "function", "whose", "data", "type", "is", "FNTYPE", ".", "For", "a", "library", "call", ",", "FNTYPE", "is", "0", "."], "TS_V_token": ["bfin", "\"shortcall\"", "\"longcall\""], "File": "bfin", "Func": "init_cumulative_args", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33970, "Length": 86}
{"ground_truth": ["", "static", "rtx", "legitimize_pic_address", "(", "rtx", "orig", ",", "rtx", "reg", ",", "rtx", "picreg", ")", "{", "rtx", "addr", "=", "orig", ";", "rtx", "new_rtx", "=", "orig", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", "||", "GET_CODE", "(", "addr", ")", "==", "LABEL_REF", ")", "{", "int", "unspec", ";", "rtx", "tmp", ";", "if", "(", "TARGET_ID_SHARED_LIBRARY", ")", "unspec", "=", "UNSPEC_MOVE_PIC", ";", "else", "if", "(", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_FUNCTION_P", "(", "addr", ")", ")", "unspec", "=", "UNSPEC_FUNCDESC_GOT17M4", ";", "else", "unspec", "=", "UNSPEC_MOVE_FDPIC", ";", "if", "(", "reg", "==", "0", ")", "{", "gcc_assert", "(", "can_create_pseudo_p", "(", ")", ")", ";", "reg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "}", "tmp", "=", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "1", ",", "addr", ")", ",", "unspec", ")", ";", "new_rtx", "=", "gen_const_mem", "(", "Pmode", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "picreg", ",", "tmp", ")", ")", ";", "emit_move_insn", "(", "reg", ",", "new_rtx", ")", ";", "if", "(", "picreg", "==", "pic_offset_table_rtx", ")", "crtl", "->", "uses_pic_offset_table", "=", "1", ";", "return", "reg", ";", "}", "else", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", "||", "GET_CODE", "(", "addr", ")", "==", "PLUS", ")", "{", "rtx", "base", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", ")", "{", "addr", "=", "XEXP", "(", "addr", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "addr", ")", "==", "PLUS", ")", ";", "}", "if", "(", "XEXP", "(", "addr", ",", "0", ")", "==", "picreg", ")", "return", "orig", ";", "if", "(", "reg", "==", "0", ")", "{", "gcc_assert", "(", "can_create_pseudo_p", "(", ")", ")", ";", "reg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "}", "base", "=", "legitimize_pic_address", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "reg", ",", "picreg", ")", ";", "addr", "=", "legitimize_pic_address", "(", "XEXP", "(", "addr", ",", "1", ")", ",", "base", "==", "reg", "?", "NULL_RTX", ":", "reg", ",", "picreg", ")", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST_INT", ")", "{", "gcc_assert", "(", "!", "reload_in_progress", "&&", "!", "reload_completed", ")", ";", "addr", "=", "force_reg", "(", "Pmode", ",", "addr", ")", ";", "}", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PLUS", "&&", "CONSTANT_P", "(", "XEXP", "(", "addr", ",", "1", ")", ")", ")", "{", "base", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "base", ",", "XEXP", "(", "addr", ",", "0", ")", ")", ";", "addr", "=", "XEXP", "(", "addr", ",", "1", ")", ";", "}", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "base", ",", "addr", ")", ";", "}", "return", "new_rtx", ";", "}", ""], "natrual_language": ["Legitimize", "PIC", "addresses", ".", "If", "the", "address", "is", "already", "position-independent", ",", "we", "return", "ORIG", ".", "Newly", "generated", "position-independent", "addresses", "go", "into", "a", "reg", ".", "This", "is", "REG", "if", "nonzero", ",", "otherwise", "we", "allocate", "register", "(", "s", ")", "as", "necessary", "."], "TS_V_token": ["bfin", "0", "1", "1", "0", "0", "0", "0", "1", "1", "0", "1"], "File": "bfin", "Func": "legitimize_pic_address", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33971, "Length": 371}
{"ground_truth": ["", "static", "int", "length_for_loop", "(", "rtx_insn", "*", "insn", ")", "{", "int", "length", "=", "0", ";", "if", "(", "JUMP_P", "(", "insn", ")", "&&", "any_condjump_p", "(", "insn", ")", "&&", "!", "optimize_size", ")", "{", "if", "(", "ENABLE_WA_SPECULATIVE_SYNCS", ")", "length", "=", "8", ";", "else", "if", "(", "ENABLE_WA_SPECULATIVE_LOADS", ")", "length", "=", "6", ";", "}", "else", "if", "(", "LABEL_P", "(", "insn", ")", ")", "{", "if", "(", "ENABLE_WA_SPECULATIVE_SYNCS", ")", "length", "=", "4", ";", "}", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "length", "+=", "get_attr_length", "(", "insn", ")", ";", "return", "length", ";", "}", ""], "natrual_language": ["Estimate", "the", "length", "of", "INSN", "conservatively", "."], "TS_V_token": ["bfin", "0", "8", "6", "4"], "File": "bfin", "Func": "length_for_loop", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33972, "Length": 84}
{"ground_truth": ["", "int", "log2constp", "(", "unsigned", "HOST_WIDE_INT", "c", ")", "{", "c", "&=", "0xFFFFFFFF", ";", "return", "c", "!=", "0", "&&", "(", "c", "&", "(", "c", "-", "1", ")", ")", "==", "0", ";", "}", ""], "natrual_language": ["Return", "nonzero", "iff", "C", "has", "exactly", "one", "bit", "set", "if", "it", "is", "interpreted", "as", "a", "32", "bit", "constant", "."], "TS_V_token": ["bfin", "0xFFFFFFFF", "0", "1", "0"], "File": "bfin", "Func": "log2constp", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33973, "Length": 30}
{"ground_truth": ["", "static", "bool", "must_save_fp_p", "(", "void", ")", "{", "return", "df_regs_ever_live_p", "(", "REG_FP", ")", ";", "}", ""], "natrual_language": ["Determine", "if", "we", "are", "going", "to", "save", "the", "frame", "pointer", "in", "the", "prologue", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "must_save_fp_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33974, "Length": 14}
{"ground_truth": ["", "static", "bool", "must_save_p", "(", "bool", "is_inthandler", ",", "unsigned", "regno", ")", "{", "if", "(", "D_REGNO_P", "(", "regno", ")", ")", "{", "bool", "is_eh_return_reg", "=", "false", ";", "if", "(", "crtl", "->", "calls_eh_return", ")", "{", "unsigned", "j", ";", "for", "(", "j", "=", "0", ";", ";", "j", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "j", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "regno", ")", "is_eh_return_reg", "=", "true", ";", "}", "}", "return", "(", "is_eh_return_reg", "||", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "is_inthandler", "||", "!", "call_used_or_fixed_reg_p", "(", "regno", ")", ")", ")", ")", ";", "}", "else", "if", "(", "P_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "is_inthandler", "||", "!", "call_used_or_fixed_reg_p", "(", "regno", ")", ")", ")", "||", "(", "is_inthandler", "&&", "(", "ENABLE_WA_05000283", "||", "ENABLE_WA_05000315", ")", "&&", "regno", "==", "REG_P5", ")", "||", "(", "!", "TARGET_FDPIC", "&&", "regno", "==", "PIC_OFFSET_TABLE_REGNUM", "&&", "(", "crtl", "->", "uses_pic_offset_table", "||", "(", "TARGET_ID_SHARED_LIBRARY", "&&", "!", "crtl", "->", "is_leaf", ")", ")", ")", ")", ";", "}", "else", "return", "(", "(", "is_inthandler", "||", "!", "call_used_or_fixed_reg_p", "(", "regno", ")", ")", "&&", "(", "df_regs_ever_live_p", "(", "regno", ")", "||", "(", "!", "leaf_function_p", "(", ")", "&&", "call_used_or_fixed_reg_p", "(", "regno", ")", ")", ")", ")", ";", "}", ""], "natrual_language": ["For", "a", "given", "REGNO", ",", "determine", "whether", "it", "must", "be", "saved", "in", "the", "function", "prologue", ".", "IS_INTHANDLER", "specifies", "whether", "we", "'re", "generating", "a", "normal", "prologue", "or", "an", "interrupt/exception", "one", "."], "TS_V_token": ["bfin", "0"], "File": "bfin", "Func": "must_save_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33975, "Length": 210}
{"ground_truth": ["", "static", "bool", "must_save_rets_p", "(", "void", ")", "{", "return", "df_regs_ever_live_p", "(", "REG_RETS", ")", ";", "}", ""], "natrual_language": ["Determine", "if", "we", "are", "going", "to", "save", "the", "RETS", "register", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "must_save_rets_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33976, "Length": 14}
{"ground_truth": ["", "static", "void", "note_np_check_stores", "(", "rtx", "x", ",", "const_rtx", "pat", "ATTRIBUTE_UNUSED", ",", "void", "*", "data", "ATTRIBUTE_UNUSED", ")", "{", "if", "(", "REG_P", "(", "x", ")", "&&", "(", "REGNO", "(", "x", ")", "==", "REG_CC", "||", "(", "int", ")", "REGNO", "(", "x", ")", "==", "np_check_regno", ")", ")", "np_check_regno", "=", "-", "1", ";", "}", ""], "natrual_language": ["Subroutine", "of", "workaround_speculation", ",", "called", "through", "note_stores", "."], "TS_V_token": ["bfin", "1"], "File": "bfin", "Func": "note_np_check_stores", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33977, "Length": 49}
{"ground_truth": ["", "static", "int", "n_dregs_to_save", "(", "bool", "is_inthandler", ",", "bool", "consecutive", ")", "{", "int", "count", "=", "0", ";", "unsigned", "i", ";", "for", "(", "i", "=", "REG_R7", "+", "1", ";", "i", "--", "!=", "REG_R0", ";", ")", "{", "if", "(", "must_save_p", "(", "is_inthandler", ",", "i", ")", ")", "count", "++", ";", "else", "if", "(", "consecutive", ")", "return", "count", ";", "}", "return", "count", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "DREGS", "to", "save", "with", "a", "push_multiple", "operation", ".", "This", "could", "include", "registers", "that", "are", "n't", "modified", "in", "the", "function", ",", "since", "push_multiple", "only", "takes", "a", "range", "of", "registers", ".", "If", "IS_INTHANDLER", ",", "then", "everything", "that", "is", "live", "must", "be", "saved", ",", "even", "if", "normally", "call-clobbered", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin", "Func": "n_dregs_to_save", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33978, "Length": 59}
{"ground_truth": ["", "static", "int", "n_pregs_to_save", "(", "bool", "is_inthandler", ",", "bool", "consecutive", ")", "{", "int", "count", "=", "0", ";", "unsigned", "i", ";", "for", "(", "i", "=", "REG_P5", "+", "1", ";", "i", "--", "!=", "REG_P0", ";", ")", "if", "(", "must_save_p", "(", "is_inthandler", ",", "i", ")", ")", "count", "++", ";", "else", "if", "(", "consecutive", ")", "return", "count", ";", "return", "count", ";", "}", ""], "natrual_language": ["Like", "n_dregs_to_save", ",", "but", "compute", "number", "of", "PREGS", "to", "save", "."], "TS_V_token": ["bfin", "0", "1"], "File": "bfin", "Func": "n_pregs_to_save", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33979, "Length": 57}
{"ground_truth": ["", "static", "int", "n_regs_saved_by_prologue", "(", "void", ")", "{", "e_funkind", "fkind", "=", "funkind", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "is_inthandler", "=", "fkind", "!=", "SUBROUTINE", ";", "tree", "attrs", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ";", "bool", "all", "=", "(", "lookup_attribute", "(", "\"saveall\"", ",", "attrs", ")", "!=", "NULL_TREE", "||", "(", "is_inthandler", "&&", "!", "crtl", "->", "is_leaf", ")", ")", ";", "int", "ndregs", "=", "all", "?", "8", ":", "n_dregs_to_save", "(", "is_inthandler", ",", "false", ")", ";", "int", "npregs", "=", "all", "?", "6", ":", "n_pregs_to_save", "(", "is_inthandler", ",", "false", ")", ";", "int", "n", "=", "ndregs", "+", "npregs", ";", "int", "i", ";", "if", "(", "all", "||", "stack_frame_needed_p", "(", ")", ")", "n", "+=", "2", ";", "else", "{", "if", "(", "must_save_fp_p", "(", ")", ")", "n", "++", ";", "if", "(", "must_save_rets_p", "(", ")", ")", "n", "++", ";", "}", "if", "(", "fkind", "!=", "SUBROUTINE", "||", "all", ")", "{", "n", "++", ";", "if", "(", "!", "crtl", "->", "is_leaf", "||", "cfun", "->", "machine", "->", "has_hardware_loops", "||", "cfun", "->", "machine", "->", "has_loopreg_clobber", ")", "{", "n", "+=", "6", ";", "}", "}", "if", "(", "fkind", "!=", "SUBROUTINE", ")", "{", "if", "(", "lookup_attribute", "(", "\"nesting\"", ",", "attrs", ")", ")", "n", "++", ";", "}", "for", "(", "i", "=", "REG_P7", "+", "1", ";", "i", "<", "REG_CC", ";", "i", "++", ")", "if", "(", "all", "||", "(", "fkind", "!=", "SUBROUTINE", "&&", "(", "df_regs_ever_live_p", "(", "i", ")", "||", "(", "!", "leaf_function_p", "(", ")", "&&", "call_used_or_fixed_reg_p", "(", "i", ")", ")", ")", ")", ")", "n", "+=", "i", "==", "REG_A0", "||", "i", "==", "REG_A1", "?", "2", ":", "1", ";", "return", "n", ";", "}", ""], "natrual_language": ["Return", "the", "number", "of", "registers", "pushed", "during", "the", "prologue", "."], "TS_V_token": ["bfin", "\"saveall\"", "8", "6", "2", "6", "\"nesting\"", "1", "2", "1"], "File": "bfin", "Func": "n_regs_saved_by_prologue", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33980, "Length": 250}
{"ground_truth": ["", "static", "void", "output_file_start", "(", "void", ")", "{", "FILE", "*", "file", "=", "asm_out_file", ";", "int", "i", ";", "fprintf", "(", "file", ",", "\".file \\\"%s\\\";\\n\"", ",", "LOCATION_FILE", "(", "input_location", ")", ")", ";", "for", "(", "i", "=", "0", ";", "arg_regs", "[", "i", "]", ">=", "0", ";", "i", "++", ")", ";", "max_arg_registers", "=", "i", ";", "}", ""], "natrual_language": ["Output", "to", "FILE", "the", "start", "of", "the", "assembler", "file", "."], "TS_V_token": ["bfin", "\".file \\\"%s\\\";\\n\"", "0", "0"], "File": "bfin", "Func": "output_file_start", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33981, "Length": 50}
{"ground_truth": ["", "void", "output_pop_multiple", "(", "rtx", "insn", ",", "rtx", "*", "operands", ")", "{", "char", "buf", "[", "80", "]", ";", "int", "ok", ";", "ok", "=", "analyze_pop_multiple_operation", "(", "PATTERN", "(", "insn", ")", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "first_dreg_to_save", "==", "8", ")", "sprintf", "(", "buf", ",", "\"( p5:%d ) = [sp++];\\n\"", ",", "first_preg_to_save", ")", ";", "else", "if", "(", "first_preg_to_save", "==", "6", ")", "sprintf", "(", "buf", ",", "\"( r7:%d ) = [sp++];\\n\"", ",", "first_dreg_to_save", ")", ";", "else", "sprintf", "(", "buf", ",", "\"( r7:%d, p5:%d ) = [sp++];\\n\"", ",", "first_dreg_to_save", ",", "first_preg_to_save", ")", ";", "output_asm_insn", "(", "buf", ",", "operands", ")", ";", "}", ""], "natrual_language": ["Emit", "assembly", "code", "for", "one", "multi-register", "pop", "described", "by", "INSN", ",", "with", "operands", "in", "OPERANDS", "."], "TS_V_token": ["bfin", "80", "8", "\"( p5:%d ) = [sp++];\\n\"", "6", "\"( r7:%d ) = [sp++];\\n\"", "\"( r7:%d, p5:%d ) = [sp++];\\n\""], "File": "bfin", "Func": "output_pop_multiple", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33982, "Length": 86}
{"ground_truth": ["", "void", "output_push_multiple", "(", "rtx", "insn", ",", "rtx", "*", "operands", ")", "{", "char", "buf", "[", "80", "]", ";", "int", "ok", ";", "ok", "=", "analyze_push_multiple_operation", "(", "PATTERN", "(", "insn", ")", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "first_dreg_to_save", "==", "8", ")", "sprintf", "(", "buf", ",", "\"[--sp] = ( p5:%d );\\n\"", ",", "first_preg_to_save", ")", ";", "else", "if", "(", "first_preg_to_save", "==", "6", ")", "sprintf", "(", "buf", ",", "\"[--sp] = ( r7:%d );\\n\"", ",", "first_dreg_to_save", ")", ";", "else", "sprintf", "(", "buf", ",", "\"[--sp] = ( r7:%d, p5:%d );\\n\"", ",", "first_dreg_to_save", ",", "first_preg_to_save", ")", ";", "output_asm_insn", "(", "buf", ",", "operands", ")", ";", "}", ""], "natrual_language": ["Emit", "assembly", "code", "for", "one", "multi-register", "push", "described", "by", "INSN", ",", "with", "operands", "in", "OPERANDS", "."], "TS_V_token": ["bfin", "80", "8", "\"[--sp] = ( p5:%d );\\n\"", "6", "\"[--sp] = ( r7:%d );\\n\"", "\"[--sp] = ( r7:%d, p5:%d );\\n\""], "File": "bfin", "Func": "output_push_multiple", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33983, "Length": 86}
{"ground_truth": ["", "void", "print_address_operand", "(", "FILE", "*", "file", ",", "rtx", "x", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "PLUS", ":", "output_address", "(", "VOIDmode", ",", "XEXP", "(", "x", ",", "0", ")", ")", ";", "fprintf", "(", "file", ",", "\"+\"", ")", ";", "output_address", "(", "VOIDmode", ",", "XEXP", "(", "x", ",", "1", ")", ")", ";", "break", ";", "case", "PRE_DEC", ":", "fprintf", "(", "file", ",", "\"--\"", ")", ";", "output_address", "(", "VOIDmode", ",", "XEXP", "(", "x", ",", "0", ")", ")", ";", "break", ";", "case", "POST_INC", ":", "output_address", "(", "VOIDmode", ",", "XEXP", "(", "x", ",", "0", ")", ")", ";", "fprintf", "(", "file", ",", "\"++\"", ")", ";", "break", ";", "case", "POST_DEC", ":", "output_address", "(", "VOIDmode", ",", "XEXP", "(", "x", ",", "0", ")", ")", ";", "fprintf", "(", "file", ",", "\"--\"", ")", ";", "break", ";", "default", ":", "gcc_assert", "(", "GET_CODE", "(", "x", ")", "!=", "MEM", ")", ";", "print_operand", "(", "file", ",", "x", ",", "0", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Subroutine", "of", "print_operand", ";", "used", "to", "print", "a", "memory", "reference", "X", "to", "FILE", "."], "TS_V_token": ["bfin", "0", "\"+\"", "1", "\"--\"", "0", "0", "\"++\"", "0", "\"--\"", "0"], "File": "bfin", "Func": "print_address_operand", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33984, "Length": 152}
{"ground_truth": ["", "static", "void", "reorder_var_tracking_notes", "(", "void", ")", "{", "basic_block", "bb", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ",", "*", "next", ";", "rtx_insn", "*", "queue", "=", "NULL", ";", "bool", "in_bundle", "=", "false", ";", "for", "(", "insn", "=", "BB_HEAD", "(", "bb", ")", ";", "insn", "!=", "BB_END", "(", "bb", ")", ";", "insn", "=", "next", ")", "{", "next", "=", "NEXT_INSN", "(", "insn", ")", ";", "if", "(", "INSN_P", "(", "insn", ")", ")", "{", "if", "(", "GET_MODE", "(", "insn", ")", "==", "QImode", ")", "{", "while", "(", "queue", ")", "{", "rtx_insn", "*", "next_queue", "=", "PREV_INSN", "(", "queue", ")", ";", "SET_PREV_INSN", "(", "NEXT_INSN", "(", "insn", ")", ")", "=", "queue", ";", "SET_NEXT_INSN", "(", "queue", ")", "=", "NEXT_INSN", "(", "insn", ")", ";", "SET_NEXT_INSN", "(", "insn", ")", "=", "queue", ";", "SET_PREV_INSN", "(", "queue", ")", "=", "insn", ";", "queue", "=", "next_queue", ";", "}", "in_bundle", "=", "false", ";", "}", "else", "if", "(", "GET_MODE", "(", "insn", ")", "==", "SImode", ")", "in_bundle", "=", "true", ";", "}", "else", "if", "(", "NOTE_P", "(", "insn", ")", "&&", "NOTE_KIND", "(", "insn", ")", "==", "NOTE_INSN_VAR_LOCATION", ")", "{", "if", "(", "in_bundle", ")", "{", "rtx_insn", "*", "prev", "=", "PREV_INSN", "(", "insn", ")", ";", "SET_PREV_INSN", "(", "next", ")", "=", "prev", ";", "SET_NEXT_INSN", "(", "prev", ")", "=", "next", ";", "SET_PREV_INSN", "(", "insn", ")", "=", "queue", ";", "queue", "=", "insn", ";", "}", "}", "}", "}", "}", ""], "natrual_language": ["Ensure", "that", "no", "var", "tracking", "notes", "are", "emitted", "in", "the", "middle", "of", "a", "three-instruction", "bundle", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "reorder_var_tracking_notes", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33985, "Length": 214}
{"ground_truth": ["", "static", "rtx", "safe_vector_operand", "(", "rtx", "x", ",", "machine_mode", "mode", ")", "{", "if", "(", "x", "!=", "const0_rtx", ")", "return", "x", ";", "x", "=", "gen_reg_rtx", "(", "SImode", ")", ";", "emit_insn", "(", "gen_movsi", "(", "x", ",", "CONST0_RTX", "(", "SImode", ")", ")", ")", ";", "return", "gen_lowpart", "(", "mode", ",", "x", ")", ";", "}", ""], "natrual_language": ["Errors", "in", "the", "source", "file", "can", "cause", "expand_expr", "to", "return", "const0_rtx", "where", "we", "expect", "a", "vector", ".", "To", "avoid", "crashing", ",", "use", "one", "of", "the", "vector", "clear", "instructions", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "safe_vector_operand", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33986, "Length": 49}
{"ground_truth": ["", "static", "void", "setup_incoming_varargs", "(", "cumulative_args_t", "cum", ",", "const", "function_arg_info", "&", ",", "int", "*", "pretend_size", ",", "int", "no_rtl", ")", "{", "rtx", "mem", ";", "int", "i", ";", "if", "(", "no_rtl", ")", "return", ";", "for", "(", "i", "=", "get_cumulative_args", "(", "cum", ")", "->", "words", "+", "1", ";", "i", "<", "max_arg_registers", ";", "i", "++", ")", "{", "mem", "=", "gen_rtx_MEM", "(", "Pmode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "(", "i", "*", "UNITS_PER_WORD", ")", ")", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_rtx_REG", "(", "Pmode", ",", "i", ")", ")", ";", "}", "*", "pretend_size", "=", "0", ";", "}", ""], "natrual_language": ["Perform", "any", "needed", "actions", "needed", "for", "a", "function", "that", "is", "receiving", "a", "variable", "number", "of", "arguments", ".", "CUM", "is", "as", "above", ".", "MODE", "and", "TYPE", "are", "the", "mode", "and", "type", "of", "the", "current", "parameter", ".", "PRETEND_SIZE", "is", "a", "variable", "that", "should", "be", "set", "to", "the", "amount", "of", "stack", "that", "must", "be", "pushed", "by", "the", "prolog", "to", "pretend", "that", "our", "caller", "pushed", "it", ".", "Normally", ",", "this", "macro", "will", "push", "all", "remaining", "incoming", "registers", "on", "the", "stack", "and", "set", "PRETEND_SIZE", "to", "the", "length", "of", "the", "registers", "pushed", "."], "TS_V_token": ["bfin", "1", "0"], "File": "bfin", "Func": "setup_incoming_varargs", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33987, "Length": 91}
{"ground_truth": ["", "static", "int", "shiftr_zero", "(", "HOST_WIDE_INT", "*", "v", ")", "{", "unsigned", "HOST_WIDE_INT", "tmp", "=", "*", "v", ";", "unsigned", "HOST_WIDE_INT", "sgn", ";", "int", "n", "=", "0", ";", "if", "(", "tmp", "==", "0", ")", "return", "0", ";", "sgn", "=", "tmp", "&", "(", "(", "unsigned", "HOST_WIDE_INT", ")", "1", "<<", "(", "HOST_BITS_PER_WIDE_INT", "-", "1", ")", ")", ";", "while", "(", "(", "tmp", "&", "0x1", ")", "==", "0", "&&", "n", "<=", "32", ")", "{", "tmp", "=", "(", "tmp", ">>", "1", ")", "|", "sgn", ";", "n", "++", ";", "}", "*", "v", "=", "tmp", ";", "return", "n", ";", "}", ""], "natrual_language": ["Returns", "the", "number", "of", "consecutive", "least", "significant", "zeros", "in", "the", "binary", "representation", "of", "*", "V.", "We", "modify", "*", "V", "to", "contain", "the", "original", "value", "arithmetically", "shifted", "right", "by", "the", "number", "of", "zeroes", "."], "TS_V_token": ["bfin", "0", "0", "0", "1", "1", "0x1", "0", "32", "1"], "File": "bfin", "Func": "shiftr_zero", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33988, "Length": 90}
{"ground_truth": ["", "static", "void", "single_move_for_cpymem", "(", "rtx", "dst", ",", "rtx", "src", ",", "machine_mode", "mode", ",", "HOST_WIDE_INT", "offset", ")", "{", "rtx", "scratch", "=", "gen_reg_rtx", "(", "mode", ")", ";", "rtx", "srcmem", ",", "dstmem", ";", "srcmem", "=", "adjust_address_nv", "(", "src", ",", "mode", ",", "offset", ")", ";", "dstmem", "=", "adjust_address_nv", "(", "dst", ",", "mode", ",", "offset", ")", ";", "emit_move_insn", "(", "scratch", ",", "srcmem", ")", ";", "emit_move_insn", "(", "dstmem", ",", "scratch", ")", ";", "}", ""], "natrual_language": ["Adjust", "DST", "and", "SRC", "by", "OFFSET", "bytes", ",", "and", "generate", "one", "move", "in", "mode", "MODE", "."], "TS_V_token": ["bfin"], "File": "bfin", "Func": "single_move_for_cpymem", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33989, "Length": 67}
{"ground_truth": ["", "void", "split_di", "(", "rtx", "operands", "[", "]", ",", "int", "num", ",", "rtx", "lo_half", "[", "]", ",", "rtx", "hi_half", "[", "]", ")", "{", "while", "(", "num", "--", ")", "{", "rtx", "op", "=", "operands", "[", "num", "]", ";", "if", "(", "GET_CODE", "(", "op", ")", "==", "MEM", ")", "{", "lo_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "SImode", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "SImode", ",", "4", ")", ";", "}", "else", "{", "lo_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "SImode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "DImode", ":", "GET_MODE", "(", "op", ")", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "SImode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "DImode", ":", "GET_MODE", "(", "op", ")", ",", "4", ")", ";", "}", "}", "}", ""], "natrual_language": ["Split", "one", "or", "more", "DImode", "RTL", "references", "into", "pairs", "of", "SImode", "references", ".", "The", "RTL", "can", "be", "REG", ",", "offsettable", "MEM", ",", "integer", "constant", ",", "or", "CONST_DOUBLE", ".", "``", "operands", "''", "is", "a", "pointer", "to", "an", "array", "of", "DImode", "RTL", "to", "split", "and", "``", "num", "''", "is", "its", "length", ".", "lo_half", "and", "hi_half", "are", "output", "arrays", "that", "parallel", "``", "operands", "''", "."], "TS_V_token": ["bfin", "0", "4", "0", "4"], "File": "bfin", "Func": "split_di", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33990, "Length": 136}
{"ground_truth": ["", "int", "symbolic_reference_mentioned_p", "(", "rtx", "op", ")", "{", "const", "char", "*", "fmt", ";", "int", "i", ";", "if", "(", "GET_CODE", "(", "op", ")", "==", "SYMBOL_REF", "||", "GET_CODE", "(", "op", ")", "==", "LABEL_REF", ")", "return", "1", ";", "fmt", "=", "GET_RTX_FORMAT", "(", "GET_CODE", "(", "op", ")", ")", ";", "for", "(", "i", "=", "GET_RTX_LENGTH", "(", "GET_CODE", "(", "op", ")", ")", "-", "1", ";", "i", ">=", "0", ";", "i", "--", ")", "{", "if", "(", "fmt", "[", "i", "]", "==", "'E'", ")", "{", "int", "j", ";", "for", "(", "j", "=", "XVECLEN", "(", "op", ",", "i", ")", "-", "1", ";", "j", ">=", "0", ";", "j", "--", ")", "if", "(", "symbolic_reference_mentioned_p", "(", "XVECEXP", "(", "op", ",", "i", ",", "j", ")", ")", ")", "return", "1", ";", "}", "else", "if", "(", "fmt", "[", "i", "]", "==", "'e'", "&&", "symbolic_reference_mentioned_p", "(", "XEXP", "(", "op", ",", "i", ")", ")", ")", "return", "1", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "true", "if", "OP", "contains", "a", "symbol", "reference"], "TS_V_token": ["bfin", "1", "1", "0", "1", "0", "1", "1", "0"], "File": "bfin", "Func": "symbolic_reference_mentioned_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33991, "Length": 145}
{"ground_truth": ["", "static", "bool", "trapping_loads_p", "(", "rtx_insn", "*", "insn", ",", "int", "np_reg", ",", "bool", "after_np_branch", ")", "{", "rtx", "mem", "=", "SET_SRC", "(", "single_set", "(", "insn", ")", ")", ";", "if", "(", "!", "after_np_branch", ")", "np_reg", "=", "-", "1", ";", "return", "(", "(", "np_reg", "==", "-", "1", "||", "!", "harmless_null_pointer_p", "(", "mem", ",", "np_reg", ")", ")", "&&", "may_trap_p", "(", "mem", ")", ")", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "INSN", "contains", "any", "loads", "that", "may", "trap", "."], "TS_V_token": ["bfin", "1", "1"], "File": "bfin", "Func": "trapping_loads_p", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33992, "Length": 60}
{"ground_truth": ["", "static", "enum", "attr_type", "type_for_anomaly", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "rtx_sequence", "*", "seq", "=", "dyn_cast", "<", "rtx_sequence", "*", ">", "(", "pat", ")", ")", "{", "enum", "attr_type", "t", ";", "t", "=", "get_attr_type", "(", "seq", "->", "insn", "(", "1", ")", ")", ";", "if", "(", "t", "==", "TYPE_MCLD", ")", "return", "t", ";", "t", "=", "get_attr_type", "(", "seq", "->", "insn", "(", "2", ")", ")", ";", "if", "(", "t", "==", "TYPE_MCLD", ")", "return", "t", ";", "return", "TYPE_MCST", ";", "}", "else", "return", "get_attr_type", "(", "insn", ")", ";", "}", ""], "natrual_language": ["Return", "an", "insn", "type", "for", "INSN", "that", "can", "be", "used", "by", "the", "caller", "for", "anomaly", "workarounds", ".", "This", "differs", "from", "plain", "get_attr_type", "in", "that", "it", "handles", "SEQUENCEs", "."], "TS_V_token": ["bfin", "1", "2"], "File": "bfin", "Func": "type_for_anomaly", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33993, "Length": 92}
{"ground_truth": ["", "static", "void", "workaround_rts_anomaly", "(", "void", ")", "{", "rtx_insn", "*", "insn", ",", "*", "first_insn", "=", "NULL", ";", "int", "cycles", "=", "4", ";", "if", "(", "!", "ENABLE_WA_RETS", ")", "return", ";", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "rtx", "pat", ";", "if", "(", "BARRIER_P", "(", "insn", ")", ")", "return", ";", "if", "(", "NOTE_P", "(", "insn", ")", "||", "LABEL_P", "(", "insn", ")", ")", "continue", ";", "if", "(", "JUMP_TABLE_DATA_P", "(", "insn", ")", ")", "continue", ";", "if", "(", "first_insn", "==", "NULL_RTX", ")", "first_insn", "=", "insn", ";", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "USE", "||", "GET_CODE", "(", "pat", ")", "==", "CLOBBER", "||", "GET_CODE", "(", "pat", ")", "==", "ASM_INPUT", "||", "asm_noperands", "(", "pat", ")", ">=", "0", ")", "continue", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "return", ";", "if", "(", "JUMP_P", "(", "insn", ")", ")", "{", "if", "(", "recog_memoized", "(", "insn", ")", "==", "CODE_FOR_return_internal", ")", "break", ";", "if", "(", "!", "any_condjump_p", "(", "insn", ")", ")", "return", ";", "if", "(", "cycles", "<=", "1", ")", "return", ";", "cycles", "--", ";", "}", "else", "if", "(", "INSN_P", "(", "insn", ")", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "int", "this_cycles", "=", "1", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", "{", "if", "(", "analyze_push_multiple_operation", "(", "pat", ")", "||", "analyze_pop_multiple_operation", "(", "pat", ")", ")", "this_cycles", "=", "n_regs_to_save", ";", "}", "else", "{", "int", "icode", "=", "recog_memoized", "(", "insn", ")", ";", "if", "(", "icode", "==", "CODE_FOR_link", ")", "this_cycles", "=", "4", ";", "else", "if", "(", "icode", "==", "CODE_FOR_unlink", ")", "this_cycles", "=", "3", ";", "else", "if", "(", "icode", "==", "CODE_FOR_mulsi3", ")", "this_cycles", "=", "5", ";", "}", "if", "(", "this_cycles", ">=", "cycles", ")", "return", ";", "cycles", "-=", "this_cycles", ";", "}", "}", "while", "(", "cycles", ">", "0", ")", "{", "emit_insn_before", "(", "gen_nop", "(", ")", ",", "first_insn", ")", ";", "cycles", "--", ";", "}", "}", ""], "natrual_language": ["On", "some", "silicon", "revisions", ",", "functions", "shorter", "than", "a", "certain", "number", "of", "cycles", "can", "cause", "unpredictable", "behaviour", ".", "Work", "around", "this", "by", "adding", "NOPs", "as", "needed", "."], "TS_V_token": ["bfin", "4", "0", "1", "1", "4", "3", "5", "0"], "File": "bfin", "Func": "workaround_rts_anomaly", "Target": "bfin", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 33994, "Length": 307}