{"ground_truth": ["", "static", "tree", "cygwin_d_handle_target_object_format", "(", "void", ")", "{", "const", "char", "*", "objfmt", "=", "\"coff\"", ";", "return", "build_string_literal", "(", "strlen", "(", "objfmt", ")", "+", "1", ",", "objfmt", ")", ";", "}", ""], "natrual_language": ["Handle", "a", "call", "to", "`", "__traits", "(", "getTargetInfo", ",", "``", "objectFormat", "''", ")", "'", "."], "TS_V_token": ["i386", "\"coff\"", "1"], "File": "cygwin-d", "Func": "cygwin_d_handle_target_object_format", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37577, "Length": 28}
{"ground_truth": ["", "static", "void", "cygwin_d_os_builtins", "(", "void", ")", "{", "d_add_builtin_version", "(", "\"Windows\"", ")", ";", "d_add_builtin_version", "(", "\"Cygwin\"", ")", ";", "d_add_builtin_version", "(", "\"Posix\"", ")", ";", "d_add_builtin_version", "(", "\"CRuntime_Newlib\"", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_D_OS_VERSIONS", "for", "Cygwin", "targets", "."], "TS_V_token": ["i386", "\"Windows\"", "\"Cygwin\"", "\"Posix\"", "\"CRuntime_Newlib\""], "File": "cygwin-d", "Func": "cygwin_d_os_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37578, "Length": 28}
{"ground_truth": ["", "static", "void", "cygwin_d_register_target_info", "(", "void", ")", "{", "const", "struct", "d_target_info_spec", "handlers", "[", "]", "=", "{", "{", "\"objectFormat\"", ",", "cygwin_d_handle_target_object_format", "}", ",", "{", "NULL", ",", "NULL", "}", ",", "}", ";", "d_add_target_info_handlers", "(", "handlers", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_D_REGISTER_OS_TARGET_INFO", "for", "Cygwin", "targets", "."], "TS_V_token": ["i386", "\"objectFormat\""], "File": "cygwin-d", "Func": "cygwin_d_register_target_info", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37579, "Length": 35}
{"ground_truth": ["", "void", "i386_djgpp_asm_named_section", "(", "const", "char", "*", "name", ",", "unsigned", "int", "flags", ",", "tree", ")", "{", "char", "flagchars", "[", "8", "]", ",", "*", "f", "=", "flagchars", ";", "if", "(", "flags", "&", "SECTION_WRITE", ")", "*", "f", "++", "=", "'w'", ";", "if", "(", "flags", "&", "SECTION_CODE", ")", "*", "f", "++", "=", "'x'", ";", "if", "(", "strncmp", "(", "name", ",", "LTO_SECTION_NAME_PREFIX", ",", "strlen", "(", "LTO_SECTION_NAME_PREFIX", ")", ")", "==", "0", ")", "*", "f", "++", "=", "'0'", ";", "*", "f", "++", "=", "'\\0'", ";", "fprintf", "(", "asm_out_file", ",", "\"\\t.section\\t%s,\\\"%s\\\"\\n\"", ",", "name", ",", "flagchars", ")", ";", "}", ""], "natrual_language": ["Function", "protypes", "for", "gcc/i386/djgpp.cc"], "TS_V_token": ["i386", "8", "0", "\"\\t.section\\t%s,\\\"%s\\\"\\n\""], "File": "djgpp", "Func": "i386_djgpp_asm_named_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37580, "Length": 90}
{"ground_truth": ["", "static", "char", "*", "describe_cache", "(", "struct", "cache_desc", "level1", ",", "struct", "cache_desc", "level2", ")", "{", "char", "size", "[", "100", "]", ",", "line", "[", "100", "]", ",", "size2", "[", "100", "]", ";", "snprintf", "(", "size", ",", "sizeof", "(", "size", ")", ",", "\"--param l1-cache-size=%u \"", ",", "level1", ".", "sizekb", ")", ";", "snprintf", "(", "line", ",", "sizeof", "(", "line", ")", ",", "\"--param l1-cache-line-size=%u \"", ",", "level1", ".", "line", ")", ";", "snprintf", "(", "size2", ",", "sizeof", "(", "size2", ")", ",", "\"--param l2-cache-size=%u \"", ",", "level2", ".", "sizekb", ")", ";", "return", "concat", "(", "size", ",", "line", ",", "size2", ",", "NULL", ")", ";", "}", ""], "natrual_language": ["Returns", "parameters", "that", "describe", "L1_ASSOC", "associative", "cache", "of", "size", "L1_SIZEKB", "with", "lines", "of", "size", "L1_LINE", ",", "and", "L2_SIZEKB", "."], "TS_V_token": ["i386", "100", "100", "100", "\"--param l1-cache-size=%u \"", "\"--param l1-cache-line-size=%u \"", "\"--param l2-cache-size=%u \""], "File": "driver-i386", "Func": "describe_cache", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37581, "Length": 91}
{"ground_truth": ["", "static", "const", "char", "*", "detect_caches_amd", "(", "unsigned", "max_ext_level", ")", "{", "unsigned", "eax", ",", "ebx", ",", "ecx", ",", "edx", ";", "struct", "cache_desc", "level1", ",", "level2", "=", "{", "0", ",", "0", ",", "0", "}", ";", "if", "(", "max_ext_level", "<", "0x80000005", ")", "return", "\"\"", ";", "__cpuid", "(", "0x80000005", ",", "eax", ",", "ebx", ",", "ecx", ",", "edx", ")", ";", "level1", ".", "sizekb", "=", "(", "ecx", ">>", "24", ")", "&", "0xff", ";", "level1", ".", "assoc", "=", "(", "ecx", ">>", "16", ")", "&", "0xff", ";", "level1", ".", "line", "=", "ecx", "&", "0xff", ";", "if", "(", "max_ext_level", ">=", "0x80000006", ")", "detect_l2_cache", "(", "&", "level2", ")", ";", "return", "describe_cache", "(", "level1", ",", "level2", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "description", "of", "caches", "for", "an", "AMD", "processor", "."], "TS_V_token": ["i386", "0", "0", "0", "0x80000005", "\"\"", "0x80000005", "24", "0xff", "16", "0xff", "0xff", "0x80000006"], "File": "driver-i386", "Func": "detect_caches_amd", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37582, "Length": 108}
{"ground_truth": ["", "static", "void", "detect_caches_cpuid2", "(", "bool", "xeon_mp", ",", "struct", "cache_desc", "*", "level1", ",", "struct", "cache_desc", "*", "level2", ")", "{", "unsigned", "regs", "[", "4", "]", ";", "int", "nreps", ",", "i", ";", "__cpuid", "(", "2", ",", "regs", "[", "0", "]", ",", "regs", "[", "1", "]", ",", "regs", "[", "2", "]", ",", "regs", "[", "3", "]", ")", ";", "nreps", "=", "regs", "[", "0", "]", "&", "0x0f", ";", "regs", "[", "0", "]", "&=", "~", "0x0f", ";", "while", "(", "--", "nreps", ">=", "0", ")", "{", "for", "(", "i", "=", "0", ";", "i", "<", "4", ";", "i", "++", ")", "if", "(", "regs", "[", "i", "]", "&&", "!", "(", "(", "regs", "[", "i", "]", ">>", "31", ")", "&", "1", ")", ")", "decode_caches_intel", "(", "regs", "[", "i", "]", ",", "xeon_mp", ",", "level1", ",", "level2", ")", ";", "if", "(", "nreps", ")", "__cpuid", "(", "2", ",", "regs", "[", "0", "]", ",", "regs", "[", "1", "]", ",", "regs", "[", "2", "]", ",", "regs", "[", "3", "]", ")", ";", "}", "}", ""], "natrual_language": ["Detect", "cache", "parameters", "using", "CPUID", "function", "2", "."], "TS_V_token": ["i386", "4", "2", "0", "1", "2", "3", "0", "0x0f", "0", "0x0f", "0", "0", "4", "31", "1", "2", "0", "1", "2", "3"], "File": "driver-i386", "Func": "detect_caches_cpuid2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37583, "Length": 158}
{"ground_truth": ["", "static", "const", "char", "*", "detect_caches_intel", "(", "bool", "xeon_mp", ",", "unsigned", "max_level", ",", "unsigned", "max_ext_level", ",", "unsigned", "*", "l2sizekb", ")", "{", "struct", "cache_desc", "level1", "=", "{", "0", ",", "0", ",", "0", "}", ",", "level2", "=", "{", "0", ",", "0", ",", "0", "}", ",", "level3", "=", "{", "0", ",", "0", ",", "0", "}", ";", "if", "(", "max_level", ">=", "4", ")", "detect_caches_cpuid4", "(", "&", "level1", ",", "&", "level2", ",", "&", "level3", ")", ";", "else", "if", "(", "max_level", ">=", "2", ")", "detect_caches_cpuid2", "(", "xeon_mp", ",", "&", "level1", ",", "&", "level2", ")", ";", "else", "return", "\"\"", ";", "if", "(", "level1", ".", "sizekb", "==", "0", ")", "return", "\"\"", ";", "if", "(", "level3", ".", "sizekb", ")", "level2", "=", "level3", ";", "if", "(", "level2", ".", "sizekb", "==", "0", "&&", "max_ext_level", ">=", "0x80000006", ")", "detect_l2_cache", "(", "&", "level2", ")", ";", "*", "l2sizekb", "=", "level2", ".", "sizekb", ";", "return", "describe_cache", "(", "level1", ",", "level2", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "description", "of", "caches", "for", "an", "Intel", "processor", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "0", "0", "4", "2", "\"\"", "0", "\"\"", "0", "0x80000006"], "File": "driver-i386", "Func": "detect_caches_intel", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37584, "Length": 147}
{"ground_truth": ["", "static", "void", "detect_l2_cache", "(", "struct", "cache_desc", "*", "level2", ")", "{", "unsigned", "eax", ",", "ebx", ",", "ecx", ",", "edx", ";", "unsigned", "assoc", ";", "__cpuid", "(", "0x80000006", ",", "eax", ",", "ebx", ",", "ecx", ",", "edx", ")", ";", "level2", "->", "sizekb", "=", "(", "ecx", ">>", "16", ")", "&", "0xffff", ";", "level2", "->", "line", "=", "ecx", "&", "0xff", ";", "assoc", "=", "(", "ecx", ">>", "12", ")", "&", "0xf", ";", "if", "(", "assoc", "==", "6", ")", "assoc", "=", "8", ";", "else", "if", "(", "assoc", "==", "8", ")", "assoc", "=", "16", ";", "else", "if", "(", "assoc", ">=", "0xa", "&&", "assoc", "<=", "0xc", ")", "assoc", "=", "32", "+", "(", "assoc", "-", "0xa", ")", "*", "16", ";", "else", "if", "(", "assoc", ">=", "0xd", "&&", "assoc", "<=", "0xe", ")", "assoc", "=", "96", "+", "(", "assoc", "-", "0xd", ")", "*", "32", ";", "level2", "->", "assoc", "=", "assoc", ";", "}", ""], "natrual_language": ["Detect", "L2", "cache", "parameters", "using", "CPUID", "extended", "function", "0x80000006", "."], "TS_V_token": ["i386", "0x80000006", "16", "0xffff", "0xff", "12", "0xf", "6", "8", "8", "16", "0xa", "0xc", "32", "0xa", "16", "0xd", "0xe", "96", "0xd", "32"], "File": "driver-i386", "Func": "detect_l2_cache", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37585, "Length": 139}
{"ground_truth": ["", "static", "void", "*", "cygwin_gt_pch_get_address", "(", "size_t", "sz", ",", "int", "fd", ")", "{", "void", "*", "base", ";", "off_t", "p", "=", "lseek", "(", "fd", ",", "0", ",", "SEEK_CUR", ")", ";", "if", "(", "p", "==", "(", "off_t", ")", "-", "1", ")", "fatal_error", "(", "\"can't get position in PCH file: %m\"", ")", ";", "if", "(", "(", "size_t", ")", "p", "<", "sz", ")", "{", "if", "(", "ftruncate", "(", "fd", ",", "sz", ")", "==", "-", "1", ")", "fatal_error", "(", "\"can't extend PCH file: %m\"", ")", ";", "}", "base", "=", "mmap", "(", "NULL", ",", "sz", ",", "PROT_READ", "|", "PROT_WRITE", ",", "MAP_PRIVATE", ",", "fd", ",", "0", ")", ";", "if", "(", "base", "==", "MAP_FAILED", ")", "base", "=", "NULL", ";", "else", "munmap", "(", "base", ",", "sz", ")", ";", "if", "(", "lseek", "(", "fd", ",", "p", ",", "SEEK_SET", ")", "==", "(", "off_t", ")", "-", "1", ")", "fatal_error", "(", "\"can't set position in PCH file: %m\"", ")", ";", "return", "base", ";", "}", ""], "natrual_language": ["Identify", "an", "address", "that", "'s", "likely", "to", "be", "free", "in", "a", "subsequent", "invocation", "of", "the", "compiler", ".", "The", "area", "should", "be", "able", "to", "hold", "SIZE", "bytes", ".", "FD", "is", "an", "open", "file", "descriptor", "if", "the", "host", "would", "like", "to", "probe", "with", "mmap", "."], "TS_V_token": ["i386", "0", "1", "\"can't get position in PCH file: %m\"", "1", "\"can't extend PCH file: %m\"", "0", "1", "\"can't set position in PCH file: %m\""], "File": "host-cygwin2", "Func": "cygwin_gt_pch_get_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37586, "Length": 134}
{"ground_truth": ["", "static", "size_t", "cygwin_gt_pch_alloc_granularity", "(", "void", ")", "{", "return", "va_granularity", ";", "}", ""], "natrual_language": ["Return", "the", "alignment", "required", "for", "allocating", "virtual", "memory", "."], "TS_V_token": ["i386"], "File": "host-cygwin", "Func": "cygwin_gt_pch_alloc_granularity", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37587, "Length": 11}
{"ground_truth": ["", "static", "void", "*", "cygwin_gt_pch_get_address", "(", "size_t", "sz", ",", "int", "fd", ")", "{", "void", "*", "base", ";", "off_t", "p", "=", "lseek", "(", "fd", ",", "0", ",", "SEEK_CUR", ")", ";", "if", "(", "p", "==", "(", "off_t", ")", "-", "1", ")", "fatal_error", "(", "input_location", ",", "\"cannot get position in PCH file: %m\"", ")", ";", "if", "(", "(", "size_t", ")", "p", "<", "sz", ")", "{", "if", "(", "ftruncate", "(", "fd", ",", "sz", ")", "==", "-", "1", ")", "fatal_error", "(", "input_location", ",", "\"cannot extend PCH file: %m\"", ")", ";", "}", "base", "=", "mmap", "(", "NULL", ",", "sz", ",", "PROT_READ", "|", "PROT_WRITE", ",", "MAP_PRIVATE", ",", "fd", ",", "0", ")", ";", "if", "(", "base", "==", "MAP_FAILED", ")", "base", "=", "NULL", ";", "else", "munmap", "(", "base", ",", "sz", ")", ";", "if", "(", "lseek", "(", "fd", ",", "p", ",", "SEEK_SET", ")", "==", "(", "off_t", ")", "-", "1", ")", "fatal_error", "(", "input_location", ",", "\"cannot set position in PCH file: %m\"", ")", ";", "return", "base", ";", "}", ""], "natrual_language": ["Identify", "an", "address", "that", "'s", "likely", "to", "be", "free", "in", "a", "subsequent", "invocation", "of", "the", "compiler", ".", "The", "area", "should", "be", "able", "to", "hold", "SIZE", "bytes", ".", "FD", "is", "an", "open", "file", "descriptor", "if", "the", "host", "would", "like", "to", "probe", "with", "mmap", "."], "TS_V_token": ["i386", "0", "1", "\"cannot get position in PCH file: %m\"", "1", "\"cannot extend PCH file: %m\"", "0", "1", "\"cannot set position in PCH file: %m\""], "File": "host-cygwin", "Func": "cygwin_gt_pch_get_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37588, "Length": 140}
{"ground_truth": ["", "static", "void", "*", "mingw32_gt_pch_get_address", "(", "size_t", "size", ",", "int", ")", "{", "void", "*", "res", ";", "res", "=", "VirtualAlloc", "(", "NULL", ",", "size", ",", "MEM_RESERVE", "|", "MEM_TOP_DOWN", ",", "PAGE_NOACCESS", ")", ";", "if", "(", "!", "res", ")", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"VirtualAlloc\"", ")", ";", "else", "VirtualFree", "(", "res", ",", "0", ",", "MEM_RELEASE", ")", ";", "return", "res", ";", "}", ""], "natrual_language": ["Identify", "an", "address", "that", "'s", "likely", "to", "be", "free", "in", "a", "subsequent", "invocation", "of", "the", "compiler", ".", "The", "area", "should", "be", "able", "to", "hold", "SIZE", "bytes", ".", "FD", "is", "an", "open", "file", "descriptor", "if", "the", "host", "would", "like", "to", "probe", "with", "mmap", "."], "TS_V_token": ["i386", "\"VirtualAlloc\"", "0"], "File": "host-mingw321", "Func": "mingw32_gt_pch_get_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37589, "Length": 60}
{"ground_truth": ["", "static", "int", "mingw32_gt_pch_use_address", "(", "void", "*", "&", "addr", ",", "size_t", "size", ",", "int", "fd", ",", "size_t", "offset", ")", "{", "void", "*", "mmap_addr", ";", "HANDLE", "mmap_handle", ";", "char", "*", "object_name", "=", "NULL", ";", "OSVERSIONINFO", "version_info", ";", "int", "r", ";", "version_info", ".", "dwOSVersionInfoSize", "=", "sizeof", "(", "version_info", ")", ";", "if", "(", "size", "==", "0", ")", "return", "0", ";", "if", "(", "(", "offset", "&", "(", "va_granularity", "-", "1", ")", ")", "!=", "0", ")", "return", "-", "1", ";", "GetVersionEx", "(", "&", "version_info", ")", ";", "char", "local_object_name", "[", "sizeof", "(", "OBJECT_NAME_FMT", ")", "+", "sizeof", "(", "DWORD", ")", "*", "2", "]", ";", "if", "(", "version_info", ".", "dwMajorVersion", ">", "4", ")", "{", "snprintf", "(", "local_object_name", ",", "sizeof", "(", "local_object_name", ")", ",", "OBJECT_NAME_FMT", "\"%lx\"", ",", "GetCurrentProcessId", "(", ")", ")", ";", "object_name", "=", "local_object_name", ";", "}", "mmap_handle", "=", "CreateFileMappingA", "(", "(", "HANDLE", ")", "_get_osfhandle", "(", "fd", ")", ",", "NULL", ",", "PAGE_WRITECOPY", "|", "SEC_COMMIT", ",", "0", ",", "0", ",", "object_name", ")", ";", "if", "(", "mmap_handle", "==", "NULL", ")", "{", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"CreateFileMapping\"", ")", ";", "return", "-", "1", ";", "}", "for", "(", "r", "=", "0", ";", "r", "<", "5", ";", "r", "++", ")", "{", "mmap_addr", "=", "MapViewOfFileEx", "(", "mmap_handle", ",", "FILE_MAP_COPY", ",", "0", ",", "offset", ",", "size", ",", "addr", ")", ";", "if", "(", "mmap_addr", "==", "addr", ")", "break", ";", "if", "(", "r", "!=", "4", ")", "Sleep", "(", "500", ")", ";", "}", "if", "(", "mmap_addr", "!=", "addr", ")", "{", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"MapViewOfFileEx\"", ")", ";", "CloseHandle", "(", "mmap_handle", ")", ";", "return", "-", "1", ";", "}", "return", "1", ";", "}", ""], "natrual_language": ["ADDR", "is", "an", "address", "returned", "by", "gt_pch_get_address", ".", "Attempt", "to", "allocate", "SIZE", "bytes", "at", "the", "same", "address", "and", "load", "it", "with", "the", "data", "from", "FD", "at", "OFFSET", ".", "Return", "-1", "if", "we", "could", "n't", "allocate", "memory", "at", "ADDR", ",", "return", "0", "if", "the", "memory", "is", "allocated", "but", "the", "data", "not", "loaded", ",", "return", "1", "if", "done", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "2", "4", "\"%lx\"", "0", "0", "\"CreateFileMapping\"", "1", "0", "5", "0", "4", "500", "\"MapViewOfFileEx\"", "1", "1"], "File": "host-mingw321", "Func": "mingw32_gt_pch_use_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37590, "Length": 258}
{"ground_truth": ["", "static", "size_t", "mingw32_gt_pch_alloc_granularity", "(", "void", ")", "{", "return", "va_granularity", ";", "}", ""], "natrual_language": ["Granularity", "for", "reserving", "address", "space", "."], "TS_V_token": ["i386"], "File": "host-mingw322", "Func": "mingw32_gt_pch_alloc_granularity", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37591, "Length": 11}
{"ground_truth": ["", "static", "void", "*", "mingw32_gt_pch_get_address", "(", "size_t", "size", ",", "int", "fd", "ATTRIBUTE_UNUSED", ")", "{", "void", "*", "res", ";", "size", "=", "(", "size", "+", "va_granularity", "-", "1", ")", "&", "~", "(", "va_granularity", "-", "1", ")", ";", "if", "(", "size", ">", "pch_VA_max_size", ")", "return", "NULL", ";", "res", "=", "VirtualAlloc", "(", "NULL", ",", "pch_VA_max_size", ",", "MEM_RESERVE", "|", "MEM_TOP_DOWN", ",", "PAGE_NOACCESS", ")", ";", "if", "(", "!", "res", ")", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"VirtualAlloc\"", ")", ";", "else", "VirtualFree", "(", "res", ",", "0", ",", "MEM_RELEASE", ")", ";", "return", "res", ";", "}", ""], "natrual_language": ["Identify", "an", "address", "that", "'s", "likely", "to", "be", "free", "in", "a", "subsequent", "invocation", "of", "the", "compiler", ".", "The", "area", "should", "be", "able", "to", "hold", "SIZE", "bytes", ".", "FD", "is", "an", "open", "file", "descriptor", "if", "the", "host", "would", "like", "to", "probe", "with", "mmap", "."], "TS_V_token": ["i386", "1", "1", "\"VirtualAlloc\"", "0"], "File": "host-mingw322", "Func": "mingw32_gt_pch_get_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37592, "Length": 88}
{"ground_truth": ["", "static", "int", "mingw32_gt_pch_use_address", "(", "void", "*", "addr", ",", "size_t", "size", ",", "int", "fd", ",", "size_t", "offset", ")", "{", "void", "*", "mmap_addr", ";", "static", "HANDLE", "mmap_handle", ";", "if", "(", "size", "==", "0", ")", "return", "0", ";", "if", "(", "(", "offset", "&", "(", "va_granularity", "-", "1", ")", ")", "!=", "0", "||", "size", ">", "pch_VA_max_size", ")", "return", "-", "1", ";", "mmap_handle", "=", "CreateFileMapping", "(", "(", "HANDLE", ")", "_get_osfhandle", "(", "fd", ")", ",", "NULL", ",", "PAGE_WRITECOPY", "|", "SEC_COMMIT", ",", "0", ",", "0", ",", "NULL", ")", ";", "if", "(", "mmap_handle", "==", "NULL", ")", "{", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"CreateFileMapping\"", ")", ";", "return", "-", "1", ";", "}", "mmap_addr", "=", "MapViewOfFileEx", "(", "mmap_handle", ",", "FILE_MAP_COPY", ",", "0", ",", "offset", ",", "size", ",", "addr", ")", ";", "if", "(", "mmap_addr", "!=", "addr", ")", "{", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"MapViewOfFileEx\"", ")", ";", "CloseHandle", "(", "mmap_handle", ")", ";", "return", "-", "1", ";", "}", "return", "1", ";", "}", ""], "natrual_language": ["ADDR", "is", "an", "address", "returned", "by", "gt_pch_get_address", ".", "Attempt", "to", "allocate", "SIZE", "bytes", "at", "the", "same", "address", "and", "load", "it", "with", "the", "data", "from", "FD", "at", "OFFSET", ".", "Return", "-1", "if", "we", "could", "n't", "allocate", "memory", "at", "ADDR", ",", "return", "0", "if", "the", "memory", "is", "allocated", "but", "the", "data", "not", "loaded", ",", "return", "1", "if", "done", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "0", "0", "\"CreateFileMapping\"", "1", "0", "\"MapViewOfFileEx\"", "1", "1"], "File": "host-mingw322", "Func": "mingw32_gt_pch_use_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37593, "Length": 154}
{"ground_truth": ["", "static", "int", "mingw32_gt_pch_use_address", "(", "void", "*", "addr", ",", "size_t", "size", ",", "int", "fd", ",", "size_t", "offset", ")", "{", "void", "*", "mmap_addr", ";", "HANDLE", "mmap_handle", ";", "char", "*", "object_name", "=", "NULL", ";", "OSVERSIONINFO", "version_info", ";", "int", "r", ";", "version_info", ".", "dwOSVersionInfoSize", "=", "sizeof", "(", "version_info", ")", ";", "if", "(", "size", "==", "0", ")", "return", "0", ";", "if", "(", "(", "offset", "&", "(", "va_granularity", "-", "1", ")", ")", "!=", "0", "||", "size", ">", "pch_VA_max_size", ")", "return", "-", "1", ";", "GetVersionEx", "(", "&", "version_info", ")", ";", "if", "(", "version_info", ".", "dwMajorVersion", ">", "4", ")", "{", "char", "local_object_name", "[", "sizeof", "(", "OBJECT_NAME_FMT", ")", "+", "sizeof", "(", "DWORD", ")", "*", "2", "]", ";", "snprintf", "(", "local_object_name", ",", "sizeof", "(", "local_object_name", ")", ",", "OBJECT_NAME_FMT", "\"%lx\"", ",", "GetCurrentProcessId", "(", ")", ")", ";", "object_name", "=", "local_object_name", ";", "}", "mmap_handle", "=", "CreateFileMappingA", "(", "(", "HANDLE", ")", "_get_osfhandle", "(", "fd", ")", ",", "NULL", ",", "PAGE_WRITECOPY", "|", "SEC_COMMIT", ",", "0", ",", "0", ",", "object_name", ")", ";", "if", "(", "mmap_handle", "==", "NULL", ")", "{", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"CreateFileMapping\"", ")", ";", "return", "-", "1", ";", "}", "for", "(", "r", "=", "0", ";", "r", "<", "5", ";", "r", "++", ")", "{", "mmap_addr", "=", "MapViewOfFileEx", "(", "mmap_handle", ",", "FILE_MAP_COPY", ",", "0", ",", "offset", ",", "size", ",", "addr", ")", ";", "if", "(", "mmap_addr", "==", "addr", ")", "break", ";", "if", "(", "r", "!=", "4", ")", "Sleep", "(", "500", ")", ";", "}", "if", "(", "mmap_addr", "!=", "addr", ")", "{", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"MapViewOfFileEx\"", ")", ";", "CloseHandle", "(", "mmap_handle", ")", ";", "return", "-", "1", ";", "}", "return", "1", ";", "}", ""], "natrual_language": ["ADDR", "is", "an", "address", "returned", "by", "gt_pch_get_address", ".", "Attempt", "to", "allocate", "SIZE", "bytes", "at", "the", "same", "address", "and", "load", "it", "with", "the", "data", "from", "FD", "at", "OFFSET", ".", "Return", "-1", "if", "we", "could", "n't", "allocate", "memory", "at", "ADDR", ",", "return", "0", "if", "the", "memory", "is", "allocated", "but", "the", "data", "not", "loaded", ",", "return", "1", "if", "done", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "4", "2", "\"%lx\"", "0", "0", "\"CreateFileMapping\"", "1", "0", "5", "0", "4", "500", "\"MapViewOfFileEx\"", "1", "1"], "File": "host-mingw323", "Func": "mingw32_gt_pch_use_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37594, "Length": 261}
{"ground_truth": ["", "static", "size_t", "mingw32_gt_pch_alloc_granularity", "(", "void", ")", "{", "SYSTEM_INFO", "si", ";", "GetSystemInfo", "(", "&", "si", ")", ";", "va_granularity", "=", "(", "size_t", ")", "si", ".", "dwAllocationGranularity", ";", "return", "va_granularity", ";", "}", ""], "natrual_language": ["Granularity", "for", "reserving", "address", "space", "."], "TS_V_token": ["i386"], "File": "host-mingw32", "Func": "mingw32_gt_pch_alloc_granularity", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37595, "Length": 29}
{"ground_truth": ["", "static", "void", "*", "mingw32_gt_pch_get_address", "(", "size_t", "size", ",", "int", ")", "{", "void", "*", "res", ";", "size", "=", "(", "size", "+", "va_granularity", "-", "1", ")", "&", "~", "(", "va_granularity", "-", "1", ")", ";", "if", "(", "size", ">", "pch_VA_max_size", ")", "return", "NULL", ";", "res", "=", "VirtualAlloc", "(", "NULL", ",", "pch_VA_max_size", ",", "MEM_RESERVE", "|", "MEM_TOP_DOWN", ",", "PAGE_NOACCESS", ")", ";", "if", "(", "!", "res", ")", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"VirtualAlloc\"", ")", ";", "else", "VirtualFree", "(", "res", ",", "0", ",", "MEM_RELEASE", ")", ";", "return", "res", ";", "}", ""], "natrual_language": ["Identify", "an", "address", "that", "'s", "likely", "to", "be", "free", "in", "a", "subsequent", "invocation", "of", "the", "compiler", ".", "The", "area", "should", "be", "able", "to", "hold", "SIZE", "bytes", ".", "FD", "is", "an", "open", "file", "descriptor", "if", "the", "host", "would", "like", "to", "probe", "with", "mmap", "."], "TS_V_token": ["i386", "1", "1", "\"VirtualAlloc\"", "0"], "File": "host-mingw32", "Func": "mingw32_gt_pch_get_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37596, "Length": 86}
{"ground_truth": ["", "static", "int", "mingw32_gt_pch_use_address", "(", "void", "*", "&", "addr", ",", "size_t", "size", ",", "int", "fd", ",", "size_t", "offset", ")", "{", "void", "*", "mmap_addr", ";", "HANDLE", "mmap_handle", ";", "char", "*", "object_name", "=", "NULL", ";", "OSVERSIONINFO", "version_info", ";", "int", "r", ";", "version_info", ".", "dwOSVersionInfoSize", "=", "sizeof", "(", "version_info", ")", ";", "if", "(", "size", "==", "0", ")", "return", "0", ";", "if", "(", "(", "offset", "&", "(", "va_granularity", "-", "1", ")", ")", "!=", "0", "||", "size", ">", "pch_VA_max_size", ")", "return", "-", "1", ";", "GetVersionEx", "(", "&", "version_info", ")", ";", "char", "local_object_name", "[", "sizeof", "(", "OBJECT_NAME_FMT", ")", "+", "sizeof", "(", "DWORD", ")", "*", "2", "]", ";", "if", "(", "version_info", ".", "dwMajorVersion", ">", "4", ")", "{", "snprintf", "(", "local_object_name", ",", "sizeof", "(", "local_object_name", ")", ",", "OBJECT_NAME_FMT", "\"%lx\"", ",", "GetCurrentProcessId", "(", ")", ")", ";", "object_name", "=", "local_object_name", ";", "}", "mmap_handle", "=", "CreateFileMappingA", "(", "(", "HANDLE", ")", "_get_osfhandle", "(", "fd", ")", ",", "NULL", ",", "PAGE_WRITECOPY", "|", "SEC_COMMIT", ",", "0", ",", "0", ",", "object_name", ")", ";", "if", "(", "mmap_handle", "==", "NULL", ")", "{", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"CreateFileMapping\"", ")", ";", "return", "-", "1", ";", "}", "for", "(", "r", "=", "0", ";", "r", "<", "5", ";", "r", "++", ")", "{", "mmap_addr", "=", "MapViewOfFileEx", "(", "mmap_handle", ",", "FILE_MAP_COPY", ",", "0", ",", "offset", ",", "size", ",", "addr", ")", ";", "if", "(", "mmap_addr", "==", "addr", ")", "break", ";", "if", "(", "r", "!=", "4", ")", "Sleep", "(", "500", ")", ";", "}", "if", "(", "mmap_addr", "!=", "addr", ")", "{", "w32_error", "(", "__FUNCTION__", ",", "__FILE__", ",", "__LINE__", ",", "\"MapViewOfFileEx\"", ")", ";", "CloseHandle", "(", "mmap_handle", ")", ";", "return", "-", "1", ";", "}", "return", "1", ";", "}", ""], "natrual_language": ["ADDR", "is", "an", "address", "returned", "by", "gt_pch_get_address", ".", "Attempt", "to", "allocate", "SIZE", "bytes", "at", "the", "same", "address", "and", "load", "it", "with", "the", "data", "from", "FD", "at", "OFFSET", ".", "Return", "-1", "if", "we", "could", "n't", "allocate", "memory", "at", "ADDR", ",", "return", "0", "if", "the", "memory", "is", "allocated", "but", "the", "data", "not", "loaded", ",", "return", "1", "if", "done", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "2", "4", "\"%lx\"", "0", "0", "\"CreateFileMapping\"", "1", "0", "5", "0", "4", "500", "\"MapViewOfFileEx\"", "1", "1"], "File": "host-mingw32", "Func": "mingw32_gt_pch_use_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37597, "Length": 262}
{"ground_truth": ["", "static", "inline", "void", "w32_error", "(", "const", "char", "*", "function", ",", "const", "char", "*", "file", ",", "int", "line", ",", "const", "char", "*", "my_msg", ")", "{", "LPSTR", "w32_msgbuf", ";", "FormatMessageA", "(", "FORMAT_MESSAGE_ALLOCATE_BUFFER", "|", "FORMAT_MESSAGE_FROM_SYSTEM", "|", "FORMAT_MESSAGE_IGNORE_INSERTS", "|", "FORMAT_MESSAGE_MAX_WIDTH_MASK", ",", "NULL", ",", "GetLastError", "(", ")", ",", "MAKELANGID", "(", "LANG_NEUTRAL", ",", "SUBLANG_DEFAULT", ")", ",", "(", "LPSTR", ")", "&", "w32_msgbuf", ",", "0", ",", "NULL", ")", ";", "fprintf", "(", "stderr", ",", "\"internal error in %s, at %s:%d: %s: %s\\n\"", ",", "function", ",", "trim_filename", "(", "file", ")", ",", "line", ",", "my_msg", ",", "w32_msgbuf", ")", ";", "LocalFree", "(", "(", "HLOCAL", ")", "w32_msgbuf", ")", ";", "}", ""], "natrual_language": ["Print", "out", "the", "GetLastError", "(", ")", "translation", "."], "TS_V_token": ["i386", "0", "\"internal error in %s, at %s:%d: %s: %s\\n\""], "File": "host-mingw32", "Func": "w32_error", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37598, "Length": 90}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin", "(", "HOST_WIDE_INT", "mask", ",", "HOST_WIDE_INT", "mask2", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "NULL_TREE", ";", "if", "(", "!", "(", "mask", "&", "OPTION_MASK_ISA_64BIT", ")", "||", "TARGET_64BIT", ")", "{", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa", "=", "mask", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa2", "=", "mask2", ";", "mask", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512VL", ")", "&&", "mask", "!=", "OPTION_MASK_ISA_AVX512VL", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512VL", ";", "if", "(", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512BW", ")", "&&", "mask", "!=", "OPTION_MASK_ISA_AVX512BW", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512BW", ";", "if", "(", "(", "(", "mask2", "==", "0", "||", "(", "mask2", "&", "ix86_isa_flags2", ")", "!=", "0", ")", "&&", "(", "mask", "==", "0", "||", "(", "mask", "&", "ix86_isa_flags", ")", "!=", "0", ")", ")", "||", "(", "(", "mask", "&", "OPTION_MASK_ISA_MMX", ")", "!=", "0", "&&", "TARGET_MMX_WITH_SSE", ")", "||", "(", "mask2", "==", "OPTION_MASK_ISA2_AVXVNNI", ")", "||", "(", "mask2", "==", "OPTION_MASK_ISA2_AVXIFMA", ")", "||", "(", "mask2", "==", "(", "OPTION_MASK_ISA2_AVXNECONVERT", "|", "OPTION_MASK_ISA2_AVX512BF16", ")", ")", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", "=", "ix86_get_builtin_func_type", "(", "tcode", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "false", ";", "}", "else", "{", "deferred_isa_values", "|=", "mask", ";", "deferred_isa_values2", "|=", "mask2", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "tcode", "=", "tcode", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "name", "=", "name", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "pure_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "true", ";", "}", "}", "return", "decl", ";", "}", ""], "natrual_language": ["Add", "a", "SPARC", "builtin", "function", "with", "NAME", ",", "ICODE", ",", "CODE", "and", "TYPE", ".", "Return", "the", "function", "decl", "or", "NULL_TREE", "if", "the", "builtin", "was", "not", "added", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0"], "File": "i386-builtins1", "Func": "def_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37599, "Length": 320}
{"ground_truth": ["", "void", "ix86_add_new_builtins", "(", "HOST_WIDE_INT", "isa", ",", "HOST_WIDE_INT", "isa2", ")", "{", "isa", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "(", "isa", "&", "deferred_isa_values", ")", "==", "0", "&&", "(", "isa2", "&", "deferred_isa_values2", ")", "==", "0", "&&", "(", "(", "deferred_isa_values", "&", "OPTION_MASK_ISA_MMX", ")", "==", "0", "||", "!", "(", "TARGET_64BIT", "&&", "(", "isa", "&", "OPTION_MASK_ISA_SSE2", ")", "!=", "0", ")", ")", ")", "return", ";", "deferred_isa_values", "&=", "~", "isa", ";", "deferred_isa_values2", "&=", "~", "isa2", ";", "if", "(", "TARGET_64BIT", "&&", "(", "isa", "&", "OPTION_MASK_ISA_SSE2", ")", "!=", "0", ")", "deferred_isa_values", "&=", "~", "OPTION_MASK_ISA_MMX", ";", "int", "i", ";", "tree", "saved_current_target_pragma", "=", "current_target_pragma", ";", "current_target_pragma", "=", "NULL_TREE", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "int", ")", "IX86_BUILTIN_MAX", ";", "i", "++", ")", "{", "if", "(", "(", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa", "&", "isa", ")", "!=", "0", "||", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa2", "&", "isa2", ")", "!=", "0", "||", "(", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa", "&", "OPTION_MASK_ISA_MMX", ")", "!=", "0", "&&", "TARGET_64BIT", "&&", "(", "isa", "&", "OPTION_MASK_ISA_SSE2", ")", "!=", "0", ")", ")", "&&", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", ")", "{", "tree", "decl", ",", "type", ";", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", "=", "false", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ix86_builtins_isa", "[", "i", "]", ".", "tcode", ")", ";", "decl", "=", "add_builtin_function_ext_scope", "(", "ix86_builtins_isa", "[", "i", "]", ".", "name", ",", "type", ",", "i", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "i", "]", "=", "decl", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "const_p", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "pure_p", ")", "DECL_PURE_P", "(", "decl", ")", "=", "1", ";", "}", "}", "current_target_pragma", "=", "saved_current_target_pragma", ";", "}", ""], "natrual_language": ["Add", "any", "new", "builtin", "functions", "for", "a", "given", "ISA", "that", "may", "not", "have", "been", "declared", ".", "This", "saves", "a", "bit", "of", "space", "compared", "to", "adding", "all", "of", "the", "declarations", "to", "the", "tree", ",", "even", "if", "we", "did", "n't", "use", "them", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "1"], "File": "i386-builtins1", "Func": "ix86_add_new_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37600, "Length": 271}
{"ground_truth": ["", "tree", "ix86_builtin_vectorized_function", "(", "unsigned", "int", "fn", ",", "tree", "type_out", ",", "tree", "type_in", ")", "{", "machine_mode", "in_mode", ",", "out_mode", ";", "int", "in_n", ",", "out_n", ";", "if", "(", "TREE_CODE", "(", "type_out", ")", "!=", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type_in", ")", "!=", "VECTOR_TYPE", ")", "return", "NULL_TREE", ";", "out_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_out", ")", ")", ";", "out_n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_out", ")", ";", "in_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_in", ")", ")", ";", "in_n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_in", ")", ";", "switch", "(", "fn", ")", "{", "CASE_CFN_IFLOOR", ":", "CASE_CFN_LFLOOR", ":", "if", "(", "flag_trapping_math", "||", "!", "TARGET_SSE4_1", ")", "break", ";", "if", "(", "out_mode", "==", "SImode", "&&", "in_mode", "==", "DFmode", ")", "{", "if", "(", "out_n", "==", "4", "&&", "in_n", "==", "2", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_FLOORPD_VEC_PACK_SFIX", ")", ";", "else", "if", "(", "out_n", "==", "8", "&&", "in_n", "==", "4", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_FLOORPD_VEC_PACK_SFIX256", ")", ";", "else", "if", "(", "out_n", "==", "16", "&&", "in_n", "==", "8", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_FLOORPD_VEC_PACK_SFIX512", ")", ";", "}", "break", ";", "CASE_CFN_ICEIL", ":", "CASE_CFN_LCEIL", ":", "if", "(", "flag_trapping_math", "||", "!", "TARGET_SSE4_1", ")", "break", ";", "if", "(", "out_mode", "==", "SImode", "&&", "in_mode", "==", "DFmode", ")", "{", "if", "(", "out_n", "==", "4", "&&", "in_n", "==", "2", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_CEILPD_VEC_PACK_SFIX", ")", ";", "else", "if", "(", "out_n", "==", "8", "&&", "in_n", "==", "4", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_CEILPD_VEC_PACK_SFIX256", ")", ";", "else", "if", "(", "out_n", "==", "16", "&&", "in_n", "==", "8", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_CEILPD_VEC_PACK_SFIX512", ")", ";", "}", "break", ";", "CASE_CFN_IRINT", ":", "CASE_CFN_LRINT", ":", "if", "(", "out_mode", "==", "SImode", "&&", "in_mode", "==", "DFmode", ")", "{", "if", "(", "out_n", "==", "4", "&&", "in_n", "==", "2", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_VEC_PACK_SFIX", ")", ";", "else", "if", "(", "out_n", "==", "8", "&&", "in_n", "==", "4", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_VEC_PACK_SFIX256", ")", ";", "else", "if", "(", "out_n", "==", "16", "&&", "in_n", "==", "8", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_VEC_PACK_SFIX512", ")", ";", "}", "break", ";", "CASE_CFN_IROUND", ":", "CASE_CFN_LROUND", ":", "if", "(", "flag_trapping_math", "||", "!", "TARGET_SSE4_1", ")", "break", ";", "if", "(", "out_mode", "==", "SImode", "&&", "in_mode", "==", "DFmode", ")", "{", "if", "(", "out_n", "==", "4", "&&", "in_n", "==", "2", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_ROUNDPD_AZ_VEC_PACK_SFIX", ")", ";", "else", "if", "(", "out_n", "==", "8", "&&", "in_n", "==", "4", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_ROUNDPD_AZ_VEC_PACK_SFIX256", ")", ";", "else", "if", "(", "out_n", "==", "16", "&&", "in_n", "==", "8", ")", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_ROUNDPD_AZ_VEC_PACK_SFIX512", ")", ";", "}", "break", ";", "default", ":", "break", ";", "}", "if", "(", "ix86_veclib_handler", ")", "return", "ix86_veclib_handler", "(", "combined_fn", "(", "fn", ")", ",", "type_out", ",", "type_in", ")", ";", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Returns", "a", "function", "decl", "for", "a", "vectorized", "version", "of", "the", "builtin", "function", "with", "builtin", "function", "code", "FN", "and", "the", "result", "vector", "type", "TYPE", ",", "or", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "4", "2", "8", "4", "16", "8", "4", "2", "8", "4", "16", "8", "4", "2", "8", "4", "16", "8", "4", "2", "8", "4", "16", "8"], "File": "i386-builtins1", "Func": "ix86_builtin_vectorized_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37601, "Length": 407}
{"ground_truth": ["", "static", "tree", "build_processor_model_struct", "(", "void", ")", "{", "const", "char", "*", "field_name", "[", "]", "=", "{", "\"__cpu_vendor\"", ",", "\"__cpu_type\"", ",", "\"__cpu_subtype\"", ",", "\"__cpu_features\"", "}", ";", "tree", "field", "=", "NULL_TREE", ",", "field_chain", "=", "NULL_TREE", ";", "int", "i", ";", "tree", "type", "=", "make_node", "(", "RECORD_TYPE", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "3", ";", "++", "i", ")", "{", "field", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "field_name", "[", "i", "]", ")", ",", "unsigned_type_node", ")", ";", "if", "(", "field_chain", "!=", "NULL_TREE", ")", "DECL_CHAIN", "(", "field", ")", "=", "field_chain", ";", "field_chain", "=", "field", ";", "}", "field", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "field_name", "[", "3", "]", ")", ",", "build_array_type", "(", "unsigned_type_node", ",", "build_index_type", "(", "size_one_node", ")", ")", ")", ";", "if", "(", "field_chain", "!=", "NULL_TREE", ")", "DECL_CHAIN", "(", "field", ")", "=", "field_chain", ";", "field_chain", "=", "field", ";", "finish_builtin_struct", "(", "type", ",", "\"__processor_model\"", ",", "field_chain", ",", "NULL_TREE", ")", ";", "return", "type", ";", "}", ""], "natrual_language": ["This", "builds", "the", "processor_model", "struct", "type", "defined", "in", "libgcc/config/i386/cpuinfo.c"], "TS_V_token": ["i386", "\"__cpu_vendor\"", "\"__cpu_type\"", "\"__cpu_subtype\"", "\"__cpu_features\"", "0", "3", "3", "\"__processor_model\""], "File": "i386-builtins", "Func": "build_processor_model_struct", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37602, "Length": 154}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin", "(", "HOST_WIDE_INT", "mask", ",", "HOST_WIDE_INT", "mask2", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "NULL_TREE", ";", "if", "(", "!", "(", "mask", "&", "OPTION_MASK_ISA_64BIT", ")", "||", "TARGET_64BIT", ")", "{", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa", "=", "mask", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa2", "=", "mask2", ";", "mask", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512VL", ")", "&&", "mask", "!=", "OPTION_MASK_ISA_AVX512VL", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512VL", ";", "if", "(", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512BW", ")", "&&", "mask", "!=", "OPTION_MASK_ISA_AVX512BW", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512BW", ";", "if", "(", "(", "(", "mask2", "==", "0", "||", "(", "mask2", "&", "ix86_isa_flags2", ")", "!=", "0", ")", "&&", "(", "mask", "==", "0", "||", "(", "mask", "&", "ix86_isa_flags", ")", "!=", "0", ")", ")", "||", "(", "(", "mask", "&", "OPTION_MASK_ISA_MMX", ")", "!=", "0", "&&", "TARGET_MMX_WITH_SSE", ")", "||", "(", "mask2", "==", "OPTION_MASK_ISA2_AVXVNNI", ")", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", "=", "ix86_get_builtin_func_type", "(", "tcode", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "false", ";", "}", "else", "{", "deferred_isa_values", "|=", "mask", ";", "deferred_isa_values2", "|=", "mask2", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "tcode", "=", "tcode", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "name", "=", "name", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "pure_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "true", ";", "}", "}", "return", "decl", ";", "}", ""], "natrual_language": ["Add", "a", "SPARC", "builtin", "function", "with", "NAME", ",", "ICODE", ",", "CODE", "and", "TYPE", ".", "Return", "the", "function", "decl", "or", "NULL_TREE", "if", "the", "builtin", "was", "not", "added", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0"], "File": "i386-builtins", "Func": "def_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37603, "Length": 304}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin_const", "(", "HOST_WIDE_INT", "mask", ",", "HOST_WIDE_INT", "mask2", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "def_builtin", "(", "mask", ",", "mask2", ",", "name", ",", "tcode", ",", "code", ")", ";", "if", "(", "decl", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "else", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "true", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Likewise", ",", "but", "also", "marks", "the", "function", "as", "``", "const", "''", "."], "TS_V_token": ["i386", "1"], "File": "i386-builtins", "Func": "def_builtin_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37604, "Length": 69}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin_pure", "(", "HOST_WIDE_INT", "mask", ",", "HOST_WIDE_INT", "mask2", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "def_builtin", "(", "mask", ",", "mask2", ",", "name", ",", "tcode", ",", "code", ")", ";", "if", "(", "decl", ")", "DECL_PURE_P", "(", "decl", ")", "=", "1", ";", "else", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "pure_p", "=", "true", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Like", "def_builtin", ",", "but", "also", "marks", "the", "function", "decl", "``", "pure", "''", "."], "TS_V_token": ["i386", "1"], "File": "i386-builtins", "Func": "def_builtin_pure", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37605, "Length": 69}
{"ground_truth": ["", "void", "ix86_add_new_builtins", "(", "HOST_WIDE_INT", "isa", ",", "HOST_WIDE_INT", "isa2", ")", "{", "isa", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "(", "isa", "&", "deferred_isa_values", ")", "==", "0", "&&", "(", "isa2", "&", "deferred_isa_values2", ")", "==", "0", "&&", "(", "(", "deferred_isa_values", "&", "OPTION_MASK_ISA_MMX", ")", "==", "0", "||", "!", "(", "TARGET_64BIT", "&&", "(", "isa", "&", "OPTION_MASK_ISA_SSE2", ")", "!=", "0", ")", ")", ")", "return", ";", "deferred_isa_values", "&=", "~", "isa", ";", "deferred_isa_values2", "&=", "~", "isa2", ";", "if", "(", "TARGET_64BIT", "&&", "(", "isa", "&", "OPTION_MASK_ISA_SSE2", ")", "!=", "0", ")", "deferred_isa_values", "&=", "~", "OPTION_MASK_ISA_MMX", ";", "int", "i", ";", "tree", "saved_current_target_pragma", "=", "current_target_pragma", ";", "current_target_pragma", "=", "NULL_TREE", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "int", ")", "IX86_BUILTIN_MAX", ";", "i", "++", ")", "{", "if", "(", "(", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa", "&", "isa", ")", "!=", "0", "||", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa2", "&", "isa2", ")", "!=", "0", "||", "(", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa", "&", "OPTION_MASK_ISA_MMX", ")", "!=", "0", "&&", "TARGET_64BIT", "&&", "(", "isa", "&", "OPTION_MASK_ISA_SSE2", ")", "!=", "0", ")", ")", "&&", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", ")", "{", "tree", "decl", ",", "type", ";", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", "=", "false", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ix86_builtins_isa", "[", "i", "]", ".", "tcode", ")", ";", "decl", "=", "add_builtin_function_ext_scope", "(", "ix86_builtins_isa", "[", "i", "]", ".", "name", ",", "type", ",", "i", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "i", "]", "=", "decl", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "const_p", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "}", "}", "current_target_pragma", "=", "saved_current_target_pragma", ";", "}", ""], "natrual_language": ["Add", "any", "new", "builtin", "functions", "for", "a", "given", "ISA", "that", "may", "not", "have", "been", "declared", ".", "This", "saves", "a", "bit", "of", "space", "compared", "to", "adding", "all", "of", "the", "declarations", "to", "the", "tree", ",", "even", "if", "we", "did", "n't", "use", "them", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i386-builtins", "Func": "ix86_add_new_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37606, "Length": 255}
{"ground_truth": ["", "tree", "ix86_builtin_decl", "(", "unsigned", "code", ",", "bool", ")", "{", "if", "(", "code", ">=", "IX86_BUILTIN_MAX", ")", "return", "error_mark_node", ";", "return", "ix86_builtins", "[", "code", "]", ";", "}", ""], "natrual_language": ["Return", "the", "ix86", "builtin", "for", "CODE", "."], "TS_V_token": ["i386"], "File": "i386-builtins", "Func": "ix86_builtin_decl", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37607, "Length": 25}
{"ground_truth": ["", "tree", "ix86_builtin_reciprocal", "(", "tree", "fndecl", ")", "{", "enum", "ix86_builtins", "fn_code", "=", "(", "enum", "ix86_builtins", ")", "DECL_MD_FUNCTION_CODE", "(", "fndecl", ")", ";", "switch", "(", "fn_code", ")", "{", "case", "IX86_BUILTIN_SQRTPS_NR", ":", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_RSQRTPS_NR", ")", ";", "case", "IX86_BUILTIN_SQRTPS_NR256", ":", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_RSQRTPS_NR256", ")", ";", "default", ":", "return", "NULL_TREE", ";", "}", "}", ""], "natrual_language": ["Returns", "a", "code", "for", "a", "target-specific", "builtin", "that", "implements", "reciprocal", "of", "the", "function", ",", "or", "NULL_TREE", "if", "not", "available", "."], "TS_V_token": ["i386"], "File": "i386-builtins", "Func": "ix86_builtin_reciprocal", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37608, "Length": 50}
{"ground_truth": ["", "static", "tree", "ix86_get_builtin_func_type", "(", "enum", "ix86_builtin_func_type", "tcode", ")", "{", "tree", "type", ";", "gcc_assert", "(", "(", "unsigned", ")", "tcode", "<", "ARRAY_SIZE", "(", "ix86_builtin_func_type_tab", ")", ")", ";", "type", "=", "ix86_builtin_func_type_tab", "[", "(", "int", ")", "tcode", "]", ";", "if", "(", "type", "!=", "NULL", ")", "return", "type", ";", "if", "(", "tcode", "<=", "IX86_BT_LAST_FUNC", ")", "{", "unsigned", "start", "=", "ix86_builtin_func_start", "[", "(", "int", ")", "tcode", "]", ";", "unsigned", "after", "=", "ix86_builtin_func_start", "[", "(", "int", ")", "tcode", "+", "1", "]", ";", "tree", "rtype", ",", "atype", ",", "args", "=", "void_list_node", ";", "unsigned", "i", ";", "rtype", "=", "ix86_get_builtin_type", "(", "ix86_builtin_func_args", "[", "start", "]", ")", ";", "for", "(", "i", "=", "after", "-", "1", ";", "i", ">", "start", ";", "--", "i", ")", "{", "atype", "=", "ix86_get_builtin_type", "(", "ix86_builtin_func_args", "[", "i", "]", ")", ";", "args", "=", "tree_cons", "(", "NULL", ",", "atype", ",", "args", ")", ";", "}", "type", "=", "build_function_type", "(", "rtype", ",", "args", ")", ";", "}", "else", "{", "unsigned", "index", "=", "tcode", "-", "IX86_BT_LAST_FUNC", "-", "1", ";", "enum", "ix86_builtin_func_type", "icode", ";", "icode", "=", "ix86_builtin_func_alias_base", "[", "index", "]", ";", "type", "=", "ix86_get_builtin_func_type", "(", "icode", ")", ";", "}", "ix86_builtin_func_type_tab", "[", "(", "int", ")", "tcode", "]", "=", "type", ";", "return", "type", ";", "}", ""], "natrual_language": ["Retrieve", "an", "element", "from", "the", "above", "table", ",", "building", "some", "of", "the", "types", "lazily", "."], "TS_V_token": ["i386", "1", "1", "1"], "File": "i386-builtins", "Func": "ix86_get_builtin_func_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37609, "Length": 189}
{"ground_truth": ["", "static", "tree", "ix86_get_builtin_type", "(", "enum", "ix86_builtin_type", "tcode", ")", "{", "unsigned", "int", "index", ";", "tree", "type", ",", "itype", ";", "gcc_assert", "(", "(", "unsigned", ")", "tcode", "<", "ARRAY_SIZE", "(", "ix86_builtin_type_tab", ")", ")", ";", "type", "=", "ix86_builtin_type_tab", "[", "(", "int", ")", "tcode", "]", ";", "if", "(", "type", "!=", "NULL", ")", "return", "type", ";", "gcc_assert", "(", "tcode", ">", "IX86_BT_LAST_PRIM", ")", ";", "if", "(", "tcode", "<=", "IX86_BT_LAST_VECT", ")", "{", "machine_mode", "mode", ";", "index", "=", "tcode", "-", "IX86_BT_LAST_PRIM", "-", "1", ";", "itype", "=", "ix86_get_builtin_type", "(", "ix86_builtin_type_vect_base", "[", "index", "]", ")", ";", "mode", "=", "ix86_builtin_type_vect_mode", "[", "index", "]", ";", "type", "=", "build_vector_type_for_mode", "(", "itype", ",", "mode", ")", ";", "}", "else", "{", "int", "quals", ";", "index", "=", "tcode", "-", "IX86_BT_LAST_VECT", "-", "1", ";", "if", "(", "tcode", "<=", "IX86_BT_LAST_PTR", ")", "quals", "=", "TYPE_UNQUALIFIED", ";", "else", "quals", "=", "TYPE_QUAL_CONST", ";", "itype", "=", "ix86_get_builtin_type", "(", "ix86_builtin_type_ptr_base", "[", "index", "]", ")", ";", "if", "(", "quals", "!=", "TYPE_UNQUALIFIED", ")", "itype", "=", "build_qualified_type", "(", "itype", ",", "quals", ")", ";", "type", "=", "build_pointer_type", "(", "itype", ")", ";", "}", "ix86_builtin_type_tab", "[", "(", "int", ")", "tcode", "]", "=", "type", ";", "return", "type", ";", "}", ""], "natrual_language": ["Retrieve", "an", "element", "from", "the", "above", "table", ",", "building", "some", "of", "the", "types", "lazily", "."], "TS_V_token": ["i386", "1", "1"], "File": "i386-builtins", "Func": "ix86_get_builtin_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37610, "Length": 177}
{"ground_truth": ["", "static", "void", "ix86_init_builtins_va_builtins_abi", "(", "void", ")", "{", "tree", "ms_va_ref", ",", "sysv_va_ref", ";", "tree", "fnvoid_va_end_ms", ",", "fnvoid_va_end_sysv", ";", "tree", "fnvoid_va_start_ms", ",", "fnvoid_va_start_sysv", ";", "tree", "fnvoid_va_copy_ms", ",", "fnvoid_va_copy_sysv", ";", "tree", "fnattr_ms", "=", "NULL_TREE", ",", "fnattr_sysv", "=", "NULL_TREE", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", ";", "fnattr_ms", "=", "build_tree_list", "(", "get_identifier", "(", "\"ms_abi\"", ")", ",", "NULL_TREE", ")", ";", "fnattr_sysv", "=", "build_tree_list", "(", "get_identifier", "(", "\"sysv_abi\"", ")", ",", "NULL_TREE", ")", ";", "ms_va_ref", "=", "build_reference_type", "(", "ms_va_list_type_node", ")", ";", "sysv_va_ref", "=", "build_pointer_type", "(", "TREE_TYPE", "(", "sysv_va_list_type_node", ")", ")", ";", "fnvoid_va_end_ms", "=", "build_function_type_list", "(", "void_type_node", ",", "ms_va_ref", ",", "NULL_TREE", ")", ";", "fnvoid_va_start_ms", "=", "build_varargs_function_type_list", "(", "void_type_node", ",", "ms_va_ref", ",", "NULL_TREE", ")", ";", "fnvoid_va_end_sysv", "=", "build_function_type_list", "(", "void_type_node", ",", "sysv_va_ref", ",", "NULL_TREE", ")", ";", "fnvoid_va_start_sysv", "=", "build_varargs_function_type_list", "(", "void_type_node", ",", "sysv_va_ref", ",", "NULL_TREE", ")", ";", "fnvoid_va_copy_ms", "=", "build_function_type_list", "(", "void_type_node", ",", "ms_va_ref", ",", "ms_va_list_type_node", ",", "NULL_TREE", ")", ";", "fnvoid_va_copy_sysv", "=", "build_function_type_list", "(", "void_type_node", ",", "sysv_va_ref", ",", "sysv_va_ref", ",", "NULL_TREE", ")", ";", "add_builtin_function", "(", "\"__builtin_ms_va_start\"", ",", "fnvoid_va_start_ms", ",", "BUILT_IN_VA_START", ",", "BUILT_IN_NORMAL", ",", "NULL", ",", "fnattr_ms", ")", ";", "add_builtin_function", "(", "\"__builtin_ms_va_end\"", ",", "fnvoid_va_end_ms", ",", "BUILT_IN_VA_END", ",", "BUILT_IN_NORMAL", ",", "NULL", ",", "fnattr_ms", ")", ";", "add_builtin_function", "(", "\"__builtin_ms_va_copy\"", ",", "fnvoid_va_copy_ms", ",", "BUILT_IN_VA_COPY", ",", "BUILT_IN_NORMAL", ",", "NULL", ",", "fnattr_ms", ")", ";", "add_builtin_function", "(", "\"__builtin_sysv_va_start\"", ",", "fnvoid_va_start_sysv", ",", "BUILT_IN_VA_START", ",", "BUILT_IN_NORMAL", ",", "NULL", ",", "fnattr_sysv", ")", ";", "add_builtin_function", "(", "\"__builtin_sysv_va_end\"", ",", "fnvoid_va_end_sysv", ",", "BUILT_IN_VA_END", ",", "BUILT_IN_NORMAL", ",", "NULL", ",", "fnattr_sysv", ")", ";", "add_builtin_function", "(", "\"__builtin_sysv_va_copy\"", ",", "fnvoid_va_copy_sysv", ",", "BUILT_IN_VA_COPY", ",", "BUILT_IN_NORMAL", ",", "NULL", ",", "fnattr_sysv", ")", ";", "}", ""], "natrual_language": ["Internal", "method", "for", "ix86_init_builtins", "."], "TS_V_token": ["i386", "\"ms_abi\"", "\"sysv_abi\"", "\"__builtin_ms_va_start\"", "\"__builtin_ms_va_end\"", "\"__builtin_ms_va_copy\"", "\"__builtin_sysv_va_start\"", "\"__builtin_sysv_va_end\"", "\"__builtin_sysv_va_copy\""], "File": "i386-builtins", "Func": "ix86_init_builtins_va_builtins_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37611, "Length": 245}
{"ground_truth": ["", "static", "void", "ix86_init_platform_type_builtins", "(", "void", ")", "{", "make_cpu_type_builtin", "(", "\"__builtin_cpu_init\"", ",", "IX86_BUILTIN_CPU_INIT", ",", "INT_FTYPE_VOID", ",", "false", ")", ";", "make_cpu_type_builtin", "(", "\"__builtin_cpu_is\"", ",", "IX86_BUILTIN_CPU_IS", ",", "INT_FTYPE_PCCHAR", ",", "true", ")", ";", "make_cpu_type_builtin", "(", "\"__builtin_cpu_supports\"", ",", "IX86_BUILTIN_CPU_SUPPORTS", ",", "INT_FTYPE_PCCHAR", ",", "true", ")", ";", "}", ""], "natrual_language": ["Make", "builtins", "to", "get", "CPU", "type", "and", "features", "supported", ".", "The", "created", "builtins", "are", ":", "__builtin_cpu_init", "(", ")", ",", "to", "detect", "cpu", "type", "and", "features", ",", "__builtin_cpu_is", "(", "``", "<", "CPUNAME", ">", "''", ")", ",", "to", "check", "if", "cpu", "is", "of", "type", "<", "CPUNAME", ">", ",", "__builtin_cpu_supports", "(", "``", "<", "FEATURE", ">", "''", ")", ",", "to", "check", "if", "cpu", "supports", "<", "FEATURE", ">"], "TS_V_token": ["i386", "\"__builtin_cpu_init\"", "\"__builtin_cpu_is\"", "\"__builtin_cpu_supports\""], "File": "i386-builtins", "Func": "ix86_init_platform_type_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37612, "Length": 41}
{"ground_truth": ["", "static", "void", "ix86_init_tm_builtins", "(", "void", ")", "{", "enum", "ix86_builtin_func_type", "ftype", ";", "const", "struct", "builtin_description", "*", "d", ";", "size_t", "i", ";", "tree", "decl", ";", "tree", "attrs_load", ",", "attrs_type_load", ",", "attrs_store", ",", "attrs_type_store", ";", "tree", "attrs_log", ",", "attrs_type_log", ";", "if", "(", "!", "flag_tm", ")", "return", ";", "if", "(", "!", "builtin_decl_explicit_p", "(", "BUILT_IN_TM_LOAD_1", ")", ")", "return", ";", "decl", "=", "builtin_decl_explicit", "(", "BUILT_IN_TM_LOAD_1", ")", ";", "attrs_load", "=", "DECL_ATTRIBUTES", "(", "decl", ")", ";", "attrs_type_load", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "decl", "=", "builtin_decl_explicit", "(", "BUILT_IN_TM_STORE_1", ")", ";", "attrs_store", "=", "DECL_ATTRIBUTES", "(", "decl", ")", ";", "attrs_type_store", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "decl", "=", "builtin_decl_explicit", "(", "BUILT_IN_TM_LOG", ")", ";", "attrs_log", "=", "DECL_ATTRIBUTES", "(", "decl", ")", ";", "attrs_type_log", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "for", "(", "i", "=", "0", ",", "d", "=", "bdesc_tm", ";", "i", "<", "ARRAY_SIZE", "(", "bdesc_tm", ")", ";", "i", "++", ",", "d", "++", ")", "{", "if", "(", "(", "d", "->", "mask", "&", "ix86_isa_flags", ")", "!=", "0", "||", "(", "(", "d", "->", "mask", "&", "OPTION_MASK_ISA_MMX", ")", "!=", "0", "&&", "TARGET_MMX_WITH_SSE", ")", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", ",", "attrs", ",", "attrs_type", ";", "enum", "built_in_function", "code", "=", "(", "enum", "built_in_function", ")", "d", "->", "code", ";", "ftype", "=", "(", "enum", "ix86_builtin_func_type", ")", "d", "->", "flag", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ftype", ")", ";", "if", "(", "BUILTIN_TM_LOAD_P", "(", "code", ")", ")", "{", "attrs", "=", "attrs_load", ";", "attrs_type", "=", "attrs_type_load", ";", "}", "else", "if", "(", "BUILTIN_TM_STORE_P", "(", "code", ")", ")", "{", "attrs", "=", "attrs_store", ";", "attrs_type", "=", "attrs_type_store", ";", "}", "else", "{", "attrs", "=", "attrs_log", ";", "attrs_type", "=", "attrs_type_log", ";", "}", "decl", "=", "add_builtin_function", "(", "d", "->", "name", ",", "type", ",", "code", ",", "BUILT_IN_NORMAL", ",", "d", "->", "name", "+", "strlen", "(", "\"__builtin_\"", ")", ",", "attrs", ")", ";", "decl_attributes", "(", "&", "TREE_TYPE", "(", "decl", ")", ",", "attrs_type", ",", "ATTR_FLAG_BUILT_IN", ")", ";", "set_builtin_decl", "(", "code", ",", "decl", ",", "false", ")", ";", "}", "}", "}", ""], "natrual_language": ["Initialize", "the", "transactional", "memory", "vector", "load/store", "builtins", "."], "TS_V_token": ["i386", "0", "0", "0", "\"__builtin_\""], "File": "i386-builtins", "Func": "ix86_init_tm_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37613, "Length": 320}
{"ground_truth": ["", "tree", "ix86_vectorize_builtin_gather", "(", "const_tree", "mem_vectype", ",", "const_tree", "index_type", ",", "int", "scale", ")", "{", "bool", "si", ";", "enum", "ix86_builtins", "code", ";", "if", "(", "!", "TARGET_AVX2", "||", "(", "known_eq", "(", "TYPE_VECTOR_SUBPARTS", "(", "mem_vectype", ")", ",", "2u", ")", "?", "!", "TARGET_USE_GATHER_2PARTS", ":", "(", "known_eq", "(", "TYPE_VECTOR_SUBPARTS", "(", "mem_vectype", ")", ",", "4u", ")", "?", "!", "TARGET_USE_GATHER_4PARTS", ":", "!", "TARGET_USE_GATHER", ")", ")", ")", "return", "NULL_TREE", ";", "if", "(", "(", "TREE_CODE", "(", "index_type", ")", "!=", "INTEGER_TYPE", "&&", "!", "POINTER_TYPE_P", "(", "index_type", ")", ")", "||", "(", "TYPE_MODE", "(", "index_type", ")", "!=", "SImode", "&&", "TYPE_MODE", "(", "index_type", ")", "!=", "DImode", ")", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", ">", "POINTER_SIZE", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", "<", "POINTER_SIZE", "&&", "TYPE_UNSIGNED", "(", "index_type", ")", ")", "return", "NULL_TREE", ";", "if", "(", "scale", "<=", "0", "||", "scale", ">", "8", "||", "(", "scale", "&", "(", "scale", "-", "1", ")", ")", "!=", "0", ")", "return", "NULL_TREE", ";", "si", "=", "TYPE_MODE", "(", "index_type", ")", "==", "SImode", ";", "switch", "(", "TYPE_MODE", "(", "mem_vectype", ")", ")", "{", "case", "E_V2DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV2DF", ":", "IX86_BUILTIN_GATHER3DIV2DF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV2DF", ":", "IX86_BUILTIN_GATHERDIV2DF", ";", "break", ";", "case", "E_V4DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV4DF", ":", "IX86_BUILTIN_GATHER3DIV4DF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERALTSIV4DF", ":", "IX86_BUILTIN_GATHERDIV4DF", ";", "break", ";", "case", "E_V2DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV2DI", ":", "IX86_BUILTIN_GATHER3DIV2DI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV2DI", ":", "IX86_BUILTIN_GATHERDIV2DI", ";", "break", ";", "case", "E_V4DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV4DI", ":", "IX86_BUILTIN_GATHER3DIV4DI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERALTSIV4DI", ":", "IX86_BUILTIN_GATHERDIV4DI", ";", "break", ";", "case", "E_V4SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV4SF", ":", "IX86_BUILTIN_GATHER3DIV4SF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV4SF", ":", "IX86_BUILTIN_GATHERDIV4SF", ";", "break", ";", "case", "E_V8SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV8SF", ":", "IX86_BUILTIN_GATHER3ALTDIV8SF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV8SF", ":", "IX86_BUILTIN_GATHERALTDIV8SF", ";", "break", ";", "case", "E_V4SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV4SI", ":", "IX86_BUILTIN_GATHER3DIV4SI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV4SI", ":", "IX86_BUILTIN_GATHERDIV4SI", ";", "break", ";", "case", "E_V8SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV8SI", ":", "IX86_BUILTIN_GATHER3ALTDIV8SI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV8SI", ":", "IX86_BUILTIN_GATHERALTDIV8SI", ";", "break", ";", "case", "E_V8DFmode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV8DF", ":", "IX86_BUILTIN_GATHER3DIV8DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V8DImode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV8DI", ":", "IX86_BUILTIN_GATHER3DIV8DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V16SFmode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV16SF", ":", "IX86_BUILTIN_GATHER3ALTDIV16SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V16SImode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV16SI", ":", "IX86_BUILTIN_GATHER3ALTDIV16SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "return", "ix86_get_builtin", "(", "code", ")", ";", "}", ""], "natrual_language": ["Returns", "a", "decl", "of", "a", "function", "that", "implements", "gather", "load", "with", "memory", "type", "MEM_VECTYPE", "and", "index", "type", "INDEX_VECTYPE", "and", "SCALE", ".", "Return", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "2u", "4u", "0", "8", "1", "0"], "File": "i386-builtins", "Func": "ix86_vectorize_builtin_gather", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37614, "Length": 473}
{"ground_truth": ["", "static", "void", "make_cpu_type_builtin", "(", "const", "char", "*", "name", ",", "int", "code", ",", "enum", "ix86_builtin_func_type", "ftype", ",", "bool", "is_const", ")", "{", "tree", "decl", ";", "tree", "type", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ftype", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "gcc_assert", "(", "decl", "!=", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "TREE_READONLY", "(", "decl", ")", "=", "is_const", ";", "}", ""], "natrual_language": ["Make", "builtins", "to", "detect", "cpu", "type", "and", "features", "supported", ".", "NAME", "is", "the", "builtin", "name", ",", "CODE", "is", "the", "builtin", "code", ",", "and", "FTYPE", "is", "the", "function", "type", "of", "the", "builtin", "."], "TS_V_token": ["i386"], "File": "i386-builtins", "Func": "make_cpu_type_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37615, "Length": 75}
{"ground_truth": ["", "static", "tree", "make_var_decl", "(", "tree", "type", ",", "const", "char", "*", "name", ")", "{", "tree", "new_decl", ";", "new_decl", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "VAR_DECL", ",", "get_identifier", "(", "name", ")", ",", "type", ")", ";", "DECL_EXTERNAL", "(", "new_decl", ")", "=", "1", ";", "TREE_STATIC", "(", "new_decl", ")", "=", "1", ";", "TREE_PUBLIC", "(", "new_decl", ")", "=", "1", ";", "DECL_INITIAL", "(", "new_decl", ")", "=", "0", ";", "DECL_ARTIFICIAL", "(", "new_decl", ")", "=", "0", ";", "DECL_PRESERVE_P", "(", "new_decl", ")", "=", "1", ";", "make_decl_one_only", "(", "new_decl", ",", "DECL_ASSEMBLER_NAME", "(", "new_decl", ")", ")", ";", "assemble_variable", "(", "new_decl", ",", "0", ",", "0", ",", "0", ")", ";", "return", "new_decl", ";", "}", ""], "natrual_language": ["Returns", "a", "extern", ",", "comdat", "VAR_DECL", "of", "type", "TYPE", "and", "name", "NAME", "."], "TS_V_token": ["i386", "1", "1", "1", "0", "0", "1", "0", "0", "0"], "File": "i386-builtins", "Func": "make_var_decl", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37616, "Length": 99}
{"ground_truth": ["", "static", "bool", "ix86_pragma_target_parse", "(", "tree", "args", ",", "tree", "pop_target", ")", "{", "tree", "prev_tree", "=", "build_target_option_node", "(", "&", "global_options", ",", "&", "global_options_set", ")", ";", "tree", "cur_tree", ";", "struct", "cl_target_option", "*", "prev_opt", ";", "struct", "cl_target_option", "*", "cur_opt", ";", "HOST_WIDE_INT", "prev_isa", ";", "HOST_WIDE_INT", "cur_isa", ";", "HOST_WIDE_INT", "diff_isa", ";", "HOST_WIDE_INT", "prev_isa2", ";", "HOST_WIDE_INT", "cur_isa2", ";", "HOST_WIDE_INT", "diff_isa2", ";", "enum", "processor_type", "prev_arch", ";", "enum", "processor_type", "prev_tune", ";", "enum", "processor_type", "cur_arch", ";", "enum", "processor_type", "cur_tune", ";", "if", "(", "!", "args", ")", "{", "cur_tree", "=", "(", "pop_target", "?", "pop_target", ":", "target_option_default_node", ")", ";", "cl_target_option_restore", "(", "&", "global_options", ",", "&", "global_options_set", ",", "TREE_TARGET_OPTION", "(", "cur_tree", ")", ")", ";", "}", "else", "{", "cur_tree", "=", "ix86_valid_target_attribute_tree", "(", "NULL_TREE", ",", "args", ",", "&", "global_options", ",", "&", "global_options_set", ",", "0", ")", ";", "if", "(", "!", "cur_tree", "||", "cur_tree", "==", "error_mark_node", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "&", "global_options_set", ",", "TREE_TARGET_OPTION", "(", "prev_tree", ")", ")", ";", "return", "false", ";", "}", "}", "target_option_current_node", "=", "cur_tree", ";", "ix86_reset_previous_fndecl", "(", ")", ";", "prev_opt", "=", "TREE_TARGET_OPTION", "(", "prev_tree", ")", ";", "cur_opt", "=", "TREE_TARGET_OPTION", "(", "cur_tree", ")", ";", "prev_isa", "=", "prev_opt", "->", "x_ix86_isa_flags", ";", "cur_isa", "=", "cur_opt", "->", "x_ix86_isa_flags", ";", "diff_isa", "=", "(", "prev_isa", "^", "cur_isa", ")", ";", "prev_isa2", "=", "prev_opt", "->", "x_ix86_isa_flags2", ";", "cur_isa2", "=", "cur_opt", "->", "x_ix86_isa_flags2", ";", "diff_isa2", "=", "(", "prev_isa2", "^", "cur_isa2", ")", ";", "prev_arch", "=", "(", "enum", "processor_type", ")", "prev_opt", "->", "arch", ";", "prev_tune", "=", "(", "enum", "processor_type", ")", "prev_opt", "->", "tune", ";", "cur_arch", "=", "(", "enum", "processor_type", ")", "cur_opt", "->", "arch", ";", "cur_tune", "=", "(", "enum", "processor_type", ")", "cur_opt", "->", "tune", ";", "if", "(", "cur_arch", "==", "prev_arch", ")", "cur_arch", "=", "prev_arch", "=", "PROCESSOR_max", ";", "if", "(", "cur_tune", "==", "prev_tune", ")", "cur_tune", "=", "prev_tune", "=", "PROCESSOR_max", ";", "ix86_target_macros_internal", "(", "prev_isa", "&", "diff_isa", ",", "prev_isa2", "&", "diff_isa2", ",", "prev_arch", ",", "prev_tune", ",", "(", "enum", "fpmath_unit", ")", "prev_opt", "->", "x_ix86_fpmath", ",", "cpp_undef", ")", ";", "cpp_options", "*", "cpp_opts", "=", "cpp_get_options", "(", "parse_in", ")", ";", "unsigned", "char", "saved_warn_unused_macros", "=", "cpp_opts", "->", "warn_unused_macros", ";", "cpp_opts", "->", "warn_unused_macros", "=", "0", ";", "ix86_target_macros_internal", "(", "cur_isa", "&", "diff_isa", ",", "cur_isa2", "&", "diff_isa2", ",", "cur_arch", ",", "cur_tune", ",", "(", "enum", "fpmath_unit", ")", "cur_opt", "->", "x_ix86_fpmath", ",", "cpp_define", ")", ";", "cpp_opts", "->", "warn_unused_macros", "=", "saved_warn_unused_macros", ";", "return", "true", ";", "}", ""], "natrual_language": ["Hook", "to", "validate", "the", "current", "#", "pragma", "GCC", "target", "and", "set", "the", "state", ",", "and", "update", "the", "macros", "based", "on", "what", "was", "changed", ".", "If", "ARGS", "is", "NULL", ",", "then", "POP_TARGET", "is", "used", "to", "reset", "the", "options", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386-c1", "Func": "ix86_pragma_target_parse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37617, "Length": 358}
{"ground_truth": ["", "static", "bool", "ix86_pragma_target_parse", "(", "tree", "args", ",", "tree", "pop_target", ")", "{", "tree", "prev_tree", "=", "build_target_option_node", "(", "&", "global_options", ")", ";", "tree", "cur_tree", ";", "struct", "cl_target_option", "*", "prev_opt", ";", "struct", "cl_target_option", "*", "cur_opt", ";", "HOST_WIDE_INT", "prev_isa", ";", "HOST_WIDE_INT", "cur_isa", ";", "HOST_WIDE_INT", "diff_isa", ";", "enum", "processor_type", "prev_arch", ";", "enum", "processor_type", "prev_tune", ";", "enum", "processor_type", "cur_arch", ";", "enum", "processor_type", "cur_tune", ";", "if", "(", "!", "args", ")", "{", "cur_tree", "=", "(", "pop_target", "?", "pop_target", ":", "target_option_default_node", ")", ";", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "cur_tree", ")", ")", ";", "}", "else", "{", "cur_tree", "=", "ix86_valid_target_attribute_tree", "(", "args", ",", "&", "global_options", ",", "&", "global_options_set", ")", ";", "if", "(", "!", "cur_tree", "||", "cur_tree", "==", "error_mark_node", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "prev_tree", ")", ")", ";", "return", "false", ";", "}", "}", "target_option_current_node", "=", "cur_tree", ";", "ix86_reset_previous_fndecl", "(", ")", ";", "prev_opt", "=", "TREE_TARGET_OPTION", "(", "prev_tree", ")", ";", "cur_opt", "=", "TREE_TARGET_OPTION", "(", "cur_tree", ")", ";", "prev_isa", "=", "prev_opt", "->", "x_ix86_isa_flags", ";", "cur_isa", "=", "cur_opt", "->", "x_ix86_isa_flags", ";", "diff_isa", "=", "(", "prev_isa", "^", "cur_isa", ")", ";", "prev_arch", "=", "(", "enum", "processor_type", ")", "prev_opt", "->", "arch", ";", "prev_tune", "=", "(", "enum", "processor_type", ")", "prev_opt", "->", "tune", ";", "cur_arch", "=", "(", "enum", "processor_type", ")", "cur_opt", "->", "arch", ";", "cur_tune", "=", "(", "enum", "processor_type", ")", "cur_opt", "->", "tune", ";", "if", "(", "cur_arch", "==", "prev_arch", ")", "cur_arch", "=", "prev_arch", "=", "PROCESSOR_max", ";", "if", "(", "cur_tune", "==", "prev_tune", ")", "cur_tune", "=", "prev_tune", "=", "PROCESSOR_max", ";", "ix86_target_macros_internal", "(", "prev_isa", "&", "diff_isa", ",", "prev_arch", ",", "prev_tune", ",", "(", "enum", "fpmath_unit", ")", "prev_opt", "->", "x_ix86_fpmath", ",", "cpp_undef", ")", ";", "cpp_options", "*", "cpp_opts", "=", "cpp_get_options", "(", "parse_in", ")", ";", "unsigned", "char", "saved_warn_unused_macros", "=", "cpp_opts", "->", "warn_unused_macros", ";", "cpp_opts", "->", "warn_unused_macros", "=", "0", ";", "ix86_target_macros_internal", "(", "cur_isa", "&", "diff_isa", ",", "cur_arch", ",", "cur_tune", ",", "(", "enum", "fpmath_unit", ")", "cur_opt", "->", "x_ix86_fpmath", ",", "cpp_define", ")", ";", "cpp_opts", "->", "warn_unused_macros", "=", "saved_warn_unused_macros", ";", "return", "true", ";", "}", ""], "natrual_language": ["Hook", "to", "validate", "the", "current", "#", "pragma", "GCC", "target", "and", "set", "the", "state", ",", "and", "update", "the", "macros", "based", "on", "what", "was", "changed", ".", "If", "ARGS", "is", "NULL", ",", "then", "POP_TARGET", "is", "used", "to", "reset", "the", "options", "."], "TS_V_token": ["i386", "0"], "File": "i386-c2", "Func": "ix86_pragma_target_parse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37618, "Length": 308}
{"ground_truth": ["", "void", "ix86_register_pragmas", "(", "void", ")", "{", "targetm", ".", "target_option", ".", "pragma_parse", "=", "ix86_pragma_target_parse", ";", "REGISTER_SUBTARGET_PRAGMAS", "(", ")", ";", "}", ""], "natrual_language": ["Register", "target", "pragmas", ".", "We", "need", "to", "add", "the", "hook", "for", "parsing", "#", "pragma", "GCC", "option", "here", "rather", "than", "in", "i386.cc", "since", "it", "will", "pull", "in", "various", "preprocessor", "functions", ",", "and", "those", "are", "not", "present", "in", "languages", "like", "fortran", "without", "a", "preprocessor", "."], "TS_V_token": ["i386"], "File": "i386-c2", "Func": "ix86_register_pragmas", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37619, "Length": 19}
{"ground_truth": ["", "void", "ix86_target_macros", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "cpp_assert", "(", "parse_in", ",", "\"cpu=x86_64\"", ")", ";", "cpp_assert", "(", "parse_in", ",", "\"machine=x86_64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__amd64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__amd64__\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__x86_64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__x86_64__\"", ")", ";", "if", "(", "TARGET_X32", ")", "{", "cpp_define", "(", "parse_in", ",", "\"_ILP32\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__ILP32__\"", ")", ";", "}", "}", "else", "{", "cpp_assert", "(", "parse_in", ",", "\"cpu=i386\"", ")", ";", "cpp_assert", "(", "parse_in", ",", "\"machine=i386\"", ")", ";", "builtin_define_std", "(", "\"i386\"", ")", ";", "}", "if", "(", "!", "TARGET_80387", ")", "cpp_define", "(", "parse_in", ",", "\"_SOFT_FLOAT\"", ")", ";", "if", "(", "TARGET_LONG_DOUBLE_64", ")", "cpp_define", "(", "parse_in", ",", "\"__LONG_DOUBLE_64__\"", ")", ";", "if", "(", "TARGET_LONG_DOUBLE_128", ")", "cpp_define", "(", "parse_in", ",", "\"__LONG_DOUBLE_128__\"", ")", ";", "if", "(", "TARGET_128BIT_LONG_DOUBLE", ")", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT80__=16\"", ")", ";", "else", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT80__=12\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT128__=16\"", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__ATOMIC_HLE_ACQUIRE=%d\"", ",", "IX86_HLE_ACQUIRE", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__ATOMIC_HLE_RELEASE=%d\"", ",", "IX86_HLE_RELEASE", ")", ";", "ix86_target_macros_internal", "(", "ix86_isa_flags", ",", "ix86_arch", ",", "ix86_tune", ",", "ix86_fpmath", ",", "cpp_define", ")", ";", "}", ""], "natrual_language": ["Function", "to", "tell", "the", "preprocessor", "about", "the", "defines", "for", "the", "current", "target", "."], "TS_V_token": ["i386", "\"cpu=x86_64\"", "\"machine=x86_64\"", "\"__amd64\"", "\"__amd64__\"", "\"__x86_64\"", "\"__x86_64__\"", "\"_ILP32\"", "\"__ILP32__\"", "\"cpu=i386\"", "\"machine=i386\"", "\"i386\"", "\"_SOFT_FLOAT\"", "\"__LONG_DOUBLE_64__\"", "\"__LONG_DOUBLE_128__\"", "\"__SIZEOF_FLOAT80__=16\"", "\"__SIZEOF_FLOAT80__=12\"", "\"__SIZEOF_FLOAT128__=16\"", "\"__ATOMIC_HLE_ACQUIRE=%d\"", "\"__ATOMIC_HLE_RELEASE=%d\""], "File": "i386-c2", "Func": "ix86_target_macros", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37620, "Length": 188}
{"ground_truth": ["", "void", "ix86_target_macros", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "cpp_assert", "(", "parse_in", ",", "\"cpu=x86_64\"", ")", ";", "cpp_assert", "(", "parse_in", ",", "\"machine=x86_64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__amd64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__amd64__\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__x86_64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__x86_64__\"", ")", ";", "if", "(", "TARGET_X32", ")", "{", "cpp_define", "(", "parse_in", ",", "\"_ILP32\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__ILP32__\"", ")", ";", "}", "}", "else", "{", "cpp_assert", "(", "parse_in", ",", "\"cpu=i386\"", ")", ";", "cpp_assert", "(", "parse_in", ",", "\"machine=i386\"", ")", ";", "builtin_define_std", "(", "\"i386\"", ")", ";", "}", "if", "(", "!", "TARGET_80387", ")", "cpp_define", "(", "parse_in", ",", "\"_SOFT_FLOAT\"", ")", ";", "if", "(", "TARGET_LONG_DOUBLE_64", ")", "cpp_define", "(", "parse_in", ",", "\"__LONG_DOUBLE_64__\"", ")", ";", "if", "(", "TARGET_LONG_DOUBLE_128", ")", "cpp_define", "(", "parse_in", ",", "\"__LONG_DOUBLE_128__\"", ")", ";", "if", "(", "TARGET_128BIT_LONG_DOUBLE", ")", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT80__=16\"", ")", ";", "else", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT80__=12\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT128__=16\"", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__ATOMIC_HLE_ACQUIRE=%d\"", ",", "IX86_HLE_ACQUIRE", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__ATOMIC_HLE_RELEASE=%d\"", ",", "IX86_HLE_RELEASE", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__GCC_ASM_FLAG_OUTPUTS__\"", ")", ";", "ix86_target_macros_internal", "(", "ix86_isa_flags", ",", "ix86_arch", ",", "ix86_tune", ",", "ix86_fpmath", ",", "cpp_define", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SEG_FS\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SEG_GS\"", ")", ";", "}", ""], "natrual_language": ["Function", "to", "tell", "the", "preprocessor", "about", "the", "defines", "for", "the", "current", "target", "."], "TS_V_token": ["i386", "\"cpu=x86_64\"", "\"machine=x86_64\"", "\"__amd64\"", "\"__amd64__\"", "\"__x86_64\"", "\"__x86_64__\"", "\"_ILP32\"", "\"__ILP32__\"", "\"cpu=i386\"", "\"machine=i386\"", "\"i386\"", "\"_SOFT_FLOAT\"", "\"__LONG_DOUBLE_64__\"", "\"__LONG_DOUBLE_128__\"", "\"__SIZEOF_FLOAT80__=16\"", "\"__SIZEOF_FLOAT80__=12\"", "\"__SIZEOF_FLOAT128__=16\"", "\"__ATOMIC_HLE_ACQUIRE=%d\"", "\"__ATOMIC_HLE_RELEASE=%d\"", "\"__GCC_ASM_FLAG_OUTPUTS__\"", "\"__SEG_FS\"", "\"__SEG_GS\""], "File": "i386-c3", "Func": "ix86_target_macros", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37621, "Length": 209}
{"ground_truth": ["", "static", "bool", "ix86_pragma_target_parse", "(", "tree", "args", ",", "tree", "pop_target", ")", "{", "tree", "prev_tree", "=", "build_target_option_node", "(", "&", "global_options", ")", ";", "tree", "cur_tree", ";", "struct", "cl_target_option", "*", "prev_opt", ";", "struct", "cl_target_option", "*", "cur_opt", ";", "HOST_WIDE_INT", "prev_isa", ";", "HOST_WIDE_INT", "cur_isa", ";", "HOST_WIDE_INT", "diff_isa", ";", "HOST_WIDE_INT", "prev_isa2", ";", "HOST_WIDE_INT", "cur_isa2", ";", "HOST_WIDE_INT", "diff_isa2", ";", "enum", "processor_type", "prev_arch", ";", "enum", "processor_type", "prev_tune", ";", "enum", "processor_type", "cur_arch", ";", "enum", "processor_type", "cur_tune", ";", "if", "(", "!", "args", ")", "{", "cur_tree", "=", "(", "pop_target", "?", "pop_target", ":", "target_option_default_node", ")", ";", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "cur_tree", ")", ")", ";", "}", "else", "{", "cur_tree", "=", "ix86_valid_target_attribute_tree", "(", "args", ",", "&", "global_options", ",", "&", "global_options_set", ")", ";", "if", "(", "!", "cur_tree", "||", "cur_tree", "==", "error_mark_node", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "prev_tree", ")", ")", ";", "return", "false", ";", "}", "}", "target_option_current_node", "=", "cur_tree", ";", "ix86_reset_previous_fndecl", "(", ")", ";", "prev_opt", "=", "TREE_TARGET_OPTION", "(", "prev_tree", ")", ";", "cur_opt", "=", "TREE_TARGET_OPTION", "(", "cur_tree", ")", ";", "prev_isa", "=", "prev_opt", "->", "x_ix86_isa_flags", ";", "cur_isa", "=", "cur_opt", "->", "x_ix86_isa_flags", ";", "diff_isa", "=", "(", "prev_isa", "^", "cur_isa", ")", ";", "prev_isa2", "=", "prev_opt", "->", "x_ix86_isa_flags2", ";", "cur_isa2", "=", "cur_opt", "->", "x_ix86_isa_flags2", ";", "diff_isa2", "=", "(", "prev_isa2", "^", "cur_isa2", ")", ";", "prev_arch", "=", "(", "enum", "processor_type", ")", "prev_opt", "->", "arch", ";", "prev_tune", "=", "(", "enum", "processor_type", ")", "prev_opt", "->", "tune", ";", "cur_arch", "=", "(", "enum", "processor_type", ")", "cur_opt", "->", "arch", ";", "cur_tune", "=", "(", "enum", "processor_type", ")", "cur_opt", "->", "tune", ";", "if", "(", "cur_arch", "==", "prev_arch", ")", "cur_arch", "=", "prev_arch", "=", "PROCESSOR_max", ";", "if", "(", "cur_tune", "==", "prev_tune", ")", "cur_tune", "=", "prev_tune", "=", "PROCESSOR_max", ";", "ix86_target_macros_internal", "(", "prev_isa", "&", "diff_isa", ",", "prev_isa2", "&", "diff_isa2", ",", "prev_arch", ",", "prev_tune", ",", "(", "enum", "fpmath_unit", ")", "prev_opt", "->", "x_ix86_fpmath", ",", "cpp_undef", ")", ";", "cpp_options", "*", "cpp_opts", "=", "cpp_get_options", "(", "parse_in", ")", ";", "unsigned", "char", "saved_warn_unused_macros", "=", "cpp_opts", "->", "warn_unused_macros", ";", "cpp_opts", "->", "warn_unused_macros", "=", "0", ";", "ix86_target_macros_internal", "(", "cur_isa", "&", "diff_isa", ",", "cur_isa2", "&", "diff_isa2", ",", "cur_arch", ",", "cur_tune", ",", "(", "enum", "fpmath_unit", ")", "cur_opt", "->", "x_ix86_fpmath", ",", "cpp_define", ")", ";", "cpp_opts", "->", "warn_unused_macros", "=", "saved_warn_unused_macros", ";", "return", "true", ";", "}", ""], "natrual_language": ["Hook", "to", "validate", "the", "current", "#", "pragma", "GCC", "target", "and", "set", "the", "state", ",", "and", "update", "the", "macros", "based", "on", "what", "was", "changed", ".", "If", "ARGS", "is", "NULL", ",", "then", "POP_TARGET", "is", "used", "to", "reset", "the", "options", "."], "TS_V_token": ["i386", "0"], "File": "i386-c4", "Func": "ix86_pragma_target_parse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37622, "Length": 345}
{"ground_truth": ["", "void", "ix86_target_macros", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "cpp_assert", "(", "parse_in", ",", "\"cpu=x86_64\"", ")", ";", "cpp_assert", "(", "parse_in", ",", "\"machine=x86_64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__amd64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__amd64__\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__x86_64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__x86_64__\"", ")", ";", "if", "(", "TARGET_X32", ")", "{", "cpp_define", "(", "parse_in", ",", "\"_ILP32\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__ILP32__\"", ")", ";", "}", "}", "else", "{", "cpp_assert", "(", "parse_in", ",", "\"cpu=i386\"", ")", ";", "cpp_assert", "(", "parse_in", ",", "\"machine=i386\"", ")", ";", "builtin_define_std", "(", "\"i386\"", ")", ";", "}", "if", "(", "!", "TARGET_80387", ")", "cpp_define", "(", "parse_in", ",", "\"_SOFT_FLOAT\"", ")", ";", "if", "(", "TARGET_LONG_DOUBLE_64", ")", "cpp_define", "(", "parse_in", ",", "\"__LONG_DOUBLE_64__\"", ")", ";", "if", "(", "TARGET_LONG_DOUBLE_128", ")", "cpp_define", "(", "parse_in", ",", "\"__LONG_DOUBLE_128__\"", ")", ";", "if", "(", "TARGET_128BIT_LONG_DOUBLE", ")", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT80__=16\"", ")", ";", "else", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT80__=12\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT128__=16\"", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__ATOMIC_HLE_ACQUIRE=%d\"", ",", "IX86_HLE_ACQUIRE", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__ATOMIC_HLE_RELEASE=%d\"", ",", "IX86_HLE_RELEASE", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__GCC_ASM_FLAG_OUTPUTS__\"", ")", ";", "ix86_target_macros_internal", "(", "ix86_isa_flags", ",", "ix86_isa_flags2", ",", "ix86_arch", ",", "ix86_tune", ",", "ix86_fpmath", ",", "cpp_define", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SEG_FS\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SEG_GS\"", ")", ";", "}", ""], "natrual_language": ["Function", "to", "tell", "the", "preprocessor", "about", "the", "defines", "for", "the", "current", "target", "."], "TS_V_token": ["i386", "\"cpu=x86_64\"", "\"machine=x86_64\"", "\"__amd64\"", "\"__amd64__\"", "\"__x86_64\"", "\"__x86_64__\"", "\"_ILP32\"", "\"__ILP32__\"", "\"cpu=i386\"", "\"machine=i386\"", "\"i386\"", "\"_SOFT_FLOAT\"", "\"__LONG_DOUBLE_64__\"", "\"__LONG_DOUBLE_128__\"", "\"__SIZEOF_FLOAT80__=16\"", "\"__SIZEOF_FLOAT80__=12\"", "\"__SIZEOF_FLOAT128__=16\"", "\"__ATOMIC_HLE_ACQUIRE=%d\"", "\"__ATOMIC_HLE_RELEASE=%d\"", "\"__GCC_ASM_FLAG_OUTPUTS__\"", "\"__SEG_FS\"", "\"__SEG_GS\""], "File": "i386-c4", "Func": "ix86_target_macros", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37623, "Length": 211}
{"ground_truth": ["", "static", "bool", "ix86_pragma_target_parse", "(", "tree", "args", ",", "tree", "pop_target", ")", "{", "tree", "prev_tree", "=", "build_target_option_node", "(", "&", "global_options", ",", "&", "global_options_set", ")", ";", "tree", "cur_tree", ";", "struct", "cl_target_option", "*", "prev_opt", ";", "struct", "cl_target_option", "*", "cur_opt", ";", "HOST_WIDE_INT", "prev_isa", ";", "HOST_WIDE_INT", "cur_isa", ";", "HOST_WIDE_INT", "diff_isa", ";", "HOST_WIDE_INT", "prev_isa2", ";", "HOST_WIDE_INT", "cur_isa2", ";", "HOST_WIDE_INT", "diff_isa2", ";", "enum", "processor_type", "prev_arch", ";", "enum", "processor_type", "prev_tune", ";", "enum", "processor_type", "cur_arch", ";", "enum", "processor_type", "cur_tune", ";", "if", "(", "!", "args", ")", "{", "cur_tree", "=", "(", "pop_target", "?", "pop_target", ":", "target_option_default_node", ")", ";", "cl_target_option_restore", "(", "&", "global_options", ",", "&", "global_options_set", ",", "TREE_TARGET_OPTION", "(", "cur_tree", ")", ")", ";", "}", "else", "{", "cur_tree", "=", "ix86_valid_target_attribute_tree", "(", "NULL_TREE", ",", "args", ",", "&", "global_options", ",", "&", "global_options_set", ",", "0", ")", ";", "if", "(", "!", "cur_tree", "||", "cur_tree", "==", "error_mark_node", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "&", "global_options_set", ",", "TREE_TARGET_OPTION", "(", "prev_tree", ")", ")", ";", "return", "false", ";", "}", "}", "target_option_current_node", "=", "cur_tree", ";", "ix86_reset_previous_fndecl", "(", ")", ";", "prev_opt", "=", "TREE_TARGET_OPTION", "(", "prev_tree", ")", ";", "cur_opt", "=", "TREE_TARGET_OPTION", "(", "cur_tree", ")", ";", "prev_isa", "=", "prev_opt", "->", "x_ix86_isa_flags", ";", "cur_isa", "=", "cur_opt", "->", "x_ix86_isa_flags", ";", "diff_isa", "=", "(", "prev_isa", "^", "cur_isa", ")", ";", "prev_isa2", "=", "prev_opt", "->", "x_ix86_isa_flags2", ";", "cur_isa2", "=", "cur_opt", "->", "x_ix86_isa_flags2", ";", "diff_isa2", "=", "(", "prev_isa2", "^", "cur_isa2", ")", ";", "prev_arch", "=", "(", "enum", "processor_type", ")", "prev_opt", "->", "arch", ";", "prev_tune", "=", "(", "enum", "processor_type", ")", "prev_opt", "->", "tune", ";", "cur_arch", "=", "(", "enum", "processor_type", ")", "cur_opt", "->", "arch", ";", "cur_tune", "=", "(", "enum", "processor_type", ")", "cur_opt", "->", "tune", ";", "if", "(", "cur_arch", "==", "prev_arch", ")", "cur_arch", "=", "prev_arch", "=", "PROCESSOR_max", ";", "if", "(", "cur_tune", "==", "prev_tune", ")", "cur_tune", "=", "prev_tune", "=", "PROCESSOR_max", ";", "cpp_force_token_locations", "(", "parse_in", ",", "BUILTINS_LOCATION", ")", ";", "ix86_target_macros_internal", "(", "prev_isa", "&", "diff_isa", ",", "prev_isa2", "&", "diff_isa2", ",", "prev_arch", ",", "prev_tune", ",", "(", "enum", "fpmath_unit", ")", "prev_opt", "->", "x_ix86_fpmath", ",", "cpp_undef", ")", ";", "cpp_stop_forcing_token_locations", "(", "parse_in", ")", ";", "cpp_options", "*", "cpp_opts", "=", "cpp_get_options", "(", "parse_in", ")", ";", "unsigned", "char", "saved_warn_unused_macros", "=", "cpp_opts", "->", "warn_unused_macros", ";", "cpp_opts", "->", "warn_unused_macros", "=", "0", ";", "cpp_force_token_locations", "(", "parse_in", ",", "BUILTINS_LOCATION", ")", ";", "ix86_target_macros_internal", "(", "cur_isa", "&", "diff_isa", ",", "cur_isa2", "&", "diff_isa2", ",", "cur_arch", ",", "cur_tune", ",", "(", "enum", "fpmath_unit", ")", "cur_opt", "->", "x_ix86_fpmath", ",", "cpp_define", ")", ";", "cpp_stop_forcing_token_locations", "(", "parse_in", ")", ";", "cpp_opts", "->", "warn_unused_macros", "=", "saved_warn_unused_macros", ";", "return", "true", ";", "}", ""], "natrual_language": ["Hook", "to", "validate", "the", "current", "#", "pragma", "GCC", "target", "and", "set", "the", "state", ",", "and", "update", "the", "macros", "based", "on", "what", "was", "changed", ".", "If", "ARGS", "is", "NULL", ",", "then", "POP_TARGET", "is", "used", "to", "reset", "the", "options", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386-c", "Func": "ix86_pragma_target_parse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37624, "Length": 382}
{"ground_truth": ["", "void", "ix86_register_pragmas", "(", "void", ")", "{", "targetm", ".", "target_option", ".", "pragma_parse", "=", "ix86_pragma_target_parse", ";", "c_register_addr_space", "(", "\"__seg_fs\"", ",", "ADDR_SPACE_SEG_FS", ")", ";", "c_register_addr_space", "(", "\"__seg_gs\"", ",", "ADDR_SPACE_SEG_GS", ")", ";", "REGISTER_SUBTARGET_PRAGMAS", "(", ")", ";", "}", ""], "natrual_language": ["Register", "target", "pragmas", ".", "We", "need", "to", "add", "the", "hook", "for", "parsing", "#", "pragma", "GCC", "option", "here", "rather", "than", "in", "i386.cc", "since", "it", "will", "pull", "in", "various", "preprocessor", "functions", ",", "and", "those", "are", "not", "present", "in", "languages", "like", "fortran", "without", "a", "preprocessor", "."], "TS_V_token": ["i386", "\"__seg_fs\"", "\"__seg_gs\""], "File": "i386-c", "Func": "ix86_register_pragmas", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37625, "Length": 33}
{"ground_truth": ["", "void", "ix86_target_macros", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "cpp_assert", "(", "parse_in", ",", "\"cpu=x86_64\"", ")", ";", "cpp_assert", "(", "parse_in", ",", "\"machine=x86_64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__amd64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__amd64__\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__x86_64\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__x86_64__\"", ")", ";", "if", "(", "TARGET_X32", ")", "{", "cpp_define", "(", "parse_in", ",", "\"_ILP32\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__ILP32__\"", ")", ";", "}", "}", "else", "{", "cpp_assert", "(", "parse_in", ",", "\"cpu=i386\"", ")", ";", "cpp_assert", "(", "parse_in", ",", "\"machine=i386\"", ")", ";", "builtin_define_std", "(", "\"i386\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"_ILP32\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__ILP32__\"", ")", ";", "}", "if", "(", "!", "TARGET_80387", ")", "cpp_define", "(", "parse_in", ",", "\"_SOFT_FLOAT\"", ")", ";", "if", "(", "TARGET_LONG_DOUBLE_64", ")", "cpp_define", "(", "parse_in", ",", "\"__LONG_DOUBLE_64__\"", ")", ";", "if", "(", "TARGET_LONG_DOUBLE_128", ")", "cpp_define", "(", "parse_in", ",", "\"__LONG_DOUBLE_128__\"", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__SIZEOF_FLOAT80__=%d\"", ",", "GET_MODE_SIZE", "(", "XFmode", ")", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SIZEOF_FLOAT128__=16\"", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__ATOMIC_HLE_ACQUIRE=%d\"", ",", "IX86_HLE_ACQUIRE", ")", ";", "cpp_define_formatted", "(", "parse_in", ",", "\"__ATOMIC_HLE_RELEASE=%d\"", ",", "IX86_HLE_RELEASE", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__GCC_ASM_FLAG_OUTPUTS__\"", ")", ";", "ix86_target_macros_internal", "(", "ix86_isa_flags", ",", "ix86_isa_flags2", ",", "ix86_arch", ",", "ix86_tune", ",", "ix86_fpmath", ",", "cpp_define", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SEG_FS\"", ")", ";", "cpp_define", "(", "parse_in", ",", "\"__SEG_GS\"", ")", ";", "if", "(", "flag_cf_protection", "!=", "CF_NONE", ")", "cpp_define_formatted", "(", "parse_in", ",", "\"__CET__=%d\"", ",", "flag_cf_protection", "&", "~", "CF_SET", ")", ";", "}", ""], "natrual_language": ["Function", "to", "tell", "the", "preprocessor", "about", "the", "defines", "for", "the", "current", "target", "."], "TS_V_token": ["i386", "\"cpu=x86_64\"", "\"machine=x86_64\"", "\"__amd64\"", "\"__amd64__\"", "\"__x86_64\"", "\"__x86_64__\"", "\"_ILP32\"", "\"__ILP32__\"", "\"cpu=i386\"", "\"machine=i386\"", "\"i386\"", "\"_ILP32\"", "\"__ILP32__\"", "\"_SOFT_FLOAT\"", "\"__LONG_DOUBLE_64__\"", "\"__LONG_DOUBLE_128__\"", "\"__SIZEOF_FLOAT80__=%d\"", "\"__SIZEOF_FLOAT128__=16\"", "\"__ATOMIC_HLE_ACQUIRE=%d\"", "\"__ATOMIC_HLE_RELEASE=%d\"", "\"__GCC_ASM_FLAG_OUTPUTS__\"", "\"__SEG_FS\"", "\"__SEG_GS\"", "\"__CET__=%d\""], "File": "i386-c", "Func": "ix86_target_macros", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37626, "Length": 236}
{"ground_truth": ["", "static", "tree", "ix86_d_handle_target_float_abi", "(", "void", ")", "{", "const", "char", "*", "abi", ";", "if", "(", "!", "(", "TARGET_80387", "||", "TARGET_FLOAT_RETURNS_IN_80387", ")", ")", "abi", "=", "\"soft\"", ";", "else", "abi", "=", "\"hard\"", ";", "return", "build_string_literal", "(", "strlen", "(", "abi", ")", "+", "1", ",", "abi", ")", ";", "}", ""], "natrual_language": ["Handle", "a", "call", "to", "`", "__traits", "(", "getTargetInfo", ",", "``", "floatAbi", "''", ")", "'", "."], "TS_V_token": ["i386", "\"soft\"", "\"hard\"", "1"], "File": "i386-d", "Func": "ix86_d_handle_target_float_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37627, "Length": 44}
{"ground_truth": ["", "static", "tree", "ix86_d_handle_target_object_format", "(", "void", ")", "{", "const", "char", "*", "objfmt", "=", "NULL", ";", "if", "(", "TARGET_MACHO", ")", "objfmt", "=", "\"macho\"", ";", "else", "if", "(", "TARGET_COFF", "||", "TARGET_PECOFF", ")", "objfmt", "=", "\"coff\"", ";", "if", "(", "objfmt", "==", "NULL", ")", "return", "NULL_TREE", ";", "return", "build_string_literal", "(", "strlen", "(", "objfmt", ")", "+", "1", ",", "objfmt", ")", ";", "}", ""], "natrual_language": ["Handle", "a", "call", "to", "`", "__traits", "(", "getTargetInfo", ",", "``", "objectFormat", "''", ")", "'", "."], "TS_V_token": ["i386", "\"macho\"", "\"coff\"", "1"], "File": "i386-d", "Func": "ix86_d_handle_target_object_format", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37628, "Length": 56}
{"ground_truth": ["", "bool", "ix86_d_has_stdcall_convention", "(", "unsigned", "int", "*", "link_system", ",", "unsigned", "int", "*", "link_windows", ")", "{", "if", "(", "ix86_abi", "==", "MS_ABI", ")", "{", "*", "link_system", "=", "1", ";", "*", "link_windows", "=", "(", "!", "TARGET_64BIT", ")", "?", "1", ":", "0", ";", "}", "else", "{", "*", "link_system", "=", "0", ";", "*", "link_windows", "=", "0", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "TARGET_D_HAS_STDCALL_CONVENTION", "for", "x86", "targets", "."], "TS_V_token": ["i386", "1", "1", "0", "0", "0"], "File": "i386-d", "Func": "ix86_d_has_stdcall_convention", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37629, "Length": 56}
{"ground_truth": ["", "void", "ix86_d_register_target_info", "(", "void", ")", "{", "const", "struct", "d_target_info_spec", "handlers", "[", "]", "=", "{", "{", "\"floatAbi\"", ",", "ix86_d_handle_target_float_abi", "}", ",", "{", "\"objectFormat\"", ",", "ix86_d_handle_target_object_format", "}", ",", "{", "NULL", ",", "NULL", "}", ",", "}", ";", "d_add_target_info_handlers", "(", "handlers", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_D_REGISTER_CPU_TARGET_INFO", "."], "TS_V_token": ["i386", "\"floatAbi\"", "\"objectFormat\""], "File": "i386-d", "Func": "ix86_d_register_target_info", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37630, "Length": 40}
{"ground_truth": ["", "void", "ix86_d_target_versions", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "d_add_builtin_version", "(", "\"X86_64\"", ")", ";", "if", "(", "TARGET_X32", ")", "d_add_builtin_version", "(", "\"D_X32\"", ")", ";", "}", "else", "d_add_builtin_version", "(", "\"X86\"", ")", ";", "if", "(", "TARGET_80387", ")", "d_add_builtin_version", "(", "\"D_HardFloat\"", ")", ";", "else", "d_add_builtin_version", "(", "\"D_SoftFloat\"", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_D_CPU_VERSIONS", "for", "x86", "targets", "."], "TS_V_token": ["i386", "\"X86_64\"", "\"D_X32\"", "\"X86\"", "\"D_HardFloat\"", "\"D_SoftFloat\""], "File": "i386-d", "Func": "ix86_d_target_versions", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37631, "Length": 48}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_movs", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "machine_mode", "vmode", "=", "d", "->", "vmode", ";", "unsigned", "i", ",", "nelt", "=", "d", "->", "nelt", ";", "rtx", "x", ";", "if", "(", "d", "->", "one_operand_p", ")", "return", "false", ";", "if", "(", "!", "(", "TARGET_SSE", "&&", "(", "vmode", "==", "V4SFmode", "||", "vmode", "==", "V4SImode", ")", ")", "&&", "!", "(", "TARGET_MMX_WITH_SSE", "&&", "(", "vmode", "==", "V2SFmode", "||", "vmode", "==", "V2SImode", ")", ")", "&&", "!", "(", "TARGET_SSE2", "&&", "(", "vmode", "==", "V2DFmode", "||", "vmode", "==", "V2DImode", ")", ")", ")", "return", "false", ";", "if", "(", "d", "->", "perm", "[", "0", "]", "!=", "nelt", "&&", "d", "->", "perm", "[", "0", "]", "!=", "0", ")", "return", "false", ";", "for", "(", "i", "=", "1", ";", "i", "<", "nelt", ";", "++", "i", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "!=", "i", "+", "nelt", "-", "d", "->", "perm", "[", "0", "]", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "if", "(", "d", "->", "perm", "[", "0", "]", "==", "nelt", ")", "x", "=", "gen_rtx_VEC_MERGE", "(", "vmode", ",", "d", "->", "op1", ",", "d", "->", "op0", ",", "GEN_INT", "(", "1", ")", ")", ";", "else", "x", "=", "gen_rtx_VEC_MERGE", "(", "vmode", ",", "d", "->", "op0", ",", "d", "->", "op1", ",", "GEN_INT", "(", "1", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "d", "->", "target", ",", "x", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Try", "to", "implement", "D", "using", "movss", "or", "movsd", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "0", "0", "1", "1"], "File": "i386-expand1", "Func": "expand_vec_perm_movs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37632, "Length": 224}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_pblendv", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "i", ",", "which", ",", "nelt", "=", "d", "->", "nelt", ";", "struct", "expand_vec_perm_d", "dcopy", ",", "dcopy1", ";", "machine_mode", "vmode", "=", "d", "->", "vmode", ";", "bool", "ok", ";", "if", "(", "d", "->", "one_operand_p", ")", "return", "false", ";", "if", "(", "TARGET_AVX2", "&&", "GET_MODE_SIZE", "(", "vmode", ")", "==", "32", ")", ";", "else", "if", "(", "TARGET_AVX", "&&", "(", "vmode", "==", "V4DFmode", "||", "vmode", "==", "V8SFmode", ")", ")", ";", "else", "if", "(", "TARGET_SSE4_1", "&&", "(", "GET_MODE_SIZE", "(", "vmode", ")", "==", "16", "||", "(", "TARGET_MMX_WITH_SSE", "&&", "GET_MODE_SIZE", "(", "vmode", ")", "==", "8", ")", "||", "GET_MODE_SIZE", "(", "vmode", ")", "==", "4", ")", ")", ";", "else", "return", "false", ";", "for", "(", "i", "=", "0", ",", "which", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "e", "=", "d", "->", "perm", "[", "i", "]", ";", "if", "(", "e", "!=", "i", ")", "which", "|=", "(", "e", "<", "nelt", "?", "1", ":", "2", ")", ";", "}", "if", "(", "which", "!=", "1", "&&", "which", "!=", "2", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", "&&", "GET_MODE_SIZE", "(", "vmode", ")", "==", "16", ")", "return", "true", ";", "dcopy", "=", "*", "d", ";", "if", "(", "which", "==", "2", ")", "dcopy", ".", "op0", "=", "dcopy", ".", "op1", "=", "d", "->", "op1", ";", "else", "dcopy", ".", "op0", "=", "dcopy", ".", "op1", "=", "d", "->", "op0", ";", "if", "(", "!", "d", "->", "testing_p", ")", "dcopy", ".", "target", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "dcopy", ".", "one_operand_p", "=", "true", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "dcopy", ".", "perm", "[", "i", "]", "=", "d", "->", "perm", "[", "i", "]", "&", "(", "nelt", "-", "1", ")", ";", "ok", "=", "expand_vec_perm_1", "(", "&", "dcopy", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "vmode", ")", "!=", "16", "&&", "!", "ok", ")", "return", "false", ";", "else", "gcc_assert", "(", "ok", ")", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "dcopy1", "=", "*", "d", ";", "if", "(", "which", "==", "2", ")", "dcopy1", ".", "op1", "=", "dcopy", ".", "target", ";", "else", "dcopy1", ".", "op0", "=", "dcopy", ".", "target", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "dcopy1", ".", "perm", "[", "i", "]", "=", "(", "(", "d", "->", "perm", "[", "i", "]", ">=", "nelt", ")", "?", "(", "nelt", "+", "i", ")", ":", "i", ")", ";", "ok", "=", "expand_vec_perm_blend", "(", "&", "dcopy1", ")", ";", "gcc_assert", "(", "ok", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_const_1", ".", "Try", "to", "simplify", "the", "permutation", "using", "the", "SSE4_1", "pblendv", "instruction", ".", "Potentially", "reduces", "permutation", "from", "2", "pshufb", "and", "or", "to", "1", "pshufb", "and", "pblendv", "."], "TS_V_token": ["i386", "32", "16", "8", "4", "0", "0", "1", "2", "1", "2", "16", "2", "0", "1", "16", "2", "0"], "File": "i386-expand1", "Func": "expand_vec_perm_pblendv", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37633, "Length": 402}
{"ground_truth": ["", "static", "machine_mode", "get_mode_wider_vector", "(", "machine_mode", "o", ")", "{", "machine_mode", "n", "=", "GET_MODE_NEXT_MODE", "(", "o", ")", ".", "require", "(", ")", ";", "gcc_assert", "(", "GET_MODE_NUNITS", "(", "o", ")", "==", "GET_MODE_NUNITS", "(", "n", ")", "*", "2", ")", ";", "gcc_assert", "(", "GET_MODE_SIZE", "(", "o", ")", "==", "GET_MODE_SIZE", "(", "n", ")", ")", ";", "return", "n", ";", "}", ""], "natrual_language": ["Get", "a", "vector", "mode", "of", "the", "same", "size", "as", "the", "original", "but", "with", "elements", "twice", "as", "wide", ".", "This", "is", "only", "guaranteed", "to", "apply", "to", "integral", "vectors", "."], "TS_V_token": ["i386", "2"], "File": "i386-expand1", "Func": "get_mode_wider_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37634, "Length": 52}
{"ground_truth": ["", "static", "void", "ix86_avx256_split_vector_move_misalign", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "m", ";", "rtx", "(", "*", "extract", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "machine_mode", "mode", ";", "if", "(", "(", "MEM_P", "(", "op1", ")", "&&", "!", "TARGET_AVX256_SPLIT_UNALIGNED_LOAD", ")", "||", "(", "MEM_P", "(", "op0", ")", "&&", "!", "TARGET_AVX256_SPLIT_UNALIGNED_STORE", ")", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "rtx", "orig_op0", "=", "NULL_RTX", ";", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "switch", "(", "GET_MODE_CLASS", "(", "mode", ")", ")", "{", "case", "MODE_VECTOR_INT", ":", "case", "MODE_INT", ":", "if", "(", "mode", "!=", "V32QImode", ")", "{", "if", "(", "!", "MEM_P", "(", "op0", ")", ")", "{", "orig_op0", "=", "op0", ";", "op0", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "}", "else", "op0", "=", "gen_lowpart", "(", "V32QImode", ",", "op0", ")", ";", "op1", "=", "gen_lowpart", "(", "V32QImode", ",", "op1", ")", ";", "mode", "=", "V32QImode", ";", "}", "break", ";", "case", "MODE_VECTOR_FLOAT", ":", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "E_V32QImode", ":", "extract", "=", "gen_avx_vextractf128v32qi", ";", "mode", "=", "V16QImode", ";", "break", ";", "case", "E_V16BFmode", ":", "extract", "=", "gen_avx_vextractf128v16bf", ";", "mode", "=", "V8BFmode", ";", "break", ";", "case", "E_V16HFmode", ":", "extract", "=", "gen_avx_vextractf128v16hf", ";", "mode", "=", "V8HFmode", ";", "break", ";", "case", "E_V8SFmode", ":", "extract", "=", "gen_avx_vextractf128v8sf", ";", "mode", "=", "V4SFmode", ";", "break", ";", "case", "E_V4DFmode", ":", "extract", "=", "gen_avx_vextractf128v4df", ";", "mode", "=", "V2DFmode", ";", "break", ";", "}", "if", "(", "MEM_P", "(", "op1", ")", ")", "{", "rtx", "r", "=", "gen_reg_rtx", "(", "mode", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "0", ")", ";", "emit_move_insn", "(", "r", ",", "m", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "16", ")", ";", "r", "=", "gen_rtx_VEC_CONCAT", "(", "GET_MODE", "(", "op0", ")", ",", "r", ",", "m", ")", ";", "emit_move_insn", "(", "op0", ",", "r", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "op0", ")", ")", "{", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "0", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "op1", ",", "const0_rtx", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "16", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "copy_rtx", "(", "op1", ")", ",", "const1_rtx", ")", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "if", "(", "orig_op0", ")", "emit_move_insn", "(", "orig_op0", ",", "gen_lowpart", "(", "GET_MODE", "(", "orig_op0", ")", ",", "op0", ")", ")", ";", "}", ""], "natrual_language": ["Split", "32-byte", "AVX", "unaligned", "load", "and", "store", "if", "needed", "."], "TS_V_token": ["i386", "0", "16", "0", "16"], "File": "i386-expand1", "Func": "ix86_avx256_split_vector_move_misalign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37635, "Length": 386}
{"ground_truth": ["", "bool", "ix86_check_builtin_isa_match", "(", "unsigned", "int", "fcode", ",", "HOST_WIDE_INT", "*", "pbisa", ",", "HOST_WIDE_INT", "*", "pbisa2", ")", "{", "HOST_WIDE_INT", "isa", "=", "ix86_isa_flags", ";", "HOST_WIDE_INT", "isa2", "=", "ix86_isa_flags2", ";", "HOST_WIDE_INT", "bisa", "=", "ix86_builtins_isa", "[", "fcode", "]", ".", "isa", ";", "HOST_WIDE_INT", "bisa2", "=", "ix86_builtins_isa", "[", "fcode", "]", ".", "isa2", ";", "if", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_SSE", "|", "OPTION_MASK_ISA_3DNOW_A", ")", ")", "==", "(", "OPTION_MASK_ISA_SSE", "|", "OPTION_MASK_ISA_3DNOW_A", ")", ")", "&&", "(", "isa", "&", "(", "OPTION_MASK_ISA_SSE", "|", "OPTION_MASK_ISA_3DNOW_A", ")", ")", "!=", "0", ")", "isa", "|=", "(", "OPTION_MASK_ISA_SSE", "|", "OPTION_MASK_ISA_3DNOW_A", ")", ";", "if", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_SSE4_2", "|", "OPTION_MASK_ISA_CRC32", ")", ")", "==", "(", "OPTION_MASK_ISA_SSE4_2", "|", "OPTION_MASK_ISA_CRC32", ")", ")", "&&", "(", "isa", "&", "(", "OPTION_MASK_ISA_SSE4_2", "|", "OPTION_MASK_ISA_CRC32", ")", ")", "!=", "0", ")", "isa", "|=", "(", "OPTION_MASK_ISA_SSE4_2", "|", "OPTION_MASK_ISA_CRC32", ")", ";", "if", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_FMA", "|", "OPTION_MASK_ISA_FMA4", ")", ")", "==", "(", "OPTION_MASK_ISA_FMA", "|", "OPTION_MASK_ISA_FMA4", ")", ")", "&&", "(", "isa", "&", "(", "OPTION_MASK_ISA_FMA", "|", "OPTION_MASK_ISA_FMA4", ")", ")", "!=", "0", ")", "isa", "|=", "(", "OPTION_MASK_ISA_FMA", "|", "OPTION_MASK_ISA_FMA4", ")", ";", "if", "(", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "==", "(", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "||", "(", "bisa2", "&", "OPTION_MASK_ISA2_AVXVNNI", ")", "!=", "0", ")", "&&", "(", "(", "(", "isa", "&", "(", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "==", "(", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "||", "(", "isa2", "&", "OPTION_MASK_ISA2_AVXVNNI", ")", "!=", "0", ")", ")", "{", "isa", "|=", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ";", "isa2", "|=", "OPTION_MASK_ISA2_AVXVNNI", ";", "}", "if", "(", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_AVX512IFMA", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "==", "(", "OPTION_MASK_ISA_AVX512IFMA", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "||", "(", "bisa2", "&", "OPTION_MASK_ISA2_AVXIFMA", ")", "!=", "0", ")", "&&", "(", "(", "(", "isa", "&", "(", "OPTION_MASK_ISA_AVX512IFMA", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "==", "(", "OPTION_MASK_ISA_AVX512IFMA", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "||", "(", "isa2", "&", "OPTION_MASK_ISA2_AVXIFMA", ")", "!=", "0", ")", ")", "{", "isa", "|=", "OPTION_MASK_ISA_AVX512IFMA", "|", "OPTION_MASK_ISA_AVX512VL", ";", "isa2", "|=", "OPTION_MASK_ISA2_AVXIFMA", ";", "}", "if", "(", "(", "(", "(", "bisa", "&", "OPTION_MASK_ISA_AVX512VL", ")", "!=", "0", "&&", "(", "bisa2", "&", "OPTION_MASK_ISA2_AVX512BF16", ")", "!=", "0", ")", "&&", "(", "bisa2", "&", "OPTION_MASK_ISA2_AVXNECONVERT", ")", "!=", "0", ")", "&&", "(", "(", "(", "isa", "&", "OPTION_MASK_ISA_AVX512VL", ")", "!=", "0", "&&", "(", "isa2", "&", "OPTION_MASK_ISA2_AVX512BF16", ")", "!=", "0", ")", "||", "(", "isa2", "&", "OPTION_MASK_ISA2_AVXNECONVERT", ")", "!=", "0", ")", ")", "{", "isa", "|=", "OPTION_MASK_ISA_AVX512VL", ";", "isa2", "|=", "OPTION_MASK_ISA2_AVXNECONVERT", "|", "OPTION_MASK_ISA2_AVX512BF16", ";", "}", "if", "(", "(", "bisa", "&", "OPTION_MASK_ISA_MMX", ")", "&&", "!", "TARGET_MMX", "&&", "TARGET_MMX_WITH_SSE", "&&", "fcode", "!=", "IX86_BUILTIN_MASKMOVQ", ")", "{", "bisa", "&=", "~", "OPTION_MASK_ISA_MMX", ";", "bisa", "|=", "OPTION_MASK_ISA_SSE2", ";", "}", "if", "(", "pbisa", ")", "*", "pbisa", "=", "bisa", ";", "if", "(", "pbisa2", ")", "*", "pbisa2", "=", "bisa2", ";", "return", "(", "bisa", "&", "isa", ")", "==", "bisa", "&&", "(", "bisa2", "&", "isa2", ")", "==", "bisa2", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "necessary", "isa", "options", "for", "this", "builtin", "exist", ",", "else", "false", ".", "fcode", "=", "DECL_MD_FUNCTION_CODE", "(", "fndecl", ")", ";"], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], "File": "i386-expand1", "Func": "ix86_check_builtin_isa_match", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37636, "Length": 440}
{"ground_truth": ["", "static", "rtx", "ix86_convert_const_wide_int_to_broadcast", "(", "machine_mode", "mode", ",", "rtx", "op", ")", "{", "if", "(", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", "return", "nullptr", ";", "if", "(", "!", "TARGET_AVX", "||", "!", "CONST_WIDE_INT_P", "(", "op", ")", "||", "standard_sse_constant_p", "(", "op", ",", "mode", ")", "||", "(", "CONST_WIDE_INT_NUNITS", "(", "op", ")", "*", "HOST_BITS_PER_WIDE_INT", "!=", "GET_MODE_BITSIZE", "(", "mode", ")", ")", ")", "return", "nullptr", ";", "HOST_WIDE_INT", "val", "=", "CONST_WIDE_INT_ELT", "(", "op", ",", "0", ")", ";", "HOST_WIDE_INT", "val_broadcast", ";", "scalar_int_mode", "broadcast_mode", ";", "if", "(", "TARGET_AVX2", "&&", "ix86_broadcast", "(", "val", ",", "GET_MODE_BITSIZE", "(", "QImode", ")", ",", "val_broadcast", ")", ")", "broadcast_mode", "=", "QImode", ";", "else", "if", "(", "TARGET_AVX2", "&&", "ix86_broadcast", "(", "val", ",", "GET_MODE_BITSIZE", "(", "HImode", ")", ",", "val_broadcast", ")", ")", "broadcast_mode", "=", "HImode", ";", "else", "if", "(", "ix86_broadcast", "(", "val", ",", "GET_MODE_BITSIZE", "(", "SImode", ")", ",", "val_broadcast", ")", ")", "broadcast_mode", "=", "SImode", ";", "else", "if", "(", "TARGET_64BIT", "&&", "ix86_broadcast", "(", "val", ",", "GET_MODE_BITSIZE", "(", "DImode", ")", ",", "val_broadcast", ")", ")", "broadcast_mode", "=", "DImode", ";", "else", "return", "nullptr", ";", "for", "(", "int", "i", "=", "1", ";", "i", "<", "CONST_WIDE_INT_NUNITS", "(", "op", ")", ";", "i", "++", ")", "if", "(", "val", "!=", "CONST_WIDE_INT_ELT", "(", "op", ",", "i", ")", ")", "return", "nullptr", ";", "unsigned", "int", "nunits", "=", "(", "GET_MODE_SIZE", "(", "mode", ")", "/", "GET_MODE_SIZE", "(", "broadcast_mode", ")", ")", ";", "machine_mode", "vector_mode", ";", "if", "(", "!", "mode_for_vector", "(", "broadcast_mode", ",", "nunits", ")", ".", "exists", "(", "&", "vector_mode", ")", ")", "gcc_unreachable", "(", ")", ";", "rtx", "target", "=", "gen_reg_rtx", "(", "vector_mode", ")", ";", "bool", "ok", "=", "ix86_expand_vector_init_duplicate", "(", "false", ",", "vector_mode", ",", "target", ",", "GEN_INT", "(", "val_broadcast", ")", ")", ";", "gcc_assert", "(", "ok", ")", ";", "target", "=", "lowpart_subreg", "(", "mode", ",", "target", ",", "vector_mode", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Convert", "the", "CONST_WIDE_INT", "operand", "OP", "to", "broadcast", "in", "MODE", "."], "TS_V_token": ["i386", "0", "1"], "File": "i386-expand1", "Func": "ix86_convert_const_wide_int_to_broadcast", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37637, "Length": 270}
{"ground_truth": ["", "rtx", "ix86_expand_fast_convert_bf_to_sf", "(", "rtx", "val", ")", "{", "rtx", "op", "=", "gen_lowpart", "(", "HImode", ",", "val", ")", ",", "ret", ";", "if", "(", "CONST_INT_P", "(", "op", ")", ")", "{", "ret", "=", "simplify_const_unary_operation", "(", "FLOAT_EXTEND", ",", "SFmode", ",", "val", ",", "BFmode", ")", ";", "if", "(", "ret", ")", "return", "ret", ";", "ret", "=", "gen_reg_rtx", "(", "SImode", ")", ";", "emit_move_insn", "(", "ret", ",", "GEN_INT", "(", "INTVAL", "(", "op", ")", "&", "0xffff", ")", ")", ";", "emit_insn", "(", "gen_ashlsi3", "(", "ret", ",", "ret", ",", "GEN_INT", "(", "16", ")", ")", ")", ";", "return", "gen_lowpart", "(", "SFmode", ",", "ret", ")", ";", "}", "ret", "=", "gen_reg_rtx", "(", "SFmode", ")", ";", "emit_insn", "(", "gen_extendbfsf2_1", "(", "ret", ",", "force_reg", "(", "BFmode", ",", "val", ")", ")", ")", ";", "return", "ret", ";", "}", ""], "natrual_language": ["Convert", "a", "BFmode", "VAL", "to", "SFmode", "without", "signaling", "sNaNs", ".", "This", "is", "done", "by", "returning", "SF", "SUBREG", "of", "(", "(", "HI", "SUBREG", ")", "(", "VAL", ")", ")", "<", "<", "16", "."], "TS_V_token": ["i386", "0xffff", "16"], "File": "i386-expand1", "Func": "ix86_expand_fast_convert_bf_to_sf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37638, "Length": 119}
{"ground_truth": ["", "void", "ix86_expand_fp_absneg_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "set", ",", "dst", ",", "src", ";", "bool", "use_sse", "=", "false", ";", "bool", "vector_mode", "=", "VECTOR_MODE_P", "(", "mode", ")", ";", "machine_mode", "vmode", "=", "mode", ";", "rtvec", "par", ";", "if", "(", "vector_mode", "||", "mode", "==", "TFmode", ")", "use_sse", "=", "true", ";", "else", "if", "(", "TARGET_SSE_MATH", ")", "{", "use_sse", "=", "SSE_FLOAT_MODE_P", "(", "mode", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "}", "dst", "=", "operands", "[", "0", "]", ";", "src", "=", "operands", "[", "1", "]", ";", "set", "=", "gen_rtx_fmt_e", "(", "code", ",", "mode", ",", "src", ")", ";", "set", "=", "gen_rtx_SET", "(", "dst", ",", "set", ")", ";", "if", "(", "use_sse", ")", "{", "rtx", "mask", ",", "use", ",", "clob", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "vector_mode", ",", "code", "==", "ABS", ")", ";", "use", "=", "gen_rtx_USE", "(", "VOIDmode", ",", "mask", ")", ";", "if", "(", "vector_mode", "||", "mode", "==", "TFmode", ")", "par", "=", "gen_rtvec", "(", "2", ",", "set", ",", "use", ")", ";", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "par", "=", "gen_rtvec", "(", "3", ",", "set", ",", "use", ",", "clob", ")", ";", "}", "}", "else", "{", "rtx", "clob", ";", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "par", "=", "gen_rtvec", "(", "2", ",", "set", ",", "clob", ")", ";", "}", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "par", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "code", "for", "floating", "point", "ABS", "or", "NEG", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "2"], "File": "i386-expand1", "Func": "ix86_expand_fp_absneg_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37639, "Length": 251}
{"ground_truth": ["", "bool", "ix86_expand_fp_movcc", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "tmp", ",", "compare_op", ";", "rtx", "op0", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ";", "rtx", "op1", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "1", ")", ";", "if", "(", "GET_MODE", "(", "op0", ")", "==", "BFmode", "&&", "!", "ix86_fp_comparison_operator", "(", "operands", "[", "1", "]", ",", "VOIDmode", ")", ")", "return", "false", ";", "if", "(", "SSE_FLOAT_MODE_SSEMATH_OR_HF_P", "(", "mode", ")", ")", "{", "machine_mode", "cmode", ";", "cmode", "=", "GET_MODE", "(", "op0", ")", ";", "if", "(", "cmode", "==", "VOIDmode", ")", "cmode", "=", "GET_MODE", "(", "op1", ")", ";", "if", "(", "cmode", "!=", "mode", ")", "return", "false", ";", "code", "=", "ix86_prepare_sse_fp_compare_args", "(", "operands", "[", "0", "]", ",", "code", ",", "&", "op0", ",", "&", "op1", ")", ";", "if", "(", "code", "==", "UNKNOWN", ")", "return", "false", ";", "if", "(", "ix86_expand_sse_fp_minmax", "(", "operands", "[", "0", "]", ",", "code", ",", "op0", ",", "op1", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ")", "return", "true", ";", "tmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "op0", ",", "op1", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "tmp", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ";", "return", "true", ";", "}", "if", "(", "GET_MODE", "(", "op0", ")", "==", "TImode", "||", "(", "GET_MODE", "(", "op0", ")", "==", "DImode", "&&", "!", "TARGET_64BIT", ")", ")", "return", "false", ";", "compare_op", "=", "ix86_expand_compare", "(", "code", ",", "op0", ",", "op1", ")", ";", "if", "(", "!", "fcmov_comparison_operator", "(", "compare_op", ",", "VOIDmode", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "QImode", ")", ";", "ix86_expand_setcc", "(", "tmp", ",", "code", ",", "op0", ",", "op1", ")", ";", "compare_op", "=", "ix86_expand_compare", "(", "NE", ",", "tmp", ",", "const0_rtx", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "operands", "[", "0", "]", ",", "gen_rtx_IF_THEN_ELSE", "(", "mode", ",", "compare_op", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "floating-point", "conditional", "move", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "1", "1", "0", "1", "1", "1", "0", "0", "2", "3", "0", "2", "3", "0", "2", "3", "0", "2", "3"], "File": "i386-expand1", "Func": "ix86_expand_fp_movcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37640, "Length": 340}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "machine_mode", "cmp_ops_mode", "=", "GET_MODE", "(", "cmp_op0", ")", ";", "machine_mode", "cmp_mode", ";", "bool", "maskcmp", "=", "false", ";", "rtx", "x", ";", "if", "(", "ix86_use_mask_cmp_p", "(", "mode", ",", "cmp_ops_mode", ",", "op_true", ",", "op_false", ")", ")", "{", "unsigned", "int", "nbits", "=", "GET_MODE_NUNITS", "(", "cmp_ops_mode", ")", ";", "maskcmp", "=", "true", ";", "cmp_mode", "=", "nbits", ">", "8", "?", "int_mode_for_size", "(", "nbits", ",", "0", ")", ".", "require", "(", ")", ":", "E_QImode", ";", "}", "else", "cmp_mode", "=", "cmp_ops_mode", ";", "cmp_op0", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op0", ")", ";", "int", "(", "*", "op1_predicate", ")", "(", "rtx", ",", "machine_mode", ")", "=", "VECTOR_MODE_P", "(", "cmp_ops_mode", ")", "?", "vector_operand", ":", "nonimmediate_operand", ";", "if", "(", "!", "op1_predicate", "(", "cmp_op1", ",", "cmp_ops_mode", ")", ")", "cmp_op1", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op1", ")", ";", "if", "(", "optimize", "||", "(", "maskcmp", "&&", "cmp_mode", "!=", "mode", ")", "||", "(", "op_true", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_true", ")", ")", "||", "(", "op_false", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_false", ")", ")", ")", "dest", "=", "gen_reg_rtx", "(", "maskcmp", "?", "cmp_mode", ":", "mode", ")", ";", "if", "(", "maskcmp", ")", "{", "bool", "ok", "=", "ix86_expand_mask_vec_cmp", "(", "dest", ",", "code", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "gcc_assert", "(", "ok", ")", ";", "return", "dest", ";", "}", "x", "=", "gen_rtx_fmt_ee", "(", "code", ",", "cmp_mode", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "if", "(", "cmp_mode", "!=", "mode", ")", "{", "x", "=", "force_reg", "(", "cmp_ops_mode", ",", "x", ")", ";", "convert_move", "(", "dest", ",", "x", ",", "false", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Expand", "an", "sse", "vector", "comparison", ".", "Return", "the", "register", "with", "the", "result", "."], "TS_V_token": ["i386", "8", "0"], "File": "i386-expand1", "Func": "ix86_expand_sse_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37641, "Length": 278}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_comi", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "rtx", "pat", ",", "set_dst", ";", "tree", "arg0", "=", "CALL_EXPR_ARG", "(", "exp", ",", "0", ")", ";", "tree", "arg1", "=", "CALL_EXPR_ARG", "(", "exp", ",", "1", ")", ";", "rtx", "op0", "=", "expand_normal", "(", "arg0", ")", ";", "rtx", "op1", "=", "expand_normal", "(", "arg1", ")", ";", "enum", "insn_code", "icode", "=", "d", "->", "icode", ";", "const", "struct", "insn_data_d", "*", "insn_p", "=", "&", "insn_data", "[", "icode", "]", ";", "machine_mode", "mode0", "=", "insn_p", "->", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode1", "=", "insn_p", "->", "operand", "[", "1", "]", ".", "mode", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "enum", "rtx_code", "comparison", "=", "d", "->", "comparison", ";", "rtx", "const_val", "=", "const0_rtx", ";", "bool", "check_unordered", "=", "false", ";", "machine_mode", "mode", "=", "CCFPmode", ";", "switch", "(", "comparison", ")", "{", "case", "LE", ":", "case", "LT", ":", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "comparison", "=", "swap_condition", "(", "comparison", ")", ";", "case", "GT", ":", "case", "GE", ":", "break", ";", "case", "EQ", ":", "check_unordered", "=", "true", ";", "mode", "=", "CCZmode", ";", "break", ";", "case", "NE", ":", "check_unordered", "=", "true", ";", "mode", "=", "CCZmode", ";", "const_val", "=", "const1_rtx", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "target", "=", "gen_reg_rtx", "(", "SImode", ")", ";", "emit_move_insn", "(", "target", ",", "const_val", ")", ";", "target", "=", "gen_rtx_SUBREG", "(", "QImode", ",", "target", ",", "0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "insn_p", "->", "operand", "[", "0", "]", ".", "predicate", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op1", ",", "mode1", ")", ")", "||", "!", "insn_p", "->", "operand", "[", "1", "]", ".", "predicate", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "set_dst", "=", "SET_DEST", "(", "pat", ")", ";", "emit_insn", "(", "pat", ")", ";", "return", "ix86_ssecom_setcc", "(", "comparison", ",", "check_unordered", ",", "mode", ",", "set_dst", ",", "target", ")", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "comi", "insns", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "1", "0"], "File": "i386-expand1", "Func": "ix86_expand_sse_comi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37642, "Length": 377}
{"ground_truth": ["", "bool", "ix86_expand_vecmul_qihi", "(", "rtx", "dest", ",", "rtx", "op1", ",", "rtx", "op2", ")", "{", "machine_mode", "himode", ",", "qimode", "=", "GET_MODE", "(", "dest", ")", ";", "rtx", "hop1", ",", "hop2", ",", "hdest", ";", "rtx", "(", "*", "gen_extend", ")", "(", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_truncate", ")", "(", "rtx", ",", "rtx", ")", ";", "if", "(", "qimode", "==", "E_V64QImode", ")", "return", "false", ";", "if", "(", "!", "TARGET_AVX512BW", ")", "return", "false", ";", "if", "(", "(", "qimode", "==", "V8QImode", "||", "qimode", "==", "V16QImode", ")", "&&", "!", "TARGET_AVX512VL", ")", "return", "false", ";", "if", "(", "qimode", "==", "V32QImode", "&&", "(", "TARGET_PREFER_AVX128", "||", "TARGET_PREFER_AVX256", ")", ")", "return", "false", ";", "switch", "(", "qimode", ")", "{", "case", "E_V8QImode", ":", "himode", "=", "V8HImode", ";", "gen_extend", "=", "gen_zero_extendv8qiv8hi2", ";", "gen_truncate", "=", "gen_truncv8hiv8qi2", ";", "break", ";", "case", "E_V16QImode", ":", "himode", "=", "V16HImode", ";", "gen_extend", "=", "gen_zero_extendv16qiv16hi2", ";", "gen_truncate", "=", "gen_truncv16hiv16qi2", ";", "break", ";", "case", "E_V32QImode", ":", "himode", "=", "V32HImode", ";", "gen_extend", "=", "gen_zero_extendv32qiv32hi2", ";", "gen_truncate", "=", "gen_truncv32hiv32qi2", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "hop1", "=", "gen_reg_rtx", "(", "himode", ")", ";", "hop2", "=", "gen_reg_rtx", "(", "himode", ")", ";", "hdest", "=", "gen_reg_rtx", "(", "himode", ")", ";", "emit_insn", "(", "gen_extend", "(", "hop1", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_extend", "(", "hop2", ",", "op2", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "hdest", ",", "simplify_gen_binary", "(", "MULT", ",", "himode", ",", "hop1", ",", "hop2", ")", ")", ")", ";", "emit_insn", "(", "gen_truncate", "(", "dest", ",", "hdest", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Optimize", "vector", "MUL", "generation", "for", "V8QI", ",", "V16QI", "and", "V32QI", "under", "TARGET_AVX512BW", ".", "i.e", ".", "for", "v16qi", "a", "*", "b", ",", "it", "has", "vpmovzxbw", "ymm2", ",", "xmm0", "vpmovzxbw", "ymm3", ",", "xmm1", "vpmullw", "ymm4", ",", "ymm2", ",", "ymm3", "vpmovwb", "xmm0", ",", "ymm4", "it", "would", "take", "less", "instructions", "than", "ix86_expand_vecop_qihi", ".", "Return", "true", "if", "success", "."], "TS_V_token": ["i386"], "File": "i386-expand1", "Func": "ix86_expand_vecmul_qihi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37643, "Length": 239}
{"ground_truth": ["", "void", "ix86_expand_vector_init", "(", "bool", "mmx_ok", ",", "rtx", "target", ",", "rtx", "vals", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "int", "n_elts", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "int", "n_var", "=", "0", ",", "one_var", "=", "-", "1", ";", "bool", "all_same", "=", "true", ",", "all_const_zero", "=", "true", ";", "int", "i", ";", "rtx", "x", ";", "if", "(", "n_elts", "!=", "XVECLEN", "(", "vals", ",", "0", ")", ")", "{", "rtx", "subtarget", "=", "target", ";", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_MODE_INNER", "(", "GET_MODE", "(", "x", ")", ")", "==", "inner_mode", ")", ";", "if", "(", "GET_MODE_NUNITS", "(", "GET_MODE", "(", "x", ")", ")", "*", "2", "==", "n_elts", ")", "{", "rtx", "ops", "[", "2", "]", "=", "{", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ",", "XVECEXP", "(", "vals", ",", "0", ",", "1", ")", "}", ";", "if", "(", "inner_mode", "==", "QImode", "||", "inner_mode", "==", "HImode", "||", "inner_mode", "==", "TImode", "||", "inner_mode", "==", "HFmode", "||", "inner_mode", "==", "BFmode", ")", "{", "unsigned", "int", "n_bits", "=", "n_elts", "*", "GET_MODE_SIZE", "(", "inner_mode", ")", ";", "scalar_mode", "elt_mode", "=", "inner_mode", "==", "TImode", "?", "DImode", ":", "SImode", ";", "n_bits", "/=", "GET_MODE_SIZE", "(", "elt_mode", ")", ";", "mode", "=", "mode_for_vector", "(", "elt_mode", ",", "n_bits", ")", ".", "require", "(", ")", ";", "inner_mode", "=", "mode_for_vector", "(", "elt_mode", ",", "n_bits", "/", "2", ")", ".", "require", "(", ")", ";", "ops", "[", "0", "]", "=", "gen_lowpart", "(", "inner_mode", ",", "ops", "[", "0", "]", ")", ";", "ops", "[", "1", "]", "=", "gen_lowpart", "(", "inner_mode", ",", "ops", "[", "1", "]", ")", ";", "subtarget", "=", "gen_reg_rtx", "(", "mode", ")", ";", "}", "ix86_expand_vector_init_concat", "(", "mode", ",", "subtarget", ",", "ops", ",", "2", ")", ";", "if", "(", "subtarget", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "GET_MODE", "(", "target", ")", ",", "subtarget", ")", ")", ";", "return", ";", "}", "gcc_unreachable", "(", ")", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "n_elts", ";", "++", "i", ")", "{", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "i", ")", ";", "if", "(", "!", "(", "CONST_SCALAR_INT_P", "(", "x", ")", "||", "CONST_DOUBLE_P", "(", "x", ")", "||", "CONST_FIXED_P", "(", "x", ")", ")", ")", "n_var", "++", ",", "one_var", "=", "i", ";", "else", "if", "(", "x", "!=", "CONST0_RTX", "(", "inner_mode", ")", ")", "all_const_zero", "=", "false", ";", "if", "(", "i", ">", "0", "&&", "!", "rtx_equal_p", "(", "x", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "all_same", "=", "false", ";", "}", "if", "(", "n_var", "==", "0", ")", "{", "emit_move_insn", "(", "target", ",", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "vals", ",", "0", ")", ")", ")", ";", "return", ";", "}", "if", "(", "all_same", "&&", "ix86_expand_vector_init_duplicate", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "return", ";", "if", "(", "n_var", "==", "1", ")", "{", "if", "(", "all_const_zero", "&&", "ix86_expand_vector_init_one_nonzero", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ",", "one_var", ")", ")", "return", ";", "if", "(", "ix86_expand_vector_init_one_var", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ",", "one_var", ")", ")", "return", ";", "}", "ix86_expand_vector_init_general", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ")", ";", "}", ""], "natrual_language": ["Initialize", "vector", "TARGET", "via", "VALS", ".", "Suppress", "the", "use", "of", "MMX", "instructions", "unless", "MMX_OK", "is", "true", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "0", "2", "2", "0", "0", "0", "1", "2", "0", "0", "1", "1", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0"], "File": "i386-expand1", "Func": "ix86_expand_vector_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37644, "Length": 508}
{"ground_truth": ["", "static", "bool", "ix86_expand_vector_init_one_var", "(", "bool", "mmx_ok", ",", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "vals", ",", "int", "one_var", ")", "{", "rtx", "var", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ";", "machine_mode", "wmode", ";", "rtx", "const_vec", ",", "x", ";", "const_vec", "=", "copy_rtx", "(", "vals", ")", ";", "XVECEXP", "(", "const_vec", ",", "0", ",", "one_var", ")", "=", "CONST0_RTX", "(", "GET_MODE_INNER", "(", "mode", ")", ")", ";", "const_vec", "=", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "const_vec", ",", "0", ")", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_V2DFmode", ":", "case", "E_V2DImode", ":", "case", "E_V2SFmode", ":", "case", "E_V2SImode", ":", "return", "false", ";", "case", "E_V4DImode", ":", "if", "(", "!", "TARGET_64BIT", ")", "return", "false", ";", "case", "E_V8HFmode", ":", "case", "E_V16HFmode", ":", "case", "E_V8BFmode", ":", "case", "E_V16BFmode", ":", "case", "E_V4DFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V16HImode", ":", "case", "E_V32QImode", ":", "case", "E_V4SFmode", ":", "case", "E_V4SImode", ":", "case", "E_V8HImode", ":", "case", "E_V4HImode", ":", "break", ";", "case", "E_V16QImode", ":", "if", "(", "TARGET_SSE4_1", ")", "break", ";", "wmode", "=", "V8HImode", ";", "goto", "widen", ";", "case", "E_V8QImode", ":", "if", "(", "TARGET_MMX_WITH_SSE", "&&", "TARGET_SSE4_1", ")", "break", ";", "wmode", "=", "V4HImode", ";", "goto", "widen", ";", "case", "E_V4QImode", ":", "if", "(", "TARGET_SSE4_1", ")", "break", ";", "wmode", "=", "V2HImode", ";", "widen", ":", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", "^", "1", ")", ";", "if", "(", "one_var", "&", "1", ")", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "var", "=", "expand_simple_binop", "(", "HImode", ",", "ASHIFT", ",", "var", ",", "GEN_INT", "(", "8", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "GEN_INT", "(", "INTVAL", "(", "x", ")", "&", "0xff", ")", ";", "}", "else", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "x", "=", "gen_int_mode", "(", "UINTVAL", "(", "x", ")", "<<", "8", ",", "HImode", ")", ";", "}", "if", "(", "x", "!=", "const0_rtx", ")", "var", "=", "expand_simple_binop", "(", "HImode", ",", "IOR", ",", "var", ",", "x", ",", "var", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "gen_reg_rtx", "(", "wmode", ")", ";", "emit_move_insn", "(", "x", ",", "gen_lowpart", "(", "wmode", ",", "const_vec", ")", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "x", ",", "var", ",", "one_var", ">>", "1", ")", ";", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "mode", ",", "x", ")", ")", ";", "return", "true", ";", "default", ":", "return", "false", ";", "}", "emit_move_insn", "(", "target", ",", "const_vec", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "target", ",", "var", ",", "one_var", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init", ".", "Store", "into", "TARGET", "a", "vector", "consisting", "of", "the", "values", "in", "VALS", ".", "It", "is", "known", "that", "all", "elements", "except", "ONE_VAR", "are", "constants", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "1", "1", "8", "1", "0xff", "8", "1", "1"], "File": "i386-expand1", "Func": "ix86_expand_vector_init_one_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37645, "Length": 397}
{"ground_truth": ["", "static", "bool", "ix86_expand_vec_perm_const_1", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "if", "(", "expand_vec_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshuflw_pshufhw", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_palignr", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_broadcast", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermq_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pblendv", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2perm_interleave", "(", "d", ",", "true", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2perm_pblendv", "(", "d", ",", "true", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_shufps_shufps", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_pack", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2vperm2f128_vshuf", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshufb2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pslldq_psrldq_por", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave3", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128_vblend", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2perm_interleave", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2perm_pblendv", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_trunc", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermt2_vpshub2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pslldq_psrldq_por", "(", "d", ",", "true", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb4_vpermq2", "(", "d", ")", ")", "return", "true", ";", "struct", "expand_vec_perm_d", "nd", ";", "if", "(", "canonicalize_vector_int_perm", "(", "d", ",", "&", "nd", ")", "&&", "expand_vec_perm_1", "(", "&", "nd", ")", ")", "{", "if", "(", "!", "d", "->", "testing_p", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "nd", ".", "target", ")", ")", ";", "return", "true", ";", "}", "if", "(", "expand_vec_perm2_vperm2f128_vblend", "(", "d", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["The", "guts", "of", "ix86_expand_vec_perm_const", ",", "also", "used", "by", "the", "ok", "hook", ".", "With", "all", "of", "the", "interface", "bits", "taken", "care", "of", ",", "perform", "the", "expansion", "in", "D", "and", "return", "true", "on", "success", "."], "TS_V_token": ["i386"], "File": "i386-expand1", "Func": "ix86_expand_vec_perm_const_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37646, "Length": 348}
{"ground_truth": ["", "static", "rtx", "ix86_expand_vec_set_builtin", "(", "tree", "exp", ")", "{", "machine_mode", "tmode", ",", "mode1", ";", "tree", "arg0", ",", "arg1", ",", "arg2", ";", "int", "elt", ";", "rtx", "op0", ",", "op1", ",", "target", ";", "arg0", "=", "CALL_EXPR_ARG", "(", "exp", ",", "0", ")", ";", "arg1", "=", "CALL_EXPR_ARG", "(", "exp", ",", "1", ")", ";", "arg2", "=", "CALL_EXPR_ARG", "(", "exp", ",", "2", ")", ";", "tmode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ";", "mode1", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ")", ";", "gcc_assert", "(", "VECTOR_MODE_P", "(", "tmode", ")", ")", ";", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "tmode", ",", "EXPAND_NORMAL", ")", ";", "op1", "=", "expand_expr", "(", "arg1", ",", "NULL_RTX", ",", "mode1", ",", "EXPAND_NORMAL", ")", ";", "elt", "=", "get_element_number", "(", "TREE_TYPE", "(", "arg0", ")", ",", "arg2", ")", ";", "if", "(", "GET_MODE", "(", "op1", ")", "!=", "mode1", ")", "op1", "=", "convert_modes", "(", "mode1", ",", "GET_MODE", "(", "op1", ")", ",", "op1", ",", "true", ")", ";", "op0", "=", "force_reg", "(", "tmode", ",", "op0", ")", ";", "op1", "=", "force_reg", "(", "mode1", ",", "op1", ")", ";", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "emit_move_insn", "(", "target", ",", "op0", ")", ";", "ix86_expand_vector_set", "(", "true", ",", "target", ",", "op1", ",", "elt", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_builtin", ".", "These", "builtins", "are", "a", "wrapper", "around", "ix86_expand_vector_set", ".", "They", "would", "be", "redundant", "(", "for", "non-MMX", ")", "if", "we", "had", "a", "language-level", "syntax", "for", "referencing", "vector", "elements", "."], "TS_V_token": ["i386", "0", "1", "2"], "File": "i386-expand1", "Func": "ix86_expand_vec_set_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37647, "Length": 198}
{"ground_truth": ["", "bool", "ix86_expand_vec_shift_qihi_constant", "(", "enum", "rtx_code", "code", ",", "rtx", "dest", ",", "rtx", "op1", ",", "rtx", "op2", ")", "{", "machine_mode", "qimode", ",", "himode", ";", "HOST_WIDE_INT", "and_constant", ",", "xor_constant", ";", "HOST_WIDE_INT", "shift_amount", ";", "rtx", "vec_const_and", ",", "vec_const_xor", ";", "rtx", "tmp", ",", "op1_subreg", ";", "rtx", "(", "*", "gen_shift", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_and", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_xor", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_sub", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "if", "(", "!", "CONST_INT_P", "(", "op2", ")", ")", "return", "false", ";", "qimode", "=", "GET_MODE", "(", "dest", ")", ";", "shift_amount", "=", "INTVAL", "(", "op2", ")", ";", "if", "(", "shift_amount", ">", "7", ")", "return", "false", ";", "gcc_assert", "(", "code", "==", "ASHIFT", "||", "code", "==", "ASHIFTRT", "||", "code", "==", "LSHIFTRT", ")", ";", "xor_constant", "=", "1", "<<", "(", "8", "-", "shift_amount", "-", "1", ")", ";", "and_constant", "=", "(", "code", "==", "ASHIFT", "?", "256", "-", "(", "1", "<<", "shift_amount", ")", ":", "(", "1", "<<", "(", "8", "-", "shift_amount", ")", ")", "-", "1", ")", ";", "switch", "(", "qimode", ")", "{", "case", "V16QImode", ":", "himode", "=", "V8HImode", ";", "gen_shift", "=", "(", "(", "code", "==", "ASHIFT", ")", "?", "gen_ashlv8hi3", ":", "(", "code", "==", "ASHIFTRT", ")", "?", "gen_ashrv8hi3", ":", "gen_lshrv8hi3", ")", ";", "gen_and", "=", "gen_andv16qi3", ";", "gen_xor", "=", "gen_xorv16qi3", ";", "gen_sub", "=", "gen_subv16qi3", ";", "break", ";", "case", "V32QImode", ":", "himode", "=", "V16HImode", ";", "gen_shift", "=", "(", "(", "code", "==", "ASHIFT", ")", "?", "gen_ashlv16hi3", ":", "(", "code", "==", "ASHIFTRT", ")", "?", "gen_ashrv16hi3", ":", "gen_lshrv16hi3", ")", ";", "gen_and", "=", "gen_andv32qi3", ";", "gen_xor", "=", "gen_xorv32qi3", ";", "gen_sub", "=", "gen_subv32qi3", ";", "break", ";", "case", "V64QImode", ":", "himode", "=", "V32HImode", ";", "gen_shift", "=", "(", "(", "code", "==", "ASHIFT", ")", "?", "gen_ashlv32hi3", ":", "(", "code", "==", "ASHIFTRT", ")", "?", "gen_ashrv32hi3", ":", "gen_lshrv32hi3", ")", ";", "gen_and", "=", "gen_andv64qi3", ";", "gen_xor", "=", "gen_xorv64qi3", ";", "gen_sub", "=", "gen_subv64qi3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "tmp", "=", "gen_reg_rtx", "(", "himode", ")", ";", "vec_const_and", "=", "gen_reg_rtx", "(", "qimode", ")", ";", "op1_subreg", "=", "lowpart_subreg", "(", "himode", ",", "op1", ",", "qimode", ")", ";", "emit_insn", "(", "gen_shift", "(", "tmp", ",", "op1_subreg", ",", "op2", ")", ")", ";", "emit_move_insn", "(", "dest", ",", "simplify_gen_subreg", "(", "qimode", ",", "tmp", ",", "himode", ",", "0", ")", ")", ";", "emit_move_insn", "(", "vec_const_and", ",", "ix86_build_const_vector", "(", "qimode", ",", "true", ",", "gen_int_mode", "(", "and_constant", ",", "QImode", ")", ")", ")", ";", "emit_insn", "(", "gen_and", "(", "dest", ",", "dest", ",", "vec_const_and", ")", ")", ";", "if", "(", "code", "==", "ASHIFTRT", ")", "{", "vec_const_xor", "=", "gen_reg_rtx", "(", "qimode", ")", ";", "emit_move_insn", "(", "vec_const_xor", ",", "ix86_build_const_vector", "(", "qimode", ",", "true", ",", "gen_int_mode", "(", "xor_constant", ",", "QImode", ")", ")", ")", ";", "emit_insn", "(", "gen_xor", "(", "dest", ",", "dest", ",", "vec_const_xor", ")", ")", ";", "emit_insn", "(", "gen_sub", "(", "dest", ",", "dest", ",", "vec_const_xor", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "vector", "operation", "shift", "by", "constant", "for", "a", "V", "*", "QImode", "in", "terms", "of", "the", "same", "operation", "on", "V", "*", "HImode", ".", "Return", "true", "if", "success", "."], "TS_V_token": ["i386", "7", "1", "8", "1", "256", "1", "1", "8", "1", "0"], "File": "i386-expand1", "Func": "ix86_expand_vec_shift_qihi_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37648, "Length": 468}
{"ground_truth": ["", "rtx", "ix86_replace_reg_with_reg", "(", "rtx", "x", ",", "rtx", "from", ",", "rtx", "to", ")", "{", "gcc_checking_assert", "(", "REG_P", "(", "from", ")", "&&", "REG_P", "(", "to", ")", "&&", "GET_MODE", "(", "from", ")", "==", "GET_MODE", "(", "to", ")", ")", ";", "if", "(", "!", "reg_overlap_mentioned_p", "(", "from", ",", "x", ")", ")", "return", "x", ";", "rtx", "ret", "=", "copy_rtx", "(", "x", ")", ";", "subrtx_ptr_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX_PTR", "(", "iter", ",", "array", ",", "&", "ret", ",", "NONCONST", ")", "{", "rtx", "*", "loc", "=", "*", "iter", ";", "x", "=", "*", "loc", ";", "if", "(", "REG_P", "(", "x", ")", "&&", "REGNO", "(", "x", ")", "==", "REGNO", "(", "from", ")", ")", "{", "if", "(", "x", "==", "from", ")", "*", "loc", "=", "to", ";", "else", "{", "gcc_checking_assert", "(", "REG_NREGS", "(", "x", ")", "==", "1", ")", ";", "*", "loc", "=", "gen_rtx_REG", "(", "GET_MODE", "(", "x", ")", ",", "REGNO", "(", "to", ")", ")", ";", "}", "}", "}", "return", "ret", ";", "}", ""], "natrual_language": ["Replace", "all", "occurrences", "of", "REG", "FROM", "with", "REG", "TO", "in", "X", ",", "including", "occurrences", "with", "different", "modes", "."], "TS_V_token": ["i386", "1"], "File": "i386-expand1", "Func": "ix86_replace_reg_with_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37649, "Length": 150}
{"ground_truth": ["", "void", "ix86_split_convert_uns_si_sse", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "vecmode", ";", "rtx", "value", ",", "large", ",", "zero_or_two31", ",", "input", ",", "two31", ",", "x", ";", "large", "=", "operands", "[", "1", "]", ";", "zero_or_two31", "=", "operands", "[", "2", "]", ";", "input", "=", "operands", "[", "3", "]", ";", "two31", "=", "operands", "[", "4", "]", ";", "vecmode", "=", "GET_MODE", "(", "large", ")", ";", "value", "=", "gen_rtx_REG", "(", "vecmode", ",", "REGNO", "(", "operands", "[", "0", "]", ")", ")", ";", "if", "(", "MEM_P", "(", "input", ")", ")", "{", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_vec_setv4sf_0", "(", "value", ",", "CONST0_RTX", "(", "V4SFmode", ")", ",", "input", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_loadlpd", "(", "value", ",", "CONST0_RTX", "(", "V2DFmode", ")", ",", "input", ")", ")", ";", "}", "else", "{", "input", "=", "gen_rtx_REG", "(", "vecmode", ",", "REGNO", "(", "input", ")", ")", ";", "emit_move_insn", "(", "value", ",", "CONST0_RTX", "(", "vecmode", ")", ")", ";", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_sse_movss_v4sf", "(", "value", ",", "value", ",", "input", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_movsd_v2df", "(", "value", ",", "value", ",", "input", ")", ")", ";", "}", "emit_move_insn", "(", "large", ",", "two31", ")", ";", "emit_move_insn", "(", "zero_or_two31", ",", "MEM_P", "(", "two31", ")", "?", "large", ":", "two31", ")", ";", "x", "=", "gen_rtx_fmt_ee", "(", "LE", ",", "vecmode", ",", "large", ",", "value", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "large", ",", "x", ")", ")", ";", "x", "=", "gen_rtx_AND", "(", "vecmode", ",", "zero_or_two31", ",", "large", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "zero_or_two31", ",", "x", ")", ")", ";", "x", "=", "gen_rtx_MINUS", "(", "vecmode", ",", "value", ",", "zero_or_two31", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "value", ",", "x", ")", ")", ";", "large", "=", "gen_rtx_REG", "(", "V4SImode", ",", "REGNO", "(", "large", ")", ")", ";", "emit_insn", "(", "gen_ashlv4si3", "(", "large", ",", "large", ",", "GEN_INT", "(", "31", ")", ")", ")", ";", "x", "=", "gen_rtx_REG", "(", "V4SImode", ",", "REGNO", "(", "value", ")", ")", ";", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_fix_truncv4sfv4si2", "(", "x", ",", "value", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_cvttpd2dq", "(", "x", ",", "value", ")", ")", ";", "value", "=", "x", ";", "emit_insn", "(", "gen_xorv4si3", "(", "value", ",", "value", ",", "large", ")", ")", ";", "}", ""], "natrual_language": ["Post-reload", "splitter", "for", "converting", "an", "SF", "or", "DFmode", "value", "in", "an", "SSE", "register", "into", "an", "unsigned", "SImode", "."], "TS_V_token": ["i386", "1", "2", "3", "4", "0", "31"], "File": "i386-expand1", "Func": "ix86_split_convert_uns_si_sse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37650, "Length": 346}
{"ground_truth": ["", "static", "rtx", "ix86_ssecom_setcc", "(", "const", "enum", "rtx_code", "comparison", ",", "bool", "check_unordered", ",", "machine_mode", "mode", ",", "rtx", "set_dst", ",", "rtx", "target", ")", "{", "rtx_code_label", "*", "label", "=", "NULL", ";", "if", "(", "check_unordered", ")", "{", "gcc_assert", "(", "comparison", "==", "EQ", "||", "comparison", "==", "NE", ")", ";", "rtx", "flag", "=", "gen_rtx_REG", "(", "CCFPmode", ",", "FLAGS_REG", ")", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "rtx", "tmp", "=", "gen_rtx_fmt_ee", "(", "UNORDERED", ",", "VOIDmode", ",", "flag", ",", "const0_rtx", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "tmp", ")", ")", ";", "}", "if", "(", "GET_MODE", "(", "set_dst", ")", "!=", "mode", ")", "{", "gcc_assert", "(", "mode", "==", "CCAmode", "||", "mode", "==", "CCCmode", "||", "mode", "==", "CCOmode", "||", "mode", "==", "CCPmode", "||", "mode", "==", "CCSmode", "||", "mode", "==", "CCZmode", ")", ";", "set_dst", "=", "gen_rtx_REG", "(", "mode", ",", "FLAGS_REG", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_STRICT_LOW_PART", "(", "VOIDmode", ",", "target", ")", ",", "gen_rtx_fmt_ee", "(", "comparison", ",", "QImode", ",", "set_dst", ",", "const0_rtx", ")", ")", ")", ";", "if", "(", "label", ")", "emit_label", "(", "label", ")", ";", "return", "SUBREG_REG", "(", "target", ")", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_sse_comi", "and", "ix86_sse_comi_round", "to", "take", "care", "of", "*", "ordered", "EQ", "or", "unordered", "NE", ",", "generate", "PF", "jump", "."], "TS_V_token": ["i386"], "File": "i386-expand1", "Func": "ix86_ssecom_setcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37651, "Length": 190}
{"ground_truth": ["", "static", "bool", "ix86_use_mask_cmp_p", "(", "machine_mode", "mode", ",", "machine_mode", "cmp_mode", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "return", "true", ";", "gcc_assert", "(", "!", "op_true", "==", "!", "op_false", ")", ";", "if", "(", "!", "op_true", "||", "!", "ix86_valid_mask_cmp_mode", "(", "cmp_mode", ")", ")", "return", "false", ";", "if", "(", "op_false", "==", "CONST0_RTX", "(", "mode", ")", "||", "op_true", "==", "CONST0_RTX", "(", "mode", ")", "||", "(", "INTEGRAL_MODE_P", "(", "mode", ")", "&&", "(", "op_true", "==", "CONSTM1_RTX", "(", "mode", ")", "||", "op_false", "==", "CONSTM1_RTX", "(", "mode", ")", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "integer", "mask", "comparison", "should", "be", "used", "."], "TS_V_token": ["i386", "64"], "File": "i386-expand1", "Func": "ix86_use_mask_cmp_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37652, "Length": 98}
{"ground_truth": ["", "static", "bool", "ix86_vector_duplicate_value", "(", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "val", ")", "{", "bool", "ok", ";", "rtx_insn", "*", "insn", ";", "rtx", "dup", ";", "recog_data_d", "recog_data_save", "=", "recog_data", ";", "dup", "=", "gen_vec_duplicate", "(", "mode", ",", "val", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "target", ",", "dup", ")", ")", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "{", "rtx_insn", "*", "seq", ";", "machine_mode", "innermode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "rtx", "reg", ";", "start_sequence", "(", ")", ";", "reg", "=", "force_reg", "(", "innermode", ",", "val", ")", ";", "if", "(", "GET_MODE", "(", "reg", ")", "!=", "innermode", ")", "reg", "=", "gen_lowpart", "(", "innermode", ",", "reg", ")", ";", "SET_SRC", "(", "PATTERN", "(", "insn", ")", ")", "=", "gen_vec_duplicate", "(", "mode", ",", "reg", ")", ";", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "if", "(", "seq", ")", "emit_insn_before", "(", "seq", ",", "insn", ")", ";", "ok", "=", "recog_memoized", "(", "insn", ")", ">=", "0", ";", "gcc_assert", "(", "ok", ")", ";", "}", "recog_data", "=", "recog_data_save", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init_duplicate", ".", "Tries", "to", "fill", "target", "with", "val", "via", "vec_duplicate", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386-expand1", "Func": "ix86_vector_duplicate_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37653, "Length": 165}
{"ground_truth": ["", "static", "void", "ix86_vec_perm_index_canon", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "nelt", "=", "d", "->", "nelt", ";", "if", "(", "d", "->", "perm", "[", "0", "]", "<", "nelt", ")", "return", ";", "for", "(", "unsigned", "i", "=", "0", ";", "i", "!=", "nelt", ";", "i", "++", ")", "d", "->", "perm", "[", "i", "]", "=", "(", "d", "->", "perm", "[", "i", "]", "+", "nelt", ")", "%", "(", "2", "*", "nelt", ")", ";", "std", "::", "swap", "(", "d", "->", "op0", ",", "d", "->", "op1", ")", ";", "return", ";", "}", ""], "natrual_language": ["Canonicalize", "vec_perm", "index", "to", "make", "the", "first", "index", "always", "comes", "from", "the", "first", "vector", "."], "TS_V_token": ["i386", "0", "0", "2"], "File": "i386-expand1", "Func": "ix86_vec_perm_index_canon", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37654, "Length": 84}
{"ground_truth": ["", "void", "split_double_concat", "(", "machine_mode", "mode", ",", "rtx", "dst", ",", "rtx", "lo", ",", "rtx", "hi", ")", "{", "rtx", "dlo", ",", "dhi", ";", "int", "deleted_move_count", "=", "0", ";", "split_double_mode", "(", "mode", ",", "&", "dst", ",", "1", ",", "&", "dlo", ",", "&", "dhi", ")", ";", "if", "(", "MEM_P", "(", "lo", ")", "&&", "rtx_equal_p", "(", "dlo", ",", "hi", ")", "&&", "reg_overlap_mentioned_p", "(", "dhi", ",", "lo", ")", ")", "{", "emit_move_insn", "(", "dhi", ",", "lo", ")", ";", "lo", "=", "dhi", ";", "}", "else", "if", "(", "MEM_P", "(", "hi", ")", "&&", "!", "MEM_P", "(", "lo", ")", "&&", "!", "rtx_equal_p", "(", "dlo", ",", "lo", ")", "&&", "reg_overlap_mentioned_p", "(", "dlo", ",", "hi", ")", ")", "{", "if", "(", "rtx_equal_p", "(", "dhi", ",", "lo", ")", ")", "{", "emit_move_insn", "(", "dlo", ",", "hi", ")", ";", "hi", "=", "dlo", ";", "}", "else", "{", "emit_move_insn", "(", "dhi", ",", "hi", ")", ";", "hi", "=", "dhi", ";", "}", "}", "if", "(", "!", "rtx_equal_p", "(", "dlo", ",", "hi", ")", ")", "{", "if", "(", "!", "rtx_equal_p", "(", "dlo", ",", "lo", ")", ")", "emit_move_insn", "(", "dlo", ",", "lo", ")", ";", "else", "deleted_move_count", "++", ";", "if", "(", "!", "rtx_equal_p", "(", "dhi", ",", "hi", ")", ")", "emit_move_insn", "(", "dhi", ",", "hi", ")", ";", "else", "deleted_move_count", "++", ";", "}", "else", "if", "(", "!", "rtx_equal_p", "(", "lo", ",", "dhi", ")", ")", "{", "if", "(", "!", "rtx_equal_p", "(", "dhi", ",", "hi", ")", ")", "emit_move_insn", "(", "dhi", ",", "hi", ")", ";", "else", "deleted_move_count", "++", ";", "if", "(", "!", "rtx_equal_p", "(", "dlo", ",", "lo", ")", ")", "emit_move_insn", "(", "dlo", ",", "lo", ")", ";", "else", "deleted_move_count", "++", ";", "}", "else", "if", "(", "mode", "==", "TImode", ")", "emit_insn", "(", "gen_swapdi", "(", "dlo", ",", "dhi", ")", ")", ";", "else", "emit_insn", "(", "gen_swapsi", "(", "dlo", ",", "dhi", ")", ")", ";", "if", "(", "deleted_move_count", "==", "2", ")", "emit_note", "(", "NOTE_INSN_DELETED", ")", ";", "}", ""], "natrual_language": ["Emit", "the", "double", "word", "assignment", "DST", "=", "{", "LO", ",", "HI", "}", "."], "TS_V_token": ["i386", "0", "1", "2"], "File": "i386-expand1", "Func": "split_double_concat", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37655, "Length": 292}
{"ground_truth": ["", "void", "split_double_mode", "(", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ",", "int", "num", ",", "rtx", "lo_half", "[", "]", ",", "rtx", "hi_half", "[", "]", ")", "{", "machine_mode", "half_mode", ";", "unsigned", "int", "byte", ";", "rtx", "mem_op", "=", "NULL_RTX", ";", "int", "mem_num", "=", "0", ";", "switch", "(", "mode", ")", "{", "case", "E_TImode", ":", "half_mode", "=", "DImode", ";", "break", ";", "case", "E_DImode", ":", "half_mode", "=", "SImode", ";", "break", ";", "case", "E_P2HImode", ":", "half_mode", "=", "HImode", ";", "break", ";", "case", "E_P2QImode", ":", "half_mode", "=", "QImode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "byte", "=", "GET_MODE_SIZE", "(", "half_mode", ")", ";", "while", "(", "num", "--", ")", "{", "rtx", "op", "=", "operands", "[", "num", "]", ";", "if", "(", "MEM_P", "(", "op", ")", ")", "{", "if", "(", "mem_op", "&&", "rtx_equal_p", "(", "op", ",", "mem_op", ")", ")", "{", "lo_half", "[", "num", "]", "=", "lo_half", "[", "mem_num", "]", ";", "hi_half", "[", "num", "]", "=", "hi_half", "[", "mem_num", "]", ";", "}", "else", "{", "mem_op", "=", "op", ";", "mem_num", "=", "num", ";", "lo_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "half_mode", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "half_mode", ",", "byte", ")", ";", "}", "}", "else", "{", "lo_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "half_mode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "mode", ":", "GET_MODE", "(", "op", ")", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "half_mode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "mode", ":", "GET_MODE", "(", "op", ")", ",", "byte", ")", ";", "}", "}", "}", ""], "natrual_language": ["Split", "one", "or", "more", "double-mode", "RTL", "references", "into", "pairs", "of", "half-mode", "references", ".", "The", "RTL", "can", "be", "REG", ",", "offsettable", "MEM", ",", "integer", "constant", ",", "or", "CONST_DOUBLE", ".", "``", "operands", "''", "is", "a", "pointer", "to", "an", "array", "of", "double-mode", "RTLs", "to", "split", "and", "``", "num", "''", "is", "its", "length", ".", "lo_half", "and", "hi_half", "are", "output", "arrays", "that", "parallel", "``", "operands", "''", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i386-expand1", "Func": "split_double_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37656, "Length": 253}
{"ground_truth": ["", "static", "bool", "alg_usable_p", "(", "enum", "stringop_alg", "alg", ",", "bool", "memset", ",", "bool", "have_as", ")", "{", "if", "(", "alg", "==", "no_stringop", ")", "return", "false", ";", "if", "(", "alg", "==", "vector_loop", ")", "return", "TARGET_SSE", "||", "TARGET_AVX", ";", "if", "(", "alg", "==", "rep_prefix_1_byte", "||", "alg", "==", "rep_prefix_4_byte", "||", "alg", "==", "rep_prefix_8_byte", ")", "{", "if", "(", "have_as", ")", "return", "false", ";", "if", "(", "fixed_regs", "[", "CX_REG", "]", "||", "fixed_regs", "[", "DI_REG", "]", "||", "(", "memset", "?", "fixed_regs", "[", "AX_REG", "]", ":", "fixed_regs", "[", "SI_REG", "]", ")", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "ALG", "can", "be", "used", "in", "current", "context", ".", "Assume", "we", "expand", "memset", "if", "MEMSET", "is", "true", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "alg_usable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37657, "Length": 91}
{"ground_truth": ["", "static", "bool", "canonicalize_perm", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "int", "i", ",", "which", ",", "nelt", "=", "d", "->", "nelt", ";", "for", "(", "i", "=", "which", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "which", "|=", "(", "d", "->", "perm", "[", "i", "]", "<", "nelt", "?", "1", ":", "2", ")", ";", "d", "->", "one_operand_p", "=", "true", ";", "switch", "(", "which", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "3", ":", "if", "(", "!", "rtx_equal_p", "(", "d", "->", "op0", ",", "d", "->", "op1", ")", ")", "{", "d", "->", "one_operand_p", "=", "false", ";", "break", ";", "}", "case", "2", ":", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "d", "->", "perm", "[", "i", "]", "&=", "nelt", "-", "1", ";", "d", "->", "op0", "=", "d", "->", "op1", ";", "break", ";", "case", "1", ":", "d", "->", "op1", "=", "d", "->", "op0", ";", "break", ";", "}", "return", "(", "which", "==", "3", ")", ";", "}", ""], "natrual_language": ["If", "a", "permutation", "only", "uses", "one", "operand", ",", "make", "it", "clear", ".", "Returns", "true", "if", "the", "permutation", "references", "both", "operands", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "2", "0", "1", "1", "3"], "File": "i386-expand", "Func": "canonicalize_perm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37658, "Length": 156}
{"ground_truth": ["", "static", "bool", "canonicalize_vector_int_perm", "(", "const", "struct", "expand_vec_perm_d", "*", "d", ",", "struct", "expand_vec_perm_d", "*", "nd", ")", "{", "int", "i", ";", "machine_mode", "mode", "=", "VOIDmode", ";", "switch", "(", "d", "->", "vmode", ")", "{", "case", "E_V8QImode", ":", "mode", "=", "V4HImode", ";", "break", ";", "case", "E_V16QImode", ":", "mode", "=", "V8HImode", ";", "break", ";", "case", "E_V32QImode", ":", "mode", "=", "V16HImode", ";", "break", ";", "case", "E_V64QImode", ":", "mode", "=", "V32HImode", ";", "break", ";", "case", "E_V4HImode", ":", "mode", "=", "V2SImode", ";", "break", ";", "case", "E_V8HImode", ":", "mode", "=", "V4SImode", ";", "break", ";", "case", "E_V16HImode", ":", "mode", "=", "V8SImode", ";", "break", ";", "case", "E_V32HImode", ":", "mode", "=", "V16SImode", ";", "break", ";", "case", "E_V4SImode", ":", "mode", "=", "V2DImode", ";", "break", ";", "case", "E_V8SImode", ":", "mode", "=", "V4DImode", ";", "break", ";", "case", "E_V16SImode", ":", "mode", "=", "V8DImode", ";", "break", ";", "default", ":", "return", "false", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "d", "->", "nelt", ";", "i", "+=", "2", ")", "if", "(", "(", "d", "->", "perm", "[", "i", "]", "&", "1", ")", "||", "d", "->", "perm", "[", "i", "+", "1", "]", "!=", "d", "->", "perm", "[", "i", "]", "+", "1", ")", "return", "false", ";", "nd", "->", "vmode", "=", "mode", ";", "nd", "->", "nelt", "=", "d", "->", "nelt", "/", "2", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nd", "->", "nelt", ";", "i", "++", ")", "nd", "->", "perm", "[", "i", "]", "=", "d", "->", "perm", "[", "2", "*", "i", "]", "/", "2", ";", "if", "(", "GET_MODE_INNER", "(", "mode", ")", "!=", "DImode", ")", "canonicalize_vector_int_perm", "(", "nd", ",", "nd", ")", ";", "if", "(", "nd", "!=", "d", ")", "{", "nd", "->", "one_operand_p", "=", "d", "->", "one_operand_p", ";", "nd", "->", "testing_p", "=", "d", "->", "testing_p", ";", "if", "(", "d", "->", "op0", "==", "d", "->", "op1", ")", "nd", "->", "op0", "=", "nd", "->", "op1", "=", "gen_lowpart", "(", "nd", "->", "vmode", ",", "d", "->", "op0", ")", ";", "else", "{", "nd", "->", "op0", "=", "gen_lowpart", "(", "nd", "->", "vmode", ",", "d", "->", "op0", ")", ";", "nd", "->", "op1", "=", "gen_lowpart", "(", "nd", "->", "vmode", ",", "d", "->", "op1", ")", ";", "}", "if", "(", "d", "->", "testing_p", ")", "nd", "->", "target", "=", "gen_raw_REG", "(", "nd", "->", "vmode", ",", "LAST_VIRTUAL_REGISTER", "+", "1", ")", ";", "else", "nd", "->", "target", "=", "gen_reg_rtx", "(", "nd", "->", "vmode", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["For", "V", "*", "[", "QHS", "]", "Imode", "permutations", ",", "check", "if", "the", "same", "permutation", "ca", "n't", "be", "performed", "in", "a", "2x", ",", "4x", "or", "8x", "wider", "inner", "mode", "."], "TS_V_token": ["i386", "0", "2", "1", "1", "1", "2", "0", "2", "2", "1"], "File": "i386-expand", "Func": "canonicalize_vector_int_perm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37659, "Length": 374}
{"ground_truth": ["", "static", "rtx", "construct_plt_address", "(", "rtx", "symbol", ")", "{", "rtx", "tmp", ",", "unspec", ";", "gcc_assert", "(", "GET_CODE", "(", "symbol", ")", "==", "SYMBOL_REF", ")", ";", "gcc_assert", "(", "ix86_cmodel", "==", "CM_LARGE_PIC", "&&", "!", "TARGET_PECOFF", ")", ";", "gcc_assert", "(", "Pmode", "==", "DImode", ")", ";", "tmp", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "unspec", "=", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "1", ",", "symbol", ")", ",", "UNSPEC_PLTOFF", ")", ";", "emit_move_insn", "(", "tmp", ",", "gen_rtx_CONST", "(", "Pmode", ",", "unspec", ")", ")", ";", "emit_insn", "(", "gen_add2_insn", "(", "tmp", ",", "pic_offset_table_rtx", ")", ")", ";", "return", "tmp", ";", "}", ""], "natrual_language": ["For", "given", "symbol", "(", "function", ")", "construct", "code", "to", "compute", "address", "of", "it", "'s", "PLT", "entry", "in", "large", "x86-64", "PIC", "model", "."], "TS_V_token": ["i386", "1"], "File": "i386-expand", "Func": "construct_plt_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37660, "Length": 89}
{"ground_truth": ["", "static", "bool", "const_vector_equal_evenodd_p", "(", "rtx", "op", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "op", ")", ";", "int", "i", ",", "nunits", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "if", "(", "GET_CODE", "(", "op", ")", "!=", "CONST_VECTOR", "||", "nunits", "!=", "CONST_VECTOR_NUNITS", "(", "op", ")", ")", "return", "false", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nunits", ";", "i", "+=", "2", ")", "if", "(", "CONST_VECTOR_ELT", "(", "op", ",", "i", ")", "!=", "CONST_VECTOR_ELT", "(", "op", ",", "i", "+", "1", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Helper", "function", "of", "ix86_expand_mul_widen_evenodd", ".", "Return", "true", "if", "op", "is", "CONST_VECTOR", "with", "all", "odd", "elements", "equal", "to", "their", "preceding", "element", "."], "TS_V_token": ["i386", "0", "2", "1"], "File": "i386-expand", "Func": "const_vector_equal_evenodd_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37661, "Length": 84}
{"ground_truth": ["", "static", "machine_mode", "counter_mode", "(", "rtx", "count_exp", ")", "{", "if", "(", "GET_MODE", "(", "count_exp", ")", "!=", "VOIDmode", ")", "return", "GET_MODE", "(", "count_exp", ")", ";", "if", "(", "!", "CONST_INT_P", "(", "count_exp", ")", ")", "return", "Pmode", ";", "if", "(", "TARGET_64BIT", "&&", "(", "INTVAL", "(", "count_exp", ")", "&", "~", "0xffffffff", ")", ")", "return", "DImode", ";", "return", "SImode", ";", "}", ""], "natrual_language": ["Return", "mode", "for", "the", "memcpy/memset", "loop", "counter", ".", "Prefer", "SImode", "over", "DImode", "for", "constant", "loop", "counts", "."], "TS_V_token": ["i386", "0xffffffff"], "File": "i386-expand", "Func": "counter_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37662, "Length": 55}
{"ground_truth": ["", "static", "int", "decide_alignment", "(", "int", "align", ",", "enum", "stringop_alg", "alg", ",", "int", "expected_size", ",", "machine_mode", "move_mode", ")", "{", "int", "desired_align", "=", "0", ";", "gcc_assert", "(", "alg", "!=", "no_stringop", ")", ";", "if", "(", "alg", "==", "libcall", ")", "return", "0", ";", "if", "(", "move_mode", "==", "VOIDmode", ")", "return", "0", ";", "desired_align", "=", "GET_MODE_SIZE", "(", "move_mode", ")", ";", "if", "(", "TARGET_CPU_P", "(", "PENTIUMPRO", ")", "&&", "(", "alg", "==", "rep_prefix_4_byte", "||", "alg", "==", "rep_prefix_1_byte", ")", ")", "desired_align", "=", "8", ";", "if", "(", "optimize_size", ")", "desired_align", "=", "1", ";", "if", "(", "desired_align", "<", "align", ")", "desired_align", "=", "align", ";", "if", "(", "expected_size", "!=", "-", "1", "&&", "expected_size", "<", "4", ")", "desired_align", "=", "align", ";", "return", "desired_align", ";", "}", ""], "natrual_language": ["Decide", "on", "alignment", ".", "We", "know", "that", "the", "operand", "is", "already", "aligned", "to", "ALIGN", "(", "ALIGN", "can", "be", "based", "on", "profile", "feedback", "and", "thus", "it", "is", "not", "100", "%", "guaranteed", ")", "."], "TS_V_token": ["i386", "0", "0", "0", "8", "1", "1", "4"], "File": "i386-expand", "Func": "decide_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37663, "Length": 113}
{"ground_truth": ["", "static", "rtx", "emit_memmov", "(", "rtx", "destmem", ",", "rtx", "*", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "HOST_WIDE_INT", "size_to_move", ")", "{", "rtx", "dst", "=", "destmem", ",", "src", "=", "*", "srcmem", ",", "tempreg", ";", "enum", "insn_code", "code", ";", "machine_mode", "move_mode", ";", "int", "piece_size", ",", "i", ";", "piece_size", "=", "1", "<<", "floor_log2", "(", "size_to_move", ")", ";", "while", "(", "!", "int_mode_for_size", "(", "piece_size", "*", "BITS_PER_UNIT", ",", "0", ")", ".", "exists", "(", "&", "move_mode", ")", "||", "(", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ")", "==", "CODE_FOR_nothing", ")", "{", "gcc_assert", "(", "piece_size", ">", "1", ")", ";", "piece_size", ">>=", "1", ";", "}", "if", "(", "GET_MODE_SIZE", "(", "move_mode", ")", ">", "GET_MODE_SIZE", "(", "word_mode", ")", ")", "{", "int", "nunits", "=", "GET_MODE_SIZE", "(", "move_mode", ")", "/", "GET_MODE_SIZE", "(", "word_mode", ")", ";", "if", "(", "!", "mode_for_vector", "(", "word_mode", ",", "nunits", ")", ".", "exists", "(", "&", "move_mode", ")", "||", "(", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ")", "==", "CODE_FOR_nothing", ")", "{", "move_mode", "=", "word_mode", ";", "piece_size", "=", "GET_MODE_SIZE", "(", "move_mode", ")", ";", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ";", "}", "}", "gcc_assert", "(", "code", "!=", "CODE_FOR_nothing", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "0", ")", ";", "src", "=", "adjust_automodify_address_nv", "(", "src", ",", "move_mode", ",", "srcptr", ",", "0", ")", ";", "gcc_assert", "(", "size_to_move", "%", "piece_size", "==", "0", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "size_to_move", ";", "i", "+=", "piece_size", ")", "{", "tempreg", "=", "gen_reg_rtx", "(", "move_mode", ")", ";", "emit_insn", "(", "GEN_FCN", "(", "code", ")", "(", "tempreg", ",", "src", ")", ")", ";", "emit_insn", "(", "GEN_FCN", "(", "code", ")", "(", "dst", ",", "tempreg", ")", ")", ";", "emit_move_insn", "(", "destptr", ",", "plus_constant", "(", "Pmode", ",", "copy_rtx", "(", "destptr", ")", ",", "piece_size", ")", ")", ";", "emit_move_insn", "(", "srcptr", ",", "plus_constant", "(", "Pmode", ",", "copy_rtx", "(", "srcptr", ")", ",", "piece_size", ")", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "piece_size", ")", ";", "src", "=", "adjust_automodify_address_nv", "(", "src", ",", "move_mode", ",", "srcptr", ",", "piece_size", ")", ";", "}", "*", "srcmem", "=", "src", ";", "return", "dst", ";", "}", ""], "natrual_language": ["This", "function", "emits", "moves", "to", "copy", "SIZE_TO_MOVE", "bytes", "from", "SRCMEM", "to", "DESTMEM", ".", "SRC", "is", "passed", "by", "pointer", "to", "be", "updated", "on", "return", ".", "Return", "value", "is", "updated", "DST", "."], "TS_V_token": ["i386", "1", "0", "1", "1", "0", "0", "0", "0"], "File": "i386-expand", "Func": "emit_memmov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37664, "Length": 336}
{"ground_truth": ["", "static", "rtx", "emit_memset", "(", "rtx", "destmem", ",", "rtx", "destptr", ",", "rtx", "promoted_val", ",", "HOST_WIDE_INT", "size_to_move", ")", "{", "rtx", "dst", "=", "destmem", ";", "enum", "insn_code", "code", ";", "machine_mode", "move_mode", ";", "int", "piece_size", ",", "i", ";", "move_mode", "=", "GET_MODE", "(", "promoted_val", ")", ";", "if", "(", "move_mode", "==", "VOIDmode", ")", "move_mode", "=", "QImode", ";", "if", "(", "size_to_move", "<", "GET_MODE_SIZE", "(", "move_mode", ")", ")", "{", "unsigned", "int", "move_bits", "=", "size_to_move", "*", "BITS_PER_UNIT", ";", "move_mode", "=", "int_mode_for_size", "(", "move_bits", ",", "0", ")", ".", "require", "(", ")", ";", "promoted_val", "=", "gen_lowpart", "(", "move_mode", ",", "promoted_val", ")", ";", "}", "piece_size", "=", "GET_MODE_SIZE", "(", "move_mode", ")", ";", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ";", "gcc_assert", "(", "code", "!=", "CODE_FOR_nothing", "&&", "promoted_val", "!=", "NULL_RTX", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "0", ")", ";", "gcc_assert", "(", "size_to_move", "%", "piece_size", "==", "0", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "size_to_move", ";", "i", "+=", "piece_size", ")", "{", "if", "(", "piece_size", "<=", "GET_MODE_SIZE", "(", "word_mode", ")", ")", "{", "emit_insn", "(", "gen_strset", "(", "destptr", ",", "dst", ",", "promoted_val", ")", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "piece_size", ")", ";", "continue", ";", "}", "emit_insn", "(", "GEN_FCN", "(", "code", ")", "(", "dst", ",", "promoted_val", ")", ")", ";", "emit_move_insn", "(", "destptr", ",", "plus_constant", "(", "Pmode", ",", "copy_rtx", "(", "destptr", ")", ",", "piece_size", ")", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "piece_size", ")", ";", "}", "return", "dst", ";", "}", ""], "natrual_language": ["This", "function", "emits", "moves", "to", "fill", "SIZE_TO_MOVE", "bytes", "starting", "from", "DESTMEM", "with", "value", "PROMOTED_VAL", ".", "SRC", "is", "passed", "by", "pointer", "to", "be", "updated", "on", "return", ".", "Return", "value", "is", "updated", "DST", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i386-expand", "Func": "emit_memset", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37665, "Length": 242}
{"ground_truth": ["", "static", "void", "expand_setmem_epilogue_via_loop", "(", "rtx", "destmem", ",", "rtx", "destptr", ",", "rtx", "value", ",", "rtx", "count", ",", "int", "max_size", ")", "{", "count", "=", "expand_simple_binop", "(", "counter_mode", "(", "count", ")", ",", "AND", ",", "count", ",", "GEN_INT", "(", "max_size", "-", "1", ")", ",", "count", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "expand_set_or_cpymem_via_loop", "(", "destmem", ",", "NULL", ",", "destptr", ",", "NULL", ",", "gen_lowpart", "(", "QImode", ",", "value", ")", ",", "count", ",", "QImode", ",", "1", ",", "max_size", "/", "2", ",", "true", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "set", "at", "most", "count", "&", "(", "max_size", "-", "1", ")", "bytes", "starting", "by", "DEST", "."], "TS_V_token": ["i386", "1", "1", "1", "2"], "File": "i386-expand", "Func": "expand_setmem_epilogue_via_loop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37666, "Length": 78}
{"ground_truth": ["", "static", "rtx", "expand_set_or_cpymem_constant_prologue", "(", "rtx", "dst", ",", "rtx", "*", "srcp", ",", "rtx", "destreg", ",", "rtx", "srcreg", ",", "rtx", "value", ",", "rtx", "vec_value", ",", "int", "desired_align", ",", "int", "align_bytes", ",", "bool", "issetmem", ")", "{", "rtx", "src", "=", "NULL", ";", "rtx", "orig_dst", "=", "dst", ";", "rtx", "orig_src", "=", "NULL", ";", "int", "piece_size", "=", "1", ";", "int", "copied_bytes", "=", "0", ";", "if", "(", "!", "issetmem", ")", "{", "gcc_assert", "(", "srcp", "!=", "NULL", ")", ";", "src", "=", "*", "srcp", ";", "orig_src", "=", "src", ";", "}", "for", "(", "piece_size", "=", "1", ";", "piece_size", "<=", "desired_align", "&&", "copied_bytes", "<", "align_bytes", ";", "piece_size", "<<=", "1", ")", "{", "if", "(", "align_bytes", "&", "piece_size", ")", "{", "if", "(", "issetmem", ")", "{", "if", "(", "vec_value", "&&", "piece_size", ">", "GET_MODE_SIZE", "(", "GET_MODE", "(", "value", ")", ")", ")", "dst", "=", "emit_memset", "(", "dst", ",", "destreg", ",", "vec_value", ",", "piece_size", ")", ";", "else", "dst", "=", "emit_memset", "(", "dst", ",", "destreg", ",", "value", ",", "piece_size", ")", ";", "}", "else", "dst", "=", "emit_memmov", "(", "dst", ",", "&", "src", ",", "destreg", ",", "srcreg", ",", "piece_size", ")", ";", "copied_bytes", "+=", "piece_size", ";", "}", "}", "if", "(", "MEM_ALIGN", "(", "dst", ")", "<", "(", "unsigned", "int", ")", "desired_align", "*", "BITS_PER_UNIT", ")", "set_mem_align", "(", "dst", ",", "desired_align", "*", "BITS_PER_UNIT", ")", ";", "if", "(", "MEM_SIZE_KNOWN_P", "(", "orig_dst", ")", ")", "set_mem_size", "(", "dst", ",", "MEM_SIZE", "(", "orig_dst", ")", "-", "align_bytes", ")", ";", "if", "(", "!", "issetmem", ")", "{", "int", "src_align_bytes", "=", "get_mem_align_offset", "(", "src", ",", "desired_align", "*", "BITS_PER_UNIT", ")", ";", "if", "(", "src_align_bytes", ">=", "0", ")", "src_align_bytes", "=", "desired_align", "-", "src_align_bytes", ";", "if", "(", "src_align_bytes", ">=", "0", ")", "{", "unsigned", "int", "src_align", ";", "for", "(", "src_align", "=", "desired_align", ";", "src_align", ">=", "2", ";", "src_align", ">>=", "1", ")", "{", "if", "(", "(", "src_align_bytes", "&", "(", "src_align", "-", "1", ")", ")", "==", "(", "align_bytes", "&", "(", "src_align", "-", "1", ")", ")", ")", "break", ";", "}", "if", "(", "src_align", ">", "(", "unsigned", "int", ")", "desired_align", ")", "src_align", "=", "desired_align", ";", "if", "(", "MEM_ALIGN", "(", "src", ")", "<", "src_align", "*", "BITS_PER_UNIT", ")", "set_mem_align", "(", "src", ",", "src_align", "*", "BITS_PER_UNIT", ")", ";", "}", "if", "(", "MEM_SIZE_KNOWN_P", "(", "orig_src", ")", ")", "set_mem_size", "(", "src", ",", "MEM_SIZE", "(", "orig_src", ")", "-", "align_bytes", ")", ";", "*", "srcp", "=", "src", ";", "}", "return", "dst", ";", "}", ""], "natrual_language": ["This", "function", "is", "like", "the", "previous", "one", ",", "except", "here", "we", "know", "how", "many", "bytes", "need", "to", "be", "copied", ".", "That", "allows", "us", "to", "update", "alignment", "not", "only", "of", "DST", ",", "which", "is", "returned", ",", "but", "also", "of", "SRC", ",", "which", "is", "passed", "as", "a", "pointer", "for", "that", "reason", "."], "TS_V_token": ["i386", "1", "0", "1", "1", "0", "0", "2", "1", "1", "1"], "File": "i386-expand", "Func": "expand_set_or_cpymem_constant_prologue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37667, "Length": 365}
{"ground_truth": ["", "static", "rtx", "expand_set_or_cpymem_prologue", "(", "rtx", "destmem", ",", "rtx", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "rtx", "value", ",", "rtx", "vec_value", ",", "rtx", "count", ",", "int", "align", ",", "int", "desired_alignment", ",", "bool", "issetmem", ")", "{", "int", "i", ";", "for", "(", "i", "=", "1", ";", "i", "<", "desired_alignment", ";", "i", "<<=", "1", ")", "{", "if", "(", "align", "<=", "i", ")", "{", "rtx_code_label", "*", "label", "=", "ix86_expand_aligntest", "(", "destptr", ",", "i", ",", "false", ")", ";", "if", "(", "issetmem", ")", "{", "if", "(", "vec_value", "&&", "i", ">", "GET_MODE_SIZE", "(", "GET_MODE", "(", "value", ")", ")", ")", "destmem", "=", "emit_memset", "(", "destmem", ",", "destptr", ",", "vec_value", ",", "i", ")", ";", "else", "destmem", "=", "emit_memset", "(", "destmem", ",", "destptr", ",", "value", ",", "i", ")", ";", "}", "else", "destmem", "=", "emit_memmov", "(", "destmem", ",", "&", "srcmem", ",", "destptr", ",", "srcptr", ",", "i", ")", ";", "ix86_adjust_counter", "(", "count", ",", "i", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "set_mem_align", "(", "destmem", ",", "i", "*", "2", "*", "BITS_PER_UNIT", ")", ";", "}", "}", "return", "destmem", ";", "}", ""], "natrual_language": ["Depending", "on", "ISSETMEM", ",", "copy", "enough", "from", "SRCMEM", "to", "DESTMEM", "or", "set", "enough", "to", "DESTMEM", "to", "align", "it", "to", "DESIRED_ALIGNMENT", ".", "Original", "alignment", "is", "ALIGN", ".", "Depending", "on", "ISSETMEM", ",", "either", "arguments", "SRCMEM/SRCPTR", "or", "VALUE/VEC_VALUE", "are", "ignored", ".", "Return", "value", "is", "updated", "DESTMEM", "."], "TS_V_token": ["i386", "1", "1", "1", "2"], "File": "i386-expand", "Func": "expand_set_or_cpymem_prologue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37668, "Length": 173}
{"ground_truth": ["", "static", "void", "expand_set_or_cpymem_via_rep", "(", "rtx", "destmem", ",", "rtx", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "rtx", "value", ",", "rtx", "orig_value", ",", "rtx", "count", ",", "machine_mode", "mode", ",", "bool", "issetmem", ")", "{", "rtx", "destexp", ";", "rtx", "srcexp", ";", "rtx", "countreg", ";", "HOST_WIDE_INT", "rounded_count", ";", "if", "(", "mode", "==", "QImode", "&&", "CONST_INT_P", "(", "count", ")", "&&", "!", "(", "INTVAL", "(", "count", ")", "&", "3", ")", "&&", "!", "TARGET_PREFER_KNOWN_REP_MOVSB_STOSB", "&&", "(", "!", "issetmem", "||", "orig_value", "==", "const0_rtx", ")", ")", "mode", "=", "SImode", ";", "if", "(", "destptr", "!=", "XEXP", "(", "destmem", ",", "0", ")", "||", "GET_MODE", "(", "destmem", ")", "!=", "BLKmode", ")", "destmem", "=", "adjust_automodify_address_nv", "(", "destmem", ",", "BLKmode", ",", "destptr", ",", "0", ")", ";", "countreg", "=", "ix86_zero_extend_to_Pmode", "(", "scale_counter", "(", "count", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ";", "if", "(", "mode", "!=", "QImode", ")", "{", "destexp", "=", "gen_rtx_ASHIFT", "(", "Pmode", ",", "countreg", ",", "GEN_INT", "(", "exact_log2", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ")", ";", "destexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "destexp", ",", "destptr", ")", ";", "}", "else", "destexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "destptr", ",", "countreg", ")", ";", "if", "(", "(", "!", "issetmem", "||", "orig_value", "==", "const0_rtx", ")", "&&", "CONST_INT_P", "(", "count", ")", ")", "{", "rounded_count", "=", "ROUND_DOWN", "(", "INTVAL", "(", "count", ")", ",", "(", "HOST_WIDE_INT", ")", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "destmem", "=", "shallow_copy_rtx", "(", "destmem", ")", ";", "set_mem_size", "(", "destmem", ",", "rounded_count", ")", ";", "}", "else", "if", "(", "MEM_SIZE_KNOWN_P", "(", "destmem", ")", ")", "clear_mem_size", "(", "destmem", ")", ";", "if", "(", "issetmem", ")", "{", "value", "=", "force_reg", "(", "mode", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "emit_insn", "(", "gen_rep_stos", "(", "destptr", ",", "countreg", ",", "destmem", ",", "value", ",", "destexp", ")", ")", ";", "}", "else", "{", "if", "(", "srcptr", "!=", "XEXP", "(", "srcmem", ",", "0", ")", "||", "GET_MODE", "(", "srcmem", ")", "!=", "BLKmode", ")", "srcmem", "=", "adjust_automodify_address_nv", "(", "srcmem", ",", "BLKmode", ",", "srcptr", ",", "0", ")", ";", "if", "(", "mode", "!=", "QImode", ")", "{", "srcexp", "=", "gen_rtx_ASHIFT", "(", "Pmode", ",", "countreg", ",", "GEN_INT", "(", "exact_log2", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ")", ";", "srcexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "srcexp", ",", "srcptr", ")", ";", "}", "else", "srcexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "srcptr", ",", "countreg", ")", ";", "if", "(", "CONST_INT_P", "(", "count", ")", ")", "{", "rounded_count", "=", "ROUND_DOWN", "(", "INTVAL", "(", "count", ")", ",", "(", "HOST_WIDE_INT", ")", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "srcmem", "=", "shallow_copy_rtx", "(", "srcmem", ")", ";", "set_mem_size", "(", "srcmem", ",", "rounded_count", ")", ";", "}", "else", "{", "if", "(", "MEM_SIZE_KNOWN_P", "(", "srcmem", ")", ")", "clear_mem_size", "(", "srcmem", ")", ";", "}", "emit_insn", "(", "gen_rep_mov", "(", "destptr", ",", "destmem", ",", "srcptr", ",", "srcmem", ",", "countreg", ",", "destexp", ",", "srcexp", ")", ")", ";", "}", "}", ""], "natrual_language": ["Output", "``", "rep", ";", "mov", "''", "or", "``", "rep", ";", "stos", "''", "instruction", "depending", "on", "ISSETMEM", "argument", ".", "When", "ISSETMEM", "is", "true", ",", "arguments", "SRCMEM", "and", "SRCPTR", "are", "ignored", ".", "When", "ISSETMEM", "is", "false", ",", "arguments", "VALUE", "and", "ORIG_VALUE", "are", "ignored", ".", "For", "setmem", "case", ",", "VALUE", "is", "a", "promoted", "to", "a", "wider", "size", "ORIG_VALUE", ".", "ORIG_VALUE", "is", "the", "original", "value", "passed", "to", "memset", "to", "fill", "the", "memory", "with", ".", "Other", "arguments", "have", "same", "meaning", "as", "for", "previous", "function", "."], "TS_V_token": ["i386", "3", "0", "0", "0", "0"], "File": "i386-expand", "Func": "expand_set_or_cpymem_via_rep", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37669, "Length": 439}
{"ground_truth": ["", "static", "void", "expand_small_cpymem_or_setmem", "(", "rtx", "destmem", ",", "rtx", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "rtx", "value", ",", "rtx", "vec_value", ",", "rtx", "count", ",", "int", "size", ",", "rtx", "done_label", ",", "bool", "issetmem", ")", "{", "rtx_code_label", "*", "label", "=", "ix86_expand_aligntest", "(", "count", ",", "size", ",", "false", ")", ";", "machine_mode", "mode", "=", "int_mode_for_size", "(", "size", "*", "BITS_PER_UNIT", ",", "1", ")", ".", "else_blk", "(", ")", ";", "rtx", "modesize", ";", "int", "n", ";", "if", "(", "issetmem", ")", "{", "if", "(", "!", "vec_value", ")", "{", "if", "(", "GET_MODE", "(", "value", ")", "==", "VOIDmode", "&&", "size", ">", "8", ")", "mode", "=", "Pmode", ";", "else", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "GET_MODE_SIZE", "(", "GET_MODE", "(", "value", ")", ")", ")", "mode", "=", "GET_MODE", "(", "value", ")", ";", "}", "else", "mode", "=", "GET_MODE", "(", "vec_value", ")", ",", "value", "=", "vec_value", ";", "}", "else", "{", "if", "(", "size", ">=", "32", ")", "mode", "=", "TARGET_AVX", "?", "V32QImode", ":", "TARGET_SSE", "?", "V16QImode", ":", "DImode", ";", "else", "if", "(", "size", ">=", "16", ")", "mode", "=", "TARGET_SSE", "?", "V16QImode", ":", "DImode", ";", "srcmem", "=", "change_address", "(", "srcmem", ",", "mode", ",", "srcptr", ")", ";", "}", "destmem", "=", "change_address", "(", "destmem", ",", "mode", ",", "destptr", ")", ";", "modesize", "=", "GEN_INT", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "gcc_assert", "(", "GET_MODE_SIZE", "(", "mode", ")", "<=", "size", ")", ";", "for", "(", "n", "=", "0", ";", "n", "*", "GET_MODE_SIZE", "(", "mode", ")", "<", "size", ";", "n", "++", ")", "{", "if", "(", "issetmem", ")", "emit_move_insn", "(", "destmem", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "else", "{", "emit_move_insn", "(", "destmem", ",", "srcmem", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "count", ",", "1", ")", ";", "destmem", "=", "offset_address", "(", "destmem", ",", "GEN_INT", "(", "-", "2", "*", "size", ")", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "if", "(", "!", "issetmem", ")", "{", "srcmem", "=", "offset_address", "(", "srcmem", ",", "count", ",", "1", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "GEN_INT", "(", "-", "2", "*", "size", ")", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "for", "(", "n", "=", "0", ";", "n", "*", "GET_MODE_SIZE", "(", "mode", ")", "<", "size", ";", "n", "++", ")", "{", "if", "(", "issetmem", ")", "emit_move_insn", "(", "destmem", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "else", "{", "emit_move_insn", "(", "destmem", ",", "srcmem", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "emit_jump_insn", "(", "gen_jump", "(", "done_label", ")", ")", ";", "emit_barrier", "(", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "}", ""], "natrual_language": ["Test", "if", "COUNT", "&", "SIZE", "is", "nonzero", "and", "if", "so", ",", "expand", "movme", "or", "setmem", "sequence", "that", "is", "valid", "for", "SIZE", "..", "2", "*", "SIZE-1", "bytes", "and", "jump", "to", "DONE_LABEL", "."], "TS_V_token": ["i386", "1", "8", "32", "16", "0", "1", "2", "1", "2", "0", "1"], "File": "i386-expand", "Func": "expand_small_cpymem_or_setmem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37670, "Length": 455}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_2vperm2f128_vshuf", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "struct", "expand_vec_perm_d", "dfirst", ",", "dsecond", ",", "dthird", ";", "bool", "ok", ";", "if", "(", "!", "TARGET_AVX", "||", "(", "d", "->", "vmode", "!=", "V4DFmode", ")", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "dfirst", "=", "*", "d", ";", "dsecond", "=", "*", "d", ";", "dthird", "=", "*", "d", ";", "dfirst", ".", "perm", "[", "0", "]", "=", "(", "d", "->", "perm", "[", "0", "]", "&", "~", "1", ")", ";", "dfirst", ".", "perm", "[", "1", "]", "=", "(", "d", "->", "perm", "[", "0", "]", "&", "~", "1", ")", "+", "1", ";", "dfirst", ".", "perm", "[", "2", "]", "=", "(", "d", "->", "perm", "[", "2", "]", "&", "~", "1", ")", ";", "dfirst", ".", "perm", "[", "3", "]", "=", "(", "d", "->", "perm", "[", "2", "]", "&", "~", "1", ")", "+", "1", ";", "dsecond", ".", "perm", "[", "0", "]", "=", "(", "d", "->", "perm", "[", "1", "]", "&", "~", "1", ")", ";", "dsecond", ".", "perm", "[", "1", "]", "=", "(", "d", "->", "perm", "[", "1", "]", "&", "~", "1", ")", "+", "1", ";", "dsecond", ".", "perm", "[", "2", "]", "=", "(", "d", "->", "perm", "[", "3", "]", "&", "~", "1", ")", ";", "dsecond", ".", "perm", "[", "3", "]", "=", "(", "d", "->", "perm", "[", "3", "]", "&", "~", "1", ")", "+", "1", ";", "dthird", ".", "perm", "[", "0", "]", "=", "(", "d", "->", "perm", "[", "0", "]", "%", "2", ")", ";", "dthird", ".", "perm", "[", "1", "]", "=", "(", "d", "->", "perm", "[", "1", "]", "%", "2", ")", "+", "4", ";", "dthird", ".", "perm", "[", "2", "]", "=", "(", "d", "->", "perm", "[", "2", "]", "%", "2", ")", "+", "2", ";", "dthird", ".", "perm", "[", "3", "]", "=", "(", "d", "->", "perm", "[", "3", "]", "%", "2", ")", "+", "6", ";", "dfirst", ".", "target", "=", "gen_reg_rtx", "(", "dfirst", ".", "vmode", ")", ";", "dsecond", ".", "target", "=", "gen_reg_rtx", "(", "dsecond", ".", "vmode", ")", ";", "dthird", ".", "op0", "=", "dfirst", ".", "target", ";", "dthird", ".", "op1", "=", "dsecond", ".", "target", ";", "dthird", ".", "one_operand_p", "=", "false", ";", "canonicalize_perm", "(", "&", "dfirst", ")", ";", "canonicalize_perm", "(", "&", "dsecond", ")", ";", "ok", "=", "expand_vec_perm_1", "(", "&", "dfirst", ")", "&&", "expand_vec_perm_1", "(", "&", "dsecond", ")", "&&", "expand_vec_perm_1", "(", "&", "dthird", ")", ";", "gcc_assert", "(", "ok", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Implement", "a", "V4DF", "permutation", "using", "two", "vperm2f128", ",", "followed", "by", "a", "vshufpd", "insn", "blending", "the", "two", "vectors", "together", "."], "TS_V_token": ["i386", "0", "0", "1", "1", "0", "1", "1", "2", "2", "1", "3", "2", "1", "1", "0", "1", "1", "1", "1", "1", "1", "2", "3", "1", "3", "3", "1", "1", "0", "0", "2", "1", "1", "2", "4", "2", "2", "2", "2", "3", "3", "2", "6"], "File": "i386-expand", "Func": "expand_vec_perm_2vperm2f128_vshuf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37671, "Length": 384}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_broadcast", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "i", ",", "elt", ",", "nelt", "=", "d", "->", "nelt", ";", "if", "(", "!", "d", "->", "one_operand_p", ")", "return", "false", ";", "elt", "=", "d", "->", "perm", "[", "0", "]", ";", "for", "(", "i", "=", "1", ";", "i", "<", "nelt", ";", "++", "i", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "!=", "elt", ")", "return", "false", ";", "return", "expand_vec_perm_broadcast_1", "(", "d", ")", ";", "}", ""], "natrual_language": ["Pattern", "match", "broadcast", "permutations", "."], "TS_V_token": ["i386", "0", "1"], "File": "i386-expand", "Func": "expand_vec_perm_broadcast", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37672, "Length": 74}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_even_odd", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "i", ",", "odd", ",", "nelt", "=", "d", "->", "nelt", ";", "odd", "=", "d", "->", "perm", "[", "0", "]", ";", "if", "(", "odd", "!=", "0", "&&", "odd", "!=", "1", ")", "return", "false", ";", "for", "(", "i", "=", "1", ";", "i", "<", "nelt", ";", "++", "i", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "!=", "2", "*", "i", "+", "odd", ")", "return", "false", ";", "if", "(", "d", "->", "vmode", "==", "E_V32HImode", "&&", "d", "->", "testing_p", "&&", "!", "TARGET_AVX512BW", ")", "return", "false", ";", "return", "expand_vec_perm_even_odd_1", "(", "d", ",", "odd", ")", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Pattern", "match", "extract-even", "and", "extract-odd", "permutations", "."], "TS_V_token": ["i386", "0", "0", "1", "1", "2"], "File": "i386-expand", "Func": "expand_vec_perm_even_odd", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37673, "Length": 101}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_even_odd_trunc", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "rtx", "t1", ",", "t2", ",", "t3", ",", "t4", ";", "unsigned", "i", ",", "odd", ",", "nelt", "=", "d", "->", "nelt", ";", "if", "(", "!", "TARGET_AVX512BW", "||", "d", "->", "one_operand_p", "||", "d", "->", "vmode", "!=", "V64QImode", ")", "return", "false", ";", "odd", "=", "d", "->", "perm", "[", "0", "]", ";", "if", "(", "odd", ">", "1", ")", "return", "false", ";", "for", "(", "i", "=", "1", ";", "i", "<", "nelt", ";", "++", "i", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "!=", "2", "*", "i", "+", "odd", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "if", "(", "odd", ")", "{", "t1", "=", "gen_reg_rtx", "(", "V32HImode", ")", ";", "t2", "=", "gen_reg_rtx", "(", "V32HImode", ")", ";", "emit_insn", "(", "gen_lshrv32hi3", "(", "t1", ",", "gen_lowpart", "(", "V32HImode", ",", "d", "->", "op0", ")", ",", "GEN_INT", "(", "8", ")", ")", ")", ";", "emit_insn", "(", "gen_lshrv32hi3", "(", "t2", ",", "gen_lowpart", "(", "V32HImode", ",", "d", "->", "op1", ")", ",", "GEN_INT", "(", "8", ")", ")", ")", ";", "}", "else", "{", "t1", "=", "gen_lowpart", "(", "V32HImode", ",", "d", "->", "op0", ")", ";", "t2", "=", "gen_lowpart", "(", "V32HImode", ",", "d", "->", "op1", ")", ";", "}", "t3", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "t4", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "emit_insn", "(", "gen_avx512bw_truncatev32hiv32qi2", "(", "t3", ",", "t1", ")", ")", ";", "emit_insn", "(", "gen_avx512bw_truncatev32hiv32qi2", "(", "t4", ",", "t2", ")", ")", ";", "emit_insn", "(", "gen_avx_vec_concatv64qi", "(", "d", "->", "target", ",", "t3", ",", "t4", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "expand_vec_perm_even_odd_1", ".", "Implement", "extract-even", "and", "extract-odd", "permutations", "of", "two", "V64QI", "operands", "with", "two", "``", "shifts", "''", ",", "two", "``", "truncs", "''", "and", "one", "``", "concat", "''", "insns", "for", "``", "odd", "''", "and", "two", "``", "truncs", "''", "and", "one", "concat", "insn", "for", "``", "even", ".", "''", "Have", "already", "failed", "all", "two", "instruction", "sequences", "."], "TS_V_token": ["i386", "0", "1", "1", "2", "8", "8"], "File": "i386-expand", "Func": "expand_vec_perm_even_odd_trunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37674, "Length": 247}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_interleave3", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "i", ",", "nelt", ";", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "if", "(", "d", "->", "one_operand_p", ")", "return", "false", ";", "if", "(", "TARGET_AVX2", "&&", "GET_MODE_SIZE", "(", "d", "->", "vmode", ")", "==", "32", ")", ";", "else", "if", "(", "TARGET_AVX", "&&", "(", "d", "->", "vmode", "==", "V8SFmode", "||", "d", "->", "vmode", "==", "V4DFmode", ")", ")", ";", "else", "return", "false", ";", "nelt", "=", "d", "->", "nelt", ";", "if", "(", "d", "->", "perm", "[", "0", "]", "!=", "0", "&&", "d", "->", "perm", "[", "0", "]", "!=", "nelt", "/", "2", ")", "return", "false", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "i", "+=", "2", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "!=", "d", "->", "perm", "[", "0", "]", "+", "i", "/", "2", "||", "d", "->", "perm", "[", "i", "+", "1", "]", "!=", "d", "->", "perm", "[", "0", "]", "+", "i", "/", "2", "+", "nelt", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "switch", "(", "d", "->", "vmode", ")", "{", "case", "E_V32QImode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv32qi", ";", "else", "gen", "=", "gen_vec_interleave_lowv32qi", ";", "break", ";", "case", "E_V16HImode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv16hi", ";", "else", "gen", "=", "gen_vec_interleave_lowv16hi", ";", "break", ";", "case", "E_V8SImode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv8si", ";", "else", "gen", "=", "gen_vec_interleave_lowv8si", ";", "break", ";", "case", "E_V4DImode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv4di", ";", "else", "gen", "=", "gen_vec_interleave_lowv4di", ";", "break", ";", "case", "E_V8SFmode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv8sf", ";", "else", "gen", "=", "gen_vec_interleave_lowv8sf", ";", "break", ";", "case", "E_V4DFmode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv4df", ";", "else", "gen", "=", "gen_vec_interleave_lowv4df", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "emit_insn", "(", "gen", "(", "d", "->", "target", ",", "d", "->", "op0", ",", "d", "->", "op1", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Try", "to", "simplify", "a", "two", "vector", "permutation", "using", "2", "intra-lane", "interleave", "insns", "and", "cross-lane", "shuffle", "for", "32-byte", "vectors", "."], "TS_V_token": ["i386", "32", "0", "0", "0", "2", "0", "2", "0", "2", "1", "0", "2", "0", "0", "0", "0", "0", "0"], "File": "i386-expand", "Func": "expand_vec_perm_interleave3", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37675, "Length": 348}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_movs", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "machine_mode", "vmode", "=", "d", "->", "vmode", ";", "unsigned", "i", ",", "nelt", "=", "d", "->", "nelt", ";", "rtx", "x", ";", "if", "(", "d", "->", "one_operand_p", ")", "return", "false", ";", "if", "(", "!", "(", "TARGET_SSE", "&&", "vmode", "==", "V4SFmode", ")", "&&", "!", "(", "TARGET_MMX_WITH_SSE", "&&", "vmode", "==", "V2SFmode", ")", "&&", "!", "(", "TARGET_SSE2", "&&", "vmode", "==", "V2DFmode", ")", ")", "return", "false", ";", "if", "(", "d", "->", "perm", "[", "0", "]", "!=", "nelt", "&&", "d", "->", "perm", "[", "0", "]", "!=", "0", ")", "return", "false", ";", "for", "(", "i", "=", "1", ";", "i", "<", "nelt", ";", "++", "i", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "!=", "i", "+", "nelt", "-", "d", "->", "perm", "[", "0", "]", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "if", "(", "d", "->", "perm", "[", "0", "]", "==", "nelt", ")", "x", "=", "gen_rtx_VEC_MERGE", "(", "vmode", ",", "d", "->", "op1", ",", "d", "->", "op0", ",", "GEN_INT", "(", "1", ")", ")", ";", "else", "x", "=", "gen_rtx_VEC_MERGE", "(", "vmode", ",", "d", "->", "op0", ",", "d", "->", "op1", ",", "GEN_INT", "(", "1", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "d", "->", "target", ",", "x", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Try", "to", "implement", "D", "using", "movss", "or", "movsd", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "0", "0", "1", "1"], "File": "i386-expand", "Func": "expand_vec_perm_movs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37676, "Length": 206}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_pblendv", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "i", ",", "which", ",", "nelt", "=", "d", "->", "nelt", ";", "struct", "expand_vec_perm_d", "dcopy", ",", "dcopy1", ";", "machine_mode", "vmode", "=", "d", "->", "vmode", ";", "bool", "ok", ";", "if", "(", "d", "->", "one_operand_p", ")", "return", "false", ";", "if", "(", "TARGET_AVX2", "&&", "GET_MODE_SIZE", "(", "vmode", ")", "==", "32", ")", ";", "else", "if", "(", "TARGET_AVX", "&&", "(", "vmode", "==", "V4DFmode", "||", "vmode", "==", "V8SFmode", ")", ")", ";", "else", "if", "(", "TARGET_SSE4_1", "&&", "(", "GET_MODE_SIZE", "(", "vmode", ")", "==", "4", "||", "GET_MODE_SIZE", "(", "vmode", ")", "==", "8", "||", "GET_MODE_SIZE", "(", "vmode", ")", "==", "16", ")", ")", ";", "else", "return", "false", ";", "for", "(", "i", "=", "0", ",", "which", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "e", "=", "d", "->", "perm", "[", "i", "]", ";", "if", "(", "e", "!=", "i", ")", "which", "|=", "(", "e", "<", "nelt", "?", "1", ":", "2", ")", ";", "}", "if", "(", "which", "!=", "1", "&&", "which", "!=", "2", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", "&&", "GET_MODE_SIZE", "(", "vmode", ")", "==", "16", ")", "return", "true", ";", "dcopy", "=", "*", "d", ";", "if", "(", "which", "==", "2", ")", "dcopy", ".", "op0", "=", "dcopy", ".", "op1", "=", "d", "->", "op1", ";", "else", "dcopy", ".", "op0", "=", "dcopy", ".", "op1", "=", "d", "->", "op0", ";", "if", "(", "!", "d", "->", "testing_p", ")", "dcopy", ".", "target", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "dcopy", ".", "one_operand_p", "=", "true", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "dcopy", ".", "perm", "[", "i", "]", "=", "d", "->", "perm", "[", "i", "]", "&", "(", "nelt", "-", "1", ")", ";", "ok", "=", "expand_vec_perm_1", "(", "&", "dcopy", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "vmode", ")", "!=", "16", "&&", "!", "ok", ")", "return", "false", ";", "else", "gcc_assert", "(", "ok", ")", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "dcopy1", "=", "*", "d", ";", "if", "(", "which", "==", "2", ")", "dcopy1", ".", "op1", "=", "dcopy", ".", "target", ";", "else", "dcopy1", ".", "op0", "=", "dcopy", ".", "target", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "dcopy1", ".", "perm", "[", "i", "]", "=", "(", "(", "d", "->", "perm", "[", "i", "]", ">=", "nelt", ")", "?", "(", "nelt", "+", "i", ")", ":", "i", ")", ";", "ok", "=", "expand_vec_perm_blend", "(", "&", "dcopy1", ")", ";", "gcc_assert", "(", "ok", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_const_1", ".", "Try", "to", "simplify", "the", "permutation", "using", "the", "SSE4_1", "pblendv", "instruction", ".", "Potentially", "reduces", "permutation", "from", "2", "pshufb", "and", "or", "to", "1", "pshufb", "and", "pblendv", "."], "TS_V_token": ["i386", "32", "4", "8", "16", "0", "0", "1", "2", "1", "2", "16", "2", "0", "1", "16", "2", "0"], "File": "i386-expand", "Func": "expand_vec_perm_pblendv", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37677, "Length": 398}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_pshufb2", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "rtx", "rperm", "[", "2", "]", "[", "16", "]", ",", "vperm", ",", "l", ",", "h", ",", "op", ",", "m128", ";", "unsigned", "int", "i", ",", "nelt", ",", "eltsz", ";", "machine_mode", "mode", ";", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "if", "(", "!", "TARGET_SSSE3", "||", "(", "GET_MODE_SIZE", "(", "d", "->", "vmode", ")", "!=", "16", "&&", "GET_MODE_SIZE", "(", "d", "->", "vmode", ")", "!=", "8", "&&", "GET_MODE_SIZE", "(", "d", "->", "vmode", ")", "!=", "4", ")", ")", "return", "false", ";", "gcc_assert", "(", "!", "d", "->", "one_operand_p", ")", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "switch", "(", "GET_MODE_SIZE", "(", "d", "->", "vmode", ")", ")", "{", "case", "4", ":", "mode", "=", "V4QImode", ";", "gen", "=", "gen_mmx_pshufbv4qi3", ";", "break", ";", "case", "8", ":", "mode", "=", "V8QImode", ";", "gen", "=", "gen_mmx_pshufbv8qi3", ";", "break", ";", "case", "16", ":", "mode", "=", "V16QImode", ";", "gen", "=", "gen_ssse3_pshufbv16qi3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "nelt", "=", "d", "->", "nelt", ";", "eltsz", "=", "GET_MODE_UNIT_SIZE", "(", "d", "->", "vmode", ")", ";", "m128", "=", "GEN_INT", "(", "-", "128", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "j", ",", "k", ",", "e", "=", "d", "->", "perm", "[", "i", "]", ";", "unsigned", "which", "=", "(", "e", ">=", "nelt", ")", ";", "if", "(", "e", ">=", "nelt", ")", "e", "-=", "nelt", ";", "for", "(", "j", "=", "0", ";", "j", "<", "eltsz", ";", "++", "j", ")", "{", "rperm", "[", "which", "]", "[", "i", "*", "eltsz", "+", "j", "]", "=", "GEN_INT", "(", "e", "*", "eltsz", "+", "j", ")", ";", "rperm", "[", "1", "-", "which", "]", "[", "i", "*", "eltsz", "+", "j", "]", "=", "m128", ";", "}", "for", "(", "k", "=", "i", "*", "eltsz", "+", "j", ";", "k", "<", "16", ";", "++", "k", ")", "rperm", "[", "0", "]", "[", "k", "]", "=", "rperm", "[", "1", "]", "[", "k", "]", "=", "m128", ";", "}", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V16QImode", ",", "gen_rtvec_v", "(", "16", ",", "rperm", "[", "0", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V16QImode", ",", "vperm", ")", ";", "l", "=", "gen_reg_rtx", "(", "mode", ")", ";", "op", "=", "gen_lowpart", "(", "mode", ",", "d", "->", "op0", ")", ";", "emit_insn", "(", "gen", "(", "l", ",", "op", ",", "vperm", ")", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V16QImode", ",", "gen_rtvec_v", "(", "16", ",", "rperm", "[", "1", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V16QImode", ",", "vperm", ")", ";", "h", "=", "gen_reg_rtx", "(", "mode", ")", ";", "op", "=", "gen_lowpart", "(", "mode", ",", "d", "->", "op1", ")", ";", "emit_insn", "(", "gen", "(", "h", ",", "op", ",", "vperm", ")", ")", ";", "op", "=", "d", "->", "target", ";", "if", "(", "d", "->", "vmode", "!=", "mode", ")", "op", "=", "gen_reg_rtx", "(", "mode", ")", ";", "ix86_emit_vec_binop", "(", "IOR", ",", "mode", ",", "op", ",", "l", ",", "h", ")", ";", "if", "(", "op", "!=", "d", "->", "target", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "expand_vec_perm_even_odd_1", ".", "Implement", "the", "double-word", "permutation", "with", "two", "pshufb", "insns", "and", "an", "ior", ".", "We", "should", "have", "already", "failed", "all", "two", "instruction", "sequences", "."], "TS_V_token": ["i386", "2", "16", "16", "8", "4", "4", "8", "16", "128", "0", "0", "1", "16", "0", "1", "16", "0", "16", "1"], "File": "i386-expand", "Func": "expand_vec_perm_pshufb2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37678, "Length": 495}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_pshuflw_pshufhw", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "char", "perm2", "[", "MAX_VECT_LEN", "]", ";", "unsigned", "i", ";", "bool", "ok", ";", "if", "(", "d", "->", "vmode", "!=", "V8HImode", "||", "!", "d", "->", "one_operand_p", ")", "return", "false", ";", "for", "(", "i", "=", "0", ";", "i", "<", "4", ";", "++", "i", ")", "if", "(", "d", "->", "perm", "[", "i", "]", ">=", "4", ")", "return", "false", ";", "for", "(", "i", "=", "4", ";", "i", "<", "8", ";", "++", "i", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "<", "4", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "memcpy", "(", "perm2", ",", "d", "->", "perm", ",", "4", ")", ";", "for", "(", "i", "=", "4", ";", "i", "<", "8", ";", "++", "i", ")", "perm2", "[", "i", "]", "=", "i", ";", "ok", "=", "expand_vselect", "(", "d", "->", "target", ",", "d", "->", "op0", ",", "perm2", ",", "8", ",", "d", "->", "testing_p", ")", ";", "gcc_assert", "(", "ok", ")", ";", "memcpy", "(", "perm2", "+", "4", ",", "d", "->", "perm", "+", "4", ",", "4", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "4", ";", "++", "i", ")", "perm2", "[", "i", "]", "=", "i", ";", "ok", "=", "expand_vselect", "(", "d", "->", "target", ",", "d", "->", "target", ",", "perm2", ",", "8", ",", "d", "->", "testing_p", ")", ";", "gcc_assert", "(", "ok", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Try", "to", "implement", "D", "in", "terms", "of", "a", "pair", "of", "pshuflw", "+", "pshufhw", "instructions", "."], "TS_V_token": ["i386", "0", "4", "4", "4", "8", "4", "4", "4", "8", "8", "4", "4", "4", "0", "4", "8"], "File": "i386-expand", "Func": "expand_vec_perm_pshuflw_pshufhw", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37679, "Length": 224}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_vperm2f128_vblend", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "struct", "expand_vec_perm_d", "dfirst", ",", "dsecond", ";", "unsigned", "i", ",", "j", ",", "msk", ",", "nelt", "=", "d", "->", "nelt", ",", "nelt2", "=", "nelt", "/", "2", ";", "rtx_insn", "*", "seq", ";", "bool", "ok", ";", "rtx", "(", "*", "blend", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", "=", "NULL", ";", "if", "(", "!", "TARGET_AVX", "||", "TARGET_AVX2", "||", "(", "d", "->", "vmode", "!=", "V8SFmode", "&&", "d", "->", "vmode", "!=", "V4DFmode", ")", "||", "!", "d", "->", "one_operand_p", ")", "return", "false", ";", "dfirst", "=", "*", "d", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "i", "++", ")", "dfirst", ".", "perm", "[", "i", "]", "=", "0xff", ";", "for", "(", "i", "=", "0", ",", "msk", "=", "0", ";", "i", "<", "nelt", ";", "i", "++", ")", "{", "j", "=", "(", "d", "->", "perm", "[", "i", "]", "&", "nelt2", ")", "?", "i", "|", "nelt2", ":", "i", "&", "~", "nelt2", ";", "if", "(", "dfirst", ".", "perm", "[", "j", "]", "!=", "0xff", "&&", "dfirst", ".", "perm", "[", "j", "]", "!=", "d", "->", "perm", "[", "i", "]", ")", "return", "false", ";", "dfirst", ".", "perm", "[", "j", "]", "=", "d", "->", "perm", "[", "i", "]", ";", "if", "(", "j", "!=", "i", ")", "msk", "|=", "(", "1", "<<", "i", ")", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "i", "++", ")", "if", "(", "dfirst", ".", "perm", "[", "i", "]", "==", "0xff", ")", "dfirst", ".", "perm", "[", "i", "]", "=", "i", ";", "if", "(", "!", "d", "->", "testing_p", ")", "dfirst", ".", "target", "=", "gen_reg_rtx", "(", "dfirst", ".", "vmode", ")", ";", "start_sequence", "(", ")", ";", "ok", "=", "expand_vec_perm_1", "(", "&", "dfirst", ")", ";", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "if", "(", "!", "ok", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "emit_insn", "(", "seq", ")", ";", "dsecond", "=", "*", "d", ";", "dsecond", ".", "op0", "=", "dfirst", ".", "target", ";", "dsecond", ".", "op1", "=", "dfirst", ".", "target", ";", "dsecond", ".", "one_operand_p", "=", "true", ";", "dsecond", ".", "target", "=", "gen_reg_rtx", "(", "dsecond", ".", "vmode", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "i", "++", ")", "dsecond", ".", "perm", "[", "i", "]", "=", "i", "^", "nelt2", ";", "ok", "=", "expand_vec_perm_1", "(", "&", "dsecond", ")", ";", "gcc_assert", "(", "ok", ")", ";", "blend", "=", "d", "->", "vmode", "==", "V8SFmode", "?", "gen_avx_blendps256", ":", "gen_avx_blendpd256", ";", "emit_insn", "(", "blend", "(", "d", "->", "target", ",", "dfirst", ".", "target", ",", "dsecond", ".", "target", ",", "GEN_INT", "(", "msk", ")", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Try", "to", "implement", "a", "single", "vector", "permutation", "using", "a", "single", "intra-lane", "vector", "permutation", ",", "vperm2f128", "swapping", "the", "lanes", "and", "vblend", "*", "insn", "blending", "the", "non-swapped", "and", "swapped", "vectors", "together", "."], "TS_V_token": ["i386", "2", "0", "0xff", "0", "0", "0xff", "1", "0", "0xff", "0"], "File": "i386-expand", "Func": "expand_vec_perm_vperm2f128_vblend", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37680, "Length": 421}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_vpermil", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "rtx", "rperm", "[", "8", "]", ",", "vperm", ";", "unsigned", "i", ";", "if", "(", "!", "TARGET_AVX", "||", "d", "->", "vmode", "!=", "V8SFmode", "||", "!", "d", "->", "one_operand_p", ")", "return", "false", ";", "for", "(", "i", "=", "0", ";", "i", "<", "8", ";", "++", "i", ")", "{", "unsigned", "e", "=", "d", "->", "perm", "[", "i", "]", ";", "if", "(", "i", "<", "4", "?", "e", ">=", "4", ":", "e", "<", "4", ")", "return", "false", ";", "}", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "for", "(", "i", "=", "0", ";", "i", "<", "8", ";", "++", "i", ")", "{", "unsigned", "e", "=", "d", "->", "perm", "[", "i", "]", ";", "if", "(", "e", ">=", "8", "+", "4", ")", "e", "-=", "8", ";", "else", "if", "(", "e", ">=", "4", ")", "e", "-=", "4", ";", "rperm", "[", "i", "]", "=", "GEN_INT", "(", "e", ")", ";", "}", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V8SImode", ",", "gen_rtvec_v", "(", "8", ",", "rperm", ")", ")", ";", "vperm", "=", "force_reg", "(", "V8SImode", ",", "vperm", ")", ";", "emit_insn", "(", "gen_avx_vpermilvarv8sf3", "(", "d", "->", "target", ",", "d", "->", "op0", ",", "vperm", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Try", "to", "implement", "D", "in", "terms", "of", "the", "variable", "form", "of", "vpermilps", ".", "Note", "that", "we", "will", "have", "already", "failed", "the", "immediate", "input", "vpermilps", ",", "which", "requires", "that", "the", "high", "and", "low", "part", "shuffle", "be", "identical", ";", "the", "variable", "form", "does", "n't", "require", "that", "."], "TS_V_token": ["i386", "8", "0", "8", "4", "4", "4", "0", "8", "8", "4", "8", "4", "4", "8"], "File": "i386-expand", "Func": "expand_vec_perm_vpermil", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37681, "Length": 192}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_vpermt2_vpshub2", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "if", "(", "!", "TARGET_AVX512BW", "||", "!", "(", "d", "->", "vmode", "==", "V64QImode", ")", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "struct", "expand_vec_perm_d", "ds", "[", "2", "]", ";", "rtx", "rperm", "[", "128", "]", ",", "vperm", ",", "target0", ",", "target1", ";", "unsigned", "int", "i", ",", "nelt", ";", "machine_mode", "vmode", ";", "nelt", "=", "d", "->", "nelt", ";", "vmode", "=", "V64QImode", ";", "for", "(", "i", "=", "0", ";", "i", "<", "2", ";", "i", "++", ")", "{", "ds", "[", "i", "]", "=", "*", "d", ";", "ds", "[", "i", "]", ".", "vmode", "=", "V32HImode", ";", "ds", "[", "i", "]", ".", "nelt", "=", "32", ";", "ds", "[", "i", "]", ".", "target", "=", "gen_reg_rtx", "(", "V32HImode", ")", ";", "ds", "[", "i", "]", ".", "op0", "=", "gen_lowpart", "(", "V32HImode", ",", "d", "->", "op0", ")", ";", "ds", "[", "i", "]", ".", "op1", "=", "gen_lowpart", "(", "V32HImode", ",", "d", "->", "op1", ")", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "i", "++", ")", "{", "ds", "[", "i", "&", "1", "]", ".", "perm", "[", "i", "/", "2", "]", "=", "d", "->", "perm", "[", "i", "]", "/", "2", ";", "if", "(", "i", "&", "1", ")", "{", "rperm", "[", "i", "]", "=", "constm1_rtx", ";", "rperm", "[", "i", "+", "64", "]", "=", "GEN_INT", "(", "(", "i", "&", "14", ")", "+", "(", "d", "->", "perm", "[", "i", "]", "&", "1", ")", ")", ";", "}", "else", "{", "rperm", "[", "i", "]", "=", "GEN_INT", "(", "(", "i", "&", "14", ")", "+", "(", "d", "->", "perm", "[", "i", "]", "&", "1", ")", ")", ";", "rperm", "[", "i", "+", "64", "]", "=", "constm1_rtx", ";", "}", "}", "bool", "ok", "=", "expand_vec_perm_1", "(", "&", "ds", "[", "0", "]", ")", ";", "gcc_assert", "(", "ok", ")", ";", "ds", "[", "0", "]", ".", "target", "=", "gen_lowpart", "(", "V64QImode", ",", "ds", "[", "0", "]", ".", "target", ")", ";", "ok", "=", "expand_vec_perm_1", "(", "&", "ds", "[", "1", "]", ")", ";", "gcc_assert", "(", "ok", ")", ";", "ds", "[", "1", "]", ".", "target", "=", "gen_lowpart", "(", "V64QImode", ",", "ds", "[", "1", "]", ".", "target", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V64QImode", ",", "gen_rtvec_v", "(", "64", ",", "rperm", ")", ")", ";", "vperm", "=", "force_reg", "(", "vmode", ",", "vperm", ")", ";", "target0", "=", "gen_reg_rtx", "(", "V64QImode", ")", ";", "emit_insn", "(", "gen_avx512bw_pshufbv64qi3", "(", "target0", ",", "ds", "[", "0", "]", ".", "target", ",", "vperm", ")", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V64QImode", ",", "gen_rtvec_v", "(", "64", ",", "rperm", "+", "64", ")", ")", ";", "vperm", "=", "force_reg", "(", "vmode", ",", "vperm", ")", ";", "target1", "=", "gen_reg_rtx", "(", "V64QImode", ")", ";", "emit_insn", "(", "gen_avx512bw_pshufbv64qi3", "(", "target1", ",", "ds", "[", "1", "]", ".", "target", ",", "vperm", ")", ")", ";", "emit_insn", "(", "gen_iorv64qi3", "(", "d", "->", "target", ",", "target0", ",", "target1", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "arbitrary", "permutations", "of", "two", "V64QImode", "operands", "with", "2", "vperm", "[", "it", "]", "2w", ",", "2", "vpshufb", "and", "one", "vpor", "instruction", "."], "TS_V_token": ["i386", "2", "128", "0", "2", "32", "0", "1", "2", "2", "1", "64", "14", "1", "14", "1", "64", "0", "0", "0", "1", "1", "1", "64", "0", "64", "64", "1"], "File": "i386-expand", "Func": "expand_vec_perm_vpermt2_vpshub2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37682, "Length": 461}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_vpshufb2_vpermq", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "rtx", "rperm", "[", "2", "]", "[", "32", "]", ",", "vperm", ",", "l", ",", "h", ",", "hp", ",", "op", ",", "m128", ";", "unsigned", "int", "i", ",", "nelt", ",", "eltsz", ";", "if", "(", "!", "TARGET_AVX2", "||", "!", "d", "->", "one_operand_p", "||", "(", "d", "->", "vmode", "!=", "V32QImode", "&&", "d", "->", "vmode", "!=", "V16HImode", ")", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "nelt", "=", "d", "->", "nelt", ";", "eltsz", "=", "GET_MODE_UNIT_SIZE", "(", "d", "->", "vmode", ")", ";", "m128", "=", "GEN_INT", "(", "-", "128", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "j", ",", "e", "=", "d", "->", "perm", "[", "i", "]", "&", "(", "nelt", "/", "2", "-", "1", ")", ";", "unsigned", "which", "=", "(", "(", "d", "->", "perm", "[", "i", "]", "^", "i", ")", "&", "(", "nelt", "/", "2", ")", ")", "*", "eltsz", ";", "for", "(", "j", "=", "0", ";", "j", "<", "eltsz", ";", "++", "j", ")", "{", "rperm", "[", "!", "!", "which", "]", "[", "(", "i", "*", "eltsz", "+", "j", ")", "^", "which", "]", "=", "GEN_INT", "(", "e", "*", "eltsz", "+", "j", ")", ";", "rperm", "[", "!", "which", "]", "[", "(", "i", "*", "eltsz", "+", "j", ")", "^", "(", "which", "^", "16", ")", "]", "=", "m128", ";", "}", "}", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V32QImode", ",", "gen_rtvec_v", "(", "32", ",", "rperm", "[", "1", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V32QImode", ",", "vperm", ")", ";", "h", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V32QImode", ",", "d", "->", "op0", ")", ";", "emit_insn", "(", "gen_avx2_pshufbv32qi3", "(", "h", ",", "op", ",", "vperm", ")", ")", ";", "hp", "=", "gen_reg_rtx", "(", "V4DImode", ")", ";", "op", "=", "gen_lowpart", "(", "V4DImode", ",", "h", ")", ";", "emit_insn", "(", "gen_avx2_permv4di_1", "(", "hp", ",", "op", ",", "const2_rtx", ",", "GEN_INT", "(", "3", ")", ",", "const0_rtx", ",", "const1_rtx", ")", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V32QImode", ",", "gen_rtvec_v", "(", "32", ",", "rperm", "[", "0", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V32QImode", ",", "vperm", ")", ";", "l", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V32QImode", ",", "d", "->", "op0", ")", ";", "emit_insn", "(", "gen_avx2_pshufbv32qi3", "(", "l", ",", "op", ",", "vperm", ")", ")", ";", "op", "=", "d", "->", "target", ";", "if", "(", "d", "->", "vmode", "!=", "V32QImode", ")", "op", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "emit_insn", "(", "gen_iorv32qi3", "(", "op", ",", "l", ",", "gen_lowpart", "(", "V32QImode", ",", "hp", ")", ")", ")", ";", "if", "(", "op", "!=", "d", "->", "target", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "arbitrary", "permutation", "of", "one", "V32QImode", "and", "V16QImode", "operand", "with", "two", "vpshufb", "insns", ",", "vpermq", "and", "vpor", ".", "We", "should", "have", "already", "failed", "all", "two", "or", "three", "instruction", "sequences", "."], "TS_V_token": ["i386", "2", "32", "128", "0", "2", "1", "2", "0", "16", "32", "1", "3", "32", "0"], "File": "i386-expand", "Func": "expand_vec_perm_vpshufb2_vpermq", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37683, "Length": 437}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_vpshufb2_vpermq_even_odd", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "rtx", "rperm", "[", "2", "]", "[", "32", "]", ",", "vperm", ",", "l", ",", "h", ",", "ior", ",", "op", ",", "m128", ";", "unsigned", "int", "i", ",", "nelt", ",", "eltsz", ";", "if", "(", "!", "TARGET_AVX2", "||", "d", "->", "one_operand_p", "||", "(", "d", "->", "vmode", "!=", "V32QImode", "&&", "d", "->", "vmode", "!=", "V16HImode", ")", ")", "return", "false", ";", "for", "(", "i", "=", "0", ";", "i", "<", "d", "->", "nelt", ";", "++", "i", ")", "if", "(", "(", "d", "->", "perm", "[", "i", "]", "^", "(", "i", "*", "2", ")", ")", "&", "(", "3", "*", "d", "->", "nelt", "/", "2", ")", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "nelt", "=", "d", "->", "nelt", ";", "eltsz", "=", "GET_MODE_UNIT_SIZE", "(", "d", "->", "vmode", ")", ";", "m128", "=", "GEN_INT", "(", "-", "128", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "j", ",", "e", "=", "d", "->", "perm", "[", "i", "]", "&", "(", "nelt", "/", "2", "-", "1", ")", ";", "unsigned", "which", "=", "d", "->", "perm", "[", "i", "]", ">=", "nelt", ";", "unsigned", "xorv", "=", "(", "i", ">=", "nelt", "/", "4", "&&", "i", "<", "3", "*", "nelt", "/", "4", ")", "?", "24", ":", "0", ";", "for", "(", "j", "=", "0", ";", "j", "<", "eltsz", ";", "++", "j", ")", "{", "rperm", "[", "which", "]", "[", "(", "i", "*", "eltsz", "+", "j", ")", "^", "xorv", "]", "=", "GEN_INT", "(", "e", "*", "eltsz", "+", "j", ")", ";", "rperm", "[", "1", "-", "which", "]", "[", "(", "i", "*", "eltsz", "+", "j", ")", "^", "xorv", "]", "=", "m128", ";", "}", "}", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V32QImode", ",", "gen_rtvec_v", "(", "32", ",", "rperm", "[", "0", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V32QImode", ",", "vperm", ")", ";", "l", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V32QImode", ",", "d", "->", "op0", ")", ";", "emit_insn", "(", "gen_avx2_pshufbv32qi3", "(", "l", ",", "op", ",", "vperm", ")", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V32QImode", ",", "gen_rtvec_v", "(", "32", ",", "rperm", "[", "1", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V32QImode", ",", "vperm", ")", ";", "h", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V32QImode", ",", "d", "->", "op1", ")", ";", "emit_insn", "(", "gen_avx2_pshufbv32qi3", "(", "h", ",", "op", ",", "vperm", ")", ")", ";", "ior", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "emit_insn", "(", "gen_iorv32qi3", "(", "ior", ",", "l", ",", "h", ")", ")", ";", "op", "=", "gen_reg_rtx", "(", "V4DImode", ")", ";", "ior", "=", "gen_lowpart", "(", "V4DImode", ",", "ior", ")", ";", "emit_insn", "(", "gen_avx2_permv4di_1", "(", "op", ",", "ior", ",", "const0_rtx", ",", "const2_rtx", ",", "const1_rtx", ",", "GEN_INT", "(", "3", ")", ")", ")", ";", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "expand_vec_perm_even_odd_1", ".", "Implement", "extract-even", "and", "extract-odd", "permutations", "of", "two", "V32QImode", "and", "V16QImode", "operand", "with", "two", "vpshufb", "insns", ",", "vpor", "and", "vpermq", ".", "We", "should", "have", "already", "failed", "all", "two", "or", "three", "instruction", "sequences", "."], "TS_V_token": ["i386", "2", "32", "0", "2", "3", "2", "128", "0", "2", "1", "4", "3", "4", "24", "0", "0", "1", "32", "0", "32", "1", "3"], "File": "i386-expand", "Func": "expand_vec_perm_vpshufb2_vpermq_even_odd", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37684, "Length": 460}
{"ground_truth": ["", "static", "bool", "expand_vselect", "(", "rtx", "target", ",", "rtx", "op0", ",", "const", "unsigned", "char", "*", "perm", ",", "unsigned", "nelt", ",", "bool", "testing_p", ")", "{", "unsigned", "int", "i", ";", "rtx", "x", ",", "save_vconcat", ";", "int", "icode", ";", "if", "(", "vselect_insn", "==", "NULL_RTX", ")", "init_vselect_insn", "(", ")", ";", "x", "=", "XEXP", "(", "SET_SRC", "(", "PATTERN", "(", "vselect_insn", ")", ")", ",", "1", ")", ";", "PUT_NUM_ELEM", "(", "XVEC", "(", "x", ",", "0", ")", ",", "nelt", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "XVECEXP", "(", "x", ",", "0", ",", "i", ")", "=", "GEN_INT", "(", "perm", "[", "i", "]", ")", ";", "save_vconcat", "=", "XEXP", "(", "SET_SRC", "(", "PATTERN", "(", "vselect_insn", ")", ")", ",", "0", ")", ";", "XEXP", "(", "SET_SRC", "(", "PATTERN", "(", "vselect_insn", ")", ")", ",", "0", ")", "=", "op0", ";", "PUT_MODE", "(", "SET_SRC", "(", "PATTERN", "(", "vselect_insn", ")", ")", ",", "GET_MODE", "(", "target", ")", ")", ";", "SET_DEST", "(", "PATTERN", "(", "vselect_insn", ")", ")", "=", "target", ";", "icode", "=", "recog_memoized", "(", "vselect_insn", ")", ";", "if", "(", "icode", ">=", "0", "&&", "!", "testing_p", ")", "emit_insn", "(", "copy_rtx", "(", "PATTERN", "(", "vselect_insn", ")", ")", ")", ";", "SET_DEST", "(", "PATTERN", "(", "vselect_insn", ")", ")", "=", "const0_rtx", ";", "XEXP", "(", "SET_SRC", "(", "PATTERN", "(", "vselect_insn", ")", ")", ",", "0", ")", "=", "save_vconcat", ";", "INSN_CODE", "(", "vselect_insn", ")", "=", "-", "1", ";", "return", "icode", ">=", "0", ";", "}", ""], "natrual_language": ["Construct", "(", "set", "target", "(", "vec_select", "op0", "(", "parallel", "perm", ")", ")", ")", "and", "return", "true", "if", "that", "'s", "a", "valid", "instruction", "in", "the", "active", "ISA", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0", "0", "0", "0", "1", "0"], "File": "i386-expand", "Func": "expand_vselect", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37685, "Length": 224}
{"ground_truth": ["", "static", "bool", "expand_vselect_vconcat", "(", "rtx", "target", ",", "rtx", "op0", ",", "rtx", "op1", ",", "const", "unsigned", "char", "*", "perm", ",", "unsigned", "nelt", ",", "bool", "testing_p", ")", "{", "machine_mode", "v2mode", ";", "rtx", "x", ";", "bool", "ok", ";", "if", "(", "vselect_insn", "==", "NULL_RTX", ")", "init_vselect_insn", "(", ")", ";", "if", "(", "!", "GET_MODE_2XWIDER_MODE", "(", "GET_MODE", "(", "op0", ")", ")", ".", "exists", "(", "&", "v2mode", ")", ")", "return", "false", ";", "x", "=", "XEXP", "(", "SET_SRC", "(", "PATTERN", "(", "vselect_insn", ")", ")", ",", "0", ")", ";", "PUT_MODE", "(", "x", ",", "v2mode", ")", ";", "XEXP", "(", "x", ",", "0", ")", "=", "op0", ";", "XEXP", "(", "x", ",", "1", ")", "=", "op1", ";", "ok", "=", "expand_vselect", "(", "target", ",", "x", ",", "perm", ",", "nelt", ",", "testing_p", ")", ";", "XEXP", "(", "x", ",", "0", ")", "=", "const0_rtx", ";", "XEXP", "(", "x", ",", "1", ")", "=", "const0_rtx", ";", "return", "ok", ";", "}", ""], "natrual_language": ["Similar", ",", "but", "generate", "a", "vec_concat", "from", "op0", "and", "op1", "as", "well", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1"], "File": "i386-expand", "Func": "expand_vselect_vconcat", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37686, "Length": 142}
{"ground_truth": ["", "static", "bool", "find_nearest_reg_def", "(", "rtx_insn", "*", "insn", ",", "int", "regno1", ",", "int", "regno2", ")", "{", "rtx_insn", "*", "prev", "=", "insn", ";", "rtx_insn", "*", "start", "=", "BB_HEAD", "(", "BLOCK_FOR_INSN", "(", "insn", ")", ")", ";", "if", "(", "insn", "==", "start", ")", "return", "false", ";", "while", "(", "prev", "&&", "prev", "!=", "start", ")", "{", "if", "(", "!", "INSN_P", "(", "prev", ")", "||", "!", "NONDEBUG_INSN_P", "(", "prev", ")", ")", "{", "prev", "=", "PREV_INSN", "(", "prev", ")", ";", "continue", ";", "}", "if", "(", "insn_defines_reg", "(", "regno1", ",", "INVALID_REGNUM", ",", "prev", ")", ")", "return", "true", ";", "else", "if", "(", "insn_defines_reg", "(", "regno2", ",", "INVALID_REGNUM", ",", "prev", ")", ")", "return", "false", ";", "prev", "=", "PREV_INSN", "(", "prev", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "regno1", "def", "is", "nearest", "to", "the", "insn", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "find_nearest_reg_def", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37687, "Length": 117}
{"ground_truth": ["", "static", "rtx", "fixup_modeless_constant", "(", "rtx", "x", ",", "machine_mode", "mode", ")", "{", "if", "(", "GET_MODE", "(", "x", ")", "==", "VOIDmode", ")", "x", "=", "convert_to_mode", "(", "mode", ",", "x", ",", "1", ")", ";", "return", "x", ";", "}", ""], "natrual_language": ["Fixup", "modeless", "constants", "to", "fit", "required", "mode", "."], "TS_V_token": ["i386", "1"], "File": "i386-expand", "Func": "fixup_modeless_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37688, "Length": 35}
{"ground_truth": ["", "static", "int", "get_element_number", "(", "tree", "vec_type", ",", "tree", "arg", ")", "{", "unsigned", "HOST_WIDE_INT", "elt", ",", "max", "=", "TYPE_VECTOR_SUBPARTS", "(", "vec_type", ")", "-", "1", ";", "if", "(", "!", "tree_fits_uhwi_p", "(", "arg", ")", "||", "(", "elt", "=", "tree_to_uhwi", "(", "arg", ")", ",", "elt", ">", "max", ")", ")", "{", "error", "(", "\"selector must be an integer constant in the range \"", "\"[0, %wi]\"", ",", "max", ")", ";", "return", "0", ";", "}", "return", "elt", ";", "}", ""], "natrual_language": ["Return", "the", "integer", "constant", "in", "ARG", ".", "Constrain", "it", "to", "be", "in", "the", "range", "of", "the", "subparts", "of", "VEC_TYPE", ";", "issue", "an", "error", "if", "not", "."], "TS_V_token": ["i386", "1", "\"selector must be an integer constant in the range \"", "\"[0, %wi]\"", "0"], "File": "i386-expand", "Func": "get_element_number", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37689, "Length": 62}
{"ground_truth": ["", "static", "machine_mode", "get_mode_wider_vector", "(", "machine_mode", "o", ")", "{", "machine_mode", "n", "=", "GET_MODE_WIDER_MODE", "(", "o", ")", ".", "require", "(", ")", ";", "gcc_assert", "(", "GET_MODE_NUNITS", "(", "o", ")", "==", "GET_MODE_NUNITS", "(", "n", ")", "*", "2", ")", ";", "gcc_assert", "(", "GET_MODE_SIZE", "(", "o", ")", "==", "GET_MODE_SIZE", "(", "n", ")", ")", ";", "return", "n", ";", "}", ""], "natrual_language": ["Get", "a", "vector", "mode", "of", "the", "same", "size", "as", "the", "original", "but", "with", "elements", "twice", "as", "wide", ".", "This", "is", "only", "guaranteed", "to", "apply", "to", "integral", "vectors", "."], "TS_V_token": ["i386", "2"], "File": "i386-expand", "Func": "get_mode_wider_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37690, "Length": 52}
{"ground_truth": ["", "static", "void", "init_vselect_insn", "(", "void", ")", "{", "unsigned", "i", ";", "rtx", "x", ";", "x", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "rtvec_alloc", "(", "MAX_VECT_LEN", ")", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "MAX_VECT_LEN", ";", "++", "i", ")", "XVECEXP", "(", "x", ",", "0", ",", "i", ")", "=", "const0_rtx", ";", "x", "=", "gen_rtx_VEC_SELECT", "(", "V2DFmode", ",", "gen_rtx_VEC_CONCAT", "(", "V4DFmode", ",", "const0_rtx", ",", "const0_rtx", ")", ",", "x", ")", ";", "x", "=", "gen_rtx_SET", "(", "const0_rtx", ",", "x", ")", ";", "start_sequence", "(", ")", ";", "vselect_insn", "=", "emit_insn", "(", "x", ")", ";", "end_sequence", "(", ")", ";", "}", ""], "natrual_language": ["Initialize", "vselect_insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386-expand", "Func": "init_vselect_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37691, "Length": 92}
{"ground_truth": ["", "static", "void", "ix86_adjust_counter", "(", "rtx", "countreg", ",", "HOST_WIDE_INT", "value", ")", "{", "emit_insn", "(", "gen_add2_insn", "(", "countreg", ",", "GEN_INT", "(", "-", "value", ")", ")", ")", ";", "}", ""], "natrual_language": ["Adjust", "COUNTER", "by", "the", "VALUE", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_adjust_counter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37692, "Length": 26}
{"ground_truth": ["", "static", "void", "ix86_avx256_split_vector_move_misalign", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "m", ";", "rtx", "(", "*", "extract", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "machine_mode", "mode", ";", "if", "(", "(", "MEM_P", "(", "op1", ")", "&&", "!", "TARGET_AVX256_SPLIT_UNALIGNED_LOAD", ")", "||", "(", "MEM_P", "(", "op0", ")", "&&", "!", "TARGET_AVX256_SPLIT_UNALIGNED_STORE", ")", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "rtx", "orig_op0", "=", "NULL_RTX", ";", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "switch", "(", "GET_MODE_CLASS", "(", "mode", ")", ")", "{", "case", "MODE_VECTOR_INT", ":", "case", "MODE_INT", ":", "if", "(", "mode", "!=", "V32QImode", ")", "{", "if", "(", "!", "MEM_P", "(", "op0", ")", ")", "{", "orig_op0", "=", "op0", ";", "op0", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "}", "else", "op0", "=", "gen_lowpart", "(", "V32QImode", ",", "op0", ")", ";", "op1", "=", "gen_lowpart", "(", "V32QImode", ",", "op1", ")", ";", "mode", "=", "V32QImode", ";", "}", "break", ";", "case", "MODE_VECTOR_FLOAT", ":", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "E_V32QImode", ":", "extract", "=", "gen_avx_vextractf128v32qi", ";", "mode", "=", "V16QImode", ";", "break", ";", "case", "E_V16HFmode", ":", "extract", "=", "gen_avx_vextractf128v16hf", ";", "mode", "=", "V8HFmode", ";", "break", ";", "case", "E_V8SFmode", ":", "extract", "=", "gen_avx_vextractf128v8sf", ";", "mode", "=", "V4SFmode", ";", "break", ";", "case", "E_V4DFmode", ":", "extract", "=", "gen_avx_vextractf128v4df", ";", "mode", "=", "V2DFmode", ";", "break", ";", "}", "if", "(", "MEM_P", "(", "op1", ")", ")", "{", "rtx", "r", "=", "gen_reg_rtx", "(", "mode", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "0", ")", ";", "emit_move_insn", "(", "r", ",", "m", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "16", ")", ";", "r", "=", "gen_rtx_VEC_CONCAT", "(", "GET_MODE", "(", "op0", ")", ",", "r", ",", "m", ")", ";", "emit_move_insn", "(", "op0", ",", "r", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "op0", ")", ")", "{", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "0", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "op1", ",", "const0_rtx", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "16", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "copy_rtx", "(", "op1", ")", ",", "const1_rtx", ")", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "if", "(", "orig_op0", ")", "emit_move_insn", "(", "orig_op0", ",", "gen_lowpart", "(", "GET_MODE", "(", "orig_op0", ")", ",", "op0", ")", ")", ";", "}", ""], "natrual_language": ["Split", "32-byte", "AVX", "unaligned", "load", "and", "store", "if", "needed", "."], "TS_V_token": ["i386", "0", "16", "0", "16"], "File": "i386-expand", "Func": "ix86_avx256_split_vector_move_misalign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37693, "Length": 373}
{"ground_truth": ["", "bool", "ix86_binary_operator_ok", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "3", "]", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src1", "=", "operands", "[", "1", "]", ";", "rtx", "src2", "=", "operands", "[", "2", "]", ";", "if", "(", "(", "MEM_P", "(", "src1", ")", "||", "bcst_mem_operand", "(", "src1", ",", "mode", ")", ")", "&&", "(", "MEM_P", "(", "src2", ")", "||", "bcst_mem_operand", "(", "src2", ",", "mode", ")", ")", ")", "return", "false", ";", "if", "(", "ix86_swap_binary_operands_p", "(", "code", ",", "mode", ",", "operands", ")", ")", "std", "::", "swap", "(", "src1", ",", "src2", ")", ";", "if", "(", "MEM_P", "(", "dst", ")", "&&", "!", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "return", "false", ";", "if", "(", "CONSTANT_P", "(", "src1", ")", ")", "return", "false", ";", "if", "(", "MEM_P", "(", "src1", ")", "&&", "!", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "return", "(", "code", "==", "AND", "&&", "(", "mode", "==", "HImode", "||", "mode", "==", "SImode", "||", "(", "TARGET_64BIT", "&&", "mode", "==", "DImode", ")", ")", "&&", "satisfies_constraint_L", "(", "src2", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "TRUE", "or", "FALSE", "depending", "on", "whether", "the", "binary", "operator", "meets", "the", "appropriate", "constraints", "."], "TS_V_token": ["i386", "3", "0", "1", "2"], "File": "i386-expand", "Func": "ix86_binary_operator_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37694, "Length": 171}
{"ground_truth": ["", "static", "bool", "ix86_broadcast", "(", "HOST_WIDE_INT", "v", ",", "unsigned", "int", "width", ",", "HOST_WIDE_INT", "&", "val_broadcast", ")", "{", "wide_int", "val", "=", "wi", "::", "uhwi", "(", "v", ",", "HOST_BITS_PER_WIDE_INT", ")", ";", "val_broadcast", "=", "wi", "::", "extract_uhwi", "(", "val", ",", "0", ",", "width", ")", ";", "for", "(", "unsigned", "int", "i", "=", "width", ";", "i", "<", "HOST_BITS_PER_WIDE_INT", ";", "i", "+=", "width", ")", "{", "HOST_WIDE_INT", "each", "=", "wi", "::", "extract_uhwi", "(", "val", ",", "i", ",", "width", ")", ";", "if", "(", "val_broadcast", "!=", "each", ")", "return", "false", ";", "}", "val_broadcast", "=", "sext_hwi", "(", "val_broadcast", ",", "width", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "V", "can", "be", "broadcasted", "from", "an", "integer", "of", "WIDTH", "bits", "which", "is", "returned", "in", "VAL_BROADCAST", ".", "Otherwise", ",", "return", "false", "."], "TS_V_token": ["i386", "0"], "File": "i386-expand", "Func": "ix86_broadcast", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37695, "Length": 95}
{"ground_truth": ["", "static", "rtx", "ix86_broadcast_from_constant", "(", "machine_mode", "mode", ",", "rtx", "op", ")", "{", "int", "nunits", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "if", "(", "nunits", "<", "2", ")", "return", "nullptr", ";", "if", "(", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", "&&", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "return", "nullptr", ";", "if", "(", "!", "(", "TARGET_AVX2", "||", "(", "TARGET_AVX", "&&", "(", "GET_MODE_INNER", "(", "mode", ")", "==", "SImode", "||", "GET_MODE_INNER", "(", "mode", ")", "==", "DImode", ")", ")", "||", "FLOAT_MODE_P", "(", "mode", ")", ")", "||", "standard_sse_constant_p", "(", "op", ",", "mode", ")", ")", "return", "nullptr", ";", "if", "(", "GET_MODE_INNER", "(", "mode", ")", "==", "DImode", "&&", "!", "TARGET_64BIT", "&&", "(", "!", "TARGET_AVX512F", "||", "(", "GET_MODE_SIZE", "(", "mode", ")", "<", "64", "&&", "!", "TARGET_AVX512VL", ")", ")", ")", "return", "nullptr", ";", "if", "(", "GET_MODE_INNER", "(", "mode", ")", "==", "TImode", ")", "return", "nullptr", ";", "rtx", "constant", "=", "get_pool_constant", "(", "XEXP", "(", "op", ",", "0", ")", ")", ";", "if", "(", "GET_CODE", "(", "constant", ")", "!=", "CONST_VECTOR", ")", "return", "nullptr", ";", "if", "(", "GET_MODE", "(", "constant", ")", "!=", "mode", ")", "{", "constant", "=", "simplify_subreg", "(", "mode", ",", "constant", ",", "GET_MODE", "(", "constant", ")", ",", "0", ")", ";", "if", "(", "constant", "==", "nullptr", "||", "GET_CODE", "(", "constant", ")", "!=", "CONST_VECTOR", ")", "return", "nullptr", ";", "}", "rtx", "first", "=", "XVECEXP", "(", "constant", ",", "0", ",", "0", ")", ";", "for", "(", "int", "i", "=", "1", ";", "i", "<", "nunits", ";", "++", "i", ")", "{", "rtx", "tmp", "=", "XVECEXP", "(", "constant", ",", "0", ",", "i", ")", ";", "if", "(", "!", "rtx_equal_p", "(", "tmp", ",", "first", ")", ")", "return", "nullptr", ";", "}", "return", "first", ";", "}", ""], "natrual_language": ["OP", "is", "a", "memref", "of", "CONST_VECTOR", ",", "return", "scalar", "constant", "mem", "if", "CONST_VECTOR", "is", "a", "vec_duplicate", ",", "else", "return", "NULL", "."], "TS_V_token": ["i386", "2", "64", "0", "0", "0", "0", "1", "0"], "File": "i386-expand", "Func": "ix86_broadcast_from_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37696, "Length": 252}
{"ground_truth": ["", "bool", "ix86_check_builtin_isa_match", "(", "unsigned", "int", "fcode", ",", "HOST_WIDE_INT", "*", "pbisa", ",", "HOST_WIDE_INT", "*", "pbisa2", ")", "{", "HOST_WIDE_INT", "isa", "=", "ix86_isa_flags", ";", "HOST_WIDE_INT", "isa2", "=", "ix86_isa_flags2", ";", "HOST_WIDE_INT", "bisa", "=", "ix86_builtins_isa", "[", "fcode", "]", ".", "isa", ";", "HOST_WIDE_INT", "bisa2", "=", "ix86_builtins_isa", "[", "fcode", "]", ".", "isa2", ";", "if", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_SSE", "|", "OPTION_MASK_ISA_3DNOW_A", ")", ")", "==", "(", "OPTION_MASK_ISA_SSE", "|", "OPTION_MASK_ISA_3DNOW_A", ")", ")", "&&", "(", "isa", "&", "(", "OPTION_MASK_ISA_SSE", "|", "OPTION_MASK_ISA_3DNOW_A", ")", ")", "!=", "0", ")", "isa", "|=", "(", "OPTION_MASK_ISA_SSE", "|", "OPTION_MASK_ISA_3DNOW_A", ")", ";", "if", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_SSE4_2", "|", "OPTION_MASK_ISA_CRC32", ")", ")", "==", "(", "OPTION_MASK_ISA_SSE4_2", "|", "OPTION_MASK_ISA_CRC32", ")", ")", "&&", "(", "isa", "&", "(", "OPTION_MASK_ISA_SSE4_2", "|", "OPTION_MASK_ISA_CRC32", ")", ")", "!=", "0", ")", "isa", "|=", "(", "OPTION_MASK_ISA_SSE4_2", "|", "OPTION_MASK_ISA_CRC32", ")", ";", "if", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_FMA", "|", "OPTION_MASK_ISA_FMA4", ")", ")", "==", "(", "OPTION_MASK_ISA_FMA", "|", "OPTION_MASK_ISA_FMA4", ")", ")", "&&", "(", "isa", "&", "(", "OPTION_MASK_ISA_FMA", "|", "OPTION_MASK_ISA_FMA4", ")", ")", "!=", "0", ")", "isa", "|=", "(", "OPTION_MASK_ISA_FMA", "|", "OPTION_MASK_ISA_FMA4", ")", ";", "if", "(", "(", "(", "(", "bisa", "&", "(", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "==", "(", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "||", "(", "bisa2", "&", "OPTION_MASK_ISA2_AVXVNNI", ")", "!=", "0", ")", "&&", "(", "(", "(", "isa", "&", "(", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "==", "(", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ")", ")", "||", "(", "isa2", "&", "OPTION_MASK_ISA2_AVXVNNI", ")", "!=", "0", ")", ")", "{", "isa", "|=", "OPTION_MASK_ISA_AVX512VNNI", "|", "OPTION_MASK_ISA_AVX512VL", ";", "isa2", "|=", "OPTION_MASK_ISA2_AVXVNNI", ";", "}", "if", "(", "(", "bisa", "&", "OPTION_MASK_ISA_MMX", ")", "&&", "!", "TARGET_MMX", "&&", "TARGET_MMX_WITH_SSE", "&&", "fcode", "!=", "IX86_BUILTIN_MASKMOVQ", ")", "{", "bisa", "&=", "~", "OPTION_MASK_ISA_MMX", ";", "bisa", "|=", "OPTION_MASK_ISA_SSE2", ";", "}", "if", "(", "pbisa", ")", "*", "pbisa", "=", "bisa", ";", "if", "(", "pbisa2", ")", "*", "pbisa2", "=", "bisa2", ";", "return", "(", "bisa", "&", "isa", ")", "==", "bisa", "&&", "(", "bisa2", "&", "isa2", ")", "==", "bisa2", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "necessary", "isa", "options", "for", "this", "builtin", "exist", ",", "else", "false", ".", "fcode", "=", "DECL_MD_FUNCTION_CODE", "(", "fndecl", ")", ";"], "TS_V_token": ["i386", "0", "0", "0", "0", "0"], "File": "i386-expand", "Func": "ix86_check_builtin_isa_match", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37697, "Length": 300}
{"ground_truth": ["", "static", "int", "ix86_cmp_code_to_pcmp_immediate", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ")", "{", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "return", "ix86_fp_cmp_code_to_pcmp_immediate", "(", "code", ")", ";", "return", "ix86_int_cmp_code_to_pcmp_immediate", "(", "code", ")", ";", "}", ""], "natrual_language": ["Return", "immediate", "value", "to", "be", "used", "in", "UNSPEC_PCMP", "for", "comparison", "CODE", "in", "MODE", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_cmp_code_to_pcmp_immediate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37698, "Length": 32}
{"ground_truth": ["", "static", "rtx", "ix86_convert_const_wide_int_to_broadcast", "(", "machine_mode", "mode", ",", "rtx", "op", ")", "{", "if", "(", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", "return", "nullptr", ";", "if", "(", "!", "TARGET_AVX", "||", "!", "CONST_WIDE_INT_P", "(", "op", ")", "||", "standard_sse_constant_p", "(", "op", ",", "mode", ")", ")", "return", "nullptr", ";", "HOST_WIDE_INT", "val", "=", "CONST_WIDE_INT_ELT", "(", "op", ",", "0", ")", ";", "HOST_WIDE_INT", "val_broadcast", ";", "scalar_int_mode", "broadcast_mode", ";", "if", "(", "TARGET_AVX2", "&&", "ix86_broadcast", "(", "val", ",", "GET_MODE_BITSIZE", "(", "QImode", ")", ",", "val_broadcast", ")", ")", "broadcast_mode", "=", "QImode", ";", "else", "if", "(", "TARGET_AVX2", "&&", "ix86_broadcast", "(", "val", ",", "GET_MODE_BITSIZE", "(", "HImode", ")", ",", "val_broadcast", ")", ")", "broadcast_mode", "=", "HImode", ";", "else", "if", "(", "ix86_broadcast", "(", "val", ",", "GET_MODE_BITSIZE", "(", "SImode", ")", ",", "val_broadcast", ")", ")", "broadcast_mode", "=", "SImode", ";", "else", "if", "(", "TARGET_64BIT", "&&", "ix86_broadcast", "(", "val", ",", "GET_MODE_BITSIZE", "(", "DImode", ")", ",", "val_broadcast", ")", ")", "broadcast_mode", "=", "DImode", ";", "else", "return", "nullptr", ";", "for", "(", "int", "i", "=", "1", ";", "i", "<", "CONST_WIDE_INT_NUNITS", "(", "op", ")", ";", "i", "++", ")", "if", "(", "val", "!=", "CONST_WIDE_INT_ELT", "(", "op", ",", "i", ")", ")", "return", "nullptr", ";", "unsigned", "int", "nunits", "=", "(", "GET_MODE_SIZE", "(", "mode", ")", "/", "GET_MODE_SIZE", "(", "broadcast_mode", ")", ")", ";", "machine_mode", "vector_mode", ";", "if", "(", "!", "mode_for_vector", "(", "broadcast_mode", ",", "nunits", ")", ".", "exists", "(", "&", "vector_mode", ")", ")", "gcc_unreachable", "(", ")", ";", "rtx", "target", "=", "ix86_gen_scratch_sse_rtx", "(", "vector_mode", ")", ";", "bool", "ok", "=", "ix86_expand_vector_init_duplicate", "(", "false", ",", "vector_mode", ",", "target", ",", "GEN_INT", "(", "val_broadcast", ")", ")", ";", "gcc_assert", "(", "ok", ")", ";", "target", "=", "lowpart_subreg", "(", "mode", ",", "target", ",", "vector_mode", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Convert", "the", "CONST_WIDE_INT", "operand", "OP", "to", "broadcast", "in", "MODE", "."], "TS_V_token": ["i386", "0", "1"], "File": "i386-expand", "Func": "ix86_convert_const_wide_int_to_broadcast", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37699, "Length": 256}
{"ground_truth": ["", "static", "rtx", "ix86_copy_addr_to_reg", "(", "rtx", "addr", ")", "{", "rtx", "reg", ";", "if", "(", "GET_MODE", "(", "addr", ")", "==", "Pmode", "||", "GET_MODE", "(", "addr", ")", "==", "VOIDmode", ")", "{", "reg", "=", "copy_addr_to_reg", "(", "addr", ")", ";", "REG_POINTER", "(", "reg", ")", "=", "1", ";", "return", "reg", ";", "}", "else", "{", "gcc_assert", "(", "GET_MODE", "(", "addr", ")", "==", "DImode", "&&", "Pmode", "==", "SImode", ")", ";", "reg", "=", "copy_to_mode_reg", "(", "DImode", ",", "addr", ")", ";", "REG_POINTER", "(", "reg", ")", "=", "1", ";", "return", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ";", "}", "}", ""], "natrual_language": ["Copy", "the", "address", "to", "a", "Pmode", "register", ".", "This", "is", "used", "for", "x32", "to", "truncate", "DImode", "TLS", "address", "to", "a", "SImode", "register", "."], "TS_V_token": ["i386", "1", "1", "0"], "File": "i386-expand", "Func": "ix86_copy_addr_to_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37700, "Length": 90}
{"ground_truth": ["", "void", "ix86_emit_binop", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "dst", ",", "rtx", "src", ")", "{", "rtx", "op", ",", "clob", ";", "op", "=", "gen_rtx_SET", "(", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "dst", ",", "src", ")", ")", ";", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "x86", "binary", "operand", "CODE", "in", "mode", "MODE", ",", "where", "the", "first", "operand", "matches", "destination", ".", "RTX", "includes", "clobber", "of", "FLAGS_REG", "."], "TS_V_token": ["i386", "2"], "File": "i386-expand", "Func": "ix86_emit_binop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37701, "Length": 72}
{"ground_truth": ["", "void", "ix86_emit_fp_unordered_jump", "(", "rtx", "label", ")", "{", "rtx", "reg", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx_insn", "*", "insn", ";", "rtx", "temp", ";", "emit_insn", "(", "gen_x86_fnstsw_1", "(", "reg", ")", ")", ";", "if", "(", "TARGET_SAHF", "&&", "(", "TARGET_USE_SAHF", "||", "optimize_insn_for_size_p", "(", ")", ")", ")", "{", "emit_insn", "(", "gen_x86_sahf_1", "(", "reg", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_UNORDERED", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "else", "{", "emit_insn", "(", "gen_testqi_ext_1_ccno", "(", "reg", ",", "GEN_INT", "(", "0x04", ")", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_NE", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "temp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "temp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "insn", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "temp", ")", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "10", "/", "100", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "label", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "conditional", "jump", "to", "LABEL", ",", "if", "C2", "flag", "in", "FP", "status", "register", "is", "set", "."], "TS_V_token": ["i386", "0x04", "10", "100"], "File": "i386-expand", "Func": "ix86_emit_fp_unordered_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37702, "Length": 155}
{"ground_truth": ["", "void", "ix86_emit_i387_acosh", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "e1", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "e2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "cst1", "=", "force_reg", "(", "XFmode", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "op1", ",", "cst1", ")", ")", ";", "emit_insn", "(", "gen_sqrtxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_subxf3", "(", "e1", ",", "op1", ",", "cst1", ")", ")", ";", "emit_insn", "(", "gen_sqrtxf2", "(", "e1", ",", "e1", ")", ")", ";", "emit_insn", "(", "gen_mulxf3", "(", "e1", ",", "e1", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e1", ",", "e1", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_logxf2", "(", "op0", ",", "e1", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "acosh", "XFmode", "calculation", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_emit_i387_acosh", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37703, "Length": 118}
{"ground_truth": ["", "void", "ix86_emit_i387_asinh", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "e1", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "e2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "scratch", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "flags", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "rtx", "cst1", ",", "tmp", ";", "rtx_code_label", "*", "jump_label", "=", "gen_label_rtx", "(", ")", ";", "rtx_insn", "*", "insn", ";", "emit_insn", "(", "gen_mulxf3", "(", "e1", ",", "op1", ",", "op1", ")", ")", ";", "cst1", "=", "force_reg", "(", "XFmode", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "e1", ",", "cst1", ")", ")", ";", "emit_insn", "(", "gen_sqrtxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "e2", ",", "cst1", ")", ")", ";", "emit_insn", "(", "gen_divxf3", "(", "e1", ",", "e1", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_fxamxf2_i387", "(", "scratch", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_absxf2", "(", "e2", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e1", ",", "e1", ",", "e2", ")", ")", ";", "ix86_emit_i387_log1p", "(", "e2", ",", "e1", ")", ";", "emit_insn", "(", "gen_testqi_ext_1_ccno", "(", "scratch", ",", "GEN_INT", "(", "0x02", ")", ")", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "gen_rtx_EQ", "(", "VOIDmode", ",", "flags", ",", "const0_rtx", ")", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "jump_label", ")", ",", "pc_rtx", ")", ";", "insn", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "tmp", ")", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "50", "/", "100", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "jump_label", ";", "emit_insn", "(", "gen_negxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_label", "(", "jump_label", ")", ";", "LABEL_NUSES", "(", "jump_label", ")", "=", "1", ";", "emit_move_insn", "(", "op0", ",", "e2", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "asinh", "XFmode", "calculation", "."], "TS_V_token": ["i386", "0x02", "50", "100", "1"], "File": "i386-expand", "Func": "ix86_emit_i387_asinh", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37704, "Length": 266}
{"ground_truth": ["", "void", "ix86_emit_i387_atanh", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "e1", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "e2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "scratch", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "flags", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "rtx", "half", "=", "const_double_from_real_value", "(", "dconsthalf", ",", "XFmode", ")", ";", "rtx", "cst1", ",", "tmp", ";", "rtx_code_label", "*", "jump_label", "=", "gen_label_rtx", "(", ")", ";", "rtx_insn", "*", "insn", ";", "emit_insn", "(", "gen_fxamxf2_i387", "(", "scratch", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_absxf2", "(", "e2", ",", "op1", ")", ")", ";", "cst1", "=", "force_reg", "(", "XFmode", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e1", ",", "e2", ",", "cst1", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "e2", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_negxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_divxf3", "(", "e1", ",", "e2", ",", "e1", ")", ")", ";", "ix86_emit_i387_log1p", "(", "e2", ",", "e1", ")", ";", "emit_insn", "(", "gen_testqi_ext_1_ccno", "(", "scratch", ",", "GEN_INT", "(", "0x02", ")", ")", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "gen_rtx_NE", "(", "VOIDmode", ",", "flags", ",", "const0_rtx", ")", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "jump_label", ")", ",", "pc_rtx", ")", ";", "insn", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "tmp", ")", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "50", "/", "100", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "jump_label", ";", "emit_insn", "(", "gen_negxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_label", "(", "jump_label", ")", ";", "LABEL_NUSES", "(", "jump_label", ")", "=", "1", ";", "half", "=", "force_reg", "(", "XFmode", ",", "half", ")", ";", "emit_insn", "(", "gen_mulxf3", "(", "op0", ",", "e2", ",", "half", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "atanh", "XFmode", "calculation", "."], "TS_V_token": ["i386", "0x02", "50", "100", "1"], "File": "i386-expand", "Func": "ix86_emit_i387_atanh", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37705, "Length": 266}
{"ground_truth": ["", "void", "ix86_emit_i387_cosh", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "e1", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "e2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "half", "=", "const_double_from_real_value", "(", "dconsthalf", ",", "XFmode", ")", ";", "rtx", "cst1", ";", "emit_insn", "(", "gen_expxf2", "(", "e1", ",", "op1", ")", ")", ";", "cst1", "=", "force_reg", "(", "XFmode", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_divxf3", "(", "e2", ",", "cst1", ",", "e1", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "e1", ",", "e2", ")", ")", ";", "half", "=", "force_reg", "(", "XFmode", ",", "half", ")", ";", "emit_insn", "(", "gen_mulxf3", "(", "op0", ",", "e2", ",", "half", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "cosh", "XFmode", "calculation", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_emit_i387_cosh", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37706, "Length": 107}
{"ground_truth": ["", "void", "ix86_emit_i387_log1p", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx_code_label", "*", "label1", "=", "gen_label_rtx", "(", ")", ";", "rtx_code_label", "*", "label2", "=", "gen_label_rtx", "(", ")", ";", "rtx", "tmp", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "res", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "cst", ",", "cstln2", ",", "cst1", ";", "rtx_insn", "*", "insn", ";", "do_pending_stack_adjust", "(", ")", ";", "cst", "=", "const_double_from_real_value", "(", "REAL_VALUE_ATOF", "(", "\"0.29289321881345247561810596348408353\"", ",", "XFmode", ")", ",", "XFmode", ")", ";", "cstln2", "=", "force_reg", "(", "XFmode", ",", "standard_80387_constant_rtx", "(", "4", ")", ")", ";", "emit_insn", "(", "gen_absxf2", "(", "tmp", ",", "op1", ")", ")", ";", "cst", "=", "force_reg", "(", "XFmode", ",", "cst", ")", ";", "ix86_expand_branch", "(", "GE", ",", "tmp", ",", "cst", ",", "label1", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "10", "/", "100", ")", ";", "insn", "=", "get_last_insn", "(", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "label1", ";", "emit_insn", "(", "gen_fyl2xp1xf3_i387", "(", "res", ",", "op1", ",", "cstln2", ")", ")", ";", "emit_jump", "(", "label2", ")", ";", "emit_label", "(", "label1", ")", ";", "LABEL_NUSES", "(", "label1", ")", "=", "1", ";", "cst1", "=", "force_reg", "(", "XFmode", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_PLUS", "(", "XFmode", ",", "op1", ",", "cst1", ")", ")", ")", ";", "emit_insn", "(", "gen_fyl2xxf3_i387", "(", "res", ",", "tmp", ",", "cstln2", ")", ")", ";", "emit_label", "(", "label2", ")", ";", "LABEL_NUSES", "(", "label2", ")", "=", "1", ";", "emit_move_insn", "(", "op0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "log1p", "XFmode", "calculation", "."], "TS_V_token": ["i386", "\"0.29289321881345247561810596348408353\"", "4", "10", "100", "1", "1"], "File": "i386-expand", "Func": "ix86_emit_i387_log1p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37707, "Length": 225}
{"ground_truth": ["", "void", "ix86_emit_i387_round", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "machine_mode", "inmode", "=", "GET_MODE", "(", "op1", ")", ";", "machine_mode", "outmode", "=", "GET_MODE", "(", "op0", ")", ";", "rtx", "e1", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "e2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "scratch", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "flags", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "rtx", "half", "=", "const_double_from_real_value", "(", "dconsthalf", ",", "XFmode", ")", ";", "rtx", "res", "=", "gen_reg_rtx", "(", "outmode", ")", ";", "rtx_code_label", "*", "jump_label", "=", "gen_label_rtx", "(", ")", ";", "rtx", "(", "*", "floor_insn", ")", "(", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "neg_insn", ")", "(", "rtx", ",", "rtx", ")", ";", "rtx_insn", "*", "insn", ";", "rtx", "tmp", ";", "switch", "(", "inmode", ")", "{", "case", "E_SFmode", ":", "case", "E_DFmode", ":", "tmp", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_FLOAT_EXTEND", "(", "XFmode", ",", "op1", ")", ")", ")", ";", "op1", "=", "tmp", ";", "break", ";", "case", "E_XFmode", ":", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "switch", "(", "outmode", ")", "{", "case", "E_SFmode", ":", "floor_insn", "=", "gen_frndintxf2_floor", ";", "neg_insn", "=", "gen_negsf2", ";", "break", ";", "case", "E_DFmode", ":", "floor_insn", "=", "gen_frndintxf2_floor", ";", "neg_insn", "=", "gen_negdf2", ";", "break", ";", "case", "E_XFmode", ":", "floor_insn", "=", "gen_frndintxf2_floor", ";", "neg_insn", "=", "gen_negxf2", ";", "break", ";", "case", "E_HImode", ":", "floor_insn", "=", "gen_lfloorxfhi2", ";", "neg_insn", "=", "gen_neghi2", ";", "break", ";", "case", "E_SImode", ":", "floor_insn", "=", "gen_lfloorxfsi2", ";", "neg_insn", "=", "gen_negsi2", ";", "break", ";", "case", "E_DImode", ":", "floor_insn", "=", "gen_lfloorxfdi2", ";", "neg_insn", "=", "gen_negdi2", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "emit_insn", "(", "gen_fxamxf2_i387", "(", "scratch", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_absxf2", "(", "e1", ",", "op1", ")", ")", ";", "half", "=", "force_reg", "(", "XFmode", ",", "half", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e2", ",", "gen_rtx_PLUS", "(", "XFmode", ",", "e1", ",", "half", ")", ")", ")", ";", "switch", "(", "outmode", ")", "{", "case", "E_SFmode", ":", "case", "E_DFmode", ":", "{", "tmp", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "emit_insn", "(", "floor_insn", "(", "tmp", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "res", ",", "gen_rtx_UNSPEC", "(", "outmode", ",", "gen_rtvec", "(", "1", ",", "tmp", ")", ",", "UNSPEC_TRUNC_NOOP", ")", ")", ")", ";", "}", "break", ";", "default", ":", "emit_insn", "(", "floor_insn", "(", "res", ",", "e2", ")", ")", ";", "}", "emit_insn", "(", "gen_testqi_ext_1_ccno", "(", "scratch", ",", "GEN_INT", "(", "0x02", ")", ")", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "gen_rtx_EQ", "(", "VOIDmode", ",", "flags", ",", "const0_rtx", ")", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "jump_label", ")", ",", "pc_rtx", ")", ";", "insn", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "tmp", ")", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "50", "/", "100", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "jump_label", ";", "emit_insn", "(", "neg_insn", "(", "res", ",", "res", ")", ")", ";", "emit_label", "(", "jump_label", ")", ";", "LABEL_NUSES", "(", "jump_label", ")", "=", "1", ";", "emit_move_insn", "(", "op0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "for", "round", "calculation", "."], "TS_V_token": ["i386", "1", "0x02", "50", "100", "1"], "File": "i386-expand", "Func": "ix86_emit_i387_round", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37708, "Length": 465}
{"ground_truth": ["", "void", "ix86_emit_i387_sinh", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "e1", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "e2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "scratch", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "flags", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "rtx", "half", "=", "const_double_from_real_value", "(", "dconsthalf", ",", "XFmode", ")", ";", "rtx", "cst1", ",", "tmp", ";", "rtx_code_label", "*", "jump_label", "=", "gen_label_rtx", "(", ")", ";", "rtx_insn", "*", "insn", ";", "emit_insn", "(", "gen_fxamxf2_i387", "(", "scratch", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_absxf2", "(", "e2", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_expm1xf2", "(", "e1", ",", "e2", ")", ")", ";", "cst1", "=", "force_reg", "(", "XFmode", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "e1", ",", "cst1", ")", ")", ";", "emit_insn", "(", "gen_divxf3", "(", "e2", ",", "e1", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "e2", ",", "e1", ")", ")", ";", "emit_insn", "(", "gen_testqi_ext_1_ccno", "(", "scratch", ",", "GEN_INT", "(", "0x02", ")", ")", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "gen_rtx_EQ", "(", "VOIDmode", ",", "flags", ",", "const0_rtx", ")", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "jump_label", ")", ",", "pc_rtx", ")", ";", "insn", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "tmp", ")", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "50", "/", "100", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "jump_label", ";", "emit_insn", "(", "gen_negxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_label", "(", "jump_label", ")", ";", "LABEL_NUSES", "(", "jump_label", ")", "=", "1", ";", "half", "=", "force_reg", "(", "XFmode", ",", "half", ")", ";", "emit_insn", "(", "gen_mulxf3", "(", "op0", ",", "e2", ",", "half", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "sinh", "XFmode", "calculation", "."], "TS_V_token": ["i386", "0x02", "50", "100", "1"], "File": "i386-expand", "Func": "ix86_emit_i387_sinh", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37709, "Length": 259}
{"ground_truth": ["", "void", "ix86_emit_i387_tanh", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "e1", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "e2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "scratch", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "flags", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "rtx", "cst2", ",", "tmp", ";", "rtx_code_label", "*", "jump_label", "=", "gen_label_rtx", "(", ")", ";", "rtx_insn", "*", "insn", ";", "emit_insn", "(", "gen_fxamxf2_i387", "(", "scratch", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "op1", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_absxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_negxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_expm1xf2", "(", "e1", ",", "e2", ")", ")", ";", "cst2", "=", "force_reg", "(", "XFmode", ",", "CONST2_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "e2", ",", "e1", ",", "cst2", ")", ")", ";", "emit_insn", "(", "gen_divxf3", "(", "e2", ",", "e1", ",", "e2", ")", ")", ";", "emit_insn", "(", "gen_testqi_ext_1_ccno", "(", "scratch", ",", "GEN_INT", "(", "0x02", ")", ")", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "gen_rtx_NE", "(", "VOIDmode", ",", "flags", ",", "const0_rtx", ")", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "jump_label", ")", ",", "pc_rtx", ")", ";", "insn", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "tmp", ")", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "50", "/", "100", ")", ";", "JUMP_LABEL", "(", "insn", ")", "=", "jump_label", ";", "emit_insn", "(", "gen_negxf2", "(", "e2", ",", "e2", ")", ")", ";", "emit_label", "(", "jump_label", ")", ";", "LABEL_NUSES", "(", "jump_label", ")", "=", "1", ";", "emit_move_insn", "(", "op0", ",", "e2", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "tanh", "XFmode", "calculation", "."], "TS_V_token": ["i386", "0x02", "50", "100", "1"], "File": "i386-expand", "Func": "ix86_emit_i387_tanh", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37710, "Length": 245}
{"ground_truth": ["", "void", "ix86_emit_swdivsf", "(", "rtx", "res", ",", "rtx", "a", ",", "rtx", "b", ",", "machine_mode", "mode", ")", "{", "rtx", "x0", ",", "x1", ",", "e0", ",", "e1", ";", "x0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "x1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "b", "=", "force_reg", "(", "mode", ",", "b", ")", ";", "if", "(", "mode", "==", "V16SFmode", "||", "mode", "==", "V8DFmode", ")", "{", "if", "(", "TARGET_AVX512ER", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "b", ")", ",", "UNSPEC_RCP28", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "res", ",", "gen_rtx_MULT", "(", "mode", ",", "a", ",", "x0", ")", ")", ")", ";", "return", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "b", ")", ",", "UNSPEC_RCP14", ")", ")", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "b", ")", ",", "UNSPEC_RCP", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e0", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "b", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e0", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "e0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e1", ",", "gen_rtx_PLUS", "(", "mode", ",", "x0", ",", "x0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "x1", ",", "gen_rtx_MINUS", "(", "mode", ",", "e1", ",", "e0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "res", ",", "gen_rtx_MULT", "(", "mode", ",", "a", ",", "x1", ")", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "Newton-Rhapson", "approximation", "of", "a", "single", "precision", "floating", "point", "divide", "[", "http", ":", "//en.wikipedia.org/wiki/N-th_root_algorithm", "]", "."], "TS_V_token": ["i386", "1", "1", "1"], "File": "i386-expand", "Func": "ix86_emit_swdivsf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37711, "Length": 253}
{"ground_truth": ["", "static", "void", "ix86_emit_vec_binop", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "dst", ",", "rtx", "src1", ",", "rtx", "src2", ")", "{", "rtx", "tmp", ";", "tmp", "=", "gen_rtx_SET", "(", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "src1", ",", "src2", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "<=", "GET_MODE_SIZE", "(", "SImode", ")", "&&", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", "{", "rtx", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "tmp", ",", "clob", ")", ")", ";", "}", "emit_insn", "(", "tmp", ")", ";", "}", ""], "natrual_language": ["Emit", "x86", "binary", "operand", "CODE", "in", "mode", "MODE", "for", "SSE", "vector", "instructions", "that", "can", "be", "performed", "using", "GP", "registers", "."], "TS_V_token": ["i386", "2"], "File": "i386-expand", "Func": "ix86_emit_vec_binop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37712, "Length": 100}
{"ground_truth": ["", "static", "rtx", "ix86_erase_embedded_rounding", "(", "rtx", "pat", ")", "{", "if", "(", "GET_CODE", "(", "pat", ")", "==", "INSN", ")", "pat", "=", "PATTERN", "(", "pat", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "pat", ")", "==", "SET", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "pat", ")", ";", "gcc_assert", "(", "XVECLEN", "(", "src", ",", "0", ")", "==", "2", ")", ";", "rtx", "p0", "=", "XVECEXP", "(", "src", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "src", ")", "==", "UNSPEC", "&&", "XINT", "(", "src", ",", "1", ")", "==", "UNSPEC_EMBEDDED_ROUNDING", ")", ";", "rtx", "res", "=", "gen_rtx_SET", "(", "SET_DEST", "(", "pat", ")", ",", "p0", ")", ";", "return", "res", ";", "}", ""], "natrual_language": ["Transform", "pattern", "of", "following", "layout", ":", "(", "parallel", "[", "set", "(", "A", "B", ")", "(", "unspec", "[", "C", "]", "UNSPEC_EMBEDDED_ROUNDING", ")", "]", ")", "]", ")", "into", ":", "(", "set", "(", "A", "B", ")", ")", "Or", ":", "(", "parallel", "[", "A", "B", "...", "(", "unspec", "[", "C", "]", "UNSPEC_EMBEDDED_ROUNDING", ")", "...", "]", ")", "into", ":", "(", "parallel", "[", "A", "B", "...", "]", ")"], "TS_V_token": ["i386", "0", "2", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_erase_embedded_rounding", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37713, "Length": 102}
{"ground_truth": ["", "rtx", "ix86_expand_adjust_ufix_to_sfix_si", "(", "rtx", "val", ",", "rtx", "*", "xorp", ")", "{", "REAL_VALUE_TYPE", "TWO31r", ";", "rtx", "two31r", ",", "tmp", "[", "4", "]", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "val", ")", ";", "machine_mode", "scalarmode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "machine_mode", "intmode", "=", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", "?", "V8SImode", ":", "V4SImode", ";", "rtx", "(", "*", "cmp", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "3", ";", "i", "++", ")", "tmp", "[", "i", "]", "=", "gen_reg_rtx", "(", "mode", ")", ";", "real_ldexp", "(", "&", "TWO31r", ",", "&", "dconst1", ",", "31", ")", ";", "two31r", "=", "const_double_from_real_value", "(", "TWO31r", ",", "scalarmode", ")", ";", "two31r", "=", "ix86_build_const_vector", "(", "mode", ",", "1", ",", "two31r", ")", ";", "two31r", "=", "force_reg", "(", "mode", ",", "two31r", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_V8SFmode", ":", "cmp", "=", "gen_avx_maskcmpv8sf3", ";", "break", ";", "case", "E_V4SFmode", ":", "cmp", "=", "gen_sse_maskcmpv4sf3", ";", "break", ";", "case", "E_V4DFmode", ":", "cmp", "=", "gen_avx_maskcmpv4df3", ";", "break", ";", "case", "E_V2DFmode", ":", "cmp", "=", "gen_sse2_maskcmpv2df3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "tmp", "[", "3", "]", "=", "gen_rtx_LE", "(", "mode", ",", "two31r", ",", "val", ")", ";", "emit_insn", "(", "cmp", "(", "tmp", "[", "0", "]", ",", "two31r", ",", "val", ",", "tmp", "[", "3", "]", ")", ")", ";", "tmp", "[", "1", "]", "=", "expand_simple_binop", "(", "mode", ",", "AND", ",", "tmp", "[", "0", "]", ",", "two31r", ",", "tmp", "[", "1", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "intmode", "==", "V4SImode", "||", "TARGET_AVX2", ")", "*", "xorp", "=", "expand_simple_binop", "(", "intmode", ",", "ASHIFT", ",", "gen_lowpart", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ",", "GEN_INT", "(", "31", ")", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "else", "{", "rtx", "two31", "=", "gen_int_mode", "(", "HOST_WIDE_INT_1U", "<<", "31", ",", "SImode", ")", ";", "two31", "=", "ix86_build_const_vector", "(", "intmode", ",", "1", ",", "two31", ")", ";", "*", "xorp", "=", "expand_simple_binop", "(", "intmode", ",", "AND", ",", "gen_lowpart", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ",", "two31", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "}", "return", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "val", ",", "tmp", "[", "1", "]", ",", "tmp", "[", "2", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "}", ""], "natrual_language": ["Adjust", "a", "V", "*", "SFmode/V", "*", "DFmode", "value", "VAL", "so", "that", "*", "sfix_trunc", "*", "resp", ".", "fix_trunc", "*", "pattern", "can", "be", "used", "on", "it", "instead", "of", "fixuns_trunc", "*", ".", "This", "is", "done", "by", "doing", "just", "signed", "conversion", "if", "<", "0x1p31", ",", "and", "otherwise", "by", "subtracting", "0x1p31", "first", "and", "xoring", "in", "0x80000000", "from", "*", "XORP", "afterwards", "."], "TS_V_token": ["i386", "4", "32", "0", "3", "31", "1", "3", "0", "3", "1", "0", "1", "0", "0", "31", "0", "31", "1", "0", "0", "1", "2", "0"], "File": "i386-expand", "Func": "ix86_expand_adjust_ufix_to_sfix_si", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37714, "Length": 361}
{"ground_truth": ["", "static", "rtx_code_label", "*", "ix86_expand_aligntest", "(", "rtx", "variable", ",", "int", "value", ",", "bool", "epilogue", ")", "{", "rtx_code_label", "*", "label", "=", "gen_label_rtx", "(", ")", ";", "rtx", "tmpcount", "=", "gen_reg_rtx", "(", "GET_MODE", "(", "variable", ")", ")", ";", "if", "(", "GET_MODE", "(", "variable", ")", "==", "DImode", ")", "emit_insn", "(", "gen_anddi3", "(", "tmpcount", ",", "variable", ",", "GEN_INT", "(", "value", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_andsi3", "(", "tmpcount", ",", "variable", ",", "GEN_INT", "(", "value", ")", ")", ")", ";", "emit_cmp_and_jump_insns", "(", "tmpcount", ",", "const0_rtx", ",", "EQ", ",", "0", ",", "GET_MODE", "(", "variable", ")", ",", "1", ",", "label", ")", ";", "if", "(", "epilogue", ")", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "50", "/", "100", ")", ";", "else", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "90", "/", "100", ")", ";", "return", "label", ";", "}", ""], "natrual_language": ["Helper", "function", "for", "the", "string", "operations", "below", ".", "Dest", "VARIABLE", "whether", "it", "is", "aligned", "to", "VALUE", "bytes", ".", "If", "true", ",", "jump", "to", "the", "label", "."], "TS_V_token": ["i386", "0", "1", "50", "100", "90", "100"], "File": "i386-expand", "Func": "ix86_expand_aligntest", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37715, "Length": 121}
{"ground_truth": ["", "static", "void", "ix86_expand_ashl_const", "(", "rtx", "operand", ",", "int", "count", ",", "machine_mode", "mode", ")", "{", "if", "(", "count", "==", "1", "||", "(", "count", "*", "ix86_cost", "->", "add", "<=", "ix86_cost", "->", "shift_const", "&&", "!", "optimize_insn_for_size_p", "(", ")", ")", ")", "{", "while", "(", "count", "--", ">", "0", ")", "emit_insn", "(", "gen_add2_insn", "(", "operand", ",", "operand", ")", ")", ";", "}", "else", "{", "rtx", "(", "*", "insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "insn", "=", "mode", "==", "DImode", "?", "gen_ashlsi3", ":", "gen_ashldi3", ";", "emit_insn", "(", "insn", "(", "operand", ",", "operand", ",", "GEN_INT", "(", "count", ")", ")", ")", ";", "}", "}", ""], "natrual_language": ["Helper", "function", "of", "ix86_split_ashl", "used", "to", "generate", "an", "SImode/DImode", "left", "shift", "by", "a", "constant", ",", "either", "using", "a", "single", "shift", "or", "a", "sequence", "of", "add", "instructions", "."], "TS_V_token": ["i386", "1", "0"], "File": "i386-expand", "Func": "ix86_expand_ashl_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37716, "Length": 98}
{"ground_truth": ["", "void", "ix86_expand_binary_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "src1", ",", "src2", ",", "dst", ",", "op", ",", "clob", ";", "dst", "=", "ix86_fixup_binary_operands", "(", "code", ",", "mode", ",", "operands", ")", ";", "src1", "=", "operands", "[", "1", "]", ";", "src2", "=", "operands", "[", "2", "]", ";", "op", "=", "gen_rtx_SET", "(", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "src1", ",", "src2", ")", ")", ";", "if", "(", "reload_completed", "&&", "code", "==", "PLUS", "&&", "!", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "{", "emit_insn", "(", "op", ")", ";", "}", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", "if", "(", "dst", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "dst", ")", ";", "}", ""], "natrual_language": ["Attempt", "to", "expand", "a", "binary", "operator", ".", "Make", "the", "expansion", "closer", "to", "the", "actual", "machine", ",", "then", "just", "general_operand", ",", "which", "will", "allow", "3", "separate", "memory", "references", "(", "one", "output", ",", "two", "input", ")", "in", "a", "single", "insn", "."], "TS_V_token": ["i386", "1", "2", "2", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_binary_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37717, "Length": 147}
{"ground_truth": ["", "static", "rtx", "ix86_expand_binop_builtin", "(", "enum", "insn_code", "icode", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "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", "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", "(", "optimize", "||", "!", "target", "||", "GET_MODE", "(", "target", ")", "!=", "tmode", "||", "!", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "if", "(", "GET_MODE", "(", "op1", ")", "==", "SImode", "&&", "mode1", "==", "TImode", ")", "{", "rtx", "x", "=", "gen_reg_rtx", "(", "V4SImode", ")", ";", "emit_insn", "(", "gen_sse2_loadd", "(", "x", ",", "op1", ")", ")", ";", "op1", "=", "gen_lowpart", "(", "TImode", ",", "x", ")", ";", "}", "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", ")", ";", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "target", ",", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "binop", "insns", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "2", "0", "1", "2", "0"], "File": "i386-expand", "Func": "ix86_expand_binop_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37718, "Length": 301}
{"ground_truth": ["", "void", "ix86_expand_clear", "(", "rtx", "dest", ")", "{", "rtx", "tmp", ";", "gcc_assert", "(", "reload_completed", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "GET_MODE", "(", "dest", ")", ")", "<", "4", ")", "dest", "=", "gen_rtx_REG", "(", "SImode", ",", "REGNO", "(", "dest", ")", ")", ";", "tmp", "=", "gen_rtx_SET", "(", "dest", ",", "const0_rtx", ")", ";", "if", "(", "!", "TARGET_USE_MOV0", "||", "optimize_insn_for_size_p", "(", ")", ")", "{", "rtx", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "tmp", ",", "clob", ")", ")", ";", "}", "emit_insn", "(", "tmp", ")", ";", "}", ""], "natrual_language": ["Generate", "either", "``", "mov", "$", "0", ",", "reg", "''", "or", "``", "xor", "reg", ",", "reg", "''", ",", "as", "appropriate", "for", "the", "target", "."], "TS_V_token": ["i386", "4", "2"], "File": "i386-expand", "Func": "ix86_expand_clear", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37719, "Length": 96}
{"ground_truth": ["", "bool", "ix86_expand_cmpstrn_or_cmpmem", "(", "rtx", "result", ",", "rtx", "src1", ",", "rtx", "src2", ",", "rtx", "length", ",", "rtx", "align", ",", "bool", "is_cmpstrn", ")", "{", "if", "(", "!", "TARGET_INLINE_ALL_STRINGOPS", ")", "return", "false", ";", "if", "(", "fixed_regs", "[", "CX_REG", "]", "||", "fixed_regs", "[", "SI_REG", "]", "||", "fixed_regs", "[", "DI_REG", "]", ")", "return", "false", ";", "if", "(", "is_cmpstrn", ")", "{", "tree", "t1", "=", "MEM_EXPR", "(", "src1", ")", ";", "tree", "t2", "=", "MEM_EXPR", "(", "src2", ")", ";", "if", "(", "!", "(", "(", "t1", "&&", "TREE_CODE", "(", "t1", ")", "==", "MEM_REF", "&&", "TREE_CODE", "(", "TREE_OPERAND", "(", "t1", ",", "0", ")", ")", "==", "ADDR_EXPR", "&&", "(", "TREE_CODE", "(", "TREE_OPERAND", "(", "TREE_OPERAND", "(", "t1", ",", "0", ")", ",", "0", ")", ")", "==", "STRING_CST", ")", ")", "||", "(", "t2", "&&", "TREE_CODE", "(", "t2", ")", "==", "MEM_REF", "&&", "TREE_CODE", "(", "TREE_OPERAND", "(", "t2", ",", "0", ")", ")", "==", "ADDR_EXPR", "&&", "(", "TREE_CODE", "(", "TREE_OPERAND", "(", "TREE_OPERAND", "(", "t2", ",", "0", ")", ",", "0", ")", ")", "==", "STRING_CST", ")", ")", ")", ")", "return", "false", ";", "}", "rtx", "addr1", "=", "copy_addr_to_reg", "(", "XEXP", "(", "src1", ",", "0", ")", ")", ";", "rtx", "addr2", "=", "copy_addr_to_reg", "(", "XEXP", "(", "src2", ",", "0", ")", ")", ";", "if", "(", "addr1", "!=", "XEXP", "(", "src1", ",", "0", ")", ")", "src1", "=", "replace_equiv_address_nv", "(", "src1", ",", "addr1", ")", ";", "if", "(", "addr2", "!=", "XEXP", "(", "src2", ",", "0", ")", ")", "src2", "=", "replace_equiv_address_nv", "(", "src2", ",", "addr2", ")", ";", "length", "=", "ix86_zero_extend_to_Pmode", "(", "length", ")", ";", "rtx", "lengthreg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "emit_move_insn", "(", "lengthreg", ",", "length", ")", ";", "if", "(", "CONST_INT_P", "(", "length", ")", ")", "{", "if", "(", "length", "==", "const0_rtx", ")", "{", "emit_move_insn", "(", "result", ",", "const0_rtx", ")", ";", "return", "true", ";", "}", "emit_insn", "(", "gen_cmpstrnqi_nz_1", "(", "addr1", ",", "addr2", ",", "lengthreg", ",", "align", ",", "src1", ",", "src2", ")", ")", ";", "}", "else", "{", "emit_insn", "(", "gen_cmp_1", "(", "Pmode", ",", "lengthreg", ",", "lengthreg", ")", ")", ";", "emit_insn", "(", "gen_cmpstrnqi_1", "(", "addr1", ",", "addr2", ",", "lengthreg", ",", "align", ",", "src1", ",", "src2", ")", ")", ";", "}", "rtx", "out", "=", "gen_lowpart", "(", "QImode", ",", "result", ")", ";", "emit_insn", "(", "gen_cmpintqi", "(", "out", ")", ")", ";", "emit_move_insn", "(", "result", ",", "gen_rtx_SIGN_EXTEND", "(", "SImode", ",", "out", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "cmpstrn", "or", "memcmp", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_cmpstrn_or_cmpmem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37720, "Length": 364}
{"ground_truth": ["", "void", "ix86_expand_convert_sign_didf_sse", "(", "rtx", "target", ",", "rtx", "input", ")", "{", "REAL_VALUE_TYPE", "TWO32r", ";", "rtx", "fp_lo", ",", "fp_hi", ",", "x", ";", "fp_lo", "=", "gen_reg_rtx", "(", "DFmode", ")", ";", "fp_hi", "=", "gen_reg_rtx", "(", "DFmode", ")", ";", "emit_insn", "(", "gen_floatsidf2", "(", "fp_hi", ",", "gen_highpart", "(", "SImode", ",", "input", ")", ")", ")", ";", "real_ldexp", "(", "&", "TWO32r", ",", "&", "dconst1", ",", "32", ")", ";", "x", "=", "const_double_from_real_value", "(", "TWO32r", ",", "DFmode", ")", ";", "fp_hi", "=", "expand_simple_binop", "(", "DFmode", ",", "MULT", ",", "fp_hi", ",", "x", ",", "fp_hi", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "ix86_expand_convert_uns_sidf_sse", "(", "fp_lo", ",", "gen_lowpart", "(", "SImode", ",", "input", ")", ")", ";", "x", "=", "expand_simple_binop", "(", "DFmode", ",", "PLUS", ",", "fp_hi", ",", "fp_lo", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "x", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "x", ")", ";", "}", ""], "natrual_language": ["Convert", "a", "signed", "DImode", "value", "into", "a", "DFmode", ".", "Only", "used", "for", "SSE", "in", "32-bit", "mode", ";", "otherwise", "we", "have", "a", "direct", "convert", "instruction", "."], "TS_V_token": ["i386", "32", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_convert_sign_didf_sse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37721, "Length": 133}
{"ground_truth": ["", "void", "ix86_expand_convert_uns_didf_sse", "(", "rtx", "target", ",", "rtx", "input", ")", "{", "REAL_VALUE_TYPE", "bias_lo_rvt", ",", "bias_hi_rvt", ";", "rtx", "int_xmm", ",", "fp_xmm", ";", "rtx", "biases", ",", "exponents", ";", "rtx", "x", ";", "int_xmm", "=", "gen_reg_rtx", "(", "V4SImode", ")", ";", "if", "(", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", "emit_insn", "(", "gen_movdi_to_sse", "(", "int_xmm", ",", "input", ")", ")", ";", "else", "if", "(", "TARGET_SSE_SPLIT_REGS", ")", "{", "emit_clobber", "(", "int_xmm", ")", ";", "emit_move_insn", "(", "gen_lowpart", "(", "DImode", ",", "int_xmm", ")", ",", "input", ")", ";", "}", "else", "{", "x", "=", "gen_reg_rtx", "(", "V2DImode", ")", ";", "ix86_expand_vector_init_one_nonzero", "(", "false", ",", "V2DImode", ",", "x", ",", "input", ",", "0", ")", ";", "emit_move_insn", "(", "int_xmm", ",", "gen_lowpart", "(", "V4SImode", ",", "x", ")", ")", ";", "}", "x", "=", "gen_rtx_CONST_VECTOR", "(", "V4SImode", ",", "gen_rtvec", "(", "4", ",", "GEN_INT", "(", "0x43300000UL", ")", ",", "GEN_INT", "(", "0x45300000UL", ")", ",", "const0_rtx", ",", "const0_rtx", ")", ")", ";", "exponents", "=", "validize_mem", "(", "force_const_mem", "(", "V4SImode", ",", "x", ")", ")", ";", "emit_insn", "(", "gen_vec_interleave_lowv4si", "(", "int_xmm", ",", "int_xmm", ",", "exponents", ")", ")", ";", "fp_xmm", "=", "copy_to_mode_reg", "(", "V2DFmode", ",", "gen_lowpart", "(", "V2DFmode", ",", "int_xmm", ")", ")", ";", "real_ldexp", "(", "&", "bias_lo_rvt", ",", "&", "dconst1", ",", "52", ")", ";", "real_ldexp", "(", "&", "bias_hi_rvt", ",", "&", "dconst1", ",", "84", ")", ";", "biases", "=", "const_double_from_real_value", "(", "bias_lo_rvt", ",", "DFmode", ")", ";", "x", "=", "const_double_from_real_value", "(", "bias_hi_rvt", ",", "DFmode", ")", ";", "biases", "=", "gen_rtx_CONST_VECTOR", "(", "V2DFmode", ",", "gen_rtvec", "(", "2", ",", "biases", ",", "x", ")", ")", ";", "biases", "=", "validize_mem", "(", "force_const_mem", "(", "V2DFmode", ",", "biases", ")", ")", ";", "emit_insn", "(", "gen_subv2df3", "(", "fp_xmm", ",", "fp_xmm", ",", "biases", ")", ")", ";", "if", "(", "TARGET_SSE3", ")", "emit_insn", "(", "gen_sse3_haddv2df3", "(", "fp_xmm", ",", "fp_xmm", ",", "fp_xmm", ")", ")", ";", "else", "{", "x", "=", "copy_to_mode_reg", "(", "V2DFmode", ",", "fp_xmm", ")", ";", "emit_insn", "(", "gen_vec_interleave_highv2df", "(", "fp_xmm", ",", "fp_xmm", ",", "fp_xmm", ")", ")", ";", "emit_insn", "(", "gen_addv2df3", "(", "fp_xmm", ",", "fp_xmm", ",", "x", ")", ")", ";", "}", "ix86_expand_vector_extract", "(", "false", ",", "target", ",", "fp_xmm", ",", "0", ")", ";", "}", ""], "natrual_language": ["Convert", "an", "unsigned", "DImode", "value", "into", "a", "DFmode", ",", "using", "only", "SSE", ".", "Expects", "the", "64-bit", "DImode", "to", "be", "supplied", "in", "a", "pair", "of", "integral", "registers", ".", "Requires", "SSE2", ";", "will", "use", "SSE3", "if", "available", ".", "For", "x86_32", ",", "-mfpmath=sse", ",", "!", "optimize_size", "only", "."], "TS_V_token": ["i386", "0", "4", "0x43300000UL", "0x45300000UL", "52", "84", "2", "0"], "File": "i386-expand", "Func": "ix86_expand_convert_uns_didf_sse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37722, "Length": 316}
{"ground_truth": ["", "void", "ix86_expand_convert_uns_sidf_sse", "(", "rtx", "target", ",", "rtx", "input", ")", "{", "REAL_VALUE_TYPE", "TWO31r", ";", "rtx", "x", ",", "fp", ";", "x", "=", "expand_simple_binop", "(", "SImode", ",", "PLUS", ",", "input", ",", "GEN_INT", "(", "-", "2147483647", "-", "1", ")", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "fp", "=", "gen_reg_rtx", "(", "DFmode", ")", ";", "emit_insn", "(", "gen_floatsidf2", "(", "fp", ",", "x", ")", ")", ";", "real_ldexp", "(", "&", "TWO31r", ",", "&", "dconst1", ",", "31", ")", ";", "x", "=", "const_double_from_real_value", "(", "TWO31r", ",", "DFmode", ")", ";", "x", "=", "expand_simple_binop", "(", "DFmode", ",", "PLUS", ",", "fp", ",", "x", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "HONOR_SIGNED_ZEROS", "(", "DFmode", ")", "&&", "flag_rounding_math", ")", "x", "=", "ix86_expand_sse_fabs", "(", "x", ",", "NULL", ")", ";", "if", "(", "x", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "x", ")", ";", "}", ""], "natrual_language": ["Convert", "an", "unsigned", "SImode", "value", "into", "a", "DFmode", ".", "Only", "currently", "used", "for", "SSE", ",", "but", "applicable", "anywhere", "."], "TS_V_token": ["i386", "2147483647", "1", "1", "31", "0"], "File": "i386-expand", "Func": "ix86_expand_convert_uns_sidf_sse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37723, "Length": 131}
{"ground_truth": ["", "void", "ix86_expand_convert_uns_sisf_sse", "(", "rtx", "target", ",", "rtx", "input", ")", "{", "REAL_VALUE_TYPE", "ONE16r", ";", "rtx", "fp_hi", ",", "fp_lo", ",", "int_hi", ",", "int_lo", ",", "x", ";", "real_ldexp", "(", "&", "ONE16r", ",", "&", "dconst1", ",", "16", ")", ";", "x", "=", "const_double_from_real_value", "(", "ONE16r", ",", "SFmode", ")", ";", "int_lo", "=", "expand_simple_binop", "(", "SImode", ",", "AND", ",", "input", ",", "GEN_INT", "(", "0xffff", ")", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "int_hi", "=", "expand_simple_binop", "(", "SImode", ",", "LSHIFTRT", ",", "input", ",", "GEN_INT", "(", "16", ")", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "fp_hi", "=", "gen_reg_rtx", "(", "SFmode", ")", ";", "fp_lo", "=", "gen_reg_rtx", "(", "SFmode", ")", ";", "emit_insn", "(", "gen_floatsisf2", "(", "fp_hi", ",", "int_hi", ")", ")", ";", "emit_insn", "(", "gen_floatsisf2", "(", "fp_lo", ",", "int_lo", ")", ")", ";", "if", "(", "TARGET_FMA", ")", "{", "x", "=", "validize_mem", "(", "force_const_mem", "(", "SFmode", ",", "x", ")", ")", ";", "fp_hi", "=", "gen_rtx_FMA", "(", "SFmode", ",", "fp_hi", ",", "x", ",", "fp_lo", ")", ";", "emit_move_insn", "(", "target", ",", "fp_hi", ")", ";", "}", "else", "{", "fp_hi", "=", "expand_simple_binop", "(", "SFmode", ",", "MULT", ",", "fp_hi", ",", "x", ",", "fp_hi", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "fp_hi", "=", "expand_simple_binop", "(", "SFmode", ",", "PLUS", ",", "fp_hi", ",", "fp_lo", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "!", "rtx_equal_p", "(", "target", ",", "fp_hi", ")", ")", "emit_move_insn", "(", "target", ",", "fp_hi", ")", ";", "}", "}", ""], "natrual_language": ["Convert", "an", "unsigned", "SImode", "value", "into", "a", "SFmode", ",", "using", "only", "SSE", ".", "For", "x86_32", ",", "-mfpmath=sse", ",", "!", "optimize_size", "only", "."], "TS_V_token": ["i386", "16", "0xffff", "0", "16", "0", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_convert_uns_sisf_sse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37724, "Length": 219}
{"ground_truth": ["", "void", "ix86_expand_convert_uns_sixf_sse", "(", "rtx", ",", "rtx", ")", "{", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Not", "used", ",", "but", "eases", "macroization", "of", "patterns", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_expand_convert_uns_sixf_sse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37725, "Length": 13}
{"ground_truth": ["", "void", "ix86_expand_copysign", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "vdest", ",", "op0", ",", "op1", ",", "mask", ",", "op2", ",", "op3", ";", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "if", "(", "mode", "==", "HFmode", ")", "vmode", "=", "V8HFmode", ";", "else", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "else", "if", "(", "mode", "==", "TFmode", ")", "vmode", "=", "mode", ";", "else", "gcc_unreachable", "(", ")", ";", "if", "(", "rtx_equal_p", "(", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ")", "{", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "operands", "[", "1", "]", ")", ";", "return", ";", "}", "dest", "=", "operands", "[", "0", "]", ";", "vdest", "=", "lowpart_subreg", "(", "vmode", ",", "dest", ",", "mode", ")", ";", "if", "(", "vdest", "==", "NULL_RTX", ")", "vdest", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "else", "dest", "=", "NULL_RTX", ";", "op1", "=", "lowpart_subreg", "(", "vmode", ",", "force_reg", "(", "mode", ",", "operands", "[", "2", "]", ")", ",", "mode", ")", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "0", ")", ";", "if", "(", "CONST_DOUBLE_P", "(", "operands", "[", "1", "]", ")", ")", "{", "op0", "=", "simplify_unary_operation", "(", "ABS", ",", "mode", ",", "operands", "[", "1", "]", ",", "mode", ")", ";", "if", "(", "op0", "==", "CONST0_RTX", "(", "mode", ")", ")", "{", "emit_move_insn", "(", "vdest", ",", "gen_rtx_AND", "(", "vmode", ",", "mask", ",", "op1", ")", ")", ";", "if", "(", "dest", ")", "emit_move_insn", "(", "dest", ",", "lowpart_subreg", "(", "mode", ",", "vdest", ",", "vmode", ")", ")", ";", "return", ";", "}", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "<", "16", ")", "op0", "=", "ix86_build_const_vector", "(", "vmode", ",", "false", ",", "op0", ")", ";", "op0", "=", "force_reg", "(", "vmode", ",", "op0", ")", ";", "}", "else", "op0", "=", "lowpart_subreg", "(", "vmode", ",", "force_reg", "(", "mode", ",", "operands", "[", "1", "]", ")", ",", "mode", ")", ";", "op2", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "op3", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "emit_move_insn", "(", "op2", ",", "gen_rtx_AND", "(", "vmode", ",", "gen_rtx_NOT", "(", "vmode", ",", "mask", ")", ",", "op0", ")", ")", ";", "emit_move_insn", "(", "op3", ",", "gen_rtx_AND", "(", "vmode", ",", "mask", ",", "op1", ")", ")", ";", "emit_move_insn", "(", "vdest", ",", "gen_rtx_IOR", "(", "vmode", ",", "op2", ",", "op3", ")", ")", ";", "if", "(", "dest", ")", "emit_move_insn", "(", "dest", ",", "lowpart_subreg", "(", "mode", ",", "vdest", ",", "vmode", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "a", "copysign", "operation", ".", "Special", "case", "operand", "0", "being", "a", "constant", "."], "TS_V_token": ["i386", "0", "1", "2", "0", "1", "0", "2", "0", "0", "1", "1", "16", "1"], "File": "i386-expand", "Func": "ix86_expand_copysign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37726, "Length": 387}
{"ground_truth": ["", "void", "ix86_expand_divmod_libfunc", "(", "rtx", "libfunc", ",", "machine_mode", "mode", ",", "rtx", "op0", ",", "rtx", "op1", ",", "rtx", "*", "quot_p", ",", "rtx", "*", "rem_p", ")", "{", "rtx", "rem", "=", "assign_386_stack_local", "(", "mode", ",", "SLOT_TEMP", ")", ";", "rtx", "quot", "=", "emit_library_call_value", "(", "libfunc", ",", "NULL_RTX", ",", "LCT_NORMAL", ",", "mode", ",", "op0", ",", "mode", ",", "op1", ",", "mode", ",", "XEXP", "(", "rem", ",", "0", ")", ",", "Pmode", ")", ";", "*", "quot_p", "=", "quot", ";", "*", "rem_p", "=", "rem", ";", "}", ""], "natrual_language": ["Generate", "call", "to", "__divmoddi4", "."], "TS_V_token": ["i386", "0"], "File": "i386-expand", "Func": "ix86_expand_divmod_libfunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37727, "Length": 76}
{"ground_truth": ["", "void", "ix86_expand_floorceil", "(", "rtx", "operand0", ",", "rtx", "operand1", ",", "bool", "do_floor", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "xi", ",", "TWO52", ",", "tmp", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "copy_to_reg", "(", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xi", "=", "gen_reg_rtx", "(", "int_mode_for_mode", "(", "mode", ")", ".", "require", "(", ")", ")", ";", "expand_fix", "(", "xi", ",", "res", ",", "0", ")", ";", "expand_float", "(", "xa", ",", "xi", ",", "0", ")", ";", "one", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "dconst1", ",", "mode", ")", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "xa", ",", "res", ",", "!", "do_floor", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "do_floor", "?", "MINUS", ":", "PLUS", ",", "xa", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "HONOR_SIGNED_ZEROS", "(", "mode", ")", ")", "{", "if", "(", "do_floor", "&&", "flag_rounding_math", ")", "tmp", "=", "ix86_expand_sse_fabs", "(", "tmp", ",", "NULL", ")", ";", "ix86_sse_copysign_to_positive", "(", "tmp", ",", "tmp", ",", "res", ",", "mask", ")", ";", "}", "emit_move_insn", "(", "res", ",", "tmp", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE2", "sequence", "for", "computing", "floor", "or", "ceil", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_floorceil", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37728, "Length": 239}
{"ground_truth": ["", "void", "ix86_expand_floorceildf_32", "(", "rtx", "operand0", ",", "rtx", "operand1", ",", "bool", "do_floor", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "TWO52", ",", "tmp", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "copy_to_reg", "(", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa", ",", "TWO52", ",", "xa", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "ix86_sse_copysign_to_positive", "(", "xa", ",", "xa", ",", "res", ",", "mask", ")", ";", "one", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "dconst1", ",", "mode", ")", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "xa", ",", "res", ",", "!", "do_floor", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "do_floor", "?", "MINUS", ":", "PLUS", ",", "xa", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "HONOR_SIGNED_ZEROS", "(", "mode", ")", ")", "{", "if", "(", "do_floor", "&&", "flag_rounding_math", ")", "tmp", "=", "ix86_expand_sse_fabs", "(", "tmp", ",", "NULL", ")", ";", "ix86_sse_copysign_to_positive", "(", "tmp", ",", "tmp", ",", "res", ",", "mask", ")", ";", "}", "emit_move_insn", "(", "res", ",", "tmp", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE2", "sequence", "for", "computing", "floor", "or", "ceil", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_floorceildf_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37729, "Length": 254}
{"ground_truth": ["", "void", "ix86_expand_fp_absneg_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "set", ",", "dst", ",", "src", ";", "bool", "use_sse", "=", "false", ";", "bool", "vector_mode", "=", "VECTOR_MODE_P", "(", "mode", ")", ";", "machine_mode", "vmode", "=", "mode", ";", "rtvec", "par", ";", "if", "(", "vector_mode", "||", "mode", "==", "TFmode", "||", "mode", "==", "HFmode", ")", "{", "use_sse", "=", "true", ";", "if", "(", "mode", "==", "HFmode", ")", "vmode", "=", "V8HFmode", ";", "}", "else", "if", "(", "TARGET_SSE_MATH", ")", "{", "use_sse", "=", "SSE_FLOAT_MODE_P", "(", "mode", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "}", "dst", "=", "operands", "[", "0", "]", ";", "src", "=", "operands", "[", "1", "]", ";", "set", "=", "gen_rtx_fmt_e", "(", "code", ",", "mode", ",", "src", ")", ";", "set", "=", "gen_rtx_SET", "(", "dst", ",", "set", ")", ";", "if", "(", "use_sse", ")", "{", "rtx", "mask", ",", "use", ",", "clob", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "vector_mode", ",", "code", "==", "ABS", ")", ";", "use", "=", "gen_rtx_USE", "(", "VOIDmode", ",", "mask", ")", ";", "if", "(", "vector_mode", "||", "mode", "==", "TFmode", ")", "par", "=", "gen_rtvec", "(", "2", ",", "set", ",", "use", ")", ";", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "par", "=", "gen_rtvec", "(", "3", ",", "set", ",", "use", ",", "clob", ")", ";", "}", "}", "else", "{", "rtx", "clob", ";", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "par", "=", "gen_rtvec", "(", "2", ",", "set", ",", "clob", ")", ";", "}", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "par", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "code", "for", "floating", "point", "ABS", "or", "NEG", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "2"], "File": "i386-expand", "Func": "ix86_expand_fp_absneg_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37730, "Length": 267}
{"ground_truth": ["", "bool", "ix86_expand_fp_movcc", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "tmp", ",", "compare_op", ";", "rtx", "op0", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ";", "rtx", "op1", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "1", ")", ";", "if", "(", "SSE_FLOAT_MODE_SSEMATH_OR_HF_P", "(", "mode", ")", ")", "{", "machine_mode", "cmode", ";", "cmode", "=", "GET_MODE", "(", "op0", ")", ";", "if", "(", "cmode", "==", "VOIDmode", ")", "cmode", "=", "GET_MODE", "(", "op1", ")", ";", "if", "(", "cmode", "!=", "mode", ")", "return", "false", ";", "code", "=", "ix86_prepare_sse_fp_compare_args", "(", "operands", "[", "0", "]", ",", "code", ",", "&", "op0", ",", "&", "op1", ")", ";", "if", "(", "code", "==", "UNKNOWN", ")", "return", "false", ";", "if", "(", "ix86_expand_sse_fp_minmax", "(", "operands", "[", "0", "]", ",", "code", ",", "op0", ",", "op1", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ")", "return", "true", ";", "tmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "op0", ",", "op1", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "tmp", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ";", "return", "true", ";", "}", "if", "(", "GET_MODE", "(", "op0", ")", "==", "TImode", "||", "(", "GET_MODE", "(", "op0", ")", "==", "DImode", "&&", "!", "TARGET_64BIT", ")", ")", "return", "false", ";", "compare_op", "=", "ix86_expand_compare", "(", "code", ",", "op0", ",", "op1", ")", ";", "if", "(", "!", "fcmov_comparison_operator", "(", "compare_op", ",", "VOIDmode", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "QImode", ")", ";", "ix86_expand_setcc", "(", "tmp", ",", "code", ",", "op0", ",", "op1", ")", ";", "compare_op", "=", "ix86_expand_compare", "(", "NE", ",", "tmp", ",", "const0_rtx", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "operands", "[", "0", "]", ",", "gen_rtx_IF_THEN_ELSE", "(", "mode", ",", "compare_op", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "floating-point", "conditional", "move", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "1", "1", "0", "1", "1", "0", "0", "2", "3", "0", "2", "3", "0", "2", "3", "0", "2", "3"], "File": "i386-expand", "Func": "ix86_expand_fp_movcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37731, "Length": 317}
{"ground_truth": ["", "bool", "ix86_expand_fp_vcond", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "3", "]", ")", ";", "rtx", "cmp", ";", "code", "=", "ix86_prepare_sse_fp_compare_args", "(", "operands", "[", "0", "]", ",", "code", ",", "&", "operands", "[", "4", "]", ",", "&", "operands", "[", "5", "]", ")", ";", "if", "(", "code", "==", "UNKNOWN", ")", "{", "rtx", "temp", ";", "switch", "(", "GET_CODE", "(", "operands", "[", "3", "]", ")", ")", "{", "case", "LTGT", ":", "temp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "ORDERED", ",", "operands", "[", "4", "]", ",", "operands", "[", "5", "]", ",", "operands", "[", "0", "]", ",", "operands", "[", "0", "]", ")", ";", "cmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "NE", ",", "operands", "[", "4", "]", ",", "operands", "[", "5", "]", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ";", "code", "=", "AND", ";", "break", ";", "case", "UNEQ", ":", "temp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "UNORDERED", ",", "operands", "[", "4", "]", ",", "operands", "[", "5", "]", ",", "operands", "[", "0", "]", ",", "operands", "[", "0", "]", ")", ";", "cmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "EQ", ",", "operands", "[", "4", "]", ",", "operands", "[", "5", "]", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ";", "code", "=", "IOR", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "cmp", "=", "expand_simple_binop", "(", "GET_MODE", "(", "cmp", ")", ",", "code", ",", "temp", ",", "cmp", ",", "cmp", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "cmp", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ";", "return", "true", ";", "}", "if", "(", "ix86_expand_sse_fp_minmax", "(", "operands", "[", "0", "]", ",", "code", ",", "operands", "[", "4", "]", ",", "operands", "[", "5", "]", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ")", "return", "true", ";", "cmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "operands", "[", "4", "]", ",", "operands", "[", "5", "]", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "cmp", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "floating-point", "vector", "conditional", "move", ";", "a", "vcond", "operation", "rather", "than", "a", "movcc", "operation", "."], "TS_V_token": ["i386", "3", "0", "4", "5", "3", "0", "4", "5", "0", "0", "0", "4", "5", "1", "2", "0", "4", "5", "0", "0", "0", "4", "5", "1", "2", "1", "0", "1", "2", "0", "4", "5", "1", "2", "0", "4", "5", "1", "2", "0", "1", "2"], "File": "i386-expand", "Func": "ix86_expand_fp_vcond", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37732, "Length": 359}
{"ground_truth": ["", "bool", "ix86_expand_fp_vec_cmp", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "cmp", ";", "code", "=", "ix86_prepare_sse_fp_compare_args", "(", "operands", "[", "0", "]", ",", "code", ",", "&", "operands", "[", "2", "]", ",", "&", "operands", "[", "3", "]", ")", ";", "if", "(", "code", "==", "UNKNOWN", ")", "{", "rtx", "temp", ";", "switch", "(", "GET_CODE", "(", "operands", "[", "1", "]", ")", ")", "{", "case", "LTGT", ":", "temp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "ORDERED", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ",", "NULL", ",", "NULL", ")", ";", "cmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "NE", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ",", "NULL", ",", "NULL", ")", ";", "code", "=", "AND", ";", "break", ";", "case", "UNEQ", ":", "temp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "UNORDERED", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ",", "NULL", ",", "NULL", ")", ";", "cmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "EQ", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ",", "NULL", ",", "NULL", ")", ";", "code", "=", "IOR", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "cmp", "=", "expand_simple_binop", "(", "GET_MODE", "(", "cmp", ")", ",", "code", ",", "temp", ",", "cmp", ",", "cmp", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "}", "else", "cmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ",", "NULL", ",", "NULL", ")", ";", "if", "(", "operands", "[", "0", "]", "!=", "cmp", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "cmp", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "fp", "vector", "comparison", "."], "TS_V_token": ["i386", "1", "0", "2", "3", "1", "0", "2", "3", "0", "2", "3", "0", "2", "3", "0", "2", "3", "1", "0", "2", "3", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_fp_vec_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37733, "Length": 271}
{"ground_truth": ["", "bool", "ix86_expand_int_addcc", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "flags", ";", "rtx", "(", "*", "insn", ")", "(", "machine_mode", ",", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "compare_op", ";", "rtx", "val", "=", "const0_rtx", ";", "bool", "fpcmp", "=", "false", ";", "machine_mode", "mode", ";", "rtx", "op0", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ";", "rtx", "op1", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "1", ")", ";", "if", "(", "operands", "[", "3", "]", "!=", "const1_rtx", "&&", "operands", "[", "3", "]", "!=", "constm1_rtx", ")", "return", "false", ";", "if", "(", "!", "ix86_expand_carry_flag_compare", "(", "code", ",", "op0", ",", "op1", ",", "&", "compare_op", ")", ")", "return", "false", ";", "code", "=", "GET_CODE", "(", "compare_op", ")", ";", "flags", "=", "XEXP", "(", "compare_op", ",", "0", ")", ";", "if", "(", "GET_MODE", "(", "flags", ")", "==", "CCFPmode", ")", "{", "fpcmp", "=", "true", ";", "code", "=", "ix86_fp_compare_code_to_integer", "(", "code", ")", ";", "}", "if", "(", "code", "!=", "LTU", ")", "{", "val", "=", "constm1_rtx", ";", "if", "(", "fpcmp", ")", "PUT_CODE", "(", "compare_op", ",", "reverse_condition_maybe_unordered", "(", "GET_CODE", "(", "compare_op", ")", ")", ")", ";", "else", "PUT_CODE", "(", "compare_op", ",", "reverse_condition", "(", "GET_CODE", "(", "compare_op", ")", ")", ")", ";", "}", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "if", "(", "(", "code", "==", "LTU", ")", "==", "(", "operands", "[", "3", "]", "==", "constm1_rtx", ")", ")", "insn", "=", "gen_sub3_carry", ";", "else", "insn", "=", "gen_add3_carry", ";", "emit_insn", "(", "insn", "(", "mode", ",", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "flags", ",", "compare_op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "conditional", "increment", "or", "decrement", "using", "adb/sbb", "instructions", ".", "The", "default", "case", "using", "setcc", "followed", "by", "the", "conditional", "move", "can", "be", "done", "by", "generic", "code", "."], "TS_V_token": ["i386", "1", "1", "0", "1", "1", "3", "3", "0", "0", "3", "0", "2"], "File": "i386-expand", "Func": "ix86_expand_int_addcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37734, "Length": 267}
{"ground_truth": ["", "static", "rtx", "ix86_expand_int_compare", "(", "enum", "rtx_code", "code", ",", "rtx", "op0", ",", "rtx", "op1", ")", "{", "machine_mode", "cmpmode", ";", "rtx", "tmp", ",", "flags", ";", "if", "(", "(", "code", "==", "GTU", "||", "code", "==", "LEU", ")", "&&", "nonimmediate_operand", "(", "op1", ",", "VOIDmode", ")", ")", "{", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "code", "=", "swap_condition", "(", "code", ")", ";", "}", "cmpmode", "=", "SELECT_CC_MODE", "(", "code", ",", "op0", ",", "op1", ")", ";", "flags", "=", "gen_rtx_REG", "(", "cmpmode", ",", "FLAGS_REG", ")", ";", "tmp", "=", "gen_rtx_COMPARE", "(", "cmpmode", ",", "op0", ",", "op1", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "flags", ",", "tmp", ")", ")", ";", "return", "gen_rtx_fmt_ee", "(", "code", ",", "VOIDmode", ",", "flags", ",", "const0_rtx", ")", ";", "}", ""], "natrual_language": ["Generate", "insn", "patterns", "to", "do", "an", "integer", "compare", "of", "OPERANDS", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_expand_int_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37735, "Length": 114}
{"ground_truth": ["", "bool", "ix86_expand_int_vcond", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "data_mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "4", "]", ")", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "3", "]", ")", ";", "bool", "negate", "=", "false", ";", "rtx", "x", ",", "cop0", ",", "cop1", ";", "cop0", "=", "operands", "[", "4", "]", ";", "cop1", "=", "operands", "[", "5", "]", ";", "if", "(", "(", "code", "==", "LT", "||", "code", "==", "GE", ")", "&&", "data_mode", "==", "mode", "&&", "cop1", "==", "CONST0_RTX", "(", "mode", ")", "&&", "operands", "[", "1", "+", "(", "code", "==", "LT", ")", "]", "==", "CONST0_RTX", "(", "data_mode", ")", "&&", "GET_MODE_UNIT_SIZE", "(", "data_mode", ")", ">", "1", "&&", "GET_MODE_UNIT_SIZE", "(", "data_mode", ")", "<=", "8", "&&", "(", "GET_MODE_SIZE", "(", "data_mode", ")", "==", "16", "||", "(", "TARGET_AVX2", "&&", "GET_MODE_SIZE", "(", "data_mode", ")", "==", "32", ")", ")", ")", "{", "rtx", "negop", "=", "operands", "[", "2", "-", "(", "code", "==", "LT", ")", "]", ";", "int", "shift", "=", "GET_MODE_UNIT_BITSIZE", "(", "data_mode", ")", "-", "1", ";", "if", "(", "negop", "==", "CONST1_RTX", "(", "data_mode", ")", ")", "{", "rtx", "res", "=", "expand_simple_binop", "(", "mode", ",", "LSHIFTRT", ",", "cop0", ",", "GEN_INT", "(", "shift", ")", ",", "operands", "[", "0", "]", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "res", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "res", ")", ";", "return", "true", ";", "}", "else", "if", "(", "GET_MODE_INNER", "(", "data_mode", ")", "!=", "DImode", "&&", "vector_all_ones_operand", "(", "negop", ",", "data_mode", ")", ")", "{", "rtx", "res", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFTRT", ",", "cop0", ",", "GEN_INT", "(", "shift", ")", ",", "operands", "[", "0", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "res", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "res", ")", ";", "return", "true", ";", "}", "}", "if", "(", "!", "nonimmediate_operand", "(", "cop1", ",", "mode", ")", ")", "cop1", "=", "force_reg", "(", "mode", ",", "cop1", ")", ";", "if", "(", "!", "general_operand", "(", "operands", "[", "1", "]", ",", "data_mode", ")", ")", "operands", "[", "1", "]", "=", "force_reg", "(", "data_mode", ",", "operands", "[", "1", "]", ")", ";", "if", "(", "!", "general_operand", "(", "operands", "[", "2", "]", ",", "data_mode", ")", ")", "operands", "[", "2", "]", "=", "force_reg", "(", "data_mode", ",", "operands", "[", "2", "]", ")", ";", "x", "=", "ix86_expand_int_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "cop0", ",", "cop1", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ",", "&", "negate", ")", ";", "if", "(", "!", "x", ")", "return", "false", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "x", ",", "operands", "[", "1", "+", "negate", "]", ",", "operands", "[", "2", "-", "negate", "]", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "signed", "integral", "vector", "conditional", "move", "."], "TS_V_token": ["i386", "0", "4", "3", "4", "5", "1", "1", "8", "16", "32", "2", "1", "0", "1", "0", "0", "0", "0", "0", "0", "1", "1", "1", "2", "2", "2", "0", "1", "2", "0", "1", "2"], "File": "i386-expand", "Func": "ix86_expand_int_vcond", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37736, "Length": 434}
{"ground_truth": ["", "bool", "ix86_expand_int_vec_cmp", "(", "rtx", "operands", "[", "]", ")", "{", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "bool", "negate", "=", "false", ";", "rtx", "cmp", "=", "ix86_expand_int_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ",", "NULL", ",", "NULL", ",", "&", "negate", ")", ";", "if", "(", "!", "cmp", ")", "return", "false", ";", "if", "(", "negate", ")", "cmp", "=", "ix86_expand_int_sse_cmp", "(", "operands", "[", "0", "]", ",", "EQ", ",", "cmp", ",", "CONST0_RTX", "(", "GET_MODE", "(", "cmp", ")", ")", ",", "NULL", ",", "NULL", ",", "&", "negate", ")", ";", "gcc_assert", "(", "!", "negate", ")", ";", "if", "(", "operands", "[", "0", "]", "!=", "cmp", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "cmp", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "integer", "vector", "comparison", "."], "TS_V_token": ["i386", "1", "0", "2", "3", "0", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_int_vec_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37737, "Length": 125}
{"ground_truth": ["", "void", "ix86_expand_lfloorceil", "(", "rtx", "op0", ",", "rtx", "op1", ",", "bool", "do_floor", ")", "{", "machine_mode", "fmode", "=", "GET_MODE", "(", "op1", ")", ";", "machine_mode", "imode", "=", "GET_MODE", "(", "op0", ")", ";", "rtx", "ireg", ",", "freg", ",", "tmp", ";", "rtx_code_label", "*", "label", ";", "ireg", "=", "gen_reg_rtx", "(", "imode", ")", ";", "expand_fix", "(", "ireg", ",", "op1", ",", "0", ")", ";", "freg", "=", "gen_reg_rtx", "(", "fmode", ")", ";", "expand_float", "(", "freg", ",", "ireg", ",", "0", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "freg", ",", "op1", ",", "!", "do_floor", ")", ";", "tmp", "=", "expand_simple_binop", "(", "imode", ",", "do_floor", "?", "MINUS", ":", "PLUS", ",", "ireg", ",", "const1_rtx", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "emit_move_insn", "(", "ireg", ",", "tmp", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "op0", ",", "ireg", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE2", "sequence", "for", "computing", "lround", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_lfloorceil", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37738, "Length": 136}
{"ground_truth": ["", "void", "ix86_expand_lround", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "op1", ")", ";", "const", "struct", "real_format", "*", "fmt", ";", "REAL_VALUE_TYPE", "pred_half", ",", "half_minus_pred_half", ";", "rtx", "adj", ";", "fmt", "=", "REAL_MODE_FORMAT", "(", "mode", ")", ";", "real_2expN", "(", "&", "half_minus_pred_half", ",", "-", "(", "fmt", "->", "p", ")", "-", "1", ",", "mode", ")", ";", "real_arithmetic", "(", "&", "pred_half", ",", "MINUS_EXPR", ",", "&", "dconsthalf", ",", "&", "half_minus_pred_half", ")", ";", "adj", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "pred_half", ",", "mode", ")", ")", ";", "ix86_sse_copysign_to_positive", "(", "adj", ",", "adj", ",", "force_reg", "(", "mode", ",", "op1", ")", ",", "NULL_RTX", ")", ";", "adj", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "adj", ",", "op1", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "expand_fix", "(", "op0", ",", "adj", ",", "0", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "lround", "from", "OP1", "storing", "into", "OP0", "."], "TS_V_token": ["i386", "1", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_lround", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37739, "Length": 129}
{"ground_truth": ["", "bool", "ix86_expand_mask_vec_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ")", "{", "machine_mode", "mask_mode", "=", "GET_MODE", "(", "dest", ")", ";", "machine_mode", "cmp_mode", "=", "GET_MODE", "(", "cmp_op0", ")", ";", "rtx", "imm", "=", "GEN_INT", "(", "ix86_cmp_code_to_pcmp_immediate", "(", "code", ",", "cmp_mode", ")", ")", ";", "int", "unspec_code", ";", "rtx", "unspec", ";", "switch", "(", "code", ")", "{", "case", "LEU", ":", "case", "GTU", ":", "case", "GEU", ":", "case", "LTU", ":", "unspec_code", "=", "UNSPEC_UNSIGNED_PCMP", ";", "break", ";", "default", ":", "unspec_code", "=", "UNSPEC_PCMP", ";", "}", "unspec", "=", "gen_rtx_UNSPEC", "(", "mask_mode", ",", "gen_rtvec", "(", "3", ",", "cmp_op0", ",", "cmp_op1", ",", "imm", ")", ",", "unspec_code", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "unspec", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "AVX-512", "vector", "comparison", "."], "TS_V_token": ["i386", "3"], "File": "i386-expand", "Func": "ix86_expand_mask_vec_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37740, "Length": 116}
{"ground_truth": ["", "bool", "ix86_expand_pextr", "(", "rtx", "*", "operands", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src", "=", "operands", "[", "1", "]", ";", "unsigned", "int", "size", "=", "INTVAL", "(", "operands", "[", "2", "]", ")", ";", "unsigned", "int", "pos", "=", "INTVAL", "(", "operands", "[", "3", "]", ")", ";", "if", "(", "SUBREG_P", "(", "dst", ")", ")", "{", "if", "(", "SUBREG_BYTE", "(", "dst", ")", ">", "0", ")", "return", "false", ";", "dst", "=", "SUBREG_REG", "(", "dst", ")", ";", "}", "if", "(", "SUBREG_P", "(", "src", ")", ")", "{", "pos", "+=", "SUBREG_BYTE", "(", "src", ")", "*", "BITS_PER_UNIT", ";", "src", "=", "SUBREG_REG", "(", "src", ")", ";", "}", "switch", "(", "GET_MODE", "(", "src", ")", ")", "{", "case", "E_V16QImode", ":", "case", "E_V8HImode", ":", "case", "E_V4SImode", ":", "case", "E_V2DImode", ":", "case", "E_V1TImode", ":", "{", "machine_mode", "srcmode", ",", "dstmode", ";", "rtx", "d", ",", "pat", ";", "if", "(", "!", "int_mode_for_size", "(", "size", ",", "0", ")", ".", "exists", "(", "&", "dstmode", ")", ")", "return", "false", ";", "switch", "(", "dstmode", ")", "{", "case", "E_QImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "srcmode", "=", "V16QImode", ";", "break", ";", "case", "E_HImode", ":", "if", "(", "!", "TARGET_SSE2", ")", "return", "false", ";", "srcmode", "=", "V8HImode", ";", "break", ";", "case", "E_SImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "srcmode", "=", "V4SImode", ";", "break", ";", "case", "E_DImode", ":", "gcc_assert", "(", "TARGET_64BIT", ")", ";", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "srcmode", "=", "V2DImode", ";", "break", ";", "default", ":", "return", "false", ";", "}", "if", "(", "pos", "&", "(", "size", "-", "1", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "dst", ")", "==", "dstmode", ")", "d", "=", "dst", ";", "else", "d", "=", "gen_reg_rtx", "(", "dstmode", ")", ";", "pat", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "GEN_INT", "(", "pos", "/", "size", ")", ")", ")", ";", "pat", "=", "gen_rtx_VEC_SELECT", "(", "dstmode", ",", "gen_lowpart", "(", "srcmode", ",", "src", ")", ",", "pat", ")", ";", "if", "(", "dstmode", "==", "QImode", "||", "dstmode", "==", "HImode", ")", "{", "pat", "=", "gen_rtx_ZERO_EXTEND", "(", "SImode", ",", "pat", ")", ";", "d", "=", "gen_lowpart", "(", "SImode", ",", "d", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "d", ",", "pat", ")", ")", ";", "if", "(", "d", "!=", "dst", ")", "emit_move_insn", "(", "dst", ",", "gen_lowpart", "(", "GET_MODE", "(", "dst", ")", ",", "d", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["Expand", "an", "extract", "from", "a", "vector", "register", "through", "pextr", "insn", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "0", "0", "1", "1"], "File": "i386-expand", "Func": "ix86_expand_pextr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37741, "Length": 379}
{"ground_truth": ["", "bool", "ix86_expand_pinsr", "(", "rtx", "*", "operands", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src", "=", "operands", "[", "3", "]", ";", "unsigned", "int", "size", "=", "INTVAL", "(", "operands", "[", "1", "]", ")", ";", "unsigned", "int", "pos", "=", "INTVAL", "(", "operands", "[", "2", "]", ")", ";", "if", "(", "SUBREG_P", "(", "dst", ")", ")", "{", "pos", "+=", "SUBREG_BYTE", "(", "dst", ")", "*", "BITS_PER_UNIT", ";", "dst", "=", "SUBREG_REG", "(", "dst", ")", ";", "}", "switch", "(", "GET_MODE", "(", "dst", ")", ")", "{", "case", "E_V16QImode", ":", "case", "E_V8HImode", ":", "case", "E_V4SImode", ":", "case", "E_V2DImode", ":", "case", "E_V1TImode", ":", "{", "machine_mode", "srcmode", ",", "dstmode", ";", "rtx", "(", "*", "pinsr", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "d", ";", "if", "(", "!", "int_mode_for_size", "(", "size", ",", "0", ")", ".", "exists", "(", "&", "srcmode", ")", ")", "return", "false", ";", "switch", "(", "srcmode", ")", "{", "case", "E_QImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V16QImode", ";", "pinsr", "=", "gen_sse4_1_pinsrb", ";", "break", ";", "case", "E_HImode", ":", "if", "(", "!", "TARGET_SSE2", ")", "return", "false", ";", "dstmode", "=", "V8HImode", ";", "pinsr", "=", "gen_sse2_pinsrw", ";", "break", ";", "case", "E_SImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V4SImode", ";", "pinsr", "=", "gen_sse4_1_pinsrd", ";", "break", ";", "case", "E_DImode", ":", "gcc_assert", "(", "TARGET_64BIT", ")", ";", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V2DImode", ";", "pinsr", "=", "gen_sse4_1_pinsrq", ";", "break", ";", "default", ":", "return", "false", ";", "}", "if", "(", "pos", "&", "(", "size", "-", "1", ")", ")", "return", "false", ";", "if", "(", "SUBREG_P", "(", "src", ")", ")", "{", "unsigned", "int", "srcpos", "=", "SUBREG_BYTE", "(", "src", ")", ";", "if", "(", "srcpos", ">", "0", ")", "{", "rtx", "extr_ops", "[", "4", "]", ";", "extr_ops", "[", "0", "]", "=", "gen_reg_rtx", "(", "srcmode", ")", ";", "extr_ops", "[", "1", "]", "=", "gen_lowpart", "(", "srcmode", ",", "SUBREG_REG", "(", "src", ")", ")", ";", "extr_ops", "[", "2", "]", "=", "GEN_INT", "(", "size", ")", ";", "extr_ops", "[", "3", "]", "=", "GEN_INT", "(", "srcpos", "*", "BITS_PER_UNIT", ")", ";", "if", "(", "!", "ix86_expand_pextr", "(", "extr_ops", ")", ")", "return", "false", ";", "src", "=", "extr_ops", "[", "0", "]", ";", "}", "else", "src", "=", "gen_lowpart", "(", "srcmode", ",", "SUBREG_REG", "(", "src", ")", ")", ";", "}", "if", "(", "GET_MODE", "(", "dst", ")", "==", "dstmode", ")", "d", "=", "dst", ";", "else", "d", "=", "gen_reg_rtx", "(", "dstmode", ")", ";", "emit_insn", "(", "pinsr", "(", "d", ",", "gen_lowpart", "(", "dstmode", ",", "dst", ")", ",", "gen_lowpart", "(", "srcmode", ",", "src", ")", ",", "GEN_INT", "(", "1", "<<", "(", "pos", "/", "size", ")", ")", ")", ")", ";", "if", "(", "d", "!=", "dst", ")", "emit_move_insn", "(", "dst", ",", "gen_lowpart", "(", "GET_MODE", "(", "dst", ")", ",", "d", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["Expand", "an", "insert", "into", "a", "vector", "register", "through", "pinsr", "insn", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "3", "1", "2", "0", "1", "0", "4", "0", "1", "2", "3", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_pinsr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37742, "Length": 448}
{"ground_truth": ["", "void", "ix86_expand_reduc", "(", "rtx", "(", "*", "fn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ",", "rtx", "dest", ",", "rtx", "in", ")", "{", "rtx", "half", ",", "dst", ",", "vec", "=", "in", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "in", ")", ";", "int", "i", ";", "if", "(", "TARGET_SSE4_1", "&&", "mode", "==", "V8HImode", "&&", "fn", "==", "gen_uminv8hi3", ")", "{", "emit_insn", "(", "gen_sse4_1_phminposuw", "(", "dest", ",", "in", ")", ")", ";", "return", ";", "}", "for", "(", "i", "=", "GET_MODE_BITSIZE", "(", "mode", ")", ";", "i", ">", "GET_MODE_UNIT_BITSIZE", "(", "mode", ")", ";", "i", ">>=", "1", ")", "{", "half", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_reduc_half", "(", "half", ",", "vec", ",", "i", ")", ";", "if", "(", "i", "==", "GET_MODE_UNIT_BITSIZE", "(", "mode", ")", "*", "2", ")", "dst", "=", "dest", ";", "else", "dst", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "fn", "(", "dst", ",", "half", ",", "vec", ")", ")", ";", "vec", "=", "dst", ";", "}", "}", ""], "natrual_language": ["Expand", "a", "vector", "reduction", ".", "FN", "is", "the", "binary", "pattern", "to", "reduce", ";", "DEST", "is", "the", "destination", ";", "IN", "is", "the", "input", "vector", "."], "TS_V_token": ["i386", "1", "2"], "File": "i386-expand", "Func": "ix86_expand_reduc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37743, "Length": 147}
{"ground_truth": ["", "void", "ix86_expand_rint", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "res", ",", "xa", ",", "TWO52", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "copy_to_reg", "(", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "if", "(", "flag_rounding_math", ")", "{", "ix86_sse_copysign_to_positive", "(", "TWO52", ",", "TWO52", ",", "res", ",", "mask", ")", ";", "xa", "=", "res", ";", "}", "xa", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa", ",", "TWO52", ",", "xa", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "HONOR_SIGNED_ZEROS", "(", "mode", ")", "&&", "flag_rounding_math", ")", "xa", "=", "ix86_expand_sse_fabs", "(", "xa", ",", "NULL", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "xa", ",", "res", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "rint", "(", "IEEE", "round", "to", "nearest", ")", "rounding", "OPERAND1", "and", "storing", "the", "result", "in", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_rint", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37744, "Length": 176}
{"ground_truth": ["", "void", "ix86_expand_round", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "res", ",", "TWO52", ",", "xa", ",", "xi", ",", "half", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "const", "struct", "real_format", "*", "fmt", ";", "REAL_VALUE_TYPE", "pred_half", ",", "half_minus_pred_half", ";", "res", "=", "copy_to_reg", "(", "operand1", ")", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "fmt", "=", "REAL_MODE_FORMAT", "(", "mode", ")", ";", "real_2expN", "(", "&", "half_minus_pred_half", ",", "-", "(", "fmt", "->", "p", ")", "-", "1", ",", "mode", ")", ";", "real_arithmetic", "(", "&", "pred_half", ",", "MINUS_EXPR", ",", "&", "dconsthalf", ",", "&", "half_minus_pred_half", ")", ";", "half", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "pred_half", ",", "mode", ")", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "half", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xi", "=", "gen_reg_rtx", "(", "int_mode_for_mode", "(", "mode", ")", ".", "require", "(", ")", ")", ";", "expand_fix", "(", "xi", ",", "xa", ",", "0", ")", ";", "expand_float", "(", "xa", ",", "xi", ",", "0", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "xa", ",", "res", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "round", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_round", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37745, "Length": 217}
{"ground_truth": ["", "void", "ix86_expand_rounddf_32", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "xa2", ",", "dxa", ",", "TWO52", ",", "tmp", ",", "half", ",", "mhalf", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "copy_to_reg", "(", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "TWO52", ",", "xa2", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "dxa", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "xa", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "half", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "dconsthalf", ",", "mode", ")", ")", ";", "one", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "half", ",", "half", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "mhalf", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "half", ",", "one", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "dxa", ",", "half", ",", "false", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "tmp", ",", "one", ")", ")", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGE", ",", "mhalf", ",", "dxa", ",", "false", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "tmp", ",", "one", ")", ")", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa2", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "xa2", ",", "res", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "round", "from", "OPERAND1", "storing", "into", "OPERAND0", ".", "Sequence", "that", "works", "without", "relying", "on", "DImode", "truncation", "via", "cvttsd2siq", "that", "is", "only", "available", "on", "64bit", "targets", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_rounddf_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37746, "Length": 318}
{"ground_truth": ["", "void", "ix86_expand_round_sse4", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "rtx", "e1", ",", "e2", ",", "res", ",", "half", ";", "const", "struct", "real_format", "*", "fmt", ";", "REAL_VALUE_TYPE", "pred_half", ",", "half_minus_pred_half", ";", "rtx", "(", "*", "gen_copysign", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_round", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_SFmode", ":", "gen_copysign", "=", "gen_copysignsf3", ";", "gen_round", "=", "gen_sse4_1_roundsf2", ";", "break", ";", "case", "E_DFmode", ":", "gen_copysign", "=", "gen_copysigndf3", ";", "gen_round", "=", "gen_sse4_1_rounddf2", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "fmt", "=", "REAL_MODE_FORMAT", "(", "mode", ")", ";", "real_2expN", "(", "&", "half_minus_pred_half", ",", "-", "(", "fmt", "->", "p", ")", "-", "1", ",", "mode", ")", ";", "real_arithmetic", "(", "&", "pred_half", ",", "MINUS_EXPR", ",", "&", "dconsthalf", ",", "&", "half_minus_pred_half", ")", ";", "half", "=", "const_double_from_real_value", "(", "pred_half", ",", "mode", ")", ";", "e1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_copysign", "(", "e1", ",", "half", ",", "op1", ")", ")", ";", "e2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "op1", ",", "e1", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_round", "(", "res", ",", "e2", ",", "GEN_INT", "(", "ROUND_TRUNC", ")", ")", ")", ";", "emit_move_insn", "(", "op0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "round", "from", "OP1", "storing", "into", "OP0", "using", "sse4", "round", "insn", "."], "TS_V_token": ["i386", "1", "0"], "File": "i386-expand", "Func": "ix86_expand_round_sse4", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37747, "Length": 217}
{"ground_truth": ["", "void", "ix86_expand_sse2_abs", "(", "rtx", "target", ",", "rtx", "input", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "rtx", "tmp0", ",", "tmp1", ",", "x", ";", "switch", "(", "mode", ")", "{", "case", "E_V2DImode", ":", "case", "E_V4DImode", ":", "if", "(", "TARGET_SSE4_2", ")", "{", "tmp0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "tmp1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "tmp1", ",", "CONST0_RTX", "(", "mode", ")", ")", ";", "if", "(", "mode", "==", "E_V2DImode", ")", "emit_insn", "(", "gen_sse4_2_gtv2di3", "(", "tmp0", ",", "tmp1", ",", "input", ")", ")", ";", "else", "emit_insn", "(", "gen_avx2_gtv4di3", "(", "tmp0", ",", "tmp1", ",", "input", ")", ")", ";", "}", "else", "{", "tmp0", "=", "expand_simple_binop", "(", "mode", ",", "LSHIFTRT", ",", "input", ",", "GEN_INT", "(", "GET_MODE_UNIT_BITSIZE", "(", "mode", ")", "-", "1", ")", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp0", "=", "expand_simple_unop", "(", "mode", ",", "NEG", ",", "tmp0", ",", "NULL", ",", "false", ")", ";", "}", "tmp1", "=", "expand_simple_binop", "(", "mode", ",", "XOR", ",", "tmp0", ",", "input", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "tmp1", ",", "tmp0", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "E_V4SImode", ":", "tmp0", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFTRT", ",", "input", ",", "GEN_INT", "(", "GET_MODE_UNIT_BITSIZE", "(", "mode", ")", "-", "1", ")", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp1", "=", "expand_simple_binop", "(", "mode", ",", "XOR", ",", "tmp0", ",", "input", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "tmp1", ",", "tmp0", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "E_V8HImode", ":", "tmp0", "=", "expand_unop", "(", "mode", ",", "neg_optab", ",", "input", ",", "NULL_RTX", ",", "0", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "SMAX", ",", "tmp0", ",", "input", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "E_V16QImode", ":", "tmp0", "=", "expand_unop", "(", "mode", ",", "neg_optab", ",", "input", ",", "NULL_RTX", ",", "0", ")", ";", "x", "=", "expand_simple_binop", "(", "V16QImode", ",", "UMIN", ",", "tmp0", ",", "input", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "x", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "x", ")", ";", "}", ""], "natrual_language": ["Calculate", "integer", "abs", "(", ")", "using", "only", "SSE2", "instructions", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_sse2_abs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37748, "Length": 351}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "machine_mode", "cmp_ops_mode", "=", "GET_MODE", "(", "cmp_op0", ")", ";", "machine_mode", "cmp_mode", ";", "bool", "maskcmp", "=", "false", ";", "rtx", "x", ";", "if", "(", "ix86_use_mask_cmp_p", "(", "mode", ",", "cmp_ops_mode", ",", "op_true", ",", "op_false", ")", ")", "{", "unsigned", "int", "nbits", "=", "GET_MODE_NUNITS", "(", "cmp_ops_mode", ")", ";", "maskcmp", "=", "true", ";", "cmp_mode", "=", "nbits", ">", "8", "?", "int_mode_for_size", "(", "nbits", ",", "0", ")", ".", "require", "(", ")", ":", "E_QImode", ";", "}", "else", "cmp_mode", "=", "cmp_ops_mode", ";", "cmp_op0", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op0", ")", ";", "bool", "(", "*", "op1_predicate", ")", "(", "rtx", ",", "machine_mode", ")", "=", "VECTOR_MODE_P", "(", "cmp_ops_mode", ")", "?", "vector_operand", ":", "nonimmediate_operand", ";", "if", "(", "!", "op1_predicate", "(", "cmp_op1", ",", "cmp_ops_mode", ")", ")", "cmp_op1", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op1", ")", ";", "if", "(", "optimize", "||", "(", "maskcmp", "&&", "cmp_mode", "!=", "mode", ")", "||", "(", "op_true", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_true", ")", ")", "||", "(", "op_false", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_false", ")", ")", ")", "dest", "=", "gen_reg_rtx", "(", "maskcmp", "?", "cmp_mode", ":", "mode", ")", ";", "if", "(", "maskcmp", ")", "{", "bool", "ok", "=", "ix86_expand_mask_vec_cmp", "(", "dest", ",", "code", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "gcc_assert", "(", "ok", ")", ";", "return", "dest", ";", "}", "x", "=", "gen_rtx_fmt_ee", "(", "code", ",", "cmp_mode", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "if", "(", "cmp_mode", "!=", "mode", ")", "{", "x", "=", "force_reg", "(", "cmp_ops_mode", ",", "x", ")", ";", "convert_move", "(", "dest", ",", "x", ",", "false", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Expand", "an", "sse", "vector", "comparison", ".", "Return", "the", "register", "with", "the", "result", "."], "TS_V_token": ["i386", "8", "0"], "File": "i386-expand", "Func": "ix86_expand_sse_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37749, "Length": 278}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_comi", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "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", "mode0", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode1", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "enum", "rtx_code", "comparison", "=", "d", "->", "comparison", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "target", "=", "gen_reg_rtx", "(", "SImode", ")", ";", "emit_move_insn", "(", "target", ",", "const0_rtx", ")", ";", "target", "=", "gen_rtx_SUBREG", "(", "QImode", ",", "target", ",", "0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op1", ",", "mode1", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "d", "->", "icode", ")", "(", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_STRICT_LOW_PART", "(", "VOIDmode", ",", "target", ")", ",", "gen_rtx_fmt_ee", "(", "comparison", ",", "QImode", ",", "SET_DEST", "(", "pat", ")", ",", "const0_rtx", ")", ")", ")", ";", "return", "SUBREG_REG", "(", "target", ")", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "comi", "insns", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "1", "0"], "File": "i386-expand", "Func": "ix86_expand_sse_comi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37750, "Length": 302}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_compare", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "exp", ",", "rtx", "target", ",", "bool", "swap", ")", "{", "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", ")", ";", "rtx", "op2", ";", "machine_mode", "tmode", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode0", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "machine_mode", "mode1", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "2", "]", ".", "mode", ";", "enum", "rtx_code", "comparison", "=", "d", "->", "comparison", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "if", "(", "swap", ")", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "if", "(", "optimize", "||", "!", "target", "||", "GET_MODE", "(", "target", ")", "!=", "tmode", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op1", ",", "mode1", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "2", "]", ".", "predicate", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "op2", "=", "gen_rtx_fmt_ee", "(", "comparison", ",", "mode0", ",", "op0", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "d", "->", "icode", ")", "(", "target", ",", "op0", ",", "op1", ",", "op2", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "comparison", "insns", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "2", "0", "1", "2", "0"], "File": "i386-expand", "Func": "ix86_expand_sse_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37751, "Length": 341}
{"ground_truth": ["", "static", "rtx_code_label", "*", "ix86_expand_sse_compare_and_jump", "(", "enum", "rtx_code", "code", ",", "rtx", "op0", ",", "rtx", "op1", ",", "bool", "swap_operands", ")", "{", "bool", "unordered_compare", "=", "ix86_unordered_fp_compare", "(", "code", ")", ";", "rtx_code_label", "*", "label", ";", "rtx", "tmp", ",", "reg", ";", "if", "(", "swap_operands", ")", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "tmp", "=", "gen_rtx_COMPARE", "(", "CCFPmode", ",", "op0", ",", "op1", ")", ";", "if", "(", "unordered_compare", ")", "tmp", "=", "gen_rtx_UNSPEC", "(", "CCFPmode", ",", "gen_rtvec", "(", "1", ",", "tmp", ")", ",", "UNSPEC_NOTRAP", ")", ";", "reg", "=", "gen_rtx_REG", "(", "CCFPmode", ",", "FLAGS_REG", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "reg", ",", "tmp", ")", ")", ";", "tmp", "=", "gen_rtx_fmt_ee", "(", "code", ",", "VOIDmode", ",", "reg", ",", "const0_rtx", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "tmp", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "tmp", ")", ")", ";", "JUMP_LABEL", "(", "tmp", ")", "=", "label", ";", "return", "label", ";", "}", ""], "natrual_language": ["Expands", "a", "comparison", "of", "OP0", "with", "OP1", "using", "comparison", "code", "CODE", ",", "swapping", "the", "operands", "if", "SWAP_OPERANDS", "is", "true", ".", "The", "expanded", "code", "is", "a", "forward", "jump", "to", "a", "newly", "created", "label", "in", "case", "the", "comparison", "is", "true", ".", "The", "generated", "label", "rtx", "is", "returned", "."], "TS_V_token": ["i386", "1"], "File": "i386-expand", "Func": "ix86_expand_sse_compare_and_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37752, "Length": 159}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_compare_mask", "(", "enum", "rtx_code", "code", ",", "rtx", "op0", ",", "rtx", "op1", ",", "bool", "swap_operands", ")", "{", "rtx", "(", "*", "insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "rtx", "mask", "=", "gen_reg_rtx", "(", "mode", ")", ";", "if", "(", "swap_operands", ")", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "insn", "=", "mode", "==", "DFmode", "?", "gen_setcc_df_sse", ":", "gen_setcc_sf_sse", ";", "emit_insn", "(", "insn", "(", "mask", ",", "op0", ",", "op1", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "op0", ",", "op1", ")", ")", ")", ";", "return", "mask", ";", "}", ""], "natrual_language": ["Expand", "a", "mask", "generating", "SSE", "comparison", "instruction", "comparing", "OP0", "with", "OP1", "using", "comparison", "code", "CODE", ".", "Operands", "are", "swapped", "for", "the", "comparison", "if", "SWAP_OPERANDS", "is", "true", ".", "Returns", "a", "rtx", "for", "the", "generated", "mask", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_expand_sse_compare_mask", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37753, "Length": 99}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_fabs", "(", "rtx", "op0", ",", "rtx", "*", "smask", ")", "{", "machine_mode", "vmode", ",", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "rtx", "xa", ",", "mask", ";", "xa", "=", "gen_reg_rtx", "(", "mode", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "else", "vmode", "=", "mode", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "VECTOR_MODE_P", "(", "mode", ")", ",", "true", ")", ";", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "rtx", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ")", ";", "tmp", "=", "gen_rtx_VEC_SELECT", "(", "mode", ",", "mask", ",", "tmp", ")", ";", "mask", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "mask", ",", "tmp", ")", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "xa", ",", "gen_rtx_AND", "(", "mode", ",", "op0", ",", "mask", ")", ")", ")", ";", "if", "(", "smask", ")", "*", "smask", "=", "mask", ";", "return", "xa", ";", "}", ""], "natrual_language": ["Expand", "fabs", "(", "OP0", ")", "and", "return", "a", "new", "rtx", "that", "holds", "the", "result", ".", "The", "mask", "for", "masking", "out", "the", "sign-bit", "is", "stored", "in", "*", "SMASK", ",", "if", "that", "is", "non-null", "."], "TS_V_token": ["i386", "1"], "File": "i386-expand", "Func": "ix86_expand_sse_fabs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37754, "Length": 157}
{"ground_truth": ["", "static", "bool", "ix86_expand_sse_fp_minmax", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "if_true", ",", "rtx", "if_false", ")", "{", "machine_mode", "mode", ";", "bool", "is_min", ";", "rtx", "tmp", ";", "if", "(", "code", "==", "LT", ")", ";", "else", "if", "(", "code", "==", "UNGE", ")", "std", "::", "swap", "(", "if_true", ",", "if_false", ")", ";", "else", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "cmp_op0", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op1", ",", "if_false", ")", ")", "is_min", "=", "true", ";", "else", "if", "(", "rtx_equal_p", "(", "cmp_op1", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op0", ",", "if_false", ")", ")", "is_min", "=", "false", ";", "else", "return", "false", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "!", "flag_finite_math_only", "||", "flag_signed_zeros", ")", "{", "int", "u", "=", "is_min", "?", "UNSPEC_IEEE_MIN", ":", "UNSPEC_IEEE_MAX", ";", "rtvec", "v", ";", "if_true", "=", "force_reg", "(", "mode", ",", "if_true", ")", ";", "v", "=", "gen_rtvec", "(", "2", ",", "if_true", ",", "if_false", ")", ";", "tmp", "=", "gen_rtx_UNSPEC", "(", "mode", ",", "v", ",", "u", ")", ";", "}", "else", "{", "code", "=", "is_min", "?", "SMIN", ":", "SMAX", ";", "if", "(", "MEM_P", "(", "if_true", ")", "&&", "MEM_P", "(", "if_false", ")", ")", "if_true", "=", "force_reg", "(", "mode", ",", "if_true", ")", ";", "tmp", "=", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "if_true", ",", "if_false", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "tmp", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Detect", "conditional", "moves", "that", "exactly", "match", "min/max", "operational", "semantics", ".", "Note", "that", "this", "is", "IEEE", "safe", ",", "as", "long", "as", "we", "do", "n't", "interchange", "the", "operands", ".", "Returns", "FALSE", "if", "this", "conditional", "move", "does", "n't", "match", "a", "MIN/MAX", ",", "and", "TRUE", "if", "the", "operation", "is", "successful", "and", "instructions", "are", "emitted", "."], "TS_V_token": ["i386", "2"], "File": "i386-expand", "Func": "ix86_expand_sse_fp_minmax", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37755, "Length": 223}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_ptest", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "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", "mode0", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode1", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "enum", "rtx_code", "comparison", "=", "d", "->", "comparison", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "target", "=", "gen_reg_rtx", "(", "SImode", ")", ";", "emit_move_insn", "(", "target", ",", "const0_rtx", ")", ";", "target", "=", "gen_rtx_SUBREG", "(", "QImode", ",", "target", ",", "0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op1", ",", "mode1", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "d", "->", "icode", ")", "(", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_STRICT_LOW_PART", "(", "VOIDmode", ",", "target", ")", ",", "gen_rtx_fmt_ee", "(", "comparison", ",", "QImode", ",", "SET_DEST", "(", "pat", ")", ",", "const0_rtx", ")", ")", ")", ";", "return", "SUBREG_REG", "(", "target", ")", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "ptest", "insns", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "1", "0"], "File": "i386-expand", "Func": "ix86_expand_sse_ptest", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37756, "Length": 302}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_round", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "CALL_EXPR_ARG", "(", "exp", ",", "0", ")", ";", "rtx", "op1", ",", "op0", "=", "expand_normal", "(", "arg0", ")", ";", "machine_mode", "tmode", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode0", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "if", "(", "optimize", "||", "target", "==", "0", "||", "GET_MODE", "(", "target", ")", "!=", "tmode", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "op1", "=", "GEN_INT", "(", "d", "->", "comparison", ")", ";", "pat", "=", "GEN_FCN", "(", "d", "->", "icode", ")", "(", "target", ",", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutines", "of", "ix86_expand_args_builtin", "to", "take", "care", "of", "round", "insns", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "0", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_sse_round", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37757, "Length": 217}
{"ground_truth": ["", "bool", "ix86_expand_strlen", "(", "rtx", "out", ",", "rtx", "src", ",", "rtx", "eoschar", ",", "rtx", "align", ")", "{", "if", "(", "TARGET_UNROLL_STRLEN", "&&", "TARGET_INLINE_ALL_STRINGOPS", "&&", "eoschar", "==", "const0_rtx", "&&", "optimize", ">", "1", ")", "{", "rtx", "addr", "=", "force_reg", "(", "Pmode", ",", "XEXP", "(", "src", ",", "0", ")", ")", ";", "emit_move_insn", "(", "out", ",", "addr", ")", ";", "ix86_expand_strlensi_unroll_1", "(", "out", ",", "src", ",", "align", ")", ";", "emit_insn", "(", "gen_sub2_insn", "(", "out", ",", "addr", ")", ")", ";", "return", "true", ";", "}", "else", "return", "false", ";", "}", ""], "natrual_language": ["Expand", "strlen", "."], "TS_V_token": ["i386", "1", "0"], "File": "i386-expand", "Func": "ix86_expand_strlen", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37758, "Length": 81}
{"ground_truth": ["", "static", "rtx", "ix86_expand_ti_to_v1ti", "(", "rtx", "x", ")", "{", "if", "(", "TARGET_SSE2", ")", "{", "rtx", "lo", "=", "gen_lowpart", "(", "DImode", ",", "x", ")", ";", "rtx", "hi", "=", "gen_highpart", "(", "DImode", ",", "x", ")", ";", "rtx", "tmp", "=", "gen_reg_rtx", "(", "V2DImode", ")", ";", "emit_insn", "(", "gen_vec_concatv2di", "(", "tmp", ",", "lo", ",", "hi", ")", ")", ";", "return", "force_reg", "(", "V1TImode", ",", "gen_lowpart", "(", "V1TImode", ",", "tmp", ")", ")", ";", "}", "return", "force_reg", "(", "V1TImode", ",", "gen_lowpart", "(", "V1TImode", ",", "x", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "move", "of", "TI", "mode", "register", "X", "to", "a", "new", "V1TI", "mode", "register", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_expand_ti_to_v1ti", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37759, "Length": 81}
{"ground_truth": ["", "void", "ix86_expand_trunc", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "xi", ",", "TWO52", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "copy_to_reg", "(", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xi", "=", "gen_reg_rtx", "(", "int_mode_for_mode", "(", "mode", ")", ".", "require", "(", ")", ")", ";", "expand_fix", "(", "xi", ",", "res", ",", "0", ")", ";", "expand_float", "(", "xa", ",", "xi", ",", "0", ")", ";", "if", "(", "HONOR_SIGNED_ZEROS", "(", "mode", ")", ")", "ix86_sse_copysign_to_positive", "(", "xa", ",", "xa", ",", "res", ",", "mask", ")", ";", "emit_move_insn", "(", "res", ",", "xa", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "trunc", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_trunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37760, "Length": 147}
{"ground_truth": ["", "void", "ix86_expand_truncdf_32", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "xa2", ",", "TWO52", ",", "tmp", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "copy_to_reg", "(", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "TWO52", ",", "xa2", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "one", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "dconst1", ",", "mode", ")", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "xa2", ",", "xa", ",", "false", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "HONOR_SIGNED_ZEROS", "(", "mode", ")", "&&", "flag_rounding_math", ")", "tmp", "=", "ix86_expand_sse_fabs", "(", "tmp", ",", "NULL", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "tmp", ",", "res", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "trunc", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_truncdf_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37761, "Length": 224}
{"ground_truth": ["", "void", "ix86_expand_unary_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "bool", "matching_memory", "=", "false", ";", "rtx", "src", ",", "dst", ",", "op", ",", "clob", ";", "dst", "=", "operands", "[", "0", "]", ";", "src", "=", "operands", "[", "1", "]", ";", "if", "(", "MEM_P", "(", "dst", ")", ")", "{", "if", "(", "rtx_equal_p", "(", "dst", ",", "src", ")", ")", "matching_memory", "=", "true", ";", "else", "dst", "=", "gen_reg_rtx", "(", "mode", ")", ";", "}", "if", "(", "MEM_P", "(", "src", ")", "&&", "!", "matching_memory", ")", "src", "=", "force_reg", "(", "mode", ",", "src", ")", ";", "op", "=", "gen_rtx_SET", "(", "dst", ",", "gen_rtx_fmt_e", "(", "code", ",", "mode", ",", "src", ")", ")", ";", "if", "(", "code", "==", "NOT", ")", "emit_insn", "(", "op", ")", ";", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", "if", "(", "dst", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "dst", ")", ";", "}", ""], "natrual_language": ["Attempt", "to", "expand", "a", "unary", "operator", ".", "Make", "the", "expansion", "closer", "to", "the", "actual", "machine", ",", "then", "just", "general_operand", ",", "which", "will", "allow", "2", "separate", "memory", "references", "(", "one", "output", ",", "one", "input", ")", "in", "a", "single", "insn", "."], "TS_V_token": ["i386", "0", "1", "2", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_unary_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37762, "Length": 174}
{"ground_truth": ["", "static", "rtx", "ix86_expand_unop_vec_merge_builtin", "(", "enum", "insn_code", "icode", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "CALL_EXPR_ARG", "(", "exp", ",", "0", ")", ";", "rtx", "op1", ",", "op0", "=", "expand_normal", "(", "arg0", ")", ";", "machine_mode", "tmode", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode0", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "if", "(", "optimize", "||", "!", "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", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "op1", "=", "op0", ";", "if", "(", "!", "insn_data", "[", "icode", "]", ".", "operand", "[", "2", "]", ".", "predicate", "(", "op1", ",", "mode0", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode0", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "target", ",", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_args_builtin", "to", "take", "care", "of", "scalar", "unop", "insns", "with", "vec_merge", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "2", "0"], "File": "i386-expand", "Func": "ix86_expand_unop_vec_merge_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37763, "Length": 228}
{"ground_truth": ["", "void", "ix86_expand_v1ti_shift", "(", "enum", "rtx_code", "code", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "op1", "=", "force_reg", "(", "V1TImode", ",", "operands", "[", "1", "]", ")", ";", "if", "(", "!", "CONST_INT_P", "(", "operands", "[", "2", "]", ")", ")", "{", "rtx", "tmp1", "=", "ix86_expand_v1ti_to_ti", "(", "op1", ")", ";", "rtx", "tmp2", "=", "gen_reg_rtx", "(", "TImode", ")", ";", "rtx", "(", "*", "shift", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", "=", "(", "code", "==", "ASHIFT", ")", "?", "gen_ashlti3", ":", "gen_lshrti3", ";", "emit_insn", "(", "shift", "(", "tmp2", ",", "tmp1", ",", "operands", "[", "2", "]", ")", ")", ";", "rtx", "tmp3", "=", "ix86_expand_ti_to_v1ti", "(", "tmp2", ")", ";", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "tmp3", ")", ";", "return", ";", "}", "HOST_WIDE_INT", "bits", "=", "INTVAL", "(", "operands", "[", "2", "]", ")", "&", "127", ";", "if", "(", "bits", "==", "0", ")", "{", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "op1", ")", ";", "return", ";", "}", "if", "(", "(", "bits", "&", "7", ")", "==", "0", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "V1TImode", ")", ";", "if", "(", "code", "==", "ASHIFT", ")", "emit_insn", "(", "gen_sse2_ashlv1ti3", "(", "tmp", ",", "op1", ",", "GEN_INT", "(", "bits", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_lshrv1ti3", "(", "tmp", ",", "op1", ",", "GEN_INT", "(", "bits", ")", ")", ")", ";", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "tmp", ")", ";", "return", ";", "}", "rtx", "tmp1", "=", "gen_reg_rtx", "(", "V1TImode", ")", ";", "if", "(", "code", "==", "ASHIFT", ")", "emit_insn", "(", "gen_sse2_ashlv1ti3", "(", "tmp1", ",", "op1", ",", "GEN_INT", "(", "64", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_lshrv1ti3", "(", "tmp1", ",", "op1", ",", "GEN_INT", "(", "64", ")", ")", ")", ";", "rtx", "tmp2", "=", "force_reg", "(", "V2DImode", ",", "gen_lowpart", "(", "V2DImode", ",", "tmp1", ")", ")", ";", "rtx", "tmp3", "=", "gen_reg_rtx", "(", "V2DImode", ")", ";", "if", "(", "bits", ">", "64", ")", "{", "if", "(", "code", "==", "ASHIFT", ")", "emit_insn", "(", "gen_ashlv2di3", "(", "tmp3", ",", "tmp2", ",", "GEN_INT", "(", "bits", "-", "64", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_lshrv2di3", "(", "tmp3", ",", "tmp2", ",", "GEN_INT", "(", "bits", "-", "64", ")", ")", ")", ";", "}", "else", "{", "rtx", "tmp4", "=", "force_reg", "(", "V2DImode", ",", "gen_lowpart", "(", "V2DImode", ",", "op1", ")", ")", ";", "rtx", "tmp5", "=", "gen_reg_rtx", "(", "V2DImode", ")", ";", "if", "(", "code", "==", "ASHIFT", ")", "emit_insn", "(", "gen_ashlv2di3", "(", "tmp5", ",", "tmp4", ",", "GEN_INT", "(", "bits", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_lshrv2di3", "(", "tmp5", ",", "tmp4", ",", "GEN_INT", "(", "bits", ")", ")", ")", ";", "rtx", "tmp6", "=", "gen_reg_rtx", "(", "V2DImode", ")", ";", "if", "(", "code", "==", "ASHIFT", ")", "emit_insn", "(", "gen_lshrv2di3", "(", "tmp6", ",", "tmp2", ",", "GEN_INT", "(", "64", "-", "bits", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_ashlv2di3", "(", "tmp6", ",", "tmp2", ",", "GEN_INT", "(", "64", "-", "bits", ")", ")", ")", ";", "emit_insn", "(", "gen_iorv2di3", "(", "tmp3", ",", "tmp5", ",", "tmp6", ")", ")", ";", "}", "rtx", "tmp7", "=", "force_reg", "(", "V1TImode", ",", "gen_lowpart", "(", "V1TImode", ",", "tmp3", ")", ")", ";", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "tmp7", ")", ";", "}", ""], "natrual_language": ["Expand", "V1TI", "mode", "shift", "(", "of", "rtx_code", "CODE", ")", "by", "constant", "."], "TS_V_token": ["i386", "1", "2", "2", "0", "2", "127", "0", "0", "7", "0", "0", "64", "64", "64", "64", "64", "64", "64", "0"], "File": "i386-expand", "Func": "ix86_expand_v1ti_shift", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37764, "Length": 482}
{"ground_truth": ["", "static", "rtx", "ix86_expand_v1ti_to_ti", "(", "rtx", "x", ")", "{", "rtx", "result", "=", "gen_reg_rtx", "(", "TImode", ")", ";", "if", "(", "TARGET_SSE2", ")", "{", "rtx", "temp", "=", "force_reg", "(", "V2DImode", ",", "gen_lowpart", "(", "V2DImode", ",", "x", ")", ")", ";", "rtx", "lo", "=", "gen_lowpart", "(", "DImode", ",", "result", ")", ";", "emit_insn", "(", "gen_vec_extractv2didi", "(", "lo", ",", "temp", ",", "const0_rtx", ")", ")", ";", "rtx", "hi", "=", "gen_highpart", "(", "DImode", ",", "result", ")", ";", "emit_insn", "(", "gen_vec_extractv2didi", "(", "hi", ",", "temp", ",", "const1_rtx", ")", ")", ";", "}", "else", "emit_move_insn", "(", "result", ",", "gen_lowpart", "(", "TImode", ",", "x", ")", ")", ";", "return", "result", ";", "}", ""], "natrual_language": ["Expand", "move", "of", "V1TI", "mode", "register", "X", "to", "a", "new", "TI", "mode", "register", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_expand_v1ti_to_ti", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37765, "Length": 98}
{"ground_truth": ["", "static", "bool", "ix86_expand_vecop_qihi2", "(", "enum", "rtx_code", "code", ",", "rtx", "dest", ",", "rtx", "op1", ",", "rtx", "op2", ")", "{", "machine_mode", "himode", ",", "qimode", "=", "GET_MODE", "(", "dest", ")", ";", "rtx", "hop1", ",", "hop2", ",", "hdest", ";", "rtx", "(", "*", "gen_extend", ")", "(", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_truncate", ")", "(", "rtx", ",", "rtx", ")", ";", "bool", "uns_p", "=", "(", "code", "==", "ASHIFTRT", ")", "?", "false", ":", "true", ";", "if", "(", "qimode", "==", "E_V64QImode", ")", "return", "false", ";", "if", "(", "!", "TARGET_AVX512BW", ")", "return", "false", ";", "if", "(", "(", "qimode", "==", "V8QImode", "||", "qimode", "==", "V16QImode", ")", "&&", "!", "TARGET_AVX512VL", ")", "return", "false", ";", "if", "(", "qimode", "==", "V32QImode", "&&", "(", "TARGET_PREFER_AVX128", "||", "TARGET_PREFER_AVX256", ")", ")", "return", "false", ";", "switch", "(", "qimode", ")", "{", "case", "E_V8QImode", ":", "himode", "=", "V8HImode", ";", "gen_extend", "=", "uns_p", "?", "gen_zero_extendv8qiv8hi2", ":", "gen_extendv8qiv8hi2", ";", "gen_truncate", "=", "gen_truncv8hiv8qi2", ";", "break", ";", "case", "E_V16QImode", ":", "himode", "=", "V16HImode", ";", "gen_extend", "=", "uns_p", "?", "gen_zero_extendv16qiv16hi2", ":", "gen_extendv16qiv16hi2", ";", "gen_truncate", "=", "gen_truncv16hiv16qi2", ";", "break", ";", "case", "E_V32QImode", ":", "himode", "=", "V32HImode", ";", "gen_extend", "=", "uns_p", "?", "gen_zero_extendv32qiv32hi2", ":", "gen_extendv32qiv32hi2", ";", "gen_truncate", "=", "gen_truncv32hiv32qi2", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "hop1", "=", "gen_reg_rtx", "(", "himode", ")", ";", "hop2", "=", "gen_reg_rtx", "(", "himode", ")", ";", "hdest", "=", "gen_reg_rtx", "(", "himode", ")", ";", "emit_insn", "(", "gen_extend", "(", "hop1", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_extend", "(", "hop2", ",", "op2", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "hdest", ",", "simplify_gen_binary", "(", "code", ",", "himode", ",", "hop1", ",", "hop2", ")", ")", ")", ";", "emit_insn", "(", "gen_truncate", "(", "dest", ",", "hdest", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "is", "similar", "as", "ix86_expand_vecop_qihi", ",", "but", "optimized", "under", "AVX512BW", "by", "using", "vpmovwb", ".", "For", "example", ",", "optimize", "vector", "MUL", "generation", "like", "vpmovzxbw", "ymm2", ",", "xmm0", "vpmovzxbw", "ymm3", ",", "xmm1", "vpmullw", "ymm4", ",", "ymm2", ",", "ymm3", "vpmovwb", "xmm0", ",", "ymm4", "it", "would", "take", "less", "instructions", "than", "ix86_expand_vecop_qihi", ".", "Return", "true", "if", "success", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_expand_vecop_qihi2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37766, "Length": 269}
{"ground_truth": ["", "void", "ix86_expand_vector_convert_uns_vsivsf", "(", "rtx", "target", ",", "rtx", "val", ")", "{", "rtx", "tmp", "[", "8", "]", ";", "REAL_VALUE_TYPE", "TWO16r", ";", "machine_mode", "intmode", "=", "GET_MODE", "(", "val", ")", ";", "machine_mode", "fltmode", "=", "GET_MODE", "(", "target", ")", ";", "rtx", "(", "*", "cvt", ")", "(", "rtx", ",", "rtx", ")", ";", "if", "(", "intmode", "==", "V4SImode", ")", "cvt", "=", "gen_floatv4siv4sf2", ";", "else", "cvt", "=", "gen_floatv8siv8sf2", ";", "tmp", "[", "0", "]", "=", "ix86_build_const_vector", "(", "intmode", ",", "1", ",", "GEN_INT", "(", "0xffff", ")", ")", ";", "tmp", "[", "0", "]", "=", "force_reg", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ";", "tmp", "[", "1", "]", "=", "expand_simple_binop", "(", "intmode", ",", "AND", ",", "val", ",", "tmp", "[", "0", "]", ",", "NULL_RTX", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "tmp", "[", "2", "]", "=", "expand_simple_binop", "(", "intmode", ",", "LSHIFTRT", ",", "val", ",", "GEN_INT", "(", "16", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "tmp", "[", "3", "]", "=", "gen_reg_rtx", "(", "fltmode", ")", ";", "emit_insn", "(", "cvt", "(", "tmp", "[", "3", "]", ",", "tmp", "[", "1", "]", ")", ")", ";", "tmp", "[", "4", "]", "=", "gen_reg_rtx", "(", "fltmode", ")", ";", "emit_insn", "(", "cvt", "(", "tmp", "[", "4", "]", ",", "tmp", "[", "2", "]", ")", ")", ";", "real_ldexp", "(", "&", "TWO16r", ",", "&", "dconst1", ",", "16", ")", ";", "tmp", "[", "5", "]", "=", "const_double_from_real_value", "(", "TWO16r", ",", "SFmode", ")", ";", "tmp", "[", "5", "]", "=", "force_reg", "(", "fltmode", ",", "ix86_build_const_vector", "(", "fltmode", ",", "1", ",", "tmp", "[", "5", "]", ")", ")", ";", "if", "(", "TARGET_FMA", ")", "{", "tmp", "[", "6", "]", "=", "gen_rtx_FMA", "(", "fltmode", ",", "tmp", "[", "4", "]", ",", "tmp", "[", "5", "]", ",", "tmp", "[", "3", "]", ")", ";", "emit_move_insn", "(", "target", ",", "tmp", "[", "6", "]", ")", ";", "}", "else", "{", "tmp", "[", "6", "]", "=", "expand_simple_binop", "(", "fltmode", ",", "MULT", ",", "tmp", "[", "4", "]", ",", "tmp", "[", "5", "]", ",", "NULL_RTX", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "tmp", "[", "7", "]", "=", "expand_simple_binop", "(", "fltmode", ",", "PLUS", ",", "tmp", "[", "3", "]", ",", "tmp", "[", "6", "]", ",", "target", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "tmp", "[", "7", "]", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "tmp", "[", "7", "]", ")", ";", "}", "}", ""], "natrual_language": ["floatunsv", "{", "4,8", "}", "siv", "{", "4,8", "}", "sf2", "expander", ".", "Expand", "code", "to", "convert", "a", "vector", "of", "unsigned", "ints", "VAL", "to", "vector", "of", "floats", "TARGET", "."], "TS_V_token": ["i386", "8", "0", "1", "0xffff", "0", "0", "1", "0", "1", "2", "16", "1", "3", "3", "1", "4", "4", "2", "16", "5", "5", "1", "5", "6", "4", "5", "3", "6", "6", "4", "5", "1", "7", "3", "6", "1", "7", "7"], "File": "i386-expand", "Func": "ix86_expand_vector_convert_uns_vsivsf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37767, "Length": 360}
{"ground_truth": ["", "void", "ix86_expand_vector_init", "(", "bool", "mmx_ok", ",", "rtx", "target", ",", "rtx", "vals", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "int", "n_elts", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "int", "n_var", "=", "0", ",", "one_var", "=", "-", "1", ";", "bool", "all_same", "=", "true", ",", "all_const_zero", "=", "true", ";", "int", "i", ";", "rtx", "x", ";", "if", "(", "n_elts", "!=", "XVECLEN", "(", "vals", ",", "0", ")", ")", "{", "rtx", "subtarget", "=", "target", ";", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_MODE_INNER", "(", "GET_MODE", "(", "x", ")", ")", "==", "inner_mode", ")", ";", "if", "(", "GET_MODE_NUNITS", "(", "GET_MODE", "(", "x", ")", ")", "*", "2", "==", "n_elts", ")", "{", "rtx", "ops", "[", "2", "]", "=", "{", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ",", "XVECEXP", "(", "vals", ",", "0", ",", "1", ")", "}", ";", "if", "(", "inner_mode", "==", "QImode", "||", "inner_mode", "==", "HImode", "||", "inner_mode", "==", "TImode", "||", "inner_mode", "==", "HFmode", ")", "{", "unsigned", "int", "n_bits", "=", "n_elts", "*", "GET_MODE_SIZE", "(", "inner_mode", ")", ";", "scalar_mode", "elt_mode", "=", "inner_mode", "==", "TImode", "?", "DImode", ":", "SImode", ";", "n_bits", "/=", "GET_MODE_SIZE", "(", "elt_mode", ")", ";", "mode", "=", "mode_for_vector", "(", "elt_mode", ",", "n_bits", ")", ".", "require", "(", ")", ";", "inner_mode", "=", "mode_for_vector", "(", "elt_mode", ",", "n_bits", "/", "2", ")", ".", "require", "(", ")", ";", "ops", "[", "0", "]", "=", "gen_lowpart", "(", "inner_mode", ",", "ops", "[", "0", "]", ")", ";", "ops", "[", "1", "]", "=", "gen_lowpart", "(", "inner_mode", ",", "ops", "[", "1", "]", ")", ";", "subtarget", "=", "gen_reg_rtx", "(", "mode", ")", ";", "}", "ix86_expand_vector_init_concat", "(", "mode", ",", "subtarget", ",", "ops", ",", "2", ")", ";", "if", "(", "subtarget", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "GET_MODE", "(", "target", ")", ",", "subtarget", ")", ")", ";", "return", ";", "}", "gcc_unreachable", "(", ")", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "n_elts", ";", "++", "i", ")", "{", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "i", ")", ";", "if", "(", "!", "(", "CONST_SCALAR_INT_P", "(", "x", ")", "||", "CONST_DOUBLE_P", "(", "x", ")", "||", "CONST_FIXED_P", "(", "x", ")", ")", ")", "n_var", "++", ",", "one_var", "=", "i", ";", "else", "if", "(", "x", "!=", "CONST0_RTX", "(", "inner_mode", ")", ")", "all_const_zero", "=", "false", ";", "if", "(", "i", ">", "0", "&&", "!", "rtx_equal_p", "(", "x", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "all_same", "=", "false", ";", "}", "if", "(", "n_var", "==", "0", ")", "{", "emit_move_insn", "(", "target", ",", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "vals", ",", "0", ")", ")", ")", ";", "return", ";", "}", "if", "(", "all_same", "&&", "ix86_expand_vector_init_duplicate", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "return", ";", "if", "(", "n_var", "==", "1", ")", "{", "if", "(", "all_const_zero", "&&", "ix86_expand_vector_init_one_nonzero", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ",", "one_var", ")", ")", "return", ";", "if", "(", "ix86_expand_vector_init_one_var", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ",", "one_var", ")", ")", "return", ";", "}", "ix86_expand_vector_init_general", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ")", ";", "}", ""], "natrual_language": ["Initialize", "vector", "TARGET", "via", "VALS", ".", "Suppress", "the", "use", "of", "MMX", "instructions", "unless", "MMX_OK", "is", "true", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "0", "2", "2", "0", "0", "0", "1", "2", "0", "0", "1", "1", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0"], "File": "i386-expand", "Func": "ix86_expand_vector_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37768, "Length": 504}
{"ground_truth": ["", "static", "bool", "ix86_expand_vector_init_one_var", "(", "bool", "mmx_ok", ",", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "vals", ",", "int", "one_var", ")", "{", "rtx", "var", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ";", "machine_mode", "wmode", ";", "rtx", "const_vec", ",", "x", ";", "const_vec", "=", "copy_rtx", "(", "vals", ")", ";", "XVECEXP", "(", "const_vec", ",", "0", ",", "one_var", ")", "=", "CONST0_RTX", "(", "GET_MODE_INNER", "(", "mode", ")", ")", ";", "const_vec", "=", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "const_vec", ",", "0", ")", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_V2DFmode", ":", "case", "E_V2DImode", ":", "case", "E_V2SFmode", ":", "case", "E_V2SImode", ":", "return", "false", ";", "case", "E_V4DImode", ":", "if", "(", "!", "TARGET_64BIT", ")", "return", "false", ";", "case", "E_V8HFmode", ":", "case", "E_V16HFmode", ":", "case", "E_V4DFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V16HImode", ":", "case", "E_V32QImode", ":", "case", "E_V4SFmode", ":", "case", "E_V4SImode", ":", "case", "E_V8HImode", ":", "case", "E_V4HImode", ":", "break", ";", "case", "E_V16QImode", ":", "if", "(", "TARGET_SSE4_1", ")", "break", ";", "wmode", "=", "V8HImode", ";", "goto", "widen", ";", "case", "E_V8QImode", ":", "if", "(", "TARGET_MMX_WITH_SSE", "&&", "TARGET_SSE4_1", ")", "break", ";", "wmode", "=", "V4HImode", ";", "goto", "widen", ";", "case", "E_V4QImode", ":", "if", "(", "TARGET_SSE4_1", ")", "break", ";", "wmode", "=", "V2HImode", ";", "widen", ":", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", "^", "1", ")", ";", "if", "(", "one_var", "&", "1", ")", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "var", "=", "expand_simple_binop", "(", "HImode", ",", "ASHIFT", ",", "var", ",", "GEN_INT", "(", "8", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "GEN_INT", "(", "INTVAL", "(", "x", ")", "&", "0xff", ")", ";", "}", "else", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "x", "=", "gen_int_mode", "(", "UINTVAL", "(", "x", ")", "<<", "8", ",", "HImode", ")", ";", "}", "if", "(", "x", "!=", "const0_rtx", ")", "var", "=", "expand_simple_binop", "(", "HImode", ",", "IOR", ",", "var", ",", "x", ",", "var", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "gen_reg_rtx", "(", "wmode", ")", ";", "emit_move_insn", "(", "x", ",", "gen_lowpart", "(", "wmode", ",", "const_vec", ")", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "x", ",", "var", ",", "one_var", ">>", "1", ")", ";", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "mode", ",", "x", ")", ")", ";", "return", "true", ";", "default", ":", "return", "false", ";", "}", "emit_move_insn", "(", "target", ",", "const_vec", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "target", ",", "var", ",", "one_var", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init", ".", "Store", "into", "TARGET", "a", "vector", "consisting", "of", "the", "values", "in", "VALS", ".", "It", "is", "known", "that", "all", "elements", "except", "ONE_VAR", "are", "constants", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "1", "1", "8", "1", "0xff", "8", "1", "1"], "File": "i386-expand", "Func": "ix86_expand_vector_init_one_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37769, "Length": 391}
{"ground_truth": ["", "void", "ix86_expand_vector_logical_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "op1", "=", "NULL_RTX", ",", "op2", "=", "NULL_RTX", ";", "if", "(", "SUBREG_P", "(", "operands", "[", "1", "]", ")", ")", "{", "op1", "=", "operands", "[", "1", "]", ";", "op2", "=", "operands", "[", "2", "]", ";", "}", "else", "if", "(", "SUBREG_P", "(", "operands", "[", "2", "]", ")", ")", "{", "op1", "=", "operands", "[", "2", "]", ";", "op2", "=", "operands", "[", "1", "]", ";", "}", "if", "(", "op1", "&&", "!", "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL", "&&", "(", "SUBREG_P", "(", "op2", ")", "||", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", ")", "&&", "GET_MODE_CLASS", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "==", "MODE_VECTOR_FLOAT", "&&", "GET_MODE_SIZE", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "==", "GET_MODE_SIZE", "(", "mode", ")", "&&", "SUBREG_BYTE", "(", "op1", ")", "==", "0", "&&", "(", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", "||", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", "==", "GET_MODE", "(", "SUBREG_REG", "(", "op2", ")", ")", "&&", "SUBREG_BYTE", "(", "op2", ")", "==", "0", ")", ")", "&&", "can_create_pseudo_p", "(", ")", ")", "{", "rtx", "dst", ";", "switch", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "{", "case", "E_V4SFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V16SFmode", ":", "case", "E_V2DFmode", ":", "case", "E_V4DFmode", ":", "case", "E_V8DFmode", ":", "dst", "=", "gen_reg_rtx", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", ";", "if", "(", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", ")", "{", "op2", "=", "gen_lowpart", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "op2", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "}", "else", "{", "op1", "=", "operands", "[", "1", "]", ";", "op2", "=", "SUBREG_REG", "(", "operands", "[", "2", "]", ")", ";", "if", "(", "!", "vector_operand", "(", "op2", ",", "GET_MODE", "(", "dst", ")", ")", ")", "op2", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "}", "op1", "=", "SUBREG_REG", "(", "op1", ")", ";", "if", "(", "!", "vector_operand", "(", "op1", ",", "GET_MODE", "(", "dst", ")", ")", ")", "op1", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op1", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "GET_MODE", "(", "dst", ")", ",", "op1", ",", "op2", ")", ")", ")", ";", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "gen_lowpart", "(", "mode", ",", "dst", ")", ")", ";", "return", ";", "default", ":", "break", ";", "}", "}", "if", "(", "!", "vector_operand", "(", "operands", "[", "1", "]", ",", "mode", ")", ")", "operands", "[", "1", "]", "=", "force_reg", "(", "mode", ",", "operands", "[", "1", "]", ")", ";", "if", "(", "!", "vector_operand", "(", "operands", "[", "2", "]", ",", "mode", ")", ")", "operands", "[", "2", "]", "=", "force_reg", "(", "mode", ",", "operands", "[", "2", "]", ")", ";", "ix86_fixup_binary_operands_no_copy", "(", "code", ",", "mode", ",", "operands", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "operands", "[", "0", "]", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "vector", "logical", "operation", "CODE", "(", "AND", ",", "IOR", ",", "XOR", ")", "in", "MODE", "with", "the", "given", "OPERANDS", "."], "TS_V_token": ["i386", "1", "1", "2", "2", "2", "1", "0", "0", "1", "2", "0", "1", "1", "1", "2", "2", "2", "0", "1", "2"], "File": "i386-expand", "Func": "ix86_expand_vector_logical_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37770, "Length": 470}
{"ground_truth": ["", "void", "ix86_expand_vector_move_misalign", "(", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "op0", ",", "op1", ",", "m", ";", "op0", "=", "operands", "[", "0", "]", ";", "op1", "=", "operands", "[", "1", "]", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", "||", "optimize_insn_for_size_p", "(", ")", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "if", "(", "TARGET_AVX", ")", "{", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", ")", "ix86_avx256_split_vector_move_misalign", "(", "op0", ",", "op1", ")", ";", "else", "emit_insn", "(", "gen_rtx_SET", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "if", "(", "TARGET_SSE_UNALIGNED_LOAD_OPTIMAL", "||", "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "if", "(", "TARGET_SSE2", "&&", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "if", "(", "MEM_P", "(", "op1", ")", ")", "{", "if", "(", "TARGET_SSE2", "&&", "mode", "==", "V2DFmode", ")", "{", "rtx", "zero", ";", "if", "(", "TARGET_SSE_SPLIT_REGS", ")", "{", "emit_clobber", "(", "op0", ")", ";", "zero", "=", "op0", ";", "}", "else", "{", "zero", "=", "CONST0_RTX", "(", "V2DFmode", ")", ";", "}", "m", "=", "adjust_address", "(", "op1", ",", "DFmode", ",", "0", ")", ";", "emit_insn", "(", "gen_sse2_loadlpd", "(", "op0", ",", "zero", ",", "m", ")", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "DFmode", ",", "8", ")", ";", "emit_insn", "(", "gen_sse2_loadhpd", "(", "op0", ",", "op0", ",", "m", ")", ")", ";", "}", "else", "{", "rtx", "t", ";", "if", "(", "mode", "!=", "V4SFmode", ")", "t", "=", "gen_reg_rtx", "(", "V4SFmode", ")", ";", "else", "t", "=", "op0", ";", "if", "(", "TARGET_SSE_PARTIAL_REG_DEPENDENCY", ")", "emit_move_insn", "(", "t", ",", "CONST0_RTX", "(", "V4SFmode", ")", ")", ";", "else", "emit_clobber", "(", "t", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "V2SFmode", ",", "0", ")", ";", "emit_insn", "(", "gen_sse_loadlps", "(", "t", ",", "t", ",", "m", ")", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "V2SFmode", ",", "8", ")", ";", "emit_insn", "(", "gen_sse_loadhps", "(", "t", ",", "t", ",", "m", ")", ")", ";", "if", "(", "mode", "!=", "V4SFmode", ")", "emit_move_insn", "(", "op0", ",", "gen_lowpart", "(", "mode", ",", "t", ")", ")", ";", "}", "}", "else", "if", "(", "MEM_P", "(", "op0", ")", ")", "{", "if", "(", "TARGET_SSE2", "&&", "mode", "==", "V2DFmode", ")", "{", "m", "=", "adjust_address", "(", "op0", ",", "DFmode", ",", "0", ")", ";", "emit_insn", "(", "gen_sse2_storelpd", "(", "m", ",", "op1", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "DFmode", ",", "8", ")", ";", "emit_insn", "(", "gen_sse2_storehpd", "(", "m", ",", "op1", ")", ")", ";", "}", "else", "{", "if", "(", "mode", "!=", "V4SFmode", ")", "op1", "=", "gen_lowpart", "(", "V4SFmode", ",", "op1", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "V2SFmode", ",", "0", ")", ";", "emit_insn", "(", "gen_sse_storelps", "(", "m", ",", "op1", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "V2SFmode", ",", "8", ")", ";", "emit_insn", "(", "gen_sse_storehps", "(", "m", ",", "copy_rtx", "(", "op1", ")", ")", ")", ";", "}", "}", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "movmisalign", "patterns", "for", "SSE", ".", "Non-SSE", "modes", "go", "straight", "to", "ix86_expand_vector_move", "."], "TS_V_token": ["i386", "0", "1", "64", "32", "0", "8", "0", "8", "0", "8", "0", "8"], "File": "i386-expand", "Func": "ix86_expand_vector_move_misalign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37771, "Length": 472}
{"ground_truth": ["", "static", "rtx", "ix86_expand_vec_ext_builtin", "(", "tree", "exp", ",", "rtx", "target", ")", "{", "machine_mode", "tmode", ",", "mode0", ";", "tree", "arg0", ",", "arg1", ";", "int", "elt", ";", "rtx", "op0", ";", "arg0", "=", "CALL_EXPR_ARG", "(", "exp", ",", "0", ")", ";", "arg1", "=", "CALL_EXPR_ARG", "(", "exp", ",", "1", ")", ";", "op0", "=", "expand_normal", "(", "arg0", ")", ";", "elt", "=", "get_element_number", "(", "TREE_TYPE", "(", "arg0", ")", ",", "arg1", ")", ";", "tmode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ")", ";", "mode0", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ";", "gcc_assert", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", ";", "op0", "=", "force_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "optimize", "||", "!", "target", "||", "!", "register_operand", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "ix86_expand_vector_extract", "(", "true", ",", "target", ",", "op0", ",", "elt", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_builtin", ".", "These", "builtins", "are", "a", "wrapper", "around", "ix86_expand_vector_extract", ".", "They", "would", "be", "redundant", "(", "for", "non-MMX", ")", "if", "we", "had", "a", "language-level", "syntax", "for", "referencing", "vector", "elements", "."], "TS_V_token": ["i386", "0", "1"], "File": "i386-expand", "Func": "ix86_expand_vec_ext_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37772, "Length": 141}
{"ground_truth": ["", "static", "rtx", "ix86_expand_vec_init_builtin", "(", "tree", "type", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "machine_mode", "tmode", "=", "TYPE_MODE", "(", "type", ")", ";", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "tmode", ")", ";", "int", "i", ",", "n_elt", "=", "GET_MODE_NUNITS", "(", "tmode", ")", ";", "rtvec", "v", "=", "rtvec_alloc", "(", "n_elt", ")", ";", "gcc_assert", "(", "VECTOR_MODE_P", "(", "tmode", ")", ")", ";", "gcc_assert", "(", "call_expr_nargs", "(", "exp", ")", "==", "n_elt", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_elt", ";", "++", "i", ")", "{", "rtx", "x", "=", "expand_normal", "(", "CALL_EXPR_ARG", "(", "exp", ",", "i", ")", ")", ";", "RTVEC_ELT", "(", "v", ",", "i", ")", "=", "gen_lowpart", "(", "inner_mode", ",", "x", ")", ";", "}", "if", "(", "!", "target", "||", "!", "register_operand", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "ix86_expand_vector_init", "(", "true", ",", "target", ",", "gen_rtx_PARALLEL", "(", "tmode", ",", "v", ")", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_builtin", ".", "These", "builtins", "are", "a", "wrapper", "around", "ix86_expand_vector_init", ".", "We", "DO", "have", "language-level", "syntax", "for", "this", ",", "in", "the", "form", "of", "(", "type", ")", "{", "init-list", "}", ".", "Except", "that", "since", "we", "ca", "n't", "place", "emms", "instructions", "from", "inside", "the", "compiler", ",", "we", "ca", "n't", "allow", "the", "use", "of", "MMX", "registers", "unless", "the", "user", "explicitly", "asks", "for", "it", ".", "So", "we", "do", "*", "not", "*", "define", "vec_set/vec_extract/vec_init", "patterns", "for", "MMX", "modes", "in", "mmx.md", ".", "Instead", "we", "have", "builtins", "invoked", "by", "mmintrin.h", "that", "gives", "us", "license", "to", "emit", "these", "sorts", "of", "instructions", "."], "TS_V_token": ["i386", "0"], "File": "i386-expand", "Func": "ix86_expand_vec_init_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37773, "Length": 146}
{"ground_truth": ["", "static", "bool", "ix86_expand_vec_one_operand_perm_avx512", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "d", "->", "op0", ")", ";", "machine_mode", "maskmode", "=", "mode", ";", "unsigned", "inner_size", "=", "GET_MODE_SIZE", "(", "GET_MODE_INNER", "(", "mode", ")", ")", ";", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", "=", "NULL", ";", "rtx", "target", ",", "op0", ",", "mask", ";", "rtx", "vec", "[", "64", "]", ";", "if", "(", "!", "rtx_equal_p", "(", "d", "->", "op0", ",", "d", "->", "op1", ")", ")", "return", "false", ";", "if", "(", "!", "TARGET_AVX512F", ")", "return", "false", ";", "if", "(", "!", "TARGET_AVX512VL", "&&", "GET_MODE_SIZE", "(", "mode", ")", "<", "64", ")", "return", "false", ";", "if", "(", "!", "TARGET_AVX512BW", "&&", "inner_size", "==", "2", ")", "return", "false", ";", "if", "(", "!", "TARGET_AVX512VBMI", "&&", "inner_size", "==", "1", ")", "return", "false", ";", "switch", "(", "mode", ")", "{", "case", "E_V16SImode", ":", "gen", "=", "gen_avx512f_permvarv16si", ";", "break", ";", "case", "E_V16SFmode", ":", "gen", "=", "gen_avx512f_permvarv16sf", ";", "maskmode", "=", "V16SImode", ";", "break", ";", "case", "E_V8DImode", ":", "gen", "=", "gen_avx512f_permvarv8di", ";", "break", ";", "case", "E_V8DFmode", ":", "gen", "=", "gen_avx512f_permvarv8df", ";", "maskmode", "=", "V8DImode", ";", "break", ";", "case", "E_V32HImode", ":", "gen", "=", "gen_avx512bw_permvarv32hi", ";", "break", ";", "case", "E_V16HImode", ":", "gen", "=", "gen_avx512vl_permvarv16hi", ";", "break", ";", "case", "E_V8HImode", ":", "gen", "=", "gen_avx512vl_permvarv8hi", ";", "break", ";", "case", "E_V64QImode", ":", "gen", "=", "gen_avx512bw_permvarv64qi", ";", "break", ";", "case", "E_V32QImode", ":", "gen", "=", "gen_avx512vl_permvarv32qi", ";", "break", ";", "case", "E_V16QImode", ":", "gen", "=", "gen_avx512vl_permvarv16qi", ";", "break", ";", "default", ":", "return", "false", ";", "}", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "target", "=", "d", "->", "target", ";", "op0", "=", "d", "->", "op0", ";", "for", "(", "int", "i", "=", "0", ";", "i", "<", "d", "->", "nelt", ";", "++", "i", ")", "vec", "[", "i", "]", "=", "GEN_INT", "(", "d", "->", "perm", "[", "i", "]", ")", ";", "mask", "=", "gen_rtx_CONST_VECTOR", "(", "maskmode", ",", "gen_rtvec_v", "(", "d", "->", "nelt", ",", "vec", ")", ")", ";", "emit_insn", "(", "gen", "(", "target", ",", "op0", ",", "force_reg", "(", "maskmode", ",", "mask", ")", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Try", "to", "expand", "one-operand", "permutation", "with", "constant", "mask", "."], "TS_V_token": ["i386", "64", "64", "2", "1", "0"], "File": "i386-expand", "Func": "ix86_expand_vec_one_operand_perm_avx512", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37774, "Length": 326}
{"ground_truth": ["", "static", "bool", "ix86_expand_vec_perm_const_1", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "if", "(", "expand_vec_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshuflw_pshufhw", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_palignr", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_broadcast", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermq_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pblendv", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2perm_interleave", "(", "d", ",", "true", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2perm_pblendv", "(", "d", ",", "true", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_pack", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2vperm2f128_vshuf", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshufb2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave3", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128_vblend", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2perm_interleave", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2perm_pblendv", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_trunc", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermt2_vpshub2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb4_vpermq2", "(", "d", ")", ")", "return", "true", ";", "struct", "expand_vec_perm_d", "nd", ";", "if", "(", "canonicalize_vector_int_perm", "(", "d", ",", "&", "nd", ")", "&&", "expand_vec_perm_1", "(", "&", "nd", ")", ")", "{", "if", "(", "!", "d", "->", "testing_p", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "nd", ".", "target", ")", ")", ";", "return", "true", ";", "}", "if", "(", "expand_vec_perm2_vperm2f128_vblend", "(", "d", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["The", "guts", "of", "ix86_expand_vec_perm_const", ",", "also", "used", "by", "the", "ok", "hook", ".", "With", "all", "of", "the", "interface", "bits", "taken", "care", "of", ",", "perform", "the", "expansion", "in", "D", "and", "return", "true", "on", "success", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_expand_vec_perm_const_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37775, "Length": 314}
{"ground_truth": ["", "static", "rtx", "ix86_expand_vec_set_builtin", "(", "tree", "exp", ")", "{", "machine_mode", "tmode", ",", "mode1", ";", "tree", "arg0", ",", "arg1", ",", "arg2", ";", "int", "elt", ";", "rtx", "op0", ",", "op1", ",", "target", ";", "arg0", "=", "CALL_EXPR_ARG", "(", "exp", ",", "0", ")", ";", "arg1", "=", "CALL_EXPR_ARG", "(", "exp", ",", "1", ")", ";", "arg2", "=", "CALL_EXPR_ARG", "(", "exp", ",", "2", ")", ";", "tmode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ";", "mode1", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ")", ";", "gcc_assert", "(", "VECTOR_MODE_P", "(", "tmode", ")", ")", ";", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "tmode", ",", "EXPAND_NORMAL", ")", ";", "op1", "=", "expand_expr", "(", "arg1", ",", "NULL_RTX", ",", "mode1", ",", "EXPAND_NORMAL", ")", ";", "elt", "=", "get_element_number", "(", "TREE_TYPE", "(", "arg0", ")", ",", "arg2", ")", ";", "if", "(", "GET_MODE", "(", "op1", ")", "!=", "mode1", "&&", "GET_MODE", "(", "op1", ")", "!=", "VOIDmode", ")", "op1", "=", "convert_modes", "(", "mode1", ",", "GET_MODE", "(", "op1", ")", ",", "op1", ",", "true", ")", ";", "op0", "=", "force_reg", "(", "tmode", ",", "op0", ")", ";", "op1", "=", "force_reg", "(", "mode1", ",", "op1", ")", ";", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "emit_move_insn", "(", "target", ",", "op0", ")", ";", "ix86_expand_vector_set", "(", "true", ",", "target", ",", "op1", ",", "elt", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_builtin", ".", "These", "builtins", "are", "a", "wrapper", "around", "ix86_expand_vector_set", ".", "They", "would", "be", "redundant", "(", "for", "non-MMX", ")", "if", "we", "had", "a", "language-level", "syntax", "for", "referencing", "vector", "elements", "."], "TS_V_token": ["i386", "0", "1", "2"], "File": "i386-expand", "Func": "ix86_expand_vec_set_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37776, "Length": 205}
{"ground_truth": ["", "static", "bool", "ix86_expand_vec_shift_qihi_constant", "(", "enum", "rtx_code", "code", ",", "rtx", "dest", ",", "rtx", "op1", ",", "rtx", "op2", ")", "{", "machine_mode", "qimode", ",", "himode", ";", "HOST_WIDE_INT", "and_constant", ",", "xor_constant", ";", "HOST_WIDE_INT", "shift_amount", ";", "rtx", "vec_const_and", ",", "vec_const_xor", ";", "rtx", "tmp", ",", "op1_subreg", ";", "rtx", "(", "*", "gen_shift", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_and", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_xor", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_sub", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "if", "(", "!", "CONST_INT_P", "(", "op2", ")", ")", "return", "false", ";", "qimode", "=", "GET_MODE", "(", "dest", ")", ";", "shift_amount", "=", "INTVAL", "(", "op2", ")", ";", "if", "(", "shift_amount", ">", "7", ")", "return", "false", ";", "gcc_assert", "(", "code", "==", "ASHIFT", "||", "code", "==", "ASHIFTRT", "||", "code", "==", "LSHIFTRT", ")", ";", "xor_constant", "=", "1", "<<", "(", "8", "-", "shift_amount", "-", "1", ")", ";", "and_constant", "=", "(", "code", "==", "ASHIFT", "?", "256", "-", "(", "1", "<<", "shift_amount", ")", ":", "(", "1", "<<", "(", "8", "-", "shift_amount", ")", ")", "-", "1", ")", ";", "switch", "(", "qimode", ")", "{", "case", "V16QImode", ":", "himode", "=", "V8HImode", ";", "gen_shift", "=", "(", "(", "code", "==", "ASHIFT", ")", "?", "gen_ashlv8hi3", ":", "(", "code", "==", "ASHIFTRT", ")", "?", "gen_ashrv8hi3", ":", "gen_lshrv8hi3", ")", ";", "gen_and", "=", "gen_andv16qi3", ";", "gen_xor", "=", "gen_xorv16qi3", ";", "gen_sub", "=", "gen_subv16qi3", ";", "break", ";", "case", "V32QImode", ":", "himode", "=", "V16HImode", ";", "gen_shift", "=", "(", "(", "code", "==", "ASHIFT", ")", "?", "gen_ashlv16hi3", ":", "(", "code", "==", "ASHIFTRT", ")", "?", "gen_ashrv16hi3", ":", "gen_lshrv16hi3", ")", ";", "gen_and", "=", "gen_andv32qi3", ";", "gen_xor", "=", "gen_xorv32qi3", ";", "gen_sub", "=", "gen_subv32qi3", ";", "break", ";", "case", "V64QImode", ":", "himode", "=", "V32HImode", ";", "gen_shift", "=", "(", "(", "code", "==", "ASHIFT", ")", "?", "gen_ashlv32hi3", ":", "(", "code", "==", "ASHIFTRT", ")", "?", "gen_ashrv32hi3", ":", "gen_lshrv32hi3", ")", ";", "gen_and", "=", "gen_andv64qi3", ";", "gen_xor", "=", "gen_xorv64qi3", ";", "gen_sub", "=", "gen_subv64qi3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "tmp", "=", "gen_reg_rtx", "(", "himode", ")", ";", "vec_const_and", "=", "gen_reg_rtx", "(", "qimode", ")", ";", "op1_subreg", "=", "lowpart_subreg", "(", "himode", ",", "op1", ",", "qimode", ")", ";", "emit_insn", "(", "gen_shift", "(", "tmp", ",", "op1_subreg", ",", "op2", ")", ")", ";", "emit_move_insn", "(", "dest", ",", "simplify_gen_subreg", "(", "qimode", ",", "tmp", ",", "himode", ",", "0", ")", ")", ";", "emit_move_insn", "(", "vec_const_and", ",", "ix86_build_const_vector", "(", "qimode", ",", "true", ",", "gen_int_mode", "(", "and_constant", ",", "QImode", ")", ")", ")", ";", "emit_insn", "(", "gen_and", "(", "dest", ",", "dest", ",", "vec_const_and", ")", ")", ";", "if", "(", "code", "==", "ASHIFTRT", ")", "{", "vec_const_xor", "=", "gen_reg_rtx", "(", "qimode", ")", ";", "emit_move_insn", "(", "vec_const_xor", ",", "ix86_build_const_vector", "(", "qimode", ",", "true", ",", "gen_int_mode", "(", "xor_constant", ",", "QImode", ")", ")", ")", ";", "emit_insn", "(", "gen_xor", "(", "dest", ",", "dest", ",", "vec_const_xor", ")", ")", ";", "emit_insn", "(", "gen_sub", "(", "dest", ",", "dest", ",", "vec_const_xor", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "vector", "operation", "shift", "by", "constant", "for", "a", "V", "*", "QImode", "in", "terms", "of", "the", "same", "operation", "on", "V", "*", "HImode", ".", "Return", "true", "if", "success", "."], "TS_V_token": ["i386", "7", "1", "8", "1", "256", "1", "1", "8", "1", "0"], "File": "i386-expand", "Func": "ix86_expand_vec_shift_qihi_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37777, "Length": 469}
{"ground_truth": ["", "void", "ix86_expand_xorsign", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "vdest", ",", "op0", ",", "op1", ",", "mask", ",", "x", ",", "temp", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "op1", "=", "operands", "[", "2", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "mode", "==", "HFmode", ")", "vmode", "=", "V8HFmode", ";", "else", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "else", "gcc_unreachable", "(", ")", ";", "temp", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "0", ")", ";", "op1", "=", "lowpart_subreg", "(", "vmode", ",", "force_reg", "(", "mode", ",", "op1", ")", ",", "mode", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "op1", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "temp", ",", "x", ")", ")", ";", "op0", "=", "lowpart_subreg", "(", "vmode", ",", "force_reg", "(", "mode", ",", "op0", ")", ",", "mode", ")", ";", "x", "=", "gen_rtx_XOR", "(", "vmode", ",", "temp", ",", "op0", ")", ";", "vdest", "=", "lowpart_subreg", "(", "vmode", ",", "dest", ",", "mode", ")", ";", "if", "(", "vdest", "==", "NULL_RTX", ")", "vdest", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "else", "dest", "=", "NULL_RTX", ";", "emit_insn", "(", "gen_rtx_SET", "(", "vdest", ",", "x", ")", ")", ";", "if", "(", "dest", ")", "emit_move_insn", "(", "dest", ",", "lowpart_subreg", "(", "mode", ",", "vdest", ",", "vmode", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "an", "xorsign", "operation", "."], "TS_V_token": ["i386", "0", "1", "2", "0", "0"], "File": "i386-expand", "Func": "ix86_expand_xorsign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37778, "Length": 234}
{"ground_truth": ["", "bool", "ix86_extract_perm_from_pool_constant", "(", "int", "*", "perm", ",", "rtx", "mem", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "mem", ")", ";", "int", "nelt", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "if", "(", "!", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "return", "false", ";", "if", "(", "!", "(", "MEM_P", "(", "mem", ")", ")", "||", "!", "SYMBOL_REF_P", "(", "XEXP", "(", "mem", ",", "0", ")", ")", "||", "!", "CONSTANT_POOL_ADDRESS_P", "(", "XEXP", "(", "mem", ",", "0", ")", ")", ")", "return", "false", ";", "rtx", "constant", "=", "get_pool_constant", "(", "XEXP", "(", "mem", ",", "0", ")", ")", ";", "if", "(", "GET_CODE", "(", "constant", ")", "!=", "CONST_VECTOR", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "constant", ")", "!=", "mode", ")", "{", "constant", "=", "simplify_subreg", "(", "mode", ",", "constant", ",", "GET_MODE", "(", "constant", ")", ",", "0", ")", ";", "if", "(", "constant", "==", "nullptr", "||", "GET_CODE", "(", "constant", ")", "!=", "CONST_VECTOR", ")", "return", "false", ";", "}", "for", "(", "int", "i", "=", "0", ";", "i", "!=", "nelt", ";", "i", "++", ")", "perm", "[", "i", "]", "=", "UINTVAL", "(", "XVECEXP", "(", "constant", ",", "0", ",", "i", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "mem", "is", "pool", "constant", "which", "contains", "a", "const_vector", "perm", "index", ",", "assign", "the", "index", "to", "PERM", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0"], "File": "i386-expand", "Func": "ix86_extract_perm_from_pool_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37779, "Length": 176}
{"ground_truth": ["", "rtx", "ix86_fixup_binary_operands", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src1", "=", "operands", "[", "1", "]", ";", "rtx", "src2", "=", "operands", "[", "2", "]", ";", "if", "(", "ix86_swap_binary_operands_p", "(", "code", ",", "mode", ",", "operands", ")", ")", "{", "gcc_assert", "(", "GET_MODE", "(", "src1", ")", "==", "GET_MODE", "(", "src2", ")", ")", ";", "std", "::", "swap", "(", "src1", ",", "src2", ")", ";", "}", "if", "(", "MEM_P", "(", "src1", ")", "&&", "MEM_P", "(", "src2", ")", ")", "{", "if", "(", "rtx_equal_p", "(", "src1", ",", "src2", ")", ")", "{", "src2", "=", "force_reg", "(", "mode", ",", "src2", ")", ";", "src1", "=", "src2", ";", "}", "else", "if", "(", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "src2", "=", "force_reg", "(", "mode", ",", "src2", ")", ";", "else", "src1", "=", "force_reg", "(", "mode", ",", "src1", ")", ";", "}", "if", "(", "MEM_P", "(", "dst", ")", "&&", "!", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "dst", "=", "gen_reg_rtx", "(", "mode", ")", ";", "if", "(", "CONSTANT_P", "(", "src1", ")", ")", "src1", "=", "force_reg", "(", "mode", ",", "src1", ")", ";", "if", "(", "MEM_P", "(", "src1", ")", "&&", "!", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "src1", "=", "force_reg", "(", "mode", ",", "src1", ")", ";", "if", "(", "code", "==", "PLUS", "&&", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_INT", "&&", "MEM_P", "(", "src2", ")", ")", "src2", "=", "force_reg", "(", "mode", ",", "src2", ")", ";", "operands", "[", "1", "]", "=", "src1", ";", "operands", "[", "2", "]", "=", "src2", ";", "return", "dst", ";", "}", ""], "natrual_language": ["Fix", "up", "OPERANDS", "to", "satisfy", "ix86_binary_operator_ok", ".", "Return", "the", "destination", "to", "use", "for", "the", "operation", ".", "If", "different", "from", "the", "true", "destination", "in", "operands", "[", "0", "]", ",", "a", "copy", "operation", "will", "be", "required", "."], "TS_V_token": ["i386", "0", "1", "2", "1", "2"], "File": "i386-expand", "Func": "ix86_fixup_binary_operands", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37780, "Length": 249}
{"ground_truth": ["", "void", "ix86_fixup_binary_operands_no_copy", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "dst", "=", "ix86_fixup_binary_operands", "(", "code", ",", "mode", ",", "operands", ")", ";", "gcc_assert", "(", "dst", "==", "operands", "[", "0", "]", ")", ";", "}", ""], "natrual_language": ["Similarly", ",", "but", "assume", "that", "the", "destination", "has", "already", "been", "set", "up", "properly", "."], "TS_V_token": ["i386", "0"], "File": "i386-expand", "Func": "ix86_fixup_binary_operands_no_copy", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37781, "Length": 39}
{"ground_truth": ["", "static", "int", "ix86_fp_cmp_code_to_pcmp_immediate", "(", "enum", "rtx_code", "code", ")", "{", "switch", "(", "code", ")", "{", "case", "EQ", ":", "return", "0x00", ";", "case", "NE", ":", "return", "0x04", ";", "case", "GT", ":", "return", "0x0e", ";", "case", "LE", ":", "return", "0x02", ";", "case", "GE", ":", "return", "0x0d", ";", "case", "LT", ":", "return", "0x01", ";", "case", "UNLE", ":", "return", "0x0a", ";", "case", "UNLT", ":", "return", "0x09", ";", "case", "UNGE", ":", "return", "0x05", ";", "case", "UNGT", ":", "return", "0x06", ";", "case", "UNEQ", ":", "return", "0x18", ";", "case", "LTGT", ":", "return", "0x0c", ";", "case", "ORDERED", ":", "return", "0x07", ";", "case", "UNORDERED", ":", "return", "0x03", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Helper", "for", "ix86_cmp_code_to_pcmp_immediate", "for", "fp", "modes", "."], "TS_V_token": ["i386", "0x00", "0x04", "0x0e", "0x02", "0x0d", "0x01", "0x0a", "0x09", "0x05", "0x06", "0x18", "0x0c", "0x07", "0x03"], "File": "i386-expand", "Func": "ix86_fp_cmp_code_to_pcmp_immediate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37782, "Length": 106}
{"ground_truth": ["", "static", "int", "ix86_fp_comparison_cost", "(", "enum", "rtx_code", "code", ")", "{", "int", "arith_cost", ";", "switch", "(", "code", ")", "{", "case", "UNLE", ":", "case", "UNLT", ":", "case", "LTGT", ":", "case", "GT", ":", "case", "GE", ":", "case", "UNORDERED", ":", "case", "ORDERED", ":", "case", "UNEQ", ":", "arith_cost", "=", "4", ";", "break", ";", "case", "LT", ":", "case", "NE", ":", "case", "EQ", ":", "case", "UNGE", ":", "arith_cost", "=", "TARGET_IEEE_FP", "?", "5", ":", "4", ";", "break", ";", "case", "LE", ":", "case", "UNGT", ":", "arith_cost", "=", "TARGET_IEEE_FP", "?", "6", ":", "4", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "switch", "(", "ix86_fp_comparison_strategy", "(", "code", ")", ")", "{", "case", "IX86_FPCMP_COMI", ":", "return", "arith_cost", ">", "4", "?", "3", ":", "2", ";", "case", "IX86_FPCMP_SAHF", ":", "return", "arith_cost", ">", "4", "?", "4", ":", "3", ";", "default", ":", "return", "arith_cost", ";", "}", "}", ""], "natrual_language": ["Compute", "cost", "of", "the", "comparison", "done", "using", "any", "method", ".", "See", "ix86_fp_comparison_arithmetics_cost", "for", "the", "metrics", "."], "TS_V_token": ["i386", "4", "5", "4", "6", "4", "4", "3", "2", "4", "4", "3"], "File": "i386-expand", "Func": "ix86_fp_comparison_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37783, "Length": 131}
{"ground_truth": ["", "static", "enum", "rtx_code", "ix86_fp_swap_condition", "(", "enum", "rtx_code", "code", ")", "{", "switch", "(", "code", ")", "{", "case", "GT", ":", "return", "TARGET_IEEE_FP", "?", "UNKNOWN", ":", "UNLT", ";", "case", "GE", ":", "return", "TARGET_IEEE_FP", "?", "UNKNOWN", ":", "UNLE", ";", "case", "UNLT", ":", "return", "TARGET_IEEE_FP", "?", "UNKNOWN", ":", "GT", ";", "case", "UNLE", ":", "return", "TARGET_IEEE_FP", "?", "UNKNOWN", ":", "GE", ";", "default", ":", "return", "swap_condition", "(", "code", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "comparison", "we", "can", "do", "and", "that", "it", "is", "equivalent", "to", "swap_condition", "(", "code", ")", "apart", "possibly", "from", "orderedness", ".", "But", ",", "never", "change", "orderedness", "if", "TARGET_IEEE_FP", ",", "returning", "UNKNOWN", "in", "that", "case", "if", "necessary", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_fp_swap_condition", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37784, "Length": 65}
{"ground_truth": ["", "static", "rtx", "ix86_gen_TWO52", "(", "machine_mode", "mode", ")", "{", "const", "struct", "real_format", "*", "fmt", ";", "REAL_VALUE_TYPE", "TWO52r", ";", "rtx", "TWO52", ";", "fmt", "=", "REAL_MODE_FORMAT", "(", "mode", ")", ";", "real_2expN", "(", "&", "TWO52r", ",", "fmt", "->", "p", "-", "1", ",", "mode", ")", ";", "TWO52", "=", "const_double_from_real_value", "(", "TWO52r", ",", "mode", ")", ";", "TWO52", "=", "force_reg", "(", "mode", ",", "TWO52", ")", ";", "return", "TWO52", ";", "}", ""], "natrual_language": ["Generate", "and", "return", "a", "rtx", "of", "mode", "MODE", "for", "2", "*", "*", "n", "where", "n", "is", "the", "number", "of", "bits", "of", "the", "mantissa", "of", "MODE", ",", "which", "must", "be", "one", "of", "DFmode", "or", "SFmode", "."], "TS_V_token": ["i386", "1"], "File": "i386-expand", "Func": "ix86_gen_TWO52", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37785, "Length": 63}
{"ground_truth": ["", "static", "int", "ix86_int_cmp_code_to_pcmp_immediate", "(", "enum", "rtx_code", "code", ")", "{", "switch", "(", "code", ")", "{", "case", "EQ", ":", "return", "0", ";", "case", "LT", ":", "case", "LTU", ":", "return", "1", ";", "case", "LE", ":", "case", "LEU", ":", "return", "2", ";", "case", "NE", ":", "return", "4", ";", "case", "GE", ":", "case", "GEU", ":", "return", "5", ";", "case", "GT", ":", "case", "GTU", ":", "return", "6", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Helper", "for", "ix86_cmp_code_to_pcmp_immediate", "for", "int", "modes", "."], "TS_V_token": ["i386", "0", "1", "2", "4", "5", "6"], "File": "i386-expand", "Func": "ix86_int_cmp_code_to_pcmp_immediate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37786, "Length": 70}
{"ground_truth": ["", "void", "ix86_move_vector_high_sse_to_mmx", "(", "rtx", "op", ")", "{", "rtx", "mask", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "4", ",", "GEN_INT", "(", "0", ")", ",", "GEN_INT", "(", "2", ")", ",", "GEN_INT", "(", "0", ")", ",", "GEN_INT", "(", "0", ")", ")", ")", ";", "rtx", "dest", "=", "lowpart_subreg", "(", "V4SImode", ",", "op", ",", "GET_MODE", "(", "op", ")", ")", ";", "op", "=", "gen_rtx_VEC_SELECT", "(", "V4SImode", ",", "dest", ",", "mask", ")", ";", "rtx", "insn", "=", "gen_rtx_SET", "(", "dest", ",", "op", ")", ";", "emit_insn", "(", "insn", ")", ";", "}", ""], "natrual_language": ["Move", "bits", "64:95", "to", "bits", "32:63", "."], "TS_V_token": ["i386", "4", "0", "2", "0", "0"], "File": "i386-expand", "Func": "ix86_move_vector_high_sse_to_mmx", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37787, "Length": 82}
{"ground_truth": ["", "bool", "ix86_notrack_prefixed_insn_p", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "!", "insn", "||", "!", "(", "(", "flag_cf_protection", "&", "CF_BRANCH", ")", ")", ")", "return", "false", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "rtx", "call", "=", "get_call_rtx_from", "(", "insn", ")", ";", "gcc_assert", "(", "call", "!=", "NULL_RTX", ")", ";", "rtx", "addr", "=", "XEXP", "(", "call", ",", "0", ")", ";", "if", "(", "MEM_P", "(", "addr", ")", "&&", "GET_CODE", "(", "XEXP", "(", "addr", ",", "0", ")", ")", "==", "SYMBOL_REF", ")", "return", "false", ";", "else", "return", "find_reg_note", "(", "insn", ",", "REG_CALL_NOCF_CHECK", ",", "0", ")", ";", "}", "if", "(", "JUMP_P", "(", "insn", ")", "&&", "!", "flag_cet_switch", ")", "{", "rtx", "target", "=", "JUMP_LABEL", "(", "insn", ")", ";", "if", "(", "target", "==", "NULL_RTX", "||", "ANY_RETURN_P", "(", "target", ")", ")", "return", "false", ";", "rtx_insn", "*", "label", "=", "as_a", "<", "rtx_insn", "*", ">", "(", "target", ")", ";", "rtx_insn", "*", "table", "=", "next_insn", "(", "label", ")", ";", "if", "(", "table", "==", "NULL_RTX", "||", "!", "JUMP_TABLE_DATA_P", "(", "table", ")", ")", "return", "false", ";", "else", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "1", "if", "control", "tansfer", "instruction", "INSN", "should", "be", "encoded", "with", "notrack", "prefix", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i386-expand", "Func": "ix86_notrack_prefixed_insn_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37788, "Length": 171}
{"ground_truth": ["", "static", "enum", "rtx_code", "ix86_prepare_fp_compare_args", "(", "enum", "rtx_code", "code", ",", "rtx", "*", "pop0", ",", "rtx", "*", "pop1", ")", "{", "bool", "unordered_compare", "=", "ix86_unordered_fp_compare", "(", "code", ")", ";", "rtx", "op0", "=", "*", "pop0", ",", "op1", "=", "*", "pop1", ";", "machine_mode", "op_mode", "=", "GET_MODE", "(", "op0", ")", ";", "bool", "is_sse", "=", "SSE_FLOAT_MODE_SSEMATH_OR_HF_P", "(", "op_mode", ")", ";", "if", "(", "!", "is_sse", "&&", "(", "unordered_compare", "||", "(", "op_mode", "==", "XFmode", "&&", "!", "(", "standard_80387_constant_p", "(", "op0", ")", "==", "1", "||", "standard_80387_constant_p", "(", "op1", ")", "==", "1", ")", "&&", "GET_CODE", "(", "op1", ")", "!=", "FLOAT", ")", "||", "ix86_fp_comparison_strategy", "(", "code", ")", "==", "IX86_FPCMP_COMI", ")", ")", "{", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "else", "{", "if", "(", "standard_80387_constant_p", "(", "op0", ")", "==", "0", "||", "(", "MEM_P", "(", "op0", ")", "&&", "!", "(", "standard_80387_constant_p", "(", "op1", ")", "==", "0", "||", "MEM_P", "(", "op1", ")", ")", ")", ")", "{", "enum", "rtx_code", "new_code", "=", "ix86_fp_swap_condition", "(", "code", ")", ";", "if", "(", "new_code", "!=", "UNKNOWN", ")", "{", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "code", "=", "new_code", ";", "}", "}", "if", "(", "!", "REG_P", "(", "op0", ")", ")", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "if", "(", "CONSTANT_P", "(", "op1", ")", ")", "{", "int", "tmp", "=", "standard_80387_constant_p", "(", "op1", ")", ";", "if", "(", "tmp", "==", "0", ")", "op1", "=", "validize_mem", "(", "force_const_mem", "(", "op_mode", ",", "op1", ")", ")", ";", "else", "if", "(", "tmp", "==", "1", ")", "{", "if", "(", "TARGET_CMOVE", ")", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "else", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "}", "if", "(", "ix86_fp_comparison_cost", "(", "code", ")", ">", "ix86_fp_comparison_cost", "(", "swap_condition", "(", "code", ")", ")", "&&", "(", "REG_P", "(", "op1", ")", "||", "can_create_pseudo_p", "(", ")", ")", ")", "{", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "code", "=", "swap_condition", "(", "code", ")", ";", "if", "(", "!", "REG_P", "(", "op0", ")", ")", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "}", "*", "pop0", "=", "op0", ";", "*", "pop1", "=", "op1", ";", "return", "code", ";", "}", ""], "natrual_language": ["Swap", ",", "force", "into", "registers", ",", "or", "otherwise", "massage", "the", "two", "operands", "to", "a", "fp", "comparison", ".", "The", "operands", "are", "updated", "in", "place", ";", "the", "new", "comparsion", "code", "is", "returned", "."], "TS_V_token": ["i386", "1", "1", "0", "0", "0", "1"], "File": "i386-expand", "Func": "ix86_prepare_fp_compare_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37789, "Length": 344}
{"ground_truth": ["", "static", "enum", "rtx_code", "ix86_prepare_sse_fp_compare_args", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "*", "pop0", ",", "rtx", "*", "pop1", ")", "{", "switch", "(", "code", ")", "{", "case", "LTGT", ":", "case", "UNEQ", ":", "if", "(", "TARGET_AVX", ")", "break", ";", "return", "UNKNOWN", ";", "case", "LT", ":", "case", "LE", ":", "case", "UNGT", ":", "case", "UNGE", ":", "break", ";", "case", "EQ", ":", "case", "NE", ":", "case", "UNORDERED", ":", "case", "ORDERED", ":", "if", "(", "TARGET_AVX", ")", "break", ";", "if", "(", "!", "dest", "||", "!", "rtx_equal_p", "(", "dest", ",", "*", "pop1", ")", ")", "break", ";", "case", "GE", ":", "case", "GT", ":", "case", "UNLE", ":", "case", "UNLT", ":", "std", "::", "swap", "(", "*", "pop0", ",", "*", "pop1", ")", ";", "code", "=", "swap_condition", "(", "code", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "code", ";", "}", ""], "natrual_language": ["Swap", ",", "force", "into", "registers", ",", "or", "otherwise", "massage", "the", "two", "operands", "to", "an", "sse", "comparison", "with", "a", "mask", "result", ".", "Thus", "we", "differ", "a", "bit", "from", "ix86_prepare_fp_compare_args", "which", "expects", "to", "produce", "a", "flags", "result", ".", "The", "DEST", "operand", "exists", "to", "help", "determine", "whether", "to", "commute", "commutative", "operators", ".", "The", "POP0/POP1", "operands", "are", "updated", "in", "place", ".", "The", "new", "comparison", "code", "is", "returned", ",", "or", "UNKNOWN", "if", "not", "implementable", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_prepare_sse_fp_compare_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37790, "Length": 132}
{"ground_truth": ["", "void", "ix86_split_convert_uns_si_sse", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "vecmode", ";", "rtx", "value", ",", "large", ",", "zero_or_two31", ",", "input", ",", "two31", ",", "x", ";", "large", "=", "operands", "[", "1", "]", ";", "zero_or_two31", "=", "operands", "[", "2", "]", ";", "input", "=", "operands", "[", "3", "]", ";", "two31", "=", "operands", "[", "4", "]", ";", "vecmode", "=", "GET_MODE", "(", "large", ")", ";", "value", "=", "gen_rtx_REG", "(", "vecmode", ",", "REGNO", "(", "operands", "[", "0", "]", ")", ")", ";", "if", "(", "MEM_P", "(", "input", ")", ")", "{", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_vec_setv4sf_0", "(", "value", ",", "CONST0_RTX", "(", "V4SFmode", ")", ",", "input", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_loadlpd", "(", "value", ",", "CONST0_RTX", "(", "V2DFmode", ")", ",", "input", ")", ")", ";", "}", "else", "{", "input", "=", "gen_rtx_REG", "(", "vecmode", ",", "REGNO", "(", "input", ")", ")", ";", "emit_move_insn", "(", "value", ",", "CONST0_RTX", "(", "vecmode", ")", ")", ";", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_sse_movss", "(", "value", ",", "value", ",", "input", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_movsd", "(", "value", ",", "value", ",", "input", ")", ")", ";", "}", "emit_move_insn", "(", "large", ",", "two31", ")", ";", "emit_move_insn", "(", "zero_or_two31", ",", "MEM_P", "(", "two31", ")", "?", "large", ":", "two31", ")", ";", "x", "=", "gen_rtx_fmt_ee", "(", "LE", ",", "vecmode", ",", "large", ",", "value", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "large", ",", "x", ")", ")", ";", "x", "=", "gen_rtx_AND", "(", "vecmode", ",", "zero_or_two31", ",", "large", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "zero_or_two31", ",", "x", ")", ")", ";", "x", "=", "gen_rtx_MINUS", "(", "vecmode", ",", "value", ",", "zero_or_two31", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "value", ",", "x", ")", ")", ";", "large", "=", "gen_rtx_REG", "(", "V4SImode", ",", "REGNO", "(", "large", ")", ")", ";", "emit_insn", "(", "gen_ashlv4si3", "(", "large", ",", "large", ",", "GEN_INT", "(", "31", ")", ")", ")", ";", "x", "=", "gen_rtx_REG", "(", "V4SImode", ",", "REGNO", "(", "value", ")", ")", ";", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_fix_truncv4sfv4si2", "(", "x", ",", "value", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_cvttpd2dq", "(", "x", ",", "value", ")", ")", ";", "value", "=", "x", ";", "emit_insn", "(", "gen_xorv4si3", "(", "value", ",", "value", ",", "large", ")", ")", ";", "}", ""], "natrual_language": ["Post-reload", "splitter", "for", "converting", "an", "SF", "or", "DFmode", "value", "in", "an", "SSE", "register", "into", "an", "unsigned", "SImode", "."], "TS_V_token": ["i386", "1", "2", "3", "4", "0", "31"], "File": "i386-expand", "Func": "ix86_split_convert_uns_si_sse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37791, "Length": 346}
{"ground_truth": ["", "void", "ix86_split_copysign_const", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "mask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "mask", "=", "operands", "[", "3", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "dest", "=", "lowpart_subreg", "(", "vmode", ",", "dest", ",", "mode", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "if", "(", "op0", "!=", "CONST0_RTX", "(", "vmode", ")", ")", "{", "x", "=", "gen_rtx_IOR", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", "}", ""], "natrual_language": ["Deconstruct", "a", "copysign", "operation", "into", "bit", "masks", ".", "Operand", "0", "is", "known", "to", "be", "a", "constant", ",", "and", "so", "has", "already", "been", "expanded", "into", "a", "vector", "constant", "."], "TS_V_token": ["i386", "0", "1", "3"], "File": "i386-expand", "Func": "ix86_split_copysign_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37792, "Length": 123}
{"ground_truth": ["", "void", "ix86_split_copysign_var", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "scratch", ",", "op0", ",", "op1", ",", "mask", ",", "nmask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "scratch", "=", "operands", "[", "1", "]", ";", "op0", "=", "operands", "[", "2", "]", ";", "op1", "=", "operands", "[", "3", "]", ";", "nmask", "=", "operands", "[", "4", "]", ";", "mask", "=", "operands", "[", "5", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "if", "(", "rtx_equal_p", "(", "op0", ",", "op1", ")", ")", "{", "emit_move_insn", "(", "dest", ",", "op0", ")", ";", "return", ";", "}", "if", "(", "REG_P", "(", "mask", ")", "&&", "REGNO", "(", "dest", ")", "==", "REGNO", "(", "mask", ")", ")", "{", "gcc_assert", "(", "REGNO", "(", "op1", ")", "==", "REGNO", "(", "scratch", ")", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "scratch", ",", "x", ")", ")", ";", "dest", "=", "mask", ";", "op0", "=", "lowpart_subreg", "(", "vmode", ",", "op0", ",", "mode", ")", ";", "x", "=", "gen_rtx_NOT", "(", "vmode", ",", "dest", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "x", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", "else", "{", "if", "(", "REGNO", "(", "op1", ")", "==", "REGNO", "(", "scratch", ")", ")", "{", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "mask", ")", ";", "}", "else", "{", "gcc_assert", "(", "REGNO", "(", "mask", ")", "==", "REGNO", "(", "scratch", ")", ")", ";", "op1", "=", "lowpart_subreg", "(", "vmode", ",", "op1", ",", "mode", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "op1", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "scratch", ",", "x", ")", ")", ";", "if", "(", "REGNO", "(", "op0", ")", "==", "REGNO", "(", "dest", ")", ")", "{", "dest", "=", "lowpart_subreg", "(", "vmode", ",", "op0", ",", "mode", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "nmask", ")", ";", "}", "else", "{", "gcc_assert", "(", "REGNO", "(", "nmask", ")", "==", "REGNO", "(", "dest", ")", ")", ";", "dest", "=", "nmask", ";", "op0", "=", "lowpart_subreg", "(", "vmode", ",", "op0", ",", "mode", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", "x", "=", "gen_rtx_IOR", "(", "vmode", ",", "dest", ",", "scratch", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", ""], "natrual_language": ["Deconstruct", "a", "copysign", "operation", "into", "bit", "masks", ".", "Operand", "0", "is", "variable", ",", "so", "we", "have", "to", "do", "two", "masks", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "4", "5"], "File": "i386-expand", "Func": "ix86_split_copysign_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37793, "Length": 389}
{"ground_truth": ["", "void", "ix86_split_fp_absneg_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "enum", "rtx_code", "absneg_op", ";", "rtx", "dst", ",", "set", ";", "gcc_assert", "(", "operands_match_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "1", "]", ")", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_SFmode", ":", "dst", "=", "gen_lowpart", "(", "SImode", ",", "operands", "[", "0", "]", ")", ";", "if", "(", "code", "==", "ABS", ")", "{", "set", "=", "gen_int_mode", "(", "0x7fffffff", ",", "SImode", ")", ";", "absneg_op", "=", "AND", ";", "}", "else", "{", "set", "=", "gen_int_mode", "(", "0x80000000", ",", "SImode", ")", ";", "absneg_op", "=", "XOR", ";", "}", "set", "=", "gen_rtx_fmt_ee", "(", "absneg_op", ",", "SImode", ",", "dst", ",", "set", ")", ";", "break", ";", "case", "E_DFmode", ":", "if", "(", "TARGET_64BIT", ")", "{", "dst", "=", "gen_lowpart", "(", "DImode", ",", "operands", "[", "0", "]", ")", ";", "dst", "=", "gen_rtx_ZERO_EXTRACT", "(", "DImode", ",", "dst", ",", "const1_rtx", ",", "GEN_INT", "(", "63", ")", ")", ";", "if", "(", "code", "==", "ABS", ")", "set", "=", "const0_rtx", ";", "else", "set", "=", "gen_rtx_NOT", "(", "DImode", ",", "dst", ")", ";", "}", "else", "{", "dst", "=", "gen_highpart", "(", "SImode", ",", "operands", "[", "0", "]", ")", ";", "if", "(", "code", "==", "ABS", ")", "{", "set", "=", "gen_int_mode", "(", "0x7fffffff", ",", "SImode", ")", ";", "absneg_op", "=", "AND", ";", "}", "else", "{", "set", "=", "gen_int_mode", "(", "0x80000000", ",", "SImode", ")", ";", "absneg_op", "=", "XOR", ";", "}", "set", "=", "gen_rtx_fmt_ee", "(", "absneg_op", ",", "SImode", ",", "dst", ",", "set", ")", ";", "}", "break", ";", "case", "E_XFmode", ":", "dst", "=", "gen_rtx_REG", "(", "SImode", ",", "REGNO", "(", "operands", "[", "0", "]", ")", "+", "(", "TARGET_64BIT", "?", "1", ":", "2", ")", ")", ";", "if", "(", "code", "==", "ABS", ")", "{", "set", "=", "GEN_INT", "(", "0x7fff", ")", ";", "absneg_op", "=", "AND", ";", "}", "else", "{", "set", "=", "GEN_INT", "(", "0x8000", ")", ";", "absneg_op", "=", "XOR", ";", "}", "set", "=", "gen_rtx_fmt_ee", "(", "absneg_op", ",", "SImode", ",", "dst", ",", "set", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "set", "=", "gen_rtx_SET", "(", "dst", ",", "set", ")", ";", "rtx", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "rtvec", "par", "=", "gen_rtvec", "(", "2", ",", "set", ",", "clob", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "par", ")", ")", ";", "}", ""], "natrual_language": ["Deconstruct", "a", "floating", "point", "ABS", "or", "NEG", "operation", "with", "integer", "registers", "into", "integer", "operations", "."], "TS_V_token": ["i386", "0", "1", "0", "0x7fffffff", "0x80000000", "0", "63", "0", "0x7fffffff", "0x80000000", "0", "1", "2", "0x7fff", "0x8000", "2"], "File": "i386-expand", "Func": "ix86_split_fp_absneg_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37794, "Length": 365}
{"ground_truth": ["", "void", "ix86_split_mmx_pack", "(", "rtx", "operands", "[", "]", ",", "enum", "rtx_code", "code", ")", "{", "rtx", "op0", "=", "operands", "[", "0", "]", ";", "rtx", "op1", "=", "operands", "[", "1", "]", ";", "rtx", "op2", "=", "operands", "[", "2", "]", ";", "machine_mode", "dmode", "=", "GET_MODE", "(", "op0", ")", ";", "machine_mode", "smode", "=", "GET_MODE", "(", "op1", ")", ";", "machine_mode", "inner_dmode", "=", "GET_MODE_INNER", "(", "dmode", ")", ";", "machine_mode", "inner_smode", "=", "GET_MODE_INNER", "(", "smode", ")", ";", "int", "nunits", "=", "16", "/", "GET_MODE_SIZE", "(", "inner_dmode", ")", ";", "machine_mode", "sse_dmode", "=", "mode_for_vector", "(", "GET_MODE_INNER", "(", "dmode", ")", ",", "nunits", ")", ".", "require", "(", ")", ";", "machine_mode", "sse_half_dmode", "=", "mode_for_vector", "(", "GET_MODE_INNER", "(", "dmode", ")", ",", "nunits", "/", "2", ")", ".", "require", "(", ")", ";", "nunits", "=", "16", "/", "GET_MODE_SIZE", "(", "inner_smode", ")", ";", "machine_mode", "sse_smode", "=", "mode_for_vector", "(", "GET_MODE_INNER", "(", "smode", ")", ",", "nunits", ")", ".", "require", "(", ")", ";", "rtx", "dest", "=", "lowpart_subreg", "(", "sse_dmode", ",", "op0", ",", "GET_MODE", "(", "op0", ")", ")", ";", "op1", "=", "lowpart_subreg", "(", "sse_smode", ",", "op1", ",", "GET_MODE", "(", "op1", ")", ")", ";", "op2", "=", "lowpart_subreg", "(", "sse_smode", ",", "op2", ",", "GET_MODE", "(", "op2", ")", ")", ";", "op1", "=", "gen_rtx_fmt_e", "(", "code", ",", "sse_half_dmode", ",", "op1", ")", ";", "op2", "=", "gen_rtx_fmt_e", "(", "code", ",", "sse_half_dmode", ",", "op2", ")", ";", "rtx", "insn", "=", "gen_rtx_SET", "(", "dest", ",", "gen_rtx_VEC_CONCAT", "(", "sse_dmode", ",", "op1", ",", "op2", ")", ")", ";", "emit_insn", "(", "insn", ")", ";", "ix86_move_vector_high_sse_to_mmx", "(", "op0", ")", ";", "}", ""], "natrual_language": ["Split", "MMX", "pack", "with", "signed/unsigned", "saturation", "with", "SSE/SSE2", "."], "TS_V_token": ["i386", "0", "1", "2", "16", "2", "16"], "File": "i386-expand", "Func": "ix86_split_mmx_pack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37795, "Length": 234}
{"ground_truth": ["", "machine_mode", "ix86_split_reduction", "(", "machine_mode", "mode", ")", "{", "switch", "(", "mode", ")", "{", "case", "E_V8DImode", ":", "case", "E_V4DImode", ":", "return", "V2DImode", ";", "case", "E_V16SImode", ":", "case", "E_V8SImode", ":", "return", "V4SImode", ";", "case", "E_V32HImode", ":", "case", "E_V16HImode", ":", "return", "V8HImode", ";", "case", "E_V64QImode", ":", "case", "E_V32QImode", ":", "return", "V16QImode", ";", "case", "E_V16SFmode", ":", "case", "E_V8SFmode", ":", "return", "V4SFmode", ";", "case", "E_V8DFmode", ":", "case", "E_V4DFmode", ":", "return", "V2DFmode", ";", "default", ":", "return", "mode", ";", "}", "}", ""], "natrual_language": ["All", "CPUs", "prefer", "to", "avoid", "cross-lane", "operations", "so", "perform", "reductions", "upper", "against", "lower", "halves", "up", "to", "SSE", "reg", "size", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_split_reduction", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37796, "Length": 73}
{"ground_truth": ["", "void", "ix86_split_simple_return_pop_internal", "(", "rtx", "popc", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "ecx", "=", "gen_rtx_REG", "(", "SImode", ",", "CX_REG", ")", ";", "rtx_insn", "*", "insn", ";", "gcc_assert", "(", "!", "TARGET_64BIT", ")", ";", "insn", "=", "emit_insn", "(", "gen_pop", "(", "ecx", ")", ")", ";", "m", "->", "fs", ".", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "m", "->", "fs", ".", "sp_offset", "-=", "UNITS_PER_WORD", ";", "rtx", "x", "=", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "UNITS_PER_WORD", ")", ";", "x", "=", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "x", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_ADJUST_CFA", ",", "x", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_REGISTER", ",", "gen_rtx_SET", "(", "ecx", ",", "pc_rtx", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "x", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "popc", ")", ";", "x", "=", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "x", ")", ";", "insn", "=", "emit_insn", "(", "x", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_ADJUST_CFA", ",", "x", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "emit_jump_insn", "(", "gen_simple_return_indirect_internal", "(", "ecx", ")", ")", ";", "}", ""], "natrual_language": ["Split", "simple", "return", "with", "popping", "POPC", "bytes", "from", "stack", "to", "indirect", "branch", "with", "stack", "adjustment", "."], "TS_V_token": ["i386", "1", "1"], "File": "i386-expand", "Func": "ix86_split_simple_return_pop_internal", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37797, "Length": 165}
{"ground_truth": ["", "void", "ix86_split_xorsign", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "mask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "mask", "=", "operands", "[", "3", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "dest", "=", "lowpart_subreg", "(", "vmode", ",", "dest", ",", "mode", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "op0", "=", "lowpart_subreg", "(", "vmode", ",", "op0", ",", "mode", ")", ";", "x", "=", "gen_rtx_XOR", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", ""], "natrual_language": ["Deconstruct", "an", "xorsign", "operation", "into", "bit", "masks", "."], "TS_V_token": ["i386", "0", "1", "3"], "File": "i386-expand", "Func": "ix86_split_xorsign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37798, "Length": 123}
{"ground_truth": ["", "static", "void", "ix86_sse_copysign_to_positive", "(", "rtx", "result", ",", "rtx", "abs_value", ",", "rtx", "sign", ",", "rtx", "mask", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "sign", ")", ";", "rtx", "sgn", "=", "gen_reg_rtx", "(", "mode", ")", ";", "if", "(", "mask", "==", "NULL_RTX", ")", "{", "machine_mode", "vmode", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "else", "vmode", "=", "mode", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "VECTOR_MODE_P", "(", "mode", ")", ",", "false", ")", ";", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "rtx", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ")", ";", "tmp", "=", "gen_rtx_VEC_SELECT", "(", "mode", ",", "mask", ",", "tmp", ")", ";", "mask", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "mask", ",", "tmp", ")", ")", ";", "}", "}", "else", "mask", "=", "gen_rtx_NOT", "(", "mode", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "sgn", ",", "gen_rtx_AND", "(", "mode", ",", "mask", ",", "sign", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "result", ",", "gen_rtx_IOR", "(", "mode", ",", "abs_value", ",", "sgn", ")", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "copysign", "from", "SIGN", "to", "the", "positive", "value", "ABS_VALUE", "storing", "in", "RESULT", ".", "If", "MASK", "is", "non-null", ",", "it", "shall", "be", "a", "mask", "to", "mask", "out", "the", "sign-bit", "."], "TS_V_token": ["i386", "1"], "File": "i386-expand", "Func": "ix86_sse_copysign_to_positive", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37799, "Length": 182}
{"ground_truth": ["", "static", "bool", "ix86_swap_binary_operands_p", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src1", "=", "operands", "[", "1", "]", ";", "rtx", "src2", "=", "operands", "[", "2", "]", ";", "if", "(", "GET_RTX_CLASS", "(", "code", ")", "!=", "RTX_COMM_ARITH", "&&", "GET_RTX_CLASS", "(", "code", ")", "!=", "RTX_COMM_COMPARE", ")", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "dst", ",", "src2", ")", ")", "return", "true", ";", "if", "(", "immediate_operand", "(", "src2", ",", "mode", ")", ")", "return", "false", ";", "if", "(", "immediate_operand", "(", "src1", ",", "mode", ")", ")", "return", "true", ";", "if", "(", "MEM_P", "(", "src2", ")", ")", "return", "false", ";", "if", "(", "MEM_P", "(", "src1", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Helper", "function", "of", "ix86_fixup_binary_operands", "to", "canonicalize", "operand", "order", ".", "Returns", "true", "if", "the", "operands", "should", "be", "swapped", "."], "TS_V_token": ["i386", "0", "1", "2"], "File": "i386-expand", "Func": "ix86_swap_binary_operands_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37800, "Length": 132}
{"ground_truth": ["", "static", "bool", "ix86_unordered_fp_compare", "(", "enum", "rtx_code", "code", ")", "{", "if", "(", "!", "TARGET_IEEE_FP", ")", "return", "false", ";", "switch", "(", "code", ")", "{", "case", "LT", ":", "case", "LE", ":", "case", "GT", ":", "case", "GE", ":", "case", "LTGT", ":", "return", "false", ";", "case", "EQ", ":", "case", "NE", ":", "case", "UNORDERED", ":", "case", "ORDERED", ":", "case", "UNLT", ":", "case", "UNLE", ":", "case", "UNGT", ":", "case", "UNGE", ":", "case", "UNEQ", ":", "return", "true", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Figure", "out", "whether", "to", "use", "unordered", "fp", "comparisons", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "ix86_unordered_fp_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37801, "Length": 78}
{"ground_truth": ["", "static", "bool", "ix86_use_mask_cmp_p", "(", "machine_mode", "mode", ",", "machine_mode", "cmp_mode", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "int", "vector_size", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "cmp_mode", "==", "HFmode", ")", "return", "true", ";", "else", "if", "(", "vector_size", "<", "16", ")", "return", "false", ";", "else", "if", "(", "vector_size", "==", "64", ")", "return", "true", ";", "else", "if", "(", "GET_MODE_INNER", "(", "cmp_mode", ")", "==", "HFmode", ")", "return", "true", ";", "gcc_assert", "(", "!", "op_true", "==", "!", "op_false", ")", ";", "if", "(", "!", "op_true", "||", "!", "ix86_valid_mask_cmp_mode", "(", "cmp_mode", ")", ")", "return", "false", ";", "if", "(", "op_false", "==", "CONST0_RTX", "(", "mode", ")", "||", "op_true", "==", "CONST0_RTX", "(", "mode", ")", "||", "(", "INTEGRAL_MODE_P", "(", "mode", ")", "&&", "(", "op_true", "==", "CONSTM1_RTX", "(", "mode", ")", "||", "op_false", "==", "CONSTM1_RTX", "(", "mode", ")", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "integer", "mask", "comparison", "should", "be", "used", "."], "TS_V_token": ["i386", "16", "64"], "File": "i386-expand", "Func": "ix86_use_mask_cmp_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37802, "Length": 136}
{"ground_truth": ["", "static", "bool", "ix86_valid_mask_cmp_mode", "(", "machine_mode", "mode", ")", "{", "if", "(", "TARGET_XOP", "&&", "!", "TARGET_AVX512F", ")", "return", "false", ";", "if", "(", "TARGET_AVX512FP16", "&&", "mode", "==", "HFmode", ")", "return", "true", ";", "if", "(", "!", "(", "TARGET_AVX512F", "&&", "VECTOR_MODE_P", "(", "mode", ")", ")", ")", "return", "false", ";", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "int", "vector_size", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "(", "inner_mode", "==", "QImode", "||", "inner_mode", "==", "HImode", ")", "&&", "!", "TARGET_AVX512BW", ")", "return", "false", ";", "return", "vector_size", "==", "64", "||", "TARGET_AVX512VL", ";", "}", ""], "natrual_language": ["Return", "true", "if", "MODE", "is", "valid", "for", "vector", "compare", "to", "mask", "register", ",", "Same", "result", "for", "conditionl", "vector", "move", "with", "mask", "register", "."], "TS_V_token": ["i386", "64"], "File": "i386-expand", "Func": "ix86_valid_mask_cmp_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37803, "Length": 86}
{"ground_truth": ["", "static", "bool", "ix86_vector_duplicate_value", "(", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "val", ")", "{", "bool", "ok", ";", "rtx_insn", "*", "insn", ";", "rtx", "dup", ";", "dup", "=", "gen_vec_duplicate", "(", "mode", ",", "val", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "target", ",", "dup", ")", ")", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "{", "rtx_insn", "*", "seq", ";", "machine_mode", "innermode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "rtx", "reg", ";", "start_sequence", "(", ")", ";", "reg", "=", "force_reg", "(", "innermode", ",", "val", ")", ";", "if", "(", "GET_MODE", "(", "reg", ")", "!=", "innermode", ")", "reg", "=", "gen_lowpart", "(", "innermode", ",", "reg", ")", ";", "SET_SRC", "(", "PATTERN", "(", "insn", ")", ")", "=", "gen_vec_duplicate", "(", "mode", ",", "reg", ")", ";", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "if", "(", "seq", ")", "emit_insn_before", "(", "seq", ",", "insn", ")", ";", "ok", "=", "recog_memoized", "(", "insn", ")", ">=", "0", ";", "gcc_assert", "(", "ok", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init_duplicate", ".", "Tries", "to", "fill", "target", "with", "val", "via", "vec_duplicate", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386-expand", "Func": "ix86_vector_duplicate_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37804, "Length": 156}
{"ground_truth": ["", "static", "void", "predict_jump", "(", "int", "prob", ")", "{", "rtx_insn", "*", "insn", "=", "get_last_insn", "(", ")", ";", "gcc_assert", "(", "JUMP_P", "(", "insn", ")", ")", ";", "add_reg_br_prob_note", "(", "insn", ",", "profile_probability", "::", "from_reg_br_prob_base", "(", "prob", ")", ")", ";", "}", ""], "natrual_language": ["Predict", "just", "emitted", "jump", "instruction", "to", "be", "taken", "with", "probability", "PROB", "."], "TS_V_token": ["i386"], "File": "i386-expand", "Func": "predict_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37805, "Length": 37}
{"ground_truth": ["", "static", "rtx", "promote_duplicated_reg", "(", "machine_mode", "mode", ",", "rtx", "val", ")", "{", "machine_mode", "valmode", "=", "GET_MODE", "(", "val", ")", ";", "rtx", "tmp", ";", "int", "nops", "=", "mode", "==", "DImode", "?", "3", ":", "2", ";", "gcc_assert", "(", "mode", "==", "SImode", "||", "mode", "==", "DImode", "||", "val", "==", "const0_rtx", ")", ";", "if", "(", "val", "==", "const0_rtx", ")", "return", "copy_to_mode_reg", "(", "mode", ",", "CONST0_RTX", "(", "mode", ")", ")", ";", "if", "(", "CONST_INT_P", "(", "val", ")", ")", "{", "HOST_WIDE_INT", "v", "=", "INTVAL", "(", "val", ")", "&", "255", ";", "v", "|=", "v", "<<", "8", ";", "v", "|=", "v", "<<", "16", ";", "if", "(", "mode", "==", "DImode", ")", "v", "|=", "(", "v", "<<", "16", ")", "<<", "16", ";", "return", "copy_to_mode_reg", "(", "mode", ",", "gen_int_mode", "(", "v", ",", "mode", ")", ")", ";", "}", "if", "(", "valmode", "==", "VOIDmode", ")", "valmode", "=", "QImode", ";", "if", "(", "valmode", "!=", "QImode", ")", "val", "=", "gen_lowpart", "(", "QImode", ",", "val", ")", ";", "if", "(", "mode", "==", "QImode", ")", "return", "val", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "nops", "--", ";", "if", "(", "ix86_cost", "->", "mult_init", "[", "mode", "==", "DImode", "?", "3", ":", "2", "]", "+", "ix86_cost", "->", "mult_bit", "*", "(", "mode", "==", "DImode", "?", "8", ":", "4", ")", "<=", "(", "ix86_cost", "->", "shift_const", "+", "ix86_cost", "->", "add", ")", "*", "nops", "+", "(", "COSTS_N_INSNS", "(", "TARGET_PARTIAL_REG_STALL", "==", "0", ")", ")", ")", "{", "rtx", "reg", "=", "convert_modes", "(", "mode", ",", "QImode", ",", "val", ",", "true", ")", ";", "tmp", "=", "promote_duplicated_reg", "(", "mode", ",", "const1_rtx", ")", ";", "return", "expand_simple_binop", "(", "mode", ",", "MULT", ",", "reg", ",", "tmp", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "}", "else", "{", "rtx", "reg", "=", "convert_modes", "(", "mode", ",", "QImode", ",", "val", ",", "true", ")", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "emit_insn", "(", "gen_insv_1", "(", "mode", ",", "reg", ",", "reg", ")", ")", ";", "else", "{", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFT", ",", "reg", ",", "GEN_INT", "(", "8", ")", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "reg", "=", "expand_simple_binop", "(", "mode", ",", "IOR", ",", "reg", ",", "tmp", ",", "reg", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "}", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFT", ",", "reg", ",", "GEN_INT", "(", "16", ")", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "reg", "=", "expand_simple_binop", "(", "mode", ",", "IOR", ",", "reg", ",", "tmp", ",", "reg", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "mode", "==", "SImode", ")", "return", "reg", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFT", ",", "reg", ",", "GEN_INT", "(", "32", ")", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "reg", "=", "expand_simple_binop", "(", "mode", ",", "IOR", ",", "reg", ",", "tmp", ",", "reg", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "return", "reg", ";", "}", "}", ""], "natrual_language": ["Helper", "function", "for", "memcpy", ".", "For", "QImode", "value", "0xXY", "produce", "0xXYXYXYXY", "of", "wide", "specified", "by", "MODE", ".", "This", "is", "essentially", "a", "*", "0x10101010", ",", "but", "we", "can", "do", "slightly", "better", "than", "synth_mult", "by", "unwinding", "the", "sequence", "by", "hand", "on", "CPUs", "with", "slow", "multiply", "."], "TS_V_token": ["i386", "3", "2", "255", "8", "16", "16", "16", "3", "2", "8", "4", "0", "1", "8", "1", "1", "16", "1", "1", "32", "1", "1"], "File": "i386-expand", "Func": "promote_duplicated_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37806, "Length": 433}
{"ground_truth": ["", "static", "rtx", "promote_duplicated_reg_to_size", "(", "rtx", "val", ",", "int", "size_needed", ",", "int", "desired_align", ",", "int", "align", ")", "{", "rtx", "promoted_val", ";", "if", "(", "TARGET_64BIT", "&&", "(", "size_needed", ">", "4", "||", "(", "desired_align", ">", "align", "&&", "desired_align", ">", "4", ")", ")", ")", "promoted_val", "=", "promote_duplicated_reg", "(", "DImode", ",", "val", ")", ";", "else", "if", "(", "size_needed", ">", "2", "||", "(", "desired_align", ">", "align", "&&", "desired_align", ">", "2", ")", ")", "promoted_val", "=", "promote_duplicated_reg", "(", "SImode", ",", "val", ")", ";", "else", "if", "(", "size_needed", ">", "1", "||", "(", "desired_align", ">", "align", "&&", "desired_align", ">", "1", ")", ")", "promoted_val", "=", "promote_duplicated_reg", "(", "HImode", ",", "val", ")", ";", "else", "promoted_val", "=", "val", ";", "return", "promoted_val", ";", "}", ""], "natrual_language": ["Duplicate", "value", "VAL", "using", "promote_duplicated_reg", "into", "maximal", "size", "that", "will", "be", "needed", "by", "main", "loop", "copying", "SIZE_NEEDED", "chunks", "and", "prologue", "getting", "alignment", "from", "ALIGN", "to", "DESIRED_ALIGN", "."], "TS_V_token": ["i386", "4", "4", "2", "2", "1", "1"], "File": "i386-expand", "Func": "promote_duplicated_reg_to_size", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37807, "Length": 110}
{"ground_truth": ["", "static", "rtx", "safe_vector_operand", "(", "rtx", "x", ",", "machine_mode", "mode", ")", "{", "if", "(", "x", "==", "const0_rtx", ")", "x", "=", "CONST0_RTX", "(", "mode", ")", ";", "return", "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": ["i386"], "File": "i386-expand", "Func": "safe_vector_operand", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37808, "Length": 28}
{"ground_truth": ["", "static", "rtx", "scale_counter", "(", "rtx", "countreg", ",", "int", "scale", ")", "{", "rtx", "sc", ";", "if", "(", "scale", "==", "1", ")", "return", "countreg", ";", "if", "(", "CONST_INT_P", "(", "countreg", ")", ")", "return", "GEN_INT", "(", "INTVAL", "(", "countreg", ")", "/", "scale", ")", ";", "gcc_assert", "(", "REG_P", "(", "countreg", ")", ")", ";", "sc", "=", "expand_simple_binop", "(", "GET_MODE", "(", "countreg", ")", ",", "LSHIFTRT", ",", "countreg", ",", "GEN_INT", "(", "exact_log2", "(", "scale", ")", ")", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "return", "sc", ";", "}", ""], "natrual_language": ["Divide", "COUNTREG", "by", "SCALE", "."], "TS_V_token": ["i386", "1", "1"], "File": "i386-expand", "Func": "scale_counter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37809, "Length": 81}
{"ground_truth": ["", "void", "split_double_mode", "(", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ",", "int", "num", ",", "rtx", "lo_half", "[", "]", ",", "rtx", "hi_half", "[", "]", ")", "{", "machine_mode", "half_mode", ";", "unsigned", "int", "byte", ";", "rtx", "mem_op", "=", "NULL_RTX", ";", "int", "mem_num", "=", "0", ";", "switch", "(", "mode", ")", "{", "case", "E_TImode", ":", "half_mode", "=", "DImode", ";", "break", ";", "case", "E_DImode", ":", "half_mode", "=", "SImode", ";", "break", ";", "case", "E_P2HImode", ":", "half_mode", "=", "HImode", ";", "break", ";", "case", "E_P2QImode", ":", "half_mode", "=", "QImode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "byte", "=", "GET_MODE_SIZE", "(", "half_mode", ")", ";", "while", "(", "num", "--", ")", "{", "rtx", "op", "=", "operands", "[", "num", "]", ";", "if", "(", "MEM_P", "(", "op", ")", ")", "{", "if", "(", "mem_op", "&&", "rtx_equal_p", "(", "op", ",", "mem_op", ")", ")", "{", "lo_half", "[", "num", "]", "=", "lo_half", "[", "mem_num", "]", ";", "hi_half", "[", "num", "]", "=", "hi_half", "[", "mem_num", "]", ";", "}", "else", "{", "mem_op", "=", "op", ";", "mem_num", "=", "num", ";", "lo_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "half_mode", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "half_mode", ",", "byte", ")", ";", "}", "}", "else", "{", "lo_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "half_mode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "mode", ":", "GET_MODE", "(", "op", ")", ",", "0", ")", ";", "rtx", "tmp", "=", "simplify_gen_subreg", "(", "half_mode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "mode", ":", "GET_MODE", "(", "op", ")", ",", "byte", ")", ";", "hi_half", "[", "num", "]", "=", "tmp", "?", "tmp", ":", "gen_reg_rtx", "(", "half_mode", ")", ";", "}", "}", "}", ""], "natrual_language": ["Split", "one", "or", "more", "double-mode", "RTL", "references", "into", "pairs", "of", "half-mode", "references", ".", "The", "RTL", "can", "be", "REG", ",", "offsettable", "MEM", ",", "integer", "constant", ",", "or", "CONST_DOUBLE", ".", "``", "operands", "''", "is", "a", "pointer", "to", "an", "array", "of", "double-mode", "RTLs", "to", "split", "and", "``", "num", "''", "is", "its", "length", ".", "lo_half", "and", "hi_half", "are", "output", "arrays", "that", "parallel", "``", "operands", "''", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i386-expand", "Func": "split_double_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37810, "Length": 265}
{"ground_truth": ["", "static", "bool", "valid_perm_using_mode_p", "(", "machine_mode", "vmode", ",", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "int", "i", ",", "j", ",", "chunk", ";", "if", "(", "GET_MODE_CLASS", "(", "vmode", ")", "!=", "MODE_VECTOR_INT", "||", "GET_MODE_CLASS", "(", "d", "->", "vmode", ")", "!=", "MODE_VECTOR_INT", "||", "GET_MODE_SIZE", "(", "vmode", ")", "!=", "GET_MODE_SIZE", "(", "d", "->", "vmode", ")", ")", "return", "false", ";", "if", "(", "GET_MODE_NUNITS", "(", "vmode", ")", ">=", "d", "->", "nelt", ")", "return", "true", ";", "chunk", "=", "d", "->", "nelt", "/", "GET_MODE_NUNITS", "(", "vmode", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "d", "->", "nelt", ";", "i", "+=", "chunk", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "&", "(", "chunk", "-", "1", ")", ")", "return", "false", ";", "else", "for", "(", "j", "=", "1", ";", "j", "<", "chunk", ";", "++", "j", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "+", "j", "!=", "d", "->", "perm", "[", "i", "+", "j", "]", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "permutation", "D", "can", "be", "performed", "as", "VMODE", "permutation", "instead", "."], "TS_V_token": ["i386", "0", "1", "1"], "File": "i386-expand", "Func": "valid_perm_using_mode_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37811, "Length": 154}
{"ground_truth": ["", "bool", "scalar_chain", "::", "add_insn", "(", "bitmap", "candidates", ",", "unsigned", "int", "insn_uid", ",", "bitmap", "disallowed", ")", "{", "if", "(", "!", "bitmap_set_bit", "(", "insns", ",", "insn_uid", ")", ")", "return", "true", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Adding insn %d to chain #%d\\n\"", ",", "insn_uid", ",", "chain_id", ")", ";", "rtx_insn", "*", "insn", "=", "DF_INSN_UID_GET", "(", "insn_uid", ")", "->", "insn", ";", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "def_set", "&&", "REG_P", "(", "SET_DEST", "(", "def_set", ")", ")", "&&", "!", "HARD_REGISTER_P", "(", "SET_DEST", "(", "def_set", ")", ")", ")", "bitmap_set_bit", "(", "defs", ",", "REGNO", "(", "SET_DEST", "(", "def_set", ")", ")", ")", ";", "df_ref", "ref", ";", "for", "(", "ref", "=", "DF_INSN_UID_DEFS", "(", "insn_uid", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "!", "HARD_REGISTER_P", "(", "DF_REF_REG", "(", "ref", ")", ")", ")", "if", "(", "!", "analyze_register_chain", "(", "candidates", ",", "ref", ",", "disallowed", ")", ")", "return", "false", ";", "if", "(", "def_set", "&&", "GET_CODE", "(", "SET_SRC", "(", "def_set", ")", ")", "==", "VEC_SELECT", ")", "return", "true", ";", "for", "(", "ref", "=", "DF_INSN_UID_USES", "(", "insn_uid", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "ref", ")", ")", "if", "(", "!", "analyze_register_chain", "(", "candidates", ",", "ref", ",", "disallowed", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Add", "instruction", "into", "a", "chain", ".", "Return", "true", "if", "OK", ",", "false", "if", "the", "search", "was", "aborted", "."], "TS_V_token": ["i386", "\" Adding insn %d to chain #%d\\n\""], "File": "i386-features1", "Func": "add_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37812, "Length": 206}
{"ground_truth": ["", "void", "scalar_chain", "::", "add_to_queue", "(", "unsigned", "insn_uid", ")", "{", "if", "(", "!", "bitmap_set_bit", "(", "queue", ",", "insn_uid", ")", ")", "return", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Adding insn %d into chain's #%d queue\\n\"", ",", "insn_uid", ",", "chain_id", ")", ";", "}", ""], "natrual_language": ["Add", "instruction", "into", "chains", "'", "queue", "."], "TS_V_token": ["i386", "\" Adding insn %d into chain's #%d queue\\n\""], "File": "i386-features1", "Func": "add_to_queue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37813, "Length": 37}
{"ground_truth": ["", "bool", "scalar_chain", "::", "analyze_register_chain", "(", "bitmap", "candidates", ",", "df_ref", "ref", ",", "bitmap", "disallowed", ")", "{", "df_link", "*", "chain", ";", "bool", "mark_def", "=", "false", ";", "gcc_checking_assert", "(", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", ";", "for", "(", "chain", "=", "DF_REF_CHAIN", "(", "ref", ")", ";", "chain", ";", "chain", "=", "chain", "->", "next", ")", "{", "unsigned", "uid", "=", "DF_REF_INSN_UID", "(", "chain", "->", "ref", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "DF_REF_INSN", "(", "chain", "->", "ref", ")", ")", ")", "continue", ";", "if", "(", "--", "max_visits", "==", "0", ")", "return", "false", ";", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "chain", "->", "ref", ")", ")", "{", "if", "(", "bitmap_bit_p", "(", "insns", ",", "uid", ")", ")", "continue", ";", "if", "(", "bitmap_bit_p", "(", "candidates", ",", "uid", ")", ")", "{", "add_to_queue", "(", "uid", ")", ";", "continue", ";", "}", "if", "(", "bitmap_bit_p", "(", "disallowed", ",", "uid", ")", ")", "return", "false", ";", "}", "if", "(", "DF_REF_REG_DEF_P", "(", "chain", "->", "ref", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" r%d def in insn %d isn't convertible\\n\"", ",", "DF_REF_REGNO", "(", "chain", "->", "ref", ")", ",", "uid", ")", ";", "mark_dual_mode_def", "(", "chain", "->", "ref", ")", ";", "}", "else", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" r%d use in insn %d isn't convertible\\n\"", ",", "DF_REF_REGNO", "(", "chain", "->", "ref", ")", ",", "uid", ")", ";", "mark_def", "=", "true", ";", "}", "}", "if", "(", "mark_def", ")", "mark_dual_mode_def", "(", "ref", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Check", "REF", "'s", "chain", "to", "add", "new", "insns", "into", "a", "queue", "and", "find", "registers", "requiring", "conversion", ".", "Return", "true", "if", "OK", ",", "false", "if", "the", "analysis", "was", "aborted", "."], "TS_V_token": ["i386", "0", "\" r%d def in insn %d isn't convertible\\n\"", "\" r%d use in insn %d isn't convertible\\n\""], "File": "i386-features1", "Func": "analyze_register_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37814, "Length": 222}
{"ground_truth": ["", "bool", "scalar_chain", "::", "build", "(", "bitmap", "candidates", ",", "unsigned", "insn_uid", ",", "bitmap", "disallowed", ")", "{", "queue", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "bitmap_set_bit", "(", "queue", ",", "insn_uid", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Building chain #%d...\\n\"", ",", "chain_id", ")", ";", "while", "(", "!", "bitmap_empty_p", "(", "queue", ")", ")", "{", "insn_uid", "=", "bitmap_first_set_bit", "(", "queue", ")", ";", "bitmap_clear_bit", "(", "queue", ",", "insn_uid", ")", ";", "bitmap_clear_bit", "(", "candidates", ",", "insn_uid", ")", ";", "if", "(", "!", "add_insn", "(", "candidates", ",", "insn_uid", ",", "disallowed", ")", ")", "{", "bitmap_ior_into", "(", "disallowed", ",", "insns", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Aborted chain #%d discovery\\n\"", ",", "chain_id", ")", ";", "BITMAP_FREE", "(", "queue", ")", ";", "return", "false", ";", "}", "}", "if", "(", "dump_file", ")", "{", "fprintf", "(", "dump_file", ",", "\"Collected chain #%d...\\n\"", ",", "chain_id", ")", ";", "fprintf", "(", "dump_file", ",", "\" insns: \"", ")", ";", "dump_bitmap", "(", "dump_file", ",", "insns", ")", ";", "if", "(", "!", "bitmap_empty_p", "(", "defs_conv", ")", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "const", "char", "*", "comma", "=", "\"\"", ";", "fprintf", "(", "dump_file", ",", "\" defs to convert: \"", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "defs_conv", ",", "0", ",", "id", ",", "bi", ")", "{", "fprintf", "(", "dump_file", ",", "\"%sr%d\"", ",", "comma", ",", "id", ")", ";", "comma", "=", "\", \"", ";", "}", "fprintf", "(", "dump_file", ",", "\"\\n\"", ")", ";", "}", "}", "BITMAP_FREE", "(", "queue", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Build", "new", "chain", "starting", "from", "insn", "INSN_UID", "recursively", "adding", "all", "dependent", "uses", "and", "definitions", ".", "Return", "true", "if", "OK", ",", "false", "if", "the", "chain", "discovery", "was", "aborted", "."], "TS_V_token": ["i386", "\"Building chain #%d...\\n\"", "\"Aborted chain #%d discovery\\n\"", "\"Collected chain #%d...\\n\"", "\" insns: \"", "\"\"", "\" defs to convert: \"", "0", "\"%sr%d\"", "\", \"", "\"\\n\""], "File": "i386-features1", "Func": "build", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37815, "Length": 217}
{"ground_truth": ["", "static", "unsigned", "int", "constant_pool_broadcast", "(", "void", ")", "{", "timevar_push", "(", "TV_MACH_DEP", ")", ";", "rtx_insn", "*", "insn", ";", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "if", "(", "INSN_P", "(", "insn", ")", ")", "replace_constant_pool_with_broadcast", "(", "insn", ")", ";", "}", "timevar_pop", "(", "TV_MACH_DEP", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["For", "const", "vector", "having", "one", "duplicated", "value", ",", "there", "'s", "no", "need", "to", "put", "whole", "vector", "in", "the", "constant", "pool", "when", "target", "supports", "embedded", "broadcast", "."], "TS_V_token": ["i386", "0"], "File": "i386-features1", "Func": "constant_pool_broadcast", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37816, "Length": 57}
{"ground_truth": ["", "int", "scalar_chain", "::", "convert", "(", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "int", "converted_insns", "=", "0", ";", "if", "(", "!", "dbg_cnt", "(", "stv_conversion", ")", ")", "return", "0", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Converting chain #%d...\\n\"", ",", "chain_id", ")", ";", "convert_registers", "(", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "insns", ",", "0", ",", "id", ",", "bi", ")", "{", "rtx_insn", "*", "insn", "=", "DF_INSN_UID_GET", "(", "id", ")", "->", "insn", ";", "convert_insn_common", "(", "insn", ")", ";", "convert_insn", "(", "insn", ")", ";", "converted_insns", "++", ";", "}", "return", "converted_insns", ";", "}", ""], "natrual_language": ["Convert", "whole", "chain", "creating", "required", "register", "conversions", "and", "copies", "."], "TS_V_token": ["i386", "0", "0", "\"Converting chain #%d...\\n\"", "0"], "File": "i386-features1", "Func": "convert", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37817, "Length": 86}
{"ground_truth": ["", "static", "bool", "convertible_comparison_p", "(", "rtx_insn", "*", "insn", ",", "enum", "machine_mode", "mode", ")", "{", "if", "(", "mode", "!=", "(", "TARGET_64BIT", "?", "TImode", ":", "DImode", ")", ")", "return", "false", ";", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "gcc_assert", "(", "def_set", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", ";", "if", "(", "GET_CODE", "(", "dst", ")", "!=", "REG", "||", "REGNO", "(", "dst", ")", "!=", "FLAGS_REG", "||", "GET_MODE", "(", "dst", ")", "!=", "CCZmode", ")", "return", "false", ";", "rtx", "op1", "=", "XEXP", "(", "src", ",", "0", ")", ";", "rtx", "op2", "=", "XEXP", "(", "src", ",", "1", ")", ";", "if", "(", "(", "CONST_SCALAR_INT_P", "(", "op1", ")", "||", "(", "(", "REG_P", "(", "op1", ")", "||", "MEM_P", "(", "op1", ")", ")", "&&", "GET_MODE", "(", "op1", ")", "==", "mode", ")", ")", "&&", "(", "CONST_SCALAR_INT_P", "(", "op2", ")", "||", "(", "(", "REG_P", "(", "op2", ")", "||", "MEM_P", "(", "op2", ")", ")", "&&", "GET_MODE", "(", "op2", ")", "==", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "op2", "==", "const0_rtx", "&&", "GET_CODE", "(", "op1", ")", "==", "AND", "&&", "REG_P", "(", "XEXP", "(", "op1", ",", "0", ")", ")", ")", "{", "rtx", "op12", "=", "XEXP", "(", "op1", ",", "1", ")", ";", "return", "GET_MODE", "(", "XEXP", "(", "op1", ",", "0", ")", ")", "==", "TImode", "&&", "(", "CONST_SCALAR_INT_P", "(", "op12", ")", "||", "(", "(", "REG_P", "(", "op12", ")", "||", "MEM_P", "(", "op12", ")", ")", "&&", "GET_MODE", "(", "op12", ")", "==", "TImode", ")", ")", ";", "}", "if", "(", "op2", "==", "const0_rtx", "&&", "GET_CODE", "(", "op1", ")", "==", "AND", "&&", "GET_CODE", "(", "XEXP", "(", "op1", ",", "0", ")", ")", "==", "NOT", ")", "{", "rtx", "op11", "=", "XEXP", "(", "XEXP", "(", "op1", ",", "0", ")", ",", "0", ")", ";", "rtx", "op12", "=", "XEXP", "(", "op1", ",", "1", ")", ";", "return", "(", "REG_P", "(", "op11", ")", "||", "MEM_P", "(", "op11", ")", ")", "&&", "(", "REG_P", "(", "op12", ")", "||", "MEM_P", "(", "op12", ")", ")", "&&", "GET_MODE", "(", "op11", ")", "==", "mode", "&&", "GET_MODE", "(", "op12", ")", "==", "mode", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Check", "if", "comparison", "INSN", "may", "be", "transformed", "into", "vector", "comparison", ".", "Currently", "we", "transform", "equality/inequality", "checks", "which", "look", "like", ":", "(", "set", "(", "reg", ":", "CCZ", "17", "flags", ")", "(", "compare", ":", "CCZ", "(", "reg", ":", "TI", "x", ")", "(", "reg", ":", "TI", "y", ")", ")", ")"], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "0", "0", "1"], "File": "i386-features1", "Func": "convertible_comparison_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37818, "Length": 353}
{"ground_truth": ["", "rtx", "scalar_chain", "::", "convert_compare", "(", "rtx", "op1", ",", "rtx", "op2", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "src", ",", "tmp", ";", "if", "(", "op2", "!=", "const0_rtx", ")", "{", "convert_op", "(", "&", "op1", ",", "insn", ")", ";", "convert_op", "(", "&", "op2", ",", "insn", ")", ";", "if", "(", "MEM_P", "(", "op1", ")", "&&", "MEM_P", "(", "op2", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "emit_insn_before", "(", "gen_rtx_SET", "(", "tmp", ",", "op1", ")", ",", "insn", ")", ";", "src", "=", "tmp", ";", "}", "else", "src", "=", "op1", ";", "src", "=", "gen_rtx_XOR", "(", "vmode", ",", "src", ",", "op2", ")", ";", "}", "else", "if", "(", "GET_CODE", "(", "op1", ")", "==", "AND", "&&", "GET_CODE", "(", "XEXP", "(", "op1", ",", "0", ")", ")", "==", "NOT", ")", "{", "rtx", "op11", "=", "XEXP", "(", "XEXP", "(", "op1", ",", "0", ")", ",", "0", ")", ";", "rtx", "op12", "=", "XEXP", "(", "op1", ",", "1", ")", ";", "convert_op", "(", "&", "op11", ",", "insn", ")", ";", "convert_op", "(", "&", "op12", ",", "insn", ")", ";", "if", "(", "!", "REG_P", "(", "op11", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "emit_insn_before", "(", "gen_rtx_SET", "(", "tmp", ",", "op11", ")", ",", "insn", ")", ";", "op11", "=", "tmp", ";", "}", "src", "=", "gen_rtx_AND", "(", "vmode", ",", "gen_rtx_NOT", "(", "vmode", ",", "op11", ")", ",", "op12", ")", ";", "}", "else", "if", "(", "GET_CODE", "(", "op1", ")", "==", "AND", ")", "{", "rtx", "op11", "=", "XEXP", "(", "op1", ",", "0", ")", ";", "rtx", "op12", "=", "XEXP", "(", "op1", ",", "1", ")", ";", "convert_op", "(", "&", "op11", ",", "insn", ")", ";", "convert_op", "(", "&", "op12", ",", "insn", ")", ";", "if", "(", "!", "REG_P", "(", "op11", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "emit_insn_before", "(", "gen_rtx_SET", "(", "tmp", ",", "op11", ")", ",", "insn", ")", ";", "op11", "=", "tmp", ";", "}", "return", "gen_rtx_UNSPEC", "(", "CCmode", ",", "gen_rtvec", "(", "2", ",", "op11", ",", "op12", ")", ",", "UNSPEC_PTEST", ")", ";", "}", "else", "{", "convert_op", "(", "&", "op1", ",", "insn", ")", ";", "src", "=", "op1", ";", "}", "if", "(", "!", "REG_P", "(", "src", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "emit_insn_before", "(", "gen_rtx_SET", "(", "tmp", ",", "src", ")", ",", "insn", ")", ";", "src", "=", "tmp", ";", "}", "if", "(", "vmode", "==", "V2DImode", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "emit_insn_before", "(", "gen_vec_interleave_lowv2di", "(", "tmp", ",", "src", ",", "src", ")", ",", "insn", ")", ";", "src", "=", "tmp", ";", "}", "else", "if", "(", "vmode", "==", "V4SImode", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "emit_insn_before", "(", "gen_sse2_pshufd", "(", "tmp", ",", "src", ",", "const0_rtx", ")", ",", "insn", ")", ";", "src", "=", "tmp", ";", "}", "return", "gen_rtx_UNSPEC", "(", "CCmode", ",", "gen_rtvec", "(", "2", ",", "src", ",", "src", ")", ",", "UNSPEC_PTEST", ")", ";", "}", ""], "natrual_language": ["Convert", "COMPARE", "to", "vector", "mode", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "0", "1", "2", "2"], "File": "i386-features1", "Func": "convert_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37819, "Length": 443}
{"ground_truth": ["", "void", "scalar_chain", "::", "convert_insn_common", "(", "rtx_insn", "*", "insn", ")", "{", "for", "(", "df_ref", "ref", "=", "DF_INSN_DEFS", "(", "insn", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "bitmap_bit_p", "(", "defs_conv", ",", "DF_REF_REGNO", "(", "ref", ")", ")", ")", "{", "df_link", "*", "use", ";", "for", "(", "use", "=", "DF_REF_CHAIN", "(", "ref", ")", ";", "use", ";", "use", "=", "use", "->", "next", ")", "if", "(", "NONDEBUG_INSN_P", "(", "DF_REF_INSN", "(", "use", "->", "ref", ")", ")", "&&", "(", "DF_REF_REG_MEM_P", "(", "use", "->", "ref", ")", "||", "!", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "use", "->", "ref", ")", ")", ")", ")", "break", ";", "if", "(", "use", ")", "convert_reg", "(", "insn", ",", "DF_REF_REG", "(", "ref", ")", ",", "*", "defs_map", ".", "get", "(", "regno_reg_rtx", "[", "DF_REF_REGNO", "(", "ref", ")", "]", ")", ")", ";", "else", "if", "(", "MAY_HAVE_DEBUG_BIND_INSNS", ")", "{", "auto_vec", "<", "rtx_insn", "*", ",", "5", ">", "to_reset_debug_insns", ";", "for", "(", "use", "=", "DF_REF_CHAIN", "(", "ref", ")", ";", "use", ";", "use", "=", "use", "->", "next", ")", "if", "(", "DEBUG_INSN_P", "(", "DF_REF_INSN", "(", "use", "->", "ref", ")", ")", ")", "{", "rtx_insn", "*", "debug_insn", "=", "DF_REF_INSN", "(", "use", "->", "ref", ")", ";", "df_link", "*", "def", ";", "for", "(", "def", "=", "DF_REF_CHAIN", "(", "use", "->", "ref", ")", ";", "def", ";", "def", "=", "def", "->", "next", ")", "if", "(", "!", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "def", "->", "ref", ")", ")", ")", "break", ";", "if", "(", "def", ")", "to_reset_debug_insns", ".", "safe_push", "(", "debug_insn", ")", ";", "else", "{", "*", "DF_REF_REAL_LOC", "(", "use", "->", "ref", ")", "=", "*", "defs_map", ".", "get", "(", "regno_reg_rtx", "[", "DF_REF_REGNO", "(", "ref", ")", "]", ")", ";", "df_insn_rescan", "(", "debug_insn", ")", ";", "}", "}", "while", "(", "!", "to_reset_debug_insns", ".", "is_empty", "(", ")", ")", "{", "rtx_insn", "*", "debug_insn", "=", "to_reset_debug_insns", ".", "pop", "(", ")", ";", "INSN_VAR_LOCATION_LOC", "(", "debug_insn", ")", "=", "gen_rtx_UNKNOWN_VAR_LOC", "(", ")", ";", "df_insn_rescan_debug_internal", "(", "debug_insn", ")", ";", "}", "}", "}", "for", "(", "df_ref", "ref", "=", "DF_INSN_USES", "(", "insn", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "ref", ")", ")", "if", "(", "rtx", "*", "vreg", "=", "defs_map", ".", "get", "(", "regno_reg_rtx", "[", "DF_REF_REGNO", "(", "ref", ")", "]", ")", ")", "{", "rtx", "note", "=", "find_reg_note", "(", "insn", ",", "REG_DEAD", ",", "DF_REF_REG", "(", "ref", ")", ")", ";", "if", "(", "note", ")", "XEXP", "(", "note", ",", "0", ")", "=", "*", "vreg", ";", "*", "DF_REF_REAL_LOC", "(", "ref", ")", "=", "*", "vreg", ";", "}", "}", ""], "natrual_language": ["Helper", "function", "for", "converting", "INSN", "to", "vector", "mode", "."], "TS_V_token": ["i386", "5", "0"], "File": "i386-features1", "Func": "convert_insn_common", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37820, "Length": 389}
{"ground_truth": ["", "void", "timode_scalar_chain", "::", "convert_op", "(", "rtx", "*", "op", ",", "rtx_insn", "*", "insn", ")", "{", "if", "(", "GET_MODE", "(", "*", "op", ")", "==", "V1TImode", ")", "return", ";", "*", "op", "=", "copy_rtx_if_shared", "(", "*", "op", ")", ";", "if", "(", "REG_P", "(", "*", "op", ")", ")", "*", "op", "=", "gen_rtx_SUBREG", "(", "V1TImode", ",", "*", "op", ",", "0", ")", ";", "else", "if", "(", "MEM_P", "(", "*", "op", ")", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "V1TImode", ")", ";", "emit_insn_before", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_gpr_to_xmm_move_src", "(", "V1TImode", ",", "*", "op", ")", ")", ",", "insn", ")", ";", "*", "op", "=", "tmp", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Preloading operand for insn %d into r%d\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "REGNO", "(", "tmp", ")", ")", ";", "}", "else", "if", "(", "CONST_SCALAR_INT_P", "(", "*", "op", ")", ")", "{", "rtx", "vec_cst", ";", "rtx", "tmp", "=", "gen_reg_rtx", "(", "V1TImode", ")", ";", "if", "(", "constm1_operand", "(", "*", "op", ",", "TImode", ")", ")", "vec_cst", "=", "CONSTM1_RTX", "(", "V1TImode", ")", ";", "else", "{", "rtx", "*", "v", "=", "XALLOCAVEC", "(", "rtx", ",", "1", ")", ";", "v", "[", "0", "]", "=", "*", "op", ";", "vec_cst", "=", "gen_rtx_CONST_VECTOR", "(", "V1TImode", ",", "gen_rtvec_v", "(", "1", ",", "v", ")", ")", ";", "}", "if", "(", "!", "standard_sse_constant_p", "(", "vec_cst", ",", "V1TImode", ")", ")", "{", "start_sequence", "(", ")", ";", "vec_cst", "=", "validize_mem", "(", "force_const_mem", "(", "V1TImode", ",", "vec_cst", ")", ")", ";", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_insn_before", "(", "seq", ",", "insn", ")", ";", "}", "emit_insn_before", "(", "gen_move_insn", "(", "tmp", ",", "vec_cst", ")", ",", "insn", ")", ";", "*", "op", "=", "tmp", ";", "}", "else", "{", "gcc_assert", "(", "SUBREG_P", "(", "*", "op", ")", ")", ";", "gcc_assert", "(", "GET_MODE", "(", "*", "op", ")", "==", "vmode", ")", ";", "}", "}", ""], "natrual_language": ["Convert", "operand", "OP", "in", "INSN", ".", "We", "should", "handle", "memory", "operands", "and", "uninitialized", "registers", ".", "All", "other", "register", "uses", "are", "converted", "during", "registers", "conversion", "."], "TS_V_token": ["i386", "0", "\" Preloading operand for insn %d into r%d\\n\"", "1", "0", "1"], "File": "i386-features1", "Func": "convert_op", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37821, "Length": 282}
{"ground_truth": ["", "void", "scalar_chain", "::", "convert_reg", "(", "rtx_insn", "*", "insn", ",", "rtx", "dst", ",", "rtx", "src", ")", "{", "start_sequence", "(", ")", ";", "if", "(", "!", "TARGET_INTER_UNIT_MOVES_FROM_VEC", ")", "{", "rtx", "tmp", "=", "assign_386_stack_local", "(", "smode", ",", "SLOT_STV_TEMP", ")", ";", "emit_move_insn", "(", "tmp", ",", "src", ")", ";", "if", "(", "!", "TARGET_64BIT", "&&", "smode", "==", "DImode", ")", "{", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "0", ")", ",", "adjust_address", "(", "tmp", ",", "SImode", ",", "0", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "4", ")", ",", "adjust_address", "(", "tmp", ",", "SImode", ",", "4", ")", ")", ";", "}", "else", "emit_move_insn", "(", "dst", ",", "copy_rtx", "(", "tmp", ")", ")", ";", "}", "else", "if", "(", "!", "TARGET_64BIT", "&&", "smode", "==", "DImode", ")", "{", "if", "(", "TARGET_SSE4_1", ")", "{", "rtx", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "0", ")", ",", "gen_rtx_VEC_SELECT", "(", "SImode", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "src", ",", "0", ")", ",", "tmp", ")", ")", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "const1_rtx", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "4", ")", ",", "gen_rtx_VEC_SELECT", "(", "SImode", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "src", ",", "0", ")", ",", "tmp", ")", ")", ")", ";", "}", "else", "{", "rtx", "vcopy", "=", "gen_reg_rtx", "(", "V2DImode", ")", ";", "emit_move_insn", "(", "vcopy", ",", "gen_rtx_SUBREG", "(", "V2DImode", ",", "src", ",", "0", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "vcopy", ",", "0", ")", ")", ";", "emit_move_insn", "(", "vcopy", ",", "gen_rtx_LSHIFTRT", "(", "V2DImode", ",", "vcopy", ",", "GEN_INT", "(", "32", ")", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "4", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "vcopy", ",", "0", ")", ")", ";", "}", "}", "else", "emit_move_insn", "(", "dst", ",", "src", ")", ";", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_conversion_insns", "(", "seq", ",", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Copied r%d to a scalar register r%d for insn %d\\n\"", ",", "REGNO", "(", "src", ")", ",", "REGNO", "(", "dst", ")", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", ""], "natrual_language": ["Convert", "all", "definitions", "of", "register", "REGNO", "and", "fix", "its", "uses", ".", "Scalar", "copies", "may", "be", "created", "in", "case", "register", "is", "used", "in", "not", "convertible", "insn", "."], "TS_V_token": ["i386", "0", "0", "4", "4", "1", "0", "0", "1", "4", "0", "0", "0", "0", "32", "4", "0", "\" Copied r%d to a scalar register r%d for insn %d\\n\""], "File": "i386-features1", "Func": "convert_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37822, "Length": 355}
{"ground_truth": ["", "void", "scalar_chain", "::", "convert_registers", "(", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "defs_conv", ",", "0", ",", "id", ",", "bi", ")", "{", "rtx", "chain_reg", "=", "gen_reg_rtx", "(", "smode", ")", ";", "defs_map", ".", "put", "(", "regno_reg_rtx", "[", "id", "]", ",", "chain_reg", ")", ";", "}", "EXECUTE_IF_SET_IN_BITMAP", "(", "insns_conv", ",", "0", ",", "id", ",", "bi", ")", "for", "(", "df_ref", "ref", "=", "DF_INSN_UID_DEFS", "(", "id", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "bitmap_bit_p", "(", "defs_conv", ",", "DF_REF_REGNO", "(", "ref", ")", ")", ")", "make_vector_copies", "(", "DF_REF_INSN", "(", "ref", ")", ",", "DF_REF_REAL_REG", "(", "ref", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "copies", "from", "defs", "used", "by", "the", "chain", "but", "not", "defined", "therein", ".", "Also", "populates", "defs_map", "which", "is", "used", "later", "by", "convert_insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386-features1", "Func": "convert_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37823, "Length": 100}
{"ground_truth": ["", "unsigned", "int", "execute", "(", "function", "*", ")", "final", "override", "{", "return", "remove_partial_avx_dependency", "(", ")", ";", "}", ""], "natrual_language": ["Main", "entry", "point", "for", "this", "pass", "."], "TS_V_token": ["i386"], "File": "i386-features1", "Func": "execute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37824, "Length": 16}
{"ground_truth": ["", "static", "rtx", "gen_gpr_to_xmm_move_src", "(", "enum", "machine_mode", "vmode", ",", "rtx", "gpr", ")", "{", "switch", "(", "GET_MODE_NUNITS", "(", "vmode", ")", ")", "{", "case", "1", ":", "return", "gen_rtx_SUBREG", "(", "vmode", ",", "gpr", ",", "0", ")", ";", "case", "2", ":", "return", "gen_rtx_VEC_CONCAT", "(", "vmode", ",", "gpr", ",", "CONST0_RTX", "(", "GET_MODE_INNER", "(", "vmode", ")", ")", ")", ";", "default", ":", "return", "gen_rtx_VEC_MERGE", "(", "vmode", ",", "gen_rtx_VEC_DUPLICATE", "(", "vmode", ",", "gpr", ")", ",", "CONST0_RTX", "(", "vmode", ")", ",", "GEN_INT", "(", "HOST_WIDE_INT_1U", ")", ")", ";", "}", "}", ""], "natrual_language": ["Generate", "the", "canonical", "SET_SRC", "to", "move", "GPR", "to", "a", "VMODE", "vector", "register", ",", "zeroing", "the", "upper", "parts", "."], "TS_V_token": ["i386", "1", "0", "2"], "File": "i386-features1", "Func": "gen_gpr_to_xmm_move_src", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37825, "Length": 79}
{"ground_truth": ["", "tree", "ix86_get_function_versions_dispatcher", "(", "void", "*", "decl", ")", "{", "tree", "fn", "=", "(", "tree", ")", "decl", ";", "struct", "cgraph_node", "*", "node", "=", "NULL", ";", "struct", "cgraph_node", "*", "default_node", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "node_v", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "first_v", "=", "NULL", ";", "tree", "dispatch_decl", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "default_version_info", "=", "NULL", ";", "gcc_assert", "(", "fn", "!=", "NULL", "&&", "DECL_FUNCTION_VERSIONED", "(", "fn", ")", ")", ";", "node", "=", "cgraph_node", "::", "get", "(", "fn", ")", ";", "gcc_assert", "(", "node", "!=", "NULL", ")", ";", "node_v", "=", "node", "->", "function_version", "(", ")", ";", "gcc_assert", "(", "node_v", "!=", "NULL", ")", ";", "if", "(", "node_v", "->", "dispatcher_resolver", "!=", "NULL", ")", "return", "node_v", "->", "dispatcher_resolver", ";", "first_v", "=", "node_v", ";", "while", "(", "first_v", "->", "prev", "!=", "NULL", ")", "first_v", "=", "first_v", "->", "prev", ";", "default_version_info", "=", "first_v", ";", "while", "(", "default_version_info", "!=", "NULL", ")", "{", "if", "(", "is_function_default_version", "(", "default_version_info", "->", "this_node", "->", "decl", ")", ")", "break", ";", "default_version_info", "=", "default_version_info", "->", "next", ";", "}", "if", "(", "default_version_info", "==", "NULL", ")", "return", "NULL", ";", "if", "(", "first_v", "!=", "default_version_info", ")", "{", "default_version_info", "->", "prev", "->", "next", "=", "default_version_info", "->", "next", ";", "if", "(", "default_version_info", "->", "next", ")", "default_version_info", "->", "next", "->", "prev", "=", "default_version_info", "->", "prev", ";", "first_v", "->", "prev", "=", "default_version_info", ";", "default_version_info", "->", "next", "=", "first_v", ";", "default_version_info", "->", "prev", "=", "NULL", ";", "}", "default_node", "=", "default_version_info", "->", "this_node", ";", "if", "(", "targetm", ".", "has_ifunc_p", "(", ")", ")", "{", "struct", "cgraph_function_version_info", "*", "it_v", "=", "NULL", ";", "struct", "cgraph_node", "*", "dispatcher_node", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "dispatcher_version_info", "=", "NULL", ";", "dispatch_decl", "=", "make_dispatcher_decl", "(", "default_node", "->", "decl", ")", ";", "TREE_NOTHROW", "(", "dispatch_decl", ")", "=", "TREE_NOTHROW", "(", "fn", ")", ";", "dispatcher_node", "=", "cgraph_node", "::", "get_create", "(", "dispatch_decl", ")", ";", "gcc_assert", "(", "dispatcher_node", "!=", "NULL", ")", ";", "dispatcher_node", "->", "dispatcher_function", "=", "1", ";", "dispatcher_version_info", "=", "dispatcher_node", "->", "insert_new_function_version", "(", ")", ";", "dispatcher_version_info", "->", "next", "=", "default_version_info", ";", "dispatcher_node", "->", "definition", "=", "1", ";", "it_v", "=", "default_version_info", ";", "while", "(", "it_v", "!=", "NULL", ")", "{", "it_v", "->", "dispatcher_resolver", "=", "dispatch_decl", ";", "it_v", "=", "it_v", "->", "next", ";", "}", "}", "else", "{", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "default_node", "->", "decl", ")", ",", "\"multiversioning needs % which is not supported \"", "\"on this target\"", ")", ";", "}", "return", "dispatch_decl", ";", "}", ""], "natrual_language": ["Make", "a", "dispatcher", "declaration", "for", "the", "multi-versioned", "function", "DECL", ".", "Calls", "to", "DECL", "function", "will", "be", "replaced", "with", "calls", "to", "the", "dispatcher", "by", "the", "front-end", ".", "Returns", "the", "decl", "of", "the", "dispatcher", "function", "."], "TS_V_token": ["i386", "1", "1", "\"multiversioning needs % which is not supported \"", "\"on this target\""], "File": "i386-features1", "Func": "ix86_get_function_versions_dispatcher", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37826, "Length": 364}
{"ground_truth": ["", "void", "scalar_chain", "::", "make_vector_copies", "(", "rtx_insn", "*", "insn", ",", "rtx", "reg", ")", "{", "rtx", "vreg", "=", "*", "defs_map", ".", "get", "(", "reg", ")", ";", "start_sequence", "(", ")", ";", "if", "(", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", "{", "rtx", "tmp", "=", "assign_386_stack_local", "(", "smode", ",", "SLOT_STV_TEMP", ")", ";", "if", "(", "smode", "==", "DImode", "&&", "!", "TARGET_64BIT", ")", "{", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ";", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "4", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ";", "}", "else", "emit_move_insn", "(", "copy_rtx", "(", "tmp", ")", ",", "reg", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "vmode", ",", "vreg", ",", "0", ")", ",", "gen_gpr_to_xmm_move_src", "(", "vmode", ",", "tmp", ")", ")", ")", ";", "}", "else", "if", "(", "!", "TARGET_64BIT", "&&", "smode", "==", "DImode", ")", "{", "if", "(", "TARGET_SSE4_1", ")", "{", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse4_1_pinsrd", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ",", "GEN_INT", "(", "2", ")", ")", ")", ";", "}", "else", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ")", ";", "emit_insn", "(", "gen_vec_interleave_lowv4si", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ")", ")", ";", "}", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "vmode", ",", "vreg", ",", "0", ")", ",", "gen_gpr_to_xmm_move_src", "(", "vmode", ",", "reg", ")", ")", ")", ";", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_conversion_insns", "(", "seq", ",", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Copied r%d to a vector register r%d for insn %d\\n\"", ",", "REGNO", "(", "reg", ")", ",", "REGNO", "(", "vreg", ")", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", ""], "natrual_language": ["Make", "vector", "copies", "for", "all", "register", "REGNO", "definitions", "and", "replace", "its", "uses", "in", "a", "chain", "."], "TS_V_token": ["i386", "0", "0", "4", "4", "0", "0", "0", "0", "0", "4", "2", "0", "0", "0", "4", "0", "0", "0", "0", "\" Copied r%d to a vector register r%d for insn %d\\n\""], "File": "i386-features1", "Func": "make_vector_copies", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37827, "Length": 387}
{"ground_truth": ["", "void", "scalar_chain", "::", "mark_dual_mode_def", "(", "df_ref", "def", ")", "{", "gcc_assert", "(", "DF_REF_REG_DEF_P", "(", "def", ")", ")", ";", "bool", "reg_new", "=", "bitmap_set_bit", "(", "defs_conv", ",", "DF_REF_REGNO", "(", "def", ")", ")", ";", "if", "(", "!", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "!", "bitmap_set_bit", "(", "insns_conv", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", "&&", "!", "reg_new", ")", "return", ";", "n_integer_to_sse", "++", ";", "}", "else", "{", "if", "(", "!", "reg_new", ")", "return", ";", "n_sse_to_integer", "++", ";", "}", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Mark r%d def in insn %d as requiring both modes in chain #%d\\n\"", ",", "DF_REF_REGNO", "(", "def", ")", ",", "DF_REF_INSN_UID", "(", "def", ")", ",", "chain_id", ")", ";", "}", ""], "natrual_language": ["For", "DImode", "conversion", ",", "mark", "register", "defined", "by", "DEF", "as", "requiring", "conversion", "."], "TS_V_token": ["i386", "\" Mark r%d def in insn %d as requiring both modes in chain #%d\\n\""], "File": "i386-features1", "Func": "mark_dual_mode_def", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37828, "Length": 103}
{"ground_truth": ["", "static", "void", "replace_constant_pool_with_broadcast", "(", "rtx_insn", "*", "insn", ")", "{", "subrtx_ptr_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX_PTR", "(", "iter", ",", "array", ",", "&", "PATTERN", "(", "insn", ")", ",", "ALL", ")", "{", "rtx", "*", "loc", "=", "*", "iter", ";", "rtx", "x", "=", "*", "loc", ";", "rtx", "broadcast_mem", ",", "vec_dup", ",", "constant", ",", "first", ";", "machine_mode", "mode", ";", "if", "(", "!", "MEM_P", "(", "x", ")", "||", "!", "SYMBOL_REF_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", "||", "!", "CONSTANT_POOL_ADDRESS_P", "(", "XEXP", "(", "x", ",", "0", ")", ")", ")", "continue", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "return", ";", "constant", "=", "get_pool_constant", "(", "XEXP", "(", "x", ",", "0", ")", ")", ";", "if", "(", "GET_CODE", "(", "constant", ")", "!=", "CONST_VECTOR", ")", "return", ";", "if", "(", "GET_MODE", "(", "constant", ")", "!=", "mode", ")", "{", "constant", "=", "simplify_subreg", "(", "mode", ",", "constant", ",", "GET_MODE", "(", "constant", ")", ",", "0", ")", ";", "if", "(", "constant", "==", "NULL_RTX", "||", "GET_CODE", "(", "constant", ")", "!=", "CONST_VECTOR", ")", "return", ";", "}", "first", "=", "XVECEXP", "(", "constant", ",", "0", ",", "0", ")", ";", "for", "(", "int", "i", "=", "1", ";", "i", "<", "GET_MODE_NUNITS", "(", "mode", ")", ";", "++", "i", ")", "{", "rtx", "tmp", "=", "XVECEXP", "(", "constant", ",", "0", ",", "i", ")", ";", "if", "(", "!", "rtx_equal_p", "(", "tmp", ",", "first", ")", ")", "return", ";", "}", "broadcast_mem", "=", "force_const_mem", "(", "GET_MODE_INNER", "(", "mode", ")", ",", "first", ")", ";", "vec_dup", "=", "gen_rtx_VEC_DUPLICATE", "(", "mode", ",", "broadcast_mem", ")", ";", "validate_change", "(", "insn", ",", "loc", ",", "vec_dup", ",", "0", ")", ";", "return", ";", "}", "}", ""], "natrual_language": ["Replace", "all", "one-value", "const", "vector", "that", "are", "referenced", "by", "SYMBOL_REFs", "in", "x", "with", "embedded", "broadcast", ".", "i.e.transform", "vpaddq", ".LC0", "(", "%", "rip", ")", ",", "%", "zmm0", ",", "%", "zmm0", "ret", ".LC0", ":", ".quad", "3", ".quad", "3", ".quad", "3", ".quad", "3", ".quad", "3", ".quad", "3", ".quad", "3", ".quad", "3", "to", "vpaddq", ".LC0", "(", "%", "rip", ")", "{", "1to8", "}", ",", "%", "zmm0", ",", "%", "zmm0", "ret", ".LC0", ":", ".quad", "3"], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "1", "0", "0"], "File": "i386-features1", "Func": "replace_constant_pool_with_broadcast", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37829, "Length": 258}
{"ground_truth": ["", "scalar_chain", "::", "scalar_chain", "(", "enum", "machine_mode", "smode_", ",", "enum", "machine_mode", "vmode_", ")", "{", "smode", "=", "smode_", ";", "vmode", "=", "vmode_", ";", "chain_id", "=", "++", "max_id", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Created a new instruction chain #%d\\n\"", ",", "chain_id", ")", ";", "bitmap_obstack_initialize", "(", "NULL", ")", ";", "insns", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "defs", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "defs_conv", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "insns_conv", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "queue", "=", "NULL", ";", "n_sse_to_integer", "=", "0", ";", "n_integer_to_sse", "=", "0", ";", "max_visits", "=", "x86_stv_max_visits", ";", "}", ""], "natrual_language": ["Initialize", "new", "chain", "."], "TS_V_token": ["i386", "\"Created a new instruction chain #%d\\n\"", "0", "0"], "File": "i386-features1", "Func": "scalar_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37830, "Length": 89}
{"ground_truth": ["", "static", "bool", "single_def_chain_p", "(", "rtx", "reg", ")", "{", "df_ref", "ref", "=", "DF_REG_DEF_CHAIN", "(", "REGNO", "(", "reg", ")", ")", ";", "if", "(", "!", "ref", ")", "return", "false", ";", "return", "DF_REF_NEXT_REG", "(", "ref", ")", "==", "nullptr", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "register", "REG", "is", "defined", "in", "a", "single", "DEF", "chain", ".", "If", "it", "is", "defined", "in", "more", "than", "one", "DEF", "chains", ",", "we", "may", "not", "be", "able", "to", "convert", "it", "in", "all", "chains", "."], "TS_V_token": ["i386"], "File": "i386-features1", "Func": "single_def_chain_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37831, "Length": 36}
{"ground_truth": ["", "static", "void", "timode_check_non_convertible_regs", "(", "bitmap", "candidates", ",", "bitmap", "regs", ",", "unsigned", "int", "regno", ")", "{", "if", "(", "bitmap_bit_p", "(", "regs", ",", "regno", ")", "||", "HARD_REGISTER_NUM_P", "(", "regno", ")", ")", "return", ";", "for", "(", "df_ref", "def", "=", "DF_REG_DEF_CHAIN", "(", "regno", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "{", "if", "(", "!", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"r%d has non convertible def in insn %d\\n\"", ",", "regno", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "bitmap_set_bit", "(", "regs", ",", "regno", ")", ";", "break", ";", "}", "}", "for", "(", "df_ref", "ref", "=", "DF_REG_USE_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "{", "if", "(", "NONDEBUG_INSN_P", "(", "DF_REF_INSN", "(", "ref", ")", ")", "&&", "!", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"r%d has non convertible use in insn %d\\n\"", ",", "regno", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "bitmap_set_bit", "(", "regs", ",", "regno", ")", ";", "break", ";", "}", "}", "}", ""], "natrual_language": ["For", "a", "register", "REGNO", ",", "scan", "instructions", "for", "its", "defs", "and", "uses", ".", "Put", "REGNO", "in", "REGS", "if", "a", "def", "or", "use", "is", "n't", "in", "CANDIDATES", "."], "TS_V_token": ["i386", "\"r%d has non convertible def in insn %d\\n\"", "\"r%d has non convertible use in insn %d\\n\""], "File": "i386-features1", "Func": "timode_check_non_convertible_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37832, "Length": 166}
{"ground_truth": ["", "static", "bool", "timode_mem_p", "(", "rtx", "x", ")", "{", "return", "MEM_P", "(", "x", ")", "&&", "(", "TARGET_SSE_UNALIGNED_LOAD_OPTIMAL", "||", "!", "misaligned_operand", "(", "x", ",", "TImode", ")", ")", ";", "}", ""], "natrual_language": ["Check", "for", "a", "suitable", "TImode", "memory", "operand", "."], "TS_V_token": ["i386"], "File": "i386-features1", "Func": "timode_mem_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37833, "Length": 27}
{"ground_truth": ["", "static", "void", "timode_remove_non_convertible_regs", "(", "bitmap", "candidates", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "bitmap", "regs", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "bool", "changed", ";", "do", "{", "changed", "=", "false", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "candidates", ",", "0", ",", "id", ",", "bi", ")", "{", "rtx_insn", "*", "insn", "=", "DF_INSN_UID_GET", "(", "id", ")", "->", "insn", ";", "df_ref", "ref", ";", "FOR_EACH_INSN_DEF", "(", "ref", ",", "insn", ")", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "ref", ")", "&&", "GET_MODE", "(", "DF_REF_REG", "(", "ref", ")", ")", "==", "TImode", ")", "timode_check_non_convertible_regs", "(", "candidates", ",", "regs", ",", "DF_REF_REGNO", "(", "ref", ")", ")", ";", "FOR_EACH_INSN_USE", "(", "ref", ",", "insn", ")", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "ref", ")", "&&", "GET_MODE", "(", "DF_REF_REG", "(", "ref", ")", ")", "==", "TImode", ")", "timode_check_non_convertible_regs", "(", "candidates", ",", "regs", ",", "DF_REF_REGNO", "(", "ref", ")", ")", ";", "}", "EXECUTE_IF_SET_IN_BITMAP", "(", "regs", ",", "0", ",", "id", ",", "bi", ")", "{", "for", "(", "df_ref", "def", "=", "DF_REG_DEF_CHAIN", "(", "id", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "if", "(", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Removing insn %d from candidates list\\n\"", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "bitmap_clear_bit", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "changed", "=", "true", ";", "}", "for", "(", "df_ref", "ref", "=", "DF_REG_USE_CHAIN", "(", "id", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Removing insn %d from candidates list\\n\"", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "bitmap_clear_bit", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "changed", "=", "true", ";", "}", "}", "}", "while", "(", "changed", ")", ";", "BITMAP_FREE", "(", "regs", ")", ";", "}", ""], "natrual_language": ["For", "a", "given", "bitmap", "of", "insn", "UIDs", "scans", "all", "instructions", "and", "remove", "insn", "from", "CANDIDATES", "in", "case", "it", "has", "both", "convertible", "and", "not", "convertible", "definitions", ".", "All", "insns", "in", "a", "bitmap", "are", "conversion", "candidates", "according", "to", "scalar_to_vector_candidate_p", ".", "Currently", "it", "implies", "all", "insns", "are", "single_set", "."], "TS_V_token": ["i386", "0", "0", "\"Removing insn %d from candidates list\\n\"", "\"Removing insn %d from candidates list\\n\""], "File": "i386-features1", "Func": "timode_remove_non_convertible_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37834, "Length": 279}
{"ground_truth": ["", "static", "bool", "timode_scalar_to_vector_candidate_p", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "def_set", "=", "pseudo_reg_set", "(", "insn", ")", ";", "if", "(", "!", "def_set", ")", "return", "false", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", "return", "convertible_comparison_p", "(", "insn", ",", "TImode", ")", ";", "if", "(", "GET_MODE", "(", "dst", ")", "!=", "TImode", "||", "(", "GET_MODE", "(", "src", ")", "!=", "TImode", "&&", "!", "CONST_SCALAR_INT_P", "(", "src", ")", ")", ")", "return", "false", ";", "if", "(", "!", "REG_P", "(", "dst", ")", "&&", "!", "MEM_P", "(", "dst", ")", ")", "return", "false", ";", "if", "(", "MEM_P", "(", "dst", ")", "&&", "misaligned_operand", "(", "dst", ",", "TImode", ")", "&&", "!", "TARGET_SSE_UNALIGNED_STORE_OPTIMAL", ")", "return", "false", ";", "if", "(", "REG_P", "(", "dst", ")", "&&", "!", "single_def_chain_p", "(", "dst", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "case", "REG", ":", "return", "single_def_chain_p", "(", "src", ")", ";", "case", "CONST_WIDE_INT", ":", "return", "true", ";", "case", "CONST_INT", ":", "return", "standard_sse_constant_p", "(", "src", ",", "TImode", ")", ";", "case", "MEM", ":", "return", "(", "REG_P", "(", "dst", ")", "&&", "(", "!", "misaligned_operand", "(", "src", ",", "TImode", ")", "||", "TARGET_SSE_UNALIGNED_LOAD_OPTIMAL", ")", ")", ";", "case", "AND", ":", "if", "(", "!", "MEM_P", "(", "dst", ")", "&&", "GET_CODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "==", "NOT", "&&", "REG_P", "(", "XEXP", "(", "XEXP", "(", "src", ",", "0", ")", ",", "0", ")", ")", "&&", "(", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "CONST_SCALAR_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "timode_mem_p", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", ")", "return", "true", ";", "return", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "(", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "CONST_SCALAR_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "timode_mem_p", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", ";", "case", "IOR", ":", "case", "XOR", ":", "return", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "(", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "CONST_SCALAR_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "timode_mem_p", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", ";", "case", "NOT", ":", "return", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "||", "timode_mem_p", "(", "XEXP", "(", "src", ",", "0", ")", ")", ";", "case", "ASHIFT", ":", "case", "LSHIFTRT", ":", "case", "ASHIFTRT", ":", "case", "ROTATERT", ":", "case", "ROTATE", ":", "return", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "(", "INTVAL", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&", "~", "0x7f", ")", "==", "0", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["The", "TImode", "version", "of", "scalar_to_vector_candidate_p", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "1", "1", "0", "1", "1", "1", "0", "1", "1", "1", "0", "0", "0", "1", "1", "0x7f", "0"], "File": "i386-features1", "Func": "timode_scalar_to_vector_candidate_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37835, "Length": 444}
{"ground_truth": ["", "scalar_chain", "::", "~", "scalar_chain", "(", ")", "{", "BITMAP_FREE", "(", "insns", ")", ";", "BITMAP_FREE", "(", "defs", ")", ";", "BITMAP_FREE", "(", "defs_conv", ")", ";", "BITMAP_FREE", "(", "insns_conv", ")", ";", "bitmap_obstack_release", "(", "NULL", ")", ";", "}", ""], "natrual_language": ["Free", "chain", "'s", "data", "."], "TS_V_token": ["i386"], "File": "i386-features1", "Func": "~scalar_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37836, "Length": 33}
{"ground_truth": ["", "static", "basic_block", "add_condition_to_bb", "(", "tree", "function_decl", ",", "tree", "version_decl", ",", "tree", "predicate_chain", ",", "basic_block", "new_bb", ")", "{", "gimple", "*", "return_stmt", ";", "tree", "convert_expr", ",", "result_var", ";", "gimple", "*", "convert_stmt", ";", "gimple", "*", "call_cond_stmt", ";", "gimple", "*", "if_else_stmt", ";", "basic_block", "bb1", ",", "bb2", ",", "bb3", ";", "edge", "e12", ",", "e23", ";", "tree", "cond_var", ",", "and_expr_var", "=", "NULL_TREE", ";", "gimple_seq", "gseq", ";", "tree", "predicate_decl", ",", "predicate_arg", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "function_decl", ")", ")", ";", "gcc_assert", "(", "new_bb", "!=", "NULL", ")", ";", "gseq", "=", "bb_seq", "(", "new_bb", ")", ";", "convert_expr", "=", "build1", "(", "CONVERT_EXPR", ",", "ptr_type_node", ",", "build_fold_addr_expr", "(", "version_decl", ")", ")", ";", "result_var", "=", "create_tmp_var", "(", "ptr_type_node", ")", ";", "convert_stmt", "=", "gimple_build_assign", "(", "result_var", ",", "convert_expr", ")", ";", "return_stmt", "=", "gimple_build_return", "(", "result_var", ")", ";", "if", "(", "predicate_chain", "==", "NULL_TREE", ")", "{", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "convert_stmt", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "return_stmt", ")", ";", "set_bb_seq", "(", "new_bb", ",", "gseq", ")", ";", "gimple_set_bb", "(", "convert_stmt", ",", "new_bb", ")", ";", "gimple_set_bb", "(", "return_stmt", ",", "new_bb", ")", ";", "pop_cfun", "(", ")", ";", "return", "new_bb", ";", "}", "while", "(", "predicate_chain", "!=", "NULL", ")", "{", "cond_var", "=", "create_tmp_var", "(", "integer_type_node", ")", ";", "predicate_decl", "=", "TREE_PURPOSE", "(", "predicate_chain", ")", ";", "predicate_arg", "=", "TREE_VALUE", "(", "predicate_chain", ")", ";", "call_cond_stmt", "=", "gimple_build_call", "(", "predicate_decl", ",", "1", ",", "predicate_arg", ")", ";", "gimple_call_set_lhs", "(", "call_cond_stmt", ",", "cond_var", ")", ";", "gimple_set_block", "(", "call_cond_stmt", ",", "DECL_INITIAL", "(", "function_decl", ")", ")", ";", "gimple_set_bb", "(", "call_cond_stmt", ",", "new_bb", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "call_cond_stmt", ")", ";", "predicate_chain", "=", "TREE_CHAIN", "(", "predicate_chain", ")", ";", "if", "(", "and_expr_var", "==", "NULL", ")", "and_expr_var", "=", "cond_var", ";", "else", "{", "gimple", "*", "assign_stmt", ";", "assign_stmt", "=", "gimple_build_assign", "(", "and_expr_var", ",", "build2", "(", "MIN_EXPR", ",", "integer_type_node", ",", "cond_var", ",", "and_expr_var", ")", ")", ";", "gimple_set_block", "(", "assign_stmt", ",", "DECL_INITIAL", "(", "function_decl", ")", ")", ";", "gimple_set_bb", "(", "assign_stmt", ",", "new_bb", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "assign_stmt", ")", ";", "}", "}", "if_else_stmt", "=", "gimple_build_cond", "(", "GT_EXPR", ",", "and_expr_var", ",", "integer_zero_node", ",", "NULL_TREE", ",", "NULL_TREE", ")", ";", "gimple_set_block", "(", "if_else_stmt", ",", "DECL_INITIAL", "(", "function_decl", ")", ")", ";", "gimple_set_bb", "(", "if_else_stmt", ",", "new_bb", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "if_else_stmt", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "convert_stmt", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "return_stmt", ")", ";", "set_bb_seq", "(", "new_bb", ",", "gseq", ")", ";", "bb1", "=", "new_bb", ";", "e12", "=", "split_block", "(", "bb1", ",", "if_else_stmt", ")", ";", "bb2", "=", "e12", "->", "dest", ";", "e12", "->", "flags", "&=", "~", "EDGE_FALLTHRU", ";", "e12", "->", "flags", "|=", "EDGE_TRUE_VALUE", ";", "e23", "=", "split_block", "(", "bb2", ",", "return_stmt", ")", ";", "gimple_set_bb", "(", "convert_stmt", ",", "bb2", ")", ";", "gimple_set_bb", "(", "return_stmt", ",", "bb2", ")", ";", "bb3", "=", "e23", "->", "dest", ";", "make_edge", "(", "bb1", ",", "bb3", ",", "EDGE_FALSE_VALUE", ")", ";", "remove_edge", "(", "e23", ")", ";", "make_edge", "(", "bb2", ",", "EXIT_BLOCK_PTR_FOR_FN", "(", "cfun", ")", ",", "0", ")", ";", "pop_cfun", "(", ")", ";", "return", "bb3", ";", "}", ""], "natrual_language": ["This", "adds", "a", "condition", "to", "the", "basic_block", "NEW_BB", "in", "function", "FUNCTION_DECL", "to", "return", "a", "pointer", "to", "VERSION_DECL", "if", "we", "are", "running", "on", "a", "machine", "that", "supports", "the", "index", "CLONE_ISA", "hardware", "architecture", "bits", ".", "This", "function", "will", "be", "called", "during", "version", "dispatch", "to", "decide", "which", "function", "version", "to", "execute", ".", "It", "returns", "the", "basic", "block", "at", "the", "end", ",", "to", "which", "more", "conditions", "can", "be", "added", "."], "TS_V_token": ["i386", "1", "0"], "File": "i386-features", "Func": "add_condition_to_bb", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37837, "Length": 473}
{"ground_truth": ["", "void", "scalar_chain", "::", "add_insn", "(", "bitmap", "candidates", ",", "unsigned", "int", "insn_uid", ")", "{", "if", "(", "bitmap_bit_p", "(", "insns", ",", "insn_uid", ")", ")", "return", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Adding insn %d to chain #%d\\n\"", ",", "insn_uid", ",", "chain_id", ")", ";", "bitmap_set_bit", "(", "insns", ",", "insn_uid", ")", ";", "rtx_insn", "*", "insn", "=", "DF_INSN_UID_GET", "(", "insn_uid", ")", "->", "insn", ";", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "def_set", "&&", "REG_P", "(", "SET_DEST", "(", "def_set", ")", ")", "&&", "!", "HARD_REGISTER_P", "(", "SET_DEST", "(", "def_set", ")", ")", ")", "bitmap_set_bit", "(", "defs", ",", "REGNO", "(", "SET_DEST", "(", "def_set", ")", ")", ")", ";", "df_ref", "ref", ";", "for", "(", "ref", "=", "DF_INSN_UID_DEFS", "(", "insn_uid", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "!", "HARD_REGISTER_P", "(", "DF_REF_REG", "(", "ref", ")", ")", ")", "analyze_register_chain", "(", "candidates", ",", "ref", ")", ";", "for", "(", "ref", "=", "DF_INSN_UID_USES", "(", "insn_uid", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "ref", ")", ")", "analyze_register_chain", "(", "candidates", ",", "ref", ")", ";", "}", ""], "natrual_language": ["Add", "instruction", "into", "a", "chain", ".", "Return", "true", "if", "OK", ",", "false", "if", "the", "search", "was", "aborted", "."], "TS_V_token": ["i386", "\" Adding insn %d to chain #%d\\n\""], "File": "i386-features", "Func": "add_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37838, "Length": 172}
{"ground_truth": ["", "void", "scalar_chain", "::", "add_to_queue", "(", "unsigned", "insn_uid", ")", "{", "if", "(", "bitmap_bit_p", "(", "insns", ",", "insn_uid", ")", "||", "bitmap_bit_p", "(", "queue", ",", "insn_uid", ")", ")", "return", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Adding insn %d into chain's #%d queue\\n\"", ",", "insn_uid", ",", "chain_id", ")", ";", "bitmap_set_bit", "(", "queue", ",", "insn_uid", ")", ";", "}", ""], "natrual_language": ["Add", "instruction", "into", "chains", "'", "queue", "."], "TS_V_token": ["i386", "\" Adding insn %d into chain's #%d queue\\n\""], "File": "i386-features", "Func": "add_to_queue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37839, "Length": 50}
{"ground_truth": ["", "void", "scalar_chain", "::", "analyze_register_chain", "(", "bitmap", "candidates", ",", "df_ref", "ref", ")", "{", "df_link", "*", "chain", ";", "gcc_assert", "(", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", "||", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", ";", "add_to_queue", "(", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "for", "(", "chain", "=", "DF_REF_CHAIN", "(", "ref", ")", ";", "chain", ";", "chain", "=", "chain", "->", "next", ")", "{", "unsigned", "uid", "=", "DF_REF_INSN_UID", "(", "chain", "->", "ref", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "DF_REF_INSN", "(", "chain", "->", "ref", ")", ")", ")", "continue", ";", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "chain", "->", "ref", ")", ")", "{", "if", "(", "bitmap_bit_p", "(", "insns", ",", "uid", ")", ")", "continue", ";", "if", "(", "bitmap_bit_p", "(", "candidates", ",", "uid", ")", ")", "{", "add_to_queue", "(", "uid", ")", ";", "continue", ";", "}", "}", "if", "(", "DF_REF_REG_DEF_P", "(", "chain", "->", "ref", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" r%d def in insn %d isn't convertible\\n\"", ",", "DF_REF_REGNO", "(", "chain", "->", "ref", ")", ",", "uid", ")", ";", "mark_dual_mode_def", "(", "chain", "->", "ref", ")", ";", "}", "else", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" r%d use in insn %d isn't convertible\\n\"", ",", "DF_REF_REGNO", "(", "chain", "->", "ref", ")", ",", "uid", ")", ";", "mark_dual_mode_def", "(", "ref", ")", ";", "}", "}", "}", ""], "natrual_language": ["Check", "REF", "'s", "chain", "to", "add", "new", "insns", "into", "a", "queue", "and", "find", "registers", "requiring", "conversion", ".", "Return", "true", "if", "OK", ",", "false", "if", "the", "analysis", "was", "aborted", "."], "TS_V_token": ["i386", "\" r%d def in insn %d isn't convertible\\n\"", "\" r%d use in insn %d isn't convertible\\n\""], "File": "i386-features", "Func": "analyze_register_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37840, "Length": 199}
{"ground_truth": ["", "void", "scalar_chain", "::", "build", "(", "bitmap", "candidates", ",", "unsigned", "insn_uid", ")", "{", "queue", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "bitmap_set_bit", "(", "queue", ",", "insn_uid", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Building chain #%d...\\n\"", ",", "chain_id", ")", ";", "while", "(", "!", "bitmap_empty_p", "(", "queue", ")", ")", "{", "insn_uid", "=", "bitmap_first_set_bit", "(", "queue", ")", ";", "bitmap_clear_bit", "(", "queue", ",", "insn_uid", ")", ";", "bitmap_clear_bit", "(", "candidates", ",", "insn_uid", ")", ";", "add_insn", "(", "candidates", ",", "insn_uid", ")", ";", "}", "if", "(", "dump_file", ")", "{", "fprintf", "(", "dump_file", ",", "\"Collected chain #%d...\\n\"", ",", "chain_id", ")", ";", "fprintf", "(", "dump_file", ",", "\" insns: \"", ")", ";", "dump_bitmap", "(", "dump_file", ",", "insns", ")", ";", "if", "(", "!", "bitmap_empty_p", "(", "defs_conv", ")", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "const", "char", "*", "comma", "=", "\"\"", ";", "fprintf", "(", "dump_file", ",", "\" defs to convert: \"", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "defs_conv", ",", "0", ",", "id", ",", "bi", ")", "{", "fprintf", "(", "dump_file", ",", "\"%sr%d\"", ",", "comma", ",", "id", ")", ";", "comma", "=", "\", \"", ";", "}", "fprintf", "(", "dump_file", ",", "\"\\n\"", ")", ";", "}", "}", "BITMAP_FREE", "(", "queue", ")", ";", "}", ""], "natrual_language": ["Build", "new", "chain", "starting", "from", "insn", "INSN_UID", "recursively", "adding", "all", "dependent", "uses", "and", "definitions", ".", "Return", "true", "if", "OK", ",", "false", "if", "the", "chain", "discovery", "was", "aborted", "."], "TS_V_token": ["i386", "\"Building chain #%d...\\n\"", "\"Collected chain #%d...\\n\"", "\" insns: \"", "\"\"", "\" defs to convert: \"", "0", "\"%sr%d\"", "\", \"", "\"\\n\""], "File": "i386-features", "Func": "build", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37841, "Length": 176}
{"ground_truth": ["", "int", "compute_convert_gain", "(", ")", "{", "return", "1", ";", "}", ""], "natrual_language": ["Compute", "a", "gain", "for", "chain", "conversion", "."], "TS_V_token": ["i386", "1"], "File": "i386-features", "Func": "compute_convert_gain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37842, "Length": 9}
{"ground_truth": ["", "int", "scalar_chain", "::", "convert", "(", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "int", "converted_insns", "=", "0", ";", "if", "(", "!", "dbg_cnt", "(", "stv_conversion", ")", ")", "return", "0", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Converting chain #%d...\\n\"", ",", "chain_id", ")", ";", "convert_registers", "(", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "insns", ",", "0", ",", "id", ",", "bi", ")", "{", "convert_insn", "(", "DF_INSN_UID_GET", "(", "id", ")", "->", "insn", ")", ";", "converted_insns", "++", ";", "}", "return", "converted_insns", ";", "}", ""], "natrual_language": ["Convert", "whole", "chain", "creating", "required", "register", "conversions", "and", "copies", "."], "TS_V_token": ["i386", "0", "0", "\"Converting chain #%d...\\n\"", "0"], "File": "i386-features", "Func": "convert", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37843, "Length": 75}
{"ground_truth": ["", "static", "bool", "convertible_comparison_p", "(", "rtx_insn", "*", "insn", ",", "enum", "machine_mode", "mode", ")", "{", "if", "(", "TARGET_64BIT", "||", "mode", "!=", "DImode", ")", "return", "false", ";", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "gcc_assert", "(", "def_set", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", ";", "if", "(", "GET_CODE", "(", "dst", ")", "!=", "REG", "||", "REGNO", "(", "dst", ")", "!=", "FLAGS_REG", "||", "GET_MODE", "(", "dst", ")", "!=", "CCZmode", ")", "return", "false", ";", "rtx", "op1", "=", "XEXP", "(", "src", ",", "0", ")", ";", "rtx", "op2", "=", "XEXP", "(", "src", ",", "1", ")", ";", "if", "(", "op2", "!=", "CONST0_RTX", "(", "GET_MODE", "(", "op2", ")", ")", ")", "return", "false", ";", "if", "(", "GET_CODE", "(", "op1", ")", "!=", "IOR", ")", "return", "false", ";", "op2", "=", "XEXP", "(", "op1", ",", "1", ")", ";", "op1", "=", "XEXP", "(", "op1", ",", "0", ")", ";", "if", "(", "!", "SUBREG_P", "(", "op1", ")", "||", "!", "SUBREG_P", "(", "op2", ")", "||", "GET_MODE", "(", "op1", ")", "!=", "SImode", "||", "GET_MODE", "(", "op2", ")", "!=", "SImode", "||", "(", "(", "SUBREG_BYTE", "(", "op1", ")", "!=", "0", "||", "SUBREG_BYTE", "(", "op2", ")", "!=", "GET_MODE_SIZE", "(", "SImode", ")", ")", "&&", "(", "SUBREG_BYTE", "(", "op2", ")", "!=", "0", "||", "SUBREG_BYTE", "(", "op1", ")", "!=", "GET_MODE_SIZE", "(", "SImode", ")", ")", ")", ")", "return", "false", ";", "op1", "=", "SUBREG_REG", "(", "op1", ")", ";", "op2", "=", "SUBREG_REG", "(", "op2", ")", ";", "if", "(", "op1", "!=", "op2", "||", "!", "REG_P", "(", "op1", ")", "||", "GET_MODE", "(", "op1", ")", "!=", "DImode", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Check", "if", "comparison", "INSN", "may", "be", "transformed", "into", "vector", "comparison", ".", "Currently", "we", "transform", "equality/inequality", "checks", "which", "look", "like", ":", "(", "set", "(", "reg", ":", "CCZ", "17", "flags", ")", "(", "compare", ":", "CCZ", "(", "reg", ":", "TI", "x", ")", "(", "reg", ":", "TI", "y", ")", ")", ")"], "TS_V_token": ["i386", "0", "1", "1", "0", "0", "0"], "File": "i386-features", "Func": "convertible_comparison_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37844, "Length": 273}
{"ground_truth": ["", "void", "general_scalar_chain", "::", "convert_op", "(", "rtx", "*", "op", ",", "rtx_insn", "*", "insn", ")", "{", "*", "op", "=", "copy_rtx_if_shared", "(", "*", "op", ")", ";", "if", "(", "GET_CODE", "(", "*", "op", ")", "==", "NOT", ")", "{", "convert_op", "(", "&", "XEXP", "(", "*", "op", ",", "0", ")", ",", "insn", ")", ";", "PUT_MODE", "(", "*", "op", ",", "vmode", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "*", "op", ")", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "GET_MODE", "(", "*", "op", ")", ")", ";", "if", "(", "!", "memory_operand", "(", "*", "op", ",", "GET_MODE", "(", "*", "op", ")", ")", ")", "{", "rtx", "tmp2", "=", "gen_reg_rtx", "(", "GET_MODE", "(", "*", "op", ")", ")", ";", "emit_insn_before", "(", "gen_rtx_SET", "(", "tmp2", ",", "*", "op", ")", ",", "insn", ")", ";", "*", "op", "=", "tmp2", ";", "}", "emit_insn_before", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "vmode", ",", "tmp", ",", "0", ")", ",", "gen_gpr_to_xmm_move_src", "(", "vmode", ",", "*", "op", ")", ")", ",", "insn", ")", ";", "*", "op", "=", "gen_rtx_SUBREG", "(", "vmode", ",", "tmp", ",", "0", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Preloading operand for insn %d into r%d\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "REGNO", "(", "tmp", ")", ")", ";", "}", "else", "if", "(", "REG_P", "(", "*", "op", ")", ")", "{", "*", "op", "=", "gen_rtx_SUBREG", "(", "vmode", ",", "*", "op", ",", "0", ")", ";", "}", "else", "if", "(", "CONST_INT_P", "(", "*", "op", ")", ")", "{", "rtx", "vec_cst", ";", "rtx", "tmp", "=", "gen_rtx_SUBREG", "(", "vmode", ",", "gen_reg_rtx", "(", "smode", ")", ",", "0", ")", ";", "if", "(", "constm1_operand", "(", "*", "op", ",", "GET_MODE", "(", "*", "op", ")", ")", ")", "vec_cst", "=", "CONSTM1_RTX", "(", "vmode", ")", ";", "else", "{", "unsigned", "n", "=", "GET_MODE_NUNITS", "(", "vmode", ")", ";", "rtx", "*", "v", "=", "XALLOCAVEC", "(", "rtx", ",", "n", ")", ";", "v", "[", "0", "]", "=", "*", "op", ";", "for", "(", "unsigned", "i", "=", "1", ";", "i", "<", "n", ";", "++", "i", ")", "v", "[", "i", "]", "=", "const0_rtx", ";", "vec_cst", "=", "gen_rtx_CONST_VECTOR", "(", "vmode", ",", "gen_rtvec_v", "(", "n", ",", "v", ")", ")", ";", "}", "if", "(", "!", "standard_sse_constant_p", "(", "vec_cst", ",", "vmode", ")", ")", "{", "start_sequence", "(", ")", ";", "vec_cst", "=", "validize_mem", "(", "force_const_mem", "(", "vmode", ",", "vec_cst", ")", ")", ";", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_insn_before", "(", "seq", ",", "insn", ")", ";", "}", "emit_insn_before", "(", "gen_move_insn", "(", "copy_rtx", "(", "tmp", ")", ",", "vec_cst", ")", ",", "insn", ")", ";", "*", "op", "=", "tmp", ";", "}", "else", "{", "gcc_assert", "(", "SUBREG_P", "(", "*", "op", ")", ")", ";", "gcc_assert", "(", "GET_MODE", "(", "*", "op", ")", "==", "vmode", ")", ";", "}", "}", ""], "natrual_language": ["Convert", "operand", "OP", "in", "INSN", ".", "We", "should", "handle", "memory", "operands", "and", "uninitialized", "registers", ".", "All", "other", "register", "uses", "are", "converted", "during", "registers", "conversion", "."], "TS_V_token": ["i386", "0", "0", "0", "\" Preloading operand for insn %d into r%d\\n\"", "0", "0", "0", "1"], "File": "i386-features", "Func": "convert_op", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37845, "Length": 415}
{"ground_truth": ["", "void", "general_scalar_chain", "::", "convert_reg", "(", "rtx_insn", "*", "insn", ",", "rtx", "dst", ",", "rtx", "src", ")", "{", "start_sequence", "(", ")", ";", "if", "(", "!", "TARGET_INTER_UNIT_MOVES_FROM_VEC", ")", "{", "rtx", "tmp", "=", "assign_386_stack_local", "(", "smode", ",", "SLOT_STV_TEMP", ")", ";", "emit_move_insn", "(", "tmp", ",", "src", ")", ";", "if", "(", "!", "TARGET_64BIT", "&&", "smode", "==", "DImode", ")", "{", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "0", ")", ",", "adjust_address", "(", "tmp", ",", "SImode", ",", "0", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "4", ")", ",", "adjust_address", "(", "tmp", ",", "SImode", ",", "4", ")", ")", ";", "}", "else", "emit_move_insn", "(", "dst", ",", "copy_rtx", "(", "tmp", ")", ")", ";", "}", "else", "if", "(", "!", "TARGET_64BIT", "&&", "smode", "==", "DImode", ")", "{", "if", "(", "TARGET_SSE4_1", ")", "{", "rtx", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "0", ")", ",", "gen_rtx_VEC_SELECT", "(", "SImode", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "src", ",", "0", ")", ",", "tmp", ")", ")", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "const1_rtx", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "4", ")", ",", "gen_rtx_VEC_SELECT", "(", "SImode", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "src", ",", "0", ")", ",", "tmp", ")", ")", ")", ";", "}", "else", "{", "rtx", "vcopy", "=", "gen_reg_rtx", "(", "V2DImode", ")", ";", "emit_move_insn", "(", "vcopy", ",", "gen_rtx_SUBREG", "(", "V2DImode", ",", "src", ",", "0", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "vcopy", ",", "0", ")", ")", ";", "emit_move_insn", "(", "vcopy", ",", "gen_rtx_LSHIFTRT", "(", "V2DImode", ",", "vcopy", ",", "GEN_INT", "(", "32", ")", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "dst", ",", "4", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "vcopy", ",", "0", ")", ")", ";", "}", "}", "else", "emit_move_insn", "(", "dst", ",", "src", ")", ";", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_conversion_insns", "(", "seq", ",", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Copied r%d to a scalar register r%d for insn %d\\n\"", ",", "REGNO", "(", "src", ")", ",", "REGNO", "(", "dst", ")", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", ""], "natrual_language": ["Convert", "all", "definitions", "of", "register", "REGNO", "and", "fix", "its", "uses", ".", "Scalar", "copies", "may", "be", "created", "in", "case", "register", "is", "used", "in", "not", "convertible", "insn", "."], "TS_V_token": ["i386", "0", "0", "4", "4", "1", "0", "0", "1", "4", "0", "0", "0", "0", "32", "4", "0", "\" Copied r%d to a scalar register r%d for insn %d\\n\""], "File": "i386-features", "Func": "convert_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37846, "Length": 355}
{"ground_truth": ["", "void", "convert_registers", "(", ")", "{", "}", ""], "natrual_language": ["Generate", "copies", "from", "defs", "used", "by", "the", "chain", "but", "not", "defined", "therein", ".", "Also", "populates", "defs_map", "which", "is", "used", "later", "by", "convert_insn", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "convert_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37847, "Length": 6}
{"ground_truth": ["", "unsigned", "xlogue_layout", "::", "count_stub_managed_regs", "(", ")", "{", "bool", "hfp", "=", "frame_pointer_needed", "||", "stack_realign_fp", ";", "unsigned", "i", ",", "count", ";", "unsigned", "regno", ";", "for", "(", "count", "=", "i", "=", "MIN_REGS", ";", "i", "<", "MAX_REGS", ";", "++", "i", ")", "{", "regno", "=", "REG_ORDER", "[", "i", "]", ";", "if", "(", "regno", "==", "BP_REG", "&&", "hfp", ")", "continue", ";", "if", "(", "!", "ix86_save_reg", "(", "regno", ",", "false", ",", "false", ")", ")", "break", ";", "++", "count", ";", "}", "return", "count", ";", "}", ""], "natrual_language": ["Determine", "how", "many", "clobbered", "registers", "can", "be", "saved", "by", "the", "stub", ".", "Returns", "the", "count", "of", "registers", "the", "stub", "will", "save", "and", "restore", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "count_stub_managed_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37848, "Length": 77}
{"ground_truth": ["", "static", "int", "dispatch_function_versions", "(", "tree", "dispatch_decl", ",", "void", "*", "fndecls_p", ",", "basic_block", "*", "empty_bb", ")", "{", "tree", "default_decl", ";", "gimple", "*", "ifunc_cpu_init_stmt", ";", "gimple_seq", "gseq", ";", "int", "ix", ";", "tree", "ele", ";", "vec", "<", "tree", ">", "*", "fndecls", ";", "unsigned", "int", "num_versions", "=", "0", ";", "unsigned", "int", "actual_versions", "=", "0", ";", "unsigned", "int", "i", ";", "struct", "_function_version_info", "{", "tree", "version_decl", ";", "tree", "predicate_chain", ";", "unsigned", "int", "dispatch_priority", ";", "}", "*", "function_version_info", ";", "gcc_assert", "(", "dispatch_decl", "!=", "NULL", "&&", "fndecls_p", "!=", "NULL", "&&", "empty_bb", "!=", "NULL", ")", ";", "fndecls", "=", "static_cast", "<", "vec", "<", "tree", ">", "*", ">", "(", "fndecls_p", ")", ";", "num_versions", "=", "fndecls", "->", "length", "(", ")", ";", "gcc_assert", "(", "num_versions", ">=", "2", ")", ";", "function_version_info", "=", "(", "struct", "_function_version_info", "*", ")", "XNEWVEC", "(", "struct", "_function_version_info", ",", "(", "num_versions", "-", "1", ")", ")", ";", "default_decl", "=", "(", "*", "fndecls", ")", "[", "0", "]", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "dispatch_decl", ")", ")", ";", "gseq", "=", "bb_seq", "(", "*", "empty_bb", ")", ";", "ifunc_cpu_init_stmt", "=", "gimple_build_call_vec", "(", "get_ix86_builtin", "(", "IX86_BUILTIN_CPU_INIT", ")", ",", "vNULL", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "ifunc_cpu_init_stmt", ")", ";", "gimple_set_bb", "(", "ifunc_cpu_init_stmt", ",", "*", "empty_bb", ")", ";", "set_bb_seq", "(", "*", "empty_bb", ",", "gseq", ")", ";", "pop_cfun", "(", ")", ";", "for", "(", "ix", "=", "1", ";", "fndecls", "->", "iterate", "(", "ix", ",", "&", "ele", ")", ";", "++", "ix", ")", "{", "tree", "version_decl", "=", "ele", ";", "tree", "predicate_chain", "=", "NULL_TREE", ";", "unsigned", "int", "priority", ";", "priority", "=", "get_builtin_code_for_version", "(", "version_decl", ",", "&", "predicate_chain", ")", ";", "if", "(", "predicate_chain", "==", "NULL_TREE", ")", "continue", ";", "function_version_info", "[", "actual_versions", "]", ".", "version_decl", "=", "version_decl", ";", "function_version_info", "[", "actual_versions", "]", ".", "predicate_chain", "=", "predicate_chain", ";", "function_version_info", "[", "actual_versions", "]", ".", "dispatch_priority", "=", "priority", ";", "actual_versions", "++", ";", "}", "qsort", "(", "function_version_info", ",", "actual_versions", ",", "sizeof", "(", "struct", "_function_version_info", ")", ",", "feature_compare", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "actual_versions", ";", "++", "i", ")", "*", "empty_bb", "=", "add_condition_to_bb", "(", "dispatch_decl", ",", "function_version_info", "[", "i", "]", ".", "version_decl", ",", "function_version_info", "[", "i", "]", ".", "predicate_chain", ",", "*", "empty_bb", ")", ";", "*", "empty_bb", "=", "add_condition_to_bb", "(", "dispatch_decl", ",", "default_decl", ",", "NULL", ",", "*", "empty_bb", ")", ";", "free", "(", "function_version_info", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "function", "generates", "the", "dispatch", "function", "for", "multi-versioned", "functions", ".", "DISPATCH_DECL", "is", "the", "function", "which", "will", "contain", "the", "dispatch", "logic", ".", "FNDECLS", "are", "the", "function", "choices", "for", "dispatch", ",", "and", "is", "a", "tree", "chain", ".", "EMPTY_BB", "is", "the", "basic", "block", "pointer", "in", "DISPATCH_DECL", "in", "which", "the", "dispatch", "code", "is", "generated", "."], "TS_V_token": ["i386", "0", "0", "2", "1", "0", "1", "0", "0"], "File": "i386-features", "Func": "dispatch_function_versions", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37849, "Length": 361}
{"ground_truth": ["", "void", "scalar_chain", "::", "emit_conversion_insns", "(", "rtx", "insns", ",", "rtx_insn", "*", "after", ")", "{", "if", "(", "!", "control_flow_insn_p", "(", "after", ")", ")", "{", "emit_insn_after", "(", "insns", ",", "after", ")", ";", "return", ";", "}", "basic_block", "bb", "=", "BLOCK_FOR_INSN", "(", "after", ")", ";", "edge", "e", "=", "find_fallthru_edge", "(", "bb", "->", "succs", ")", ";", "gcc_assert", "(", "e", ")", ";", "basic_block", "new_bb", "=", "split_edge", "(", "e", ")", ";", "emit_insn_after", "(", "insns", ",", "BB_HEAD", "(", "new_bb", ")", ")", ";", "}", ""], "natrual_language": ["Insert", "generated", "conversion", "instruction", "sequence", "INSNS", "after", "instruction", "AFTER", ".", "New", "BB", "may", "be", "required", "in", "case", "instruction", "has", "EH", "region", "attached", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "emit_conversion_insns", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37850, "Length": 74}
{"ground_truth": ["", "virtual", "unsigned", "int", "execute", "(", "function", "*", ")", "{", "timevar_push", "(", "TV_MACH_DEP", ")", ";", "rest_of_insert_endbr_and_patchable_area", "(", "need_endbr", ",", "patchable_area_size", ")", ";", "timevar_pop", "(", "TV_MACH_DEP", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["Main", "entry", "point", "for", "this", "pass", "."], "TS_V_token": ["i386", "0"], "File": "i386-features", "Func": "execute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37851, "Length": 30}
{"ground_truth": ["", "static", "int", "feature_compare", "(", "const", "void", "*", "v1", ",", "const", "void", "*", "v2", ")", "{", "typedef", "struct", "_function_version_info", "{", "tree", "version_decl", ";", "tree", "predicate_chain", ";", "unsigned", "int", "dispatch_priority", ";", "}", "function_version_info", ";", "const", "function_version_info", "c1", "=", "*", "(", "const", "function_version_info", "*", ")", "v1", ";", "const", "function_version_info", "c2", "=", "*", "(", "const", "function_version_info", "*", ")", "v2", ";", "return", "(", "c2", ".", "dispatch_priority", "-", "c1", ".", "dispatch_priority", ")", ";", "}", ""], "natrual_language": ["V1", "and", "V2", "point", "to", "function", "versions", "with", "different", "priorities", "based", "on", "the", "target", "ISA", ".", "This", "function", "compares", "their", "priorities", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "feature_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37852, "Length": 68}
{"ground_truth": ["", "void", "timode_scalar_chain", "::", "fix_debug_reg_uses", "(", "rtx", "reg", ")", "{", "if", "(", "!", "flag_var_tracking", ")", "return", ";", "df_ref", "ref", ",", "next", ";", "for", "(", "ref", "=", "DF_REG_USE_CHAIN", "(", "REGNO", "(", "reg", ")", ")", ";", "ref", ";", "ref", "=", "next", ")", "{", "rtx_insn", "*", "insn", "=", "DF_REF_INSN", "(", "ref", ")", ";", "next", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ";", "while", "(", "next", "&&", "DF_REF_INSN", "(", "next", ")", "==", "insn", ")", "next", "=", "DF_REF_NEXT_REG", "(", "next", ")", ";", "if", "(", "DEBUG_INSN_P", "(", "insn", ")", ")", "{", "bool", "changed", "=", "false", ";", "for", "(", ";", "ref", "!=", "next", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "{", "rtx", "*", "loc", "=", "DF_REF_LOC", "(", "ref", ")", ";", "if", "(", "REG_P", "(", "*", "loc", ")", "&&", "GET_MODE", "(", "*", "loc", ")", "==", "V1TImode", ")", "{", "*", "loc", "=", "gen_rtx_SUBREG", "(", "TImode", ",", "*", "loc", ",", "0", ")", ";", "changed", "=", "true", ";", "}", "}", "if", "(", "changed", ")", "df_insn_rescan", "(", "insn", ")", ";", "}", "}", "}", ""], "natrual_language": ["Fix", "uses", "of", "converted", "REG", "in", "debug", "insns", "."], "TS_V_token": ["i386", "0"], "File": "i386-features", "Func": "fix_debug_reg_uses", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37853, "Length": 159}
{"ground_truth": ["", "static", "bool", "general_scalar_to_vector_candidate_p", "(", "rtx_insn", "*", "insn", ",", "enum", "machine_mode", "mode", ")", "{", "rtx", "def_set", "=", "pseudo_reg_set", "(", "insn", ")", ";", "if", "(", "!", "def_set", ")", "return", "false", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", "return", "convertible_comparison_p", "(", "insn", ",", "mode", ")", ";", "if", "(", "(", "GET_MODE", "(", "src", ")", "!=", "mode", "&&", "!", "CONST_INT_P", "(", "src", ")", ")", "||", "GET_MODE", "(", "dst", ")", "!=", "mode", ")", "return", "false", ";", "if", "(", "!", "REG_P", "(", "dst", ")", "&&", "!", "MEM_P", "(", "dst", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "case", "ASHIFTRT", ":", "if", "(", "!", "TARGET_AVX512VL", ")", "return", "false", ";", "case", "ASHIFT", ":", "case", "LSHIFTRT", ":", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "!", "IN_RANGE", "(", "INTVAL", "(", "XEXP", "(", "src", ",", "1", ")", ")", ",", "0", ",", "GET_MODE_BITSIZE", "(", "mode", ")", "-", "1", ")", ")", "return", "false", ";", "break", ";", "case", "SMAX", ":", "case", "SMIN", ":", "case", "UMAX", ":", "case", "UMIN", ":", "if", "(", "(", "mode", "==", "DImode", "&&", "!", "TARGET_AVX512VL", ")", "||", "(", "mode", "==", "SImode", "&&", "!", "TARGET_SSE4_1", ")", ")", "return", "false", ";", "case", "AND", ":", "case", "IOR", ":", "case", "XOR", ":", "case", "PLUS", ":", "case", "MINUS", ":", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "1", ")", ")", "!=", "mode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "if", "(", "GET_CODE", "(", "src", ")", "!=", "AND", "||", "GET_CODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "NOT", ")", "break", ";", "src", "=", "XEXP", "(", "src", ",", "0", ")", ";", "case", "NOT", ":", "break", ";", "case", "NEG", ":", "if", "(", "GET_CODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "ABS", ")", "break", ";", "src", "=", "XEXP", "(", "src", ",", "0", ")", ";", "case", "ABS", ":", "if", "(", "(", "mode", "==", "DImode", "&&", "!", "TARGET_AVX512VL", ")", "||", "(", "mode", "==", "SImode", "&&", "!", "TARGET_SSSE3", ")", ")", "return", "false", ";", "break", ";", "case", "REG", ":", "return", "true", ";", "case", "MEM", ":", "case", "CONST_INT", ":", "return", "REG_P", "(", "dst", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "mode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["The", "general", "version", "of", "scalar_to_vector_candidate_p", "."], "TS_V_token": ["i386", "1", "1", "0", "1", "1", "1", "1", "1", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0"], "File": "i386-features", "Func": "general_scalar_to_vector_candidate_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37854, "Length": 475}
{"ground_truth": ["", "static", "rtx", "gen_gpr_to_xmm_move_src", "(", "enum", "machine_mode", "vmode", ",", "rtx", "gpr", ")", "{", "switch", "(", "GET_MODE_NUNITS", "(", "vmode", ")", ")", "{", "case", "1", ":", "gcc_unreachable", "(", ")", ";", "case", "2", ":", "return", "gen_rtx_VEC_CONCAT", "(", "vmode", ",", "gpr", ",", "CONST0_RTX", "(", "GET_MODE_INNER", "(", "vmode", ")", ")", ")", ";", "default", ":", "return", "gen_rtx_VEC_MERGE", "(", "vmode", ",", "gen_rtx_VEC_DUPLICATE", "(", "vmode", ",", "gpr", ")", ",", "CONST0_RTX", "(", "vmode", ")", ",", "GEN_INT", "(", "HOST_WIDE_INT_1U", ")", ")", ";", "}", "}", ""], "natrual_language": ["Generate", "the", "canonical", "SET_SRC", "to", "move", "GPR", "to", "a", "VMODE", "vector", "register", ",", "zeroing", "the", "upper", "parts", "."], "TS_V_token": ["i386", "1", "2"], "File": "i386-features", "Func": "gen_gpr_to_xmm_move_src", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37855, "Length": 73}
{"ground_truth": ["", "const", "class", "xlogue_layout", "&", "xlogue_layout", "::", "get_instance", "(", ")", "{", "enum", "xlogue_stub_sets", "stub_set", ";", "bool", "aligned_plus_8", "=", "cfun", "->", "machine", "->", "call_ms2sysv_pad_in", ";", "if", "(", "stack_realign_fp", ")", "stub_set", "=", "XLOGUE_SET_HFP_ALIGNED_OR_REALIGN", ";", "else", "if", "(", "frame_pointer_needed", ")", "stub_set", "=", "aligned_plus_8", "?", "XLOGUE_SET_HFP_ALIGNED_PLUS_8", ":", "XLOGUE_SET_HFP_ALIGNED_OR_REALIGN", ";", "else", "stub_set", "=", "aligned_plus_8", "?", "XLOGUE_SET_ALIGNED_PLUS_8", ":", "XLOGUE_SET_ALIGNED", ";", "return", "s_instances", "[", "stub_set", "]", ";", "}", ""], "natrual_language": ["Return", "an", "appropriate", "const", "instance", "of", "xlogue_layout", "based", "upon", "values", "in", "cfun-", ">", "machine", "and", "crtl", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "get_instance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37856, "Length": 60}
{"ground_truth": ["", "rtx", "xlogue_layout", "::", "get_stub_rtx", "(", "enum", "xlogue_stub", "stub", ")", "{", "const", "unsigned", "n_extra_regs", "=", "cfun", "->", "machine", "->", "call_ms2sysv_extra_regs", ";", "gcc_checking_assert", "(", "n_extra_regs", "<=", "MAX_EXTRA_REGS", ")", ";", "gcc_assert", "(", "stub", "<", "XLOGUE_STUB_COUNT", ")", ";", "gcc_assert", "(", "crtl", "->", "stack_realign_finalized", ")", ";", "return", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "get_stub_name", "(", "stub", ",", "n_extra_regs", ")", ")", ";", "}", ""], "natrual_language": ["Return", "rtx", "of", "a", "symbol", "ref", "for", "the", "entry", "point", "(", "based", "upon", "cfun-", ">", "machine-", ">", "call_ms2sysv_extra_regs", ")", "of", "the", "specified", "stub", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "get_stub_rtx", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37857, "Length": 55}
{"ground_truth": ["", "static", "bool", "has_non_address_hard_reg", "(", "rtx_insn", "*", "insn", ")", "{", "df_ref", "ref", ";", "FOR_EACH_INSN_DEF", "(", "ref", ",", "insn", ")", "if", "(", "HARD_REGISTER_P", "(", "DF_REF_REAL_REG", "(", "ref", ")", ")", "&&", "!", "DF_REF_FLAGS_IS_SET", "(", "ref", ",", "DF_REF_MUST_CLOBBER", ")", "&&", "DF_REF_REGNO", "(", "ref", ")", "!=", "FLAGS_REG", ")", "return", "true", ";", "FOR_EACH_INSN_USE", "(", "ref", ",", "insn", ")", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "ref", ")", "&&", "HARD_REGISTER_P", "(", "DF_REF_REAL_REG", "(", "ref", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "1", "if", "INSN", "uses", "or", "defines", "a", "hard", "register", ".", "Hard", "register", "uses", "in", "a", "memory", "address", "are", "ignored", ".", "Clobbers", "and", "flags", "definitions", "are", "ignored", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "has_non_address_hard_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37858, "Length": 75}
{"ground_truth": ["", "bool", "xlogue_layout", "::", "is_stub_managed_reg", "(", "unsigned", "regno", ",", "unsigned", "count", ")", "{", "bool", "hfp", "=", "frame_pointer_needed", "||", "stack_realign_fp", ";", "unsigned", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "count", ";", "++", "i", ")", "{", "gcc_assert", "(", "i", "<", "MAX_REGS", ")", ";", "if", "(", "REG_ORDER", "[", "i", "]", "==", "BP_REG", "&&", "hfp", ")", "++", "count", ";", "else", "if", "(", "REG_ORDER", "[", "i", "]", "==", "regno", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Determine", "if", "register", "REGNO", "is", "a", "stub", "managed", "register", "given", "the", "total", "COUNT", "of", "stub", "managed", "registers", "."], "TS_V_token": ["i386", "0"], "File": "i386-features", "Func": "is_stub_managed_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37859, "Length": 75}
{"ground_truth": ["", "static", "void", "ix86_add_reg_usage_to_vzeroupper", "(", "rtx_insn", "*", "insn", ",", "bitmap", "live_regs", ")", "{", "rtx", "pattern", "=", "PATTERN", "(", "insn", ")", ";", "unsigned", "int", "nregs", "=", "TARGET_64BIT", "?", "16", ":", "8", ";", "unsigned", "int", "npats", "=", "nregs", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "nregs", ";", "++", "i", ")", "{", "unsigned", "int", "regno", "=", "GET_SSE_REGNO", "(", "i", ")", ";", "if", "(", "!", "bitmap_bit_p", "(", "live_regs", ",", "regno", ")", ")", "npats", "--", ";", "}", "if", "(", "npats", "==", "0", ")", "return", ";", "rtvec", "vec", "=", "rtvec_alloc", "(", "npats", "+", "1", ")", ";", "RTVEC_ELT", "(", "vec", ",", "0", ")", "=", "XVECEXP", "(", "pattern", ",", "0", ",", "0", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ",", "j", "=", "0", ";", "i", "<", "nregs", ";", "++", "i", ")", "{", "unsigned", "int", "regno", "=", "GET_SSE_REGNO", "(", "i", ")", ";", "if", "(", "!", "bitmap_bit_p", "(", "live_regs", ",", "regno", ")", ")", "continue", ";", "rtx", "reg", "=", "gen_rtx_REG", "(", "V2DImode", ",", "regno", ")", ";", "++", "j", ";", "RTVEC_ELT", "(", "vec", ",", "j", ")", "=", "gen_rtx_SET", "(", "reg", ",", "reg", ")", ";", "}", "XVEC", "(", "pattern", ",", "0", ")", "=", "vec", ";", "INSN_CODE", "(", "insn", ")", "=", "-", "1", ";", "df_insn_rescan", "(", "insn", ")", ";", "}", ""], "natrual_language": ["Modify", "the", "vzeroupper", "pattern", "in", "INSN", "so", "that", "it", "describes", "the", "effect", "that", "the", "instruction", "has", "on", "the", "SSE", "registers", ".", "LIVE_REGS", "are", "the", "set", "of", "registers", "that", "are", "live", "across", "the", "instruction", ".", "For", "a", "live", "register", "R", "we", "use", ":", "(", "set", "(", "reg", ":", "V2DF", "R", ")", "(", "reg", ":", "V2DF", "R", ")", ")", "which", "preserves", "the", "low", "128", "bits", "but", "clobbers", "the", "upper", "bits", "."], "TS_V_token": ["i386", "16", "8", "0", "0", "1", "0", "0", "0", "0", "0", "0", "1"], "File": "i386-features", "Func": "ix86_add_reg_usage_to_vzeroupper", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37860, "Length": 201}
{"ground_truth": ["", "static", "void", "ix86_add_reg_usage_to_vzerouppers", "(", "void", ")", "{", "basic_block", "bb", ";", "rtx_insn", "*", "insn", ";", "auto_bitmap", "live_regs", ";", "df_analyze", "(", ")", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "bitmap_copy", "(", "live_regs", ",", "df_get_live_out", "(", "bb", ")", ")", ";", "df_simulate_initialize_backwards", "(", "bb", ",", "live_regs", ")", ";", "FOR_BB_INSNS_REVERSE", "(", "bb", ",", "insn", ")", "{", "if", "(", "!", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "continue", ";", "if", "(", "vzeroupper_pattern", "(", "PATTERN", "(", "insn", ")", ",", "VOIDmode", ")", ")", "ix86_add_reg_usage_to_vzeroupper", "(", "insn", ",", "live_regs", ")", ";", "df_simulate_one_insn_backwards", "(", "bb", ",", "insn", ",", "live_regs", ")", ";", "}", "}", "}", ""], "natrual_language": ["Walk", "the", "vzeroupper", "instructions", "in", "the", "function", "and", "annotate", "them", "with", "the", "effect", "that", "they", "have", "on", "the", "SSE", "registers", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "ix86_add_reg_usage_to_vzerouppers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37861, "Length": 93}
{"ground_truth": ["", "int", "ix86_compare_version_priority", "(", "tree", "decl1", ",", "tree", "decl2", ")", "{", "unsigned", "int", "priority1", "=", "get_builtin_code_for_version", "(", "decl1", ",", "NULL", ")", ";", "unsigned", "int", "priority2", "=", "get_builtin_code_for_version", "(", "decl2", ",", "NULL", ")", ";", "return", "(", "int", ")", "priority1", "-", "(", "int", ")", "priority2", ";", "}", ""], "natrual_language": ["This", "compares", "the", "priority", "of", "target", "features", "in", "function", "DECL1", "and", "DECL2", ".", "It", "returns", "positive", "value", "if", "DECL1", "is", "higher", "priority", ",", "negative", "value", "if", "DECL2", "is", "higher", "priority", "and", "0", "if", "they", "are", "the", "same", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "ix86_compare_version_priority", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37862, "Length": 44}
{"ground_truth": ["", "tree", "ix86_generate_version_dispatcher_body", "(", "void", "*", "node_p", ")", "{", "tree", "resolver_decl", ";", "basic_block", "empty_bb", ";", "tree", "default_ver_decl", ";", "struct", "cgraph_node", "*", "versn", ";", "struct", "cgraph_node", "*", "node", ";", "struct", "cgraph_function_version_info", "*", "node_version_info", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "versn_info", "=", "NULL", ";", "node", "=", "(", "cgraph_node", "*", ")", "node_p", ";", "node_version_info", "=", "node", "->", "function_version", "(", ")", ";", "gcc_assert", "(", "node", "->", "dispatcher_function", "&&", "node_version_info", "!=", "NULL", ")", ";", "if", "(", "node_version_info", "->", "dispatcher_resolver", ")", "return", "node_version_info", "->", "dispatcher_resolver", ";", "default_ver_decl", "=", "node_version_info", "->", "next", "->", "this_node", "->", "decl", ";", "node", "->", "definition", "=", "false", ";", "resolver_decl", "=", "make_resolver_func", "(", "default_ver_decl", ",", "node", "->", "decl", ",", "&", "empty_bb", ")", ";", "node_version_info", "->", "dispatcher_resolver", "=", "resolver_decl", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "resolver_decl", ")", ")", ";", "auto_vec", "<", "tree", ",", "2", ">", "fn_ver_vec", ";", "for", "(", "versn_info", "=", "node_version_info", "->", "next", ";", "versn_info", ";", "versn_info", "=", "versn_info", "->", "next", ")", "{", "versn", "=", "versn_info", "->", "this_node", ";", "if", "(", "DECL_VINDEX", "(", "versn", "->", "decl", ")", ")", "sorry", "(", "\"virtual function multiversioning not supported\"", ")", ";", "fn_ver_vec", ".", "safe_push", "(", "versn", "->", "decl", ")", ";", "}", "dispatch_function_versions", "(", "resolver_decl", ",", "&", "fn_ver_vec", ",", "&", "empty_bb", ")", ";", "cgraph_edge", "::", "rebuild_edges", "(", ")", ";", "pop_cfun", "(", ")", ";", "return", "resolver_decl", ";", "}", ""], "natrual_language": ["Generate", "the", "dispatching", "code", "body", "to", "dispatch", "multi-versioned", "function", "DECL", ".", "The", "target", "hook", "is", "called", "to", "process", "the", "``", "target", "''", "attributes", "and", "provide", "the", "code", "to", "dispatch", "the", "right", "function", "at", "run-time", ".", "NODE", "points", "to", "the", "dispatcher", "decl", "whose", "body", "will", "be", "created", "."], "TS_V_token": ["i386", "2", "\"virtual function multiversioning not supported\""], "File": "i386-features", "Func": "ix86_generate_version_dispatcher_body", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37863, "Length": 203}
{"ground_truth": ["", "tree", "ix86_get_function_versions_dispatcher", "(", "void", "*", "decl", ")", "{", "tree", "fn", "=", "(", "tree", ")", "decl", ";", "struct", "cgraph_node", "*", "node", "=", "NULL", ";", "struct", "cgraph_node", "*", "default_node", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "node_v", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "first_v", "=", "NULL", ";", "tree", "dispatch_decl", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "default_version_info", "=", "NULL", ";", "gcc_assert", "(", "fn", "!=", "NULL", "&&", "DECL_FUNCTION_VERSIONED", "(", "fn", ")", ")", ";", "node", "=", "cgraph_node", "::", "get", "(", "fn", ")", ";", "gcc_assert", "(", "node", "!=", "NULL", ")", ";", "node_v", "=", "node", "->", "function_version", "(", ")", ";", "gcc_assert", "(", "node_v", "!=", "NULL", ")", ";", "if", "(", "node_v", "->", "dispatcher_resolver", "!=", "NULL", ")", "return", "node_v", "->", "dispatcher_resolver", ";", "first_v", "=", "node_v", ";", "while", "(", "first_v", "->", "prev", "!=", "NULL", ")", "first_v", "=", "first_v", "->", "prev", ";", "default_version_info", "=", "first_v", ";", "while", "(", "default_version_info", "!=", "NULL", ")", "{", "if", "(", "is_function_default_version", "(", "default_version_info", "->", "this_node", "->", "decl", ")", ")", "break", ";", "default_version_info", "=", "default_version_info", "->", "next", ";", "}", "if", "(", "default_version_info", "==", "NULL", ")", "return", "NULL", ";", "if", "(", "first_v", "!=", "default_version_info", ")", "{", "default_version_info", "->", "prev", "->", "next", "=", "default_version_info", "->", "next", ";", "if", "(", "default_version_info", "->", "next", ")", "default_version_info", "->", "next", "->", "prev", "=", "default_version_info", "->", "prev", ";", "first_v", "->", "prev", "=", "default_version_info", ";", "default_version_info", "->", "next", "=", "first_v", ";", "default_version_info", "->", "prev", "=", "NULL", ";", "}", "default_node", "=", "default_version_info", "->", "this_node", ";", "if", "(", "targetm", ".", "has_ifunc_p", "(", ")", ")", "{", "struct", "cgraph_function_version_info", "*", "it_v", "=", "NULL", ";", "struct", "cgraph_node", "*", "dispatcher_node", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "dispatcher_version_info", "=", "NULL", ";", "dispatch_decl", "=", "make_dispatcher_decl", "(", "default_node", "->", "decl", ")", ";", "dispatcher_node", "=", "cgraph_node", "::", "get_create", "(", "dispatch_decl", ")", ";", "gcc_assert", "(", "dispatcher_node", "!=", "NULL", ")", ";", "dispatcher_node", "->", "dispatcher_function", "=", "1", ";", "dispatcher_version_info", "=", "dispatcher_node", "->", "insert_new_function_version", "(", ")", ";", "dispatcher_version_info", "->", "next", "=", "default_version_info", ";", "dispatcher_node", "->", "definition", "=", "1", ";", "it_v", "=", "default_version_info", ";", "while", "(", "it_v", "!=", "NULL", ")", "{", "it_v", "->", "dispatcher_resolver", "=", "dispatch_decl", ";", "it_v", "=", "it_v", "->", "next", ";", "}", "}", "else", "{", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "default_node", "->", "decl", ")", ",", "\"multiversioning needs % which is not supported \"", "\"on this target\"", ")", ";", "}", "return", "dispatch_decl", ";", "}", ""], "natrual_language": ["Make", "a", "dispatcher", "declaration", "for", "the", "multi-versioned", "function", "DECL", ".", "Calls", "to", "DECL", "function", "will", "be", "replaced", "with", "calls", "to", "the", "dispatcher", "by", "the", "front-end", ".", "Returns", "the", "decl", "of", "the", "dispatcher", "function", "."], "TS_V_token": ["i386", "1", "1", "\"multiversioning needs % which is not supported \"", "\"on this target\""], "File": "i386-features", "Func": "ix86_get_function_versions_dispatcher", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37864, "Length": 354}
{"ground_truth": ["", "static", "tree", "ix86_mangle_function_version_assembler_name", "(", "tree", "decl", ",", "tree", "id", ")", "{", "tree", "version_attr", ";", "const", "char", "*", "orig_name", ",", "*", "version_string", ";", "char", "*", "attr_str", ",", "*", "assembler_name", ";", "if", "(", "DECL_DECLARED_INLINE_P", "(", "decl", ")", "&&", "lookup_attribute", "(", "\"gnu_inline\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ")", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "decl", ")", ",", "\"function versions cannot be marked as %,\"", "\" bodies have to be generated\"", ")", ";", "if", "(", "DECL_VIRTUAL_P", "(", "decl", ")", "||", "DECL_VINDEX", "(", "decl", ")", ")", "sorry", "(", "\"virtual function multiversioning not supported\"", ")", ";", "version_attr", "=", "lookup_attribute", "(", "\"target\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ";", "gcc_assert", "(", "version_attr", "!=", "NULL_TREE", ")", ";", "orig_name", "=", "IDENTIFIER_POINTER", "(", "id", ")", ";", "version_string", "=", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "TREE_VALUE", "(", "version_attr", ")", ")", ")", ";", "if", "(", "strcmp", "(", "version_string", ",", "\"default\"", ")", "==", "0", ")", "return", "id", ";", "attr_str", "=", "sorted_attr_string", "(", "TREE_VALUE", "(", "version_attr", ")", ")", ";", "assembler_name", "=", "XNEWVEC", "(", "char", ",", "strlen", "(", "orig_name", ")", "+", "strlen", "(", "attr_str", ")", "+", "2", ")", ";", "sprintf", "(", "assembler_name", ",", "\"%s.%s\"", ",", "orig_name", ",", "attr_str", ")", ";", "if", "(", "DECL_ASSEMBLER_NAME_SET_P", "(", "decl", ")", ")", "SET_DECL_RTL", "(", "decl", ",", "NULL", ")", ";", "tree", "ret", "=", "get_identifier", "(", "assembler_name", ")", ";", "XDELETEVEC", "(", "attr_str", ")", ";", "XDELETEVEC", "(", "assembler_name", ")", ";", "return", "ret", ";", "}", ""], "natrual_language": ["This", "function", "changes", "the", "assembler", "name", "for", "functions", "that", "are", "versions", ".", "If", "DECL", "is", "a", "function", "version", "and", "has", "a", "``", "target", "''", "attribute", ",", "it", "appends", "the", "attribute", "string", "to", "its", "assembler", "name", "."], "TS_V_token": ["i386", "\"gnu_inline\"", "\"function versions cannot be marked as %,\"", "\" bodies have to be generated\"", "\"virtual function multiversioning not supported\"", "\"target\"", "\"default\"", "0", "2", "\"%s.%s\""], "File": "i386-features", "Func": "ix86_mangle_function_version_assembler_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37865, "Length": 203}
{"ground_truth": ["", "static", "tree", "make_resolver_func", "(", "const", "tree", "default_decl", ",", "const", "tree", "ifunc_alias_decl", ",", "basic_block", "*", "empty_bb", ")", "{", "tree", "decl", ",", "type", ",", "t", ";", "tree", "decl_name", "=", "clone_function_name", "(", "default_decl", ",", "\"resolver\"", ")", ";", "const", "char", "*", "resolver_name", "=", "IDENTIFIER_POINTER", "(", "decl_name", ")", ";", "type", "=", "build_function_type_list", "(", "ptr_type_node", ",", "NULL_TREE", ")", ";", "decl", "=", "build_fn_decl", "(", "resolver_name", ",", "type", ")", ";", "SET_DECL_ASSEMBLER_NAME", "(", "decl", ",", "decl_name", ")", ";", "DECL_NAME", "(", "decl", ")", "=", "decl_name", ";", "TREE_USED", "(", "decl", ")", "=", "1", ";", "DECL_ARTIFICIAL", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "1", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "0", ";", "DECL_UNINLINABLE", "(", "decl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "decl", ")", "=", "0", ";", "DECL_EXTERNAL", "(", "ifunc_alias_decl", ")", "=", "0", ";", "DECL_CONTEXT", "(", "decl", ")", "=", "NULL_TREE", ";", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "DECL_STATIC_CONSTRUCTOR", "(", "decl", ")", "=", "0", ";", "if", "(", "DECL_COMDAT_GROUP", "(", "default_decl", ")", "||", "TREE_PUBLIC", "(", "default_decl", ")", ")", "{", "DECL_COMDAT", "(", "decl", ")", "=", "1", ";", "make_decl_one_only", "(", "decl", ",", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "}", "else", "TREE_PUBLIC", "(", "ifunc_alias_decl", ")", "=", "0", ";", "t", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "ptr_type_node", ")", ";", "DECL_CONTEXT", "(", "t", ")", "=", "decl", ";", "DECL_ARTIFICIAL", "(", "t", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "t", ")", "=", "1", ";", "DECL_RESULT", "(", "decl", ")", "=", "t", ";", "gimplify_function_tree", "(", "decl", ")", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "decl", ")", ")", ";", "*", "empty_bb", "=", "init_lowered_empty_function", "(", "decl", ",", "false", ",", "profile_count", "::", "uninitialized", "(", ")", ")", ";", "cgraph_node", "::", "add_new_function", "(", "decl", ",", "true", ")", ";", "symtab", "->", "call_cgraph_insertion_hooks", "(", "cgraph_node", "::", "get_create", "(", "decl", ")", ")", ";", "pop_cfun", "(", ")", ";", "gcc_assert", "(", "ifunc_alias_decl", "!=", "NULL", ")", ";", "DECL_ATTRIBUTES", "(", "ifunc_alias_decl", ")", "=", "make_attribute", "(", "\"ifunc\"", ",", "resolver_name", ",", "DECL_ATTRIBUTES", "(", "ifunc_alias_decl", ")", ")", ";", "cgraph_node", "::", "create_same_body_alias", "(", "ifunc_alias_decl", ",", "decl", ")", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Make", "the", "resolver", "function", "decl", "to", "dispatch", "the", "versions", "of", "a", "multi-", "versioned", "function", ",", "DEFAULT_DECL", ".", "Create", "an", "empty", "basic", "block", "in", "the", "resolver", "and", "store", "the", "pointer", "in", "EMPTY_BB", ".", "Return", "the", "decl", "of", "the", "resolver", "function", "."], "TS_V_token": ["i386", "\"resolver\"", "1", "1", "1", "0", "1", "0", "0", "0", "1", "0", "1", "1", "\"ifunc\""], "File": "i386-features", "Func": "make_resolver_func", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37866, "Length": 320}
{"ground_truth": ["", "void", "general_scalar_chain", "::", "make_vector_copies", "(", "rtx_insn", "*", "insn", ",", "rtx", "reg", ")", "{", "rtx", "vreg", "=", "*", "defs_map", ".", "get", "(", "reg", ")", ";", "start_sequence", "(", ")", ";", "if", "(", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", "{", "rtx", "tmp", "=", "assign_386_stack_local", "(", "smode", ",", "SLOT_STV_TEMP", ")", ";", "if", "(", "smode", "==", "DImode", "&&", "!", "TARGET_64BIT", ")", "{", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ";", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "4", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ";", "}", "else", "emit_move_insn", "(", "copy_rtx", "(", "tmp", ")", ",", "reg", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "vmode", ",", "vreg", ",", "0", ")", ",", "gen_gpr_to_xmm_move_src", "(", "vmode", ",", "tmp", ")", ")", ")", ";", "}", "else", "if", "(", "!", "TARGET_64BIT", "&&", "smode", "==", "DImode", ")", "{", "if", "(", "TARGET_SSE4_1", ")", "{", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse4_1_pinsrd", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ",", "GEN_INT", "(", "2", ")", ")", ")", ";", "}", "else", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ")", ";", "emit_insn", "(", "gen_vec_interleave_lowv4si", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ")", ")", ";", "}", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "gen_rtx_SUBREG", "(", "vmode", ",", "vreg", ",", "0", ")", ",", "gen_gpr_to_xmm_move_src", "(", "vmode", ",", "reg", ")", ")", ")", ";", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_conversion_insns", "(", "seq", ",", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Copied r%d to a vector register r%d for insn %d\\n\"", ",", "REGNO", "(", "reg", ")", ",", "REGNO", "(", "vreg", ")", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", ""], "natrual_language": ["Make", "vector", "copies", "for", "all", "register", "REGNO", "definitions", "and", "replace", "its", "uses", "in", "a", "chain", "."], "TS_V_token": ["i386", "0", "0", "4", "4", "0", "0", "0", "0", "0", "4", "2", "0", "0", "0", "4", "0", "0", "0", "0", "\" Copied r%d to a vector register r%d for insn %d\\n\""], "File": "i386-features", "Func": "make_vector_copies", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37867, "Length": 387}
{"ground_truth": ["", "void", "timode_scalar_chain", "::", "mark_dual_mode_def", "(", "df_ref", ")", "{", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["For", "DImode", "conversion", ",", "mark", "register", "defined", "by", "DEF", "as", "requiring", "conversion", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "mark_dual_mode_def", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37868, "Length": 13}
{"ground_truth": ["", "static", "rtx", "pseudo_reg_set", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "set", ")", "return", "NULL", ";", "machine_mode", "mode", "=", "TARGET_64BIT", "?", "TImode", ":", "DImode", ";", "if", "(", "REG_P", "(", "SET_SRC", "(", "set", ")", ")", "&&", "!", "HARD_REGISTER_P", "(", "SET_SRC", "(", "set", ")", ")", "&&", "push_operand", "(", "SET_DEST", "(", "set", ")", ",", "mode", ")", ")", "return", "set", ";", "df_ref", "ref", ";", "FOR_EACH_INSN_DEF", "(", "ref", ",", "insn", ")", "if", "(", "HARD_REGISTER_P", "(", "DF_REF_REAL_REG", "(", "ref", ")", ")", "&&", "!", "DF_REF_FLAGS_IS_SET", "(", "ref", ",", "DF_REF_MUST_CLOBBER", ")", "&&", "DF_REF_REGNO", "(", "ref", ")", "!=", "FLAGS_REG", ")", "return", "NULL", ";", "FOR_EACH_INSN_USE", "(", "ref", ",", "insn", ")", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "ref", ")", "&&", "HARD_REGISTER_P", "(", "DF_REF_REAL_REG", "(", "ref", ")", ")", ")", "return", "NULL", ";", "return", "set", ";", "}", ""], "natrual_language": ["Return", "the", "SET", "expression", "if", "INSN", "does", "n't", "reference", "hard", "register", ".", "Return", "NULL", "if", "INSN", "uses", "or", "defines", "a", "hard", "register", ",", "excluding", "pseudo", "register", "pushes", ",", "hard", "register", "uses", "in", "a", "memory", "address", ",", "clobbers", "and", "flags", "definitions", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "pseudo_reg_set", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37869, "Length": 132}
{"ground_truth": ["", "scalar_chain", "::", "scalar_chain", "(", "enum", "machine_mode", "smode_", ",", "enum", "machine_mode", "vmode_", ")", "{", "smode", "=", "smode_", ";", "vmode", "=", "vmode_", ";", "chain_id", "=", "++", "max_id", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Created a new instruction chain #%d\\n\"", ",", "chain_id", ")", ";", "bitmap_obstack_initialize", "(", "NULL", ")", ";", "insns", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "defs", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "defs_conv", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "queue", "=", "NULL", ";", "}", ""], "natrual_language": ["Initialize", "new", "chain", "."], "TS_V_token": ["i386", "\"Created a new instruction chain #%d\\n\""], "File": "i386-features", "Func": "scalar_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37870, "Length": 70}
{"ground_truth": ["", "static", "void", "timode_check_non_convertible_regs", "(", "bitmap", "candidates", ",", "bitmap", "regs", ",", "unsigned", "int", "regno", ")", "{", "for", "(", "df_ref", "def", "=", "DF_REG_DEF_CHAIN", "(", "regno", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "{", "if", "(", "!", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"r%d has non convertible def in insn %d\\n\"", ",", "regno", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "bitmap_set_bit", "(", "regs", ",", "regno", ")", ";", "break", ";", "}", "}", "for", "(", "df_ref", "ref", "=", "DF_REG_USE_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "{", "if", "(", "NONDEBUG_INSN_P", "(", "DF_REF_INSN", "(", "ref", ")", ")", "&&", "!", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"r%d has non convertible use in insn %d\\n\"", ",", "regno", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "bitmap_set_bit", "(", "regs", ",", "regno", ")", ";", "break", ";", "}", "}", "}", ""], "natrual_language": ["For", "a", "register", "REGNO", ",", "scan", "instructions", "for", "its", "defs", "and", "uses", ".", "Put", "REGNO", "in", "REGS", "if", "a", "def", "or", "use", "is", "n't", "in", "CANDIDATES", "."], "TS_V_token": ["i386", "\"r%d has non convertible def in insn %d\\n\"", "\"r%d has non convertible use in insn %d\\n\""], "File": "i386-features", "Func": "timode_check_non_convertible_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37871, "Length": 150}
{"ground_truth": ["", "static", "void", "timode_remove_non_convertible_regs", "(", "bitmap", "candidates", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "bitmap", "regs", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "candidates", ",", "0", ",", "id", ",", "bi", ")", "{", "rtx", "def_set", "=", "single_set", "(", "DF_INSN_UID_GET", "(", "id", ")", "->", "insn", ")", ";", "rtx", "dest", "=", "SET_DEST", "(", "def_set", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "if", "(", "(", "!", "REG_P", "(", "dest", ")", "||", "bitmap_bit_p", "(", "regs", ",", "REGNO", "(", "dest", ")", ")", "||", "HARD_REGISTER_P", "(", "dest", ")", ")", "&&", "(", "!", "REG_P", "(", "src", ")", "||", "bitmap_bit_p", "(", "regs", ",", "REGNO", "(", "src", ")", ")", "||", "HARD_REGISTER_P", "(", "src", ")", ")", ")", "continue", ";", "if", "(", "REG_P", "(", "dest", ")", ")", "timode_check_non_convertible_regs", "(", "candidates", ",", "regs", ",", "REGNO", "(", "dest", ")", ")", ";", "if", "(", "REG_P", "(", "src", ")", ")", "timode_check_non_convertible_regs", "(", "candidates", ",", "regs", ",", "REGNO", "(", "src", ")", ")", ";", "}", "EXECUTE_IF_SET_IN_BITMAP", "(", "regs", ",", "0", ",", "id", ",", "bi", ")", "{", "for", "(", "df_ref", "def", "=", "DF_REG_DEF_CHAIN", "(", "id", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "if", "(", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Removing insn %d from candidates list\\n\"", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "bitmap_clear_bit", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "}", "for", "(", "df_ref", "ref", "=", "DF_REG_USE_CHAIN", "(", "id", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Removing insn %d from candidates list\\n\"", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "bitmap_clear_bit", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "}", "}", "BITMAP_FREE", "(", "regs", ")", ";", "}", ""], "natrual_language": ["For", "a", "given", "bitmap", "of", "insn", "UIDs", "scans", "all", "instructions", "and", "remove", "insn", "from", "CANDIDATES", "in", "case", "it", "has", "both", "convertible", "and", "not", "convertible", "definitions", ".", "All", "insns", "in", "a", "bitmap", "are", "conversion", "candidates", "according", "to", "scalar_to_vector_candidate_p", ".", "Currently", "it", "implies", "all", "insns", "are", "single_set", "."], "TS_V_token": ["i386", "0", "0", "\"Removing insn %d from candidates list\\n\"", "\"Removing insn %d from candidates list\\n\""], "File": "i386-features", "Func": "timode_remove_non_convertible_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37872, "Length": 287}
{"ground_truth": ["", "static", "bool", "timode_scalar_to_vector_candidate_p", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "def_set", "=", "pseudo_reg_set", "(", "insn", ")", ";", "if", "(", "!", "def_set", ")", "return", "false", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "GET_MODE", "(", "dst", ")", "!=", "TImode", ")", "return", "false", ";", "if", "(", "MEM_P", "(", "dst", ")", ")", "{", "if", "(", "misaligned_operand", "(", "dst", ",", "TImode", ")", "&&", "!", "TARGET_SSE_UNALIGNED_STORE_OPTIMAL", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "default", ":", "return", "false", ";", "case", "REG", ":", "case", "CONST_WIDE_INT", ":", "return", "true", ";", "case", "CONST_INT", ":", "return", "standard_sse_constant_p", "(", "src", ",", "TImode", ")", ";", "}", "}", "else", "if", "(", "MEM_P", "(", "src", ")", ")", "{", "return", "(", "REG_P", "(", "dst", ")", "&&", "(", "!", "misaligned_operand", "(", "src", ",", "TImode", ")", "||", "TARGET_SSE_UNALIGNED_LOAD_OPTIMAL", ")", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["The", "TImode", "version", "of", "scalar_to_vector_candidate_p", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "timode_scalar_to_vector_candidate_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37873, "Length": 145}
{"ground_truth": ["", "int", "general_scalar_chain", "::", "vector_const_cost", "(", "rtx", "exp", ")", "{", "gcc_assert", "(", "CONST_INT_P", "(", "exp", ")", ")", ";", "if", "(", "standard_sse_constant_p", "(", "exp", ",", "vmode", ")", ")", "return", "ix86_cost", "->", "sse_op", ";", "return", "ix86_cost", "->", "sse_load", "[", "smode", "==", "DImode", "?", "1", ":", "0", "]", ";", "}", ""], "natrual_language": ["Return", "a", "cost", "of", "building", "a", "vector", "costant", "instead", "of", "using", "a", "scalar", "one", "."], "TS_V_token": ["i386", "1", "0"], "File": "i386-features", "Func": "vector_const_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37874, "Length": 46}
{"ground_truth": ["", "xlogue_layout", "::", "xlogue_layout", "(", "HOST_WIDE_INT", "stack_align_off_in", ",", "bool", "hfp", ")", ":", "m_hfp", "(", "hfp", ")", ",", "m_nregs", "(", "hfp", "?", "17", ":", "18", ")", ",", "m_stack_align_off_in", "(", "stack_align_off_in", ")", "{", "HOST_WIDE_INT", "offset", "=", "stack_align_off_in", ";", "unsigned", "i", ",", "j", ";", "for", "(", "i", "=", "j", "=", "0", ";", "i", "<", "MAX_REGS", ";", "++", "i", ")", "{", "unsigned", "regno", "=", "REG_ORDER", "[", "i", "]", ";", "if", "(", "regno", "==", "BP_REG", "&&", "hfp", ")", "continue", ";", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "offset", "+=", "16", ";", "gcc_assert", "(", "!", "(", "(", "stack_align_off_in", "+", "offset", ")", "&", "15", ")", ")", ";", "}", "else", "offset", "+=", "8", ";", "m_regs", "[", "j", "]", ".", "regno", "=", "regno", ";", "m_regs", "[", "j", "++", "]", ".", "offset", "=", "offset", "-", "STUB_INDEX_OFFSET", ";", "}", "gcc_assert", "(", "j", "==", "m_nregs", ")", ";", "}", ""], "natrual_language": ["Constructor", "for", "xlogue_layout", "."], "TS_V_token": ["i386", "17", "18", "0", "16", "15", "8"], "File": "i386-features", "Func": "xlogue_layout", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37875, "Length": 136}
{"ground_truth": ["", "scalar_chain", "::", "~", "scalar_chain", "(", ")", "{", "BITMAP_FREE", "(", "insns", ")", ";", "BITMAP_FREE", "(", "defs", ")", ";", "BITMAP_FREE", "(", "defs_conv", ")", ";", "bitmap_obstack_release", "(", "NULL", ")", ";", "}", ""], "natrual_language": ["Free", "chain", "'s", "data", "."], "TS_V_token": ["i386"], "File": "i386-features", "Func": "~scalar_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37876, "Length": 28}
{"ground_truth": ["", "void", "ix86_function_specific_restore", "(", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "enum", "processor_type", "old_tune", "=", "ix86_tune", ";", "enum", "processor_type", "old_arch", "=", "ix86_arch", ";", "unsigned", "HOST_WIDE_INT", "ix86_arch_mask", ";", "int", "i", ";", "opts", "->", "x_flag_pic", "=", "flag_pic", ";", "ix86_arch", "=", "(", "enum", "processor_type", ")", "ptr", "->", "arch", ";", "ix86_schedule", "=", "(", "enum", "attr_cpu", ")", "ptr", "->", "schedule", ";", "ix86_tune", "=", "(", "enum", "processor_type", ")", "ptr", "->", "tune", ";", "ix86_prefetch_sse", "=", "ptr", "->", "prefetch_sse", ";", "ix86_tune_defaulted", "=", "ptr", "->", "tune_defaulted", ";", "ix86_arch_specified", "=", "ptr", "->", "arch_specified", ";", "opts", "->", "x_ix86_isa_flags_explicit", "=", "ptr", "->", "x_ix86_isa_flags_explicit", ";", "opts", "->", "x_ix86_isa_flags2_explicit", "=", "ptr", "->", "x_ix86_isa_flags2_explicit", ";", "opts", "->", "x_recip_mask_explicit", "=", "ptr", "->", "x_recip_mask_explicit", ";", "opts", "->", "x_ix86_arch_string", "=", "ptr", "->", "x_ix86_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "ptr", "->", "x_ix86_tune_string", ";", "opts", "->", "x_ix86_asm_dialect", "=", "ptr", "->", "x_ix86_asm_dialect", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "x_ix86_branch_cost", ";", "opts", "->", "x_ix86_dump_tunes", "=", "ptr", "->", "x_ix86_dump_tunes", ";", "opts", "->", "x_ix86_force_align_arg_pointer", "=", "ptr", "->", "x_ix86_force_align_arg_pointer", ";", "opts", "->", "x_ix86_force_drap", "=", "ptr", "->", "x_ix86_force_drap", ";", "opts", "->", "x_ix86_recip_name", "=", "ptr", "->", "x_ix86_recip_name", ";", "opts", "->", "x_ix86_section_threshold", "=", "ptr", "->", "x_ix86_section_threshold", ";", "opts", "->", "x_ix86_sse2avx", "=", "ptr", "->", "x_ix86_sse2avx", ";", "opts", "->", "x_ix86_stack_protector_guard", "=", "ptr", "->", "x_ix86_stack_protector_guard", ";", "opts", "->", "x_ix86_stringop_alg", "=", "ptr", "->", "x_ix86_stringop_alg", ";", "opts", "->", "x_ix86_tls_dialect", "=", "ptr", "->", "x_ix86_tls_dialect", ";", "opts", "->", "x_ix86_tune_ctrl_string", "=", "ptr", "->", "x_ix86_tune_ctrl_string", ";", "opts", "->", "x_ix86_tune_memcpy_strategy", "=", "ptr", "->", "x_ix86_tune_memcpy_strategy", ";", "opts", "->", "x_ix86_tune_memset_strategy", "=", "ptr", "->", "x_ix86_tune_memset_strategy", ";", "opts", "->", "x_ix86_tune_no_default", "=", "ptr", "->", "x_ix86_tune_no_default", ";", "ix86_tune_cost", "=", "processor_cost_table", "[", "ix86_tune", "]", ";", "if", "(", "opts", "->", "x_optimize_size", ")", "ix86_cost", "=", "&", "ix86_size_cost", ";", "else", "ix86_cost", "=", "ix86_tune_cost", ";", "if", "(", "old_arch", "!=", "ix86_arch", ")", "{", "ix86_arch_mask", "=", "HOST_WIDE_INT_1U", "<<", "ix86_arch", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_ARCH_LAST", ";", "++", "i", ")", "ix86_arch_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_arch_features", "[", "i", "]", "&", "ix86_arch_mask", ")", ";", "}", "if", "(", "old_tune", "!=", "ix86_tune", ")", "set_ix86_tune_features", "(", "opts", ",", "ix86_tune", ",", "false", ")", ";", "}", ""], "natrual_language": ["Restore", "the", "current", "options"], "TS_V_token": ["i386", "0"], "File": "i386-options1", "Func": "ix86_function_specific_restore", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37877, "Length": 333}
{"ground_truth": ["", "void", "ix86_function_specific_save", "(", "struct", "cl_target_option", "*", "ptr", ",", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", ")", "{", "ptr", "->", "arch", "=", "ix86_arch", ";", "ptr", "->", "schedule", "=", "ix86_schedule", ";", "ptr", "->", "prefetch_sse", "=", "ix86_prefetch_sse", ";", "ptr", "->", "tune", "=", "ix86_tune", ";", "ptr", "->", "branch_cost", "=", "ix86_branch_cost", ";", "ptr", "->", "tune_defaulted", "=", "ix86_tune_defaulted", ";", "ptr", "->", "arch_specified", "=", "ix86_arch_specified", ";", "ptr", "->", "x_ix86_isa_flags_explicit", "=", "opts", "->", "x_ix86_isa_flags_explicit", ";", "ptr", "->", "x_ix86_isa_flags2_explicit", "=", "opts", "->", "x_ix86_isa_flags2_explicit", ";", "ptr", "->", "x_recip_mask_explicit", "=", "opts", "->", "x_recip_mask_explicit", ";", "ptr", "->", "x_ix86_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "ptr", "->", "x_ix86_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "ptr", "->", "x_ix86_asm_dialect", "=", "opts", "->", "x_ix86_asm_dialect", ";", "ptr", "->", "x_ix86_branch_cost", "=", "opts", "->", "x_ix86_branch_cost", ";", "ptr", "->", "x_ix86_dump_tunes", "=", "opts", "->", "x_ix86_dump_tunes", ";", "ptr", "->", "x_ix86_force_align_arg_pointer", "=", "opts", "->", "x_ix86_force_align_arg_pointer", ";", "ptr", "->", "x_ix86_force_drap", "=", "opts", "->", "x_ix86_force_drap", ";", "ptr", "->", "x_ix86_recip_name", "=", "opts", "->", "x_ix86_recip_name", ";", "ptr", "->", "x_ix86_section_threshold", "=", "opts", "->", "x_ix86_section_threshold", ";", "ptr", "->", "x_ix86_sse2avx", "=", "opts", "->", "x_ix86_sse2avx", ";", "ptr", "->", "x_ix86_stack_protector_guard", "=", "opts", "->", "x_ix86_stack_protector_guard", ";", "ptr", "->", "x_ix86_stringop_alg", "=", "opts", "->", "x_ix86_stringop_alg", ";", "ptr", "->", "x_ix86_tls_dialect", "=", "opts", "->", "x_ix86_tls_dialect", ";", "ptr", "->", "x_ix86_tune_ctrl_string", "=", "opts", "->", "x_ix86_tune_ctrl_string", ";", "ptr", "->", "x_ix86_tune_memcpy_strategy", "=", "opts", "->", "x_ix86_tune_memcpy_strategy", ";", "ptr", "->", "x_ix86_tune_memset_strategy", "=", "opts", "->", "x_ix86_tune_memset_strategy", ";", "ptr", "->", "x_ix86_tune_no_default", "=", "opts", "->", "x_ix86_tune_no_default", ";", "gcc_assert", "(", "ptr", "->", "arch", "==", "ix86_arch", ")", ";", "gcc_assert", "(", "ptr", "->", "schedule", "==", "ix86_schedule", ")", ";", "gcc_assert", "(", "ptr", "->", "tune", "==", "ix86_tune", ")", ";", "gcc_assert", "(", "ptr", "->", "branch_cost", "==", "ix86_branch_cost", ")", ";", "}", ""], "natrual_language": ["Save", "the", "current", "options"], "TS_V_token": ["i386"], "File": "i386-options1", "Func": "ix86_function_specific_save", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37878, "Length": 257}
{"ground_truth": ["", "void", "ix86_override_options_after_change", "(", "void", ")", "{", "ix86_default_align", "(", "&", "global_options", ")", ";", "ix86_recompute_optlev_based_flags", "(", "&", "global_options", ",", "&", "global_options_set", ")", ";", "if", "(", "(", "OPTION_SET_P", "(", "flag_unroll_loops", ")", ")", "||", "(", "OPTION_SET_P", "(", "flag_unroll_all_loops", ")", "&&", "flag_unroll_all_loops", ")", ")", "{", "if", "(", "!", "OPTION_SET_P", "(", "ix86_unroll_only_small_loops", ")", ")", "ix86_unroll_only_small_loops", "=", "0", ";", "if", "(", "!", "OPTION_SET_P", "(", "flag_web", ")", ")", "flag_web", "=", "flag_unroll_loops", ";", "if", "(", "!", "OPTION_SET_P", "(", "flag_rename_registers", ")", ")", "flag_rename_registers", "=", "flag_unroll_loops", ";", "if", "(", "!", "OPTION_SET_P", "(", "flag_cunroll_grow_size", ")", ")", "flag_cunroll_grow_size", "=", "flag_unroll_loops", "||", "flag_peel_loops", "||", "optimize", ">=", "3", ";", "}", "else", "{", "if", "(", "!", "OPTION_SET_P", "(", "flag_cunroll_grow_size", ")", ")", "flag_cunroll_grow_size", "=", "flag_peel_loops", "||", "optimize", ">=", "3", ";", "}", "}", ""], "natrual_language": ["Implement", "TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE", "hook", "."], "TS_V_token": ["i386", "0", "3", "3"], "File": "i386-options1", "Func": "ix86_override_options_after_change", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37879, "Length": 115}
{"ground_truth": ["", "void", "ix86_set_current_function", "(", "tree", "fndecl", ")", "{", "if", "(", "fndecl", "==", "ix86_previous_fndecl", ")", "{", "if", "(", "fndecl", "!=", "NULL_TREE", ")", "{", "ix86_set_func_type", "(", "fndecl", ")", ";", "ix86_set_indirect_branch_type", "(", "fndecl", ")", ";", "}", "return", ";", "}", "tree", "old_tree", ";", "if", "(", "ix86_previous_fndecl", "==", "NULL_TREE", ")", "old_tree", "=", "target_option_current_node", ";", "else", "if", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ")", "old_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ";", "else", "old_tree", "=", "target_option_default_node", ";", "if", "(", "fndecl", "==", "NULL_TREE", ")", "{", "if", "(", "old_tree", "!=", "target_option_current_node", ")", "ix86_reset_previous_fndecl", "(", ")", ";", "return", ";", "}", "ix86_set_func_type", "(", "fndecl", ")", ";", "ix86_set_indirect_branch_type", "(", "fndecl", ")", ";", "tree", "new_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", ";", "if", "(", "new_tree", "==", "NULL_TREE", ")", "new_tree", "=", "target_option_default_node", ";", "bool", "fp_flag_change", "=", "(", "flag_unsafe_math_optimizations", "!=", "TREE_TARGET_OPTION", "(", "new_tree", ")", "->", "x_ix86_unsafe_math_optimizations", "||", "(", "flag_excess_precision", "!=", "TREE_TARGET_OPTION", "(", "new_tree", ")", "->", "x_ix86_excess_precision", ")", ")", ";", "if", "(", "old_tree", "!=", "new_tree", "||", "fp_flag_change", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "&", "global_options_set", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "if", "(", "fp_flag_change", ")", "{", "ix86_excess_precision", "=", "flag_excess_precision", ";", "ix86_unsafe_math_optimizations", "=", "flag_unsafe_math_optimizations", ";", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "=", "new_tree", "=", "build_target_option_node", "(", "&", "global_options", ",", "&", "global_options_set", ")", ";", "}", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "}", "ix86_previous_fndecl", "=", "fndecl", ";", "static", "bool", "prev_no_caller_saved_registers", ";", "if", "(", "TARGET_64BIT", "&&", "(", "call_used_or_fixed_reg_p", "(", "SI_REG", ")", "==", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", ")", ")", ")", "reinit_regs", "(", ")", ";", "else", "if", "(", "prev_no_caller_saved_registers", "!=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "reinit_regs", "(", ")", ";", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", "||", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "const", "char", "*", "isa", ";", "if", "(", "TARGET_SSE", ")", "isa", "=", "\"SSE\"", ";", "else", "if", "(", "TARGET_MMX", ")", "isa", "=", "\"MMX/3Dnow\"", ";", "else", "if", "(", "TARGET_80387", ")", "isa", "=", "\"80387\"", ";", "else", "isa", "=", "NULL", ";", "if", "(", "isa", "!=", "NULL", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "sorry", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "?", "G_", "(", "\"%s instructions aren%'t allowed in an\"", "\" exception service routine\"", ")", ":", "G_", "(", "\"%s instructions aren%'t allowed in an\"", "\" interrupt service routine\"", ")", ",", "isa", ")", ";", "else", "sorry", "(", "\"%s instructions aren%'t allowed in a function with \"", "\"the % attribute\"", ",", "isa", ")", ";", "cfun", "->", "machine", "->", "func_type", "=", "TYPE_NORMAL", ";", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "false", ";", "}", "}", "prev_no_caller_saved_registers", "=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ";", "}", ""], "natrual_language": ["Establish", "appropriate", "back-end", "context", "for", "processing", "the", "function", "FNDECL", ".", "The", "argument", "might", "be", "NULL", "to", "indicate", "processing", "at", "top", "level", ",", "outside", "of", "any", "function", "scope", "."], "TS_V_token": ["i386", "\"SSE\"", "\"MMX/3Dnow\"", "\"80387\"", "\"%s instructions aren%'t allowed in an\"", "\" exception service routine\"", "\"%s instructions aren%'t allowed in an\"", "\" interrupt service routine\"", "\"%s instructions aren%'t allowed in a function with \"", "\"the % attribute\""], "File": "i386-options1", "Func": "ix86_set_current_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37880, "Length": 412}
{"ground_truth": ["", "bool", "ix86_valid_target_attribute_p", "(", "tree", "fndecl", ",", "tree", "ARG_UNUSED", "(", "name", ")", ",", "tree", "args", ",", "int", "flags", ")", "{", "struct", "gcc_options", "func_options", ",", "func_options_set", ";", "tree", "new_target", ",", "new_optimize", ";", "bool", "ret", "=", "true", ";", "if", "(", "TREE_VALUE", "(", "args", ")", "&&", "TREE_CODE", "(", "TREE_VALUE", "(", "args", ")", ")", "==", "STRING_CST", "&&", "TREE_CHAIN", "(", "args", ")", "==", "NULL_TREE", "&&", "strcmp", "(", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "args", ")", ")", ",", "\"default\"", ")", "==", "0", ")", "return", "true", ";", "tree", "old_optimize", "=", "build_optimization_node", "(", "&", "global_options", ",", "&", "global_options_set", ")", ";", "tree", "func_optimize", "=", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", ";", "if", "(", "!", "func_optimize", ")", "func_optimize", "=", "old_optimize", ";", "memset", "(", "&", "func_options", ",", "0", ",", "sizeof", "(", "func_options", ")", ")", ";", "init_options_struct", "(", "&", "func_options", ",", "NULL", ")", ";", "lang_hooks", ".", "init_options_struct", "(", "&", "func_options", ")", ";", "memset", "(", "&", "func_options_set", ",", "0", ",", "sizeof", "(", "func_options_set", ")", ")", ";", "cl_optimization_restore", "(", "&", "func_options", ",", "&", "func_options_set", ",", "TREE_OPTIMIZATION", "(", "func_optimize", ")", ")", ";", "cl_target_option_restore", "(", "&", "func_options", ",", "&", "func_options_set", ",", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ")", ";", "new_target", "=", "ix86_valid_target_attribute_tree", "(", "fndecl", ",", "args", ",", "&", "func_options", ",", "&", "func_options_set", ",", "flags", "==", "1", ")", ";", "new_optimize", "=", "build_optimization_node", "(", "&", "func_options", ",", "&", "func_options_set", ")", ";", "if", "(", "new_target", "==", "error_mark_node", ")", "ret", "=", "false", ";", "else", "if", "(", "fndecl", "&&", "new_target", ")", "{", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "=", "new_target", ";", "if", "(", "old_optimize", "!=", "new_optimize", ")", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", "=", "new_optimize", ";", "}", "return", "ret", ";", "}", ""], "natrual_language": ["Hook", "to", "validate", "attribute", "(", "(", "target", "(", "``", "string", "''", ")", ")", ")", "."], "TS_V_token": ["i386", "\"default\"", "0", "0", "0", "1"], "File": "i386-options1", "Func": "ix86_valid_target_attribute_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37881, "Length": 249}
{"ground_truth": ["", "tree", "ix86_valid_target_attribute_tree", "(", "tree", "fndecl", ",", "tree", "args", ",", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", "opts_set", ",", "bool", "target_clone_attr", ")", "{", "const", "char", "*", "orig_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "const", "char", "*", "orig_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "enum", "fpmath_unit", "orig_fpmath_set", "=", "opts_set", "->", "x_ix86_fpmath", ";", "enum", "prefer_vector_width", "orig_pvw_set", "=", "opts_set", "->", "x_prefer_vector_width_type", ";", "int", "orig_tune_defaulted", "=", "ix86_tune_defaulted", ";", "int", "orig_arch_specified", "=", "ix86_arch_specified", ";", "char", "*", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_MAX", "]", "=", "{", "NULL", ",", "NULL", "}", ";", "tree", "t", "=", "NULL_TREE", ";", "struct", "cl_target_option", "*", "def", "=", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ";", "struct", "gcc_options", "enum_opts_set", ";", "memset", "(", "&", "enum_opts_set", ",", "0", ",", "sizeof", "(", "enum_opts_set", ")", ")", ";", "if", "(", "!", "ix86_valid_target_attribute_inner_p", "(", "fndecl", ",", "args", ",", "option_strings", ",", "opts", ",", "opts_set", ",", "&", "enum_opts_set", ",", "target_clone_attr", ")", ")", "return", "error_mark_node", ";", "if", "(", "opts", "->", "x_ix86_isa_flags", "!=", "def", "->", "x_ix86_isa_flags", "||", "opts", "->", "x_ix86_isa_flags2", "!=", "def", "->", "x_ix86_isa_flags2", "||", "opts", "->", "x_target_flags", "!=", "def", "->", "x_target_flags", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", "||", "enum_opts_set", ".", "x_ix86_fpmath", "||", "enum_opts_set", ".", "x_prefer_vector_width_type", ")", "{", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", "opts", "->", "x_ix86_arch_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", ";", "else", "if", "(", "!", "orig_arch_specified", ")", "opts", "->", "x_ix86_arch_string", "=", "NULL", ";", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", "opts", "->", "x_ix86_tune_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", ";", "else", "if", "(", "orig_tune_defaulted", ")", "opts", "->", "x_ix86_tune_string", "=", "NULL", ";", "if", "(", "enum_opts_set", ".", "x_ix86_fpmath", ")", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "if", "(", "enum_opts_set", ".", "x_prefer_vector_width_type", ")", "opts_set", "->", "x_prefer_vector_width_type", "=", "(", "enum", "prefer_vector_width", ")", "1", ";", "bool", "r", "=", "ix86_option_override_internal", "(", "false", ",", "opts", ",", "opts_set", ")", ";", "if", "(", "!", "r", ")", "{", "release_options_strings", "(", "option_strings", ")", ";", "return", "error_mark_node", ";", "}", "ix86_add_new_builtins", "(", "opts", "->", "x_ix86_isa_flags", ",", "opts", "->", "x_ix86_isa_flags2", ")", ";", "enum", "excess_precision", "orig_ix86_excess_precision", "=", "opts", "->", "x_ix86_excess_precision", ";", "bool", "orig_ix86_unsafe_math_optimizations", "=", "opts", "->", "x_ix86_unsafe_math_optimizations", ";", "opts", "->", "x_ix86_excess_precision", "=", "opts", "->", "x_flag_excess_precision", ";", "opts", "->", "x_ix86_unsafe_math_optimizations", "=", "opts", "->", "x_flag_unsafe_math_optimizations", ";", "t", "=", "build_target_option_node", "(", "opts", ",", "opts_set", ")", ";", "opts", "->", "x_ix86_arch_string", "=", "orig_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "orig_tune_string", ";", "opts_set", "->", "x_ix86_fpmath", "=", "orig_fpmath_set", ";", "opts_set", "->", "x_prefer_vector_width_type", "=", "orig_pvw_set", ";", "opts", "->", "x_ix86_excess_precision", "=", "orig_ix86_excess_precision", ";", "opts", "->", "x_ix86_unsafe_math_optimizations", "=", "orig_ix86_unsafe_math_optimizations", ";", "release_options_strings", "(", "option_strings", ")", ";", "}", "return", "t", ";", "}", ""], "natrual_language": ["Return", "a", "TARGET_OPTION_NODE", "tree", "of", "the", "target", "options", "listed", "or", "NULL", "."], "TS_V_token": ["i386", "0", "1", "1"], "File": "i386-options1", "Func": "ix86_valid_target_attribute_tree", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37882, "Length": 398}
{"ground_truth": ["", "static", "tree", "handle_nodirect_extern_access_attribute", "(", "tree", "*", "pnode", ",", "tree", "name", ",", "tree", "ARG_UNUSED", "(", "args", ")", ",", "int", "ARG_UNUSED", "(", "flags", ")", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "node", "=", "*", "pnode", ";", "if", "(", "VAR_OR_FUNCTION_DECL_P", "(", "node", ")", ")", "{", "if", "(", "(", "!", "TREE_STATIC", "(", "node", ")", "&&", "TREE_CODE", "(", "node", ")", "!=", "FUNCTION_DECL", "&&", "!", "DECL_EXTERNAL", "(", "node", ")", ")", "||", "!", "TREE_PUBLIC", "(", "node", ")", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute have effect only on public objects\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "}", "else", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute ignored\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "nodirect_extern_access", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qE attribute have effect only on public objects\"", "\"%qE attribute ignored\""], "File": "i386-options", "Func": "handle_nodirect_extern_access_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37883, "Length": 109}
{"ground_truth": ["", "void", "ATTRIBUTE_UNUSED", "ix86_debug_options", "(", "void", ")", "{", "char", "*", "opts", "=", "ix86_target_string", "(", "ix86_isa_flags", ",", "ix86_isa_flags2", ",", "target_flags", ",", "ix86_target_flags", ",", "ix86_arch_string", ",", "ix86_tune_string", ",", "ix86_fpmath", ",", "prefer_vector_width_type", ",", "ix86_move_max", ",", "ix86_store_max", ",", "true", ",", "true", ")", ";", "if", "(", "opts", ")", "{", "fprintf", "(", "stderr", ",", "\"%s\\n\\n\"", ",", "opts", ")", ";", "free", "(", "opts", ")", ";", "}", "else", "fputs", "(", "\"\\n\\n\"", ",", "stderr", ")", ";", "return", ";", "}", ""], "natrual_language": ["Function", "that", "is", "callable", "from", "the", "debugger", "to", "print", "the", "current", "options", "."], "TS_V_token": ["i386", "\"%s\\n\\n\"", "\"\\n\\n\""], "File": "i386-options", "Func": "ix86_debug_options", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37884, "Length": 69}
{"ground_truth": ["", "static", "void", "ix86_default_align", "(", "struct", "gcc_options", "*", "opts", ")", "{", "if", "(", "opts", "->", "x_flag_align_loops", "&&", "!", "opts", "->", "x_str_align_loops", ")", "opts", "->", "x_str_align_loops", "=", "processor_cost_table", "[", "ix86_tune", "]", "->", "align_loop", ";", "if", "(", "opts", "->", "x_flag_align_jumps", "&&", "!", "opts", "->", "x_str_align_jumps", ")", "opts", "->", "x_str_align_jumps", "=", "processor_cost_table", "[", "ix86_tune", "]", "->", "align_jump", ";", "if", "(", "opts", "->", "x_flag_align_labels", "&&", "!", "opts", "->", "x_str_align_labels", ")", "opts", "->", "x_str_align_labels", "=", "processor_cost_table", "[", "ix86_tune", "]", "->", "align_label", ";", "if", "(", "opts", "->", "x_flag_align_functions", "&&", "!", "opts", "->", "x_str_align_functions", ")", "opts", "->", "x_str_align_functions", "=", "processor_cost_table", "[", "ix86_tune", "]", "->", "align_func", ";", "}", ""], "natrual_language": ["Default", "align_", "*", "from", "the", "processor", "table", "."], "TS_V_token": ["i386"], "File": "i386-options", "Func": "ix86_default_align", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37885, "Length": 99}
{"ground_truth": ["", "void", "ix86_function_specific_post_stream_in", "(", "struct", "cl_target_option", "*", "ptr", ")", "{", "if", "(", "flag_pic", ")", "switch", "(", "ptr", "->", "x_ix86_cmodel", ")", "{", "case", "CM_SMALL", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_SMALL_PIC", ";", "break", ";", "case", "CM_MEDIUM", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_MEDIUM_PIC", ";", "break", ";", "case", "CM_LARGE", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_LARGE_PIC", ";", "break", ";", "case", "CM_KERNEL", ":", "error", "(", "\"code model %s does not support PIC mode\"", ",", "\"kernel\"", ")", ";", "break", ";", "default", ":", "break", ";", "}", "else", "switch", "(", "ptr", "->", "x_ix86_cmodel", ")", "{", "case", "CM_SMALL_PIC", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_SMALL", ";", "break", ";", "case", "CM_MEDIUM_PIC", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_MEDIUM", ";", "break", ";", "case", "CM_LARGE_PIC", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_LARGE", ";", "break", ";", "default", ":", "break", ";", "}", "}", ""], "natrual_language": ["Adjust", "target", "options", "after", "streaming", "them", "in", ".", "This", "is", "mainly", "about", "reconciling", "them", "with", "global", "options", "."], "TS_V_token": ["i386", "\"code model %s does not support PIC mode\"", "\"kernel\""], "File": "i386-options", "Func": "ix86_function_specific_post_stream_in", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37886, "Length": 117}
{"ground_truth": ["", "void", "ix86_function_specific_print", "(", "FILE", "*", "file", ",", "int", "indent", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "char", "*", "target_string", "=", "ix86_target_string", "(", "ptr", "->", "x_ix86_isa_flags", ",", "ptr", "->", "x_ix86_isa_flags2", ",", "ptr", "->", "x_target_flags", ",", "ptr", "->", "x_ix86_target_flags", ",", "NULL", ",", "NULL", ",", "ptr", "->", "x_ix86_fpmath", ",", "ptr", "->", "x_prefer_vector_width_type", ",", "ptr", "->", "x_ix86_move_max", ",", "ptr", "->", "x_ix86_store_max", ",", "false", ",", "true", ")", ";", "gcc_assert", "(", "ptr", "->", "arch", "<", "PROCESSOR_max", ")", ";", "fprintf", "(", "file", ",", "\"%*sarch = %d (%s)\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "arch", ",", "processor_names", "[", "ptr", "->", "arch", "]", ")", ";", "gcc_assert", "(", "ptr", "->", "tune", "<", "PROCESSOR_max", ")", ";", "fprintf", "(", "file", ",", "\"%*stune = %d (%s)\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "tune", ",", "processor_names", "[", "ptr", "->", "tune", "]", ")", ";", "fprintf", "(", "file", ",", "\"%*sbranch_cost = %d\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "branch_cost", ")", ";", "if", "(", "target_string", ")", "{", "fprintf", "(", "file", ",", "\"%*s%s\\n\"", ",", "indent", ",", "\"\"", ",", "target_string", ")", ";", "free", "(", "target_string", ")", ";", "}", "}", ""], "natrual_language": ["Print", "the", "current", "options"], "TS_V_token": ["i386", "\"%*sarch = %d (%s)\\n\"", "\"\"", "\"%*stune = %d (%s)\\n\"", "\"\"", "\"%*sbranch_cost = %d\\n\"", "\"\"", "\"%*s%s\\n\"", "\"\""], "File": "i386-options", "Func": "ix86_function_specific_print", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37887, "Length": 165}
{"ground_truth": ["", "void", "ix86_function_specific_restore", "(", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "enum", "processor_type", "old_tune", "=", "ix86_tune", ";", "enum", "processor_type", "old_arch", "=", "ix86_arch", ";", "unsigned", "HOST_WIDE_INT", "ix86_arch_mask", ";", "int", "i", ";", "opts", "->", "x_flag_pic", "=", "flag_pic", ";", "ix86_arch", "=", "(", "enum", "processor_type", ")", "ptr", "->", "arch", ";", "ix86_schedule", "=", "(", "enum", "attr_cpu", ")", "ptr", "->", "schedule", ";", "ix86_tune", "=", "(", "enum", "processor_type", ")", "ptr", "->", "tune", ";", "ix86_prefetch_sse", "=", "ptr", "->", "prefetch_sse", ";", "ix86_tune_defaulted", "=", "ptr", "->", "tune_defaulted", ";", "ix86_arch_specified", "=", "ptr", "->", "arch_specified", ";", "opts", "->", "x_ix86_isa_flags_explicit", "=", "ptr", "->", "x_ix86_isa_flags_explicit", ";", "opts", "->", "x_ix86_isa_flags2_explicit", "=", "ptr", "->", "x_ix86_isa_flags2_explicit", ";", "opts", "->", "x_recip_mask_explicit", "=", "ptr", "->", "x_recip_mask_explicit", ";", "opts", "->", "x_ix86_arch_string", "=", "ptr", "->", "x_ix86_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "ptr", "->", "x_ix86_tune_string", ";", "opts", "->", "x_ix86_abi", "=", "ptr", "->", "x_ix86_abi", ";", "opts", "->", "x_ix86_asm_dialect", "=", "ptr", "->", "x_ix86_asm_dialect", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "x_ix86_branch_cost", ";", "opts", "->", "x_ix86_dump_tunes", "=", "ptr", "->", "x_ix86_dump_tunes", ";", "opts", "->", "x_ix86_force_align_arg_pointer", "=", "ptr", "->", "x_ix86_force_align_arg_pointer", ";", "opts", "->", "x_ix86_force_drap", "=", "ptr", "->", "x_ix86_force_drap", ";", "opts", "->", "x_ix86_recip_name", "=", "ptr", "->", "x_ix86_recip_name", ";", "opts", "->", "x_ix86_section_threshold", "=", "ptr", "->", "x_ix86_section_threshold", ";", "opts", "->", "x_ix86_sse2avx", "=", "ptr", "->", "x_ix86_sse2avx", ";", "opts", "->", "x_ix86_stack_protector_guard", "=", "ptr", "->", "x_ix86_stack_protector_guard", ";", "opts", "->", "x_ix86_stringop_alg", "=", "ptr", "->", "x_ix86_stringop_alg", ";", "opts", "->", "x_ix86_tls_dialect", "=", "ptr", "->", "x_ix86_tls_dialect", ";", "opts", "->", "x_ix86_tune_ctrl_string", "=", "ptr", "->", "x_ix86_tune_ctrl_string", ";", "opts", "->", "x_ix86_tune_memcpy_strategy", "=", "ptr", "->", "x_ix86_tune_memcpy_strategy", ";", "opts", "->", "x_ix86_tune_memset_strategy", "=", "ptr", "->", "x_ix86_tune_memset_strategy", ";", "opts", "->", "x_ix86_tune_no_default", "=", "ptr", "->", "x_ix86_tune_no_default", ";", "ix86_tune_cost", "=", "processor_cost_table", "[", "ix86_tune", "]", ";", "if", "(", "opts", "->", "x_optimize_size", ")", "ix86_cost", "=", "&", "ix86_size_cost", ";", "else", "ix86_cost", "=", "ix86_tune_cost", ";", "if", "(", "old_arch", "!=", "ix86_arch", ")", "{", "ix86_arch_mask", "=", "HOST_WIDE_INT_1U", "<<", "ix86_arch", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_ARCH_LAST", ";", "++", "i", ")", "ix86_arch_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_arch_features", "[", "i", "]", "&", "ix86_arch_mask", ")", ";", "}", "if", "(", "old_tune", "!=", "ix86_tune", ")", "set_ix86_tune_features", "(", "opts", ",", "ix86_tune", ",", "false", ")", ";", "}", ""], "natrual_language": ["Restore", "the", "current", "options"], "TS_V_token": ["i386", "0"], "File": "i386-options", "Func": "ix86_function_specific_restore", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37888, "Length": 341}
{"ground_truth": ["", "void", "ix86_function_specific_save", "(", "struct", "cl_target_option", "*", "ptr", ",", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", ")", "{", "ptr", "->", "arch", "=", "ix86_arch", ";", "ptr", "->", "schedule", "=", "ix86_schedule", ";", "ptr", "->", "prefetch_sse", "=", "ix86_prefetch_sse", ";", "ptr", "->", "tune", "=", "ix86_tune", ";", "ptr", "->", "branch_cost", "=", "ix86_branch_cost", ";", "ptr", "->", "tune_defaulted", "=", "ix86_tune_defaulted", ";", "ptr", "->", "arch_specified", "=", "ix86_arch_specified", ";", "ptr", "->", "x_ix86_isa_flags_explicit", "=", "opts", "->", "x_ix86_isa_flags_explicit", ";", "ptr", "->", "x_ix86_isa_flags2_explicit", "=", "opts", "->", "x_ix86_isa_flags2_explicit", ";", "ptr", "->", "x_recip_mask_explicit", "=", "opts", "->", "x_recip_mask_explicit", ";", "ptr", "->", "x_ix86_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "ptr", "->", "x_ix86_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "ptr", "->", "x_ix86_abi", "=", "opts", "->", "x_ix86_abi", ";", "ptr", "->", "x_ix86_asm_dialect", "=", "opts", "->", "x_ix86_asm_dialect", ";", "ptr", "->", "x_ix86_branch_cost", "=", "opts", "->", "x_ix86_branch_cost", ";", "ptr", "->", "x_ix86_dump_tunes", "=", "opts", "->", "x_ix86_dump_tunes", ";", "ptr", "->", "x_ix86_force_align_arg_pointer", "=", "opts", "->", "x_ix86_force_align_arg_pointer", ";", "ptr", "->", "x_ix86_force_drap", "=", "opts", "->", "x_ix86_force_drap", ";", "ptr", "->", "x_ix86_recip_name", "=", "opts", "->", "x_ix86_recip_name", ";", "ptr", "->", "x_ix86_section_threshold", "=", "opts", "->", "x_ix86_section_threshold", ";", "ptr", "->", "x_ix86_sse2avx", "=", "opts", "->", "x_ix86_sse2avx", ";", "ptr", "->", "x_ix86_stack_protector_guard", "=", "opts", "->", "x_ix86_stack_protector_guard", ";", "ptr", "->", "x_ix86_stringop_alg", "=", "opts", "->", "x_ix86_stringop_alg", ";", "ptr", "->", "x_ix86_tls_dialect", "=", "opts", "->", "x_ix86_tls_dialect", ";", "ptr", "->", "x_ix86_tune_ctrl_string", "=", "opts", "->", "x_ix86_tune_ctrl_string", ";", "ptr", "->", "x_ix86_tune_memcpy_strategy", "=", "opts", "->", "x_ix86_tune_memcpy_strategy", ";", "ptr", "->", "x_ix86_tune_memset_strategy", "=", "opts", "->", "x_ix86_tune_memset_strategy", ";", "ptr", "->", "x_ix86_tune_no_default", "=", "opts", "->", "x_ix86_tune_no_default", ";", "gcc_assert", "(", "ptr", "->", "arch", "==", "ix86_arch", ")", ";", "gcc_assert", "(", "ptr", "->", "schedule", "==", "ix86_schedule", ")", ";", "gcc_assert", "(", "ptr", "->", "tune", "==", "ix86_tune", ")", ";", "gcc_assert", "(", "ptr", "->", "branch_cost", "==", "ix86_branch_cost", ")", ";", "}", ""], "natrual_language": ["Save", "the", "current", "options"], "TS_V_token": ["i386"], "File": "i386-options", "Func": "ix86_function_specific_save", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37889, "Length": 265}
{"ground_truth": ["", "static", "tree", "ix86_handle_abi_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "FUNCTION_TYPE", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "METHOD_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", ";", "return", "NULL_TREE", ";", "}", "if", "(", "is_attribute_p", "(", "\"ms_abi\"", ",", "name", ")", ")", "{", "if", "(", "lookup_attribute", "(", "\"sysv_abi\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"%qs and %qs attributes are not compatible\"", ",", "\"ms_abi\"", ",", "\"sysv_abi\"", ")", ";", "}", "return", "NULL_TREE", ";", "}", "else", "if", "(", "is_attribute_p", "(", "\"sysv_abi\"", ",", "name", ")", ")", "{", "if", "(", "lookup_attribute", "(", "\"ms_abi\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"%qs and %qs attributes are not compatible\"", ",", "\"ms_abi\"", ",", "\"sysv_abi\"", ")", ";", "}", "return", "NULL_TREE", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "ms_abi", "''", "or", "``", "sysv", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qE attribute only applies to functions\"", "\"ms_abi\"", "\"sysv_abi\"", "\"%qs and %qs attributes are not compatible\"", "\"ms_abi\"", "\"sysv_abi\"", "\"sysv_abi\"", "\"ms_abi\"", "\"%qs and %qs attributes are not compatible\"", "\"ms_abi\"", "\"sysv_abi\""], "File": "i386-options", "Func": "ix86_handle_abi_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37890, "Length": 154}
{"ground_truth": ["", "static", "tree", "ix86_handle_callee_pop_aggregate_return", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "FUNCTION_TYPE", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "METHOD_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", ";", "return", "NULL_TREE", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute only available for 32-bit\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "return", "NULL_TREE", ";", "}", "if", "(", "is_attribute_p", "(", "\"callee_pop_aggregate_return\"", ",", "name", ")", ")", "{", "tree", "cst", ";", "cst", "=", "TREE_VALUE", "(", "args", ")", ";", "if", "(", "TREE_CODE", "(", "cst", ")", "!=", "INTEGER_CST", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute requires an integer constant argument\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "if", "(", "compare_tree_int", "(", "cst", ",", "0", ")", "!=", "0", "&&", "compare_tree_int", "(", "cst", ",", "1", ")", "!=", "0", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"argument to %qE attribute is neither zero, nor one\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "callee_pop_aggregate_return", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec", "handler", "."], "TS_V_token": ["i386", "\"%qE attribute only applies to functions\"", "\"%qE attribute only available for 32-bit\"", "\"callee_pop_aggregate_return\"", "\"%qE attribute requires an integer constant argument\"", "0", "0", "1", "0", "\"argument to %qE attribute is neither zero, nor one\""], "File": "i386-options", "Func": "ix86_handle_callee_pop_aggregate_return", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37891, "Length": 187}
{"ground_truth": ["", "static", "tree", "ix86_handle_fentry_name", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "==", "FUNCTION_DECL", "&&", "TREE_CODE", "(", "TREE_VALUE", "(", "args", ")", ")", "==", "STRING_CST", ")", ";", "else", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute ignored\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "fentry_name", "/", "fentry_section", "attribute", "."], "TS_V_token": ["i386", "\"%qE attribute ignored\""], "File": "i386-options", "Func": "ix86_handle_fentry_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37892, "Length": 63}
{"ground_truth": ["", "static", "tree", "ix86_handle_force_align_arg_pointer_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "FUNCTION_TYPE", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "METHOD_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", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "force_align_arg_pointer", "''", "attribute", "."], "TS_V_token": ["i386", "\"%qE attribute only applies to functions\""], "File": "i386-options", "Func": "ix86_handle_force_align_arg_pointer_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37893, "Length": 74}
{"ground_truth": ["", "static", "tree", "ix86_handle_struct_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "*", "type", "=", "NULL", ";", "if", "(", "DECL_P", "(", "*", "node", ")", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "==", "TYPE_DECL", ")", "type", "=", "&", "TREE_TYPE", "(", "*", "node", ")", ";", "}", "else", "type", "=", "node", ";", "if", "(", "!", "(", "type", "&&", "RECORD_OR_UNION_TYPE_P", "(", "*", "type", ")", ")", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute ignored\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "if", "(", "(", "is_attribute_p", "(", "\"ms_struct\"", ",", "name", ")", "&&", "lookup_attribute", "(", "\"gcc_struct\"", ",", "TYPE_ATTRIBUTES", "(", "*", "type", ")", ")", ")", "||", "(", "(", "is_attribute_p", "(", "\"gcc_struct\"", ",", "name", ")", "&&", "lookup_attribute", "(", "\"ms_struct\"", ",", "TYPE_ATTRIBUTES", "(", "*", "type", ")", ")", ")", ")", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE incompatible attribute ignored\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "ms_struct", "''", "or", "``", "gcc_struct", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qE attribute ignored\"", "\"ms_struct\"", "\"gcc_struct\"", "\"gcc_struct\"", "\"ms_struct\"", "\"%qE incompatible attribute ignored\""], "File": "i386-options", "Func": "ix86_handle_struct_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37894, "Length": 154}
{"ground_truth": ["", "static", "tree", "ix86_handle_tm_regparm_attribute", "(", "tree", "*", "node", ",", "tree", ",", "tree", ",", "int", "flags", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "alt", ";", "*", "no_add_attrs", "=", "true", ";", "if", "(", "TARGET_64BIT", ")", "return", "NULL_TREE", ";", "if", "(", "CHECK_STACK_LIMIT", ">", "0", ")", "alt", "=", "tree_cons", "(", "get_identifier", "(", "\"fastcall\"", ")", ",", "NULL", ",", "NULL", ")", ";", "else", "{", "alt", "=", "tree_cons", "(", "NULL", ",", "build_int_cst", "(", "NULL", ",", "2", ")", ",", "NULL", ")", ";", "alt", "=", "tree_cons", "(", "get_identifier", "(", "\"regparm\"", ")", ",", "alt", ",", "NULL", ")", ";", "}", "decl_attributes", "(", "node", ",", "alt", ",", "flags", ")", ";", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["The", "transactional", "memory", "builtins", "are", "implicitly", "regparm", "or", "fastcall", "depending", "on", "the", "ABI", ".", "Override", "the", "generic", "do-nothing", "attribute", "that", "these", "builtins", "were", "declared", "with", ",", "and", "replace", "it", "with", "one", "of", "the", "two", "attributes", "that", "we", "expect", "elsewhere", "."], "TS_V_token": ["i386", "0", "\"fastcall\"", "2", "\"regparm\""], "File": "i386-options", "Func": "ix86_handle_tm_regparm_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37895, "Length": 101}
{"ground_truth": ["", "static", "struct", "machine_function", "*", "ix86_init_machine_status", "(", "void", ")", "{", "struct", "machine_function", "*", "f", ";", "f", "=", "ggc_cleared_alloc", "<", "machine_function", ">", "(", ")", ";", "f", "->", "call_abi", "=", "ix86_abi", ";", "f", "->", "stack_frame_required", "=", "true", ";", "f", "->", "silent_p", "=", "true", ";", "return", "f", ";", "}", ""], "natrual_language": ["Clear", "stack", "slot", "assignments", "remembered", "from", "previous", "functions", ".", "This", "is", "called", "from", "INIT_EXPANDERS", "once", "before", "RTL", "is", "emitted", "for", "each", "function", "."], "TS_V_token": ["i386"], "File": "i386-options", "Func": "ix86_init_machine_status", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37896, "Length": 45}
{"ground_truth": ["", "char", "*", "ix86_offload_options", "(", "void", ")", "{", "if", "(", "TARGET_LP64", ")", "return", "xstrdup", "(", "\"-foffload-abi=lp64\"", ")", ";", "return", "xstrdup", "(", "\"-foffload-abi=ilp32\"", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OFFLOAD_OPTIONS", "hook", "."], "TS_V_token": ["i386", "\"-foffload-abi=lp64\"", "\"-foffload-abi=ilp32\""], "File": "i386-options", "Func": "ix86_offload_options", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37897, "Length": 24}
{"ground_truth": ["", "int", "ix86_omp_device_kind_arch_isa", "(", "enum", "omp_device_kind_arch_isa", "trait", ",", "const", "char", "*", "name", ")", "{", "switch", "(", "trait", ")", "{", "case", "omp_device_kind", ":", "return", "strcmp", "(", "name", ",", "\"cpu\"", ")", "==", "0", ";", "case", "omp_device_arch", ":", "if", "(", "strcmp", "(", "name", ",", "\"intel_mic\"", ")", "==", "0", ")", "return", "1", ";", "if", "(", "strcmp", "(", "name", ",", "\"x86\"", ")", "==", "0", ")", "return", "1", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "TARGET_X32", ")", "return", "strcmp", "(", "name", ",", "\"x32\"", ")", "==", "0", ";", "else", "return", "strcmp", "(", "name", ",", "\"x86_64\"", ")", "==", "0", ";", "}", "if", "(", "strcmp", "(", "name", ",", "\"ia32\"", ")", "==", "0", "||", "strcmp", "(", "name", ",", "\"i386\"", ")", "==", "0", ")", "return", "1", ";", "if", "(", "strcmp", "(", "name", ",", "\"i486\"", ")", "==", "0", ")", "return", "ix86_arch", "!=", "PROCESSOR_I386", "?", "1", ":", "-", "1", ";", "if", "(", "strcmp", "(", "name", ",", "\"i586\"", ")", "==", "0", ")", "return", "(", "ix86_arch", "!=", "PROCESSOR_I386", "&&", "ix86_arch", "!=", "PROCESSOR_I486", ")", "?", "1", ":", "-", "1", ";", "if", "(", "strcmp", "(", "name", ",", "\"i686\"", ")", "==", "0", ")", "return", "(", "ix86_arch", "!=", "PROCESSOR_I386", "&&", "ix86_arch", "!=", "PROCESSOR_I486", "&&", "ix86_arch", "!=", "PROCESSOR_LAKEMONT", "&&", "ix86_arch", "!=", "PROCESSOR_PENTIUM", ")", "?", "1", ":", "-", "1", ";", "return", "0", ";", "case", "omp_device_isa", ":", "for", "(", "int", "i", "=", "0", ";", "i", "<", "2", ";", "i", "++", ")", "{", "struct", "ix86_target_opts", "*", "opts", "=", "i", "?", "isa2_opts", ":", "isa_opts", ";", "size_t", "nopts", "=", "i", "?", "ARRAY_SIZE", "(", "isa2_opts", ")", ":", "ARRAY_SIZE", "(", "isa_opts", ")", ";", "HOST_WIDE_INT", "mask", "=", "i", "?", "ix86_isa_flags2", ":", "ix86_isa_flags", ";", "for", "(", "size_t", "n", "=", "0", ";", "n", "<", "nopts", ";", "n", "++", ")", "{", "if", "(", "opts", "[", "n", "]", ".", "mask", "==", "OPTION_MASK_ISA_SSE4_2", ")", "{", "if", "(", "strcmp", "(", "name", ",", "\"sse4\"", ")", "==", "0", ")", "return", "(", "mask", "&", "opts", "[", "n", "]", ".", "mask", ")", "!=", "0", "?", "1", ":", "-", "1", ";", "}", "if", "(", "strcmp", "(", "name", ",", "opts", "[", "n", "]", ".", "option", "+", "2", ")", "==", "0", ")", "return", "(", "mask", "&", "opts", "[", "n", "]", ".", "mask", ")", "!=", "0", "?", "1", ":", "-", "1", ";", "}", "}", "return", "0", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "1", "if", "TRAIT", "NAME", "is", "present", "in", "the", "OpenMP", "context", "'s", "device", "trait", "set", ",", "return", "0", "if", "not", "present", "in", "any", "OpenMP", "context", "in", "the", "whole", "translation", "unit", ",", "or", "-1", "if", "not", "present", "in", "the", "current", "OpenMP", "context", "but", "might", "be", "present", "in", "another", "OpenMP", "context", "in", "the", "same", "TU", "."], "TS_V_token": ["i386", "\"cpu\"", "0", "\"intel_mic\"", "0", "1", "\"x86\"", "0", "1", "\"x32\"", "0", "\"x86_64\"", "0", "\"ia32\"", "0", "\"i386\"", "0", "1", "\"i486\"", "0", "1", "1", "\"i586\"", "0", "1", "1", "\"i686\"", "0", "1", "1", "0", "0", "2", "0", "\"sse4\"", "0", "0", "1", "1", "2", "0", "0", "1", "1", "0"], "File": "i386-options", "Func": "ix86_omp_device_kind_arch_isa", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37898, "Length": 363}
{"ground_truth": ["", "void", "ix86_option_override", "(", "void", ")", "{", "ix86_option_override_internal", "(", "true", ",", "&", "global_options", ",", "&", "global_options_set", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTION_OVERRIDE", "hook", "."], "TS_V_token": ["i386"], "File": "i386-options", "Func": "ix86_option_override", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37899, "Length": 18}
{"ground_truth": ["", "void", "ix86_override_options_after_change", "(", "void", ")", "{", "ix86_default_align", "(", "&", "global_options", ")", ";", "ix86_recompute_optlev_based_flags", "(", "&", "global_options", ",", "&", "global_options_set", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE", "hook", "."], "TS_V_token": ["i386"], "File": "i386-options", "Func": "ix86_override_options_after_change", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37900, "Length": 22}
{"ground_truth": ["", "static", "void", "ix86_recompute_optlev_based_flags", "(", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", "opts_set", ")", "{", "if", "(", "TARGET_64BIT_P", "(", "opts", "->", "x_ix86_isa_flags", ")", ")", "{", "if", "(", "opts", "->", "x_optimize", ">=", "1", ")", "SET_OPTION_IF_UNSET", "(", "opts", ",", "opts_set", ",", "flag_omit_frame_pointer", ",", "!", "USE_IX86_FRAME_POINTER", ")", ";", "if", "(", "opts", "->", "x_flag_asynchronous_unwind_tables", "&&", "TARGET_64BIT_MS_ABI", ")", "SET_OPTION_IF_UNSET", "(", "opts", ",", "opts_set", ",", "flag_unwind_tables", ",", "1", ")", ";", "if", "(", "opts", "->", "x_flag_asynchronous_unwind_tables", "==", "2", ")", "opts", "->", "x_flag_unwind_tables", "=", "opts", "->", "x_flag_asynchronous_unwind_tables", "=", "1", ";", "if", "(", "opts", "->", "x_flag_pcc_struct_return", "==", "2", ")", "opts", "->", "x_flag_pcc_struct_return", "=", "0", ";", "}", "else", "{", "if", "(", "opts", "->", "x_optimize", ">=", "1", ")", "SET_OPTION_IF_UNSET", "(", "opts", ",", "opts_set", ",", "flag_omit_frame_pointer", ",", "!", "(", "USE_IX86_FRAME_POINTER", "||", "opts", "->", "x_optimize_size", ")", ")", ";", "if", "(", "opts", "->", "x_flag_asynchronous_unwind_tables", "==", "2", ")", "opts", "->", "x_flag_asynchronous_unwind_tables", "=", "!", "USE_IX86_FRAME_POINTER", ";", "if", "(", "opts", "->", "x_flag_pcc_struct_return", "==", "2", ")", "{", "if", "(", "TARGET_IAMCU_P", "(", "opts", "->", "x_target_flags", ")", ")", "opts", "->", "x_flag_pcc_struct_return", "=", "0", ";", "else", "opts", "->", "x_flag_pcc_struct_return", "=", "DEFAULT_PCC_STRUCT_RETURN", ";", "}", "}", "}", ""], "natrual_language": ["(", "Re", ")", "compute", "option", "overrides", "affected", "by", "optimization", "levels", "in", "target-specific", "ways", "."], "TS_V_token": ["i386", "1", "1", "2", "1", "2", "0", "1", "2", "2", "0"], "File": "i386-options", "Func": "ix86_recompute_optlev_based_flags", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37901, "Length": 174}
{"ground_truth": ["", "void", "ix86_reset_previous_fndecl", "(", "void", ")", "{", "tree", "new_tree", "=", "target_option_current_node", ";", "cl_target_option_restore", "(", "&", "global_options", ",", "&", "global_options_set", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "ix86_previous_fndecl", "=", "NULL_TREE", ";", "}", ""], "natrual_language": ["Set", "targets", "globals", "to", "the", "default", "(", "or", "current", "#", "pragma", "GCC", "target", "if", "active", ")", ".", "Invalidate", "ix86_previous_fndecl", "cache", "."], "TS_V_token": ["i386"], "File": "i386-options", "Func": "ix86_reset_previous_fndecl", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37902, "Length": 68}
{"ground_truth": ["", "void", "ix86_set_current_function", "(", "tree", "fndecl", ")", "{", "if", "(", "fndecl", "==", "ix86_previous_fndecl", ")", "{", "if", "(", "fndecl", "!=", "NULL_TREE", ")", "{", "ix86_set_func_type", "(", "fndecl", ")", ";", "ix86_set_indirect_branch_type", "(", "fndecl", ")", ";", "}", "return", ";", "}", "tree", "old_tree", ";", "if", "(", "ix86_previous_fndecl", "==", "NULL_TREE", ")", "old_tree", "=", "target_option_current_node", ";", "else", "if", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ")", "old_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ";", "else", "old_tree", "=", "target_option_default_node", ";", "if", "(", "fndecl", "==", "NULL_TREE", ")", "{", "if", "(", "old_tree", "!=", "target_option_current_node", ")", "ix86_reset_previous_fndecl", "(", ")", ";", "return", ";", "}", "ix86_set_func_type", "(", "fndecl", ")", ";", "ix86_set_indirect_branch_type", "(", "fndecl", ")", ";", "tree", "new_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", ";", "if", "(", "new_tree", "==", "NULL_TREE", ")", "new_tree", "=", "target_option_default_node", ";", "if", "(", "old_tree", "!=", "new_tree", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "&", "global_options_set", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "}", "else", "if", "(", "flag_unsafe_math_optimizations", "!=", "TREE_TARGET_OPTION", "(", "new_tree", ")", "->", "x_ix86_unsafe_math_optimizations", "||", "(", "flag_excess_precision", "!=", "TREE_TARGET_OPTION", "(", "new_tree", ")", "->", "x_ix86_excess_precision", ")", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "&", "global_options_set", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "ix86_excess_precision", "=", "flag_excess_precision", ";", "ix86_unsafe_math_optimizations", "=", "flag_unsafe_math_optimizations", ";", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "=", "new_tree", "=", "build_target_option_node", "(", "&", "global_options", ",", "&", "global_options_set", ")", ";", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "}", "ix86_previous_fndecl", "=", "fndecl", ";", "static", "bool", "prev_no_caller_saved_registers", ";", "if", "(", "TARGET_64BIT", "&&", "(", "call_used_or_fixed_reg_p", "(", "SI_REG", ")", "==", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", ")", ")", ")", "reinit_regs", "(", ")", ";", "else", "if", "(", "prev_no_caller_saved_registers", "!=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "reinit_regs", "(", ")", ";", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", "||", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "const", "char", "*", "isa", ";", "if", "(", "TARGET_SSE", ")", "isa", "=", "\"SSE\"", ";", "else", "if", "(", "TARGET_MMX", ")", "isa", "=", "\"MMX/3Dnow\"", ";", "else", "if", "(", "TARGET_80387", ")", "isa", "=", "\"80387\"", ";", "else", "isa", "=", "NULL", ";", "if", "(", "isa", "!=", "NULL", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "sorry", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "?", "G_", "(", "\"%s instructions aren%'t allowed in an\"", "\" exception service routine\"", ")", ":", "G_", "(", "\"%s instructions aren%'t allowed in an\"", "\" interrupt service routine\"", ")", ",", "isa", ")", ";", "else", "sorry", "(", "\"%s instructions aren%'t allowed in a function with \"", "\"the % attribute\"", ",", "isa", ")", ";", "cfun", "->", "machine", "->", "func_type", "=", "TYPE_NORMAL", ";", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "false", ";", "}", "}", "prev_no_caller_saved_registers", "=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ";", "}", ""], "natrual_language": ["Establish", "appropriate", "back-end", "context", "for", "processing", "the", "function", "FNDECL", ".", "The", "argument", "might", "be", "NULL", "to", "indicate", "processing", "at", "top", "level", ",", "outside", "of", "any", "function", "scope", "."], "TS_V_token": ["i386", "\"SSE\"", "\"MMX/3Dnow\"", "\"80387\"", "\"%s instructions aren%'t allowed in an\"", "\" exception service routine\"", "\"%s instructions aren%'t allowed in an\"", "\" interrupt service routine\"", "\"%s instructions aren%'t allowed in a function with \"", "\"the % attribute\""], "File": "i386-options", "Func": "ix86_set_current_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37903, "Length": 456}
{"ground_truth": ["", "static", "void", "ix86_set_func_type", "(", "tree", "fndecl", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_UNKNOWN", ")", "{", "if", "(", "lookup_attribute", "(", "\"interrupt\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "fndecl", ")", ")", ")", ")", "{", "if", "(", "ix86_function_naked", "(", "fndecl", ")", ")", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "fndecl", ")", ",", "\"interrupt and naked attributes are not compatible\"", ")", ";", "int", "nargs", "=", "0", ";", "for", "(", "tree", "arg", "=", "DECL_ARGUMENTS", "(", "fndecl", ")", ";", "arg", ";", "arg", "=", "TREE_CHAIN", "(", "arg", ")", ")", "nargs", "++", ";", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "true", ";", "cfun", "->", "machine", "->", "func_type", "=", "nargs", "==", "2", "?", "TYPE_EXCEPTION", ":", "TYPE_INTERRUPT", ";", "ix86_optimize_mode_switching", "[", "X86_DIRFLAG", "]", "=", "1", ";", "if", "(", "write_symbols", "!=", "NO_DEBUG", "&&", "write_symbols", "!=", "DWARF2_DEBUG", ")", "sorry", "(", "\"only DWARF debug format is supported for interrupt \"", "\"service routine\"", ")", ";", "}", "else", "{", "cfun", "->", "machine", "->", "func_type", "=", "TYPE_NORMAL", ";", "if", "(", "lookup_attribute", "(", "\"no_caller_saved_registers\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "fndecl", ")", ")", ")", ")", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "true", ";", "}", "}", "}", ""], "natrual_language": ["Set", "the", "func_type", "field", "from", "the", "function", "FNDECL", "."], "TS_V_token": ["i386", "\"interrupt\"", "\"interrupt and naked attributes are not compatible\"", "0", "2", "1", "\"only DWARF debug format is supported for interrupt \"", "\"service routine\"", "\"no_caller_saved_registers\""], "File": "i386-options", "Func": "ix86_set_func_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37904, "Length": 161}
{"ground_truth": ["", "void", "ix86_simd_clone_adjust", "(", "struct", "cgraph_node", "*", "node", ")", "{", "const", "char", "*", "str", "=", "NULL", ";", "if", "(", "!", "node", "->", "definition", ")", "return", ";", "gcc_assert", "(", "node", "->", "decl", "==", "cfun", "->", "decl", ")", ";", "switch", "(", "node", "->", "simdclone", "->", "vecsize_mangle", ")", "{", "case", "'b'", ":", "if", "(", "!", "TARGET_SSE2", ")", "str", "=", "\"sse2\"", ";", "break", ";", "case", "'c'", ":", "if", "(", "TARGET_PREFER_AVX128", ")", "{", "if", "(", "!", "TARGET_AVX", ")", "str", "=", "\"avx,prefer-vector-width=256\"", ";", "else", "str", "=", "\"prefer-vector-width=256\"", ";", "}", "else", "if", "(", "!", "TARGET_AVX", ")", "str", "=", "\"avx\"", ";", "break", ";", "case", "'d'", ":", "if", "(", "TARGET_PREFER_AVX128", ")", "{", "if", "(", "!", "TARGET_AVX2", ")", "str", "=", "\"avx2,prefer-vector-width=256\"", ";", "else", "str", "=", "\"prefer-vector-width=256\"", ";", "}", "else", "if", "(", "!", "TARGET_AVX2", ")", "str", "=", "\"avx2\"", ";", "break", ";", "case", "'e'", ":", "if", "(", "TARGET_PREFER_AVX256", ")", "{", "if", "(", "!", "TARGET_AVX512F", ")", "str", "=", "\"avx512f,prefer-vector-width=512\"", ";", "else", "str", "=", "\"prefer-vector-width=512\"", ";", "}", "else", "if", "(", "!", "TARGET_AVX512F", ")", "str", "=", "\"avx512f\"", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "str", "==", "NULL", ")", "return", ";", "push_cfun", "(", "NULL", ")", ";", "tree", "args", "=", "build_tree_list", "(", "NULL_TREE", ",", "build_string", "(", "strlen", "(", "str", ")", ",", "str", ")", ")", ";", "bool", "ok", "=", "ix86_valid_target_attribute_p", "(", "node", "->", "decl", ",", "NULL", ",", "args", ",", "0", ")", ";", "gcc_assert", "(", "ok", ")", ";", "pop_cfun", "(", ")", ";", "ix86_reset_previous_fndecl", "(", ")", ";", "ix86_set_current_function", "(", "node", "->", "decl", ")", ";", "}", ""], "natrual_language": ["Add", "target", "attribute", "to", "SIMD", "clone", "NODE", "if", "needed", "."], "TS_V_token": ["i386", "\"sse2\"", "\"avx,prefer-vector-width=256\"", "\"prefer-vector-width=256\"", "\"avx\"", "\"avx2,prefer-vector-width=256\"", "\"prefer-vector-width=256\"", "\"avx2\"", "\"avx512f,prefer-vector-width=512\"", "\"prefer-vector-width=512\"", "\"avx512f\"", "0"], "File": "i386-options", "Func": "ix86_simd_clone_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37905, "Length": 239}
{"ground_truth": ["", "bool", "ix86_valid_target_attribute_p", "(", "tree", "fndecl", ",", "tree", "ARG_UNUSED", "(", "name", ")", ",", "tree", "args", ",", "int", "flags", ")", "{", "struct", "gcc_options", "func_options", ",", "func_options_set", ";", "tree", "new_target", ",", "new_optimize", ";", "bool", "ret", "=", "true", ";", "if", "(", "TREE_VALUE", "(", "args", ")", "&&", "TREE_CODE", "(", "TREE_VALUE", "(", "args", ")", ")", "==", "STRING_CST", "&&", "TREE_CHAIN", "(", "args", ")", "==", "NULL_TREE", "&&", "strcmp", "(", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "args", ")", ")", ",", "\"default\"", ")", "==", "0", ")", "return", "true", ";", "if", "(", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "==", "target_attribute_cache", "[", "1", "]", "||", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "==", "NULL_TREE", ")", "&&", "(", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", "==", "target_attribute_cache", "[", "2", "]", "||", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", "==", "NULL_TREE", ")", "&&", "simple_cst_list_equal", "(", "args", ",", "target_attribute_cache", "[", "0", "]", ")", ")", "{", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "=", "target_attribute_cache", "[", "1", "]", ";", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", "=", "target_attribute_cache", "[", "2", "]", ";", "return", "true", ";", "}", "tree", "old_optimize", "=", "build_optimization_node", "(", "&", "global_options", ",", "&", "global_options_set", ")", ";", "tree", "func_optimize", "=", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", ";", "if", "(", "!", "func_optimize", ")", "func_optimize", "=", "old_optimize", ";", "memset", "(", "&", "func_options", ",", "0", ",", "sizeof", "(", "func_options", ")", ")", ";", "init_options_struct", "(", "&", "func_options", ",", "NULL", ")", ";", "lang_hooks", ".", "init_options_struct", "(", "&", "func_options", ")", ";", "memset", "(", "&", "func_options_set", ",", "0", ",", "sizeof", "(", "func_options_set", ")", ")", ";", "cl_optimization_restore", "(", "&", "func_options", ",", "&", "func_options_set", ",", "TREE_OPTIMIZATION", "(", "func_optimize", ")", ")", ";", "tree", "old_target", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", ";", "if", "(", "old_target", "==", "NULL_TREE", ")", "old_target", "=", "target_option_default_node", ";", "cl_target_option_restore", "(", "&", "func_options", ",", "&", "func_options_set", ",", "TREE_TARGET_OPTION", "(", "old_target", ")", ")", ";", "new_target", "=", "ix86_valid_target_attribute_tree", "(", "fndecl", ",", "args", ",", "&", "func_options", ",", "&", "func_options_set", ",", "flags", "==", "1", ")", ";", "new_optimize", "=", "build_optimization_node", "(", "&", "func_options", ",", "&", "func_options_set", ")", ";", "if", "(", "new_target", "==", "error_mark_node", ")", "ret", "=", "false", ";", "else", "if", "(", "new_target", ")", "{", "if", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "==", "NULL_TREE", "&&", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", "==", "NULL_TREE", ")", "{", "target_attribute_cache", "[", "0", "]", "=", "copy_list", "(", "args", ")", ";", "target_attribute_cache", "[", "1", "]", "=", "new_target", ";", "target_attribute_cache", "[", "2", "]", "=", "old_optimize", "!=", "new_optimize", "?", "new_optimize", ":", "NULL_TREE", ";", "}", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "=", "new_target", ";", "if", "(", "old_optimize", "!=", "new_optimize", ")", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", "=", "new_optimize", ";", "}", "return", "ret", ";", "}", ""], "natrual_language": ["Hook", "to", "validate", "attribute", "(", "(", "target", "(", "``", "string", "''", ")", ")", ")", "."], "TS_V_token": ["i386", "\"default\"", "0", "1", "2", "0", "1", "2", "0", "0", "1", "0", "1", "2"], "File": "i386-options", "Func": "ix86_valid_target_attribute_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37906, "Length": 388}
{"ground_truth": ["", "tree", "ix86_valid_target_attribute_tree", "(", "tree", "fndecl", ",", "tree", "args", ",", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", "opts_set", ",", "bool", "target_clone_attr", ")", "{", "const", "char", "*", "orig_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "const", "char", "*", "orig_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "enum", "fpmath_unit", "orig_fpmath_set", "=", "opts_set", "->", "x_ix86_fpmath", ";", "enum", "prefer_vector_width", "orig_pvw_set", "=", "opts_set", "->", "x_prefer_vector_width_type", ";", "enum", "prefer_vector_width", "orig_ix86_move_max_set", "=", "opts_set", "->", "x_ix86_move_max", ";", "enum", "prefer_vector_width", "orig_ix86_store_max_set", "=", "opts_set", "->", "x_ix86_store_max", ";", "int", "orig_tune_defaulted", "=", "ix86_tune_defaulted", ";", "int", "orig_arch_specified", "=", "ix86_arch_specified", ";", "char", "*", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_MAX", "]", "=", "{", "NULL", ",", "NULL", "}", ";", "tree", "t", "=", "NULL_TREE", ";", "struct", "cl_target_option", "*", "def", "=", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ";", "struct", "gcc_options", "enum_opts_set", ";", "memset", "(", "&", "enum_opts_set", ",", "0", ",", "sizeof", "(", "enum_opts_set", ")", ")", ";", "if", "(", "!", "ix86_valid_target_attribute_inner_p", "(", "fndecl", ",", "args", ",", "option_strings", ",", "opts", ",", "opts_set", ",", "&", "enum_opts_set", ",", "target_clone_attr", ")", ")", "return", "error_mark_node", ";", "if", "(", "opts", "->", "x_ix86_isa_flags", "!=", "def", "->", "x_ix86_isa_flags", "||", "opts", "->", "x_ix86_isa_flags2", "!=", "def", "->", "x_ix86_isa_flags2", "||", "opts", "->", "x_target_flags", "!=", "def", "->", "x_target_flags", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", "||", "enum_opts_set", ".", "x_ix86_fpmath", "||", "enum_opts_set", ".", "x_prefer_vector_width_type", ")", "{", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", "opts", "->", "x_ix86_arch_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", ";", "else", "if", "(", "!", "orig_arch_specified", ")", "opts", "->", "x_ix86_arch_string", "=", "NULL", ";", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", "opts", "->", "x_ix86_tune_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", ";", "else", "if", "(", "orig_tune_defaulted", ")", "opts", "->", "x_ix86_tune_string", "=", "NULL", ";", "if", "(", "enum_opts_set", ".", "x_ix86_fpmath", ")", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "if", "(", "enum_opts_set", ".", "x_prefer_vector_width_type", ")", "opts_set", "->", "x_prefer_vector_width_type", "=", "(", "enum", "prefer_vector_width", ")", "1", ";", "bool", "r", "=", "ix86_option_override_internal", "(", "false", ",", "opts", ",", "opts_set", ")", ";", "if", "(", "!", "r", ")", "{", "release_options_strings", "(", "option_strings", ")", ";", "return", "error_mark_node", ";", "}", "ix86_add_new_builtins", "(", "opts", "->", "x_ix86_isa_flags", ",", "opts", "->", "x_ix86_isa_flags2", ")", ";", "enum", "excess_precision", "orig_ix86_excess_precision", "=", "opts", "->", "x_ix86_excess_precision", ";", "bool", "orig_ix86_unsafe_math_optimizations", "=", "opts", "->", "x_ix86_unsafe_math_optimizations", ";", "opts", "->", "x_ix86_excess_precision", "=", "opts", "->", "x_flag_excess_precision", ";", "opts", "->", "x_ix86_unsafe_math_optimizations", "=", "opts", "->", "x_flag_unsafe_math_optimizations", ";", "t", "=", "build_target_option_node", "(", "opts", ",", "opts_set", ")", ";", "opts", "->", "x_ix86_arch_string", "=", "orig_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "orig_tune_string", ";", "opts_set", "->", "x_ix86_fpmath", "=", "orig_fpmath_set", ";", "opts_set", "->", "x_prefer_vector_width_type", "=", "orig_pvw_set", ";", "opts_set", "->", "x_ix86_move_max", "=", "orig_ix86_move_max_set", ";", "opts_set", "->", "x_ix86_store_max", "=", "orig_ix86_store_max_set", ";", "opts", "->", "x_ix86_excess_precision", "=", "orig_ix86_excess_precision", ";", "opts", "->", "x_ix86_unsafe_math_optimizations", "=", "orig_ix86_unsafe_math_optimizations", ";", "release_options_strings", "(", "option_strings", ")", ";", "}", "return", "t", ";", "}", ""], "natrual_language": ["Return", "a", "TARGET_OPTION_NODE", "tree", "of", "the", "target", "options", "listed", "or", "NULL", "."], "TS_V_token": ["i386", "0", "1", "1"], "File": "i386-options", "Func": "ix86_valid_target_attribute_tree", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37907, "Length": 426}
{"ground_truth": ["", "static", "void", "parse_mtune_ctrl_str", "(", "struct", "gcc_options", "*", "opts", ",", "bool", "dump", ")", "{", "if", "(", "!", "opts", "->", "x_ix86_tune_ctrl_string", ")", "return", ";", "char", "*", "next_feature_string", "=", "NULL", ";", "char", "*", "curr_feature_string", "=", "xstrdup", "(", "opts", "->", "x_ix86_tune_ctrl_string", ")", ";", "char", "*", "orig", "=", "curr_feature_string", ";", "int", "i", ";", "do", "{", "bool", "clear", "=", "false", ";", "next_feature_string", "=", "strchr", "(", "curr_feature_string", ",", "','", ")", ";", "if", "(", "next_feature_string", ")", "*", "next_feature_string", "++", "=", "'\\0'", ";", "if", "(", "*", "curr_feature_string", "==", "'^'", ")", "{", "curr_feature_string", "++", ";", "clear", "=", "true", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "i", "++", ")", "{", "if", "(", "!", "strcmp", "(", "curr_feature_string", ",", "ix86_tune_feature_names", "[", "i", "]", ")", ")", "{", "ix86_tune_features", "[", "i", "]", "=", "!", "clear", ";", "if", "(", "dump", ")", "fprintf", "(", "stderr", ",", "\"Explicitly %s feature %s\\n\"", ",", "clear", "?", "\"clear\"", ":", "\"set\"", ",", "ix86_tune_feature_names", "[", "i", "]", ")", ";", "break", ";", "}", "}", "if", "(", "i", "==", "X86_TUNE_LAST", ")", "error", "(", "\"unknown parameter to option %<-mtune-ctrl%>: %s\"", ",", "clear", "?", "curr_feature_string", "-", "1", ":", "curr_feature_string", ")", ";", "curr_feature_string", "=", "next_feature_string", ";", "}", "while", "(", "curr_feature_string", ")", ";", "free", "(", "orig", ")", ";", "}", ""], "natrual_language": ["parse", "-mtune-ctrl=", "option", ".", "When", "DUMP", "is", "true", ",", "print", "the", "features", "that", "are", "explicitly", "set", "."], "TS_V_token": ["i386", "0", "\"Explicitly %s feature %s\\n\"", "\"clear\"", "\"set\"", "\"unknown parameter to option %<-mtune-ctrl%>: %s\"", "1"], "File": "i386-options", "Func": "parse_mtune_ctrl_str", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37908, "Length": 187}
{"ground_truth": ["", "static", "void", "release_options_strings", "(", "char", "*", "*", "option_strings", ")", "{", "for", "(", "unsigned", "i", "=", "0", ";", "i", "<", "IX86_FUNCTION_SPECIFIC_MAX", ";", "i", "++", ")", "free", "(", "option_strings", "[", "i", "]", ")", ";", "}", ""], "natrual_language": ["Release", "allocated", "strings", "."], "TS_V_token": ["i386", "0"], "File": "i386-options", "Func": "release_options_strings", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37909, "Length": 33}
{"ground_truth": ["", "static", "void", "set_ix86_tune_features", "(", "struct", "gcc_options", "*", "opts", ",", "enum", "processor_type", "ix86_tune", ",", "bool", "dump", ")", "{", "unsigned", "HOST_WIDE_INT", "ix86_tune_mask", "=", "HOST_WIDE_INT_1U", "<<", "ix86_tune", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "++", "i", ")", "{", "if", "(", "ix86_tune_no_default", ")", "ix86_tune_features", "[", "i", "]", "=", "0", ";", "else", "ix86_tune_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_tune_features", "[", "i", "]", "&", "ix86_tune_mask", ")", ";", "}", "if", "(", "dump", ")", "{", "fprintf", "(", "stderr", ",", "\"List of x86 specific tuning parameter names:\\n\"", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "i", "++", ")", "fprintf", "(", "stderr", ",", "\"%s : %s\\n\"", ",", "ix86_tune_feature_names", "[", "i", "]", ",", "ix86_tune_features", "[", "i", "]", "?", "\"on\"", ":", "\"off\"", ")", ";", "}", "parse_mtune_ctrl_str", "(", "opts", ",", "dump", ")", ";", "}", ""], "natrual_language": ["Helper", "function", "to", "set", "ix86_tune_features", ".", "IX86_TUNE", "is", "the", "processor", "type", "."], "TS_V_token": ["i386", "0", "0", "\"List of x86 specific tuning parameter names:\\n\"", "0", "\"%s : %s\\n\"", "\"on\"", "\"off\""], "File": "i386-options", "Func": "set_ix86_tune_features", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37910, "Length": 126}
{"ground_truth": ["", "rtx", "assign_386_stack_local", "(", "machine_mode", "mode", ",", "enum", "ix86_stack_slot", "n", ")", "{", "struct", "stack_local_entry", "*", "s", ";", "gcc_assert", "(", "n", "<", "MAX_386_STACK_LOCALS", ")", ";", "for", "(", "s", "=", "ix86_stack_locals", ";", "s", ";", "s", "=", "s", "->", "next", ")", "if", "(", "s", "->", "mode", "==", "mode", "&&", "s", "->", "n", "==", "n", ")", "return", "validize_mem", "(", "copy_rtx", "(", "s", "->", "rtl", ")", ")", ";", "int", "align", "=", "0", ";", "if", "(", "mode", "==", "DImode", "&&", "!", "TARGET_64BIT", "&&", "n", "==", "SLOT_FLOATxFDI_387", "&&", "ix86_preferred_stack_boundary", "<", "GET_MODE_ALIGNMENT", "(", "DImode", ")", ")", "align", "=", "32", ";", "s", "=", "ggc_alloc", "<", "stack_local_entry", ">", "(", ")", ";", "s", "->", "n", "=", "n", ";", "s", "->", "mode", "=", "mode", ";", "s", "->", "rtl", "=", "assign_stack_local", "(", "mode", ",", "GET_MODE_SIZE", "(", "mode", ")", ",", "align", ")", ";", "s", "->", "next", "=", "ix86_stack_locals", ";", "ix86_stack_locals", "=", "s", ";", "return", "validize_mem", "(", "copy_rtx", "(", "s", "->", "rtl", ")", ")", ";", "}", ""], "natrual_language": ["Return", "a", "MEM", "corresponding", "to", "a", "stack", "slot", "with", "mode", "MODE", ".", "Allocate", "a", "new", "slot", "if", "necessary", ".", "The", "RTL", "for", "a", "function", "can", "have", "several", "slots", "available", ":", "N", "is", "which", "slot", "to", "use", "."], "TS_V_token": ["i386", "0", "32"], "File": "i3861", "Func": "assign_386_stack_local", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37911, "Length": 150}
{"ground_truth": ["", "static", "rtx", "function_arg_32", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "machine_mode", "mode", ",", "machine_mode", "orig_mode", ",", "const_tree", "type", ",", "HOST_WIDE_INT", "bytes", ",", "HOST_WIDE_INT", "words", ")", "{", "bool", "error_p", "=", "false", ";", "if", "(", "mode", "==", "VOIDmode", ")", "return", "constm1_rtx", ";", "if", "(", "TARGET_IAMCU", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", "&&", "bytes", "<=", "8", ")", "goto", "pass_in_reg", ";", "return", "NULL_RTX", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "break", ";", "case", "E_BLKmode", ":", "if", "(", "bytes", "<", "0", ")", "break", ";", "case", "E_DImode", ":", "case", "E_SImode", ":", "case", "E_HImode", ":", "case", "E_QImode", ":", "pass_in_reg", ":", "if", "(", "words", "<=", "cum", "->", "nregs", ")", "{", "int", "regno", "=", "cum", "->", "regno", ";", "if", "(", "cum", "->", "fastcall", ")", "{", "if", "(", "mode", "==", "BLKmode", "||", "mode", "==", "DImode", "||", "(", "type", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", ")", ")", "break", ";", "if", "(", "regno", "==", "AX_REG", ")", "regno", "=", "CX_REG", ";", "}", "return", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "}", "break", ";", "case", "E_DFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "true", ";", "if", "(", "cum", "->", "float_in_sse", "<", "2", ")", "break", ";", "case", "E_SFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "true", ";", "if", "(", "cum", "->", "float_in_sse", "<", "1", ")", "break", ";", "case", "E_TImode", ":", "case", "E_V16QImode", ":", "case", "E_V8HImode", ":", "case", "E_V4SImode", ":", "case", "E_V2DImode", ":", "case", "E_V8HFmode", ":", "case", "E_V8BFmode", ":", "case", "E_V4SFmode", ":", "case", "E_V2DFmode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "sse_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "sse_regno", "+", "FIRST_SSE_REG", ")", ";", "}", "break", ";", "case", "E_OImode", ":", "case", "E_XImode", ":", "gcc_unreachable", "(", ")", ";", "case", "E_V64QImode", ":", "case", "E_V32HImode", ":", "case", "E_V16SImode", ":", "case", "E_V8DImode", ":", "case", "E_V32HFmode", ":", "case", "E_V32BFmode", ":", "case", "E_V16SFmode", ":", "case", "E_V8DFmode", ":", "case", "E_V16HFmode", ":", "case", "E_V16BFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V32QImode", ":", "case", "E_V16HImode", ":", "case", "E_V4DFmode", ":", "case", "E_V4DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "sse_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "sse_regno", "+", "FIRST_SSE_REG", ")", ";", "}", "break", ";", "case", "E_V8QImode", ":", "case", "E_V4HImode", ":", "case", "E_V4HFmode", ":", "case", "E_V4BFmode", ":", "case", "E_V2SImode", ":", "case", "E_V2SFmode", ":", "case", "E_V1TImode", ":", "case", "E_V1DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "mmx_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "mmx_regno", "+", "FIRST_MMX_REG", ")", ";", "}", "break", ";", "}", "if", "(", "error_p", ")", "{", "cum", "->", "float_in_sse", "=", "0", ";", "error", "(", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", ",", "cum", "->", "decl", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "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": ["i386", "8", "0", "1", "2", "1", "1", "0", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\""], "File": "i3861", "Func": "function_arg_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37912, "Length": 461}
{"ground_truth": ["", "static", "int", "function_arg_advance_32", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "HOST_WIDE_INT", "bytes", ",", "HOST_WIDE_INT", "words", ")", "{", "int", "res", "=", "0", ";", "bool", "error_p", "=", "false", ";", "if", "(", "TARGET_IAMCU", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", "&&", "bytes", "<=", "8", ")", "goto", "pass_in_reg", ";", "return", "res", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "break", ";", "case", "E_BLKmode", ":", "if", "(", "bytes", "<", "0", ")", "break", ";", "case", "E_DImode", ":", "case", "E_SImode", ":", "case", "E_HImode", ":", "case", "E_QImode", ":", "pass_in_reg", ":", "cum", "->", "words", "+=", "words", ";", "cum", "->", "nregs", "-=", "words", ";", "cum", "->", "regno", "+=", "words", ";", "if", "(", "cum", "->", "nregs", ">=", "0", ")", "res", "=", "words", ";", "if", "(", "cum", "->", "nregs", "<=", "0", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cfun", "->", "machine", "->", "arg_reg_available", "=", "false", ";", "cum", "->", "regno", "=", "0", ";", "}", "break", ";", "case", "E_OImode", ":", "gcc_unreachable", "(", ")", ";", "case", "E_DFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "true", ";", "if", "(", "cum", "->", "float_in_sse", "<", "2", ")", "break", ";", "case", "E_SFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "true", ";", "if", "(", "cum", "->", "float_in_sse", "<", "1", ")", "break", ";", "case", "E_V16HFmode", ":", "case", "E_V16BFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V64QImode", ":", "case", "E_V32HImode", ":", "case", "E_V16SImode", ":", "case", "E_V8DImode", ":", "case", "E_V32HFmode", ":", "case", "E_V32BFmode", ":", "case", "E_V16SFmode", ":", "case", "E_V8DFmode", ":", "case", "E_V32QImode", ":", "case", "E_V16HImode", ":", "case", "E_V4DFmode", ":", "case", "E_V4DImode", ":", "case", "E_TImode", ":", "case", "E_V16QImode", ":", "case", "E_V8HImode", ":", "case", "E_V4SImode", ":", "case", "E_V2DImode", ":", "case", "E_V8HFmode", ":", "case", "E_V8BFmode", ":", "case", "E_V4SFmode", ":", "case", "E_V2DFmode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "cum", "->", "sse_words", "+=", "words", ";", "cum", "->", "sse_nregs", "-=", "1", ";", "cum", "->", "sse_regno", "+=", "1", ";", "if", "(", "cum", "->", "sse_nregs", "<=", "0", ")", "{", "cum", "->", "sse_nregs", "=", "0", ";", "cum", "->", "sse_regno", "=", "0", ";", "}", "}", "break", ";", "case", "E_V8QImode", ":", "case", "E_V4HImode", ":", "case", "E_V4HFmode", ":", "case", "E_V4BFmode", ":", "case", "E_V2SImode", ":", "case", "E_V2SFmode", ":", "case", "E_V1TImode", ":", "case", "E_V1DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "cum", "->", "mmx_words", "+=", "words", ";", "cum", "->", "mmx_nregs", "-=", "1", ";", "cum", "->", "mmx_regno", "+=", "1", ";", "if", "(", "cum", "->", "mmx_nregs", "<=", "0", ")", "{", "cum", "->", "mmx_nregs", "=", "0", ";", "cum", "->", "mmx_regno", "=", "0", ";", "}", "}", "break", ";", "}", "if", "(", "error_p", ")", "{", "cum", "->", "float_in_sse", "=", "0", ";", "error", "(", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", ",", "cum", "->", "decl", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "return", "res", ";", "}", ""], "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", ".", ")", "Return", "a", "number", "of", "integer", "regsiters", "advanced", "over", "."], "TS_V_token": ["i386", "0", "8", "0", "0", "0", "0", "0", "1", "2", "1", "1", "1", "1", "0", "0", "0", "1", "1", "0", "0", "0", "0", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\""], "File": "i3861", "Func": "function_arg_advance_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37913, "Length": 452}
{"ground_truth": ["", "static", "rtx", "function_value_32", "(", "machine_mode", "orig_mode", ",", "machine_mode", "mode", ",", "const_tree", "fntype", ",", "const_tree", "fn", ")", "{", "unsigned", "int", "regno", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "8", ")", "regno", "=", "FIRST_MMX_REG", ";", "else", "if", "(", "mode", "==", "TImode", "||", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", ")", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_FLOAT_RETURNS_IN_80387", ")", "regno", "=", "FIRST_FLOAT_REG", ";", "else", "regno", "=", "AX_REG", ";", "if", "(", "mode", "==", "HFmode", "||", "mode", "==", "BFmode", ")", "regno", "=", "FIRST_SSE_REG", ";", "if", "(", "mode", "==", "HCmode", ")", "{", "rtx", "ret", "=", "gen_rtx_PARALLEL", "(", "mode", ",", "rtvec_alloc", "(", "1", ")", ")", ";", "XVECEXP", "(", "ret", ",", "0", ",", "0", ")", "=", "gen_rtx_EXPR_LIST", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "SImode", ",", "FIRST_SSE_REG", ")", ",", "GEN_INT", "(", "0", ")", ")", ";", "return", "ret", ";", "}", "if", "(", "(", "fn", "||", "fntype", ")", "&&", "(", "mode", "==", "SFmode", "||", "mode", "==", "DFmode", ")", ")", "{", "int", "sse_level", "=", "ix86_function_sseregparm", "(", "fntype", ",", "fn", ",", "false", ")", ";", "if", "(", "sse_level", "==", "-", "1", ")", "{", "error", "(", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", ",", "fn", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "else", "if", "(", "(", "sse_level", ">=", "1", "&&", "mode", "==", "SFmode", ")", "||", "(", "sse_level", "==", "2", "&&", "mode", "==", "DFmode", ")", ")", "regno", "=", "FIRST_SSE_REG", ";", "}", "gcc_assert", "(", "mode", "!=", "OImode", ")", ";", "return", "gen_rtx_REG", "(", "orig_mode", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Define", "how", "to", "find", "the", "value", "returned", "by", "a", "function", ".", "VALTYPE", "is", "the", "data", "type", "of", "the", "value", "(", "as", "a", "tree", ")", ".", "If", "the", "precise", "function", "being", "called", "is", "known", ",", "FUNC", "is", "its", "FUNCTION_DECL", ";", "otherwise", ",", "FUNC", "is", "0", "."], "TS_V_token": ["i386", "8", "16", "32", "64", "1", "0", "0", "0", "1", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", "1", "2"], "File": "i3861", "Func": "function_value_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37914, "Length": 283}
{"ground_truth": ["", "void", "ix86_asm_output_function_label", "(", "FILE", "*", "asm_out_file", ",", "const", "char", "*", "fname", ",", "tree", "decl", ")", "{", "bool", "is_ms_hook", "=", "ix86_function_ms_hook_prologue", "(", "decl", ")", ";", "if", "(", "cfun", ")", "cfun", "->", "machine", "->", "function_label_emitted", "=", "true", ";", "if", "(", "is_ms_hook", ")", "{", "int", "i", ",", "filler_count", "=", "(", "TARGET_64BIT", "?", "32", ":", "16", ")", ";", "unsigned", "int", "filler_cc", "=", "0xcccccccc", ";", "for", "(", "i", "=", "0", ";", "i", "<", "filler_count", ";", "i", "+=", "4", ")", "fprintf", "(", "asm_out_file", ",", "ASM_LONG", "\" %#x\\n\"", ",", "filler_cc", ")", ";", "}", "SUBTARGET_ASM_UNWIND_INIT", "(", "asm_out_file", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "fname", ")", ";", "if", "(", "is_ms_hook", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "fputs", "(", "ASM_BYTE", "\"0x48, 0x8d, 0xa4, 0x24, 0x00, 0x00, 0x00, 0x00\\n\"", ",", "asm_out_file", ")", ";", "}", "else", "{", "fputs", "(", "ASM_BYTE", "\"0x8b, 0xff, 0x55, 0x8b, 0xec\\n\"", ",", "asm_out_file", ")", ";", "}", "}", "}", ""], "natrual_language": ["Write", "the", "extra", "assembler", "code", "needed", "to", "declare", "a", "function", "properly", "."], "TS_V_token": ["i386", "32", "16", "0xcccccccc", "0", "4", "\" %#x\\n\"", "\"0x48, 0x8d, 0xa4, 0x24, 0x00, 0x00, 0x00, 0x00\\n\"", "\"0x8b, 0xff, 0x55, 0x8b, 0xec\\n\""], "File": "i3861", "Func": "ix86_asm_output_function_label", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37915, "Length": 129}
{"ground_truth": ["", "int", "ix86_attr_length_vex_default", "(", "rtx_insn", "*", "insn", ",", "bool", "has_0f_opcode", ",", "bool", "has_vex_w", ")", "{", "int", "i", ",", "reg_only", "=", "2", "+", "1", ";", "bool", "has_mem", "=", "false", ";", "if", "(", "!", "has_0f_opcode", "||", "has_vex_w", ")", "return", "3", "+", "1", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", "2", "+", "1", ";", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "REG_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "if", "(", "GET_MODE", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "==", "DImode", "&&", "GENERAL_REG_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "return", "3", "+", "1", ";", "if", "(", "REX_INT_REGNO_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "||", "REX_SSE_REGNO_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "reg_only", "=", "3", "+", "1", ";", "}", "else", "if", "(", "MEM_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "if", "(", "x86_extended_reg_mentioned_p", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "return", "3", "+", "1", ";", "has_mem", "=", "true", ";", "}", "return", "has_mem", "?", "2", "+", "1", ":", "reg_only", ";", "}", ""], "natrual_language": ["Compute", "default", "value", "for", "``", "length_vex", "''", "attribute", ".", "It", "includes", "2", "or", "3", "byte", "VEX", "prefix", "and", "1", "opcode", "byte", "."], "TS_V_token": ["i386", "2", "1", "3", "1", "2", "1", "1", "0", "3", "1", "3", "1", "3", "1", "2", "1"], "File": "i3861", "Func": "ix86_attr_length_vex_default", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37916, "Length": 189}
{"ground_truth": ["", "bool", "ix86_avoid_lea_for_addr", "(", "rtx_insn", "*", "insn", ",", "rtx", "operands", "[", "]", ")", "{", "unsigned", "int", "regno0", ",", "regno1", ",", "regno2", ";", "int", "split_cost", ";", "struct", "ix86_address", "parts", ";", "int", "ok", ";", "if", "(", "REG_P", "(", "operands", "[", "1", "]", ")", "||", "(", "SImode_address_operand", "(", "operands", "[", "1", "]", ",", "VOIDmode", ")", "&&", "REG_P", "(", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ")", ")", ")", "return", "false", ";", "ok", "=", "ix86_decompose_address", "(", "operands", "[", "1", "]", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "(", "parts", ".", "base", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "index", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "disp", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "scale", ">", "1", ")", "<", "2", ")", "return", "false", ";", "if", "(", "parts", ".", "disp", "&&", "flag_pic", "&&", "!", "LEGITIMATE_PIC_OPERAND_P", "(", "parts", ".", "disp", ")", ")", "return", "false", ";", "regno0", "=", "true_regnum", "(", "operands", "[", "0", "]", ")", ";", "regno1", "=", "INVALID_REGNUM", ";", "regno2", "=", "INVALID_REGNUM", ";", "if", "(", "parts", ".", "base", ")", "regno1", "=", "true_regnum", "(", "parts", ".", "base", ")", ";", "if", "(", "parts", ".", "index", ")", "regno2", "=", "true_regnum", "(", "parts", ".", "index", ")", ";", "if", "(", "!", "TARGET_BONNELL", "&&", "parts", ".", "scale", "==", "1", "&&", "(", "!", "parts", ".", "disp", "||", "parts", ".", "disp", "==", "const0_rtx", ")", "&&", "(", "regno0", "==", "regno1", "||", "regno0", "==", "regno2", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_AVOID_LEA_FOR_ADDR", "||", "optimize_function_for_size_p", "(", "cfun", ")", ")", "return", "false", ";", "split_cost", "=", "0", ";", "if", "(", "parts", ".", "base", "||", "parts", ".", "index", ")", "{", "if", "(", "regno1", "!=", "regno0", "&&", "regno2", "!=", "regno0", ")", "split_cost", "+=", "1", ";", "if", "(", "parts", ".", "base", "&&", "parts", ".", "index", ")", "split_cost", "+=", "1", ";", "if", "(", "parts", ".", "scale", ">", "1", ")", "{", "if", "(", "regno0", "!=", "regno1", ")", "split_cost", "+=", "1", ";", "else", "if", "(", "regno2", "==", "regno0", ")", "split_cost", "+=", "4", ";", "else", "split_cost", "+=", "parts", ".", "scale", ";", "}", "if", "(", "parts", ".", "disp", "&&", "parts", ".", "disp", "!=", "const0_rtx", ")", "split_cost", "+=", "1", ";", "split_cost", "-=", "1", ";", "}", "return", "!", "ix86_lea_outperforms", "(", "insn", ",", "regno0", ",", "regno1", ",", "regno2", ",", "split_cost", ",", "parts", ".", "scale", ">", "1", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "need", "to", "split", "lea", "into", "a", "sequence", "of", "instructions", "to", "avoid", "AGU", "stalls", "during", "peephole2", "."], "TS_V_token": ["i386", "1", "1", "1", "0", "1", "1", "2", "0", "1", "0", "1", "1", "1", "1", "4", "1", "1", "1"], "File": "i3861", "Func": "ix86_avoid_lea_for_addr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37917, "Length": 367}
{"ground_truth": ["", "rtx", "ix86_build_const_vector", "(", "machine_mode", "mode", ",", "bool", "vect", ",", "rtx", "value", ")", "{", "int", "i", ",", "n_elt", ";", "rtvec", "v", ";", "machine_mode", "scalar_mode", ";", "switch", "(", "mode", ")", "{", "case", "E_V64QImode", ":", "case", "E_V32QImode", ":", "case", "E_V16QImode", ":", "case", "E_V32HImode", ":", "case", "E_V16HImode", ":", "case", "E_V8HImode", ":", "case", "E_V16SImode", ":", "case", "E_V8SImode", ":", "case", "E_V4SImode", ":", "case", "E_V8DImode", ":", "case", "E_V4DImode", ":", "case", "E_V2DImode", ":", "gcc_assert", "(", "vect", ")", ";", "case", "E_V16SFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V4SFmode", ":", "case", "E_V2SFmode", ":", "case", "E_V8DFmode", ":", "case", "E_V4DFmode", ":", "case", "E_V2DFmode", ":", "n_elt", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "v", "=", "rtvec_alloc", "(", "n_elt", ")", ";", "scalar_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "RTVEC_ELT", "(", "v", ",", "0", ")", "=", "value", ";", "for", "(", "i", "=", "1", ";", "i", "<", "n_elt", ";", "++", "i", ")", "RTVEC_ELT", "(", "v", ",", "i", ")", "=", "vect", "?", "value", ":", "CONST0_RTX", "(", "scalar_mode", ")", ";", "return", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "v", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_build_signbit_mask", ".", "If", "VECT", "is", "true", ",", "then", "replicate", "the", "value", "for", "all", "elements", "of", "the", "vector", "register", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3861", "Func": "ix86_build_const_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37918, "Length": 166}
{"ground_truth": ["", "rtx", "ix86_build_signbit_mask", "(", "machine_mode", "mode", ",", "bool", "vect", ",", "bool", "invert", ")", "{", "machine_mode", "vec_mode", ",", "imode", ";", "wide_int", "w", ";", "rtx", "mask", ",", "v", ";", "switch", "(", "mode", ")", "{", "case", "E_V16SImode", ":", "case", "E_V16SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V4SImode", ":", "case", "E_V8SFmode", ":", "case", "E_V4SFmode", ":", "case", "E_V2SFmode", ":", "vec_mode", "=", "mode", ";", "imode", "=", "SImode", ";", "break", ";", "case", "E_V8DImode", ":", "case", "E_V4DImode", ":", "case", "E_V2DImode", ":", "case", "E_V8DFmode", ":", "case", "E_V4DFmode", ":", "case", "E_V2DFmode", ":", "vec_mode", "=", "mode", ";", "imode", "=", "DImode", ";", "break", ";", "case", "E_TImode", ":", "case", "E_TFmode", ":", "vec_mode", "=", "VOIDmode", ";", "imode", "=", "TImode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "w", "=", "wi", "::", "set_bit_in_zero", "(", "GET_MODE_BITSIZE", "(", "inner_mode", ")", "-", "1", ",", "GET_MODE_BITSIZE", "(", "inner_mode", ")", ")", ";", "if", "(", "invert", ")", "w", "=", "wi", "::", "bit_not", "(", "w", ")", ";", "mask", "=", "immed_wide_int_const", "(", "w", ",", "imode", ")", ";", "mask", "=", "gen_lowpart", "(", "inner_mode", ",", "mask", ")", ";", "if", "(", "vec_mode", "==", "VOIDmode", ")", "return", "force_reg", "(", "inner_mode", ",", "mask", ")", ";", "v", "=", "ix86_build_const_vector", "(", "vec_mode", ",", "vect", ",", "mask", ")", ";", "return", "force_reg", "(", "vec_mode", ",", "v", ")", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_fp_absneg_operator", "and", "copysign", "expanders", ".", "Create", "a", "mask", "for", "the", "sign", "bit", "in", "MODE", "for", "an", "SSE", "register", ".", "If", "VECT", "is", "true", ",", "then", "replicate", "the", "mask", "for", "all", "elements", "of", "the", "vector", "register", ".", "If", "INVERT", "is", "true", ",", "then", "create", "a", "mask", "excluding", "the", "sign", "bit", "."], "TS_V_token": ["i386", "1"], "File": "i3861", "Func": "ix86_build_signbit_mask", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37919, "Length": 205}
{"ground_truth": ["", "static", "bool", "ix86_can_change_mode_class", "(", "machine_mode", "from", ",", "machine_mode", "to", ",", "reg_class_t", "regclass", ")", "{", "if", "(", "from", "==", "to", ")", "return", "true", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "regclass", ")", ")", "return", "false", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "||", "MAYBE_MMX_CLASS_P", "(", "regclass", ")", ")", "{", "int", "mov_size", "=", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "&&", "TARGET_SSE2", "?", "2", ":", "4", ";", "if", "(", "GET_MODE_SIZE", "(", "from", ")", "<", "mov_size", "||", "GET_MODE_SIZE", "(", "to", ")", "<", "mov_size", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "TARGET_CAN_CHANGE_MODE_CLASS", "."], "TS_V_token": ["i386", "2", "4"], "File": "i3861", "Func": "ix86_can_change_mode_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37920, "Length": 84}
{"ground_truth": ["", "HOST_WIDE_INT", "ix86_convert_const_vector_to_integer", "(", "rtx", "op", ",", "machine_mode", "mode", ")", "{", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "gcc_unreachable", "(", ")", ";", "int", "nunits", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "wide_int", "val", "=", "wi", "::", "zero", "(", "GET_MODE_BITSIZE", "(", "mode", ")", ")", ";", "machine_mode", "innermode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "unsigned", "int", "innermode_bits", "=", "GET_MODE_BITSIZE", "(", "innermode", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_V2QImode", ":", "case", "E_V4QImode", ":", "case", "E_V2HImode", ":", "case", "E_V8QImode", ":", "case", "E_V4HImode", ":", "case", "E_V2SImode", ":", "for", "(", "int", "i", "=", "0", ";", "i", "<", "nunits", ";", "++", "i", ")", "{", "int", "v", "=", "INTVAL", "(", "XVECEXP", "(", "op", ",", "0", ",", "i", ")", ")", ";", "wide_int", "wv", "=", "wi", "::", "shwi", "(", "v", ",", "innermode_bits", ")", ";", "val", "=", "wi", "::", "insert", "(", "val", ",", "wv", ",", "innermode_bits", "*", "i", ",", "innermode_bits", ")", ";", "}", "break", ";", "case", "E_V2HFmode", ":", "case", "E_V2BFmode", ":", "case", "E_V4HFmode", ":", "case", "E_V4BFmode", ":", "case", "E_V2SFmode", ":", "for", "(", "int", "i", "=", "0", ";", "i", "<", "nunits", ";", "++", "i", ")", "{", "rtx", "x", "=", "XVECEXP", "(", "op", ",", "0", ",", "i", ")", ";", "int", "v", "=", "real_to_target", "(", "NULL", ",", "CONST_DOUBLE_REAL_VALUE", "(", "x", ")", ",", "REAL_MODE_FORMAT", "(", "innermode", ")", ")", ";", "wide_int", "wv", "=", "wi", "::", "shwi", "(", "v", ",", "innermode_bits", ")", ";", "val", "=", "wi", "::", "insert", "(", "val", ",", "wv", ",", "innermode_bits", "*", "i", ",", "innermode_bits", ")", ";", "}", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "val", ".", "to_shwi", "(", ")", ";", "}", ""], "natrual_language": ["Return", "HOST_WIDE_INT", "for", "const", "vector", "OP", "in", "MODE", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i3861", "Func": "ix86_convert_const_vector_to_integer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37921, "Length": 253}
{"ground_truth": ["", "static", "void", "ix86_emit_support_tinfos", "(", "emit_support_tinfos_callback", "callback", ")", "{", "extern", "tree", "ix86_float16_type_node", ";", "extern", "tree", "ix86_bf16_type_node", ";", "if", "(", "!", "TARGET_SSE2", ")", "{", "gcc_checking_assert", "(", "!", "float16_type_node", "&&", "!", "bfloat16_type_node", ")", ";", "float16_type_node", "=", "ix86_float16_type_node", ";", "bfloat16_type_node", "=", "ix86_bf16_type_node", ";", "callback", "(", "float16_type_node", ")", ";", "callback", "(", "bfloat16_type_node", ")", ";", "float16_type_node", "=", "NULL_TREE", ";", "bfloat16_type_node", "=", "NULL_TREE", ";", "}", "}", ""], "natrual_language": ["Create", "C++", "tinfo", "symbols", "for", "only", "conditionally", "available", "fundamental", "types", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_emit_support_tinfos", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37922, "Length": 59}
{"ground_truth": ["", "bool", "ix86_force_load_from_GOT_p", "(", "rtx", "x", ")", "{", "return", "(", "(", "TARGET_64BIT", "||", "(", "!", "flag_pic", "&&", "HAVE_AS_IX86_GOT32X", ")", ")", "&&", "!", "TARGET_PECOFF", "&&", "!", "TARGET_MACHO", "&&", "(", "!", "flag_pic", "||", "this_is_asm_operands", ")", "&&", "ix86_cmodel", "!=", "CM_LARGE", "&&", "ix86_cmodel", "!=", "CM_LARGE_PIC", "&&", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_FUNCTION_P", "(", "x", ")", "&&", "(", "!", "flag_plt", "||", "(", "SYMBOL_REF_DECL", "(", "x", ")", "&&", "lookup_attribute", "(", "\"noplt\"", ",", "DECL_ATTRIBUTES", "(", "SYMBOL_REF_DECL", "(", "x", ")", ")", ")", ")", ")", "&&", "!", "SYMBOL_REF_LOCAL_P", "(", "x", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "function", "symbol", "operand", "X", "should", "be", "loaded", "from", "GOT", ".", "NB", ":", "In", "32-bit", "mode", ",", "only", "non-PIC", "is", "allowed", "in", "inline", "assembly", "statements", ",", "since", "a", "PIC", "register", "could", "not", "be", "available", "at", "the", "call", "site", "."], "TS_V_token": ["i386", "\"noplt\""], "File": "i3861", "Func": "ix86_force_load_from_GOT_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37923, "Length": 86}
{"ground_truth": ["", "static", "rtx", "ix86_function_arg", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "machine_mode", "mode", "=", "arg", ".", "mode", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "rtx", "reg", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "{", "gcc_assert", "(", "arg", ".", "type", "!=", "NULL_TREE", ")", ";", "if", "(", "POINTER_TYPE_P", "(", "arg", ".", "type", ")", ")", "{", "gcc_assert", "(", "TYPE_MODE", "(", "arg", ".", "type", ")", "==", "ptr_mode", ")", ";", "reg", "=", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "UNITS_PER_WORD", ")", ";", "}", "else", "{", "gcc_assert", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "&&", "TREE_CODE", "(", "arg", ".", "type", ")", "==", "INTEGER_TYPE", "&&", "TYPE_MODE", "(", "arg", ".", "type", ")", "==", "word_mode", ")", ";", "reg", "=", "gen_rtx_MEM", "(", "word_mode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "2", "*", "UNITS_PER_WORD", ")", ")", ";", "}", "return", "reg", ";", "}", "bytes", "=", "arg", ".", "promoted_size_in_bytes", "(", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "arg", ".", "type", "&&", "TREE_CODE", "(", "arg", ".", "type", ")", "==", "VECTOR_TYPE", ")", "mode", "=", "type_natural_mode", "(", "arg", ".", "type", ",", "cum", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "reg", "=", "function_arg_ms_64", "(", "cum", ",", "mode", ",", "arg", ".", "mode", ",", "arg", ".", "named", ",", "arg", ".", "type", ",", "bytes", ")", ";", "else", "reg", "=", "function_arg_64", "(", "cum", ",", "mode", ",", "arg", ".", "mode", ",", "arg", ".", "type", ",", "arg", ".", "named", ")", ";", "}", "else", "reg", "=", "function_arg_32", "(", "cum", ",", "mode", ",", "arg", ".", "mode", ",", "arg", ".", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "reg", "==", "NULL_RTX", "&&", "cum", "->", "caller", ")", "cfun", "->", "machine", "->", "outgoing_args_on_stack", "=", "true", ";", "return", "reg", ";", "}", ""], "natrual_language": ["Return", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Return", "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", ".", "It", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "gives", "information", "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": ["i386", "2"], "File": "i3861", "Func": "ix86_function_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37924, "Length": 310}
{"ground_truth": ["", "static", "bool", "ix86_function_ok_for_sibcall", "(", "tree", "decl", ",", "tree", "exp", ")", "{", "tree", "type", ",", "decl_or_type", ";", "rtx", "a", ",", "b", ";", "bool", "bind_global", "=", "decl", "&&", "!", "targetm", ".", "binds_local_p", "(", "decl", ")", ";", "if", "(", "ix86_function_naked", "(", "current_function_decl", ")", ")", "return", "false", ";", "if", "(", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "return", "false", ";", "if", "(", "!", "TARGET_MACHO", "&&", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "flag_plt", "&&", "bind_global", ")", "return", "false", ";", "if", "(", "ix86_minimum_incoming_stack_boundary", "(", "true", ")", "<", "PREFERRED_STACK_BOUNDARY", ")", "return", "false", ";", "if", "(", "decl", ")", "{", "decl_or_type", "=", "decl", ";", "type", "=", "TREE_TYPE", "(", "decl", ")", ";", "}", "else", "{", "type", "=", "CALL_EXPR_FN", "(", "exp", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "decl_or_type", "=", "type", ";", "}", "if", "(", "(", "OUTGOING_REG_PARM_STACK_SPACE", "(", "type", ")", "!=", "OUTGOING_REG_PARM_STACK_SPACE", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ")", "||", "(", "REG_PARM_STACK_SPACE", "(", "decl_or_type", ")", "!=", "REG_PARM_STACK_SPACE", "(", "current_function_decl", ")", ")", ")", "{", "maybe_complain_about_tail_call", "(", "exp", ",", "\"inconsistent size of stack space\"", "\" allocated for arguments which are\"", "\" passed in registers\"", ")", ";", "return", "false", ";", "}", "a", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "exp", ")", ",", "decl_or_type", ",", "false", ")", ";", "b", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ",", "cfun", "->", "decl", ",", "false", ")", ";", "if", "(", "STACK_REG_P", "(", "a", ")", "||", "STACK_REG_P", "(", "b", ")", ")", "{", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "}", "else", "if", "(", "VOID_TYPE_P", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ")", ")", ";", "else", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", "&&", "ix86_function_type_abi", "(", "type", ")", "==", "SYSV_ABI", ")", "return", "false", ";", "}", "else", "{", "if", "(", "!", "decl", "||", "(", "bind_global", "&&", "flag_pic", "&&", "!", "flag_plt", ")", "||", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "DECL_DLLIMPORT_P", "(", "decl", ")", ")", "||", "flag_force_indirect_call", ")", "{", "if", "(", "ix86_function_regparm", "(", "type", ",", "decl", ")", ">=", "3", "&&", "!", "cfun", "->", "machine", "->", "arg_reg_available", ")", "return", "false", ";", "}", "}", "if", "(", "decl", "&&", "ix86_use_pseudo_pic_reg", "(", ")", ")", "{", "cgraph_node", "*", "node", "=", "cgraph_node", "::", "get", "(", "decl", ")", ";", "if", "(", "node", "&&", "node", "->", "ifunc_resolver", ")", "return", "false", ";", "}", "if", "(", "(", "(", "flag_cf_protection", "&", "(", "CF_RETURN", "|", "CF_BRANCH", ")", ")", "==", "(", "CF_RETURN", "|", "CF_BRANCH", ")", ")", "&&", "lookup_attribute", "(", "\"indirect_return\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", "&&", "!", "lookup_attribute", "(", "\"indirect_return\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "cfun", "->", "decl", ")", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "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": ["i386", "\"inconsistent size of stack space\"", "\" allocated for arguments which are\"", "\" passed in registers\"", "3", "\"indirect_return\"", "\"indirect_return\""], "File": "i3861", "Func": "ix86_function_ok_for_sibcall", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37925, "Length": 427}
{"ground_truth": ["", "static", "enum", "flt_eval_method", "ix86_get_excess_precision", "(", "enum", "excess_precision_type", "type", ")", "{", "switch", "(", "type", ")", "{", "case", "EXCESS_PRECISION_TYPE_FAST", ":", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "case", "EXCESS_PRECISION_TYPE_STANDARD", ":", "case", "EXCESS_PRECISION_TYPE_IMPLICIT", ":", "if", "(", "!", "TARGET_80387", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "else", "if", "(", "!", "TARGET_MIX_SSE_I387", ")", "{", "if", "(", "!", "(", "TARGET_SSE", "&&", "TARGET_SSE_MATH", ")", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE", ";", "else", "if", "(", "TARGET_SSE2", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "}", "return", "(", "type", "==", "EXCESS_PRECISION_TYPE_STANDARD", "?", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ":", "FLT_EVAL_METHOD_UNPREDICTABLE", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "FLT_EVAL_METHOD_UNPREDICTABLE", ";", "}", ""], "natrual_language": ["Set", "the", "value", "of", "FLT_EVAL_METHOD", "in", "float.h", ".", "When", "using", "only", "the", "FPU", ",", "assume", "that", "the", "fpcw", "is", "set", "to", "extended", "precision", ";", "when", "using", "only", "SSE", ",", "rounding", "is", "correct", ";", "when", "using", "both", "SSE", "and", "the", "FPU", ",", "the", "rounding", "precision", "is", "indeterminate", ",", "since", "either", "may", "be", "chosen", "apparently", "at", "random", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_get_excess_precision", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37926, "Length": 85}
{"ground_truth": ["", "bool", "ix86_hardreg_mov_ok", "(", "rtx", "dst", ",", "rtx", "src", ")", "{", "if", "(", "REG_P", "(", "dst", ")", "&&", "HARD_REGISTER_P", "(", "dst", ")", "&&", "!", "REG_P", "(", "src", ")", "&&", "!", "MEM_P", "(", "src", ")", "&&", "!", "x86_64_immediate_operand", "(", "src", ",", "GET_MODE", "(", "dst", ")", ")", "&&", "ix86_class_likely_spilled_p", "(", "REGNO_REG_CLASS", "(", "REGNO", "(", "dst", ")", ")", ")", "&&", "!", "reload_completed", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "a", "set", "of", "DST", "by", "the", "expression", "SRC", "should", "be", "allowed", ".", "This", "prevents", "complex", "sets", "of", "likely_spilled", "hard", "regs", "before", "reload", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_hardreg_mov_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37927, "Length": 66}
{"ground_truth": ["", "static", "bool", "ix86_hard_regno_mode_ok", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "CC_REGNO_P", "(", "regno", ")", ")", "return", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_RANDOM", ")", "return", "false", ";", "if", "(", "STACK_REGNO_P", "(", "regno", ")", ")", "return", "VALID_FP_MODE_P", "(", "mode", ")", ";", "if", "(", "MASK_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "(", "mode", "==", "P2QImode", "||", "mode", "==", "P2HImode", ")", ")", "return", "MASK_PAIR_REGNO_P", "(", "regno", ")", ";", "return", "(", "(", "TARGET_AVX512F", "&&", "VALID_MASK_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_AVX512BW", "&&", "VALID_MASK_AVX512BW_MODE", "(", "mode", ")", ")", ")", ";", "}", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_PARTIAL_INT", ")", "return", "false", ";", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "TARGET_AVX512F", "&&", "(", "VALID_AVX512F_REG_OR_XI_MODE", "(", "mode", ")", "||", "VALID_AVX512F_SCALAR_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_AVX5124FMAPS", "||", "TARGET_AVX5124VNNIW", ")", "&&", "(", "mode", "==", "V64SFmode", "||", "mode", "==", "V64SImode", ")", "&&", "MOD4_SSE_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX512VL", "&&", "(", "VALID_AVX256_REG_OR_OI_MODE", "(", "mode", ")", "||", "VALID_AVX512VL_128_REG_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "EXT_REX_SSE_REGNO_P", "(", "regno", ")", ")", "return", "false", ";", "if", "(", "TARGET_SSE2", "&&", "mode", "==", "HImode", ")", "return", "true", ";", "return", "(", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_OR_OI_MODE", "(", "mode", ")", ")", "||", "VALID_SSE_REG_MODE", "(", "mode", ")", "||", "VALID_SSE2_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "mode", "==", "QImode", ")", "{", "if", "(", "ANY_QI_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "return", "true", ";", "if", "(", "lra_in_progress", ")", "return", "true", ";", "return", "!", "can_create_pseudo_p", "(", ")", ";", "}", "else", "if", "(", "VALID_INT_MODE_P", "(", "mode", ")", "||", "VALID_FP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_hard_regno_mode_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37928, "Length": 342}
{"ground_truth": ["", "static", "bool", "ix86_ifunc_ref_local_ok", "(", "void", ")", "{", "return", "!", "flag_pic", "||", "(", "TARGET_64BIT", "&&", "ix86_cmodel", "!=", "CM_LARGE_PIC", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_IFUNC_REF_LOCAL_OK", ".", "If", "this", "hook", "returns", "true", ",", "the", "PLT", "entry", "will", "be", "used", "as", "the", "function", "address", "for", "local", "IFUNC", "functions", ".", "When", "the", "PIC", "register", "is", "needed", "for", "PLT", "call", ",", "indirect", "call", "via", "the", "PLT", "entry", "will", "fail", "since", "the", "PIC", "register", "may", "not", "be", "set", "up", "properly", "for", "indirect", "call", ".", "In", "this", "case", ",", "we", "should", "return", "false", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_ifunc_ref_local_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37929, "Length": 20}
{"ground_truth": ["", "static", "bool", "ix86_lea_outperforms", "(", "rtx_insn", "*", "insn", ",", "unsigned", "int", "regno0", ",", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "int", "split_cost", ",", "bool", "has_scale", ")", "{", "int", "dist_define", ",", "dist_use", ";", "if", "(", "!", "TARGET_BONNELL", ")", "{", "if", "(", "has_scale", ")", "return", "true", ";", "if", "(", "split_cost", "<", "1", ")", "return", "false", ";", "if", "(", "regno0", "==", "regno1", "||", "regno0", "==", "regno2", ")", "return", "false", ";", "return", "true", ";", "}", "struct", "recog_data_d", "recog_data_save", "=", "recog_data", ";", "dist_define", "=", "distance_non_agu_define", "(", "regno1", ",", "regno2", ",", "insn", ")", ";", "dist_use", "=", "distance_agu_use", "(", "regno0", ",", "insn", ")", ";", "recog_data", "=", "recog_data_save", ";", "if", "(", "dist_define", "<", "0", "||", "dist_define", ">=", "LEA_MAX_STALL", ")", "{", "if", "(", "dist_use", "<", "0", "&&", "split_cost", "==", "0", ")", "return", "TARGET_64BIT", "||", "IX86_LEA_PRIORITY", ";", "else", "return", "true", ";", "}", "dist_define", "+=", "split_cost", "+", "IX86_LEA_PRIORITY", ";", "if", "(", "dist_use", "<", "0", ")", "return", "dist_define", ">", "LEA_MAX_STALL", ";", "return", "dist_define", ">=", "dist_use", ";", "}", ""], "natrual_language": ["Return", "true", "if", "usage", "of", "lea", "INSN", "has", "performance", "advantage", "over", "a", "sequence", "of", "instructions", ".", "Instructions", "sequence", "has", "SPLIT_COST", "cycles", "higher", "latency", "than", "lea", "latency", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0"], "File": "i3861", "Func": "ix86_lea_outperforms", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37930, "Length": 155}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_constant_p", "(", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "{", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", "return", "false", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "}", "if", "(", "TARGET_MACHO", "&&", "darwin_local_data_pic", "(", "x", ")", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOT", ":", "case", "UNSPEC_GOTOFF", ":", "case", "UNSPEC_PLTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "case", "UNSPEC_NTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "case", "UNSPEC_DTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_DYNAMIC", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "LABEL_REF", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "SYMBOL_REF", ")", "return", "false", ";", "case", "SYMBOL_REF", ":", "if", "(", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", ")", "return", "false", ";", "if", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "x", ")", ")", "return", "false", ";", "if", "(", "MACHO_DYNAMIC_NO_PIC_P", ")", "return", "machopic_symbol_defined_p", "(", "x", ")", ";", "if", "(", "ix86_force_load_from_GOT_p", "(", "x", ")", ")", "return", "false", ";", "break", ";", "CASE_CONST_SCALAR_INT", ":", "if", "(", "ix86_endbr_immediate_operand", "(", "x", ",", "VOIDmode", ")", ")", "return", "false", ";", "switch", "(", "mode", ")", "{", "case", "E_TImode", ":", "if", "(", "TARGET_64BIT", ")", "return", "true", ";", "case", "E_OImode", ":", "case", "E_XImode", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ",", "mode", ")", "&&", "GET_MODE_SIZE", "(", "TARGET_AVX512F", "?", "XImode", ":", "(", "TARGET_AVX", "?", "OImode", ":", "(", "TARGET_SSE2", "?", "TImode", ":", "DImode", ")", ")", ")", "<", "GET_MODE_SIZE", "(", "mode", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "break", ";", "case", "CONST_VECTOR", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ",", "mode", ")", ")", "return", "false", ";", "break", ";", "case", "CONST_DOUBLE", ":", "if", "(", "mode", "==", "E_BFmode", ")", "return", "false", ";", "default", ":", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Determine", "if", "a", "given", "RTX", "is", "a", "valid", "constant", ".", "We", "already", "know", "this", "satisfies", "CONSTANT_P", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "0", "0"], "File": "i3861", "Func": "ix86_legitimate_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37931, "Length": 372}
{"ground_truth": ["", "static", "bool", "ix86_libgcc_floating_mode_supported_p", "(", "scalar_float_mode", "mode", ")", "{", "return", "(", "(", "(", "mode", "==", "HFmode", "||", "mode", "==", "BFmode", ")", "&&", "TARGET_SSE2", ")", "?", "true", ":", "default_libgcc_floating_mode_supported_p", "(", "mode", ")", ")", ";", "}", ""], "natrual_language": ["Implement", "target", "hook", "libgcc_floating_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_libgcc_floating_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37932, "Length": 33}
{"ground_truth": ["", "static", "unsigned", "ix86_loop_unroll_adjust", "(", "unsigned", "nunroll", ",", "class", "loop", "*", "loop", ")", "{", "basic_block", "*", "bbs", ";", "rtx_insn", "*", "insn", ";", "unsigned", "i", ";", "unsigned", "mem_count", "=", "0", ";", "if", "(", "ix86_unroll_only_small_loops", "&&", "!", "loop", "->", "unroll", ")", "{", "if", "(", "loop", "->", "ninsns", "<=", "ix86_cost", "->", "small_unroll_ninsns", ")", "return", "MIN", "(", "nunroll", ",", "ix86_cost", "->", "small_unroll_factor", ")", ";", "else", "return", "1", ";", "}", "if", "(", "!", "TARGET_ADJUST_UNROLL", ")", "return", "nunroll", ";", "subrtx_iterator", "::", "array_type", "array", ";", "bbs", "=", "get_loop_body", "(", "loop", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "loop", "->", "num_nodes", ";", "i", "++", ")", "FOR_BB_INSNS", "(", "bbs", "[", "i", "]", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "NONCONST", ")", "if", "(", "const_rtx", "x", "=", "*", "iter", ")", "if", "(", "MEM_P", "(", "x", ")", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "unsigned", "int", "n_words", "=", "GET_MODE_SIZE", "(", "mode", ")", "/", "UNITS_PER_WORD", ";", "if", "(", "n_words", ">", "4", ")", "mem_count", "+=", "2", ";", "else", "mem_count", "+=", "1", ";", "}", "free", "(", "bbs", ")", ";", "if", "(", "mem_count", "&&", "mem_count", "<=", "32", ")", "return", "MIN", "(", "nunroll", ",", "32", "/", "mem_count", ")", ";", "return", "nunroll", ";", "}", ""], "natrual_language": ["This", "function", "adjusts", "the", "unroll", "factor", "based", "on", "the", "hardware", "capabilities", ".", "For", "ex", ",", "bdver3", "has", "a", "loop", "buffer", "which", "makes", "unrolling", "of", "smaller", "loops", "less", "important", ".", "This", "function", "decides", "the", "unroll", "factor", "using", "number", "of", "memory", "references", "(", "value", "32", "is", "used", ")", "as", "a", "heuristic", "."], "TS_V_token": ["i386", "0", "1", "0", "4", "2", "1", "32", "32"], "File": "i3861", "Func": "ix86_loop_unroll_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37933, "Length": 206}
{"ground_truth": ["", "static", "const", "char", "*", "ix86_mangle_type", "(", "const_tree", "type", ")", "{", "type", "=", "TYPE_MAIN_VARIANT", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "type", ")", "!=", "VOID_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "BOOLEAN_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "INTEGER_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "REAL_TYPE", ")", "return", "NULL", ";", "if", "(", "type", "==", "float128_type_node", "||", "type", "==", "float64x_type_node", ")", "return", "NULL", ";", "switch", "(", "TYPE_MODE", "(", "type", ")", ")", "{", "case", "E_BFmode", ":", "return", "\"DF16b\"", ";", "case", "E_HFmode", ":", "return", "\"DF16_\"", ";", "case", "E_TFmode", ":", "return", "\"g\"", ";", "case", "E_XFmode", ":", "return", "\"e\"", ";", "default", ":", "return", "NULL", ";", "}", "}", ""], "natrual_language": ["Return", "the", "mangling", "of", "TYPE", "if", "it", "is", "an", "extended", "fundamental", "type", "."], "TS_V_token": ["i386", "\"DF16b\"", "\"DF16_\"", "\"g\"", "\"e\""], "File": "i3861", "Func": "ix86_mangle_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37934, "Length": 102}
{"ground_truth": ["", "rtx", "ix86_memtag_add_tag", "(", "rtx", "base", ",", "poly_int64", "offset", ",", "unsigned", "char", "tag_offset", ")", "{", "rtx", "base_tag", "=", "gen_reg_rtx", "(", "QImode", ")", ";", "rtx", "base_addr", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "rtx", "tagged_addr", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "rtx", "new_tag", "=", "gen_reg_rtx", "(", "QImode", ")", ";", "unsigned", "HOST_WIDE_INT", "and_imm", "=", "(", "HOST_WIDE_INT_1U", "<<", "IX86_HWASAN_SHIFT", ")", "-", "1", ";", "emit_move_insn", "(", "base_tag", ",", "ix86_memtag_extract_tag", "(", "base", ",", "NULL_RTX", ")", ")", ";", "emit_move_insn", "(", "base_addr", ",", "ix86_memtag_untagged_pointer", "(", "base", ",", "NULL_RTX", ")", ")", ";", "emit_insn", "(", "gen_add2_insn", "(", "base_tag", ",", "gen_int_mode", "(", "tag_offset", ",", "QImode", ")", ")", ")", ";", "emit_move_insn", "(", "new_tag", ",", "base_tag", ")", ";", "emit_insn", "(", "gen_andqi3", "(", "new_tag", ",", "new_tag", ",", "gen_int_mode", "(", "and_imm", ",", "QImode", ")", ")", ")", ";", "emit_move_insn", "(", "tagged_addr", ",", "ix86_memtag_set_tag", "(", "base_addr", ",", "new_tag", ",", "NULL_RTX", ")", ")", ";", "return", "plus_constant", "(", "Pmode", ",", "tagged_addr", ",", "offset", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_MEMTAG_ADD_TAG", "."], "TS_V_token": ["i386", "1"], "File": "i3861", "Func": "ix86_memtag_add_tag", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37935, "Length": 146}
{"ground_truth": ["", "bool", "ix86_memtag_can_tag_addresses", "(", ")", "{", "return", "ix86_lam_type", "!=", "lam_none", "&&", "TARGET_LP64", ";", "}", ""], "natrual_language": ["Implement", "TARGET_MEMTAG_CAN_TAG_ADDRESSES", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_memtag_can_tag_addresses", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37936, "Length": 13}
{"ground_truth": ["", "rtx", "ix86_memtag_extract_tag", "(", "rtx", "tagged_pointer", ",", "rtx", "target", ")", "{", "rtx", "tag", "=", "expand_simple_binop", "(", "Pmode", ",", "LSHIFTRT", ",", "tagged_pointer", ",", "GEN_INT", "(", "IX86_HWASAN_SHIFT", ")", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "rtx", "ret", "=", "gen_reg_rtx", "(", "QImode", ")", ";", "if", "(", "ix86_lam_type", "==", "lam_u57", ")", "{", "unsigned", "HOST_WIDE_INT", "and_imm", "=", "(", "HOST_WIDE_INT_1U", "<<", "IX86_HWASAN_TAG_SIZE", ")", "-", "1", ";", "emit_insn", "(", "gen_andqi3", "(", "ret", ",", "gen_lowpart", "(", "QImode", ",", "tag", ")", ",", "gen_int_mode", "(", "and_imm", ",", "QImode", ")", ")", ")", ";", "}", "else", "emit_move_insn", "(", "ret", ",", "gen_lowpart", "(", "QImode", ",", "tag", ")", ")", ";", "return", "ret", ";", "}", ""], "natrual_language": ["Implement", "TARGET_MEMTAG_EXTRACT_TAG", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3861", "Func": "ix86_memtag_extract_tag", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37937, "Length": 100}
{"ground_truth": ["", "rtx", "ix86_memtag_set_tag", "(", "rtx", "untagged", ",", "rtx", "tag", ",", "rtx", "target", ")", "{", "if", "(", "ix86_lam_type", "==", "lam_u57", ")", "{", "unsigned", "HOST_WIDE_INT", "and_imm", "=", "(", "HOST_WIDE_INT_1U", "<<", "IX86_HWASAN_TAG_SIZE", ")", "-", "1", ";", "emit_insn", "(", "gen_andqi3", "(", "tag", ",", "tag", ",", "GEN_INT", "(", "and_imm", ")", ")", ")", ";", "}", "tag", "=", "expand_simple_binop", "(", "Pmode", ",", "ASHIFT", ",", "tag", ",", "GEN_INT", "(", "IX86_HWASAN_SHIFT", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_WIDEN", ")", ";", "rtx", "ret", "=", "expand_simple_binop", "(", "Pmode", ",", "IOR", ",", "untagged", ",", "tag", ",", "target", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "return", "ret", ";", "}", ""], "natrual_language": ["Implement", "TARGET_MEMTAG_SET_TAG", "."], "TS_V_token": ["i386", "1", "1", "1"], "File": "i3861", "Func": "ix86_memtag_set_tag", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37938, "Length": 94}
{"ground_truth": ["", "unsigned", "char", "ix86_memtag_tag_size", "(", ")", "{", "return", "IX86_HWASAN_TAG_SIZE", ";", "}", ""], "natrual_language": ["Implement", "TARGET_MEMTAG_TAG_SIZE", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_memtag_tag_size", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37939, "Length": 10}
{"ground_truth": ["", "rtx", "ix86_memtag_untagged_pointer", "(", "rtx", "tagged_pointer", ",", "rtx", "target", ")", "{", "rtx", "tag_mask", "=", "gen_int_mode", "(", "(", "(", "HOST_WIDE_INT_1U", "<<", "IX86_HWASAN_SHIFT", ")", "+", "(", "HOST_WIDE_INT_1U", "<<", "63", ")", "-", "1", ")", ",", "Pmode", ")", ";", "rtx", "untagged_base", "=", "expand_simple_binop", "(", "Pmode", ",", "AND", ",", "tagged_pointer", ",", "tag_mask", ",", "target", ",", "true", ",", "OPTAB_DIRECT", ")", ";", "gcc_assert", "(", "untagged_base", ")", ";", "return", "untagged_base", ";", "}", ""], "natrual_language": ["The", "default", "implementation", "of", "TARGET_MEMTAG_UNTAGGED_POINTER", "."], "TS_V_token": ["i386", "63", "1"], "File": "i3861", "Func": "ix86_memtag_untagged_pointer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37940, "Length": 63}
{"ground_truth": ["", "static", "bool", "ix86_modes_tieable_p", "(", "machine_mode", "mode1", ",", "machine_mode", "mode2", ")", "{", "if", "(", "mode1", "==", "mode2", ")", "return", "true", ";", "if", "(", "ix86_tieable_integer_mode_p", "(", "mode1", ")", "&&", "ix86_tieable_integer_mode_p", "(", "mode2", ")", ")", "return", "true", ";", "if", "(", "mode2", "==", "XFmode", ")", "return", "mode1", "==", "SFmode", "||", "mode1", "==", "DFmode", ";", "if", "(", "mode2", "==", "DFmode", ")", "return", "mode1", "==", "SFmode", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "64", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "64", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "32", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "32", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "16", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "16", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode1", ")", ")", ";", "if", "(", "(", "mode1", "==", "E_SCmode", "&&", "mode2", "==", "E_DImode", ")", "||", "(", "mode1", "==", "E_DImode", "&&", "mode2", "==", "E_SCmode", ")", ")", "return", "TARGET_64BIT", ";", "if", "(", "(", "mode1", "==", "E_SCmode", "&&", "mode2", "==", "E_V2SFmode", ")", "||", "(", "mode1", "==", "E_V2SFmode", "&&", "mode2", "==", "E_SCmode", ")", "||", "(", "mode1", "==", "E_DCmode", "&&", "mode2", "==", "E_V2DFmode", ")", "||", "(", "mode1", "==", "E_V2DFmode", "&&", "mode2", "==", "E_DCmode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "MODE1", "is", "accessible", "in", "a", "register", "that", "can", "hold", "MODE2", "without", "copying", ".", "That", "is", ",", "all", "register", "classes", "that", "can", "hold", "MODE2", "can", "also", "hold", "MODE1", "."], "TS_V_token": ["i386", "64", "64", "32", "32", "16", "16", "8", "8"], "File": "i3861", "Func": "ix86_modes_tieable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37941, "Length": 267}
{"ground_truth": ["", "static", "bool", "ix86_optab_supported_p", "(", "int", "op", ",", "machine_mode", "mode1", ",", "machine_mode", ",", "optimization_type", "opt_type", ")", "{", "switch", "(", "op", ")", "{", "case", "asin_optab", ":", "case", "acos_optab", ":", "case", "log1p_optab", ":", "case", "exp_optab", ":", "case", "exp10_optab", ":", "case", "exp2_optab", ":", "case", "expm1_optab", ":", "case", "ldexp_optab", ":", "case", "scalb_optab", ":", "case", "round_optab", ":", "case", "lround_optab", ":", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "case", "rint_optab", ":", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode1", ")", "&&", "TARGET_SSE_MATH", "&&", "!", "flag_trapping_math", "&&", "!", "TARGET_SSE4_1", "&&", "mode1", "!=", "HFmode", ")", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "return", "true", ";", "case", "floor_optab", ":", "case", "ceil_optab", ":", "case", "btrunc_optab", ":", "if", "(", "(", "(", "SSE_FLOAT_MODE_P", "(", "mode1", ")", "&&", "TARGET_SSE_MATH", "&&", "TARGET_SSE4_1", ")", "||", "mode1", "==", "HFmode", ")", "&&", "!", "flag_trapping_math", ")", "return", "true", ";", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "case", "rsqrt_optab", ":", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", "&&", "use_rsqrt_p", "(", "mode1", ")", ";", "default", ":", "return", "true", ";", "}", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTAB_SUPPORTED_P", "hook", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_optab_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37942, "Length": 148}
{"ground_truth": ["", "const", "char", "*", "ix86_output_ssemov", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "if", "(", "get_attr_type", "(", "insn", ")", "!=", "TYPE_SSEMOV", "||", "mode", "!=", "GET_MODE", "(", "operands", "[", "1", "]", ")", ")", "gcc_unreachable", "(", ")", ";", "enum", "attr_mode", "insn_mode", "=", "get_attr_mode", "(", "insn", ")", ";", "switch", "(", "insn_mode", ")", "{", "case", "MODE_XI", ":", "case", "MODE_V8DF", ":", "case", "MODE_V16SF", ":", "return", "ix86_get_ssemov", "(", "operands", ",", "64", ",", "insn_mode", ",", "mode", ")", ";", "case", "MODE_OI", ":", "case", "MODE_V4DF", ":", "case", "MODE_V8SF", ":", "return", "ix86_get_ssemov", "(", "operands", ",", "32", ",", "insn_mode", ",", "mode", ")", ";", "case", "MODE_TI", ":", "case", "MODE_V2DF", ":", "case", "MODE_V4SF", ":", "return", "ix86_get_ssemov", "(", "operands", ",", "16", ",", "insn_mode", ",", "mode", ")", ";", "case", "MODE_DI", ":", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "0", "]", ")", ")", "{", "if", "(", "HAVE_AS_IX86_INTERUNIT_MOVQ", ")", "return", "\"%vmovq\\t{%1, %q0|%q0, %1}\"", ";", "else", "return", "\"%vmovd\\t{%1, %q0|%q0, %1}\"", ";", "}", "else", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "1", "]", ")", ")", "{", "if", "(", "HAVE_AS_IX86_INTERUNIT_MOVQ", ")", "return", "\"%vmovq\\t{%q1, %0|%0, %q1}\"", ";", "else", "return", "\"%vmovd\\t{%q1, %0|%0, %q1}\"", ";", "}", "else", "return", "\"%vmovq\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_SI", ":", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"%vmovd\\t{%1, %k0|%k0, %1}\"", ";", "else", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"%vmovd\\t{%k1, %0|%0, %k1}\"", ";", "else", "return", "\"%vmovd\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_HI", ":", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"vmovw\\t{%1, %k0|%k0, %1}\"", ";", "else", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"vmovw\\t{%k1, %0|%0, %k1}\"", ";", "else", "return", "\"vmovw\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_DF", ":", "if", "(", "TARGET_AVX", "&&", "REG_P", "(", "operands", "[", "0", "]", ")", "&&", "REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"vmovsd\\t{%d1, %0|%0, %d1}\"", ";", "else", "return", "\"%vmovsd\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_SF", ":", "if", "(", "TARGET_AVX", "&&", "REG_P", "(", "operands", "[", "0", "]", ")", "&&", "REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"vmovss\\t{%d1, %0|%0, %d1}\"", ";", "else", "return", "\"%vmovss\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_HF", ":", "case", "MODE_BF", ":", "if", "(", "REG_P", "(", "operands", "[", "0", "]", ")", "&&", "REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"vmovsh\\t{%d1, %0|%0, %d1}\"", ";", "else", "return", "\"vmovsh\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_V1DF", ":", "gcc_assert", "(", "!", "TARGET_AVX", ")", ";", "return", "\"movlpd\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_V2SF", ":", "if", "(", "TARGET_AVX", "&&", "REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"vmovlps\\t{%1, %d0|%d0, %1}\"", ";", "else", "return", "\"%vmovlps\\t{%1, %0|%0, %1}\"", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "template", "of", "the", "TYPE_SSEMOV", "instruction", "to", "move", "operands", "[", "1", "]", "into", "operands", "[", "0", "]", "."], "TS_V_token": ["i386", "0", "1", "64", "32", "16", "0", "\"%vmovq\\t{%1, %q0|%q0, %1}\"", "\"%vmovd\\t{%1, %q0|%q0, %1}\"", "1", "\"%vmovq\\t{%q1, %0|%0, %q1}\"", "\"%vmovd\\t{%q1, %0|%0, %q1}\"", "\"%vmovq\\t{%1, %0|%0, %1}\"", "0", "\"%vmovd\\t{%1, %k0|%k0, %1}\"", "1", "\"%vmovd\\t{%k1, %0|%0, %k1}\"", "\"%vmovd\\t{%1, %0|%0, %1}\"", "0", "\"vmovw\\t{%1, %k0|%k0, %1}\"", "1", "\"vmovw\\t{%k1, %0|%0, %k1}\"", "\"vmovw\\t{%1, %0|%0, %1}\"", "0", "1", "\"vmovsd\\t{%d1, %0|%0, %d1}\"", "\"%vmovsd\\t{%1, %0|%0, %1}\"", "0", "1", "\"vmovss\\t{%d1, %0|%0, %d1}\"", "\"%vmovss\\t{%1, %0|%0, %1}\"", "0", "1", "\"vmovsh\\t{%d1, %0|%0, %d1}\"", "\"vmovsh\\t{%1, %0|%0, %1}\"", "\"movlpd\\t{%1, %0|%0, %1}\"", "0", "\"vmovlps\\t{%1, %d0|%d0, %1}\"", "\"%vmovlps\\t{%1, %0|%0, %1}\""], "File": "i3861", "Func": "ix86_output_ssemov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37943, "Length": 380}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "regclass", "==", "NO_REGS", ")", "return", "NO_REGS", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "mode", ")", ")", "return", "regclass", ";", "if", "(", "CONSTANT_P", "(", "x", ")", "&&", "(", "MAYBE_MMX_CLASS_P", "(", "regclass", ")", "||", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "||", "MAYBE_MASK_CLASS_P", "(", "regclass", ")", ")", ")", "return", "NO_REGS", ";", "if", "(", "CONST_DOUBLE_P", "(", "x", ")", ")", "{", "if", "(", "INTEGER_CLASS_P", "(", "regclass", ")", ")", "return", "regclass", ";", "if", "(", "IS_STACK_MODE", "(", "mode", ")", "&&", "standard_80387_constant_p", "(", "x", ")", ">", "0", ")", "{", "if", "(", "FLOAT_CLASS_P", "(", "regclass", ")", ")", "return", "FLOAT_REGS", ";", "}", "return", "NO_REGS", ";", "}", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_SSE_MATH", ")", "return", "SSE_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "return", "INTEGER_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "GET_MODE", "(", "x", ")", "==", "QImode", "&&", "!", "CONSTANT_P", "(", "x", ")", ")", "{", "if", "(", "Q_CLASS_P", "(", "regclass", ")", ")", "return", "regclass", ";", "else", "if", "(", "reg_class_subset_p", "(", "Q_REGS", ",", "regclass", ")", ")", "return", "Q_REGS", ";", "else", "if", "(", "MASK_CLASS_P", "(", "regclass", ")", ")", "return", "regclass", ";", "else", "return", "NO_REGS", ";", "}", "return", "regclass", ";", "}", ""], "natrual_language": ["Put", "float", "CONST_DOUBLE", "in", "the", "constant", "pool", "instead", "of", "fp", "regs", ".", "QImode", "must", "go", "into", "class", "Q_REGS", ".", "Narrow", "ALL_REGS", "to", "GENERAL_REGS", ".", "This", "supports", "allowing", "movsf", "and", "movdf", "to", "do", "mem-to-mem", "moves", "through", "integer", "regs", "."], "TS_V_token": ["i386", "0"], "File": "i3861", "Func": "ix86_preferred_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37944, "Length": 212}
{"ground_truth": ["", "ix86_dependencies_evaluation_hook", "static", "int", "ix86_reassociation_width", "(", "unsigned", "int", "op", ",", "machine_mode", "mode", ")", "{", "int", "width", "=", "1", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "int", "div", "=", "1", ";", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_vec_int", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_vec_fp", ";", "if", "(", "width", "==", "1", ")", "return", "1", ";", "if", "(", "(", "ix86_tune", "==", "PROCESSOR_ZNVER1", "||", "ix86_tune", "==", "PROCESSOR_ZNVER2", "||", "ix86_tune", "==", "PROCESSOR_ZNVER3", "||", "ix86_tune", "==", "PROCESSOR_ZNVER4", ")", "&&", "INTEGRAL_MODE_P", "(", "mode", ")", "&&", "op", "!=", "PLUS", "&&", "op", "!=", "MINUS", ")", "return", "1", ";", "if", "(", "TARGET_AVX512_SPLIT_REGS", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "256", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "256", ";", "else", "if", "(", "TARGET_AVX256_SPLIT_REGS", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "128", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "128", ";", "else", "if", "(", "TARGET_SSE_SPLIT_REGS", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "64", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "64", ";", "width", "=", "(", "width", "+", "div", "-", "1", ")", "/", "div", ";", "}", "else", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_int", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_fp", ";", "if", "(", "!", "TARGET_64BIT", "&&", "width", ">", "2", ")", "width", "=", "2", ";", "return", "width", ";", "}", ""], "natrual_language": ["Implementation", "of", "reassociation_width", "target", "hook", "used", "by", "reassoc", "phase", "to", "identify", "parallelism", "level", "in", "reassociated", "tree", ".", "Statements", "tree_code", "is", "passed", "in", "OPC", ".", "Arguments", "type", "is", "passed", "in", "MODE", ".", "Currently", "parallel", "reassociation", "is", "enabled", "for", "Atom", "processors", "only", "and", "we", "set", "reassociation", "width", "to", "be", "2", "because", "Atom", "may", "issue", "up", "to", "2", "instructions", "per", "cycle", ".", "Return", "value", "should", "be", "fixed", "if", "parallel", "reassociation", "is", "enabled", "for", "other", "processors", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "1", "256", "256", "128", "128", "64", "64", "1", "2", "2"], "File": "i3861", "Func": "ix86_reassociation_width", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37945, "Length": 223}
{"ground_truth": ["", "static", "bool", "ix86_scalar_mode_supported_p", "(", "scalar_mode", "mode", ")", "{", "if", "(", "DECIMAL_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "default_decimal_float_supported_p", "(", ")", ";", "else", "if", "(", "mode", "==", "TFmode", ")", "return", "true", ";", "else", "if", "(", "(", "mode", "==", "HFmode", "||", "mode", "==", "BFmode", ")", "&&", "TARGET_SSE2", ")", "return", "true", ";", "else", "return", "default_scalar_mode_supported_p", "(", "mode", ")", ";", "}", ""], "natrual_language": ["Target", "hook", "for", "scalar_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_scalar_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37946, "Length": 56}
{"ground_truth": ["", "static", "void", "ix86_setup_incoming_varargs", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ",", "int", "*", ",", "int", "no_rtl", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "CUMULATIVE_ARGS", "next_cum", ";", "tree", "fntype", ";", "gcc_assert", "(", "!", "no_rtl", ")", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", ";", "fntype", "=", "TREE_TYPE", "(", "current_function_decl", ")", ";", "next_cum", "=", "*", "cum", ";", "if", "(", "!", "TYPE_NO_NAMED_ARGS_STDARG_P", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", "&&", "stdarg_p", "(", "fntype", ")", ")", "ix86_function_arg_advance", "(", "pack_cumulative_args", "(", "&", "next_cum", ")", ",", "arg", ")", ";", "if", "(", "cum", "->", "call_abi", "==", "MS_ABI", ")", "setup_incoming_varargs_ms_64", "(", "&", "next_cum", ")", ";", "else", "setup_incoming_varargs_64", "(", "&", "next_cum", ")", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_SETUP_INCOMING_VARARGS", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_setup_incoming_varargs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37947, "Length": 108}
{"ground_truth": ["", "static", "tree", "ix86_vectorize_builtin_scatter", "(", "const_tree", "vectype", ",", "const_tree", "index_type", ",", "int", "scale", ")", "{", "bool", "si", ";", "enum", "ix86_builtins", "code", ";", "if", "(", "!", "TARGET_AVX512F", ")", "return", "NULL_TREE", ";", "if", "(", "known_eq", "(", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ",", "2u", ")", "?", "!", "TARGET_USE_SCATTER_2PARTS", ":", "(", "known_eq", "(", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ",", "4u", ")", "?", "!", "TARGET_USE_SCATTER_4PARTS", ":", "!", "TARGET_USE_SCATTER", ")", ")", "return", "NULL_TREE", ";", "if", "(", "(", "TREE_CODE", "(", "index_type", ")", "!=", "INTEGER_TYPE", "&&", "!", "POINTER_TYPE_P", "(", "index_type", ")", ")", "||", "(", "TYPE_MODE", "(", "index_type", ")", "!=", "SImode", "&&", "TYPE_MODE", "(", "index_type", ")", "!=", "DImode", ")", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", ">", "POINTER_SIZE", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", "<", "POINTER_SIZE", "&&", "TYPE_UNSIGNED", "(", "index_type", ")", ")", "return", "NULL_TREE", ";", "if", "(", "scale", "<=", "0", "||", "scale", ">", "8", "||", "(", "scale", "&", "(", "scale", "-", "1", ")", ")", "!=", "0", ")", "return", "NULL_TREE", ";", "si", "=", "TYPE_MODE", "(", "index_type", ")", "==", "SImode", ";", "switch", "(", "TYPE_MODE", "(", "vectype", ")", ")", "{", "case", "E_V8DFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DF", ":", "IX86_BUILTIN_SCATTERDIV8DF", ";", "break", ";", "case", "E_V8DImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DI", ":", "IX86_BUILTIN_SCATTERDIV8DI", ";", "break", ";", "case", "E_V16SFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SF", ":", "IX86_BUILTIN_SCATTERALTDIV16SF", ";", "break", ";", "case", "E_V16SImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SI", ":", "IX86_BUILTIN_SCATTERALTDIV16SI", ";", "break", ";", "case", "E_V4DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV4DF", ":", "IX86_BUILTIN_SCATTERDIV4DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV4DI", ":", "IX86_BUILTIN_SCATTERDIV4DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V8SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV8SF", ":", "IX86_BUILTIN_SCATTERALTDIV8SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V8SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV8SI", ":", "IX86_BUILTIN_SCATTERALTDIV8SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V2DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV2DF", ":", "IX86_BUILTIN_SCATTERDIV2DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V2DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV2DI", ":", "IX86_BUILTIN_SCATTERDIV2DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV4SF", ":", "IX86_BUILTIN_SCATTERALTDIV4SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV4SI", ":", "IX86_BUILTIN_SCATTERALTDIV4SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "return", "get_ix86_builtin", "(", "code", ")", ";", "}", ""], "natrual_language": ["Returns", "a", "decl", "of", "a", "function", "that", "implements", "scatter", "store", "with", "register", "type", "VECTYPE", "and", "index", "type", "INDEX_TYPE", "and", "SCALE", ".", "Return", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "2u", "4u", "0", "8", "1", "0"], "File": "i3861", "Func": "ix86_vectorize_builtin_scatter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37948, "Length": 405}
{"ground_truth": ["", "static", "bool", "ix86_vector_mode_supported_p", "(", "machine_mode", "mode", ")", "{", "if", "(", "TARGET_SSE", "&&", "VALID_SSE_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_SSE2", "&&", "VALID_SSE2_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX512F", "&&", "VALID_AVX512F_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_MMX", "||", "TARGET_MMX_WITH_SSE", ")", "&&", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_3DNOW", "||", "TARGET_MMX_WITH_SSE", ")", "&&", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Implements", "target", "hook", "vector_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "ix86_vector_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37949, "Length": 92}
{"ground_truth": ["", "static", "int", "ix86_vec_cost", "(", "machine_mode", "mode", ",", "int", "cost", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "return", "cost", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "==", "128", "&&", "TARGET_SSE_SPLIT_REGS", ")", "return", "cost", "*", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "64", ";", "else", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "128", "&&", "TARGET_AVX256_SPLIT_REGS", ")", "return", "cost", "*", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "128", ";", "else", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "256", "&&", "TARGET_AVX512_SPLIT_REGS", ")", "return", "cost", "*", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "256", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "vector", "operation", "in", "MODE", "given", "that", "scalar", "version", "has", "COST", ".", "If", "PARALLEL", "is", "true", "assume", "that", "CPU", "has", "more", "than", "one", "unit", "performing", "the", "operation", "."], "TS_V_token": ["i386", "128", "64", "128", "128", "256", "256"], "File": "i3861", "Func": "ix86_vec_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37950, "Length": 91}
{"ground_truth": ["", "bool", "ix86_vec_interleave_v2df_operator_ok", "(", "rtx", "operands", "[", "3", "]", ",", "bool", "high", ")", "{", "if", "(", "MEM_P", "(", "operands", "[", "0", "]", ")", ")", "return", "rtx_equal_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "1", "+", "high", "]", ")", ";", "if", "(", "MEM_P", "(", "operands", "[", "1", "]", ")", "&&", "MEM_P", "(", "operands", "[", "2", "]", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "the", "operands", "to", "a", "vec_interleave_", "{", "high", ",", "low", "}", "v2df", "are", "ok", ",", "keeping", "in", "mind", "the", "possible", "movddup", "alternative", "."], "TS_V_token": ["i386", "3", "0", "0", "1", "1", "2"], "File": "i3861", "Func": "ix86_vec_interleave_v2df_operator_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37951, "Length": 64}
{"ground_truth": ["", "static", "HARD_REG_SET", "ix86_zero_call_used_regs", "(", "HARD_REG_SET", "need_zeroed_hardregs", ")", "{", "HARD_REG_SET", "zeroed_hardregs", ";", "bool", "all_sse_zeroed", "=", "false", ";", "int", "all_st_zeroed_num", "=", "0", ";", "bool", "all_mm_zeroed", "=", "false", ";", "CLEAR_HARD_REG_SET", "(", "zeroed_hardregs", ")", ";", "rtx", "zero_all_vec_insn", "=", "zero_all_vector_registers", "(", "need_zeroed_hardregs", ")", ";", "if", "(", "zero_all_vec_insn", ")", "{", "emit_insn", "(", "zero_all_vec_insn", ")", ";", "all_sse_zeroed", "=", "true", ";", "}", "bool", "exit_with_mmx_mode", "=", "(", "crtl", "->", "return_rtx", "&&", "(", "MMX_REG_P", "(", "crtl", "->", "return_rtx", ")", ")", ")", ";", "if", "(", "!", "exit_with_mmx_mode", ")", "{", "all_st_zeroed_num", "=", "zero_all_st_registers", "(", "need_zeroed_hardregs", ")", ";", "if", "(", "all_st_zeroed_num", ">", "0", ")", "for", "(", "unsigned", "int", "regno", "=", "FIRST_STACK_REG", ";", "regno", "<=", "LAST_STACK_REG", ";", "regno", "++", ")", "if", "(", "all_st_zeroed_num", "==", "8", "||", "!", "(", "(", "all_st_zeroed_num", ">=", "6", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "return_rtx", ")", ")", "||", "(", "all_st_zeroed_num", "==", "6", "&&", "(", "regno", "==", "(", "REGNO", "(", "crtl", "->", "return_rtx", ")", "+", "1", ")", ")", ")", ")", ")", "SET_HARD_REG_BIT", "(", "zeroed_hardregs", ",", "regno", ")", ";", "}", "else", "{", "unsigned", "int", "exit_mmx_regno", "=", "REGNO", "(", "crtl", "->", "return_rtx", ")", ";", "all_mm_zeroed", "=", "zero_all_mm_registers", "(", "need_zeroed_hardregs", ",", "exit_mmx_regno", ")", ";", "if", "(", "all_mm_zeroed", ")", "for", "(", "unsigned", "int", "regno", "=", "FIRST_MMX_REG", ";", "regno", "<=", "LAST_MMX_REG", ";", "regno", "++", ")", "if", "(", "regno", "!=", "exit_mmx_regno", ")", "SET_HARD_REG_BIT", "(", "zeroed_hardregs", ",", "regno", ")", ";", "}", "for", "(", "unsigned", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "{", "if", "(", "!", "TEST_HARD_REG_BIT", "(", "need_zeroed_hardregs", ",", "regno", ")", ")", "continue", ";", "if", "(", "!", "zero_call_used_regno_p", "(", "regno", ",", "all_sse_zeroed", ",", "exit_with_mmx_mode", "&&", "!", "all_mm_zeroed", ")", ")", "continue", ";", "SET_HARD_REG_BIT", "(", "zeroed_hardregs", ",", "regno", ")", ";", "machine_mode", "mode", "=", "zero_call_used_regno_mode", "(", "regno", ")", ";", "rtx", "reg", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "rtx", "tmp", "=", "gen_rtx_SET", "(", "reg", ",", "CONST0_RTX", "(", "mode", ")", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_SImode", ":", "if", "(", "!", "TARGET_USE_MOV0", "||", "optimize_insn_for_size_p", "(", ")", ")", "{", "rtx", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "tmp", ",", "clob", ")", ")", ";", "}", "case", "E_V4SFmode", ":", "case", "E_HImode", ":", "case", "E_V2SImode", ":", "emit_insn", "(", "tmp", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "return", "zeroed_hardregs", ";", "}", ""], "natrual_language": ["Generate", "a", "sequence", "of", "instructions", "that", "zero", "registers", "specified", "by", "NEED_ZEROED_HARDREGS", ".", "Return", "the", "ZEROED_HARDREGS", "that", "are", "actually", "zeroed", "."], "TS_V_token": ["i386", "0", "0", "8", "6", "6", "1", "0", "2"], "File": "i3861", "Func": "ix86_zero_call_used_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37952, "Length": 375}
{"ground_truth": ["", "const", "char", "*", "standard_sse_constant_opcode", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ")", "{", "machine_mode", "mode", ";", "rtx", "x", "=", "operands", "[", "1", "]", ";", "gcc_assert", "(", "TARGET_SSE", ")", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "x", "==", "const0_rtx", "||", "const0_operand", "(", "x", ",", "mode", ")", ")", "{", "switch", "(", "get_attr_mode", "(", "insn", ")", ")", "{", "case", "MODE_TI", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"%vpxor\\t%0, %d0\"", ";", "case", "MODE_XI", ":", "case", "MODE_OI", ":", "if", "(", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "(", "TARGET_AVX512VL", "?", "\"vpxord\\t%x0, %x0, %x0\"", ":", "\"vpxord\\t%g0, %g0, %g0\"", ")", ";", "return", "\"vpxor\\t%x0, %x0, %x0\"", ";", "case", "MODE_V2DF", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"%vxorpd\\t%0, %d0\"", ";", "case", "MODE_V8DF", ":", "case", "MODE_V4DF", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"vxorpd\\t%x0, %x0, %x0\"", ";", "else", "if", "(", "TARGET_AVX512DQ", ")", "return", "(", "TARGET_AVX512VL", "?", "\"vxorpd\\t%x0, %x0, %x0\"", ":", "\"vxorpd\\t%g0, %g0, %g0\"", ")", ";", "else", "return", "(", "TARGET_AVX512VL", "?", "\"vpxorq\\t%x0, %x0, %x0\"", ":", "\"vpxorq\\t%g0, %g0, %g0\"", ")", ";", "case", "MODE_V4SF", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"%vxorps\\t%0, %d0\"", ";", "case", "MODE_V16SF", ":", "case", "MODE_V8SF", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"vxorps\\t%x0, %x0, %x0\"", ";", "else", "if", "(", "TARGET_AVX512DQ", ")", "return", "(", "TARGET_AVX512VL", "?", "\"vxorps\\t%x0, %x0, %x0\"", ":", "\"vxorps\\t%g0, %g0, %g0\"", ")", ";", "else", "return", "(", "TARGET_AVX512VL", "?", "\"vpxord\\t%x0, %x0, %x0\"", ":", "\"vpxord\\t%g0, %g0, %g0\"", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "if", "(", "x", "==", "constm1_rtx", "||", "vector_all_ones_operand", "(", "x", ",", "mode", ")", "||", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_FLOAT", "&&", "float_vector_all_ones_operand", "(", "x", ",", "mode", ")", ")", ")", "{", "enum", "attr_mode", "insn_mode", "=", "get_attr_mode", "(", "insn", ")", ";", "switch", "(", "insn_mode", ")", "{", "case", "MODE_XI", ":", "case", "MODE_V8DF", ":", "case", "MODE_V16SF", ":", "gcc_assert", "(", "TARGET_AVX512F", ")", ";", "return", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", ";", "case", "MODE_OI", ":", "case", "MODE_V4DF", ":", "case", "MODE_V8SF", ":", "gcc_assert", "(", "TARGET_AVX2", ")", ";", "case", "MODE_TI", ":", "case", "MODE_V2DF", ":", "case", "MODE_V4SF", ":", "gcc_assert", "(", "TARGET_SSE2", ")", ";", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "(", "TARGET_AVX", "?", "\"vpcmpeqd\\t%0, %0, %0\"", ":", "\"pcmpeqd\\t%0, %0\"", ")", ";", "else", "if", "(", "TARGET_AVX512VL", ")", "return", "\"vpternlogd\\t{$0xFF, %0, %0, %0|%0, %0, %0, 0xFF}\"", ";", "else", "return", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "if", "(", "vector_all_ones_zero_extend_half_operand", "(", "x", ",", "mode", ")", ")", "{", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "{", "gcc_assert", "(", "TARGET_AVX512F", ")", ";", "return", "\"vpcmpeqd \\t %t0, %t0, %t0\"", ";", "}", "else", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", ")", "{", "gcc_assert", "(", "TARGET_AVX", ")", ";", "return", "\"vpcmpeqd \\t %x0, %x0, %x0\"", ";", "}", "gcc_unreachable", "(", ")", ";", "}", "else", "if", "(", "vector_all_ones_zero_extend_quarter_operand", "(", "x", ",", "mode", ")", ")", "{", "gcc_assert", "(", "TARGET_AVX512F", ")", ";", "return", "\"vpcmpeqd \\t %x0, %x0, %x0\"", ";", "}", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "opcode", "of", "the", "special", "instruction", "to", "be", "used", "to", "load", "the", "constant", "X", "."], "TS_V_token": ["i386", "1", "0", "\"%vpxor\\t%0, %d0\"", "0", "\"vpxord\\t%x0, %x0, %x0\"", "\"vpxord\\t%g0, %g0, %g0\"", "\"vpxor\\t%x0, %x0, %x0\"", "0", "\"%vxorpd\\t%0, %d0\"", "0", "\"vxorpd\\t%x0, %x0, %x0\"", "\"vxorpd\\t%x0, %x0, %x0\"", "\"vxorpd\\t%g0, %g0, %g0\"", "\"vpxorq\\t%x0, %x0, %x0\"", "\"vpxorq\\t%g0, %g0, %g0\"", "0", "\"%vxorps\\t%0, %d0\"", "0", "\"vxorps\\t%x0, %x0, %x0\"", "\"vxorps\\t%x0, %x0, %x0\"", "\"vxorps\\t%g0, %g0, %g0\"", "\"vpxord\\t%x0, %x0, %x0\"", "\"vpxord\\t%g0, %g0, %g0\"", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", "0", "\"vpcmpeqd\\t%0, %0, %0\"", "\"pcmpeqd\\t%0, %0\"", "\"vpternlogd\\t{$0xFF, %0, %0, %0|%0, %0, %0, 0xFF}\"", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", "64", "\"vpcmpeqd \\t %t0, %t0, %t0\"", "32", "\"vpcmpeqd \\t %x0, %x0, %x0\"", "\"vpcmpeqd \\t %x0, %x0, %x0\""], "File": "i3861", "Func": "standard_sse_constant_opcode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37953, "Length": 444}
{"ground_truth": ["", "int", "standard_sse_constant_p", "(", "rtx", "x", ",", "machine_mode", "pred_mode", ")", "{", "machine_mode", "mode", ";", "if", "(", "!", "TARGET_SSE", ")", "return", "0", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "x", "==", "const0_rtx", "||", "const0_operand", "(", "x", ",", "mode", ")", ")", "return", "1", ";", "if", "(", "x", "==", "constm1_rtx", "||", "vector_all_ones_operand", "(", "x", ",", "mode", ")", "||", "(", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_FLOAT", "||", "GET_MODE_CLASS", "(", "pred_mode", ")", "==", "MODE_VECTOR_FLOAT", ")", "&&", "float_vector_all_ones_operand", "(", "x", ",", "mode", ")", ")", ")", "{", "if", "(", "mode", "==", "VOIDmode", ")", "mode", "=", "pred_mode", ";", "switch", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", "{", "case", "64", ":", "if", "(", "TARGET_AVX512F", ")", "return", "2", ";", "break", ";", "case", "32", ":", "if", "(", "TARGET_AVX2", ")", "return", "2", ";", "break", ";", "case", "16", ":", "if", "(", "TARGET_SSE2", ")", "return", "2", ";", "break", ";", "case", "0", ":", "gcc_unreachable", "(", ")", ";", "default", ":", "break", ";", "}", "}", "if", "(", "vector_all_ones_zero_extend_half_operand", "(", "x", ",", "mode", ")", "||", "vector_all_ones_zero_extend_quarter_operand", "(", "x", ",", "mode", ")", ")", "return", "3", ";", "return", "0", ";", "}", ""], "natrual_language": ["Return", "1", "if", "X", "is", "all", "0s", "and", "2", "if", "x", "is", "all", "1s", "in", "supported", "SSE/AVX", "vector", "mode", "."], "TS_V_token": ["i386", "0", "1", "64", "2", "32", "2", "16", "2", "0", "3", "0"], "File": "i3861", "Func": "standard_sse_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37954, "Length": 173}
{"ground_truth": ["", "static", "bool", "zero_all_mm_registers", "(", "HARD_REG_SET", "need_zeroed_hardregs", ",", "unsigned", "int", "ret_mmx_regno", ")", "{", "bool", "need_zero_all_mm", "=", "false", ";", "for", "(", "unsigned", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "STACK_REGNO_P", "(", "regno", ")", "&&", "TEST_HARD_REG_BIT", "(", "need_zeroed_hardregs", ",", "regno", ")", ")", "{", "need_zero_all_mm", "=", "true", ";", "break", ";", "}", "if", "(", "!", "need_zero_all_mm", ")", "return", "false", ";", "machine_mode", "mode", "=", "V2SImode", ";", "for", "(", "unsigned", "int", "regno", "=", "FIRST_MMX_REG", ";", "regno", "<=", "LAST_MMX_REG", ";", "regno", "++", ")", "if", "(", "regno", "!=", "ret_mmx_regno", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "reg", ",", "CONST0_RTX", "(", "mode", ")", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["When", "the", "routine", "exit", "in", "MMX", "mode", ",", "if", "any", "ST", "register", "needs", "to", "be", "zeroed", ",", "we", "should", "clear", "all", "MMX", "registers", "except", "the", "RET_MMX_REGNO", "that", "holds", "the", "return", "value", "."], "TS_V_token": ["i386", "0"], "File": "i3861", "Func": "zero_all_mm_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37955, "Length": 117}
{"ground_truth": ["", "static", "bool", "zero_all_st_registers", "(", "HARD_REG_SET", "need_zeroed_hardregs", ")", "{", "if", "(", "!", "(", "TARGET_80387", "||", "TARGET_FLOAT_RETURNS_IN_80387", ")", ")", "return", "false", ";", "unsigned", "int", "num_of_st", "=", "0", ";", "for", "(", "unsigned", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "(", "STACK_REGNO_P", "(", "regno", ")", "||", "MMX_REGNO_P", "(", "regno", ")", ")", "&&", "TEST_HARD_REG_BIT", "(", "need_zeroed_hardregs", ",", "regno", ")", ")", "{", "num_of_st", "++", ";", "break", ";", "}", "if", "(", "num_of_st", "==", "0", ")", "return", "false", ";", "bool", "return_with_x87", "=", "false", ";", "return_with_x87", "=", "(", "crtl", "->", "return_rtx", "&&", "(", "STACK_REG_P", "(", "crtl", "->", "return_rtx", ")", ")", ")", ";", "bool", "complex_return", "=", "false", ";", "complex_return", "=", "(", "crtl", "->", "return_rtx", "&&", "COMPLEX_MODE_P", "(", "GET_MODE", "(", "crtl", "->", "return_rtx", ")", ")", ")", ";", "if", "(", "return_with_x87", ")", "if", "(", "complex_return", ")", "num_of_st", "=", "6", ";", "else", "num_of_st", "=", "7", ";", "else", "num_of_st", "=", "8", ";", "rtx", "st_reg", "=", "gen_rtx_REG", "(", "XFmode", ",", "FIRST_STACK_REG", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "num_of_st", ";", "i", "++", ")", "emit_insn", "(", "gen_rtx_SET", "(", "st_reg", ",", "CONST0_RTX", "(", "XFmode", ")", ")", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "num_of_st", ";", "i", "++", ")", "{", "rtx", "insn", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "st_reg", ",", "st_reg", ")", ")", ";", "add_reg_note", "(", "insn", ",", "REG_DEAD", ",", "st_reg", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Generate", "insns", "to", "zero", "all", "st", "registers", "together", ".", "Return", "true", "when", "zeroing", "instructions", "are", "generated", ".", "Assume", "the", "number", "of", "st", "registers", "that", "are", "zeroed", "is", "num_of_st", ",", "we", "will", "emit", "the", "following", "sequence", "to", "zero", "them", "together", ":", "fldz", ";", "\\", "fldz", ";", "\\", "...", "fldz", ";", "\\", "fstp", "%", "%", "st", "(", "0", ")", ";", "\\", "fstp", "%", "%", "st", "(", "0", ")", ";", "\\", "...", "fstp", "%", "%", "st", "(", "0", ")", ";", "i.e.", ",", "num_of_st", "fldz", "followed", "by", "num_of_st", "fstp", "to", "clear", "the", "stack", "mark", "stack", "slots", "empty", ".", "How", "to", "compute", "the", "num_of_st", ":", "There", "is", "no", "direct", "mapping", "from", "stack", "registers", "to", "hard", "register", "numbers", ".", "If", "one", "stack", "register", "needs", "to", "be", "cleared", ",", "we", "do", "n't", "know", "where", "in", "the", "stack", "the", "value", "remains", ".", "So", ",", "if", "any", "stack", "register", "needs", "to", "be", "cleared", ",", "the", "whole", "stack", "should", "be", "cleared", ".", "However", ",", "x87", "stack", "registers", "that", "hold", "the", "return", "value", "should", "be", "excluded", ".", "x87", "returns", "in", "the", "top", "(", "two", "for", "complex", "values", ")", "register", ",", "so", "num_of_st", "should", "be", "7/6", "when", "x87", "returns", ",", "otherwise", "it", "will", "be", "8", "."], "TS_V_token": ["i386", "0", "0", "0", "6", "7", "8", "0", "0"], "File": "i3861", "Func": "zero_all_st_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37956, "Length": 228}
{"ground_truth": ["", "static", "rtx", "zero_all_vector_registers", "(", "HARD_REG_SET", "need_zeroed_hardregs", ")", "{", "if", "(", "!", "TARGET_AVX", ")", "return", "NULL", ";", "for", "(", "unsigned", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "(", "IN_RANGE", "(", "regno", ",", "FIRST_SSE_REG", ",", "LAST_SSE_REG", ")", "||", "(", "TARGET_64BIT", "&&", "(", "REX_SSE_REGNO_P", "(", "regno", ")", "||", "(", "TARGET_AVX512F", "&&", "EXT_REX_SSE_REGNO_P", "(", "regno", ")", ")", ")", ")", ")", "&&", "!", "TEST_HARD_REG_BIT", "(", "need_zeroed_hardregs", ",", "regno", ")", ")", "return", "NULL", ";", "return", "gen_avx_vzeroall", "(", ")", ";", "}", ""], "natrual_language": ["Generate", "a", "rtx", "to", "zero", "all", "vector", "registers", "together", "if", "possible", ",", "otherwise", ",", "return", "NULL", "."], "TS_V_token": ["i386", "0"], "File": "i3861", "Func": "zero_all_vector_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37957, "Length": 81}
{"ground_truth": ["", "static", "machine_mode", "zero_call_used_regno_mode", "(", "const", "unsigned", "int", "regno", ")", "{", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", ")", "return", "SImode", ";", "else", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "return", "V4SFmode", ";", "else", "if", "(", "MASK_REGNO_P", "(", "regno", ")", ")", "return", "HImode", ";", "else", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "return", "V2SImode", ";", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "machine_mode", "that", "is", "used", "to", "zero", "register", "REGNO", "."], "TS_V_token": ["i386"], "File": "i3861", "Func": "zero_call_used_regno_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37958, "Length": 59}
{"ground_truth": ["", "rtx", "assign_386_stack_local", "(", "enum", "machine_mode", "mode", ",", "enum", "ix86_stack_slot", "n", ")", "{", "struct", "stack_local_entry", "*", "s", ";", "gcc_assert", "(", "n", "<", "MAX_386_STACK_LOCALS", ")", ";", "for", "(", "s", "=", "ix86_stack_locals", ";", "s", ";", "s", "=", "s", "->", "next", ")", "if", "(", "s", "->", "mode", "==", "mode", "&&", "s", "->", "n", "==", "n", ")", "return", "s", "->", "rtl", ";", "s", "=", "(", "struct", "stack_local_entry", "*", ")", "ggc_alloc", "(", "sizeof", "(", "struct", "stack_local_entry", ")", ")", ";", "s", "->", "n", "=", "n", ";", "s", "->", "mode", "=", "mode", ";", "s", "->", "rtl", "=", "assign_stack_local", "(", "mode", ",", "GET_MODE_SIZE", "(", "mode", ")", ",", "0", ")", ";", "s", "->", "next", "=", "ix86_stack_locals", ";", "ix86_stack_locals", "=", "s", ";", "return", "s", "->", "rtl", ";", "}", ""], "natrual_language": ["Return", "a", "MEM", "corresponding", "to", "a", "stack", "slot", "with", "mode", "MODE", ".", "Allocate", "a", "new", "slot", "if", "necessary", ".", "The", "RTL", "for", "a", "function", "can", "have", "several", "slots", "available", ":", "N", "is", "which", "slot", "to", "use", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "assign_386_stack_local", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37959, "Length": 117}
{"ground_truth": ["", "bool", "constant_address_p", "(", "rtx", "x", ")", "{", "return", "CONSTANT_P", "(", "x", ")", "&&", "legitimate_address_p", "(", "Pmode", ",", "x", ",", "1", ")", ";", "}", ""], "natrual_language": ["Determine", "if", "a", "given", "RTX", "is", "a", "valid", "constant", "address", "."], "TS_V_token": ["i386", "1"], "File": "i3863", "Func": "constant_address_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37960, "Length": 23}
{"ground_truth": ["", "static", "bool", "darwin_local_data_pic", "(", "rtx", "disp", ")", "{", "if", "(", "GET_CODE", "(", "disp", ")", "==", "MINUS", ")", "{", "if", "(", "GET_CODE", "(", "XEXP", "(", "disp", ",", "0", ")", ")", "==", "LABEL_REF", "||", "GET_CODE", "(", "XEXP", "(", "disp", ",", "0", ")", ")", "==", "SYMBOL_REF", ")", "if", "(", "GET_CODE", "(", "XEXP", "(", "disp", ",", "1", ")", ")", "==", "SYMBOL_REF", ")", "{", "const", "char", "*", "sym_name", "=", "XSTR", "(", "XEXP", "(", "disp", ",", "1", ")", ",", "0", ")", ";", "if", "(", "!", "strcmp", "(", "sym_name", ",", "\"\"", ")", ")", "return", "true", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Allow", "{", "LABEL", "|", "SYMBOL", "}", "_REF", "-", "SYMBOL_REF-FOR-PICBASE", "for", "Mach-O", "as", "this", "is", "used", "for", "to", "form", "addresses", "to", "local", "data", "when", "-fPIC", "is", "in", "use", "."], "TS_V_token": ["i386", "0", "0", "1", "1", "0", "\"\""], "File": "i3863", "Func": "darwin_local_data_pic", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37961, "Length": 95}
{"ground_truth": ["", "static", "int", "extended_reg_mentioned_1", "(", "rtx", "*", "p", ",", "void", "*", "data", "ATTRIBUTE_UNUSED", ")", "{", "unsigned", "int", "regno", ";", "if", "(", "!", "REG_P", "(", "*", "p", ")", ")", "return", "0", ";", "regno", "=", "REGNO", "(", "*", "p", ")", ";", "return", "REX_INT_REGNO_P", "(", "regno", ")", "||", "REX_SSE_REGNO_P", "(", "regno", ")", ";", "}", ""], "natrual_language": ["Return", "nonzero", "when", "P", "points", "to", "register", "encoded", "via", "REX", "prefix", ".", "Called", "via", "for_each_rtx", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "extended_reg_mentioned_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37962, "Length": 50}
{"ground_truth": ["", "static", "rtx", "gen_push", "(", "rtx", "arg", ")", "{", "return", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ",", "arg", ")", ";", "}", ""], "natrual_language": ["Code", "to", "generate", "prologue", "and", "epilogue", "sequences"], "TS_V_token": ["i386"], "File": "i3863", "Func": "gen_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37963, "Length": 29}
{"ground_truth": ["", "static", "rtx", "gen_reg_or_parallel", "(", "enum", "machine_mode", "mode", ",", "enum", "machine_mode", "orig_mode", ",", "unsigned", "int", "regno", ")", "{", "rtx", "tmp", ";", "if", "(", "orig_mode", "!=", "BLKmode", ")", "tmp", "=", "gen_rtx_REG", "(", "orig_mode", ",", "regno", ")", ";", "else", "{", "tmp", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "tmp", "=", "gen_rtx_EXPR_LIST", "(", "VOIDmode", ",", "tmp", ",", "const0_rtx", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "orig_mode", ",", "gen_rtvec", "(", "1", ",", "tmp", ")", ")", ";", "}", "return", "tmp", ";", "}", ""], "natrual_language": ["We", "want", "to", "pass", "a", "value", "in", "REGNO", "whose", "``", "natural", "''", "mode", "is", "MODE", ".", "However", ",", "this", "may", "not", "agree", "with", "the", "mode", "that", "the", "type", "system", "has", "chosen", "for", "the", "register", ",", "which", "is", "ORIG_MODE", ".", "If", "ORIG_MODE", "is", "not", "BLKmode", ",", "then", "we", "can", "go", "ahead", "and", "use", "it", ".", "Otherwise", "we", "have", "to", "build", "a", "PARALLEL", "instead", "."], "TS_V_token": ["i386", "1"], "File": "i3863", "Func": "gen_reg_or_parallel", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37964, "Length": 76}
{"ground_truth": ["", "static", "int", "get_element_number", "(", "tree", "vec_type", ",", "tree", "arg", ")", "{", "unsigned", "HOST_WIDE_INT", "elt", ",", "max", "=", "TYPE_VECTOR_SUBPARTS", "(", "vec_type", ")", "-", "1", ";", "if", "(", "!", "host_integerp", "(", "arg", ",", "1", ")", "||", "(", "elt", "=", "tree_low_cst", "(", "arg", ",", "1", ")", ",", "elt", ">", "max", ")", ")", "{", "error", "(", "\"selector must be an integer constant in the range 0..%wi\"", ",", "max", ")", ";", "return", "0", ";", "}", "return", "elt", ";", "}", ""], "natrual_language": ["Return", "the", "integer", "constant", "in", "ARG", ".", "Constrain", "it", "to", "be", "in", "the", "range", "of", "the", "subparts", "of", "VEC_TYPE", ";", "issue", "an", "error", "if", "not", "."], "TS_V_token": ["i386", "1", "1", "1", "\"selector must be an integer constant in the range 0..%wi\"", "0"], "File": "i3863", "Func": "get_element_number", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37965, "Length": 65}
{"ground_truth": ["", "static", "void", "get_pc_thunk_name", "(", "char", "name", "[", "32", "]", ",", "unsigned", "int", "regno", ")", "{", "if", "(", "USE_HIDDEN_LINKONCE", ")", "sprintf", "(", "name", ",", "\"__i686.get_pc_thunk.%s\"", ",", "reg_names", "[", "regno", "]", ")", ";", "else", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LPR\"", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Fills", "in", "the", "label", "name", "that", "should", "be", "used", "for", "a", "pc", "thunk", "for", "the", "given", "register", "."], "TS_V_token": ["i386", "32", "\"__i686.get_pc_thunk.%s\"", "\"LPR\""], "File": "i3863", "Func": "get_pc_thunk_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37966, "Length": 42}
{"ground_truth": ["", "static", "const", "char", "*", "get_some_local_dynamic_name", "(", "void", ")", "{", "rtx", "insn", ";", "if", "(", "cfun", "->", "machine", "->", "some_ld_name", ")", "return", "cfun", "->", "machine", "->", "some_ld_name", ";", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "if", "(", "INSN_P", "(", "insn", ")", "&&", "for_each_rtx", "(", "&", "PATTERN", "(", "insn", ")", ",", "get_some_local_dynamic_name_1", ",", "0", ")", ")", "return", "cfun", "->", "machine", "->", "some_ld_name", ";", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Locate", "some", "local-dynamic", "symbol", "still", "in", "use", "by", "this", "function", "so", "that", "we", "can", "print", "its", "name", "in", "local-dynamic", "base", "patterns", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "get_some_local_dynamic_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37967, "Length": 76}
{"ground_truth": ["", "static", "int", "get_some_local_dynamic_name_1", "(", "rtx", "*", "px", ",", "void", "*", "data", "ATTRIBUTE_UNUSED", ")", "{", "rtx", "x", "=", "*", "px", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_DYNAMIC", ")", "{", "cfun", "->", "machine", "->", "some_ld_name", "=", "XSTR", "(", "x", ",", "0", ")", ";", "return", "1", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["See", "'get_some_local_dynamic_name", "'", "."], "TS_V_token": ["i386", "0", "1", "0"], "File": "i3863", "Func": "get_some_local_dynamic_name_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37968, "Length": 58}
{"ground_truth": ["", "static", "rtx", "get_thread_pointer", "(", "int", "to_reg", ")", "{", "rtx", "tp", ",", "reg", ",", "insn", ";", "tp", "=", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ",", "UNSPEC_TP", ")", ";", "if", "(", "!", "to_reg", ")", "return", "tp", ";", "reg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "insn", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "reg", ",", "tp", ")", ";", "insn", "=", "emit_insn", "(", "insn", ")", ";", "return", "reg", ";", "}", ""], "natrual_language": ["Load", "the", "thread", "pointer", ".", "If", "TO_REG", "is", "true", ",", "force", "it", "into", "a", "register", "."], "TS_V_token": ["i386", "1"], "File": "i3863", "Func": "get_thread_pointer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37969, "Length": 68}
{"ground_truth": ["", "static", "void", "i386_output_dwarf_dtprel", "(", "FILE", "*", "file", ",", "int", "size", ",", "rtx", "x", ")", "{", "fputs", "(", "ASM_LONG", ",", "file", ")", ";", "output_addr_const", "(", "file", ",", "x", ")", ";", "fputs", "(", "\"@DTPOFF\"", ",", "file", ")", ";", "switch", "(", "size", ")", "{", "case", "4", ":", "break", ";", "case", "8", ":", "fputs", "(", "\", 0\"", ",", "file", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["This", "is", "called", "from", "dwarf2out.cc", "via", "TARGET_ASM_OUTPUT_DWARF_DTPREL", ".", "We", "need", "to", "emit", "DTP-relative", "relocations", "."], "TS_V_token": ["i386", "\"@DTPOFF\"", "4", "8", "\", 0\""], "File": "i3863", "Func": "i386_output_dwarf_dtprel", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37970, "Length": 66}
{"ground_truth": ["", "static", "void", "i386_solaris_elf_named_section", "(", "const", "char", "*", "name", ",", "unsigned", "int", "flags", ",", "tree", "decl", ")", "{", "if", "(", "TARGET_64BIT", "&&", "strcmp", "(", "name", ",", "\".eh_frame\"", ")", "==", "0", ")", "{", "fprintf", "(", "asm_out_file", ",", "\"\\t.section\\t%s,\\\"%s\\\",@unwind\\n\"", ",", "name", ",", "flags", "&", "SECTION_WRITE", "?", "\"aw\"", ":", "\"a\"", ")", ";", "return", ";", "}", "default_elf_asm_named_section", "(", "name", ",", "flags", ",", "decl", ")", ";", "}", ""], "natrual_language": ["Solaris", "named-section", "hook", ".", "Parameters", "are", "as", "for", "named_section_real", "."], "TS_V_token": ["i386", "\".eh_frame\"", "0", "\"\\t.section\\t%s,\\\"%s\\\",@unwind\\n\"", "\"aw\"", "\"a\""], "File": "i3863", "Func": "i386_solaris_elf_named_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37971, "Length": 61}
{"ground_truth": ["", "static", "int", "ia32_multipass_dfa_lookahead", "(", "void", ")", "{", "if", "(", "ix86_tune", "==", "PROCESSOR_PENTIUM", ")", "return", "2", ";", "if", "(", "ix86_tune", "==", "PROCESSOR_PENTIUMPRO", "||", "ix86_tune", "==", "PROCESSOR_K6", ")", "return", "1", ";", "else", "return", "0", ";", "}", ""], "natrual_language": ["How", "many", "alternative", "schedules", "to", "try", ".", "This", "should", "be", "as", "wide", "as", "the", "scheduling", "freedom", "in", "the", "DFA", ",", "but", "no", "wider", ".", "Making", "this", "value", "too", "large", "results", "extra", "work", "for", "the", "scheduler", "."], "TS_V_token": ["i386", "2", "1", "0"], "File": "i3863", "Func": "ia32_multipass_dfa_lookahead", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37972, "Length": 34}
{"ground_truth": ["", "void", "init_cumulative_args", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "tree", "fntype", ",", "rtx", "libname", ",", "tree", "fndecl", ")", "{", "static", "CUMULATIVE_ARGS", "zero_cum", ";", "tree", "param", ",", "next_param", ";", "if", "(", "TARGET_DEBUG_ARG", ")", "{", "fprintf", "(", "stderr", ",", "\"\\ninit_cumulative_args (\"", ")", ";", "if", "(", "fntype", ")", "fprintf", "(", "stderr", ",", "\"fntype code = %s, ret code = %s\"", ",", "tree_code_name", "[", "(", "int", ")", "TREE_CODE", "(", "fntype", ")", "]", ",", "tree_code_name", "[", "(", "int", ")", "TREE_CODE", "(", "TREE_TYPE", "(", "fntype", ")", ")", "]", ")", ";", "else", "fprintf", "(", "stderr", ",", "\"no fntype\"", ")", ";", "if", "(", "libname", ")", "fprintf", "(", "stderr", ",", "\", libname = %s\"", ",", "XSTR", "(", "libname", ",", "0", ")", ")", ";", "}", "*", "cum", "=", "zero_cum", ";", "cum", "->", "nregs", "=", "ix86_regparm", ";", "if", "(", "TARGET_SSE", ")", "cum", "->", "sse_nregs", "=", "SSE_REGPARM_MAX", ";", "if", "(", "TARGET_MMX", ")", "cum", "->", "mmx_nregs", "=", "MMX_REGPARM_MAX", ";", "cum", "->", "warn_sse", "=", "true", ";", "cum", "->", "warn_mmx", "=", "true", ";", "cum", "->", "maybe_vaarg", "=", "false", ";", "if", "(", "fntype", "&&", "!", "TARGET_64BIT", ")", "{", "if", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "{", "cum", "->", "nregs", "=", "2", ";", "cum", "->", "fastcall", "=", "1", ";", "}", "else", "cum", "->", "nregs", "=", "ix86_function_regparm", "(", "fntype", ",", "fndecl", ")", ";", "}", "cum", "->", "float_in_sse", "=", "ix86_function_sseregparm", "(", "fntype", ",", "fndecl", ")", ";", "if", "(", "cum", "->", "nregs", "||", "cum", "->", "mmx_nregs", "||", "cum", "->", "sse_nregs", ")", "{", "for", "(", "param", "=", "(", "fntype", ")", "?", "TYPE_ARG_TYPES", "(", "fntype", ")", ":", "0", ";", "param", "!=", "0", ";", "param", "=", "next_param", ")", "{", "next_param", "=", "TREE_CHAIN", "(", "param", ")", ";", "if", "(", "next_param", "==", "0", "&&", "TREE_VALUE", "(", "param", ")", "!=", "void_type_node", ")", "{", "if", "(", "!", "TARGET_64BIT", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cum", "->", "sse_nregs", "=", "0", ";", "cum", "->", "mmx_nregs", "=", "0", ";", "cum", "->", "warn_sse", "=", "0", ";", "cum", "->", "warn_mmx", "=", "0", ";", "cum", "->", "fastcall", "=", "0", ";", "cum", "->", "float_in_sse", "=", "0", ";", "}", "cum", "->", "maybe_vaarg", "=", "true", ";", "}", "}", "}", "if", "(", "(", "!", "fntype", "&&", "!", "libname", ")", "||", "(", "fntype", "&&", "!", "TYPE_ARG_TYPES", "(", "fntype", ")", ")", ")", "cum", "->", "maybe_vaarg", "=", "true", ";", "if", "(", "TARGET_DEBUG_ARG", ")", "fprintf", "(", "stderr", ",", "\", nregs=%d )\\n\"", ",", "cum", "->", "nregs", ")", ";", "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": ["i386", "\"\\ninit_cumulative_args (\"", "\"fntype code = %s, ret code = %s\"", "\"no fntype\"", "\", libname = %s\"", "0", "\"fastcall\"", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "\", nregs=%d )\\n\""], "File": "i3863", "Func": "init_cumulative_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37973, "Length": 370}
{"ground_truth": ["", "static", "int", "ix86_address_cost", "(", "rtx", "x", ")", "{", "struct", "ix86_address", "parts", ";", "int", "cost", "=", "1", ";", "int", "ok", "=", "ix86_decompose_address", "(", "x", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "parts", ".", "base", "&&", "GET_CODE", "(", "parts", ".", "base", ")", "==", "SUBREG", ")", "parts", ".", "base", "=", "SUBREG_REG", "(", "parts", ".", "base", ")", ";", "if", "(", "parts", ".", "index", "&&", "GET_CODE", "(", "parts", ".", "index", ")", "==", "SUBREG", ")", "parts", ".", "index", "=", "SUBREG_REG", "(", "parts", ".", "index", ")", ";", "if", "(", "parts", ".", "disp", "&&", "parts", ".", "disp", "!=", "const0_rtx", ")", "cost", "--", ";", "if", "(", "parts", ".", "seg", "!=", "SEG_DEFAULT", ")", "cost", "--", ";", "if", "(", "(", "parts", ".", "base", "&&", "(", "!", "REG_P", "(", "parts", ".", "base", ")", "||", "REGNO", "(", "parts", ".", "base", ")", ">=", "FIRST_PSEUDO_REGISTER", ")", ")", "||", "(", "parts", ".", "index", "&&", "(", "!", "REG_P", "(", "parts", ".", "index", ")", "||", "REGNO", "(", "parts", ".", "index", ")", ">=", "FIRST_PSEUDO_REGISTER", ")", ")", ")", "cost", "++", ";", "if", "(", "parts", ".", "base", "&&", "(", "!", "REG_P", "(", "parts", ".", "base", ")", "||", "REGNO", "(", "parts", ".", "base", ")", ">=", "FIRST_PSEUDO_REGISTER", ")", "&&", "parts", ".", "index", "&&", "(", "!", "REG_P", "(", "parts", ".", "index", ")", "||", "REGNO", "(", "parts", ".", "index", ")", ">=", "FIRST_PSEUDO_REGISTER", ")", "&&", "parts", ".", "base", "!=", "parts", ".", "index", ")", "cost", "++", ";", "if", "(", "TARGET_K6", "&&", "(", "(", "!", "parts", ".", "disp", "&&", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "!=", "1", ")", "||", "(", "parts", ".", "disp", "&&", "!", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "!=", "1", ")", "||", "(", "!", "parts", ".", "disp", "&&", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "==", "1", ")", ")", ")", "cost", "+=", "10", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "the", "memory", "address", "x", ".", "For", "i386", ",", "it", "is", "better", "to", "use", "a", "complex", "address", "than", "let", "gcc", "copy", "the", "address", "into", "a", "reg", "and", "make", "a", "new", "pseudo", ".", "But", "not", "if", "the", "address", "requires", "to", "two", "regs", "-", "that", "would", "mean", "more", "pseudos", "with", "longer", "lifetimes", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "10"], "File": "i3863", "Func": "ix86_address_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37974, "Length": 302}
{"ground_truth": ["", "static", "int", "ix86_adjust_cost", "(", "rtx", "insn", ",", "rtx", "link", ",", "rtx", "dep_insn", ",", "int", "cost", ")", "{", "enum", "attr_type", "insn_type", ",", "dep_insn_type", ";", "enum", "attr_memory", "memory", ";", "rtx", "set", ",", "set2", ";", "int", "dep_insn_code_number", ";", "if", "(", "REG_NOTE_KIND", "(", "link", ")", "!=", "0", ")", "return", "0", ";", "dep_insn_code_number", "=", "recog_memoized", "(", "dep_insn", ")", ";", "if", "(", "dep_insn_code_number", "<", "0", "||", "recog_memoized", "(", "insn", ")", "<", "0", ")", "return", "cost", ";", "insn_type", "=", "get_attr_type", "(", "insn", ")", ";", "dep_insn_type", "=", "get_attr_type", "(", "dep_insn", ")", ";", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "if", "(", "ix86_agi_dependant", "(", "insn", ",", "dep_insn", ",", "insn_type", ")", ")", "cost", "+=", "1", ";", "if", "(", "ix86_flags_dependant", "(", "insn", ",", "dep_insn", ",", "insn_type", ")", ")", "cost", "=", "0", ";", "if", "(", "insn_type", "==", "TYPE_FMOV", "&&", "get_attr_memory", "(", "insn", ")", "==", "MEMORY_STORE", "&&", "!", "ix86_agi_dependant", "(", "insn", ",", "dep_insn", ",", "insn_type", ")", ")", "cost", "+=", "1", ";", "break", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "memory", "=", "get_attr_memory", "(", "insn", ")", ";", "if", "(", "get_attr_fp_int_src", "(", "dep_insn", ")", ")", "cost", "+=", "5", ";", "if", "(", "insn_type", "==", "TYPE_FMOV", "&&", "(", "set", "=", "single_set", "(", "dep_insn", ")", ")", "!=", "NULL_RTX", "&&", "(", "set2", "=", "single_set", "(", "insn", ")", ")", "!=", "NULL_RTX", "&&", "rtx_equal_p", "(", "SET_DEST", "(", "set", ")", ",", "SET_SRC", "(", "set2", ")", ")", "&&", "GET_CODE", "(", "SET_DEST", "(", "set2", ")", ")", "==", "MEM", ")", "cost", "+=", "1", ";", "if", "(", "(", "memory", "==", "MEMORY_LOAD", "||", "memory", "==", "MEMORY_BOTH", ")", "&&", "!", "ix86_agi_dependant", "(", "insn", ",", "dep_insn", ",", "insn_type", ")", ")", "{", "if", "(", "dep_insn_type", "==", "TYPE_IMOV", "||", "dep_insn_type", "==", "TYPE_FMOV", ")", "cost", "=", "1", ";", "else", "if", "(", "cost", ">", "1", ")", "cost", "--", ";", "}", "break", ";", "case", "PROCESSOR_K6", ":", "memory", "=", "get_attr_memory", "(", "insn", ")", ";", "if", "(", "(", "insn_type", "==", "TYPE_PUSH", "||", "insn_type", "==", "TYPE_POP", ")", "&&", "(", "dep_insn_type", "==", "TYPE_PUSH", "||", "dep_insn_type", "==", "TYPE_POP", ")", ")", "return", "1", ";", "if", "(", "get_attr_fp_int_src", "(", "dep_insn", ")", ")", "cost", "+=", "5", ";", "if", "(", "(", "memory", "==", "MEMORY_LOAD", "||", "memory", "==", "MEMORY_BOTH", ")", "&&", "!", "ix86_agi_dependant", "(", "insn", ",", "dep_insn", ",", "insn_type", ")", ")", "{", "if", "(", "dep_insn_type", "==", "TYPE_IMOV", "||", "dep_insn_type", "==", "TYPE_FMOV", ")", "cost", "=", "1", ";", "else", "if", "(", "cost", ">", "2", ")", "cost", "-=", "2", ";", "else", "cost", "=", "1", ";", "}", "break", ";", "case", "PROCESSOR_ATHLON", ":", "case", "PROCESSOR_K8", ":", "memory", "=", "get_attr_memory", "(", "insn", ")", ";", "if", "(", "(", "memory", "==", "MEMORY_LOAD", "||", "memory", "==", "MEMORY_BOTH", ")", "&&", "!", "ix86_agi_dependant", "(", "insn", ",", "dep_insn", ",", "insn_type", ")", ")", "{", "enum", "attr_unit", "unit", "=", "get_attr_unit", "(", "insn", ")", ";", "int", "loadcost", "=", "3", ";", "if", "(", "unit", "==", "UNIT_INTEGER", "||", "unit", "==", "UNIT_UNKNOWN", ")", "loadcost", "=", "3", ";", "else", "loadcost", "=", "TARGET_ATHLON", "?", "2", ":", "0", ";", "if", "(", "cost", ">=", "loadcost", ")", "cost", "-=", "loadcost", ";", "else", "cost", "=", "0", ";", "}", "default", ":", "break", ";", "}", "return", "cost", ";", "}", ""], "natrual_language": ["This", "function", "corrects", "the", "value", "of", "COST", "(", "latency", ")", "based", "on", "the", "relationship", "between", "INSN", "and", "DEP_INSN", "through", "a", "dependence", "of", "type", "DEP_TYPE", ",", "and", "strength", "DW", ".", "It", "should", "return", "the", "new", "value", ".", "On", "x86", "CPUs", "this", "is", "most", "commonly", "used", "to", "model", "the", "fact", "that", "valus", "of", "registers", "used", "to", "compute", "address", "of", "memory", "operand", "needs", "to", "be", "ready", "earlier", "than", "values", "of", "registers", "used", "in", "the", "actual", "operation", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "1", "0", "1", "5", "1", "1", "1", "1", "5", "1", "2", "2", "1", "3", "3", "2", "0", "0"], "File": "i3863", "Func": "ix86_adjust_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37975, "Length": 477}
{"ground_truth": ["", "static", "void", "ix86_adjust_counter", "(", "rtx", "countreg", ",", "HOST_WIDE_INT", "value", ")", "{", "if", "(", "GET_MODE", "(", "countreg", ")", "==", "DImode", ")", "emit_insn", "(", "gen_adddi3", "(", "countreg", ",", "countreg", ",", "GEN_INT", "(", "-", "value", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_addsi3", "(", "countreg", ",", "countreg", ",", "GEN_INT", "(", "-", "value", ")", ")", ")", ";", "}", ""], "natrual_language": ["Adjust", "COUNTER", "by", "the", "VALUE", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_adjust_counter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37976, "Length": 54}
{"ground_truth": ["", "static", "int", "ix86_agi_dependant", "(", "rtx", "insn", ",", "rtx", "dep_insn", ",", "enum", "attr_type", "insn_type", ")", "{", "rtx", "addr", ";", "if", "(", "insn_type", "==", "TYPE_LEA", "&&", "TARGET_PENTIUM", ")", "{", "addr", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PARALLEL", ")", "addr", "=", "XVECEXP", "(", "addr", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "addr", ")", "==", "SET", ")", ";", "addr", "=", "SET_SRC", "(", "addr", ")", ";", "}", "else", "{", "int", "i", ";", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "GET_CODE", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "==", "MEM", ")", "{", "addr", "=", "XEXP", "(", "recog_data", ".", "operand", "[", "i", "]", ",", "0", ")", ";", "goto", "found", ";", "}", "return", "0", ";", "found", ":", ";", "}", "return", "modified_in_p", "(", "addr", ",", "dep_insn", ")", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_adjust_cost", "--", "return", "true", "iff", "INSN", "has", "a", "memory", "address", "with", "operands", "set", "by", "DEP_INSN", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "0", "0"], "File": "i3863", "Func": "ix86_agi_dependant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37977, "Length": 148}
{"ground_truth": ["", "int", "ix86_attr_length_address_default", "(", "rtx", "insn", ")", "{", "int", "i", ";", "if", "(", "get_attr_type", "(", "insn", ")", "==", "TYPE_LEA", ")", "{", "rtx", "set", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "return", "memory_address_length", "(", "SET_SRC", "(", "set", ")", ")", ";", "}", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "GET_CODE", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "==", "MEM", ")", "{", "return", "memory_address_length", "(", "XEXP", "(", "recog_data", ".", "operand", "[", "i", "]", ",", "0", ")", ")", ";", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Compute", "default", "value", "for", "``", "length_address", "''", "attribute", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "0", "0"], "File": "i3863", "Func": "ix86_attr_length_address_default", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37978, "Length": 128}
{"ground_truth": ["", "int", "ix86_attr_length_immediate_default", "(", "rtx", "insn", ",", "int", "shortform", ")", "{", "int", "len", "=", "0", ";", "int", "i", ";", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "CONSTANT_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "gcc_assert", "(", "!", "len", ")", ";", "if", "(", "shortform", "&&", "GET_CODE", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "==", "CONST_INT", "&&", "CONST_OK_FOR_LETTER_P", "(", "INTVAL", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ",", "'K'", ")", ")", "len", "=", "1", ";", "else", "{", "switch", "(", "get_attr_mode", "(", "insn", ")", ")", "{", "case", "MODE_QI", ":", "len", "+=", "1", ";", "break", ";", "case", "MODE_HI", ":", "len", "+=", "2", ";", "break", ";", "case", "MODE_SI", ":", "len", "+=", "4", ";", "break", ";", "case", "MODE_DI", ":", "len", "+=", "4", ";", "break", ";", "default", ":", "fatal_insn", "(", "\"unknown insn mode\"", ",", "insn", ")", ";", "}", "}", "}", "return", "len", ";", "}", ""], "natrual_language": ["Compute", "default", "value", "for", "``", "length_immediate", "''", "attribute", ".", "When", "SHORTFORM", "is", "set", "expect", "that", "insn", "have", "8bit", "immediate", "alternative", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "1", "2", "4", "4", "\"unknown insn mode\""], "File": "i3863", "Func": "ix86_attr_length_immediate_default", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37979, "Length": 156}
{"ground_truth": ["", "static", "void", "ix86_avoid_jump_misspredicts", "(", "void", ")", "{", "rtx", "insn", ",", "start", "=", "get_insns", "(", ")", ";", "int", "nbytes", "=", "0", ",", "njumps", "=", "0", ";", "int", "isjump", "=", "0", ";", "for", "(", "insn", "=", "get_insns", "(", ")", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "nbytes", "+=", "min_insn_size", "(", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Insn %i estimated to %i bytes\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "min_insn_size", "(", "insn", ")", ")", ";", "if", "(", "(", "GET_CODE", "(", "insn", ")", "==", "JUMP_INSN", "&&", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "!=", "ADDR_VEC", "&&", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "!=", "ADDR_DIFF_VEC", ")", "||", "GET_CODE", "(", "insn", ")", "==", "CALL_INSN", ")", "njumps", "++", ";", "else", "continue", ";", "while", "(", "njumps", ">", "3", ")", "{", "start", "=", "NEXT_INSN", "(", "start", ")", ";", "if", "(", "(", "GET_CODE", "(", "start", ")", "==", "JUMP_INSN", "&&", "GET_CODE", "(", "PATTERN", "(", "start", ")", ")", "!=", "ADDR_VEC", "&&", "GET_CODE", "(", "PATTERN", "(", "start", ")", ")", "!=", "ADDR_DIFF_VEC", ")", "||", "GET_CODE", "(", "start", ")", "==", "CALL_INSN", ")", "njumps", "--", ",", "isjump", "=", "1", ";", "else", "isjump", "=", "0", ";", "nbytes", "-=", "min_insn_size", "(", "start", ")", ";", "}", "gcc_assert", "(", "njumps", ">=", "0", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Interval %i to %i has %i bytes\\n\"", ",", "INSN_UID", "(", "start", ")", ",", "INSN_UID", "(", "insn", ")", ",", "nbytes", ")", ";", "if", "(", "njumps", "==", "3", "&&", "isjump", "&&", "nbytes", "<", "16", ")", "{", "int", "padsize", "=", "15", "-", "nbytes", "+", "min_insn_size", "(", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Padding insn %i by %i bytes!\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "padsize", ")", ";", "emit_insn_before", "(", "gen_align", "(", "GEN_INT", "(", "padsize", ")", ")", ",", "insn", ")", ";", "}", "}", "}", ""], "natrual_language": ["AMD", "K8", "core", "mispredicts", "jumps", "when", "there", "are", "more", "than", "3", "jumps", "in", "16", "byte", "window", "."], "TS_V_token": ["i386", "0", "0", "0", "\"Insn %i estimated to %i bytes\\n\"", "3", "1", "0", "0", "\"Interval %i to %i has %i bytes\\n\"", "3", "16", "15", "\"Padding insn %i by %i bytes!\\n\""], "File": "i3863", "Func": "ix86_avoid_jump_misspredicts", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37980, "Length": 281}
{"ground_truth": ["", "int", "ix86_binary_operator_ok", "(", "enum", "rtx_code", "code", ",", "enum", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "rtx", "operands", "[", "3", "]", ")", "{", "if", "(", "GET_CODE", "(", "operands", "[", "1", "]", ")", "==", "MEM", "&&", "GET_CODE", "(", "operands", "[", "2", "]", ")", "==", "MEM", ")", "return", "0", ";", "if", "(", "CONSTANT_P", "(", "operands", "[", "1", "]", ")", "&&", "GET_RTX_CLASS", "(", "code", ")", "!=", "RTX_COMM_ARITH", ")", "return", "0", ";", "if", "(", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "MEM", "&&", "!", "(", "rtx_equal_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "1", "]", ")", "||", "(", "GET_RTX_CLASS", "(", "code", ")", "==", "RTX_COMM_ARITH", "&&", "rtx_equal_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ")", ")", ")", ")", "return", "0", ";", "if", "(", "GET_CODE", "(", "operands", "[", "1", "]", ")", "==", "MEM", "&&", "GET_RTX_CLASS", "(", "code", ")", "!=", "RTX_COMM_ARITH", "&&", "!", "rtx_equal_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "1", "]", ")", ")", "return", "0", ";", "return", "1", ";", "}", ""], "natrual_language": ["Return", "TRUE", "or", "FALSE", "depending", "on", "whether", "the", "binary", "operator", "meets", "the", "appropriate", "constraints", "."], "TS_V_token": ["i386", "3", "1", "2", "0", "1", "0", "0", "0", "1", "0", "2", "0", "1", "0", "1", "0", "1"], "File": "i3863", "Func": "ix86_binary_operator_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37981, "Length": 157}
{"ground_truth": ["", "static", "tree", "ix86_build_builtin_va_list", "(", "void", ")", "{", "tree", "f_gpr", ",", "f_fpr", ",", "f_ovf", ",", "f_sav", ",", "record", ",", "type_decl", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", "build_pointer_type", "(", "char_type_node", ")", ";", "record", "=", "(", "*", "lang_hooks", ".", "types", ".", "make_type", ")", "(", "RECORD_TYPE", ")", ";", "type_decl", "=", "build_decl", "(", "TYPE_DECL", ",", "get_identifier", "(", "\"__va_list_tag\"", ")", ",", "record", ")", ";", "f_gpr", "=", "build_decl", "(", "FIELD_DECL", ",", "get_identifier", "(", "\"gp_offset\"", ")", ",", "unsigned_type_node", ")", ";", "f_fpr", "=", "build_decl", "(", "FIELD_DECL", ",", "get_identifier", "(", "\"fp_offset\"", ")", ",", "unsigned_type_node", ")", ";", "f_ovf", "=", "build_decl", "(", "FIELD_DECL", ",", "get_identifier", "(", "\"overflow_arg_area\"", ")", ",", "ptr_type_node", ")", ";", "f_sav", "=", "build_decl", "(", "FIELD_DECL", ",", "get_identifier", "(", "\"reg_save_area\"", ")", ",", "ptr_type_node", ")", ";", "va_list_gpr_counter_field", "=", "f_gpr", ";", "va_list_fpr_counter_field", "=", "f_fpr", ";", "DECL_FIELD_CONTEXT", "(", "f_gpr", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_fpr", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_ovf", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_sav", ")", "=", "record", ";", "TREE_CHAIN", "(", "record", ")", "=", "type_decl", ";", "TYPE_NAME", "(", "record", ")", "=", "type_decl", ";", "TYPE_FIELDS", "(", "record", ")", "=", "f_gpr", ";", "TREE_CHAIN", "(", "f_gpr", ")", "=", "f_fpr", ";", "TREE_CHAIN", "(", "f_fpr", ")", "=", "f_ovf", ";", "TREE_CHAIN", "(", "f_ovf", ")", "=", "f_sav", ";", "layout_type", "(", "record", ")", ";", "return", "build_array_type", "(", "record", ",", "build_index_type", "(", "size_zero_node", ")", ")", ";", "}", ""], "natrual_language": ["Create", "the", "va_list", "data", "type", "."], "TS_V_token": ["i386", "\"__va_list_tag\"", "\"gp_offset\"", "\"fp_offset\"", "\"overflow_arg_area\"", "\"reg_save_area\""], "File": "i3863", "Func": "ix86_build_builtin_va_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37982, "Length": 210}
{"ground_truth": ["", "rtx", "ix86_build_signbit_mask", "(", "enum", "machine_mode", "mode", ",", "bool", "vect", ",", "bool", "invert", ")", "{", "enum", "machine_mode", "vec_mode", ";", "HOST_WIDE_INT", "hi", ",", "lo", ";", "int", "shift", "=", "63", ";", "rtvec", "v", ";", "rtx", "mask", ";", "if", "(", "mode", "==", "SFmode", ")", "lo", "=", "0x80000000", ",", "hi", "=", "lo", "<", "0", ";", "else", "if", "(", "HOST_BITS_PER_WIDE_INT", ">=", "64", ")", "lo", "=", "(", "HOST_WIDE_INT", ")", "1", "<<", "shift", ",", "hi", "=", "-", "1", ";", "else", "lo", "=", "0", ",", "hi", "=", "(", "HOST_WIDE_INT", ")", "1", "<<", "(", "shift", "-", "HOST_BITS_PER_WIDE_INT", ")", ";", "if", "(", "invert", ")", "lo", "=", "~", "lo", ",", "hi", "=", "~", "hi", ";", "mask", "=", "immed_double_const", "(", "lo", ",", "hi", ",", "mode", "==", "SFmode", "?", "SImode", ":", "DImode", ")", ";", "mask", "=", "gen_lowpart", "(", "mode", ",", "mask", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "{", "if", "(", "vect", ")", "v", "=", "gen_rtvec", "(", "4", ",", "mask", ",", "mask", ",", "mask", ",", "mask", ")", ";", "else", "v", "=", "gen_rtvec", "(", "4", ",", "mask", ",", "CONST0_RTX", "(", "SFmode", ")", ",", "CONST0_RTX", "(", "SFmode", ")", ",", "CONST0_RTX", "(", "SFmode", ")", ")", ";", "vec_mode", "=", "V4SFmode", ";", "}", "else", "{", "if", "(", "vect", ")", "v", "=", "gen_rtvec", "(", "2", ",", "mask", ",", "mask", ")", ";", "else", "v", "=", "gen_rtvec", "(", "2", ",", "mask", ",", "CONST0_RTX", "(", "DFmode", ")", ")", ";", "vec_mode", "=", "V2DFmode", ";", "}", "return", "force_reg", "(", "vec_mode", ",", "gen_rtx_CONST_VECTOR", "(", "vec_mode", ",", "v", ")", ")", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_fp_absneg_operator", "and", "copysign", "expanders", ".", "Create", "a", "mask", "for", "the", "sign", "bit", "in", "MODE", "for", "an", "SSE", "register", ".", "If", "VECT", "is", "true", ",", "then", "replicate", "the", "mask", "for", "all", "elements", "of", "the", "vector", "register", ".", "If", "INVERT", "is", "true", ",", "then", "create", "a", "mask", "excluding", "the", "sign", "bit", "."], "TS_V_token": ["i386", "63", "0x80000000", "0", "64", "1", "1", "0", "1", "4", "4", "2", "2"], "File": "i3863", "Func": "ix86_build_signbit_mask", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37983, "Length": 236}
{"ground_truth": ["", "bool", "ix86_cannot_change_mode_class", "(", "enum", "machine_mode", "from", ",", "enum", "machine_mode", "to", ",", "enum", "reg_class", "class", ")", "{", "if", "(", "from", "==", "to", ")", "return", "false", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class", ")", ")", "return", "true", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "class", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class", ")", ")", "{", "if", "(", "GET_MODE_SIZE", "(", "from", ")", "<", "4", ")", "return", "true", ";", "if", "(", "GET_MODE_SIZE", "(", "to", ")", "<", "GET_MODE_SIZE", "(", "from", ")", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "registers", "in", "CLASS", "can", "not", "represent", "the", "change", "from", "modes", "FROM", "to", "TO", "."], "TS_V_token": ["i386", "4"], "File": "i3863", "Func": "ix86_cannot_change_mode_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37984, "Length": 80}
{"ground_truth": ["", "static", "bool", "ix86_cannot_force_const_mem", "(", "rtx", "x", ")", "{", "return", "!", "legitimate_constant_p", "(", "x", ")", ";", "}", ""], "natrual_language": ["Determine", "if", "it", "'s", "legal", "to", "put", "X", "into", "the", "constant", "pool", ".", "This", "is", "not", "possible", "for", "the", "address", "of", "thread-local", "symbols", ",", "which", "is", "checked", "above", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_cannot_force_const_mem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37985, "Length": 16}
{"ground_truth": ["", "int", "ix86_can_use_return_insn_p", "(", "void", ")", "{", "struct", "ix86_frame", "frame", ";", "if", "(", "!", "reload_completed", "||", "frame_pointer_needed", ")", "return", "0", ";", "if", "(", "current_function_pops_args", "&&", "current_function_args_size", ">=", "32768", ")", "return", "0", ";", "ix86_compute_frame_layout", "(", "&", "frame", ")", ";", "return", "frame", ".", "to_allocate", "==", "0", "&&", "frame", ".", "nregs", "==", "0", ";", "}", ""], "natrual_language": ["Return", "1", "if", "it", "is", "appropriate", "to", "emit", "`", "ret", "'", "instructions", "in", "the", "body", "of", "a", "function", ".", "Do", "this", "only", "if", "the", "epilogue", "is", "simple", ",", "needing", "a", "couple", "of", "insns", ".", "Prior", "to", "reloading", ",", "we", "ca", "n't", "tell", "how", "many", "registers", "must", "be", "saved", ",", "so", "return", "0", "then", ".", "Return", "0", "if", "there", "is", "no", "frame", "marker", "to", "de-allocate", "."], "TS_V_token": ["i386", "0", "32768", "0", "0", "0"], "File": "i3863", "Func": "ix86_can_use_return_insn_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37986, "Length": 51}
{"ground_truth": ["", "static", "enum", "machine_mode", "ix86_cc_modes_compatible", "(", "enum", "machine_mode", "m1", ",", "enum", "machine_mode", "m2", ")", "{", "if", "(", "m1", "==", "m2", ")", "return", "m1", ";", "if", "(", "GET_MODE_CLASS", "(", "m1", ")", "!=", "MODE_CC", "||", "GET_MODE_CLASS", "(", "m2", ")", "!=", "MODE_CC", ")", "return", "VOIDmode", ";", "if", "(", "(", "m1", "==", "CCGCmode", "&&", "m2", "==", "CCGOCmode", ")", "||", "(", "m1", "==", "CCGOCmode", "&&", "m2", "==", "CCGCmode", ")", ")", "return", "CCGCmode", ";", "switch", "(", "m1", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "CCmode", ":", "case", "CCGCmode", ":", "case", "CCGOCmode", ":", "case", "CCNOmode", ":", "case", "CCZmode", ":", "switch", "(", "m2", ")", "{", "default", ":", "return", "VOIDmode", ";", "case", "CCmode", ":", "case", "CCGCmode", ":", "case", "CCGOCmode", ":", "case", "CCNOmode", ":", "case", "CCZmode", ":", "return", "CCmode", ";", "}", "case", "CCFPmode", ":", "case", "CCFPUmode", ":", "return", "VOIDmode", ";", "}", "}", ""], "natrual_language": ["If", "two", "condition", "code", "modes", "are", "compatible", ",", "return", "a", "condition", "code", "mode", "which", "is", "compatible", "with", "both", ".", "Otherwise", ",", "return", "VOIDmode", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_cc_modes_compatible", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37987, "Length": 133}
{"ground_truth": ["", "int", "ix86_check_movabs", "(", "rtx", "insn", ",", "int", "opnum", ")", "{", "rtx", "set", ",", "mem", ";", "set", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "mem", "=", "XEXP", "(", "set", ",", "opnum", ")", ";", "while", "(", "GET_CODE", "(", "mem", ")", "==", "SUBREG", ")", "mem", "=", "SUBREG_REG", "(", "mem", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "mem", ")", "==", "MEM", ")", ";", "return", "(", "volatile_ok", "||", "!", "MEM_VOLATILE_P", "(", "mem", ")", ")", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "OPNUM", "'s", "MEM", "should", "be", "matched", "in", "movabs", "*", "patterns", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3863", "Func": "ix86_check_movabs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37988, "Length": 99}
{"ground_truth": ["", "static", "int", "ix86_comp_type_attributes", "(", "tree", "type1", ",", "tree", "type2", ")", "{", "const", "char", "*", "const", "rtdstr", "=", "TARGET_RTD", "?", "\"cdecl\"", ":", "\"stdcall\"", ";", "if", "(", "TREE_CODE", "(", "type1", ")", "!=", "FUNCTION_TYPE", ")", "return", "1", ";", "if", "(", "(", "!", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "||", "(", "ix86_function_regparm", "(", "type1", ",", "NULL", ")", "!=", "ix86_function_regparm", "(", "type2", ",", "NULL", ")", ")", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "\"sseregparm\"", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "\"sseregparm\"", ",", "TYPE_ATTRIBUTES", "(", "type2", ")", ")", ")", "return", "0", ";", "if", "(", "!", "lookup_attribute", "(", "rtdstr", ",", "TYPE_ATTRIBUTES", "(", "type1", ")", ")", "!=", "!", "lookup_attribute", "(", "rtdstr", ",", "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": ["i386", "\"cdecl\"", "\"stdcall\"", "1", "\"fastcall\"", "\"fastcall\"", "0", "\"sseregparm\"", "\"sseregparm\"", "0", "0", "1"], "File": "i3863", "Func": "ix86_comp_type_attributes", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37989, "Length": 138}
{"ground_truth": ["", "int", "ix86_constant_alignment", "(", "tree", "exp", ",", "int", "align", ")", "{", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "REAL_CST", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "exp", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "else", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "exp", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "!", "optimize_size", "&&", "TREE_CODE", "(", "exp", ")", "==", "STRING_CST", "&&", "TREE_STRING_LENGTH", "(", "exp", ")", ">=", "31", "&&", "align", "<", "BITS_PER_WORD", ")", "return", "BITS_PER_WORD", ";", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "given", "to", "a", "constant", "that", "is", "being", "placed", "in", "memory", ".", "EXP", "is", "the", "constant", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "function", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["i386", "64", "64", "128", "128", "31"], "File": "i3863", "Func": "ix86_constant_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37990, "Length": 92}
{"ground_truth": ["", "int", "ix86_data_alignment", "(", "tree", "type", ",", "int", "align", ")", "{", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "(", "TREE_INT_CST_LOW", "(", "TYPE_SIZE", "(", "type", ")", ")", ">=", "256", "||", "TREE_INT_CST_HIGH", "(", "TYPE_SIZE", "(", "type", ")", ")", ")", "&&", "align", "<", "256", ")", "return", "256", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "(", "TREE_INT_CST_LOW", "(", "TYPE_SIZE", "(", "type", ")", ")", ">=", "128", "||", "TREE_INT_CST_HIGH", "(", "TYPE_SIZE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "static", "variable", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "function", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["i386", "256", "256", "256", "128", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i3863", "Func": "ix86_data_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37991, "Length": 343}
{"ground_truth": ["", "static", "rtx", "ix86_delegitimize_address", "(", "rtx", "orig_x", ")", "{", "rtx", "x", "=", "orig_x", ",", "y", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "MEM", ")", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "!=", "CONST", "||", "GET_CODE", "(", "XEXP", "(", "x", ",", "0", ")", ")", "!=", "UNSPEC", "||", "XINT", "(", "XEXP", "(", "x", ",", "0", ")", ",", "1", ")", "!=", "UNSPEC_GOTPCREL", "||", "GET_CODE", "(", "orig_x", ")", "!=", "MEM", ")", "return", "orig_x", ";", "return", "XVECEXP", "(", "XEXP", "(", "x", ",", "0", ")", ",", "0", ",", "0", ")", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "!=", "PLUS", "||", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "!=", "CONST", ")", "return", "orig_x", ";", "if", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "0", ")", ")", "==", "REG", "&&", "REGNO", "(", "XEXP", "(", "x", ",", "0", ")", ")", "==", "PIC_OFFSET_TABLE_REGNUM", ")", "y", "=", "NULL", ";", "else", "if", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "0", ")", ")", "==", "PLUS", ")", "{", "y", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "XEXP", "(", "y", ",", "0", ")", ")", "==", "REG", "&&", "REGNO", "(", "XEXP", "(", "y", ",", "0", ")", ")", "==", "PIC_OFFSET_TABLE_REGNUM", ")", "y", "=", "XEXP", "(", "y", ",", "1", ")", ";", "else", "if", "(", "GET_CODE", "(", "XEXP", "(", "y", ",", "1", ")", ")", "==", "REG", "&&", "REGNO", "(", "XEXP", "(", "y", ",", "1", ")", ")", "==", "PIC_OFFSET_TABLE_REGNUM", ")", "y", "=", "XEXP", "(", "y", ",", "0", ")", ";", "else", "return", "orig_x", ";", "if", "(", "GET_CODE", "(", "y", ")", "!=", "REG", "&&", "GET_CODE", "(", "y", ")", "!=", "MULT", "&&", "GET_CODE", "(", "y", ")", "!=", "ASHIFT", ")", "return", "orig_x", ";", "}", "else", "return", "orig_x", ";", "x", "=", "XEXP", "(", "XEXP", "(", "x", ",", "1", ")", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", "&&", "(", "(", "XINT", "(", "x", ",", "1", ")", "==", "UNSPEC_GOT", "&&", "GET_CODE", "(", "orig_x", ")", "==", "MEM", ")", "||", "(", "XINT", "(", "x", ",", "1", ")", "==", "UNSPEC_GOTOFF", "&&", "GET_CODE", "(", "orig_x", ")", "!=", "MEM", ")", ")", ")", "{", "if", "(", "y", ")", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "y", ",", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ")", ";", "return", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", "&&", "GET_CODE", "(", "XEXP", "(", "x", ",", "0", ")", ")", "==", "UNSPEC", "&&", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "==", "CONST_INT", "&&", "(", "(", "XINT", "(", "XEXP", "(", "x", ",", "0", ")", ",", "1", ")", "==", "UNSPEC_GOT", "&&", "GET_CODE", "(", "orig_x", ")", "==", "MEM", ")", "||", "(", "XINT", "(", "XEXP", "(", "x", ",", "0", ")", ",", "1", ")", "==", "UNSPEC_GOTOFF", "&&", "GET_CODE", "(", "orig_x", ")", "!=", "MEM", ")", ")", ")", "{", "x", "=", "gen_rtx_PLUS", "(", "VOIDmode", ",", "XVECEXP", "(", "XEXP", "(", "x", ",", "0", ")", ",", "0", ",", "0", ")", ",", "XEXP", "(", "x", ",", "1", ")", ")", ";", "if", "(", "y", ")", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "y", ",", "x", ")", ";", "return", "x", ";", "}", "return", "orig_x", ";", "}", ""], "natrual_language": ["In", "the", "name", "of", "slightly", "smaller", "debug", "output", ",", "and", "to", "cater", "to", "general", "assembler", "lossage", ",", "recognize", "PIC+GOTOFF", "and", "turn", "it", "back", "into", "a", "direct", "symbol", "reference", ".", "On", "Darwin", ",", "this", "is", "necessary", "to", "avoid", "a", "crash", ",", "because", "Darwin", "has", "a", "different", "PIC", "label", "for", "each", "routine", "but", "the", "DWARF", "debugging", "information", "is", "not", "associated", "with", "any", "particular", "routine", ",", "so", "it", "'s", "necessary", "to", "remove", "references", "to", "the", "PIC", "label", "from", "RTL", "stored", "by", "the", "DWARF", "output", "code", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "1", "1", "1", "0", "1", "0", "1", "1", "0", "0", "0", "0", "0", "1", "0", "1", "0", "1", "0", "0", "0", "1"], "File": "i3863", "Func": "ix86_delegitimize_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37992, "Length": 510}
{"ground_truth": ["", "static", "void", "ix86_dwarf_handle_frame_unspec", "(", "const", "char", "*", "label", ",", "rtx", "pattern", ",", "int", "index", ")", "{", "rtx", "unspec", "=", "SET_SRC", "(", "pattern", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "unspec", ")", "==", "UNSPEC", ")", ";", "switch", "(", "index", ")", "{", "case", "UNSPEC_REG_SAVE", ":", "dwarf2out_reg_save_reg", "(", "label", ",", "XVECEXP", "(", "unspec", ",", "0", ",", "0", ")", ",", "SET_DEST", "(", "pattern", ")", ")", ";", "break", ";", "case", "UNSPEC_DEF_CFA", ":", "dwarf2out_def_cfa", "(", "label", ",", "REGNO", "(", "SET_DEST", "(", "pattern", ")", ")", ",", "INTVAL", "(", "XVECEXP", "(", "unspec", ",", "0", ",", "0", ")", ")", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Handle", "the", "TARGET_DWARF_HANDLE_FRAME_UNSPEC", "hook", ".", "This", "is", "called", "from", "dwarf2out.c", "to", "emit", "call", "frame", "instructions", "for", "frame-related", "insns", "containing", "UNSPECs", "and", "UNSPEC_VOLATILEs", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i3863", "Func": "ix86_dwarf_handle_frame_unspec", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37993, "Length": 101}
{"ground_truth": ["", "static", "bool", "ix86_eax_live_at_start_p", "(", "void", ")", "{", "return", "REGNO_REG_SET_P", "(", "ENTRY_BLOCK_PTR", "->", "il", ".", "rtl", "->", "global_live_at_end", ",", "0", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "EAX", "is", "live", "at", "the", "start", "of", "the", "function", ".", "Used", "by", "ix86_expand_prologue", "to", "determine", "if", "we", "need", "special", "help", "before", "calling", "allocate_stack_worker", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "ix86_eax_live_at_start_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37994, "Length": 22}
{"ground_truth": ["", "void", "ix86_emit_fp_unordered_jump", "(", "rtx", "label", ")", "{", "rtx", "reg", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "temp", ";", "emit_insn", "(", "gen_x86_fnstsw_1", "(", "reg", ")", ")", ";", "if", "(", "TARGET_USE_SAHF", ")", "{", "emit_insn", "(", "gen_x86_sahf_1", "(", "reg", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_UNORDERED", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "else", "{", "emit_insn", "(", "gen_testqi_ext_ccno_0", "(", "reg", ",", "GEN_INT", "(", "0x04", ")", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_NE", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "temp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "temp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "temp", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "pc_rtx", ",", "temp", ")", ";", "emit_jump_insn", "(", "temp", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "conditional", "jump", "to", "LABEL", ",", "if", "C2", "flag", "in", "FP", "status", "register", "is", "set", "."], "TS_V_token": ["i386", "0x04"], "File": "i3863", "Func": "ix86_emit_fp_unordered_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37995, "Length": 131}
{"ground_truth": ["", "void", "ix86_emit_i387_log1p", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "label1", "=", "gen_label_rtx", "(", ")", ";", "rtx", "label2", "=", "gen_label_rtx", "(", ")", ";", "rtx", "tmp", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "tmp2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "emit_insn", "(", "gen_absxf2", "(", "tmp", ",", "op1", ")", ")", ";", "emit_insn", "(", "gen_cmpxf", "(", "tmp", ",", "CONST_DOUBLE_FROM_REAL_VALUE", "(", "REAL_VALUE_ATOF", "(", "\"0.29289321881345247561810596348408353\"", ",", "XFmode", ")", ",", "XFmode", ")", ")", ")", ";", "emit_jump_insn", "(", "gen_bge", "(", "label1", ")", ")", ";", "emit_move_insn", "(", "tmp2", ",", "standard_80387_constant_rtx", "(", "4", ")", ")", ";", "emit_insn", "(", "gen_fyl2xp1_xf3", "(", "op0", ",", "tmp2", ",", "op1", ")", ")", ";", "emit_jump", "(", "label2", ")", ";", "emit_label", "(", "label1", ")", ";", "emit_move_insn", "(", "tmp", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "tmp", ",", "op1", ",", "tmp", ")", ")", ";", "emit_move_insn", "(", "tmp2", ",", "standard_80387_constant_rtx", "(", "4", ")", ")", ";", "emit_insn", "(", "gen_fyl2x_xf3", "(", "op0", ",", "tmp2", ",", "tmp", ")", ")", ";", "emit_label", "(", "label2", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "log1p", "XFmode", "calculation", "."], "TS_V_token": ["i386", "\"0.29289321881345247561810596348408353\"", "4", "4"], "File": "i3863", "Func": "ix86_emit_i387_log1p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37996, "Length": 160}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_regs_using_mov", "(", "rtx", "pointer", ",", "HOST_WIDE_INT", "offset", ",", "int", "maybe_eh_return", ")", "{", "int", "regno", ";", "rtx", "base_address", "=", "gen_rtx_MEM", "(", "Pmode", ",", "pointer", ")", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "ix86_save_reg", "(", "regno", ",", "maybe_eh_return", ")", ")", "{", "if", "(", "TARGET_64BIT", "&&", "offset", "!=", "trunc_int_for_mode", "(", "offset", ",", "SImode", ")", ")", "{", "rtx", "r11", ";", "r11", "=", "gen_rtx_REG", "(", "DImode", ",", "FIRST_REX_INT_REG", "+", "3", ")", ";", "emit_move_insn", "(", "r11", ",", "GEN_INT", "(", "offset", ")", ")", ";", "emit_insn", "(", "gen_adddi3", "(", "r11", ",", "r11", ",", "pointer", ")", ")", ";", "base_address", "=", "gen_rtx_MEM", "(", "Pmode", ",", "r11", ")", ";", "offset", "=", "0", ";", "}", "emit_move_insn", "(", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ",", "adjust_address", "(", "base_address", ",", "Pmode", ",", "offset", ")", ")", ";", "offset", "+=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "POINTER", "+", "OFFSET", "."], "TS_V_token": ["i386", "0", "3", "0"], "File": "i3863", "Func": "ix86_emit_restore_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37997, "Length": 139}
{"ground_truth": ["", "static", "void", "ix86_emit_save_regs", "(", "void", ")", "{", "unsigned", "int", "regno", ";", "rtx", "insn", ";", "for", "(", "regno", "=", "FIRST_PSEUDO_REGISTER", ";", "regno", "--", ">", "0", ";", ")", "if", "(", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "{", "insn", "=", "emit_insn", "(", "gen_push", "(", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "in", "the", "prologue", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3863", "Func": "ix86_emit_save_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37998, "Length": 60}
{"ground_truth": ["", "static", "void", "ix86_emit_save_regs_using_mov", "(", "rtx", "pointer", ",", "HOST_WIDE_INT", "offset", ")", "{", "unsigned", "int", "regno", ";", "rtx", "insn", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "{", "insn", "=", "emit_move_insn", "(", "adjust_address", "(", "gen_rtx_MEM", "(", "Pmode", ",", "pointer", ")", ",", "Pmode", ",", "offset", ")", ",", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "offset", "+=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "POINTER", "+", "OFFSET", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3863", "Func": "ix86_emit_save_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 37999, "Length": 80}
{"ground_truth": ["", "static", "void", "ix86_encode_section_info", "(", "tree", "decl", ",", "rtx", "rtl", ",", "int", "first", ")", "{", "default_encode_section_info", "(", "decl", ",", "rtl", ",", "first", ")", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "==", "VAR_DECL", "&&", "(", "TREE_STATIC", "(", "decl", ")", "||", "DECL_EXTERNAL", "(", "decl", ")", ")", "&&", "ix86_in_large_data_p", "(", "decl", ")", ")", "SYMBOL_REF_FLAGS", "(", "XEXP", "(", "rtl", ",", "0", ")", ")", "|=", "SYMBOL_FLAG_FAR_ADDR", ";", "}", ""], "natrual_language": ["Implements", "target", "vector", "targetm.asm.encode_section_info", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "ix86_encode_section_info", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38000, "Length": 62}
{"ground_truth": ["", "static", "rtx", "ix86_expand_aligntest", "(", "rtx", "variable", ",", "int", "value", ")", "{", "rtx", "label", "=", "gen_label_rtx", "(", ")", ";", "rtx", "tmpcount", "=", "gen_reg_rtx", "(", "GET_MODE", "(", "variable", ")", ")", ";", "if", "(", "GET_MODE", "(", "variable", ")", "==", "DImode", ")", "emit_insn", "(", "gen_anddi3", "(", "tmpcount", ",", "variable", ",", "GEN_INT", "(", "value", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_andsi3", "(", "tmpcount", ",", "variable", ",", "GEN_INT", "(", "value", ")", ")", ")", ";", "emit_cmp_and_jump_insns", "(", "tmpcount", ",", "const0_rtx", ",", "EQ", ",", "0", ",", "GET_MODE", "(", "variable", ")", ",", "1", ",", "label", ")", ";", "return", "label", ";", "}", ""], "natrual_language": ["Helper", "function", "for", "the", "string", "operations", "below", ".", "Dest", "VARIABLE", "whether", "it", "is", "aligned", "to", "VALUE", "bytes", ".", "If", "true", ",", "jump", "to", "the", "label", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3863", "Func": "ix86_expand_aligntest", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38001, "Length": 93}
{"ground_truth": ["", "static", "void", "ix86_expand_ashl_const", "(", "rtx", "operand", ",", "int", "count", ",", "enum", "machine_mode", "mode", ")", "{", "if", "(", "count", "==", "1", ")", "{", "emit_insn", "(", "(", "mode", "==", "DImode", "?", "gen_addsi3", ":", "gen_adddi3", ")", "(", "operand", ",", "operand", ",", "operand", ")", ")", ";", "}", "else", "if", "(", "!", "optimize_size", "&&", "count", "*", "ix86_cost", "->", "add", "<=", "ix86_cost", "->", "shift_const", ")", "{", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "count", ";", "i", "++", ")", "{", "emit_insn", "(", "(", "mode", "==", "DImode", "?", "gen_addsi3", ":", "gen_adddi3", ")", "(", "operand", ",", "operand", ",", "operand", ")", ")", ";", "}", "}", "else", "emit_insn", "(", "(", "mode", "==", "DImode", "?", "gen_ashlsi3", ":", "gen_ashldi3", ")", "(", "operand", ",", "operand", ",", "GEN_INT", "(", "count", ")", ")", ")", ";", "}", ""], "natrual_language": ["Helper", "function", "of", "ix86_split_ashl", "used", "to", "generate", "an", "SImode/DImode", "left", "shift", "by", "a", "constant", ",", "either", "using", "a", "single", "shift", "or", "a", "sequence", "of", "add", "instructions", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3863", "Func": "ix86_expand_ashl_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38002, "Length": 124}
{"ground_truth": ["", "void", "ix86_expand_binary_operator", "(", "enum", "rtx_code", "code", ",", "enum", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "src1", ",", "src2", ",", "dst", ",", "op", ",", "clob", ";", "dst", "=", "ix86_fixup_binary_operands", "(", "code", ",", "mode", ",", "operands", ")", ";", "src1", "=", "operands", "[", "1", "]", ";", "src2", "=", "operands", "[", "2", "]", ";", "op", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "src1", ",", "src2", ")", ")", ";", "if", "(", "reload_in_progress", ")", "{", "gcc_assert", "(", "code", "==", "PLUS", ")", ";", "emit_insn", "(", "op", ")", ";", "}", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", "if", "(", "dst", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "dst", ")", ";", "}", ""], "natrual_language": ["Attempt", "to", "expand", "a", "binary", "operator", ".", "Make", "the", "expansion", "closer", "to", "the", "actual", "machine", ",", "then", "just", "general_operand", ",", "which", "will", "allow", "3", "separate", "memory", "references", "(", "one", "output", ",", "two", "input", ")", "in", "a", "single", "insn", "."], "TS_V_token": ["i386", "1", "2", "2", "0", "0"], "File": "i3863", "Func": "ix86_expand_binary_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38003, "Length": 145}
{"ground_truth": ["", "static", "rtx", "ix86_expand_binop_builtin", "(", "enum", "insn_code", "icode", ",", "tree", "arglist", ",", "rtx", "target", ")", "{", "rtx", "pat", ",", "xops", "[", "3", "]", ";", "tree", "arg0", "=", "TREE_VALUE", "(", "arglist", ")", ";", "tree", "arg1", "=", "TREE_VALUE", "(", "TREE_CHAIN", "(", "arglist", ")", ")", ";", "rtx", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "rtx", "op1", "=", "expand_expr", "(", "arg1", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "enum", "machine_mode", "tmode", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "enum", "machine_mode", "mode0", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "enum", "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", "(", "optimize", "||", "!", "target", "||", "GET_MODE", "(", "target", ")", "!=", "tmode", "||", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", ")", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "if", "(", "GET_MODE", "(", "op1", ")", "==", "SImode", "&&", "mode1", "==", "TImode", ")", "{", "rtx", "x", "=", "gen_reg_rtx", "(", "V4SImode", ")", ";", "emit_insn", "(", "gen_sse2_loadd", "(", "x", ",", "op1", ")", ")", ";", "op1", "=", "gen_lowpart", "(", "TImode", ",", "x", ")", ";", "}", "gcc_assert", "(", "(", "GET_MODE", "(", "op0", ")", "==", "mode0", "||", "GET_MODE", "(", "op0", ")", "==", "VOIDmode", ")", "&&", "(", "GET_MODE", "(", "op1", ")", "==", "mode1", "||", "GET_MODE", "(", "op1", ")", "==", "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", ")", ";", "xops", "[", "0", "]", "=", "target", ";", "xops", "[", "1", "]", "=", "op0", ";", "xops", "[", "2", "]", "=", "op1", ";", "if", "(", "tmode", "==", "mode0", "&&", "tmode", "==", "mode1", ")", "{", "target", "=", "ix86_fixup_binary_operands", "(", "UNKNOWN", ",", "tmode", ",", "xops", ")", ";", "op0", "=", "xops", "[", "1", "]", ";", "op1", "=", "xops", "[", "2", "]", ";", "}", "else", "if", "(", "optimize", "||", "!", "ix86_binary_operator_ok", "(", "UNKNOWN", ",", "tmode", ",", "xops", ")", ")", "{", "op0", "=", "force_reg", "(", "mode0", ",", "op0", ")", ";", "op1", "=", "force_reg", "(", "mode1", ",", "op1", ")", ";", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "}", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "target", ",", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "binop", "insns", "."], "TS_V_token": ["i386", "3", "0", "0", "0", "1", "2", "0", "1", "2", "0", "1", "2", "1", "2", "0"], "File": "i3863", "Func": "ix86_expand_binop_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38004, "Length": 464}
{"ground_truth": ["", "void", "ix86_expand_clear", "(", "rtx", "dest", ")", "{", "rtx", "tmp", ";", "gcc_assert", "(", "reload_completed", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "GET_MODE", "(", "dest", ")", ")", "<", "4", ")", "dest", "=", "gen_rtx_REG", "(", "SImode", ",", "REGNO", "(", "dest", ")", ")", ";", "tmp", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "const0_rtx", ")", ";", "if", "(", "reload_completed", "&&", "(", "!", "TARGET_USE_MOV0", "||", "optimize_size", ")", ")", "{", "rtx", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "17", ")", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "tmp", ",", "clob", ")", ")", ";", "}", "emit_insn", "(", "tmp", ")", ";", "}", ""], "natrual_language": ["Generate", "either", "``", "mov", "$", "0", ",", "reg", "''", "or", "``", "xor", "reg", ",", "reg", "''", ",", "as", "appropriate", "for", "the", "target", "."], "TS_V_token": ["i386", "4", "17", "2"], "File": "i3863", "Func": "ix86_expand_clear", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38005, "Length": 100}
{"ground_truth": ["", "void", "ix86_expand_copysign", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "op1", ",", "mask", ",", "nmask", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "op1", "=", "operands", "[", "2", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "mode", "==", "SFmode", "?", "V4SFmode", ":", "V2DFmode", ";", "if", "(", "GET_CODE", "(", "op0", ")", "==", "CONST_DOUBLE", ")", "{", "rtvec", "v", ";", "if", "(", "real_isneg", "(", "CONST_DOUBLE_REAL_VALUE", "(", "op0", ")", ")", ")", "op0", "=", "simplify_unary_operation", "(", "ABS", ",", "mode", ",", "op0", ",", "mode", ")", ";", "if", "(", "op0", "==", "CONST0_RTX", "(", "mode", ")", ")", "op0", "=", "CONST0_RTX", "(", "vmode", ")", ";", "else", "{", "if", "(", "mode", "==", "SFmode", ")", "v", "=", "gen_rtvec", "(", "4", ",", "op0", ",", "CONST0_RTX", "(", "SFmode", ")", ",", "CONST0_RTX", "(", "SFmode", ")", ",", "CONST0_RTX", "(", "SFmode", ")", ")", ";", "else", "v", "=", "gen_rtvec", "(", "2", ",", "op0", ",", "CONST0_RTX", "(", "DFmode", ")", ")", ";", "op0", "=", "force_reg", "(", "vmode", ",", "gen_rtx_CONST_VECTOR", "(", "vmode", ",", "v", ")", ")", ";", "}", "mask", "=", "ix86_build_signbit_mask", "(", "mode", ",", "0", ",", "0", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "emit_insn", "(", "gen_copysignsf3_const", "(", "dest", ",", "op0", ",", "op1", ",", "mask", ")", ")", ";", "else", "emit_insn", "(", "gen_copysigndf3_const", "(", "dest", ",", "op0", ",", "op1", ",", "mask", ")", ")", ";", "}", "else", "{", "nmask", "=", "ix86_build_signbit_mask", "(", "mode", ",", "0", ",", "1", ")", ";", "mask", "=", "ix86_build_signbit_mask", "(", "mode", ",", "0", ",", "0", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "emit_insn", "(", "gen_copysignsf3_var", "(", "dest", ",", "NULL", ",", "op0", ",", "op1", ",", "nmask", ",", "mask", ")", ")", ";", "else", "emit_insn", "(", "gen_copysigndf3_var", "(", "dest", ",", "NULL", ",", "op0", ",", "op1", ",", "nmask", ",", "mask", ")", ")", ";", "}", "}", ""], "natrual_language": ["Expand", "a", "copysign", "operation", ".", "Special", "case", "operand", "0", "being", "a", "constant", "."], "TS_V_token": ["i386", "0", "1", "2", "4", "2", "0", "0", "0", "1", "0", "0"], "File": "i3863", "Func": "ix86_expand_copysign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38006, "Length": 294}
{"ground_truth": ["", "void", "ix86_expand_fp_absneg_operator", "(", "enum", "rtx_code", "code", ",", "enum", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "mask", ",", "set", ",", "use", ",", "clob", ",", "dst", ",", "src", ";", "bool", "matching_memory", ";", "bool", "use_sse", "=", "false", ";", "bool", "vector_mode", "=", "VECTOR_MODE_P", "(", "mode", ")", ";", "enum", "machine_mode", "elt_mode", "=", "mode", ";", "if", "(", "vector_mode", ")", "{", "elt_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "use_sse", "=", "true", ";", "}", "else", "if", "(", "TARGET_SSE_MATH", ")", "use_sse", "=", "SSE_FLOAT_MODE_P", "(", "mode", ")", ";", "if", "(", "use_sse", ")", "mask", "=", "ix86_build_signbit_mask", "(", "elt_mode", ",", "vector_mode", ",", "code", "==", "ABS", ")", ";", "else", "{", "mask", "=", "const0_rtx", ";", "}", "dst", "=", "operands", "[", "0", "]", ";", "src", "=", "operands", "[", "1", "]", ";", "matching_memory", "=", "false", ";", "if", "(", "MEM_P", "(", "dst", ")", ")", "{", "if", "(", "rtx_equal_p", "(", "dst", ",", "src", ")", ")", "matching_memory", "=", "true", ";", "else", "dst", "=", "gen_reg_rtx", "(", "mode", ")", ";", "}", "if", "(", "MEM_P", "(", "src", ")", "&&", "!", "matching_memory", ")", "src", "=", "force_reg", "(", "mode", ",", "src", ")", ";", "if", "(", "vector_mode", ")", "{", "set", "=", "gen_rtx_fmt_ee", "(", "code", "==", "NEG", "?", "XOR", ":", "AND", ",", "mode", ",", "src", ",", "mask", ")", ";", "set", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "set", ")", ";", "emit_insn", "(", "set", ")", ";", "}", "else", "{", "set", "=", "gen_rtx_fmt_e", "(", "code", ",", "mode", ",", "src", ")", ";", "set", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "set", ")", ";", "use", "=", "gen_rtx_USE", "(", "VOIDmode", ",", "mask", ")", ";", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "3", ",", "set", ",", "use", ",", "clob", ")", ")", ")", ";", "}", "if", "(", "dst", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "dst", ")", ";", "}", ""], "natrual_language": ["Generate", "code", "for", "floating", "point", "ABS", "or", "NEG", "."], "TS_V_token": ["i386", "0", "1", "3", "0", "0"], "File": "i3863", "Func": "ix86_expand_fp_absneg_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38007, "Length": 300}
{"ground_truth": ["", "int", "ix86_expand_fp_movcc", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "tmp", ",", "compare_op", ",", "second_test", ",", "bypass_test", ";", "if", "(", "TARGET_SSE_MATH", "&&", "SSE_FLOAT_MODE_P", "(", "mode", ")", ")", "{", "enum", "machine_mode", "cmode", ";", "cmode", "=", "GET_MODE", "(", "ix86_compare_op0", ")", ";", "if", "(", "cmode", "==", "VOIDmode", ")", "cmode", "=", "GET_MODE", "(", "ix86_compare_op1", ")", ";", "if", "(", "cmode", "!=", "mode", ")", "return", "0", ";", "code", "=", "ix86_prepare_sse_fp_compare_args", "(", "operands", "[", "0", "]", ",", "code", ",", "&", "ix86_compare_op0", ",", "&", "ix86_compare_op1", ")", ";", "if", "(", "code", "==", "UNKNOWN", ")", "return", "0", ";", "if", "(", "ix86_expand_sse_fp_minmax", "(", "operands", "[", "0", "]", ",", "code", ",", "ix86_compare_op0", ",", "ix86_compare_op1", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ")", "return", "1", ";", "tmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "ix86_compare_op0", ",", "ix86_compare_op1", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "tmp", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ";", "return", "1", ";", "}", "compare_op", "=", "ix86_expand_compare", "(", "code", ",", "&", "second_test", ",", "&", "bypass_test", ")", ";", "if", "(", "!", "fcmov_comparison_operator", "(", "compare_op", ",", "VOIDmode", ")", ")", "{", "gcc_assert", "(", "!", "second_test", "&&", "!", "bypass_test", ")", ";", "tmp", "=", "gen_reg_rtx", "(", "QImode", ")", ";", "ix86_expand_setcc", "(", "code", ",", "tmp", ")", ";", "code", "=", "NE", ";", "ix86_compare_op0", "=", "tmp", ";", "ix86_compare_op1", "=", "const0_rtx", ";", "compare_op", "=", "ix86_expand_compare", "(", "code", ",", "&", "second_test", ",", "&", "bypass_test", ")", ";", "}", "if", "(", "bypass_test", "&&", "reg_overlap_mentioned_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "3", "]", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "tmp", ",", "operands", "[", "3", "]", ")", ";", "operands", "[", "3", "]", "=", "tmp", ";", "}", "if", "(", "second_test", "&&", "reg_overlap_mentioned_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "tmp", ",", "operands", "[", "2", "]", ")", ";", "operands", "[", "2", "]", "=", "tmp", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "operands", "[", "0", "]", ",", "gen_rtx_IF_THEN_ELSE", "(", "mode", ",", "compare_op", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ")", ")", ";", "if", "(", "bypass_test", ")", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "operands", "[", "0", "]", ",", "gen_rtx_IF_THEN_ELSE", "(", "mode", ",", "bypass_test", ",", "operands", "[", "3", "]", ",", "operands", "[", "0", "]", ")", ")", ")", ";", "if", "(", "second_test", ")", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "operands", "[", "0", "]", ",", "gen_rtx_IF_THEN_ELSE", "(", "mode", ",", "second_test", ",", "operands", "[", "2", "]", ",", "operands", "[", "0", "]", ")", ")", ")", ";", "return", "1", ";", "}", ""], "natrual_language": ["Expand", "a", "floating-point", "conditional", "move", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "0", "0", "2", "3", "1", "0", "2", "3", "0", "2", "3", "1", "0", "3", "3", "3", "0", "2", "2", "2", "0", "2", "3", "0", "3", "0", "0", "2", "0", "1"], "File": "i3863", "Func": "ix86_expand_fp_movcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38008, "Length": 452}
{"ground_truth": ["", "bool", "ix86_expand_fp_vcond", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "3", "]", ")", ";", "rtx", "cmp", ";", "code", "=", "ix86_prepare_sse_fp_compare_args", "(", "operands", "[", "0", "]", ",", "code", ",", "&", "operands", "[", "4", "]", ",", "&", "operands", "[", "5", "]", ")", ";", "if", "(", "code", "==", "UNKNOWN", ")", "return", "false", ";", "if", "(", "ix86_expand_sse_fp_minmax", "(", "operands", "[", "0", "]", ",", "code", ",", "operands", "[", "4", "]", ",", "operands", "[", "5", "]", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ")", "return", "true", ";", "cmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "operands", "[", "4", "]", ",", "operands", "[", "5", "]", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "cmp", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "floating-point", "vector", "conditional", "move", ";", "a", "vcond", "operation", "rather", "than", "a", "movcc", "operation", "."], "TS_V_token": ["i386", "3", "0", "4", "5", "0", "4", "5", "1", "2", "0", "4", "5", "1", "2", "0", "1", "2"], "File": "i3863", "Func": "ix86_expand_fp_vcond", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38009, "Length": 148}
{"ground_truth": ["", "int", "ix86_expand_int_addcc", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "compare_op", ";", "rtx", "val", "=", "const0_rtx", ";", "bool", "fpcmp", "=", "false", ";", "enum", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "if", "(", "operands", "[", "3", "]", "!=", "const1_rtx", "&&", "operands", "[", "3", "]", "!=", "constm1_rtx", ")", "return", "0", ";", "if", "(", "!", "ix86_expand_carry_flag_compare", "(", "code", ",", "ix86_compare_op0", ",", "ix86_compare_op1", ",", "&", "compare_op", ")", ")", "return", "0", ";", "code", "=", "GET_CODE", "(", "compare_op", ")", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "compare_op", ",", "0", ")", ")", "==", "CCFPmode", "||", "GET_MODE", "(", "XEXP", "(", "compare_op", ",", "0", ")", ")", "==", "CCFPUmode", ")", "{", "fpcmp", "=", "true", ";", "code", "=", "ix86_fp_compare_code_to_integer", "(", "code", ")", ";", "}", "if", "(", "code", "!=", "LTU", ")", "{", "val", "=", "constm1_rtx", ";", "if", "(", "fpcmp", ")", "PUT_CODE", "(", "compare_op", ",", "reverse_condition_maybe_unordered", "(", "GET_CODE", "(", "compare_op", ")", ")", ")", ";", "else", "PUT_CODE", "(", "compare_op", ",", "reverse_condition", "(", "GET_CODE", "(", "compare_op", ")", ")", ")", ";", "}", "PUT_MODE", "(", "compare_op", ",", "mode", ")", ";", "if", "(", "(", "code", "==", "LTU", ")", "==", "(", "operands", "[", "3", "]", "==", "constm1_rtx", ")", ")", "{", "switch", "(", "GET_MODE", "(", "operands", "[", "0", "]", ")", ")", "{", "case", "QImode", ":", "emit_insn", "(", "gen_subqi3_carry", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "compare_op", ")", ")", ";", "break", ";", "case", "HImode", ":", "emit_insn", "(", "gen_subhi3_carry", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "compare_op", ")", ")", ";", "break", ";", "case", "SImode", ":", "emit_insn", "(", "gen_subsi3_carry", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "compare_op", ")", ")", ";", "break", ";", "case", "DImode", ":", "emit_insn", "(", "gen_subdi3_carry_rex64", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "compare_op", ")", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "{", "switch", "(", "GET_MODE", "(", "operands", "[", "0", "]", ")", ")", "{", "case", "QImode", ":", "emit_insn", "(", "gen_addqi3_carry", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "compare_op", ")", ")", ";", "break", ";", "case", "HImode", ":", "emit_insn", "(", "gen_addhi3_carry", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "compare_op", ")", ")", ";", "break", ";", "case", "SImode", ":", "emit_insn", "(", "gen_addsi3_carry", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "compare_op", ")", ")", ";", "break", ";", "case", "DImode", ":", "emit_insn", "(", "gen_adddi3_carry_rex64", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "compare_op", ")", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "return", "1", ";", "}", ""], "natrual_language": ["Expand", "conditional", "increment", "or", "decrement", "using", "adb/sbb", "instructions", ".", "The", "default", "case", "using", "setcc", "followed", "by", "the", "conditional", "move", "can", "be", "done", "by", "generic", "code", "."], "TS_V_token": ["i386", "1", "0", "3", "3", "0", "0", "0", "0", "3", "0", "0", "2", "0", "2", "0", "2", "0", "2", "0", "0", "2", "0", "2", "0", "2", "0", "2", "1"], "File": "i3863", "Func": "ix86_expand_int_addcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38010, "Length": 441}
{"ground_truth": ["", "static", "rtx", "ix86_expand_int_compare", "(", "enum", "rtx_code", "code", ",", "rtx", "op0", ",", "rtx", "op1", ")", "{", "enum", "machine_mode", "cmpmode", ";", "rtx", "tmp", ",", "flags", ";", "cmpmode", "=", "SELECT_CC_MODE", "(", "code", ",", "op0", ",", "op1", ")", ";", "flags", "=", "gen_rtx_REG", "(", "cmpmode", ",", "FLAGS_REG", ")", ";", "tmp", "=", "gen_rtx_COMPARE", "(", "cmpmode", ",", "op0", ",", "op1", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "flags", ",", "tmp", ")", ")", ";", "return", "gen_rtx_fmt_ee", "(", "code", ",", "VOIDmode", ",", "flags", ",", "const0_rtx", ")", ";", "}", ""], "natrual_language": ["Generate", "insn", "patterns", "to", "do", "an", "integer", "compare", "of", "OPERANDS", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_expand_int_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38011, "Length": 80}
{"ground_truth": ["", "bool", "ix86_expand_int_vcond", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "3", "]", ")", ";", "bool", "negate", "=", "false", ";", "rtx", "x", ",", "cop0", ",", "cop1", ";", "cop0", "=", "operands", "[", "4", "]", ";", "cop1", "=", "operands", "[", "5", "]", ";", "switch", "(", "code", ")", "{", "case", "EQ", ":", "case", "GT", ":", "case", "GTU", ":", "break", ";", "case", "NE", ":", "case", "LE", ":", "case", "LEU", ":", "code", "=", "reverse_condition", "(", "code", ")", ";", "negate", "=", "true", ";", "break", ";", "case", "GE", ":", "case", "GEU", ":", "code", "=", "reverse_condition", "(", "code", ")", ";", "negate", "=", "true", ";", "case", "LT", ":", "case", "LTU", ":", "code", "=", "swap_condition", "(", "code", ")", ";", "x", "=", "cop0", ",", "cop0", "=", "cop1", ",", "cop1", "=", "x", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "code", "==", "GTU", ")", "{", "switch", "(", "mode", ")", "{", "case", "V4SImode", ":", "{", "rtx", "t1", ",", "t2", ",", "mask", ";", "t1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_subv4si3", "(", "t1", ",", "cop0", ",", "cop1", ")", ")", ";", "mask", "=", "GEN_INT", "(", "-", "0x80000000", ")", ";", "mask", "=", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "gen_rtvec", "(", "4", ",", "mask", ",", "mask", ",", "mask", ",", "mask", ")", ")", ";", "mask", "=", "force_reg", "(", "mode", ",", "mask", ")", ";", "t2", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_andv4si3", "(", "t2", ",", "cop0", ",", "mask", ")", ")", ";", "x", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_xorv4si3", "(", "x", ",", "t1", ",", "t2", ")", ")", ";", "code", "=", "GT", ";", "}", "break", ";", "case", "V16QImode", ":", "case", "V8HImode", ":", "x", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "x", ",", "gen_rtx_US_MINUS", "(", "mode", ",", "cop0", ",", "cop1", ")", ")", ")", ";", "code", "=", "EQ", ";", "negate", "=", "!", "negate", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "cop0", "=", "x", ";", "cop1", "=", "CONST0_RTX", "(", "mode", ")", ";", "}", "x", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "cop0", ",", "cop1", ",", "operands", "[", "1", "+", "negate", "]", ",", "operands", "[", "2", "-", "negate", "]", ")", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "x", ",", "operands", "[", "1", "+", "negate", "]", ",", "operands", "[", "2", "-", "negate", "]", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "signed", "integral", "vector", "conditional", "move", "."], "TS_V_token": ["i386", "0", "3", "4", "5", "0x80000000", "4", "0", "1", "2", "0", "1", "2"], "File": "i3863", "Func": "ix86_expand_int_vcond", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38012, "Length": 392}
{"ground_truth": ["", "void", "ix86_expand_push", "(", "enum", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "rtx", "tmp", ";", "tmp", "=", "expand_simple_binop", "(", "Pmode", ",", "PLUS", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "-", "GET_MODE_SIZE", "(", "mode", ")", ")", ",", "stack_pointer_rtx", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "tmp", "!=", "stack_pointer_rtx", ")", "emit_move_insn", "(", "stack_pointer_rtx", ",", "tmp", ")", ";", "tmp", "=", "gen_rtx_MEM", "(", "mode", ",", "stack_pointer_rtx", ")", ";", "emit_move_insn", "(", "tmp", ",", "x", ")", ";", "}", ""], "natrual_language": ["Expand", "a", "push", "in", "MODE", ".", "This", "is", "some", "mode", "for", "which", "we", "do", "not", "support", "proper", "push", "instructions", ",", "at", "least", "from", "the", "registers", "that", "we", "expect", "the", "value", "to", "live", "in", "."], "TS_V_token": ["i386", "1"], "File": "i3863", "Func": "ix86_expand_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38013, "Length": 70}
{"ground_truth": ["", "void", "ix86_expand_reduc_v4sf", "(", "rtx", "(", "*", "fn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ",", "rtx", "dest", ",", "rtx", "in", ")", "{", "rtx", "tmp1", ",", "tmp2", ",", "tmp3", ";", "tmp1", "=", "gen_reg_rtx", "(", "V4SFmode", ")", ";", "tmp2", "=", "gen_reg_rtx", "(", "V4SFmode", ")", ";", "tmp3", "=", "gen_reg_rtx", "(", "V4SFmode", ")", ";", "emit_insn", "(", "gen_sse_movhlps", "(", "tmp1", ",", "in", ",", "in", ")", ")", ";", "emit_insn", "(", "fn", "(", "tmp2", ",", "tmp1", ",", "in", ")", ")", ";", "emit_insn", "(", "gen_sse_shufps_1", "(", "tmp3", ",", "tmp2", ",", "tmp2", ",", "GEN_INT", "(", "1", ")", ",", "GEN_INT", "(", "1", ")", ",", "GEN_INT", "(", "1", "+", "4", ")", ",", "GEN_INT", "(", "1", "+", "4", ")", ")", ")", ";", "emit_insn", "(", "fn", "(", "dest", ",", "tmp2", ",", "tmp3", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "a", "vector", "reduction", "on", "V4SFmode", "for", "SSE1", ".", "FN", "is", "the", "binary", "pattern", "to", "reduce", ";", "DEST", "is", "the", "destination", ";", "IN", "is", "the", "input", "vector", "."], "TS_V_token": ["i386", "1", "1", "1", "4", "1", "4"], "File": "i3863", "Func": "ix86_expand_reduc_v4sf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38014, "Length": 124}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "enum", "machine_mode", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "rtx", "x", ";", "cmp_op0", "=", "force_reg", "(", "mode", ",", "cmp_op0", ")", ";", "if", "(", "!", "nonimmediate_operand", "(", "cmp_op1", ",", "mode", ")", ")", "cmp_op1", "=", "force_reg", "(", "mode", ",", "cmp_op1", ")", ";", "if", "(", "optimize", "||", "reg_overlap_mentioned_p", "(", "dest", ",", "op_true", ")", "||", "reg_overlap_mentioned_p", "(", "dest", ",", "op_false", ")", ")", "dest", "=", "gen_reg_rtx", "(", "mode", ")", ";", "x", "=", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Expand", "an", "sse", "vector", "comparison", ".", "Return", "the", "register", "with", "the", "result", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_expand_sse_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38015, "Length": 118}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_comi", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "arglist", ",", "rtx", "target", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "TREE_VALUE", "(", "arglist", ")", ";", "tree", "arg1", "=", "TREE_VALUE", "(", "TREE_CHAIN", "(", "arglist", ")", ")", ";", "rtx", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "rtx", "op1", "=", "expand_expr", "(", "arg1", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "rtx", "op2", ";", "enum", "machine_mode", "mode0", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "enum", "machine_mode", "mode1", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "enum", "rtx_code", "comparison", "=", "d", "->", "comparison", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "if", "(", "d", "->", "flag", "&", "BUILTIN_DESC_SWAP_OPERANDS", ")", "{", "rtx", "tmp", "=", "op1", ";", "op1", "=", "op0", ";", "op0", "=", "tmp", ";", "}", "target", "=", "gen_reg_rtx", "(", "SImode", ")", ";", "emit_move_insn", "(", "target", ",", "const0_rtx", ")", ";", "target", "=", "gen_rtx_SUBREG", "(", "QImode", ",", "target", ",", "0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "(", "*", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", ")", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op1", ",", "mode1", ")", ")", "||", "!", "(", "*", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", ")", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "op2", "=", "gen_rtx_fmt_ee", "(", "comparison", ",", "mode0", ",", "op0", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "d", "->", "icode", ")", "(", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_STRICT_LOW_PART", "(", "VOIDmode", ",", "target", ")", ",", "gen_rtx_fmt_ee", "(", "comparison", ",", "QImode", ",", "SET_DEST", "(", "pat", ")", ",", "const0_rtx", ")", ")", ")", ";", "return", "SUBREG_REG", "(", "target", ")", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "comi", "insns", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "0", "0", "1", "0"], "File": "i3863", "Func": "ix86_expand_sse_comi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38016, "Length": 362}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_compare", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "arglist", ",", "rtx", "target", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "TREE_VALUE", "(", "arglist", ")", ";", "tree", "arg1", "=", "TREE_VALUE", "(", "TREE_CHAIN", "(", "arglist", ")", ")", ";", "rtx", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "rtx", "op1", "=", "expand_expr", "(", "arg1", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "rtx", "op2", ";", "enum", "machine_mode", "tmode", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "enum", "machine_mode", "mode0", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "enum", "machine_mode", "mode1", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "2", "]", ".", "mode", ";", "enum", "rtx_code", "comparison", "=", "d", "->", "comparison", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "if", "(", "d", "->", "flag", "&", "BUILTIN_DESC_SWAP_OPERANDS", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "mode1", ")", ";", "emit_move_insn", "(", "tmp", ",", "op1", ")", ";", "op1", "=", "op0", ";", "op0", "=", "tmp", ";", "}", "if", "(", "optimize", "||", "!", "target", "||", "GET_MODE", "(", "target", ")", "!=", "tmode", "||", "!", "(", "*", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", ")", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "(", "*", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", ")", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op1", ",", "mode1", ")", ")", "||", "!", "(", "*", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "2", "]", ".", "predicate", ")", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "op2", "=", "gen_rtx_fmt_ee", "(", "comparison", ",", "mode0", ",", "op0", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "d", "->", "icode", ")", "(", "target", ",", "op0", ",", "op1", ",", "op2", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "comparison", "insns", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "2", "0", "1", "2", "0"], "File": "i3863", "Func": "ix86_expand_sse_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38017, "Length": 381}
{"ground_truth": ["", "static", "bool", "ix86_expand_sse_fp_minmax", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "if_true", ",", "rtx", "if_false", ")", "{", "enum", "machine_mode", "mode", ";", "bool", "is_min", ";", "rtx", "tmp", ";", "if", "(", "code", "==", "LT", ")", ";", "else", "if", "(", "code", "==", "UNGE", ")", "{", "tmp", "=", "if_true", ";", "if_true", "=", "if_false", ";", "if_false", "=", "tmp", ";", "}", "else", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "cmp_op0", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op1", ",", "if_false", ")", ")", "is_min", "=", "true", ";", "else", "if", "(", "rtx_equal_p", "(", "cmp_op1", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op0", ",", "if_false", ")", ")", "is_min", "=", "false", ";", "else", "return", "false", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "!", "flag_finite_math_only", "||", "!", "flag_unsafe_math_optimizations", ")", "{", "int", "u", "=", "is_min", "?", "UNSPEC_IEEE_MIN", ":", "UNSPEC_IEEE_MAX", ";", "rtvec", "v", ";", "if_true", "=", "force_reg", "(", "mode", ",", "if_true", ")", ";", "v", "=", "gen_rtvec", "(", "2", ",", "if_true", ",", "if_false", ")", ";", "tmp", "=", "gen_rtx_UNSPEC", "(", "mode", ",", "v", ",", "u", ")", ";", "}", "else", "{", "code", "=", "is_min", "?", "SMIN", ":", "SMAX", ";", "tmp", "=", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "if_true", ",", "if_false", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "tmp", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Detect", "conditional", "moves", "that", "exactly", "match", "min/max", "operational", "semantics", ".", "Note", "that", "this", "is", "IEEE", "safe", ",", "as", "long", "as", "we", "do", "n't", "interchange", "the", "operands", ".", "Returns", "FALSE", "if", "this", "conditional", "move", "does", "n't", "match", "a", "MIN/MAX", ",", "and", "TRUE", "if", "the", "operation", "is", "successful", "and", "instructions", "are", "emitted", "."], "TS_V_token": ["i386", "2"], "File": "i3863", "Func": "ix86_expand_sse_fp_minmax", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38018, "Length": 211}
{"ground_truth": ["", "static", "rtx", "ix86_expand_store_builtin", "(", "enum", "insn_code", "icode", ",", "tree", "arglist", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "TREE_VALUE", "(", "arglist", ")", ";", "tree", "arg1", "=", "TREE_VALUE", "(", "TREE_CHAIN", "(", "arglist", ")", ")", ";", "rtx", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "rtx", "op1", "=", "expand_expr", "(", "arg1", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "enum", "machine_mode", "mode0", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "enum", "machine_mode", "mode1", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "op0", "=", "gen_rtx_MEM", "(", "mode0", ",", "copy_to_mode_reg", "(", "Pmode", ",", "op0", ")", ")", ";", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "op0", ",", "op1", ")", ";", "if", "(", "pat", ")", "emit_insn", "(", "pat", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "stores", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "0"], "File": "i3863", "Func": "ix86_expand_store_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38019, "Length": 158}
{"ground_truth": ["", "int", "ix86_expand_strlen", "(", "rtx", "out", ",", "rtx", "src", ",", "rtx", "eoschar", ",", "rtx", "align", ")", "{", "rtx", "addr", ",", "scratch1", ",", "scratch2", ",", "scratch3", ",", "scratch4", ";", "if", "(", "TARGET_UNROLL_STRLEN", "&&", "eoschar", "==", "const0_rtx", "&&", "optimize", ">", "1", "&&", "!", "TARGET_INLINE_ALL_STRINGOPS", "&&", "!", "optimize_size", "&&", "(", "GET_CODE", "(", "align", ")", "!=", "CONST_INT", "||", "INTVAL", "(", "align", ")", "<", "4", ")", ")", "return", "0", ";", "addr", "=", "force_reg", "(", "Pmode", ",", "XEXP", "(", "src", ",", "0", ")", ")", ";", "scratch1", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "if", "(", "TARGET_UNROLL_STRLEN", "&&", "eoschar", "==", "const0_rtx", "&&", "optimize", ">", "1", "&&", "!", "optimize_size", ")", "{", "emit_move_insn", "(", "out", ",", "addr", ")", ";", "ix86_expand_strlensi_unroll_1", "(", "out", ",", "src", ",", "align", ")", ";", "if", "(", "TARGET_64BIT", ")", "emit_insn", "(", "gen_subdi3", "(", "out", ",", "out", ",", "addr", ")", ")", ";", "else", "emit_insn", "(", "gen_subsi3", "(", "out", ",", "out", ",", "addr", ")", ")", ";", "}", "else", "{", "rtx", "unspec", ";", "scratch2", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "scratch3", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "scratch4", "=", "force_reg", "(", "Pmode", ",", "constm1_rtx", ")", ";", "emit_move_insn", "(", "scratch3", ",", "addr", ")", ";", "eoschar", "=", "force_reg", "(", "QImode", ",", "eoschar", ")", ";", "emit_insn", "(", "gen_cld", "(", ")", ")", ";", "src", "=", "replace_equiv_address_nv", "(", "src", ",", "scratch3", ")", ";", "unspec", "=", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "4", ",", "src", ",", "eoschar", ",", "align", ",", "scratch4", ")", ",", "UNSPEC_SCAS", ")", ";", "emit_insn", "(", "gen_strlenqi_1", "(", "scratch1", ",", "scratch3", ",", "unspec", ")", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "emit_insn", "(", "gen_one_cmpldi2", "(", "scratch2", ",", "scratch1", ")", ")", ";", "emit_insn", "(", "gen_adddi3", "(", "out", ",", "scratch2", ",", "constm1_rtx", ")", ")", ";", "}", "else", "{", "emit_insn", "(", "gen_one_cmplsi2", "(", "scratch2", ",", "scratch1", ")", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "out", ",", "scratch2", ",", "constm1_rtx", ")", ")", ";", "}", "}", "return", "1", ";", "}", ""], "natrual_language": ["Expand", "strlen", "."], "TS_V_token": ["i386", "1", "4", "0", "0", "1", "4", "1"], "File": "i3863", "Func": "ix86_expand_strlen", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38020, "Length": 299}
{"ground_truth": ["", "void", "ix86_expand_unary_operator", "(", "enum", "rtx_code", "code", ",", "enum", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "int", "matching_memory", ";", "rtx", "src", ",", "dst", ",", "op", ",", "clob", ";", "dst", "=", "operands", "[", "0", "]", ";", "src", "=", "operands", "[", "1", "]", ";", "matching_memory", "=", "0", ";", "if", "(", "MEM_P", "(", "dst", ")", ")", "{", "if", "(", "rtx_equal_p", "(", "dst", ",", "src", ")", ")", "matching_memory", "=", "1", ";", "else", "dst", "=", "gen_reg_rtx", "(", "mode", ")", ";", "}", "if", "(", "MEM_P", "(", "src", ")", "&&", "!", "matching_memory", ")", "src", "=", "force_reg", "(", "mode", ",", "src", ")", ";", "op", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "gen_rtx_fmt_e", "(", "code", ",", "mode", ",", "src", ")", ")", ";", "if", "(", "reload_in_progress", "||", "code", "==", "NOT", ")", "{", "gcc_assert", "(", "code", "==", "NOT", ")", ";", "emit_insn", "(", "op", ")", ";", "}", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", "if", "(", "dst", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "dst", ")", ";", "}", ""], "natrual_language": ["Attempt", "to", "expand", "a", "unary", "operator", ".", "Make", "the", "expansion", "closer", "to", "the", "actual", "machine", ",", "then", "just", "general_operand", ",", "which", "will", "allow", "2", "separate", "memory", "references", "(", "one", "output", ",", "one", "input", ")", "in", "a", "single", "insn", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "2", "0", "0"], "File": "i3863", "Func": "ix86_expand_unary_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38021, "Length": 190}
{"ground_truth": ["", "static", "rtx", "ix86_expand_unop1_builtin", "(", "enum", "insn_code", "icode", ",", "tree", "arglist", ",", "rtx", "target", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "TREE_VALUE", "(", "arglist", ")", ";", "rtx", "op1", ",", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "enum", "machine_mode", "tmode", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "enum", "machine_mode", "mode0", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "if", "(", "optimize", "||", "!", "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", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", ")", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "op1", "=", "op0", ";", "if", "(", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "2", "]", ".", "predicate", ")", "(", "op1", ",", "mode0", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode0", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "icode", ")", "(", "target", ",", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "three", "special", "unop", "insns", ":", "sqrtss", ",", "rsqrtss", ",", "rcpss", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "2", "0"], "File": "i3863", "Func": "ix86_expand_unop1_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38022, "Length": 243}
{"ground_truth": ["", "static", "rtx", "ix86_expand_unop_builtin", "(", "enum", "insn_code", "icode", ",", "tree", "arglist", ",", "rtx", "target", ",", "int", "do_load", ")", "{", "rtx", "pat", ";", "tree", "arg0", "=", "TREE_VALUE", "(", "arglist", ")", ";", "rtx", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "enum", "machine_mode", "tmode", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "enum", "machine_mode", "mode0", "=", "insn_data", "[", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "if", "(", "optimize", "||", "!", "target", "||", "GET_MODE", "(", "target", ")", "!=", "tmode", "||", "!", "(", "*", "insn_data", "[", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", ")", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "if", "(", "do_load", ")", "op0", "=", "gen_rtx_MEM", "(", "mode0", ",", "copy_to_mode_reg", "(", "Pmode", ",", "op0", ")", ")", ";", "else", "{", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "(", "*", "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", "ix86_expand_builtin", "to", "take", "care", "of", "unop", "insns", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "0"], "File": "i3863", "Func": "ix86_expand_unop_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38023, "Length": 227}
{"ground_truth": ["", "void", "ix86_expand_vector_init", "(", "bool", "mmx_ok", ",", "rtx", "target", ",", "rtx", "vals", ")", "{", "enum", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "enum", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "int", "n_elts", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "int", "n_var", "=", "0", ",", "one_var", "=", "-", "1", ";", "bool", "all_same", "=", "true", ",", "all_const_zero", "=", "true", ";", "int", "i", ";", "rtx", "x", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_elts", ";", "++", "i", ")", "{", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "i", ")", ";", "if", "(", "!", "CONSTANT_P", "(", "x", ")", ")", "n_var", "++", ",", "one_var", "=", "i", ";", "else", "if", "(", "x", "!=", "CONST0_RTX", "(", "inner_mode", ")", ")", "all_const_zero", "=", "false", ";", "if", "(", "i", ">", "0", "&&", "!", "rtx_equal_p", "(", "x", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "all_same", "=", "false", ";", "}", "if", "(", "n_var", "==", "0", ")", "{", "emit_move_insn", "(", "target", ",", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "vals", ",", "0", ")", ")", ")", ";", "return", ";", "}", "if", "(", "all_same", "&&", "ix86_expand_vector_init_duplicate", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "return", ";", "if", "(", "n_var", "==", "1", ")", "{", "if", "(", "all_const_zero", "&&", "one_var", "==", "0", "&&", "ix86_expand_vector_init_low_nonzero", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "return", ";", "if", "(", "ix86_expand_vector_init_one_var", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ",", "one_var", ")", ")", "return", ";", "}", "ix86_expand_vector_init_general", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ")", ";", "}", ""], "natrual_language": ["Initialize", "vector", "TARGET", "via", "VALS", ".", "Suppress", "the", "use", "of", "MMX", "instructions", "unless", "MMX_OK", "is", "true", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0"], "File": "i3863", "Func": "ix86_expand_vector_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38024, "Length": 260}
{"ground_truth": ["", "static", "bool", "ix86_expand_vector_init_duplicate", "(", "bool", "mmx_ok", ",", "enum", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "val", ")", "{", "enum", "machine_mode", "smode", ",", "wsmode", ",", "wvmode", ";", "rtx", "x", ";", "switch", "(", "mode", ")", "{", "case", "V2SImode", ":", "case", "V2SFmode", ":", "if", "(", "!", "mmx_ok", "&&", "!", "TARGET_SSE", ")", "return", "false", ";", "case", "V2DFmode", ":", "case", "V2DImode", ":", "case", "V4SFmode", ":", "case", "V4SImode", ":", "val", "=", "force_reg", "(", "GET_MODE_INNER", "(", "mode", ")", ",", "val", ")", ";", "x", "=", "gen_rtx_VEC_DUPLICATE", "(", "mode", ",", "val", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "target", ",", "x", ")", ")", ";", "return", "true", ";", "case", "V4HImode", ":", "if", "(", "!", "mmx_ok", ")", "return", "false", ";", "if", "(", "TARGET_SSE", "||", "TARGET_3DNOW_A", ")", "{", "val", "=", "gen_lowpart", "(", "SImode", ",", "val", ")", ";", "x", "=", "gen_rtx_TRUNCATE", "(", "HImode", ",", "val", ")", ";", "x", "=", "gen_rtx_VEC_DUPLICATE", "(", "mode", ",", "x", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "target", ",", "x", ")", ")", ";", "return", "true", ";", "}", "else", "{", "smode", "=", "HImode", ";", "wsmode", "=", "SImode", ";", "wvmode", "=", "V2SImode", ";", "goto", "widen", ";", "}", "case", "V8QImode", ":", "if", "(", "!", "mmx_ok", ")", "return", "false", ";", "smode", "=", "QImode", ";", "wsmode", "=", "HImode", ";", "wvmode", "=", "V4HImode", ";", "goto", "widen", ";", "case", "V8HImode", ":", "smode", "=", "HImode", ";", "wsmode", "=", "SImode", ";", "wvmode", "=", "V4SImode", ";", "goto", "widen", ";", "case", "V16QImode", ":", "smode", "=", "QImode", ";", "wsmode", "=", "HImode", ";", "wvmode", "=", "V8HImode", ";", "goto", "widen", ";", "widen", ":", "val", "=", "convert_modes", "(", "wsmode", ",", "smode", ",", "val", ",", "true", ")", ";", "x", "=", "expand_simple_binop", "(", "wsmode", ",", "ASHIFT", ",", "val", ",", "GEN_INT", "(", "GET_MODE_BITSIZE", "(", "smode", ")", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "val", "=", "expand_simple_binop", "(", "wsmode", ",", "IOR", ",", "val", ",", "x", ",", "x", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "gen_reg_rtx", "(", "wvmode", ")", ";", "if", "(", "!", "ix86_expand_vector_init_duplicate", "(", "mmx_ok", ",", "wvmode", ",", "x", ",", "val", ")", ")", "gcc_unreachable", "(", ")", ";", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "mode", ",", "x", ")", ")", ";", "return", "true", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init", ".", "Store", "into", "TARGET", "a", "vector", "with", "all", "elements", "equal", "to", "VAR", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "1", "1"], "File": "i3863", "Func": "ix86_expand_vector_init_duplicate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38025, "Length": 346}
{"ground_truth": ["", "static", "bool", "ix86_expand_vector_init_low_nonzero", "(", "bool", "mmx_ok", ",", "enum", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "var", ")", "{", "enum", "machine_mode", "vsimode", ";", "rtx", "x", ";", "switch", "(", "mode", ")", "{", "case", "V2SFmode", ":", "case", "V2SImode", ":", "if", "(", "!", "mmx_ok", "&&", "!", "TARGET_SSE", ")", "return", "false", ";", "case", "V2DFmode", ":", "case", "V2DImode", ":", "var", "=", "force_reg", "(", "GET_MODE_INNER", "(", "mode", ")", ",", "var", ")", ";", "x", "=", "gen_rtx_VEC_CONCAT", "(", "mode", ",", "var", ",", "CONST0_RTX", "(", "GET_MODE_INNER", "(", "mode", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "target", ",", "x", ")", ")", ";", "return", "true", ";", "case", "V4SFmode", ":", "case", "V4SImode", ":", "var", "=", "force_reg", "(", "GET_MODE_INNER", "(", "mode", ")", ",", "var", ")", ";", "x", "=", "gen_rtx_VEC_DUPLICATE", "(", "mode", ",", "var", ")", ";", "x", "=", "gen_rtx_VEC_MERGE", "(", "mode", ",", "x", ",", "CONST0_RTX", "(", "mode", ")", ",", "const1_rtx", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "target", ",", "x", ")", ")", ";", "return", "true", ";", "case", "V8HImode", ":", "case", "V16QImode", ":", "vsimode", "=", "V4SImode", ";", "goto", "widen", ";", "case", "V4HImode", ":", "case", "V8QImode", ":", "if", "(", "!", "mmx_ok", ")", "return", "false", ";", "vsimode", "=", "V2SImode", ";", "goto", "widen", ";", "widen", ":", "var", "=", "convert_modes", "(", "SImode", ",", "GET_MODE_INNER", "(", "mode", ")", ",", "var", ",", "true", ")", ";", "x", "=", "gen_reg_rtx", "(", "vsimode", ")", ";", "if", "(", "!", "ix86_expand_vector_init_low_nonzero", "(", "mmx_ok", ",", "vsimode", ",", "x", ",", "var", ")", ")", "gcc_unreachable", "(", ")", ";", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "mode", ",", "x", ")", ")", ";", "return", "true", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init", ".", "Store", "into", "TARGET", "a", "vector", "whose", "low", "element", "is", "VAR", ",", "and", "other", "elements", "are", "zero", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_expand_vector_init_low_nonzero", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38026, "Length": 254}
{"ground_truth": ["", "static", "bool", "ix86_expand_vector_init_one_var", "(", "bool", "mmx_ok", ",", "enum", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "vals", ",", "int", "one_var", ")", "{", "rtx", "var", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ";", "enum", "machine_mode", "wmode", ";", "rtx", "const_vec", ",", "x", ";", "const_vec", "=", "copy_rtx", "(", "vals", ")", ";", "XVECEXP", "(", "const_vec", ",", "0", ",", "one_var", ")", "=", "CONST0_RTX", "(", "GET_MODE_INNER", "(", "mode", ")", ")", ";", "const_vec", "=", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "const_vec", ",", "0", ")", ")", ";", "switch", "(", "mode", ")", "{", "case", "V2DFmode", ":", "case", "V2DImode", ":", "case", "V2SFmode", ":", "case", "V2SImode", ":", "return", "false", ";", "case", "V4SFmode", ":", "case", "V4SImode", ":", "case", "V8HImode", ":", "case", "V4HImode", ":", "break", ";", "case", "V16QImode", ":", "wmode", "=", "V8HImode", ";", "goto", "widen", ";", "case", "V8QImode", ":", "wmode", "=", "V4HImode", ";", "goto", "widen", ";", "widen", ":", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", "^", "1", ")", ";", "if", "(", "one_var", "&", "1", ")", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "var", "=", "expand_simple_binop", "(", "HImode", ",", "ASHIFT", ",", "var", ",", "GEN_INT", "(", "8", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "GEN_INT", "(", "INTVAL", "(", "x", ")", "&", "0xff", ")", ";", "}", "else", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "x", "=", "gen_int_mode", "(", "INTVAL", "(", "x", ")", "<<", "8", ",", "HImode", ")", ";", "}", "if", "(", "x", "!=", "const0_rtx", ")", "var", "=", "expand_simple_binop", "(", "HImode", ",", "IOR", ",", "var", ",", "x", ",", "var", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "gen_reg_rtx", "(", "wmode", ")", ";", "emit_move_insn", "(", "x", ",", "gen_lowpart", "(", "wmode", ",", "const_vec", ")", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "x", ",", "var", ",", "one_var", ">>", "1", ")", ";", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "mode", ",", "x", ")", ")", ";", "return", "true", ";", "default", ":", "return", "false", ";", "}", "emit_move_insn", "(", "target", ",", "const_vec", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "target", ",", "var", ",", "one_var", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init", ".", "Store", "into", "TARGET", "a", "vector", "consisting", "of", "the", "values", "in", "VALS", ".", "It", "is", "known", "that", "all", "elements", "except", "ONE_VAR", "are", "constants", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "1", "1", "8", "1", "0xff", "8", "1", "1"], "File": "i3863", "Func": "ix86_expand_vector_init_one_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38027, "Length": 334}
{"ground_truth": ["", "void", "ix86_expand_vector_move_misalign", "(", "enum", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "op0", ",", "op1", ",", "m", ";", "op0", "=", "operands", "[", "0", "]", ";", "op1", "=", "operands", "[", "1", "]", ";", "if", "(", "MEM_P", "(", "op1", ")", ")", "{", "if", "(", "optimize_size", ")", "{", "op0", "=", "gen_lowpart", "(", "V4SFmode", ",", "op0", ")", ";", "op1", "=", "gen_lowpart", "(", "V4SFmode", ",", "op1", ")", ";", "emit_insn", "(", "gen_sse_movups", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "if", "(", "TARGET_SSE2", "&&", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", "{", "op0", "=", "gen_lowpart", "(", "V16QImode", ",", "op0", ")", ";", "op1", "=", "gen_lowpart", "(", "V16QImode", ",", "op1", ")", ";", "emit_insn", "(", "gen_sse2_movdqu", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "if", "(", "TARGET_SSE2", "&&", "mode", "==", "V2DFmode", ")", "{", "rtx", "zero", ";", "if", "(", "TARGET_SSE_SPLIT_REGS", ")", "{", "emit_insn", "(", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "op0", ")", ")", ";", "zero", "=", "op0", ";", "}", "else", "{", "zero", "=", "CONST0_RTX", "(", "V2DFmode", ")", ";", "}", "m", "=", "adjust_address", "(", "op1", ",", "DFmode", ",", "0", ")", ";", "emit_insn", "(", "gen_sse2_loadlpd", "(", "op0", ",", "zero", ",", "m", ")", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "DFmode", ",", "8", ")", ";", "emit_insn", "(", "gen_sse2_loadhpd", "(", "op0", ",", "op0", ",", "m", ")", ")", ";", "}", "else", "{", "if", "(", "TARGET_SSE_PARTIAL_REG_DEPENDENCY", ")", "emit_move_insn", "(", "op0", ",", "CONST0_RTX", "(", "mode", ")", ")", ";", "else", "emit_insn", "(", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "op0", ")", ")", ";", "if", "(", "mode", "!=", "V4SFmode", ")", "op0", "=", "gen_lowpart", "(", "V4SFmode", ",", "op0", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "V2SFmode", ",", "0", ")", ";", "emit_insn", "(", "gen_sse_loadlps", "(", "op0", ",", "op0", ",", "m", ")", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "V2SFmode", ",", "8", ")", ";", "emit_insn", "(", "gen_sse_loadhps", "(", "op0", ",", "op0", ",", "m", ")", ")", ";", "}", "}", "else", "if", "(", "MEM_P", "(", "op0", ")", ")", "{", "if", "(", "optimize_size", ")", "{", "op0", "=", "gen_lowpart", "(", "V4SFmode", ",", "op0", ")", ";", "op1", "=", "gen_lowpart", "(", "V4SFmode", ",", "op1", ")", ";", "emit_insn", "(", "gen_sse_movups", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "if", "(", "TARGET_SSE2", "&&", "!", "TARGET_SSE_TYPELESS_STORES", "&&", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", "{", "op0", "=", "gen_lowpart", "(", "V16QImode", ",", "op0", ")", ";", "op1", "=", "gen_lowpart", "(", "V16QImode", ",", "op1", ")", ";", "emit_insn", "(", "gen_sse2_movdqu", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "if", "(", "TARGET_SSE2", "&&", "mode", "==", "V2DFmode", ")", "{", "m", "=", "adjust_address", "(", "op0", ",", "DFmode", ",", "0", ")", ";", "emit_insn", "(", "gen_sse2_storelpd", "(", "m", ",", "op1", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "DFmode", ",", "8", ")", ";", "emit_insn", "(", "gen_sse2_storehpd", "(", "m", ",", "op1", ")", ")", ";", "}", "else", "{", "if", "(", "mode", "!=", "V4SFmode", ")", "op1", "=", "gen_lowpart", "(", "V4SFmode", ",", "op1", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "V2SFmode", ",", "0", ")", ";", "emit_insn", "(", "gen_sse_storelps", "(", "m", ",", "op1", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "V2SFmode", ",", "8", ")", ";", "emit_insn", "(", "gen_sse_storehps", "(", "m", ",", "op1", ")", ")", ";", "}", "}", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "movmisalign", "patterns", "for", "SSE", ".", "Non-SSE", "modes", "go", "straight", "to", "ix86_expand_vector_move", "."], "TS_V_token": ["i386", "0", "1", "0", "8", "0", "8", "0", "8", "0", "8"], "File": "i3863", "Func": "ix86_expand_vector_move_misalign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38028, "Length": 510}
{"ground_truth": ["", "static", "rtx", "ix86_expand_vec_ext_builtin", "(", "tree", "arglist", ",", "rtx", "target", ")", "{", "enum", "machine_mode", "tmode", ",", "mode0", ";", "tree", "arg0", ",", "arg1", ";", "int", "elt", ";", "rtx", "op0", ";", "arg0", "=", "TREE_VALUE", "(", "arglist", ")", ";", "arg1", "=", "TREE_VALUE", "(", "TREE_CHAIN", "(", "arglist", ")", ")", ";", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "elt", "=", "get_element_number", "(", "TREE_TYPE", "(", "arg0", ")", ",", "arg1", ")", ";", "tmode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ")", ";", "mode0", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ";", "gcc_assert", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", ";", "op0", "=", "force_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "optimize", "||", "!", "target", "||", "!", "register_operand", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "ix86_expand_vector_extract", "(", "true", ",", "target", ",", "op0", ",", "elt", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_builtin", ".", "These", "builtins", "are", "a", "wrapper", "around", "ix86_expand_vector_extract", ".", "They", "would", "be", "redundant", "(", "for", "non-MMX", ")", "if", "we", "had", "a", "language-level", "syntax", "for", "referencing", "vector", "elements", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "ix86_expand_vec_ext_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38029, "Length": 147}
{"ground_truth": ["", "static", "rtx", "ix86_expand_vec_init_builtin", "(", "tree", "type", ",", "tree", "arglist", ",", "rtx", "target", ")", "{", "enum", "machine_mode", "tmode", "=", "TYPE_MODE", "(", "type", ")", ";", "enum", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "tmode", ")", ";", "int", "i", ",", "n_elt", "=", "GET_MODE_NUNITS", "(", "tmode", ")", ";", "rtvec", "v", "=", "rtvec_alloc", "(", "n_elt", ")", ";", "gcc_assert", "(", "VECTOR_MODE_P", "(", "tmode", ")", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_elt", ";", "++", "i", ",", "arglist", "=", "TREE_CHAIN", "(", "arglist", ")", ")", "{", "rtx", "x", "=", "expand_expr", "(", "TREE_VALUE", "(", "arglist", ")", ",", "NULL_RTX", ",", "VOIDmode", ",", "0", ")", ";", "RTVEC_ELT", "(", "v", ",", "i", ")", "=", "gen_lowpart", "(", "inner_mode", ",", "x", ")", ";", "}", "gcc_assert", "(", "arglist", "==", "NULL", ")", ";", "if", "(", "!", "target", "||", "!", "register_operand", "(", "target", ",", "tmode", ")", ")", "target", "=", "gen_reg_rtx", "(", "tmode", ")", ";", "ix86_expand_vector_init", "(", "true", ",", "target", ",", "gen_rtx_PARALLEL", "(", "tmode", ",", "v", ")", ")", ";", "return", "target", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_builtin", ".", "These", "builtins", "are", "a", "wrapper", "around", "ix86_expand_vector_init", ".", "We", "DO", "have", "language-level", "syntax", "for", "this", ",", "in", "the", "form", "of", "(", "type", ")", "{", "init-list", "}", ".", "Except", "that", "since", "we", "ca", "n't", "place", "emms", "instructions", "from", "inside", "the", "compiler", ",", "we", "ca", "n't", "allow", "the", "use", "of", "MMX", "registers", "unless", "the", "user", "explicitly", "asks", "for", "it", ".", "So", "we", "do", "*", "not", "*", "define", "vec_set/vec_extract/vec_init", "patterns", "for", "MMX", "modes", "in", "mmx.md", ".", "Instead", "we", "have", "builtins", "invoked", "by", "mmintrin.h", "that", "gives", "us", "license", "to", "emit", "these", "sorts", "of", "instructions", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3863", "Func": "ix86_expand_vec_init_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38030, "Length": 156}
{"ground_truth": ["", "static", "rtx", "ix86_expand_vec_set_builtin", "(", "tree", "arglist", ")", "{", "enum", "machine_mode", "tmode", ",", "mode1", ";", "tree", "arg0", ",", "arg1", ",", "arg2", ";", "int", "elt", ";", "rtx", "op0", ",", "op1", ";", "arg0", "=", "TREE_VALUE", "(", "arglist", ")", ";", "arg1", "=", "TREE_VALUE", "(", "TREE_CHAIN", "(", "arglist", ")", ")", ";", "arg2", "=", "TREE_VALUE", "(", "TREE_CHAIN", "(", "TREE_CHAIN", "(", "arglist", ")", ")", ")", ";", "tmode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ";", "mode1", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "TREE_TYPE", "(", "arg0", ")", ")", ")", ";", "gcc_assert", "(", "VECTOR_MODE_P", "(", "tmode", ")", ")", ";", "op0", "=", "expand_expr", "(", "arg0", ",", "NULL_RTX", ",", "tmode", ",", "0", ")", ";", "op1", "=", "expand_expr", "(", "arg1", ",", "NULL_RTX", ",", "mode1", ",", "0", ")", ";", "elt", "=", "get_element_number", "(", "TREE_TYPE", "(", "arg0", ")", ",", "arg2", ")", ";", "if", "(", "GET_MODE", "(", "op1", ")", "!=", "mode1", "&&", "GET_MODE", "(", "op1", ")", "!=", "VOIDmode", ")", "op1", "=", "convert_modes", "(", "mode1", ",", "GET_MODE", "(", "op1", ")", ",", "op1", ",", "true", ")", ";", "op0", "=", "force_reg", "(", "tmode", ",", "op0", ")", ";", "op1", "=", "force_reg", "(", "mode1", ",", "op1", ")", ";", "ix86_expand_vector_set", "(", "true", ",", "op0", ",", "op1", ",", "elt", ")", ";", "return", "op0", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_builtin", ".", "These", "builtins", "are", "a", "wrapper", "around", "ix86_expand_vector_set", ".", "They", "would", "be", "redundant", "(", "for", "non-MMX", ")", "if", "we", "had", "a", "language-level", "syntax", "for", "referencing", "vector", "elements", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3863", "Func": "ix86_expand_vec_set_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38031, "Length": 193}
{"ground_truth": ["", "void", "ix86_file_end", "(", "void", ")", "{", "rtx", "xops", "[", "2", "]", ";", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "8", ";", "++", "regno", ")", "{", "char", "name", "[", "32", "]", ";", "if", "(", "!", "(", "(", "pic_labels_used", ">>", "regno", ")", "&", "1", ")", ")", "continue", ";", "get_pc_thunk_name", "(", "name", ",", "regno", ")", ";", "if", "(", "USE_HIDDEN_LINKONCE", ")", "{", "tree", "decl", ";", "decl", "=", "build_decl", "(", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "error_mark_node", ")", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "1", ";", "TREE_STATIC", "(", "decl", ")", "=", "1", ";", "DECL_ONE_ONLY", "(", "decl", ")", "=", "1", ";", "(", "*", "targetm", ".", "asm_out", ".", "unique_section", ")", "(", "decl", ",", "0", ")", ";", "named_section", "(", "decl", ",", "NULL", ",", "0", ")", ";", "(", "*", "targetm", ".", "asm_out", ".", "globalize_label", ")", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\t.hidden\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_DECLARE_FUNCTION_NAME", "(", "asm_out_file", ",", "name", ",", "decl", ")", ";", "}", "else", "{", "text_section", "(", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "}", "xops", "[", "0", "]", "=", "gen_rtx_REG", "(", "SImode", ",", "regno", ")", ";", "xops", "[", "1", "]", "=", "gen_rtx_MEM", "(", "SImode", ",", "stack_pointer_rtx", ")", ";", "output_asm_insn", "(", "\"mov{l}\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "output_asm_insn", "(", "\"ret\"", ",", "xops", ")", ";", "}", "if", "(", "NEED_INDICATE_EXEC_STACK", ")", "file_end_indicate_exec_stack", "(", ")", ";", "}", ""], "natrual_language": ["This", "function", "generates", "code", "for", "-fpic", "that", "loads", "%", "ebx", "with", "the", "return", "address", "of", "the", "caller", "and", "then", "returns", "."], "TS_V_token": ["i386", "2", "0", "8", "32", "1", "1", "1", "1", "0", "0", "\"\\t.hidden\\t\"", "0", "1", "\"mov{l}\\t{%1, %0|%0, %1}\"", "\"ret\""], "File": "i3863", "Func": "ix86_file_end", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38032, "Length": 230}
{"ground_truth": ["", "rtx", "ix86_find_base_term", "(", "rtx", "x", ")", "{", "rtx", "term", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "!=", "CONST", ")", "return", "x", ";", "term", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "==", "PLUS", "&&", "(", "GET_CODE", "(", "XEXP", "(", "term", ",", "1", ")", ")", "==", "CONST_INT", "||", "GET_CODE", "(", "XEXP", "(", "term", ",", "1", ")", ")", "==", "CONST_DOUBLE", ")", ")", "term", "=", "XEXP", "(", "term", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "!=", "UNSPEC", "||", "XINT", "(", "term", ",", "1", ")", "!=", "UNSPEC_GOTPCREL", ")", "return", "x", ";", "term", "=", "XVECEXP", "(", "term", ",", "0", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "!=", "SYMBOL_REF", "&&", "GET_CODE", "(", "term", ")", "!=", "LABEL_REF", ")", "return", "x", ";", "return", "term", ";", "}", "term", "=", "ix86_delegitimize_address", "(", "x", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "!=", "SYMBOL_REF", "&&", "GET_CODE", "(", "term", ")", "!=", "LABEL_REF", ")", "return", "x", ";", "return", "term", ";", "}", ""], "natrual_language": ["If", "X", "is", "a", "machine", "specific", "address", "(", "i.e", ".", "a", "symbol", "or", "label", "being", "referenced", "as", "a", "displacement", "from", "the", "GOT", "implemented", "using", "an", "UNSPEC", ")", ",", "then", "return", "the", "base", "term", ".", "Otherwise", "return", "X", "."], "TS_V_token": ["i386", "0", "1", "1", "0", "1", "0", "0"], "File": "i3863", "Func": "ix86_find_base_term", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38033, "Length": 165}
{"ground_truth": ["", "static", "bool", "ix86_fixed_condition_code_regs", "(", "unsigned", "int", "*", "p1", ",", "unsigned", "int", "*", "p2", ")", "{", "*", "p1", "=", "FLAGS_REG", ";", "*", "p2", "=", "FPSR_REG", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "the", "fixed", "registers", "used", "for", "condition", "codes", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_fixed_condition_code_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38034, "Length": 29}
{"ground_truth": ["", "rtx", "ix86_fixup_binary_operands", "(", "enum", "rtx_code", "code", ",", "enum", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "int", "matching_memory", ";", "rtx", "src1", ",", "src2", ",", "dst", ";", "dst", "=", "operands", "[", "0", "]", ";", "src1", "=", "operands", "[", "1", "]", ";", "src2", "=", "operands", "[", "2", "]", ";", "if", "(", "GET_RTX_CLASS", "(", "code", ")", "==", "RTX_COMM_ARITH", "&&", "(", "rtx_equal_p", "(", "dst", ",", "src2", ")", "||", "immediate_operand", "(", "src1", ",", "mode", ")", ")", ")", "{", "rtx", "temp", "=", "src1", ";", "src1", "=", "src2", ";", "src2", "=", "temp", ";", "}", "matching_memory", "=", "0", ";", "if", "(", "GET_CODE", "(", "dst", ")", "==", "MEM", ")", "{", "if", "(", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "matching_memory", "=", "1", ";", "else", "if", "(", "GET_RTX_CLASS", "(", "code", ")", "==", "RTX_COMM_ARITH", "&&", "rtx_equal_p", "(", "dst", ",", "src2", ")", ")", "matching_memory", "=", "2", ";", "else", "dst", "=", "gen_reg_rtx", "(", "mode", ")", ";", "}", "if", "(", "GET_CODE", "(", "src1", ")", "==", "MEM", "&&", "GET_CODE", "(", "src2", ")", "==", "MEM", ")", "{", "if", "(", "matching_memory", "!=", "2", ")", "src2", "=", "force_reg", "(", "mode", ",", "src2", ")", ";", "else", "src1", "=", "force_reg", "(", "mode", ",", "src1", ")", ";", "}", "if", "(", "(", "CONSTANT_P", "(", "src1", ")", "||", "(", "!", "matching_memory", "&&", "GET_CODE", "(", "src1", ")", "==", "MEM", ")", ")", "&&", "GET_RTX_CLASS", "(", "code", ")", "!=", "RTX_COMM_ARITH", ")", "src1", "=", "force_reg", "(", "mode", ",", "src1", ")", ";", "src1", "=", "operands", "[", "1", "]", "=", "src1", ";", "src2", "=", "operands", "[", "2", "]", "=", "src2", ";", "return", "dst", ";", "}", ""], "natrual_language": ["Fix", "up", "OPERANDS", "to", "satisfy", "ix86_binary_operator_ok", ".", "Return", "the", "destination", "to", "use", "for", "the", "operation", ".", "If", "different", "from", "the", "true", "destination", "in", "operands", "[", "0", "]", ",", "a", "copy", "operation", "will", "be", "required", "."], "TS_V_token": ["i386", "0", "1", "2", "0", "1", "2", "2", "1", "2"], "File": "i3863", "Func": "ix86_fixup_binary_operands", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38035, "Length": 247}
{"ground_truth": ["", "void", "ix86_fixup_binary_operands_no_copy", "(", "enum", "rtx_code", "code", ",", "enum", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "dst", "=", "ix86_fixup_binary_operands", "(", "code", ",", "mode", ",", "operands", ")", ";", "gcc_assert", "(", "dst", "==", "operands", "[", "0", "]", ")", ";", "}", ""], "natrual_language": ["Similarly", ",", "but", "assume", "that", "the", "destination", "has", "already", "been", "set", "up", "properly", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "ix86_fixup_binary_operands_no_copy", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38036, "Length": 40}
{"ground_truth": ["", "static", "int", "ix86_flags_dependant", "(", "rtx", "insn", ",", "rtx", "dep_insn", ",", "enum", "attr_type", "insn_type", ")", "{", "rtx", "set", ",", "set2", ";", "if", "(", "insn_type", "!=", "TYPE_SETCC", "&&", "insn_type", "!=", "TYPE_ICMOV", "&&", "insn_type", "!=", "TYPE_FCMOV", "&&", "insn_type", "!=", "TYPE_IBR", ")", "return", "0", ";", "if", "(", "(", "set", "=", "single_set", "(", "dep_insn", ")", ")", "!=", "0", ")", "{", "set", "=", "SET_DEST", "(", "set", ")", ";", "set2", "=", "NULL_RTX", ";", "}", "else", "if", "(", "GET_CODE", "(", "PATTERN", "(", "dep_insn", ")", ")", "==", "PARALLEL", "&&", "XVECLEN", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ")", "==", "2", "&&", "GET_CODE", "(", "XVECEXP", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ",", "0", ")", ")", "==", "SET", "&&", "GET_CODE", "(", "XVECEXP", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ",", "1", ")", ")", "==", "SET", ")", "{", "set", "=", "SET_DEST", "(", "XVECEXP", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ",", "0", ")", ")", ";", "set2", "=", "SET_DEST", "(", "XVECEXP", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ",", "0", ")", ")", ";", "}", "else", "return", "0", ";", "if", "(", "GET_CODE", "(", "set", ")", "!=", "REG", "||", "REGNO", "(", "set", ")", "!=", "FLAGS_REG", ")", "return", "0", ";", "if", "(", "!", "reg_overlap_mentioned_p", "(", "set", ",", "PATTERN", "(", "insn", ")", ")", ")", "return", "0", ";", "if", "(", "set2", "&&", "reg_overlap_mentioned_p", "(", "set2", ",", "PATTERN", "(", "insn", ")", ")", ")", "return", "0", ";", "return", "1", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_adjust_cost", "--", "return", "true", "iff", "INSN", "reads", "flags", "set", "by", "DEP_INSN", "and", "nothing", "set", "by", "DEP_INSN", "."], "TS_V_token": ["i386", "0", "0", "0", "2", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i3863", "Func": "ix86_flags_dependant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38037, "Length": 222}
{"ground_truth": ["", "rtx", "ix86_force_to_memory", "(", "enum", "machine_mode", "mode", ",", "rtx", "operand", ")", "{", "rtx", "result", ";", "gcc_assert", "(", "reload_completed", ")", ";", "if", "(", "TARGET_RED_ZONE", ")", "{", "result", "=", "gen_rtx_MEM", "(", "mode", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "-", "RED_ZONE_SIZE", ")", ")", ")", ";", "emit_move_insn", "(", "result", ",", "operand", ")", ";", "}", "else", "if", "(", "!", "TARGET_RED_ZONE", "&&", "TARGET_64BIT", ")", "{", "switch", "(", "mode", ")", "{", "case", "HImode", ":", "case", "SImode", ":", "operand", "=", "gen_lowpart", "(", "DImode", ",", "operand", ")", ";", "case", "DImode", ":", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_MEM", "(", "DImode", ",", "gen_rtx_PRE_DEC", "(", "DImode", ",", "stack_pointer_rtx", ")", ")", ",", "operand", ")", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "result", "=", "gen_rtx_MEM", "(", "mode", ",", "stack_pointer_rtx", ")", ";", "}", "else", "{", "switch", "(", "mode", ")", "{", "case", "DImode", ":", "{", "rtx", "operands", "[", "2", "]", ";", "split_di", "(", "&", "operand", ",", "1", ",", "operands", ",", "operands", "+", "1", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_MEM", "(", "SImode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ",", "operands", "[", "1", "]", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_MEM", "(", "SImode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ",", "operands", "[", "0", "]", ")", ")", ";", "}", "break", ";", "case", "HImode", ":", "operand", "=", "gen_lowpart", "(", "SImode", ",", "operand", ")", ";", "case", "SImode", ":", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_MEM", "(", "GET_MODE", "(", "operand", ")", ",", "gen_rtx_PRE_DEC", "(", "SImode", ",", "stack_pointer_rtx", ")", ")", ",", "operand", ")", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "result", "=", "gen_rtx_MEM", "(", "mode", ",", "stack_pointer_rtx", ")", ";", "}", "return", "result", ";", "}", ""], "natrual_language": ["Store", "OPERAND", "to", "the", "memory", "after", "reload", "is", "completed", ".", "This", "means", "that", "we", "ca", "n't", "easily", "use", "assign_stack_local", "."], "TS_V_token": ["i386", "2", "1", "1", "1", "0"], "File": "i3863", "Func": "ix86_force_to_memory", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38038, "Length": 272}
{"ground_truth": ["", "enum", "rtx_code", "ix86_fp_compare_code_to_integer", "(", "enum", "rtx_code", "code", ")", "{", "switch", "(", "code", ")", "{", "case", "GT", ":", "return", "GTU", ";", "case", "GE", ":", "return", "GEU", ";", "case", "ORDERED", ":", "case", "UNORDERED", ":", "return", "code", ";", "break", ";", "case", "UNEQ", ":", "return", "EQ", ";", "break", ";", "case", "UNLT", ":", "return", "LTU", ";", "break", ";", "case", "UNLE", ":", "return", "LEU", ";", "break", ";", "case", "LTGT", ":", "return", "NE", ";", "break", ";", "default", ":", "return", "UNKNOWN", ";", "}", "}", ""], "natrual_language": ["Convert", "comparison", "codes", "we", "use", "to", "represent", "FP", "comparison", "to", "integer", "code", "that", "will", "result", "in", "proper", "branch", ".", "Return", "UNKNOWN", "if", "no", "such", "code", "is", "available", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_fp_compare_code_to_integer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38039, "Length": 76}
{"ground_truth": ["", "enum", "machine_mode", "ix86_fp_compare_mode", "(", "enum", "rtx_code", "code", "ATTRIBUTE_UNUSED", ")", "{", "return", "TARGET_IEEE_FP", "?", "CCFPUmode", ":", "CCFPmode", ";", "}", ""], "natrual_language": ["Figure", "out", "whether", "to", "use", "ordered", "or", "unordered", "fp", "comparisons", ".", "Return", "the", "appropriate", "mode", "to", "use", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_fp_compare_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38040, "Length": 18}
{"ground_truth": ["", "static", "int", "ix86_fp_comparison_arithmetics_cost", "(", "enum", "rtx_code", "code", ")", "{", "if", "(", "!", "TARGET_IEEE_FP", ")", "return", "4", ";", "switch", "(", "code", ")", "{", "case", "UNLE", ":", "case", "UNLT", ":", "case", "LTGT", ":", "case", "GT", ":", "case", "GE", ":", "case", "UNORDERED", ":", "case", "ORDERED", ":", "case", "UNEQ", ":", "return", "4", ";", "break", ";", "case", "LT", ":", "case", "NE", ":", "case", "EQ", ":", "case", "UNGE", ":", "return", "5", ";", "break", ";", "case", "LE", ":", "case", "UNGT", ":", "return", "6", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "cost", "of", "comparison", "done", "fcom", "+", "arithmetics", "operations", "on", "AX", ".", "All", "following", "functions", "do", "use", "number", "of", "instructions", "as", "a", "cost", "metrics", ".", "In", "future", "this", "should", "be", "tweaked", "to", "compute", "bytes", "for", "optimize_size", "and", "take", "into", "account", "performance", "of", "various", "instructions", "on", "various", "CPUs", "."], "TS_V_token": ["i386", "4", "4", "5", "6"], "File": "i3863", "Func": "ix86_fp_comparison_arithmetics_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38041, "Length": 87}
{"ground_truth": ["", "void", "ix86_fp_comparison_codes", "(", "enum", "rtx_code", "code", ",", "enum", "rtx_code", "*", "bypass_code", ",", "enum", "rtx_code", "*", "first_code", ",", "enum", "rtx_code", "*", "second_code", ")", "{", "*", "first_code", "=", "code", ";", "*", "bypass_code", "=", "UNKNOWN", ";", "*", "second_code", "=", "UNKNOWN", ";", "switch", "(", "code", ")", "{", "case", "GT", ":", "case", "GE", ":", "case", "ORDERED", ":", "case", "UNORDERED", ":", "case", "UNEQ", ":", "case", "UNLT", ":", "case", "UNLE", ":", "case", "LTGT", ":", "break", ";", "case", "LT", ":", "*", "first_code", "=", "UNLT", ";", "*", "bypass_code", "=", "UNORDERED", ";", "break", ";", "case", "LE", ":", "*", "first_code", "=", "UNLE", ";", "*", "bypass_code", "=", "UNORDERED", ";", "break", ";", "case", "EQ", ":", "*", "first_code", "=", "UNEQ", ";", "*", "bypass_code", "=", "UNORDERED", ";", "break", ";", "case", "NE", ":", "*", "first_code", "=", "LTGT", ";", "*", "second_code", "=", "UNORDERED", ";", "break", ";", "case", "UNGE", ":", "*", "first_code", "=", "GE", ";", "*", "second_code", "=", "UNORDERED", ";", "break", ";", "case", "UNGT", ":", "*", "first_code", "=", "GT", ";", "*", "second_code", "=", "UNORDERED", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "!", "TARGET_IEEE_FP", ")", "{", "*", "second_code", "=", "UNKNOWN", ";", "*", "bypass_code", "=", "UNKNOWN", ";", "}", "}", ""], "natrual_language": ["Split", "comparison", "code", "CODE", "into", "comparisons", "we", "can", "do", "using", "branch", "instructions", ".", "BYPASS_CODE", "is", "comparison", "code", "for", "branch", "that", "will", "branch", "around", "FIRST_CODE", "and", "SECOND_CODE", ".", "If", "some", "of", "branches", "is", "not", "required", ",", "set", "value", "to", "UNKNOWN", ".", "We", "never", "require", "more", "than", "two", "branches", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_fp_comparison_codes", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38042, "Length": 184}
{"ground_truth": ["", "static", "int", "ix86_fp_comparison_cost", "(", "enum", "rtx_code", "code", ")", "{", "int", "fcomi_cost", ",", "sahf_cost", ",", "arithmetics_cost", "=", "1024", ";", "int", "min", ";", "fcomi_cost", "=", "ix86_fp_comparison_fcomi_cost", "(", "code", ")", ";", "sahf_cost", "=", "ix86_fp_comparison_sahf_cost", "(", "code", ")", ";", "min", "=", "arithmetics_cost", "=", "ix86_fp_comparison_arithmetics_cost", "(", "code", ")", ";", "if", "(", "min", ">", "sahf_cost", ")", "min", "=", "sahf_cost", ";", "if", "(", "min", ">", "fcomi_cost", ")", "min", "=", "fcomi_cost", ";", "return", "min", ";", "}", ""], "natrual_language": ["Compute", "cost", "of", "the", "comparison", "done", "using", "any", "method", ".", "See", "ix86_fp_comparison_arithmetics_cost", "for", "the", "metrics", "."], "TS_V_token": ["i386", "1024"], "File": "i3863", "Func": "ix86_fp_comparison_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38043, "Length": 68}
{"ground_truth": ["", "static", "int", "ix86_fp_comparison_fcomi_cost", "(", "enum", "rtx_code", "code", ")", "{", "enum", "rtx_code", "bypass_code", ",", "first_code", ",", "second_code", ";", "if", "(", "!", "TARGET_CMOVE", ")", "return", "1024", ";", "ix86_fp_comparison_codes", "(", "code", ",", "&", "bypass_code", ",", "&", "first_code", ",", "&", "second_code", ")", ";", "return", "(", "bypass_code", "!=", "UNKNOWN", "||", "second_code", "!=", "UNKNOWN", ")", "+", "2", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "comparison", "done", "using", "fcomi", "operation", ".", "See", "ix86_fp_comparison_arithmetics_cost", "for", "the", "metrics", "."], "TS_V_token": ["i386", "1024", "2"], "File": "i3863", "Func": "ix86_fp_comparison_fcomi_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38044, "Length": 53}
{"ground_truth": ["", "static", "int", "ix86_fp_comparison_sahf_cost", "(", "enum", "rtx_code", "code", ")", "{", "enum", "rtx_code", "bypass_code", ",", "first_code", ",", "second_code", ";", "if", "(", "!", "TARGET_USE_SAHF", "&&", "!", "optimize_size", ")", "return", "1024", ";", "ix86_fp_comparison_codes", "(", "code", ",", "&", "bypass_code", ",", "&", "first_code", ",", "&", "second_code", ")", ";", "return", "(", "bypass_code", "!=", "UNKNOWN", "||", "second_code", "!=", "UNKNOWN", ")", "+", "3", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "comparison", "done", "using", "sahf", "operation", ".", "See", "ix86_fp_comparison_arithmetics_cost", "for", "the", "metrics", "."], "TS_V_token": ["i386", "1024", "3"], "File": "i3863", "Func": "ix86_fp_comparison_sahf_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38045, "Length": 56}
{"ground_truth": ["", "bool", "ix86_fp_jump_nontrivial_p", "(", "enum", "rtx_code", "code", ")", "{", "enum", "rtx_code", "bypass_code", ",", "first_code", ",", "second_code", ";", "if", "(", "!", "TARGET_CMOVE", ")", "return", "true", ";", "ix86_fp_comparison_codes", "(", "code", ",", "&", "bypass_code", ",", "&", "first_code", ",", "&", "second_code", ")", ";", "return", "bypass_code", "!=", "UNKNOWN", "||", "second_code", "!=", "UNKNOWN", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "CODE", "will", "result", "in", "nontrivial", "jump", "sequence", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_fp_jump_nontrivial_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38046, "Length": 48}
{"ground_truth": ["", "int", "ix86_frame_pointer_required", "(", "void", ")", "{", "if", "(", "cfun", "->", "machine", "->", "accesses_prev_frame", ")", "return", "1", ";", "if", "(", "SUBTARGET_FRAME_POINTER_REQUIRED", ")", "return", "1", ";", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", "&&", "(", "!", "current_function_is_leaf", ")", ")", "return", "1", ";", "if", "(", "current_function_profile", ")", "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": ["i386", "1", "1", "1", "1", "0"], "File": "i3863", "Func": "ix86_frame_pointer_required", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38047, "Length": 47}
{"ground_truth": ["", "void", "ix86_free_from_memory", "(", "enum", "machine_mode", "mode", ")", "{", "if", "(", "!", "TARGET_RED_ZONE", ")", "{", "int", "size", ";", "if", "(", "mode", "==", "DImode", "||", "TARGET_64BIT", ")", "size", "=", "8", ";", "else", "size", "=", "4", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "size", ")", ")", ")", ")", ";", "}", "}", ""], "natrual_language": ["Free", "operand", "from", "the", "memory", "."], "TS_V_token": ["i386", "8", "4"], "File": "i3863", "Func": "ix86_free_from_memory", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38048, "Length": 58}
{"ground_truth": ["", "bool", "ix86_function_arg_regno_p", "(", "int", "regno", ")", "{", "int", "i", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", "(", "regno", "<", "REGPARM_MAX", "||", "(", "TARGET_MMX", "&&", "MMX_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_MMX_REG", "+", "MMX_REGPARM_MAX", ")", ")", "||", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_SSE_REG", "+", "SSE_REGPARM_MAX", ")", ")", ")", ";", "if", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_SSE_REG", "+", "SSE_REGPARM_MAX", ")", ")", "return", "true", ";", "if", "(", "!", "regno", ")", "return", "true", ";", "for", "(", "i", "=", "0", ";", "i", "<", "REGPARM_MAX", ";", "i", "++", ")", "if", "(", "regno", "==", "x86_64_int_parameter_registers", "[", "i", "]", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "when", "register", "may", "be", "used", "to", "pass", "function", "parameters", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "ix86_function_arg_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38049, "Length": 113}
{"ground_truth": ["", "static", "bool", "ix86_function_ok_for_sibcall", "(", "tree", "decl", ",", "tree", "exp", ")", "{", "tree", "func", ";", "rtx", "a", ",", "b", ";", "if", "(", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "(", "!", "decl", "||", "TREE_PUBLIC", "(", "decl", ")", ")", ")", "return", "false", ";", "if", "(", "decl", ")", "func", "=", "decl", ";", "else", "{", "func", "=", "TREE_TYPE", "(", "TREE_OPERAND", "(", "exp", ",", "0", ")", ")", ";", "if", "(", "POINTER_TYPE_P", "(", "func", ")", ")", "func", "=", "TREE_TYPE", "(", "func", ")", ";", "}", "a", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "exp", ")", ",", "func", ",", "false", ")", ";", "b", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ",", "cfun", "->", "decl", ",", "false", ")", ";", "if", "(", "STACK_REG_P", "(", "a", ")", "||", "STACK_REG_P", "(", "b", ")", ")", "{", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "}", "else", "if", "(", "VOID_TYPE_P", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ")", ")", ";", "else", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "if", "(", "!", "decl", "&&", "!", "TARGET_64BIT", ")", "{", "tree", "type", ";", "type", "=", "TREE_OPERAND", "(", "exp", ",", "0", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "if", "(", "ix86_function_regparm", "(", "type", ",", "NULL", ")", ">=", "3", ")", "{", "return", "false", ";", "}", "}", "if", "(", "decl", "&&", "DECL_DLLIMPORT_P", "(", "decl", ")", "&&", "ix86_function_regparm", "(", "TREE_TYPE", "(", "decl", ")", ",", "NULL", ")", ">=", "3", ")", "return", "false", ";", "if", "(", "cfun", "->", "machine", "->", "force_align_arg_pointer", ")", "return", "false", ";", "return", "true", ";", "}", ""], "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": ["i386", "0", "0", "3", "3"], "File": "i3863", "Func": "ix86_function_ok_for_sibcall", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38050, "Length": 260}
{"ground_truth": ["", "static", "int", "ix86_function_regparm", "(", "tree", "type", ",", "tree", "decl", ")", "{", "tree", "attr", ";", "int", "regparm", "=", "ix86_regparm", ";", "bool", "user_convention", "=", "false", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "attr", "=", "lookup_attribute", "(", "\"regparm\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ";", "if", "(", "attr", ")", "{", "regparm", "=", "TREE_INT_CST_LOW", "(", "TREE_VALUE", "(", "TREE_VALUE", "(", "attr", ")", ")", ")", ";", "user_convention", "=", "true", ";", "}", "if", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ")", "{", "regparm", "=", "2", ";", "user_convention", "=", "true", ";", "}", "if", "(", "!", "TARGET_64BIT", "&&", "!", "user_convention", "&&", "decl", "&&", "flag_unit_at_a_time", "&&", "!", "profile_flag", ")", "{", "struct", "cgraph_local_info", "*", "i", "=", "cgraph_local_info", "(", "decl", ")", ";", "if", "(", "i", "&&", "i", "->", "local", ")", "{", "int", "local_regparm", ",", "globals", "=", "0", ",", "regno", ";", "for", "(", "local_regparm", "=", "0", ";", "local_regparm", "<", "3", ";", "local_regparm", "++", ")", "if", "(", "global_regs", "[", "local_regparm", "]", ")", "break", ";", "if", "(", "local_regparm", "==", "3", "&&", "decl_function_context", "(", "decl", ")", "&&", "!", "DECL_NO_STATIC_CHAIN", "(", "decl", ")", ")", "local_regparm", "=", "2", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "6", ";", "regno", "++", ")", "if", "(", "global_regs", "[", "regno", "]", ")", "globals", "++", ";", "local_regparm", "=", "globals", "<", "local_regparm", "?", "local_regparm", "-", "globals", ":", "0", ";", "if", "(", "local_regparm", ">", "regparm", ")", "regparm", "=", "local_regparm", ";", "}", "}", "}", "return", "regparm", ";", "}", ""], "natrual_language": ["Return", "the", "regparm", "value", "for", "a", "function", "with", "the", "indicated", "TYPE", "and", "DECL", ".", "DECL", "may", "be", "NULL", "when", "calling", "function", "indirectly", "or", "considering", "a", "libcall", "."], "TS_V_token": ["i386", "\"regparm\"", "\"fastcall\"", "2", "0", "0", "3", "3", "2", "0", "6", "0"], "File": "i3863", "Func": "ix86_function_regparm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38051, "Length": 226}
{"ground_truth": ["", "static", "int", "ix86_function_sseregparm", "(", "tree", "type", ",", "tree", "decl", ")", "{", "if", "(", "TARGET_SSEREGPARM", "||", "(", "type", "&&", "lookup_attribute", "(", "\"sseregparm\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ")", ")", "{", "if", "(", "!", "TARGET_SSE", ")", "{", "if", "(", "decl", ")", "error", "(", "\"Calling %qD with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", ",", "decl", ")", ";", "else", "error", "(", "\"Calling %qT with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", ",", "type", ")", ";", "return", "0", ";", "}", "return", "2", ";", "}", "if", "(", "!", "TARGET_64BIT", "&&", "decl", "&&", "TARGET_SSE_MATH", "&&", "flag_unit_at_a_time", "&&", "!", "profile_flag", ")", "{", "struct", "cgraph_local_info", "*", "i", "=", "cgraph_local_info", "(", "decl", ")", ";", "if", "(", "i", "&&", "i", "->", "local", ")", "return", "TARGET_SSE2", "?", "2", ":", "1", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "1", "or", "2", ",", "if", "we", "can", "pass", "up", "to", "SSE_REGPARM_MAX", "SFmode", "(", "1", ")", "and", "DFmode", "(", "2", ")", "arguments", "in", "SSE", "registers", "for", "a", "function", "with", "the", "indicated", "TYPE", "and", "DECL", ".", "DECL", "may", "be", "NULL", "when", "calling", "function", "indirectly", "or", "considering", "a", "libcall", ".", "Otherwise", "return", "0", "."], "TS_V_token": ["i386", "\"sseregparm\"", "\"Calling %qD with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", "\"Calling %qT with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", "0", "2", "2", "1", "0"], "File": "i3863", "Func": "ix86_function_sseregparm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38052, "Length": 110}
{"ground_truth": ["", "rtx", "ix86_function_value", "(", "tree", "valtype", ",", "tree", "fntype_or_decl", ",", "bool", "outgoing", "ATTRIBUTE_UNUSED", ")", "{", "enum", "machine_mode", "natmode", "=", "type_natural_mode", "(", "valtype", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "rtx", "ret", "=", "construct_container", "(", "natmode", ",", "TYPE_MODE", "(", "valtype", ")", ",", "valtype", ",", "1", ",", "REGPARM_MAX", ",", "SSE_REGPARM_MAX", ",", "x86_64_int_return_registers", ",", "0", ")", ";", "if", "(", "!", "ret", ")", "ret", "=", "gen_rtx_REG", "(", "TYPE_MODE", "(", "valtype", ")", ",", "0", ")", ";", "return", "ret", ";", "}", "else", "{", "tree", "fn", "=", "NULL_TREE", ",", "fntype", ";", "if", "(", "fntype_or_decl", "&&", "DECL_P", "(", "fntype_or_decl", ")", ")", "fn", "=", "fntype_or_decl", ";", "fntype", "=", "fn", "?", "TREE_TYPE", "(", "fn", ")", ":", "fntype_or_decl", ";", "return", "gen_rtx_REG", "(", "TYPE_MODE", "(", "valtype", ")", ",", "ix86_value_regno", "(", "natmode", ",", "fn", ",", "fntype", ")", ")", ";", "}", "}", ""], "natrual_language": ["Define", "how", "to", "find", "the", "value", "returned", "by", "a", "function", ".", "VALTYPE", "is", "the", "data", "type", "of", "the", "value", "(", "as", "a", "tree", ")", ".", "If", "the", "precise", "function", "being", "called", "is", "known", ",", "FUNC", "is", "its", "FUNCTION_DECL", ";", "otherwise", ",", "FUNC", "is", "0", "."], "TS_V_token": ["i386", "1", "0", "0"], "File": "i3863", "Func": "ix86_function_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38053, "Length": 127}
{"ground_truth": ["", "bool", "ix86_function_value_regno_p", "(", "int", "regno", ")", "{", "if", "(", "regno", "==", "0", "||", "(", "regno", "==", "FIRST_FLOAT_REG", "&&", "TARGET_FLOAT_RETURNS_IN_80387", ")", "||", "(", "regno", "==", "FIRST_SSE_REG", "&&", "TARGET_SSE", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_64BIT", "&&", "(", "regno", "==", "FIRST_MMX_REG", "&&", "TARGET_MMX", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "N", "is", "a", "possible", "register", "number", "of", "function", "value", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "ix86_function_value_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38054, "Length": 52}
{"ground_truth": ["", "static", "HOST_WIDE_INT", "ix86_GOT_alias_set", "(", "void", ")", "{", "static", "HOST_WIDE_INT", "set", "=", "-", "1", ";", "if", "(", "set", "==", "-", "1", ")", "set", "=", "new_alias_set", "(", ")", ";", "return", "set", ";", "}", ""], "natrual_language": ["Return", "an", "unique", "alias", "set", "for", "the", "GOT", "."], "TS_V_token": ["i386", "1", "1"], "File": "i3863", "Func": "ix86_GOT_alias_set", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38055, "Length": 31}
{"ground_truth": ["", "static", "tree", "ix86_handle_cconv_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", ",", "int", "flags", "ATTRIBUTE_UNUSED", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "FUNCTION_TYPE", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "METHOD_TYPE", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "FIELD_DECL", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "TYPE_DECL", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qs attribute only applies to functions\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "return", "NULL_TREE", ";", "}", "if", "(", "is_attribute_p", "(", "\"regparm\"", ",", "name", ")", ")", "{", "tree", "cst", ";", "if", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"fastcall and regparm attributes are not compatible\"", ")", ";", "}", "cst", "=", "TREE_VALUE", "(", "args", ")", ";", "if", "(", "TREE_CODE", "(", "cst", ")", "!=", "INTEGER_CST", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qs attribute requires an integer constant argument\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "if", "(", "compare_tree_int", "(", "cst", ",", "REGPARM_MAX", ")", ">", "0", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"argument to %qs attribute larger than %d\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ",", "REGPARM_MAX", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qs attribute ignored\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "return", "NULL_TREE", ";", "}", "if", "(", "is_attribute_p", "(", "\"fastcall\"", ",", "name", ")", ")", "{", "if", "(", "lookup_attribute", "(", "\"cdecl\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"fastcall and cdecl attributes are not compatible\"", ")", ";", "}", "if", "(", "lookup_attribute", "(", "\"stdcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"fastcall and stdcall attributes are not compatible\"", ")", ";", "}", "if", "(", "lookup_attribute", "(", "\"regparm\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"fastcall and regparm attributes are not compatible\"", ")", ";", "}", "}", "else", "if", "(", "is_attribute_p", "(", "\"stdcall\"", ",", "name", ")", ")", "{", "if", "(", "lookup_attribute", "(", "\"cdecl\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"stdcall and cdecl attributes are not compatible\"", ")", ";", "}", "if", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"stdcall and fastcall attributes are not compatible\"", ")", ";", "}", "}", "else", "if", "(", "is_attribute_p", "(", "\"cdecl\"", ",", "name", ")", ")", "{", "if", "(", "lookup_attribute", "(", "\"stdcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"stdcall and cdecl attributes are not compatible\"", ")", ";", "}", "if", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"fastcall and cdecl attributes are not compatible\"", ")", ";", "}", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "``", "cdecl", "''", ",", "``", "stdcall", "''", ",", "``", "fastcall", "''", ",", "``", "regparm", "''", "and", "``", "sseregparm", "''", "calling", "convention", "attributes", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qs attribute only applies to functions\"", "\"regparm\"", "\"fastcall\"", "\"fastcall and regparm attributes are not compatible\"", "\"%qs attribute requires an integer constant argument\"", "0", "\"argument to %qs attribute larger than %d\"", "\"%qs attribute ignored\"", "\"fastcall\"", "\"cdecl\"", "\"fastcall and cdecl attributes are not compatible\"", "\"stdcall\"", "\"fastcall and stdcall attributes are not compatible\"", "\"regparm\"", "\"fastcall and regparm attributes are not compatible\"", "\"stdcall\"", "\"cdecl\"", "\"stdcall and cdecl attributes are not compatible\"", "\"fastcall\"", "\"stdcall and fastcall attributes are not compatible\"", "\"cdecl\"", "\"stdcall\"", "\"stdcall and cdecl attributes are not compatible\"", "\"fastcall\"", "\"fastcall and cdecl attributes are not compatible\""], "File": "i3863", "Func": "ix86_handle_cconv_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38056, "Length": 389}
{"ground_truth": ["", "static", "bool", "ix86_handle_option", "(", "size_t", "code", ",", "const", "char", "*", "arg", "ATTRIBUTE_UNUSED", ",", "int", "value", ")", "{", "switch", "(", "code", ")", "{", "case", "OPT_m3dnow", ":", "if", "(", "!", "value", ")", "{", "target_flags", "&=", "~", "MASK_3DNOW_A", ";", "target_flags_explicit", "|=", "MASK_3DNOW_A", ";", "}", "return", "true", ";", "case", "OPT_mmmx", ":", "if", "(", "!", "value", ")", "{", "target_flags", "&=", "~", "(", "MASK_3DNOW", "|", "MASK_3DNOW_A", ")", ";", "target_flags_explicit", "|=", "MASK_3DNOW", "|", "MASK_3DNOW_A", ";", "}", "return", "true", ";", "case", "OPT_msse", ":", "if", "(", "!", "value", ")", "{", "target_flags", "&=", "~", "(", "MASK_SSE2", "|", "MASK_SSE3", ")", ";", "target_flags_explicit", "|=", "MASK_SSE2", "|", "MASK_SSE3", ";", "}", "return", "true", ";", "case", "OPT_msse2", ":", "if", "(", "!", "value", ")", "{", "target_flags", "&=", "~", "MASK_SSE3", ";", "target_flags_explicit", "|=", "MASK_SSE3", ";", "}", "return", "true", ";", "default", ":", "return", "true", ";", "}", "}", ""], "natrual_language": ["Implement", "TARGET_HANDLE_OPTION", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_handle_option", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38057, "Length": 129}
{"ground_truth": ["", "static", "tree", "ix86_handle_struct_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", "ATTRIBUTE_UNUSED", ",", "int", "flags", "ATTRIBUTE_UNUSED", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "*", "type", "=", "NULL", ";", "if", "(", "DECL_P", "(", "*", "node", ")", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "==", "TYPE_DECL", ")", "type", "=", "&", "TREE_TYPE", "(", "*", "node", ")", ";", "}", "else", "type", "=", "node", ";", "if", "(", "!", "(", "type", "&&", "(", "TREE_CODE", "(", "*", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "*", "type", ")", "==", "UNION_TYPE", ")", ")", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qs attribute ignored\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "else", "if", "(", "(", "is_attribute_p", "(", "\"ms_struct\"", ",", "name", ")", "&&", "lookup_attribute", "(", "\"gcc_struct\"", ",", "TYPE_ATTRIBUTES", "(", "*", "type", ")", ")", ")", "||", "(", "(", "is_attribute_p", "(", "\"gcc_struct\"", ",", "name", ")", "&&", "lookup_attribute", "(", "\"ms_struct\"", ",", "TYPE_ATTRIBUTES", "(", "*", "type", ")", ")", ")", ")", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qs incompatible attribute ignored\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "ms_struct", "''", "or", "``", "gcc_struct", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qs attribute ignored\"", "\"ms_struct\"", "\"gcc_struct\"", "\"gcc_struct\"", "\"ms_struct\"", "\"%qs incompatible attribute ignored\""], "File": "i3863", "Func": "ix86_handle_struct_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38058, "Length": 176}
{"ground_truth": ["", "bool", "ix86_hard_regno_mode_ok", "(", "int", "regno", ",", "enum", "machine_mode", "mode", ")", "{", "if", "(", "CC_REGNO_P", "(", "regno", ")", ")", "return", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_RANDOM", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_PARTIAL_INT", ")", "return", "0", ";", "if", "(", "FP_REGNO_P", "(", "regno", ")", ")", "return", "VALID_FP_MODE_P", "(", "mode", ")", ";", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "VALID_SSE_REG_MODE", "(", "mode", ")", "||", "VALID_SSE2_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "mode", "==", "QImode", ")", "{", "if", "(", "regno", "<", "4", "||", "TARGET_64BIT", ")", "return", "1", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "return", "1", ";", "return", "reload_in_progress", "||", "reload_completed", ";", "}", "else", "if", "(", "VALID_INT_MODE_P", "(", "mode", ")", ")", "return", "1", ";", "else", "if", "(", "VALID_FP_MODE_P", "(", "mode", ")", ")", "return", "1", ";", "else", "if", "(", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "1", ";", "return", "0", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["i386", "0", "4", "1", "1", "1", "1", "1", "0"], "File": "i3863", "Func": "ix86_hard_regno_mode_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38059, "Length": 193}
{"ground_truth": ["", "HOST_WIDE_INT", "ix86_initial_elimination_offset", "(", "int", "from", ",", "int", "to", ")", "{", "struct", "ix86_frame", "frame", ";", "ix86_compute_frame_layout", "(", "&", "frame", ")", ";", "if", "(", "from", "==", "ARG_POINTER_REGNUM", "&&", "to", "==", "HARD_FRAME_POINTER_REGNUM", ")", "return", "frame", ".", "hard_frame_pointer_offset", ";", "else", "if", "(", "from", "==", "FRAME_POINTER_REGNUM", "&&", "to", "==", "HARD_FRAME_POINTER_REGNUM", ")", "return", "frame", ".", "hard_frame_pointer_offset", "-", "frame", ".", "frame_pointer_offset", ";", "else", "{", "gcc_assert", "(", "to", "==", "STACK_POINTER_REGNUM", ")", ";", "if", "(", "from", "==", "ARG_POINTER_REGNUM", ")", "return", "frame", ".", "stack_pointer_offset", ";", "gcc_assert", "(", "from", "==", "FRAME_POINTER_REGNUM", ")", ";", "return", "frame", ".", "stack_pointer_offset", "-", "frame", ".", "frame_pointer_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": ["i386"], "File": "i3863", "Func": "ix86_initial_elimination_offset", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38060, "Length": 93}
{"ground_truth": ["", "static", "struct", "machine_function", "*", "ix86_init_machine_status", "(", "void", ")", "{", "struct", "machine_function", "*", "f", ";", "f", "=", "ggc_alloc_cleared", "(", "sizeof", "(", "struct", "machine_function", ")", ")", ";", "f", "->", "use_fast_prologue_epilogue_nregs", "=", "-", "1", ";", "return", "f", ";", "}", ""], "natrual_language": ["Clear", "stack", "slot", "assignments", "remembered", "from", "previous", "functions", ".", "This", "is", "called", "from", "INIT_EXPANDERS", "once", "before", "RTL", "is", "emitted", "for", "each", "function", "."], "TS_V_token": ["i386", "1"], "File": "i3863", "Func": "ix86_init_machine_status", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38061, "Length": 36}
{"ground_truth": ["", "static", "rtx", "ix86_internal_arg_pointer", "(", "void", ")", "{", "if", "(", "FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN", "&&", "DECL_NAME", "(", "current_function_decl", ")", "&&", "MAIN_NAME_P", "(", "DECL_NAME", "(", "current_function_decl", ")", ")", "&&", "DECL_FILE_SCOPE_P", "(", "current_function_decl", ")", ")", "{", "cfun", "->", "machine", "->", "force_align_arg_pointer", "=", "gen_rtx_REG", "(", "Pmode", ",", "2", ")", ";", "return", "copy_to_reg", "(", "cfun", "->", "machine", "->", "force_align_arg_pointer", ")", ";", "}", "else", "return", "virtual_incoming_args_rtx", ";", "}", ""], "natrual_language": ["Handle", "the", "TARGET_INTERNAL_ARG_POINTER", "hook", "."], "TS_V_token": ["i386", "2"], "File": "i3863", "Func": "ix86_internal_arg_pointer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38062, "Length": 59}
{"ground_truth": ["", "static", "bool", "ix86_in_large_data_p", "(", "tree", "exp", ")", "{", "if", "(", "ix86_cmodel", "!=", "CM_MEDIUM", "&&", "ix86_cmodel", "!=", "CM_MEDIUM_PIC", ")", "return", "false", ";", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "FUNCTION_DECL", ")", "return", "false", ";", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "VAR_DECL", "&&", "DECL_SECTION_NAME", "(", "exp", ")", ")", "{", "const", "char", "*", "section", "=", "TREE_STRING_POINTER", "(", "DECL_SECTION_NAME", "(", "exp", ")", ")", ";", "if", "(", "strcmp", "(", "section", ",", "\".ldata\"", ")", "==", "0", "||", "strcmp", "(", "section", ",", "\".lbss\"", ")", "==", "0", ")", "return", "true", ";", "return", "false", ";", "}", "else", "{", "HOST_WIDE_INT", "size", "=", "int_size_in_bytes", "(", "TREE_TYPE", "(", "exp", ")", ")", ";", "if", "(", "!", "size", "||", "size", ">", "ix86_section_threshold", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "goes", "in", "small", "data/bss", "."], "TS_V_token": ["i386", "\".ldata\"", "0", "\".lbss\"", "0"], "File": "i3863", "Func": "ix86_in_large_data_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38063, "Length": 118}
{"ground_truth": ["", "static", "int", "ix86_issue_rate", "(", "void", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "case", "PROCESSOR_K6", ":", "return", "2", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "case", "PROCESSOR_PENTIUM4", ":", "case", "PROCESSOR_ATHLON", ":", "case", "PROCESSOR_K8", ":", "case", "PROCESSOR_NOCONA", ":", "return", "3", ";", "default", ":", "return", "1", ";", "}", "}", ""], "natrual_language": ["Return", "the", "maximum", "number", "of", "instructions", "a", "cpu", "can", "issue", "."], "TS_V_token": ["i386", "2", "3", "1"], "File": "i3863", "Func": "ix86_issue_rate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38064, "Length": 46}
{"ground_truth": ["", "rtx", "ix86_libcall_value", "(", "enum", "machine_mode", "mode", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "switch", "(", "mode", ")", "{", "case", "SFmode", ":", "case", "SCmode", ":", "case", "DFmode", ":", "case", "DCmode", ":", "case", "TFmode", ":", "return", "gen_rtx_REG", "(", "mode", ",", "FIRST_SSE_REG", ")", ";", "case", "XFmode", ":", "case", "XCmode", ":", "return", "gen_rtx_REG", "(", "mode", ",", "FIRST_FLOAT_REG", ")", ";", "case", "TCmode", ":", "return", "NULL", ";", "default", ":", "return", "gen_rtx_REG", "(", "mode", ",", "0", ")", ";", "}", "}", "else", "return", "gen_rtx_REG", "(", "mode", ",", "ix86_value_regno", "(", "mode", ",", "NULL", ",", "NULL", ")", ")", ";", "}", ""], "natrual_language": ["Define", "how", "to", "find", "the", "value", "returned", "by", "a", "library", "function", "assuming", "the", "value", "has", "mode", "MODE", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "ix86_libcall_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38065, "Length": 90}
{"ground_truth": ["", "int", "ix86_local_alignment", "(", "tree", "type", ",", "int", "align", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "(", "TREE_INT_CST_LOW", "(", "TYPE_SIZE", "(", "type", ")", ")", ">=", "16", "||", "TREE_INT_CST_HIGH", "(", "TYPE_SIZE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "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": ["i386", "16", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i3863", "Func": "ix86_local_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38066, "Length": 294}
{"ground_truth": ["", "static", "const", "char", "*", "ix86_mangle_fundamental_type", "(", "tree", "type", ")", "{", "switch", "(", "TYPE_MODE", "(", "type", ")", ")", "{", "case", "TFmode", ":", "return", "\"g\"", ";", "case", "XFmode", ":", "return", "\"e\"", ";", "default", ":", "return", "NULL", ";", "}", "}", ""], "natrual_language": ["Return", "the", "mangling", "of", "TYPE", "if", "it", "is", "an", "extended", "fundamental", "type", "."], "TS_V_token": ["i386", "\"g\"", "\"e\""], "File": "i3863", "Func": "ix86_mangle_fundamental_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38067, "Length": 37}
{"ground_truth": ["", "int", "ix86_match_ccmode", "(", "rtx", "insn", ",", "enum", "machine_mode", "req_mode", ")", "{", "rtx", "set", ";", "enum", "machine_mode", "set_mode", ";", "set", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "COMPARE", ")", ";", "set_mode", "=", "GET_MODE", "(", "SET_DEST", "(", "set", ")", ")", ";", "switch", "(", "set_mode", ")", "{", "case", "CCNOmode", ":", "if", "(", "req_mode", "!=", "CCNOmode", "&&", "(", "req_mode", "!=", "CCmode", "||", "XEXP", "(", "SET_SRC", "(", "set", ")", ",", "1", ")", "!=", "const0_rtx", ")", ")", "return", "0", ";", "break", ";", "case", "CCmode", ":", "if", "(", "req_mode", "==", "CCGCmode", ")", "return", "0", ";", "case", "CCGCmode", ":", "if", "(", "req_mode", "==", "CCGOCmode", "||", "req_mode", "==", "CCNOmode", ")", "return", "0", ";", "case", "CCGOCmode", ":", "if", "(", "req_mode", "==", "CCZmode", ")", "return", "0", ";", "case", "CCZmode", ":", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "(", "GET_MODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "set_mode", ")", ";", "}", ""], "natrual_language": ["Return", "TRUE", "or", "FALSE", "depending", "on", "whether", "the", "first", "SET", "in", "INSN", "has", "source", "and", "destination", "with", "matching", "CC", "modes", ",", "and", "that", "the", "CC", "mode", "is", "at", "least", "as", "constrained", "as", "REQ_MODE", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "0", "0", "0"], "File": "i3863", "Func": "ix86_match_ccmode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38068, "Length": 181}
{"ground_truth": ["", "static", "tree", "ix86_md_asm_clobbers", "(", "tree", "outputs", "ATTRIBUTE_UNUSED", ",", "tree", "inputs", "ATTRIBUTE_UNUSED", ",", "tree", "clobbers", ")", "{", "clobbers", "=", "tree_cons", "(", "NULL_TREE", ",", "build_string", "(", "5", ",", "\"flags\"", ")", ",", "clobbers", ")", ";", "clobbers", "=", "tree_cons", "(", "NULL_TREE", ",", "build_string", "(", "4", ",", "\"fpsr\"", ")", ",", "clobbers", ")", ";", "clobbers", "=", "tree_cons", "(", "NULL_TREE", ",", "build_string", "(", "7", ",", "\"dirflag\"", ")", ",", "clobbers", ")", ";", "return", "clobbers", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_MD_ASM_CLOBBERS", ".", "We", "do", "this", "in", "the", "new", "i386", "backend", "to", "maintain", "source", "compatibility", "with", "the", "old", "cc0-based", "compiler", "."], "TS_V_token": ["i386", "5", "\"flags\"", "4", "\"fpsr\"", "7", "\"dirflag\""], "File": "i3863", "Func": "ix86_md_asm_clobbers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38069, "Length": 68}
{"ground_truth": ["", "int", "ix86_memory_move_cost", "(", "enum", "machine_mode", "mode", ",", "enum", "reg_class", "class", ",", "int", "in", ")", "{", "if", "(", "FLOAT_CLASS_P", "(", "class", ")", ")", "{", "int", "index", ";", "switch", "(", "mode", ")", "{", "case", "SFmode", ":", "index", "=", "0", ";", "break", ";", "case", "DFmode", ":", "index", "=", "1", ";", "break", ";", "case", "XFmode", ":", "index", "=", "2", ";", "break", ";", "default", ":", "return", "100", ";", "}", "return", "in", "?", "ix86_cost", "->", "fp_load", "[", "index", "]", ":", "ix86_cost", "->", "fp_store", "[", "index", "]", ";", "}", "if", "(", "SSE_CLASS_P", "(", "class", ")", ")", "{", "int", "index", ";", "switch", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", "{", "case", "4", ":", "index", "=", "0", ";", "break", ";", "case", "8", ":", "index", "=", "1", ";", "break", ";", "case", "16", ":", "index", "=", "2", ";", "break", ";", "default", ":", "return", "100", ";", "}", "return", "in", "?", "ix86_cost", "->", "sse_load", "[", "index", "]", ":", "ix86_cost", "->", "sse_store", "[", "index", "]", ";", "}", "if", "(", "MMX_CLASS_P", "(", "class", ")", ")", "{", "int", "index", ";", "switch", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", "{", "case", "4", ":", "index", "=", "0", ";", "break", ";", "case", "8", ":", "index", "=", "1", ";", "break", ";", "default", ":", "return", "100", ";", "}", "return", "in", "?", "ix86_cost", "->", "mmx_load", "[", "index", "]", ":", "ix86_cost", "->", "mmx_store", "[", "index", "]", ";", "}", "switch", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", "{", "case", "1", ":", "if", "(", "in", ")", "return", "(", "Q_CLASS_P", "(", "class", ")", "?", "ix86_cost", "->", "int_load", "[", "0", "]", ":", "ix86_cost", "->", "movzbl_load", ")", ";", "else", "return", "(", "Q_CLASS_P", "(", "class", ")", "?", "ix86_cost", "->", "int_store", "[", "0", "]", ":", "ix86_cost", "->", "int_store", "[", "0", "]", "+", "4", ")", ";", "break", ";", "case", "2", ":", "return", "in", "?", "ix86_cost", "->", "int_load", "[", "1", "]", ":", "ix86_cost", "->", "int_store", "[", "1", "]", ";", "default", ":", "if", "(", "mode", "==", "TFmode", ")", "mode", "=", "XFmode", ";", "return", "(", "(", "in", "?", "ix86_cost", "->", "int_load", "[", "2", "]", ":", "ix86_cost", "->", "int_store", "[", "2", "]", ")", "*", "(", "(", "(", "int", ")", "GET_MODE_SIZE", "(", "mode", ")", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ")", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "of", "mode", "M", "between", "a", "register", "and", "memory", ".", "A", "value", "of", "2", "is", "the", "default", ";", "this", "cost", "is", "relative", "to", "those", "in", "`", "REGISTER_MOVE_COST", "'", ".", "If", "moving", "between", "registers", "and", "memory", "is", "more", "expensive", "than", "between", "two", "registers", ",", "you", "should", "define", "this", "macro", "to", "express", "the", "relative", "cost", ".", "Model", "also", "increased", "moving", "costs", "of", "QImode", "registers", "in", "non", "Q_REGS", "classes", "."], "TS_V_token": ["i386", "0", "1", "2", "100", "4", "0", "8", "1", "16", "2", "100", "4", "0", "8", "1", "100", "1", "0", "0", "0", "4", "2", "1", "1", "2", "2", "1"], "File": "i3863", "Func": "ix86_memory_move_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38070, "Length": 347}
{"ground_truth": ["", "bool", "ix86_modes_tieable_p", "(", "enum", "machine_mode", "mode1", ",", "enum", "machine_mode", "mode2", ")", "{", "if", "(", "mode1", "==", "mode2", ")", "return", "true", ";", "if", "(", "ix86_tieable_integer_mode_p", "(", "mode1", ")", "&&", "ix86_tieable_integer_mode_p", "(", "mode2", ")", ")", "return", "true", ";", "if", "(", "mode2", "==", "XFmode", ")", "return", "mode1", "==", "SFmode", "||", "mode1", "==", "DFmode", ";", "if", "(", "mode2", "==", "DFmode", ")", "return", "mode1", "==", "SFmode", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", ">=", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode2", ")", ")", "return", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode1", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "MODE1", "is", "accessible", "in", "a", "register", "that", "can", "hold", "MODE2", "without", "copying", ".", "That", "is", ",", "all", "register", "classes", "that", "can", "hold", "MODE2", "can", "also", "hold", "MODE1", "."], "TS_V_token": ["i386", "8", "8"], "File": "i3863", "Func": "ix86_modes_tieable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38071, "Length": 114}
{"ground_truth": ["", "int", "ix86_mode_needed", "(", "int", "entity", ",", "rtx", "insn", ")", "{", "enum", "attr_i387_cw", "mode", ";", "if", "(", "CALL_P", "(", "insn", ")", "||", "(", "NONJUMP_INSN_P", "(", "insn", ")", "&&", "(", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", ">=", "0", "||", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "ASM_INPUT", ")", ")", ")", "return", "I387_CW_UNINITIALIZED", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "return", "I387_CW_ANY", ";", "mode", "=", "get_attr_i387_cw", "(", "insn", ")", ";", "switch", "(", "entity", ")", "{", "case", "I387_TRUNC", ":", "if", "(", "mode", "==", "I387_CW_TRUNC", ")", "return", "mode", ";", "break", ";", "case", "I387_FLOOR", ":", "if", "(", "mode", "==", "I387_CW_FLOOR", ")", "return", "mode", ";", "break", ";", "case", "I387_CEIL", ":", "if", "(", "mode", "==", "I387_CW_CEIL", ")", "return", "mode", ";", "break", ";", "case", "I387_MASK_PM", ":", "if", "(", "mode", "==", "I387_CW_MASK_PM", ")", "return", "mode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "I387_CW_ANY", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3863", "Func": "ix86_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38072, "Length": 144}
{"ground_truth": ["", "static", "bool", "ix86_must_pass_in_stack", "(", "enum", "machine_mode", "mode", ",", "tree", "type", ")", "{", "if", "(", "must_pass_in_stack_var_size_or_pad", "(", "mode", ",", "type", ")", ")", "return", "true", ";", "return", "(", "!", "TARGET_64BIT", "&&", "mode", "==", "TImode", "&&", "type", "&&", "TREE_CODE", "(", "type", ")", "!=", "VECTOR_TYPE", ")", ";", "}", ""], "natrual_language": ["Return", "if", "we", "do", "not", "know", "how", "to", "pass", "TYPE", "solely", "in", "registers", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_must_pass_in_stack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38073, "Length": 44}
{"ground_truth": ["", "static", "int", "ix86_nsaved_regs", "(", "void", ")", "{", "int", "nregs", "=", "0", ";", "int", "regno", ";", "for", "(", "regno", "=", "FIRST_PSEUDO_REGISTER", "-", "1", ";", "regno", ">=", "0", ";", "regno", "--", ")", "if", "(", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "nregs", "++", ";", "return", "nregs", ";", "}", ""], "natrual_language": ["Return", "number", "of", "registers", "to", "be", "saved", "on", "the", "stack", "."], "TS_V_token": ["i386", "0", "1", "0"], "File": "i3863", "Func": "ix86_nsaved_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38074, "Length": 46}
{"ground_truth": ["", "static", "void", "ix86_pad_returns", "(", "void", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "EXIT_BLOCK_PTR", "->", "preds", ")", "{", "basic_block", "bb", "=", "e", "->", "src", ";", "rtx", "ret", "=", "BB_END", "(", "bb", ")", ";", "rtx", "prev", ";", "bool", "replace", "=", "false", ";", "if", "(", "GET_CODE", "(", "ret", ")", "!=", "JUMP_INSN", "||", "GET_CODE", "(", "PATTERN", "(", "ret", ")", ")", "!=", "RETURN", "||", "!", "maybe_hot_bb_p", "(", "bb", ")", ")", "continue", ";", "for", "(", "prev", "=", "PREV_INSN", "(", "ret", ")", ";", "prev", ";", "prev", "=", "PREV_INSN", "(", "prev", ")", ")", "if", "(", "active_insn_p", "(", "prev", ")", "||", "GET_CODE", "(", "prev", ")", "==", "CODE_LABEL", ")", "break", ";", "if", "(", "prev", "&&", "GET_CODE", "(", "prev", ")", "==", "CODE_LABEL", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "preds", ")", "if", "(", "EDGE_FREQUENCY", "(", "e", ")", "&&", "e", "->", "src", "->", "index", ">=", "0", "&&", "!", "(", "e", "->", "flags", "&", "EDGE_FALLTHRU", ")", ")", "replace", "=", "true", ";", "}", "if", "(", "!", "replace", ")", "{", "prev", "=", "prev_active_insn", "(", "ret", ")", ";", "if", "(", "prev", "&&", "(", "(", "GET_CODE", "(", "prev", ")", "==", "JUMP_INSN", "&&", "any_condjump_p", "(", "prev", ")", ")", "||", "GET_CODE", "(", "prev", ")", "==", "CALL_INSN", ")", ")", "replace", "=", "true", ";", "if", "(", "!", "prev", "&&", "cfun", "->", "function_frequency", ">", "FUNCTION_FREQUENCY_UNLIKELY_EXECUTED", ")", "replace", "=", "true", ";", "}", "if", "(", "replace", ")", "{", "emit_insn_before", "(", "gen_return_internal_long", "(", ")", ",", "ret", ")", ";", "delete_insn", "(", "ret", ")", ";", "}", "}", "}", ""], "natrual_language": ["AMD", "Athlon", "works", "faster", "when", "RET", "is", "not", "destination", "of", "conditional", "jump", "or", "directly", "preceded", "by", "other", "jump", "instruction", ".", "We", "avoid", "the", "penalty", "by", "inserting", "NOP", "just", "before", "the", "RET", "instructions", "in", "such", "cases", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "ix86_pad_returns", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38075, "Length": 247}
{"ground_truth": ["", "enum", "reg_class", "ix86_preferred_reload_class", "(", "rtx", "x", ",", "enum", "reg_class", "class", ")", "{", "if", "(", "class", "==", "NO_REGS", ")", "return", "NO_REGS", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "class", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "CONST_DOUBLE", "&&", "GET_MODE", "(", "x", ")", "!=", "VOIDmode", ")", "{", "if", "(", "reg_class_subset_p", "(", "class", ",", "GENERAL_REGS", ")", ")", "return", "class", ";", "if", "(", "TARGET_80387", "&&", "(", "TARGET_MIX_SSE_I387", "||", "!", "(", "TARGET_SSE_MATH", "&&", "SSE_FLOAT_MODE_P", "(", "GET_MODE", "(", "x", ")", ")", ")", ")", "&&", "standard_80387_constant_p", "(", "x", ")", ")", "{", "if", "(", "class", "==", "FLOAT_SSE_REGS", ")", "return", "FLOAT_REGS", ";", "if", "(", "class", "==", "FP_TOP_SSE_REGS", ")", "return", "FP_TOP_REG", ";", "if", "(", "class", "==", "FP_SECOND_SSE_REGS", ")", "return", "FP_SECOND_REG", ";", "if", "(", "class", "==", "FLOAT_INT_REGS", "||", "class", "==", "FLOAT_REGS", ")", "return", "class", ";", "}", "return", "NO_REGS", ";", "}", "if", "(", "MAYBE_MMX_CLASS_P", "(", "class", ")", "&&", "CONSTANT_P", "(", "x", ")", ")", "return", "NO_REGS", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "class", ")", "&&", "CONSTANT_P", "(", "x", ")", ")", "return", "NO_REGS", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "return", "reg_class_subset_p", "(", "class", ",", "GENERAL_REGS", ")", "?", "class", ":", "NO_REGS", ";", "if", "(", "GET_MODE", "(", "x", ")", "==", "QImode", "&&", "!", "CONSTANT_P", "(", "x", ")", ")", "{", "if", "(", "reg_class_subset_p", "(", "class", ",", "Q_REGS", ")", ")", "return", "class", ";", "if", "(", "reg_class_subset_p", "(", "Q_REGS", ",", "class", ")", ")", "return", "Q_REGS", ";", "return", "NO_REGS", ";", "}", "return", "class", ";", "}", ""], "natrual_language": ["Put", "float", "CONST_DOUBLE", "in", "the", "constant", "pool", "instead", "of", "fp", "regs", ".", "QImode", "must", "go", "into", "class", "Q_REGS", ".", "Narrow", "ALL_REGS", "to", "GENERAL_REGS", ".", "This", "supports", "allowing", "movsf", "and", "movdf", "to", "do", "mem-to-mem", "moves", "through", "integer", "regs", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_preferred_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38076, "Length": 236}
{"ground_truth": ["", "static", "enum", "rtx_code", "ix86_prepare_fp_compare_args", "(", "enum", "rtx_code", "code", ",", "rtx", "*", "pop0", ",", "rtx", "*", "pop1", ")", "{", "enum", "machine_mode", "fpcmp_mode", "=", "ix86_fp_compare_mode", "(", "code", ")", ";", "rtx", "op0", "=", "*", "pop0", ",", "op1", "=", "*", "pop1", ";", "enum", "machine_mode", "op_mode", "=", "GET_MODE", "(", "op0", ")", ";", "int", "is_sse", "=", "TARGET_SSE_MATH", "&&", "SSE_FLOAT_MODE_P", "(", "op_mode", ")", ";", "if", "(", "!", "is_sse", "&&", "(", "fpcmp_mode", "==", "CCFPUmode", "||", "(", "op_mode", "==", "XFmode", "&&", "!", "(", "standard_80387_constant_p", "(", "op0", ")", "==", "1", "||", "standard_80387_constant_p", "(", "op1", ")", "==", "1", ")", "&&", "GET_CODE", "(", "op1", ")", "!=", "FLOAT", ")", "||", "ix86_use_fcomi_compare", "(", "code", ")", ")", ")", "{", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "else", "{", "if", "(", "standard_80387_constant_p", "(", "op0", ")", "==", "0", "||", "(", "GET_CODE", "(", "op0", ")", "==", "MEM", "&&", "!", "(", "standard_80387_constant_p", "(", "op1", ")", "==", "0", "||", "GET_CODE", "(", "op1", ")", "==", "MEM", ")", ")", ")", "{", "rtx", "tmp", ";", "tmp", "=", "op0", ",", "op0", "=", "op1", ",", "op1", "=", "tmp", ";", "code", "=", "swap_condition", "(", "code", ")", ";", "}", "if", "(", "GET_CODE", "(", "op0", ")", "!=", "REG", ")", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "if", "(", "CONSTANT_P", "(", "op1", ")", ")", "{", "int", "tmp", "=", "standard_80387_constant_p", "(", "op1", ")", ";", "if", "(", "tmp", "==", "0", ")", "op1", "=", "validize_mem", "(", "force_const_mem", "(", "op_mode", ",", "op1", ")", ")", ";", "else", "if", "(", "tmp", "==", "1", ")", "{", "if", "(", "TARGET_CMOVE", ")", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "else", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "}", "if", "(", "ix86_fp_comparison_cost", "(", "code", ")", ">", "ix86_fp_comparison_cost", "(", "swap_condition", "(", "code", ")", ")", "&&", "(", "GET_CODE", "(", "op1", ")", "==", "REG", "||", "!", "no_new_pseudos", ")", ")", "{", "rtx", "tmp", ";", "tmp", "=", "op0", ",", "op0", "=", "op1", ",", "op1", "=", "tmp", ";", "code", "=", "swap_condition", "(", "code", ")", ";", "if", "(", "GET_CODE", "(", "op0", ")", "!=", "REG", ")", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "}", "*", "pop0", "=", "op0", ";", "*", "pop1", "=", "op1", ";", "return", "code", ";", "}", ""], "natrual_language": ["Swap", ",", "force", "into", "registers", ",", "or", "otherwise", "massage", "the", "two", "operands", "to", "a", "fp", "comparison", ".", "The", "operands", "are", "updated", "in", "place", ";", "the", "new", "comparsion", "code", "is", "returned", "."], "TS_V_token": ["i386", "1", "1", "0", "0", "0", "1"], "File": "i3863", "Func": "ix86_prepare_fp_compare_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38077, "Length": 353}
{"ground_truth": ["", "static", "enum", "rtx_code", "ix86_prepare_sse_fp_compare_args", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "*", "pop0", ",", "rtx", "*", "pop1", ")", "{", "rtx", "tmp", ";", "switch", "(", "code", ")", "{", "case", "LTGT", ":", "case", "UNEQ", ":", "return", "UNKNOWN", ";", "case", "LT", ":", "case", "LE", ":", "case", "UNGT", ":", "case", "UNGE", ":", "break", ";", "case", "EQ", ":", "case", "NE", ":", "case", "UNORDERED", ":", "case", "ORDERED", ":", "if", "(", "!", "dest", "||", "!", "rtx_equal_p", "(", "dest", ",", "*", "pop1", ")", ")", "break", ";", "case", "GE", ":", "case", "GT", ":", "case", "UNLE", ":", "case", "UNLT", ":", "tmp", "=", "*", "pop0", ";", "*", "pop0", "=", "*", "pop1", ";", "*", "pop1", "=", "tmp", ";", "code", "=", "swap_condition", "(", "code", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "code", ";", "}", ""], "natrual_language": ["Swap", ",", "force", "into", "registers", ",", "or", "otherwise", "massage", "the", "two", "operands", "to", "an", "sse", "comparison", "with", "a", "mask", "result", ".", "Thus", "we", "differ", "a", "bit", "from", "ix86_prepare_fp_compare_args", "which", "expects", "to", "produce", "a", "flags", "result", ".", "The", "DEST", "operand", "exists", "to", "help", "determine", "whether", "to", "commute", "commutative", "operators", ".", "The", "POP0/POP1", "operands", "are", "updated", "in", "place", ".", "The", "new", "comparison", "code", "is", "returned", ",", "or", "UNKNOWN", "if", "not", "implementable", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_prepare_sse_fp_compare_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38078, "Length": 128}
{"ground_truth": ["", "int", "ix86_register_move_cost", "(", "enum", "machine_mode", "mode", ",", "enum", "reg_class", "class1", ",", "enum", "reg_class", "class2", ")", "{", "if", "(", "ix86_secondary_memory_needed", "(", "class1", ",", "class2", ",", "mode", ",", "0", ")", ")", "{", "int", "cost", "=", "1", ";", "cost", "+=", "MAX", "(", "MEMORY_MOVE_COST", "(", "mode", ",", "class1", ",", "0", ")", ",", "MEMORY_MOVE_COST", "(", "mode", ",", "class1", ",", "1", ")", ")", ";", "cost", "+=", "MAX", "(", "MEMORY_MOVE_COST", "(", "mode", ",", "class2", ",", "0", ")", ",", "MEMORY_MOVE_COST", "(", "mode", ",", "class2", ",", "1", ")", ")", ";", "if", "(", "CLASS_MAX_NREGS", "(", "class1", ",", "mode", ")", ">", "CLASS_MAX_NREGS", "(", "class2", ",", "mode", ")", ")", "cost", "+=", "20", ";", "if", "(", "(", "MMX_CLASS_P", "(", "class1", ")", "&&", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", ")", "||", "(", "MMX_CLASS_P", "(", "class2", ")", "&&", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", ")", ")", "cost", "+=", "20", ";", "return", "cost", ";", "}", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", "||", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "return", "ix86_cost", "->", "mmxsse_to_integer", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "fp_move", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "sse_move", ";", "if", "(", "MAYBE_MMX_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "mmx_move", ";", "return", "2", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "from", "a", "register", "in", "class", "CLASS1", "to", "one", "in", "class", "CLASS2", ".", "It", "is", "not", "required", "that", "the", "cost", "always", "equal", "2", "when", "FROM", "is", "the", "same", "as", "TO", ";", "on", "some", "machines", "it", "is", "expensive", "to", "move", "between", "registers", "if", "they", "are", "not", "general", "registers", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "1", "20", "20", "2"], "File": "i3863", "Func": "ix86_register_move_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38079, "Length": 202}
{"ground_truth": ["", "static", "void", "ix86_reorg", "(", "void", ")", "{", "if", "(", "TARGET_ATHLON_K8", "&&", "optimize", "&&", "!", "optimize_size", ")", "ix86_pad_returns", "(", ")", ";", "if", "(", "TARGET_FOUR_JUMP_LIMIT", "&&", "optimize", "&&", "!", "optimize_size", ")", "ix86_avoid_jump_misspredicts", "(", ")", ";", "}", ""], "natrual_language": ["Implement", "machine", "specific", "optimizations", ".", "We", "implement", "padding", "of", "returns", "for", "K8", "CPUs", "and", "pass", "to", "avoid", "4", "jumps", "in", "the", "single", "16", "byte", "window", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_reorg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38080, "Length": 34}
{"ground_truth": ["", "int", "ix86_return_in_memory", "(", "tree", "type", ")", "{", "int", "needed_intregs", ",", "needed_sseregs", ",", "size", ";", "enum", "machine_mode", "mode", "=", "type_natural_mode", "(", "type", ")", ";", "if", "(", "TARGET_64BIT", ")", "return", "!", "examine_argument", "(", "mode", ",", "type", ",", "1", ",", "&", "needed_intregs", ",", "&", "needed_sseregs", ")", ";", "if", "(", "mode", "==", "BLKmode", ")", "return", "1", ";", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "MS_AGGREGATE_RETURN", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "size", "<=", "8", ")", "return", "0", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "||", "mode", "==", "TImode", ")", "{", "if", "(", "size", "<", "8", ")", "return", "0", ";", "if", "(", "size", "==", "8", ")", "return", "(", "TARGET_MMX", "?", "0", ":", "1", ")", ";", "if", "(", "size", "==", "16", ")", "return", "(", "TARGET_SSE", "?", "0", ":", "1", ")", ";", "}", "if", "(", "mode", "==", "XFmode", ")", "return", "0", ";", "if", "(", "size", ">", "12", ")", "return", "1", ";", "return", "0", ";", "}", ""], "natrual_language": ["Return", "false", "iff", "type", "is", "returned", "in", "memory", "."], "TS_V_token": ["i386", "1", "1", "8", "0", "8", "0", "8", "0", "1", "16", "0", "1", "0", "12", "1", "0"], "File": "i3863", "Func": "ix86_return_in_memory", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38081, "Length": 150}
{"ground_truth": ["", "int", "ix86_return_pops_args", "(", "tree", "fundecl", ",", "tree", "funtype", ",", "int", "size", ")", "{", "int", "rtd", "=", "TARGET_RTD", "&&", "(", "!", "fundecl", "||", "TREE_CODE", "(", "fundecl", ")", "!=", "IDENTIFIER_NODE", ")", ";", "if", "(", "!", "lookup_attribute", "(", "\"cdecl\"", ",", "TYPE_ATTRIBUTES", "(", "funtype", ")", ")", ")", "{", "if", "(", "lookup_attribute", "(", "\"stdcall\"", ",", "TYPE_ATTRIBUTES", "(", "funtype", ")", ")", "||", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "funtype", ")", ")", ")", "rtd", "=", "1", ";", "if", "(", "rtd", "&&", "(", "TYPE_ARG_TYPES", "(", "funtype", ")", "==", "NULL_TREE", "||", "(", "TREE_VALUE", "(", "tree_last", "(", "TYPE_ARG_TYPES", "(", "funtype", ")", ")", ")", "==", "void_type_node", ")", ")", ")", "return", "size", ";", "}", "if", "(", "aggregate_value_p", "(", "TREE_TYPE", "(", "funtype", ")", ",", "fundecl", ")", "&&", "!", "TARGET_64BIT", "&&", "!", "KEEP_AGGREGATE_RETURN_POINTER", ")", "{", "int", "nregs", "=", "ix86_function_regparm", "(", "funtype", ",", "fundecl", ")", ";", "if", "(", "!", "nregs", ")", "return", "GET_MODE_SIZE", "(", "Pmode", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Value", "is", "the", "number", "of", "bytes", "of", "arguments", "automatically", "popped", "when", "returning", "from", "a", "subroutine", "call", ".", "FUNDECL", "is", "the", "declaration", "node", "of", "the", "function", "(", "as", "a", "tree", ")", ",", "FUNTYPE", "is", "the", "data", "type", "of", "the", "function", "(", "as", "a", "tree", ")", ",", "or", "for", "a", "library", "call", "it", "is", "an", "identifier", "node", "for", "the", "subroutine", "name", ".", "SIZE", "is", "the", "number", "of", "bytes", "of", "arguments", "passed", "on", "the", "stack", ".", "On", "the", "80386", ",", "the", "RTD", "insn", "may", "be", "used", "to", "pop", "them", "if", "the", "number", "of", "args", "is", "fixed", ",", "but", "if", "the", "number", "is", "variable", "then", "the", "caller", "must", "pop", "them", "all", ".", "RTD", "ca", "n't", "be", "used", "for", "library", "calls", "now", "because", "the", "library", "is", "compiled", "with", "the", "Unix", "compiler", ".", "Use", "of", "RTD", "is", "a", "selectable", "option", ",", "since", "it", "is", "incompatible", "with", "standard", "Unix", "calling", "sequences", ".", "If", "the", "option", "is", "not", "selected", ",", "the", "caller", "must", "always", "pop", "the", "args", ".", "The", "attribute", "stdcall", "is", "equivalent", "to", "RTD", "on", "a", "per", "module", "basis", "."], "TS_V_token": ["i386", "\"cdecl\"", "\"stdcall\"", "\"fastcall\"", "1", "0"], "File": "i3863", "Func": "ix86_return_pops_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38082, "Length": 147}
{"ground_truth": ["", "enum", "rtx_code", "ix86_reverse_condition", "(", "enum", "rtx_code", "code", ",", "enum", "machine_mode", "mode", ")", "{", "return", "(", "mode", "!=", "CCFPmode", "&&", "mode", "!=", "CCFPUmode", "?", "reverse_condition", "(", "code", ")", ":", "reverse_condition_maybe_unordered", "(", "code", ")", ")", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "REVERSE_CONDITION", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_reverse_condition", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38083, "Length": 35}
{"ground_truth": ["", "static", "int", "ix86_save_reg", "(", "unsigned", "int", "regno", ",", "int", "maybe_eh_return", ")", "{", "if", "(", "pic_offset_table_rtx", "&&", "regno", "==", "REAL_PIC_OFFSET_TABLE_REGNUM", "&&", "(", "regs_ever_live", "[", "REAL_PIC_OFFSET_TABLE_REGNUM", "]", "||", "current_function_profile", "||", "current_function_calls_eh_return", "||", "current_function_uses_const_pool", ")", ")", "{", "if", "(", "ix86_select_alt_pic_regnum", "(", ")", "!=", "INVALID_REGNUM", ")", "return", "0", ";", "return", "1", ";", "}", "if", "(", "current_function_calls_eh_return", "&&", "maybe_eh_return", ")", "{", "unsigned", "i", ";", "for", "(", "i", "=", "0", ";", ";", "i", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "i", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "regno", ")", "return", "1", ";", "}", "}", "if", "(", "cfun", "->", "machine", "->", "force_align_arg_pointer", "&&", "regno", "==", "REGNO", "(", "cfun", "->", "machine", "->", "force_align_arg_pointer", ")", ")", "return", "1", ";", "return", "(", "regs_ever_live", "[", "regno", "]", "&&", "!", "call_used_regs", "[", "regno", "]", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "we", "need", "to", "save", "REGNO", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "1"], "File": "i3863", "Func": "ix86_save_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38084, "Length": 149}
{"ground_truth": ["", "int", "ix86_secondary_memory_needed", "(", "enum", "reg_class", "class1", ",", "enum", "reg_class", "class2", ",", "enum", "machine_mode", "mode", ",", "int", "strict", ")", "{", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class1", ")", "||", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class1", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class2", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class1", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class2", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", ")", "{", "gcc_assert", "(", "!", "strict", ")", ";", "return", "true", ";", "}", "if", "(", "FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "{", "if", "(", "!", "TARGET_SSE2", ")", "return", "true", ";", "if", "(", "!", "TARGET_INTER_UNIT_MOVES", "&&", "!", "optimize_size", ")", "return", "true", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "return", "true", ";", "if", "(", "mode", "==", "SFmode", "||", "mode", "==", "DFmode", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["If", "we", "are", "copying", "between", "general", "and", "FP", "registers", ",", "we", "need", "a", "memory", "location", ".", "The", "same", "is", "true", "for", "SSE", "and", "MMX", "registers", ".", "The", "macro", "ca", "n't", "work", "reliably", "when", "one", "of", "the", "CLASSES", "is", "class", "containing", "registers", "from", "multiple", "units", "(", "SSE", ",", "MMX", ",", "integer", ")", ".", "We", "avoid", "this", "by", "never", "combining", "those", "units", "in", "single", "alternative", "in", "the", "machine", "description", ".", "Ensure", "that", "this", "constraint", "holds", "to", "avoid", "unexpected", "surprises", ".", "When", "STRICT", "is", "false", ",", "we", "are", "being", "called", "from", "REGISTER_MOVE_COST", ",", "so", "do", "not", "enforce", "these", "sanity", "checks", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_secondary_memory_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38085, "Length": 184}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_select_alt_pic_regnum", "(", "void", ")", "{", "if", "(", "current_function_is_leaf", "&&", "!", "current_function_profile", ")", "{", "int", "i", ";", "for", "(", "i", "=", "2", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "!", "regs_ever_live", "[", "i", "]", ")", "return", "i", ";", "}", "return", "INVALID_REGNUM", ";", "}", ""], "natrual_language": ["Return", ">", "=", "0", "if", "there", "is", "an", "unused", "call-clobbered", "register", "available", "for", "the", "entire", "function", "."], "TS_V_token": ["i386", "2", "0"], "File": "i3863", "Func": "ix86_select_alt_pic_regnum", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38086, "Length": 48}
{"ground_truth": ["", "static", "void", "ix86_setup_incoming_varargs", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "enum", "machine_mode", "mode", ",", "tree", "type", ",", "int", "*", "pretend_size", "ATTRIBUTE_UNUSED", ",", "int", "no_rtl", ")", "{", "CUMULATIVE_ARGS", "next_cum", ";", "rtx", "save_area", "=", "NULL_RTX", ",", "mem", ";", "rtx", "label", ";", "rtx", "label_ref", ";", "rtx", "tmp_reg", ";", "rtx", "nsse_reg", ";", "int", "set", ";", "tree", "fntype", ";", "int", "stdarg_p", ";", "int", "i", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", ";", "if", "(", "!", "cfun", "->", "va_list_gpr_size", "&&", "!", "cfun", "->", "va_list_fpr_size", ")", "return", ";", "ix86_save_varrargs_registers", "=", "1", ";", "cfun", "->", "stack_alignment_needed", "=", "128", ";", "fntype", "=", "TREE_TYPE", "(", "current_function_decl", ")", ";", "stdarg_p", "=", "(", "TYPE_ARG_TYPES", "(", "fntype", ")", "!=", "0", "&&", "(", "TREE_VALUE", "(", "tree_last", "(", "TYPE_ARG_TYPES", "(", "fntype", ")", ")", ")", "!=", "void_type_node", ")", ")", ";", "next_cum", "=", "*", "cum", ";", "if", "(", "stdarg_p", ")", "function_arg_advance", "(", "&", "next_cum", ",", "mode", ",", "type", ",", "1", ")", ";", "if", "(", "!", "no_rtl", ")", "save_area", "=", "frame_pointer_rtx", ";", "set", "=", "get_varargs_alias_set", "(", ")", ";", "for", "(", "i", "=", "next_cum", ".", "regno", ";", "i", "<", "ix86_regparm", "&&", "i", "<", "next_cum", ".", "regno", "+", "cfun", "->", "va_list_gpr_size", "/", "UNITS_PER_WORD", ";", "i", "++", ")", "{", "mem", "=", "gen_rtx_MEM", "(", "Pmode", ",", "plus_constant", "(", "save_area", ",", "i", "*", "UNITS_PER_WORD", ")", ")", ";", "MEM_NOTRAP_P", "(", "mem", ")", "=", "1", ";", "set_mem_alias_set", "(", "mem", ",", "set", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_rtx_REG", "(", "Pmode", ",", "x86_64_int_parameter_registers", "[", "i", "]", ")", ")", ";", "}", "if", "(", "next_cum", ".", "sse_nregs", "&&", "cfun", "->", "va_list_fpr_size", ")", "{", "label", "=", "gen_label_rtx", "(", ")", ";", "label_ref", "=", "gen_rtx_LABEL_REF", "(", "Pmode", ",", "label", ")", ";", "tmp_reg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "nsse_reg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "emit_insn", "(", "gen_zero_extendqidi2", "(", "nsse_reg", ",", "gen_rtx_REG", "(", "QImode", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "tmp_reg", ",", "gen_rtx_MULT", "(", "Pmode", ",", "nsse_reg", ",", "GEN_INT", "(", "4", ")", ")", ")", ")", ";", "if", "(", "next_cum", ".", "sse_regno", ")", "emit_move_insn", "(", "nsse_reg", ",", "gen_rtx_CONST", "(", "DImode", ",", "gen_rtx_PLUS", "(", "DImode", ",", "label_ref", ",", "GEN_INT", "(", "next_cum", ".", "sse_regno", "*", "4", ")", ")", ")", ")", ";", "else", "emit_move_insn", "(", "nsse_reg", ",", "label_ref", ")", ";", "emit_insn", "(", "gen_subdi3", "(", "nsse_reg", ",", "nsse_reg", ",", "tmp_reg", ")", ")", ";", "tmp_reg", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "tmp_reg", ",", "plus_constant", "(", "save_area", ",", "8", "*", "REGPARM_MAX", "+", "127", ")", ")", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "BLKmode", ",", "plus_constant", "(", "tmp_reg", ",", "-", "127", ")", ")", ";", "MEM_NOTRAP_P", "(", "mem", ")", "=", "1", ";", "set_mem_alias_set", "(", "mem", ",", "set", ")", ";", "set_mem_align", "(", "mem", ",", "BITS_PER_WORD", ")", ";", "emit_insn", "(", "gen_sse_prologue_save", "(", "mem", ",", "nsse_reg", ",", "GEN_INT", "(", "next_cum", ".", "sse_regno", ")", ",", "label", ")", ")", ";", "}", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_SETUP_INCOMING_VARARGS", "."], "TS_V_token": ["i386", "1", "128", "0", "1", "1", "0", "4", "4", "8", "127", "127", "1"], "File": "i3863", "Func": "ix86_setup_incoming_varargs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38087, "Length": 446}
{"ground_truth": ["", "void", "ix86_split_copysign_const", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "op1", ",", "mask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "op1", "=", "operands", "[", "2", "]", ";", "mask", "=", "operands", "[", "3", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "dest", "=", "simplify_gen_subreg", "(", "vmode", ",", "dest", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "if", "(", "op0", "!=", "CONST0_RTX", "(", "vmode", ")", ")", "{", "x", "=", "gen_rtx_IOR", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "}", "}", ""], "natrual_language": ["Deconstruct", "a", "copysign", "operation", "into", "bit", "masks", ".", "Operand", "0", "is", "known", "to", "be", "a", "constant", ",", "and", "so", "has", "already", "been", "expanded", "into", "a", "vector", "constant", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "0"], "File": "i3863", "Func": "ix86_split_copysign_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38088, "Length": 139}
{"ground_truth": ["", "void", "ix86_split_copysign_var", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "scratch", ",", "op0", ",", "op1", ",", "mask", ",", "nmask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "scratch", "=", "operands", "[", "1", "]", ";", "op0", "=", "operands", "[", "2", "]", ";", "op1", "=", "operands", "[", "3", "]", ";", "nmask", "=", "operands", "[", "4", "]", ";", "mask", "=", "operands", "[", "5", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "if", "(", "rtx_equal_p", "(", "op0", ",", "op1", ")", ")", "{", "emit_move_insn", "(", "dest", ",", "op0", ")", ";", "return", ";", "}", "if", "(", "REG_P", "(", "mask", ")", "&&", "REGNO", "(", "dest", ")", "==", "REGNO", "(", "mask", ")", ")", "{", "gcc_assert", "(", "REGNO", "(", "op1", ")", "==", "REGNO", "(", "scratch", ")", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "scratch", ",", "x", ")", ")", ";", "dest", "=", "mask", ";", "op0", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_NOT", "(", "vmode", ",", "dest", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "x", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "}", "else", "{", "if", "(", "REGNO", "(", "op1", ")", "==", "REGNO", "(", "scratch", ")", ")", "{", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "mask", ")", ";", "}", "else", "{", "gcc_assert", "(", "REGNO", "(", "mask", ")", "==", "REGNO", "(", "scratch", ")", ")", ";", "op1", "=", "simplify_gen_subreg", "(", "vmode", ",", "op1", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "op1", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "scratch", ",", "x", ")", ")", ";", "if", "(", "REGNO", "(", "op0", ")", "==", "REGNO", "(", "dest", ")", ")", "{", "dest", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "nmask", ")", ";", "}", "else", "{", "gcc_assert", "(", "REGNO", "(", "nmask", ")", "==", "REGNO", "(", "dest", ")", ")", ";", "dest", "=", "nmask", ";", "op0", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "}", "x", "=", "gen_rtx_IOR", "(", "vmode", ",", "dest", ",", "scratch", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "}", ""], "natrual_language": ["Deconstruct", "a", "copysign", "operation", "into", "bit", "masks", ".", "Operand", "0", "is", "variable", ",", "so", "we", "have", "to", "do", "two", "masks", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "4", "5", "0", "0", "0", "0"], "File": "i3863", "Func": "ix86_split_copysign_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38089, "Length": 408}
{"ground_truth": ["", "void", "ix86_split_fp_branch", "(", "enum", "rtx_code", "code", ",", "rtx", "op1", ",", "rtx", "op2", ",", "rtx", "target1", ",", "rtx", "target2", ",", "rtx", "tmp", ",", "rtx", "pushed", ")", "{", "rtx", "second", ",", "bypass", ";", "rtx", "label", "=", "NULL_RTX", ";", "rtx", "condition", ";", "int", "bypass_probability", "=", "-", "1", ",", "second_probability", "=", "-", "1", ",", "probability", "=", "-", "1", ";", "rtx", "i", ";", "if", "(", "target2", "!=", "pc_rtx", ")", "{", "rtx", "tmp", "=", "target2", ";", "code", "=", "reverse_condition_maybe_unordered", "(", "code", ")", ";", "target2", "=", "target1", ";", "target1", "=", "tmp", ";", "}", "condition", "=", "ix86_expand_fp_compare", "(", "code", ",", "op1", ",", "op2", ",", "tmp", ",", "&", "second", ",", "&", "bypass", ")", ";", "if", "(", "pushed", ")", "ix86_free_from_memory", "(", "GET_MODE", "(", "pushed", ")", ")", ";", "if", "(", "split_branch_probability", ">=", "0", ")", "{", "probability", "=", "split_branch_probability", ";", "if", "(", "bypass", ")", "bypass_probability", "=", "1", ";", "if", "(", "second", ")", "second_probability", "=", "1", ";", "}", "if", "(", "bypass", "!=", "NULL_RTX", ")", "{", "label", "=", "gen_label_rtx", "(", ")", ";", "i", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "pc_rtx", ",", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "bypass", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ")", ")", ";", "if", "(", "bypass_probability", ">=", "0", ")", "REG_NOTES", "(", "i", ")", "=", "gen_rtx_EXPR_LIST", "(", "REG_BR_PROB", ",", "GEN_INT", "(", "bypass_probability", ")", ",", "REG_NOTES", "(", "i", ")", ")", ";", "}", "i", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "pc_rtx", ",", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "condition", ",", "target1", ",", "target2", ")", ")", ")", ";", "if", "(", "probability", ">=", "0", ")", "REG_NOTES", "(", "i", ")", "=", "gen_rtx_EXPR_LIST", "(", "REG_BR_PROB", ",", "GEN_INT", "(", "probability", ")", ",", "REG_NOTES", "(", "i", ")", ")", ";", "if", "(", "second", "!=", "NULL_RTX", ")", "{", "i", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "pc_rtx", ",", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "second", ",", "target1", ",", "target2", ")", ")", ")", ";", "if", "(", "second_probability", ">=", "0", ")", "REG_NOTES", "(", "i", ")", "=", "gen_rtx_EXPR_LIST", "(", "REG_BR_PROB", ",", "GEN_INT", "(", "second_probability", ")", ",", "REG_NOTES", "(", "i", ")", ")", ";", "}", "if", "(", "label", "!=", "NULL_RTX", ")", "emit_label", "(", "label", ")", ";", "}", ""], "natrual_language": ["Split", "branch", "based", "on", "floating", "point", "condition", "."], "TS_V_token": ["i386", "1", "1", "1", "0", "1", "1", "0", "0", "0"], "File": "i3863", "Func": "ix86_split_fp_branch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38090, "Length": 331}
{"ground_truth": ["", "static", "tree", "ix86_stack_protect_fail", "(", "void", ")", "{", "return", "TARGET_64BIT", "?", "default_external_stack_protect_fail", "(", ")", ":", "default_hidden_stack_protect_fail", "(", ")", ";", "}", ""], "natrual_language": ["For", "32-bit", "code", "we", "can", "save", "PIC", "register", "setup", "by", "using", "__stack_chk_fail_local", "hidden", "function", "instead", "of", "calling", "__stack_chk_fail", "directly", ".", "64-bit", "code", "does", "n't", "need", "to", "setup", "any", "PIC", "register", ",", "so", "it", "is", "better", "to", "call", "__stack_chk_fail", "directly", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_stack_protect_fail", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38091, "Length": 19}
{"ground_truth": ["", "static", "rtx", "ix86_struct_value_rtx", "(", "tree", "type", ",", "int", "incoming", "ATTRIBUTE_UNUSED", ")", "{", "static", "bool", "warnedsse", ",", "warnedmmx", ";", "if", "(", "type", ")", "{", "enum", "machine_mode", "mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ";", "if", "(", "!", "TARGET_SSE", "&&", "!", "warnedsse", ")", "{", "if", "(", "mode", "==", "TImode", "||", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", ")", ")", "{", "warnedsse", "=", "true", ";", "warning", "(", "0", ",", "\"SSE vector return without SSE enabled \"", "\"changes the ABI\"", ")", ";", "}", "}", "if", "(", "!", "TARGET_MMX", "&&", "!", "warnedmmx", ")", "{", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "8", ")", "{", "warnedmmx", "=", "true", ";", "warning", "(", "0", ",", "\"MMX vector return without MMX enabled \"", "\"changes the ABI\"", ")", ";", "}", "}", "}", "return", "NULL", ";", "}", ""], "natrual_language": ["When", "returning", "SSE", "vector", "types", ",", "we", "have", "a", "choice", "of", "either", "(", "1", ")", "being", "abi", "incompatible", "with", "a", "-march", "switch", ",", "or", "(", "2", ")", "generating", "an", "error", ".", "Given", "no", "good", "solution", ",", "I", "think", "the", "safest", "thing", "is", "one", "warning", ".", "The", "user", "wo", "n't", "be", "able", "to", "use", "-Werror", ",", "but", "....", "Choose", "the", "STRUCT_VALUE_RTX", "hook", "because", "that", "'s", "(", "at", "present", ")", "only", "called", "in", "response", "to", "actually", "generating", "a", "caller", "or", "callee", "that", "uses", "such", "a", "type", ".", "As", "opposed", "to", "RETURN_IN_MEMORY", ",", "which", "is", "called", "via", "aggregate_value_p", "for", "general", "type", "probing", "from", "tree-ssa", "."], "TS_V_token": ["i386", "16", "0", "\"SSE vector return without SSE enabled \"", "\"changes the ABI\"", "8", "0", "\"MMX vector return without MMX enabled \"", "\"changes the ABI\""], "File": "i3863", "Func": "ix86_struct_value_rtx", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38092, "Length": 122}
{"ground_truth": ["", "static", "bool", "ix86_tieable_integer_mode_p", "(", "enum", "machine_mode", "mode", ")", "{", "switch", "(", "mode", ")", "{", "case", "HImode", ":", "case", "SImode", ":", "return", "true", ";", "case", "QImode", ":", "return", "TARGET_64BIT", "||", "!", "TARGET_PARTIAL_REG_STALL", ";", "case", "DImode", ":", "return", "TARGET_64BIT", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_modes_tieable_p", ".", "Return", "true", "if", "MODE", "is", "a", "tieable", "integer", "mode", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_tieable_integer_mode_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38093, "Length": 45}
{"ground_truth": ["", "int", "ix86_unary_operator_ok", "(", "enum", "rtx_code", "code", "ATTRIBUTE_UNUSED", ",", "enum", "machine_mode", "mode", "ATTRIBUTE_UNUSED", ",", "rtx", "operands", "[", "2", "]", "ATTRIBUTE_UNUSED", ")", "{", "if", "(", "(", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "MEM", "||", "GET_CODE", "(", "operands", "[", "1", "]", ")", "==", "MEM", ")", "&&", "!", "rtx_equal_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "1", "]", ")", ")", "return", "FALSE", ";", "return", "TRUE", ";", "}", ""], "natrual_language": ["Return", "TRUE", "or", "FALSE", "depending", "on", "whether", "the", "unary", "operator", "meets", "the", "appropriate", "constraints", "."], "TS_V_token": ["i386", "2", "0", "1", "0", "1"], "File": "i3863", "Func": "ix86_unary_operator_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38094, "Length": 66}
{"ground_truth": ["", "int", "ix86_use_fcomi_compare", "(", "enum", "rtx_code", "code", "ATTRIBUTE_UNUSED", ")", "{", "enum", "rtx_code", "swapped_code", "=", "swap_condition", "(", "code", ")", ";", "return", "(", "(", "ix86_fp_comparison_cost", "(", "code", ")", "==", "ix86_fp_comparison_fcomi_cost", "(", "code", ")", ")", "||", "(", "ix86_fp_comparison_cost", "(", "swapped_code", ")", "==", "ix86_fp_comparison_fcomi_cost", "(", "swapped_code", ")", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "should", "use", "an", "FCOMI", "instruction", "for", "this", "fp", "comparison", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_use_fcomi_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38095, "Length": 46}
{"ground_truth": ["", "static", "int", "ix86_value_regno", "(", "enum", "machine_mode", "mode", ",", "tree", "func", ",", "tree", "fntype", ")", "{", "gcc_assert", "(", "!", "TARGET_64BIT", ")", ";", "if", "(", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "8", ")", ")", "return", "FIRST_MMX_REG", ";", "if", "(", "mode", "==", "TImode", "||", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", ")", ")", "return", "FIRST_SSE_REG", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "!=", "MODE_FLOAT", "||", "!", "TARGET_FLOAT_RETURNS_IN_80387", ")", "return", "0", ";", "if", "(", "(", "func", "||", "fntype", ")", "&&", "(", "mode", "==", "SFmode", "||", "mode", "==", "DFmode", ")", ")", "{", "int", "sse_level", "=", "ix86_function_sseregparm", "(", "fntype", ",", "func", ")", ";", "if", "(", "(", "sse_level", ">=", "1", "&&", "mode", "==", "SFmode", ")", "||", "(", "sse_level", "==", "2", "&&", "mode", "==", "DFmode", ")", ")", "return", "FIRST_SSE_REG", ";", "}", "return", "FIRST_FLOAT_REG", ";", "}", ""], "natrual_language": ["Given", "a", "mode", ",", "return", "the", "register", "to", "use", "for", "a", "return", "value", "."], "TS_V_token": ["i386", "8", "16", "0", "1", "2"], "File": "i3863", "Func": "ix86_value_regno", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38096, "Length": 137}
{"ground_truth": ["", "void", "ix86_va_start", "(", "tree", "valist", ",", "rtx", "nextarg", ")", "{", "HOST_WIDE_INT", "words", ",", "n_gpr", ",", "n_fpr", ";", "tree", "f_gpr", ",", "f_fpr", ",", "f_ovf", ",", "f_sav", ";", "tree", "gpr", ",", "fpr", ",", "ovf", ",", "sav", ",", "t", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "std_expand_builtin_va_start", "(", "valist", ",", "nextarg", ")", ";", "return", ";", "}", "f_gpr", "=", "TYPE_FIELDS", "(", "TREE_TYPE", "(", "va_list_type_node", ")", ")", ";", "f_fpr", "=", "TREE_CHAIN", "(", "f_gpr", ")", ";", "f_ovf", "=", "TREE_CHAIN", "(", "f_fpr", ")", ";", "f_sav", "=", "TREE_CHAIN", "(", "f_ovf", ")", ";", "valist", "=", "build1", "(", "INDIRECT_REF", ",", "TREE_TYPE", "(", "TREE_TYPE", "(", "valist", ")", ")", ",", "valist", ")", ";", "gpr", "=", "build", "(", "COMPONENT_REF", ",", "TREE_TYPE", "(", "f_gpr", ")", ",", "valist", ",", "f_gpr", ",", "NULL_TREE", ")", ";", "fpr", "=", "build", "(", "COMPONENT_REF", ",", "TREE_TYPE", "(", "f_fpr", ")", ",", "valist", ",", "f_fpr", ",", "NULL_TREE", ")", ";", "ovf", "=", "build", "(", "COMPONENT_REF", ",", "TREE_TYPE", "(", "f_ovf", ")", ",", "valist", ",", "f_ovf", ",", "NULL_TREE", ")", ";", "sav", "=", "build", "(", "COMPONENT_REF", ",", "TREE_TYPE", "(", "f_sav", ")", ",", "valist", ",", "f_sav", ",", "NULL_TREE", ")", ";", "words", "=", "current_function_args_info", ".", "words", ";", "n_gpr", "=", "current_function_args_info", ".", "regno", ";", "n_fpr", "=", "current_function_args_info", ".", "sse_regno", ";", "if", "(", "TARGET_DEBUG_ARG", ")", "fprintf", "(", "stderr", ",", "\"va_start: words = %d, n_gpr = %d, n_fpr = %d\\n\"", ",", "(", "int", ")", "words", ",", "(", "int", ")", "n_gpr", ",", "(", "int", ")", "n_fpr", ")", ";", "if", "(", "cfun", "->", "va_list_gpr_size", ")", "{", "t", "=", "build", "(", "MODIFY_EXPR", ",", "TREE_TYPE", "(", "gpr", ")", ",", "gpr", ",", "build_int_cst", "(", "NULL_TREE", ",", "n_gpr", "*", "8", ")", ")", ";", "TREE_SIDE_EFFECTS", "(", "t", ")", "=", "1", ";", "expand_expr", "(", "t", ",", "const0_rtx", ",", "VOIDmode", ",", "EXPAND_NORMAL", ")", ";", "}", "if", "(", "cfun", "->", "va_list_fpr_size", ")", "{", "t", "=", "build", "(", "MODIFY_EXPR", ",", "TREE_TYPE", "(", "fpr", ")", ",", "fpr", ",", "build_int_cst", "(", "NULL_TREE", ",", "n_fpr", "*", "16", "+", "8", "*", "REGPARM_MAX", ")", ")", ";", "TREE_SIDE_EFFECTS", "(", "t", ")", "=", "1", ";", "expand_expr", "(", "t", ",", "const0_rtx", ",", "VOIDmode", ",", "EXPAND_NORMAL", ")", ";", "}", "t", "=", "make_tree", "(", "TREE_TYPE", "(", "ovf", ")", ",", "virtual_incoming_args_rtx", ")", ";", "if", "(", "words", "!=", "0", ")", "t", "=", "build", "(", "PLUS_EXPR", ",", "TREE_TYPE", "(", "ovf", ")", ",", "t", ",", "build_int_cst", "(", "NULL_TREE", ",", "words", "*", "UNITS_PER_WORD", ")", ")", ";", "t", "=", "build", "(", "MODIFY_EXPR", ",", "TREE_TYPE", "(", "ovf", ")", ",", "ovf", ",", "t", ")", ";", "TREE_SIDE_EFFECTS", "(", "t", ")", "=", "1", ";", "expand_expr", "(", "t", ",", "const0_rtx", ",", "VOIDmode", ",", "EXPAND_NORMAL", ")", ";", "if", "(", "cfun", "->", "va_list_gpr_size", "||", "cfun", "->", "va_list_fpr_size", ")", "{", "t", "=", "make_tree", "(", "TREE_TYPE", "(", "sav", ")", ",", "frame_pointer_rtx", ")", ";", "t", "=", "build", "(", "MODIFY_EXPR", ",", "TREE_TYPE", "(", "sav", ")", ",", "sav", ",", "t", ")", ";", "TREE_SIDE_EFFECTS", "(", "t", ")", "=", "1", ";", "expand_expr", "(", "t", ",", "const0_rtx", ",", "VOIDmode", ",", "EXPAND_NORMAL", ")", ";", "}", "}", ""], "natrual_language": ["Implement", "va_start", "."], "TS_V_token": ["i386", "\"va_start: words = %d, n_gpr = %d, n_fpr = %d\\n\"", "8", "1", "16", "8", "1", "0", "1", "1"], "File": "i3863", "Func": "ix86_va_start", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38097, "Length": 453}
{"ground_truth": ["", "static", "bool", "ix86_vector_mode_supported_p", "(", "enum", "machine_mode", "mode", ")", "{", "if", "(", "TARGET_SSE", "&&", "VALID_SSE_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_SSE2", "&&", "VALID_SSE2_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_MMX", "&&", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_3DNOW", "&&", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Implements", "target", "hook", "vector_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_vector_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38098, "Length": 61}
{"ground_truth": ["", "rtx", "ix86_zero_extend_to_Pmode", "(", "rtx", "exp", ")", "{", "rtx", "r", ";", "if", "(", "GET_MODE", "(", "exp", ")", "==", "VOIDmode", ")", "return", "force_reg", "(", "Pmode", ",", "exp", ")", ";", "if", "(", "GET_MODE", "(", "exp", ")", "==", "Pmode", ")", "return", "copy_to_mode_reg", "(", "Pmode", ",", "exp", ")", ";", "r", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "emit_insn", "(", "gen_zero_extendsidi2", "(", "r", ",", "exp", ")", ")", ";", "return", "r", ";", "}", ""], "natrual_language": ["Zero", "extend", "possibly", "SImode", "EXP", "to", "Pmode", "register", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "ix86_zero_extend_to_Pmode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38099, "Length": 65}
{"ground_truth": ["", "bool", "legitimate_constant_p", "(", "rtx", "x", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "{", "if", "(", "GET_CODE", "(", "XEXP", "(", "x", ",", "1", ")", ")", "!=", "CONST_INT", ")", "return", "false", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "}", "if", "(", "TARGET_MACHO", "&&", "darwin_local_data_pic", "(", "x", ")", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "case", "UNSPEC_NTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "case", "UNSPEC_DTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_DYNAMIC", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "LABEL_REF", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "SYMBOL_REF", ")", "return", "false", ";", "case", "SYMBOL_REF", ":", "if", "(", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", ")", "return", "false", ";", "break", ";", "default", ":", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Nonzero", "if", "the", "constant", "value", "X", "is", "a", "legitimate", "general", "operand", ".", "It", "is", "given", "that", "X", "satisfies", "CONSTANT_P", "or", "is", "a", "CONST_DOUBLE", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "0", "0"], "File": "i3863", "Func": "legitimate_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38100, "Length": 220}
{"ground_truth": ["", "bool", "legitimate_pic_operand_p", "(", "rtx", "x", ")", "{", "rtx", "inner", ";", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "inner", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "inner", ")", "==", "PLUS", "&&", "GET_CODE", "(", "XEXP", "(", "inner", ",", "1", ")", ")", "==", "CONST_INT", ")", "inner", "=", "XEXP", "(", "inner", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "inner", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "inner", ",", "1", ")", ")", "{", "case", "UNSPEC_GOTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "x", "=", "XVECEXP", "(", "inner", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "default", ":", "return", "false", ";", "}", "case", "SYMBOL_REF", ":", "case", "LABEL_REF", ":", "return", "legitimate_pic_address_disp_p", "(", "x", ")", ";", "default", ":", "return", "true", ";", "}", "}", ""], "natrual_language": ["Return", "true", "if", "OP", "is", "a", "legitimate", "general", "operand", "when", "generating", "PIC", "code", ".", "It", "is", "given", "that", "flag_pic", "is", "on", "and", "that", "OP", "satisfies", "CONSTANT_P", "or", "is", "a", "CONST_DOUBLE", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0"], "File": "i3863", "Func": "legitimate_pic_operand_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38101, "Length": 141}
{"ground_truth": ["", "void", "machopic_output_stub", "(", "FILE", "*", "file", ",", "const", "char", "*", "symb", ",", "const", "char", "*", "stub", ")", "{", "unsigned", "int", "length", ";", "char", "*", "binder_name", ",", "*", "symbol_name", ",", "lazy_ptr_name", "[", "32", "]", ";", "int", "label", "=", "++", "current_machopic_label_num", ";", "symb", "=", "(", "*", "targetm", ".", "strip_name_encoding", ")", "(", "symb", ")", ";", "length", "=", "strlen", "(", "stub", ")", ";", "binder_name", "=", "alloca", "(", "length", "+", "32", ")", ";", "GEN_BINDER_NAME_FOR_STUB", "(", "binder_name", ",", "stub", ",", "length", ")", ";", "length", "=", "strlen", "(", "symb", ")", ";", "symbol_name", "=", "alloca", "(", "length", "+", "32", ")", ";", "GEN_SYMBOL_NAME_FOR_SYMBOL", "(", "symbol_name", ",", "symb", ",", "length", ")", ";", "sprintf", "(", "lazy_ptr_name", ",", "\"L%d$lz\"", ",", "label", ")", ";", "if", "(", "MACHOPIC_PURE", ")", "machopic_picsymbol_stub_section", "(", ")", ";", "else", "machopic_symbol_stub_section", "(", ")", ";", "fprintf", "(", "file", ",", "\"%s:\\n\"", ",", "stub", ")", ";", "fprintf", "(", "file", ",", "\"\\t.indirect_symbol %s\\n\"", ",", "symbol_name", ")", ";", "if", "(", "MACHOPIC_PURE", ")", "{", "fprintf", "(", "file", ",", "\"\\tcall LPC$%d\\nLPC$%d:\\tpopl %%eax\\n\"", ",", "label", ",", "label", ")", ";", "fprintf", "(", "file", ",", "\"\\tmovl %s-LPC$%d(%%eax),%%edx\\n\"", ",", "lazy_ptr_name", ",", "label", ")", ";", "fprintf", "(", "file", ",", "\"\\tjmp %%edx\\n\"", ")", ";", "}", "else", "fprintf", "(", "file", ",", "\"\\tjmp *%s\\n\"", ",", "lazy_ptr_name", ")", ";", "fprintf", "(", "file", ",", "\"%s:\\n\"", ",", "binder_name", ")", ";", "if", "(", "MACHOPIC_PURE", ")", "{", "fprintf", "(", "file", ",", "\"\\tlea %s-LPC$%d(%%eax),%%eax\\n\"", ",", "lazy_ptr_name", ",", "label", ")", ";", "fprintf", "(", "file", ",", "\"\\tpushl %%eax\\n\"", ")", ";", "}", "else", "fprintf", "(", "file", ",", "\"\\t pushl $%s\\n\"", ",", "lazy_ptr_name", ")", ";", "fprintf", "(", "file", ",", "\"\\tjmp dyld_stub_binding_helper\\n\"", ")", ";", "machopic_lazy_symbol_ptr_section", "(", ")", ";", "fprintf", "(", "file", ",", "\"%s:\\n\"", ",", "lazy_ptr_name", ")", ";", "fprintf", "(", "file", ",", "\"\\t.indirect_symbol %s\\n\"", ",", "symbol_name", ")", ";", "fprintf", "(", "file", ",", "\"\\t.long %s\\n\"", ",", "binder_name", ")", ";", "}", ""], "natrual_language": ["Generate", "external", "symbol", "indirection", "stubs", "(", "PIC", "and", "non-PIC", ")", "."], "TS_V_token": ["i386", "32", "32", "32", "\"L%d$lz\"", "\"%s:\\n\"", "\"\\t.indirect_symbol %s\\n\"", "\"\\tcall LPC$%d\\nLPC$%d:\\tpopl %%eax\\n\"", "\"\\tmovl %s-LPC$%d(%%eax),%%edx\\n\"", "\"\\tjmp %%edx\\n\"", "\"\\tjmp *%s\\n\"", "\"%s:\\n\"", "\"\\tlea %s-LPC$%d(%%eax),%%eax\\n\"", "\"\\tpushl %%eax\\n\"", "\"\\t pushl $%s\\n\"", "\"\\tjmp dyld_stub_binding_helper\\n\"", "\"%s:\\n\"", "\"\\t.indirect_symbol %s\\n\"", "\"\\t.long %s\\n\""], "File": "i3863", "Func": "machopic_output_stub", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38102, "Length": 269}
{"ground_truth": ["", "rtx", "maybe_get_pool_constant", "(", "rtx", "x", ")", "{", "x", "=", "ix86_delegitimize_address", "(", "XEXP", "(", "x", ",", "0", ")", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "CONSTANT_POOL_ADDRESS_P", "(", "x", ")", ")", "return", "get_pool_constant", "(", "x", ")", ";", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["X", "is", "an", "unchanging", "MEM", ".", "If", "it", "is", "a", "constant", "pool", "reference", ",", "return", "the", "constant", "pool", "rtx", ",", "else", "NULL", "."], "TS_V_token": ["i386", "0"], "File": "i3863", "Func": "maybe_get_pool_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38103, "Length": 43}
{"ground_truth": ["", "int", "memory_address_length", "(", "rtx", "addr", ")", "{", "struct", "ix86_address", "parts", ";", "rtx", "base", ",", "index", ",", "disp", ";", "int", "len", ";", "int", "ok", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PRE_DEC", "||", "GET_CODE", "(", "addr", ")", "==", "POST_INC", "||", "GET_CODE", "(", "addr", ")", "==", "PRE_MODIFY", "||", "GET_CODE", "(", "addr", ")", "==", "POST_MODIFY", ")", "return", "0", ";", "ok", "=", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "parts", ".", "base", "&&", "GET_CODE", "(", "parts", ".", "base", ")", "==", "SUBREG", ")", "parts", ".", "base", "=", "SUBREG_REG", "(", "parts", ".", "base", ")", ";", "if", "(", "parts", ".", "index", "&&", "GET_CODE", "(", "parts", ".", "index", ")", "==", "SUBREG", ")", "parts", ".", "index", "=", "SUBREG_REG", "(", "parts", ".", "index", ")", ";", "base", "=", "parts", ".", "base", ";", "index", "=", "parts", ".", "index", ";", "disp", "=", "parts", ".", "disp", ";", "len", "=", "0", ";", "if", "(", "base", "&&", "!", "index", "&&", "!", "disp", ")", "{", "if", "(", "addr", "==", "stack_pointer_rtx", "||", "addr", "==", "arg_pointer_rtx", "||", "addr", "==", "frame_pointer_rtx", "||", "addr", "==", "hard_frame_pointer_rtx", ")", "len", "=", "1", ";", "}", "else", "if", "(", "disp", "&&", "!", "base", "&&", "!", "index", ")", "len", "=", "4", ";", "else", "{", "if", "(", "disp", ")", "{", "if", "(", "GET_CODE", "(", "disp", ")", "==", "CONST_INT", "&&", "CONST_OK_FOR_LETTER_P", "(", "INTVAL", "(", "disp", ")", ",", "'K'", ")", "&&", "base", ")", "len", "=", "1", ";", "else", "len", "=", "4", ";", "}", "else", "if", "(", "base", "==", "hard_frame_pointer_rtx", ")", "len", "=", "1", ";", "if", "(", "index", "||", "base", "==", "stack_pointer_rtx", "||", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", ")", "len", "+=", "1", ";", "}", "return", "len", ";", "}", ""], "natrual_language": ["Calculate", "the", "length", "of", "the", "memory", "address", "in", "the", "instruction", "encoding", ".", "Does", "not", "include", "the", "one-byte", "modrm", ",", "opcode", ",", "or", "prefix", "."], "TS_V_token": ["i386", "0", "0", "1", "4", "1", "4", "1", "1"], "File": "i3863", "Func": "memory_address_length", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38104, "Length": 269}
{"ground_truth": ["", "static", "int", "min_insn_size", "(", "rtx", "insn", ")", "{", "int", "l", "=", "0", ";", "if", "(", "!", "INSN_P", "(", "insn", ")", "||", "!", "active_insn_p", "(", "insn", ")", ")", "return", "0", ";", "if", "(", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "UNSPEC_VOLATILE", "&&", "XINT", "(", "PATTERN", "(", "insn", ")", ",", "1", ")", "==", "UNSPECV_ALIGN", ")", "return", "0", ";", "if", "(", "GET_CODE", "(", "insn", ")", "==", "JUMP_INSN", "&&", "(", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "ADDR_VEC", "||", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "ADDR_DIFF_VEC", ")", ")", "return", "0", ";", "if", "(", "GET_CODE", "(", "insn", ")", "==", "CALL_INSN", "&&", "symbolic_reference_mentioned_p", "(", "PATTERN", "(", "insn", ")", ")", "&&", "!", "SIBLING_CALL_P", "(", "insn", ")", ")", "return", "5", ";", "if", "(", "get_attr_length", "(", "insn", ")", "<=", "1", ")", "return", "1", ";", "if", "(", "GET_CODE", "(", "insn", ")", "!=", "JUMP_INSN", ")", "{", "l", "=", "get_attr_length_address", "(", "insn", ")", ";", "if", "(", "l", "<", "4", "&&", "symbolic_reference_mentioned_p", "(", "PATTERN", "(", "insn", ")", ")", ")", "l", "=", "4", ";", "}", "if", "(", "l", ")", "return", "1", "+", "l", ";", "else", "return", "2", ";", "}", ""], "natrual_language": ["We", "do", "n't", "have", "exact", "information", "about", "the", "insn", "sizes", ",", "but", "we", "may", "assume", "quite", "safely", "that", "we", "are", "informed", "about", "all", "1", "byte", "insns", "and", "memory", "address", "sizes", ".", "This", "is", "enough", "to", "eliminate", "unnecessary", "padding", "in", "99", "%", "of", "cases", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "0", "5", "1", "1", "4", "4", "1", "2"], "File": "i3863", "Func": "min_insn_size", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38105, "Length": 179}
{"ground_truth": ["", "void", "optimization_options", "(", "int", "level", ",", "int", "size", "ATTRIBUTE_UNUSED", ")", "{", "if", "(", "level", ">", "1", ")", "flag_schedule_insns", "=", "0", ";", "if", "(", "TARGET_MACHO", ")", "flag_errno_math", "=", "0", ";", "if", "(", "optimize", ">=", "1", ")", "flag_omit_frame_pointer", "=", "2", ";", "flag_pcc_struct_return", "=", "2", ";", "flag_asynchronous_unwind_tables", "=", "2", ";", "SUBTARGET_OPTIMIZATION_OPTIONS", ";", "}", ""], "natrual_language": ["Change", "optimizations", "to", "be", "performed", ",", "depending", "on", "the", "optimization", "level", ".", "LEVEL", "is", "the", "optimization", "level", "specified", ";", "2", "if", "`", "-O2", "'", "is", "specified", ",", "1", "if", "`", "-O", "'", "is", "specified", ",", "and", "0", "if", "neither", "is", "specified", ".", "SIZE", "is", "nonzero", "if", "`", "-Os", "'", "is", "specified", "and", "zero", "otherwise", "."], "TS_V_token": ["i386", "1", "0", "0", "1", "2", "2", "2"], "File": "i3863", "Func": "optimization_options", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38106, "Length": 50}
{"ground_truth": ["", "const", "char", "*", "output_387_reg_move", "(", "rtx", "insn", ",", "rtx", "*", "operands", ")", "{", "if", "(", "REG_P", "(", "operands", "[", "1", "]", ")", "&&", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "REGNO", "(", "operands", "[", "1", "]", ")", ")", ")", "{", "if", "(", "REGNO", "(", "operands", "[", "0", "]", ")", "==", "FIRST_STACK_REG", "&&", "TARGET_USE_FFREEP", ")", "return", "\"ffreep\\t%y0\"", ";", "return", "\"fstp\\t%y0\"", ";", "}", "if", "(", "STACK_TOP_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"fld%z1\\t%y1\"", ";", "return", "\"fst\\t%y0\"", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "x87", "FP", "register", "move", ",", "from", "OPERANDS", "[", "1", "]", "to", "OPERANDS", "[", "0", "]", "."], "TS_V_token": ["i386", "1", "1", "0", "\"ffreep\\t%y0\"", "\"fstp\\t%y0\"", "0", "\"fld%z1\\t%y1\"", "\"fst\\t%y0\""], "File": "i3863", "Func": "output_387_reg_move", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38107, "Length": 77}
{"ground_truth": ["", "const", "char", "*", "output_fix_trunc", "(", "rtx", "insn", ",", "rtx", "*", "operands", ",", "int", "fisttp", ")", "{", "int", "stack_top_dies", "=", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "FIRST_STACK_REG", ")", "!=", "0", ";", "int", "dimode_p", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", "==", "DImode", ";", "int", "round_mode", "=", "get_attr_i387_cw", "(", "insn", ")", ";", "if", "(", "(", "dimode_p", "||", "fisttp", ")", "&&", "!", "stack_top_dies", ")", "output_asm_insn", "(", "\"fld\\t%y1\"", ",", "operands", ")", ";", "gcc_assert", "(", "STACK_TOP_P", "(", "operands", "[", "1", "]", ")", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "operands", "[", "0", "]", ")", "==", "MEM", ")", ";", "if", "(", "fisttp", ")", "output_asm_insn", "(", "\"fisttp%z0\\t%0\"", ",", "operands", ")", ";", "else", "{", "if", "(", "round_mode", "!=", "I387_CW_ANY", ")", "output_asm_insn", "(", "\"fldcw\\t%3\"", ",", "operands", ")", ";", "if", "(", "stack_top_dies", "||", "dimode_p", ")", "output_asm_insn", "(", "\"fistp%z0\\t%0\"", ",", "operands", ")", ";", "else", "output_asm_insn", "(", "\"fist%z0\\t%0\"", ",", "operands", ")", ";", "if", "(", "round_mode", "!=", "I387_CW_ANY", ")", "output_asm_insn", "(", "\"fldcw\\t%2\"", ",", "operands", ")", ";", "}", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "code", "for", "INSN", "to", "convert", "a", "float", "to", "a", "signed", "int", ".", "OPERANDS", "are", "the", "insn", "operands", ".", "The", "output", "may", "be", "[", "HSD", "]", "Imode", "and", "the", "input", "operand", "may", "be", "[", "SDX", "]", "Fmode", "."], "TS_V_token": ["i386", "0", "0", "\"fld\\t%y1\"", "1", "0", "\"fisttp%z0\\t%0\"", "\"fldcw\\t%3\"", "\"fistp%z0\\t%0\"", "\"fist%z0\\t%0\"", "\"fldcw\\t%2\"", "\"\""], "File": "i3863", "Func": "output_fix_trunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38108, "Length": 158}
{"ground_truth": ["", "const", "char", "*", "output_fp_compare", "(", "rtx", "insn", ",", "rtx", "*", "operands", ",", "int", "eflags_p", ",", "int", "unordered_p", ")", "{", "int", "stack_top_dies", ";", "rtx", "cmp_op0", ",", "cmp_op1", ";", "int", "is_sse", "=", "SSE_REG_P", "(", "operands", "[", "0", "]", ")", "||", "SSE_REG_P", "(", "operands", "[", "1", "]", ")", ";", "if", "(", "eflags_p", ")", "{", "cmp_op0", "=", "operands", "[", "0", "]", ";", "cmp_op1", "=", "operands", "[", "1", "]", ";", "}", "else", "{", "cmp_op0", "=", "operands", "[", "1", "]", ";", "cmp_op1", "=", "operands", "[", "2", "]", ";", "}", "if", "(", "is_sse", ")", "{", "if", "(", "GET_MODE", "(", "operands", "[", "0", "]", ")", "==", "SFmode", ")", "if", "(", "unordered_p", ")", "return", "\"ucomiss\\t{%1, %0|%0, %1}\"", ";", "else", "return", "\"comiss\\t{%1, %0|%0, %1}\"", ";", "else", "if", "(", "unordered_p", ")", "return", "\"ucomisd\\t{%1, %0|%0, %1}\"", ";", "else", "return", "\"comisd\\t{%1, %0|%0, %1}\"", ";", "}", "gcc_assert", "(", "STACK_TOP_P", "(", "cmp_op0", ")", ")", ";", "stack_top_dies", "=", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "FIRST_STACK_REG", ")", "!=", "0", ";", "if", "(", "cmp_op1", "==", "CONST0_RTX", "(", "GET_MODE", "(", "cmp_op1", ")", ")", ")", "{", "if", "(", "stack_top_dies", ")", "{", "output_asm_insn", "(", "\"ftst\\n\\tfnstsw\\t%0\"", ",", "operands", ")", ";", "return", "TARGET_USE_FFREEP", "?", "\"ffreep\\t%y1\"", ":", "\"fstp\\t%y1\"", ";", "}", "else", "return", "\"ftst\\n\\tfnstsw\\t%0\"", ";", "}", "if", "(", "STACK_REG_P", "(", "cmp_op1", ")", "&&", "stack_top_dies", "&&", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "REGNO", "(", "cmp_op1", ")", ")", "&&", "REGNO", "(", "cmp_op1", ")", "!=", "FIRST_STACK_REG", ")", "{", "if", "(", "eflags_p", ")", "{", "if", "(", "unordered_p", ")", "output_asm_insn", "(", "\"fucomip\\t{%y1, %0|%0, %y1}\"", ",", "operands", ")", ";", "else", "output_asm_insn", "(", "\"fcomip\\t{%y1, %0|%0, %y1}\"", ",", "operands", ")", ";", "return", "TARGET_USE_FFREEP", "?", "\"ffreep\\t%y0\"", ":", "\"fstp\\t%y0\"", ";", "}", "else", "{", "if", "(", "unordered_p", ")", "return", "\"fucompp\\n\\tfnstsw\\t%0\"", ";", "else", "return", "\"fcompp\\n\\tfnstsw\\t%0\"", ";", "}", "}", "else", "{", "static", "const", "char", "*", "const", "alt", "[", "16", "]", "=", "{", "\"fcom%z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fcomp%z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fucom%z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fucomp%z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"ficom%z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"ficomp%z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "NULL", ",", "NULL", ",", "\"fcomi\\t{%y1, %0|%0, %y1}\"", ",", "\"fcomip\\t{%y1, %0|%0, %y1}\"", ",", "\"fucomi\\t{%y1, %0|%0, %y1}\"", ",", "\"fucomip\\t{%y1, %0|%0, %y1}\"", ",", "NULL", ",", "NULL", ",", "NULL", ",", "NULL", "}", ";", "int", "mask", ";", "const", "char", "*", "ret", ";", "mask", "=", "eflags_p", "<<", "3", ";", "mask", "|=", "(", "GET_MODE_CLASS", "(", "GET_MODE", "(", "cmp_op1", ")", ")", "==", "MODE_INT", ")", "<<", "2", ";", "mask", "|=", "unordered_p", "<<", "1", ";", "mask", "|=", "stack_top_dies", ";", "gcc_assert", "(", "mask", "<", "16", ")", ";", "ret", "=", "alt", "[", "mask", "]", ";", "gcc_assert", "(", "ret", ")", ";", "return", "ret", ";", "}", "}", ""], "natrual_language": ["Output", "code", "for", "INSN", "to", "compare", "OPERANDS", ".", "EFLAGS_P", "is", "1", "when", "fcomi", "should", "be", "used", "and", "2", "when", "fnstsw", "should", "be", "used", ".", "UNORDERED_P", "is", "true", "when", "fucom", "should", "be", "used", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "1", "2", "0", "\"ucomiss\\t{%1, %0|%0, %1}\"", "\"comiss\\t{%1, %0|%0, %1}\"", "\"ucomisd\\t{%1, %0|%0, %1}\"", "\"comisd\\t{%1, %0|%0, %1}\"", "0", "\"ftst\\n\\tfnstsw\\t%0\"", "\"ffreep\\t%y1\"", "\"fstp\\t%y1\"", "\"ftst\\n\\tfnstsw\\t%0\"", "\"fucomip\\t{%y1, %0|%0, %y1}\"", "\"fcomip\\t{%y1, %0|%0, %y1}\"", "\"ffreep\\t%y0\"", "\"fstp\\t%y0\"", "\"fucompp\\n\\tfnstsw\\t%0\"", "\"fcompp\\n\\tfnstsw\\t%0\"", "16", "\"fcom%z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fcomp%z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fucom%z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fucomp%z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"ficom%z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"ficomp%z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fcomi\\t{%y1, %0|%0, %y1}\"", "\"fcomip\\t{%y1, %0|%0, %y1}\"", "\"fucomi\\t{%y1, %0|%0, %y1}\"", "\"fucomip\\t{%y1, %0|%0, %y1}\"", "3", "2", "1", "16"], "File": "i3863", "Func": "output_fp_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38109, "Length": 369}
{"ground_truth": ["", "const", "char", "*", "output_set_got", "(", "rtx", "dest", ")", "{", "rtx", "xops", "[", "3", "]", ";", "xops", "[", "0", "]", "=", "dest", ";", "xops", "[", "1", "]", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "GOT_SYMBOL_NAME", ")", ";", "if", "(", "!", "TARGET_DEEP_BRANCH_PREDICTION", "||", "!", "flag_pic", ")", "{", "xops", "[", "2", "]", "=", "gen_rtx_LABEL_REF", "(", "Pmode", ",", "gen_label_rtx", "(", ")", ")", ";", "if", "(", "!", "flag_pic", ")", "output_asm_insn", "(", "\"mov{l}\\t{%2, %0|%0, %2}\"", ",", "xops", ")", ";", "else", "output_asm_insn", "(", "\"call\\t%a2\"", ",", "xops", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "machopic_function_base_name", "(", ")", ")", ";", "(", "*", "targetm", ".", "asm_out", ".", "internal_label", ")", "(", "asm_out_file", ",", "\"L\"", ",", "CODE_LABEL_NUMBER", "(", "XEXP", "(", "xops", "[", "2", "]", ",", "0", ")", ")", ")", ";", "if", "(", "flag_pic", ")", "output_asm_insn", "(", "\"pop{l}\\t%0\"", ",", "xops", ")", ";", "}", "else", "{", "char", "name", "[", "32", "]", ";", "get_pc_thunk_name", "(", "name", ",", "REGNO", "(", "dest", ")", ")", ";", "pic_labels_used", "|=", "1", "<<", "REGNO", "(", "dest", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "ggc_strdup", "(", "name", ")", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_MEM", "(", "QImode", ",", "xops", "[", "2", "]", ")", ";", "output_asm_insn", "(", "\"call\\t%X2\"", ",", "xops", ")", ";", "}", "if", "(", "!", "flag_pic", "||", "TARGET_DEEP_BRANCH_PREDICTION", ")", "output_asm_insn", "(", "\"add{l}\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "else", "if", "(", "!", "TARGET_MACHO", ")", "output_asm_insn", "(", "\"add{l}\\t{%1+[.-%a2], %0|%0, %1+(.-%a2)}\"", ",", "xops", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Emit", "code", "for", "the", "SET_GOT", "patterns", "."], "TS_V_token": ["i386", "3", "0", "1", "2", "\"mov{l}\\t{%2, %0|%0, %2}\"", "\"call\\t%a2\"", "\"L\"", "2", "0", "\"pop{l}\\t%0\"", "32", "1", "2", "2", "2", "\"call\\t%X2\"", "\"add{l}\\t{%1, %0|%0, %1}\"", "\"add{l}\\t{%1+[.-%a2], %0|%0, %1+(.-%a2)}\"", "\"\""], "File": "i3863", "Func": "output_set_got", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38110, "Length": 221}
{"ground_truth": ["", "void", "print_reg", "(", "rtx", "x", ",", "int", "code", ",", "FILE", "*", "file", ")", "{", "gcc_assert", "(", "REGNO", "(", "x", ")", "!=", "ARG_POINTER_REGNUM", "&&", "REGNO", "(", "x", ")", "!=", "FRAME_POINTER_REGNUM", "&&", "REGNO", "(", "x", ")", "!=", "FLAGS_REG", "&&", "REGNO", "(", "x", ")", "!=", "FPSR_REG", ")", ";", "if", "(", "ASSEMBLER_DIALECT", "==", "ASM_ATT", "||", "USER_LABEL_PREFIX", "[", "0", "]", "==", "0", ")", "putc", "(", "'%'", ",", "file", ")", ";", "if", "(", "code", "==", "'w'", "||", "MMX_REG_P", "(", "x", ")", ")", "code", "=", "2", ";", "else", "if", "(", "code", "==", "'b'", ")", "code", "=", "1", ";", "else", "if", "(", "code", "==", "'k'", ")", "code", "=", "4", ";", "else", "if", "(", "code", "==", "'q'", ")", "code", "=", "8", ";", "else", "if", "(", "code", "==", "'y'", ")", "code", "=", "3", ";", "else", "if", "(", "code", "==", "'h'", ")", "code", "=", "0", ";", "else", "code", "=", "GET_MODE_SIZE", "(", "GET_MODE", "(", "x", ")", ")", ";", "if", "(", "REX_INT_REG_P", "(", "x", ")", ")", "{", "gcc_assert", "(", "TARGET_64BIT", ")", ";", "switch", "(", "code", ")", "{", "case", "0", ":", "error", "(", "\"extended registers have no high halves\"", ")", ";", "break", ";", "case", "1", ":", "fprintf", "(", "file", ",", "\"r%ib\"", ",", "REGNO", "(", "x", ")", "-", "FIRST_REX_INT_REG", "+", "8", ")", ";", "break", ";", "case", "2", ":", "fprintf", "(", "file", ",", "\"r%iw\"", ",", "REGNO", "(", "x", ")", "-", "FIRST_REX_INT_REG", "+", "8", ")", ";", "break", ";", "case", "4", ":", "fprintf", "(", "file", ",", "\"r%id\"", ",", "REGNO", "(", "x", ")", "-", "FIRST_REX_INT_REG", "+", "8", ")", ";", "break", ";", "case", "8", ":", "fprintf", "(", "file", ",", "\"r%i\"", ",", "REGNO", "(", "x", ")", "-", "FIRST_REX_INT_REG", "+", "8", ")", ";", "break", ";", "default", ":", "error", "(", "\"unsupported operand size for extended register\"", ")", ";", "break", ";", "}", "return", ";", "}", "switch", "(", "code", ")", "{", "case", "3", ":", "if", "(", "STACK_TOP_P", "(", "x", ")", ")", "{", "fputs", "(", "\"st(0)\"", ",", "file", ")", ";", "break", ";", "}", "case", "8", ":", "case", "4", ":", "case", "12", ":", "if", "(", "!", "ANY_FP_REG_P", "(", "x", ")", ")", "putc", "(", "code", "==", "8", "&&", "TARGET_64BIT", "?", "'r'", ":", "'e'", ",", "file", ")", ";", "case", "16", ":", "case", "2", ":", "normal", ":", "fputs", "(", "hi_reg_name", "[", "REGNO", "(", "x", ")", "]", ",", "file", ")", ";", "break", ";", "case", "1", ":", "if", "(", "REGNO", "(", "x", ")", ">=", "ARRAY_SIZE", "(", "qi_reg_name", ")", ")", "goto", "normal", ";", "fputs", "(", "qi_reg_name", "[", "REGNO", "(", "x", ")", "]", ",", "file", ")", ";", "break", ";", "case", "0", ":", "if", "(", "REGNO", "(", "x", ")", ">=", "ARRAY_SIZE", "(", "qi_high_reg_name", ")", ")", "goto", "normal", ";", "fputs", "(", "qi_high_reg_name", "[", "REGNO", "(", "x", ")", "]", ",", "file", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Print", "a", "register", "."], "TS_V_token": ["i386", "0", "0", "2", "1", "4", "8", "3", "0", "0", "\"extended registers have no high halves\"", "1", "\"r%ib\"", "8", "2", "\"r%iw\"", "8", "4", "\"r%id\"", "8", "8", "\"r%i\"", "8", "\"unsupported operand size for extended register\"", "3", "\"st(0)\"", "8", "4", "12", "8", "16", "2", "1", "0"], "File": "i3863", "Func": "print_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38111, "Length": 426}
{"ground_truth": ["", "static", "void", "pro_epilogue_adjust_stack", "(", "rtx", "dest", ",", "rtx", "src", ",", "rtx", "offset", ",", "int", "style", ")", "{", "rtx", "insn", ";", "if", "(", "!", "TARGET_64BIT", ")", "insn", "=", "emit_insn", "(", "gen_pro_epilogue_adjust_stack_1", "(", "dest", ",", "src", ",", "offset", ")", ")", ";", "else", "if", "(", "x86_64_immediate_operand", "(", "offset", ",", "DImode", ")", ")", "insn", "=", "emit_insn", "(", "gen_pro_epilogue_adjust_stack_rex64", "(", "dest", ",", "src", ",", "offset", ")", ")", ";", "else", "{", "rtx", "r11", ";", "gcc_assert", "(", "style", ")", ";", "r11", "=", "gen_rtx_REG", "(", "DImode", ",", "FIRST_REX_INT_REG", "+", "3", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "DImode", ",", "r11", ",", "offset", ")", ")", ";", "if", "(", "style", "<", "0", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "insn", "=", "emit_insn", "(", "gen_pro_epilogue_adjust_stack_rex64_2", "(", "dest", ",", "src", ",", "r11", ",", "offset", ")", ")", ";", "}", "if", "(", "style", "<", "0", ")", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", ""], "natrual_language": ["Expand", "prologue", "or", "epilogue", "stack", "adjustment", ".", "The", "pattern", "exist", "to", "put", "a", "dependency", "on", "all", "ebp-based", "memory", "accesses", ".", "STYLE", "should", "be", "negative", "if", "instructions", "should", "be", "marked", "as", "frame", "related", ",", "zero", "if", "%", "r11", "register", "is", "live", "and", "can", "not", "be", "freely", "used", "and", "positive", "otherwise", "."], "TS_V_token": ["i386", "3", "0", "1", "0", "1"], "File": "i3863", "Func": "pro_epilogue_adjust_stack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38112, "Length": 142}
{"ground_truth": ["", "static", "rtx", "safe_vector_operand", "(", "rtx", "x", ",", "enum", "machine_mode", "mode", ")", "{", "if", "(", "x", "==", "const0_rtx", ")", "x", "=", "CONST0_RTX", "(", "mode", ")", ";", "return", "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": ["i386"], "File": "i3863", "Func": "safe_vector_operand", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38113, "Length": 29}
{"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": ["i386", "0", "4", "0", "4"], "File": "i3863", "Func": "split_di", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38114, "Length": 136}
{"ground_truth": ["", "void", "split_ti", "(", "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", ",", "DImode", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "DImode", ",", "8", ")", ";", "}", "else", "{", "lo_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "DImode", ",", "op", ",", "TImode", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "DImode", ",", "op", ",", "TImode", ",", "8", ")", ";", "}", "}", "}", ""], "natrual_language": ["Split", "one", "or", "more", "TImode", "RTL", "references", "into", "pairs", "of", "DImode", "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": ["i386", "0", "8", "0", "8"], "File": "i3863", "Func": "split_ti", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38115, "Length": 112}
{"ground_truth": ["", "const", "char", "*", "standard_80387_constant_opcode", "(", "rtx", "x", ")", "{", "switch", "(", "standard_80387_constant_p", "(", "x", ")", ")", "{", "case", "1", ":", "return", "\"fldz\"", ";", "case", "2", ":", "return", "\"fld1\"", ";", "case", "3", ":", "return", "\"fldlg2\"", ";", "case", "4", ":", "return", "\"fldln2\"", ";", "case", "5", ":", "return", "\"fldl2e\"", ";", "case", "6", ":", "return", "\"fldl2t\"", ";", "case", "7", ":", "return", "\"fldpi\"", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "opcode", "of", "the", "special", "instruction", "to", "be", "used", "to", "load", "the", "constant", "X", "."], "TS_V_token": ["i386", "1", "\"fldz\"", "2", "\"fld1\"", "3", "\"fldlg2\"", "4", "\"fldln2\"", "5", "\"fldl2e\"", "6", "\"fldl2t\"", "7", "\"fldpi\""], "File": "i3863", "Func": "standard_80387_constant_opcode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38116, "Length": 67}
{"ground_truth": ["", "int", "standard_80387_constant_p", "(", "rtx", "x", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "!=", "CONST_DOUBLE", "||", "!", "FLOAT_MODE_P", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "-", "1", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "1", ";", "if", "(", "x", "==", "CONST1_RTX", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "2", ";", "if", "(", "GET_MODE", "(", "x", ")", "==", "XFmode", "&&", "(", "optimize_size", "||", "x86_ext_80387_constants", "&", "TUNEMASK", ")", ")", "{", "REAL_VALUE_TYPE", "r", ";", "int", "i", ";", "if", "(", "!", "ext_80387_constants_init", ")", "init_ext_80387_constants", "(", ")", ";", "REAL_VALUE_FROM_CONST_DOUBLE", "(", "r", ",", "x", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "5", ";", "i", "++", ")", "if", "(", "real_identical", "(", "&", "r", ",", "&", "ext_80387_constants_table", "[", "i", "]", ")", ")", "return", "i", "+", "3", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "constant", "is", "something", "that", "can", "be", "loaded", "with", "a", "special", "instruction", "."], "TS_V_token": ["i386", "1", "1", "2", "0", "5", "3", "0"], "File": "i3863", "Func": "standard_80387_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38117, "Length": 136}
{"ground_truth": ["", "rtx", "standard_80387_constant_rtx", "(", "int", "idx", ")", "{", "int", "i", ";", "if", "(", "!", "ext_80387_constants_init", ")", "init_ext_80387_constants", "(", ")", ";", "switch", "(", "idx", ")", "{", "case", "3", ":", "case", "4", ":", "case", "5", ":", "case", "6", ":", "case", "7", ":", "i", "=", "idx", "-", "3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "CONST_DOUBLE_FROM_REAL_VALUE", "(", "ext_80387_constants_table", "[", "i", "]", ",", "XFmode", ")", ";", "}", ""], "natrual_language": ["Return", "the", "CONST_DOUBLE", "representing", "the", "80387", "constant", "that", "is", "loaded", "by", "the", "specified", "special", "instruction", ".", "The", "argument", "IDX", "matches", "the", "return", "value", "from", "standard_80387_constant_p", "."], "TS_V_token": ["i386", "3", "4", "5", "6", "7", "3"], "File": "i3863", "Func": "standard_80387_constant_rtx", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38118, "Length": 66}
{"ground_truth": ["", "int", "standard_sse_constant_p", "(", "rtx", "x", ")", "{", "if", "(", "x", "==", "const0_rtx", ")", "return", "1", ";", "return", "(", "x", "==", "CONST0_RTX", "(", "GET_MODE", "(", "x", ")", ")", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "X", "is", "all", "0s", "and", "2", "if", "x", "is", "all", "1s", "in", "supported", "SSE/AVX", "vector", "mode", "."], "TS_V_token": ["i386", "1"], "File": "i3863", "Func": "standard_sse_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38119, "Length": 30}
{"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": ["i386", "1", "1", "0", "1", "0", "1", "1", "0"], "File": "i3863", "Func": "symbolic_reference_mentioned_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38120, "Length": 145}
{"ground_truth": ["", "static", "enum", "machine_mode", "type_natural_mode", "(", "tree", "type", ")", "{", "enum", "machine_mode", "mode", "=", "TYPE_MODE", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "&&", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "HOST_WIDE_INT", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "(", "size", "==", "8", "||", "size", "==", "16", ")", "&&", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", ">", "1", ")", "{", "enum", "machine_mode", "innermode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ";", "if", "(", "TREE_CODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "REAL_TYPE", ")", "mode", "=", "MIN_MODE_VECTOR_FLOAT", ";", "else", "mode", "=", "MIN_MODE_VECTOR_INT", ";", "for", "(", ";", "mode", "!=", "VOIDmode", ";", "mode", "=", "GET_MODE_WIDER_MODE", "(", "mode", ")", ")", "if", "(", "GET_MODE_NUNITS", "(", "mode", ")", "==", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", "&&", "GET_MODE_INNER", "(", "mode", ")", "==", "innermode", ")", "return", "mode", ";", "gcc_unreachable", "(", ")", ";", "}", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Return", "the", "``", "natural", "''", "mode", "for", "TYPE", ".", "In", "most", "cases", ",", "this", "is", "just", "TYPE_MODE", ".", "But", "in", "the", "case", "of", "vector", "types", ",", "it", "is", "some", "vector", "mode", ".", "When", "we", "have", "only", "some", "of", "our", "vector", "isa", "extensions", "enabled", ",", "then", "there", "are", "some", "modes", "for", "which", "vector_mode_supported_p", "is", "false", ".", "For", "these", "modes", ",", "the", "generic", "vector", "support", "in", "gcc", "will", "choose", "some", "non-vector", "mode", "in", "order", "to", "implement", "the", "type", ".", "By", "computing", "the", "natural", "mode", ",", "we", "'ll", "select", "the", "proper", "ABI", "location", "for", "the", "operand", "and", "not", "depend", "on", "whatever", "the", "middle-end", "decides", "to", "do", "with", "these", "vector", "types", "."], "TS_V_token": ["i386", "8", "16", "1"], "File": "i3863", "Func": "type_natural_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38121, "Length": 141}
{"ground_truth": ["", "static", "void", "x86_64_elf_select_section", "(", "tree", "decl", ",", "int", "reloc", ",", "unsigned", "HOST_WIDE_INT", "align", ")", "{", "if", "(", "(", "ix86_cmodel", "==", "CM_MEDIUM", "||", "ix86_cmodel", "==", "CM_MEDIUM_PIC", ")", "&&", "ix86_in_large_data_p", "(", "decl", ")", ")", "{", "const", "char", "*", "sname", "=", "NULL", ";", "unsigned", "int", "flags", "=", "SECTION_WRITE", ";", "switch", "(", "categorize_decl_for_section", "(", "decl", ",", "reloc", ",", "flag_pic", ")", ")", "{", "case", "SECCAT_DATA", ":", "sname", "=", "\".ldata\"", ";", "break", ";", "case", "SECCAT_DATA_REL", ":", "sname", "=", "\".ldata.rel\"", ";", "break", ";", "case", "SECCAT_DATA_REL_LOCAL", ":", "sname", "=", "\".ldata.rel.local\"", ";", "break", ";", "case", "SECCAT_DATA_REL_RO", ":", "sname", "=", "\".ldata.rel.ro\"", ";", "break", ";", "case", "SECCAT_DATA_REL_RO_LOCAL", ":", "sname", "=", "\".ldata.rel.ro.local\"", ";", "break", ";", "case", "SECCAT_BSS", ":", "sname", "=", "\".lbss\"", ";", "flags", "|=", "SECTION_BSS", ";", "break", ";", "case", "SECCAT_RODATA", ":", "case", "SECCAT_RODATA_MERGE_STR", ":", "case", "SECCAT_RODATA_MERGE_STR_INIT", ":", "case", "SECCAT_RODATA_MERGE_CONST", ":", "sname", "=", "\".lrodata\"", ";", "flags", "=", "0", ";", "break", ";", "case", "SECCAT_SRODATA", ":", "case", "SECCAT_SDATA", ":", "case", "SECCAT_SBSS", ":", "gcc_unreachable", "(", ")", ";", "case", "SECCAT_TEXT", ":", "case", "SECCAT_TDATA", ":", "case", "SECCAT_TBSS", ":", "break", ";", "}", "if", "(", "sname", ")", "{", "if", "(", "!", "DECL_P", "(", "decl", ")", ")", "named_section_flags", "(", "sname", ",", "flags", ")", ";", "else", "named_section", "(", "decl", ",", "sname", ",", "reloc", ")", ";", "return", ";", "}", "}", "default_elf_select_section", "(", "decl", ",", "reloc", ",", "align", ")", ";", "}", ""], "natrual_language": ["switch", "to", "the", "appropriate", "section", "for", "output", "of", "DECL", ".", "DECL", "is", "either", "a", "`", "VAR_DECL", "'", "node", "or", "a", "constant", "of", "some", "sort", ".", "RELOC", "indicates", "whether", "forming", "the", "initial", "value", "of", "DECL", "requires", "link-time", "relocations", "."], "TS_V_token": ["i386", "\".ldata\"", "\".ldata.rel\"", "\".ldata.rel.local\"", "\".ldata.rel.ro\"", "\".ldata.rel.ro.local\"", "\".lbss\"", "\".lrodata\"", "0"], "File": "i3863", "Func": "x86_64_elf_select_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38122, "Length": 207}
{"ground_truth": ["", "static", "void", "x86_64_elf_unique_section", "(", "tree", "decl", ",", "int", "reloc", ")", "{", "if", "(", "(", "ix86_cmodel", "==", "CM_MEDIUM", "||", "ix86_cmodel", "==", "CM_MEDIUM_PIC", ")", "&&", "ix86_in_large_data_p", "(", "decl", ")", ")", "{", "const", "char", "*", "prefix", "=", "NULL", ";", "bool", "one_only", "=", "DECL_ONE_ONLY", "(", "decl", ")", "&&", "!", "HAVE_COMDAT_GROUP", ";", "switch", "(", "categorize_decl_for_section", "(", "decl", ",", "reloc", ",", "flag_pic", ")", ")", "{", "case", "SECCAT_DATA", ":", "case", "SECCAT_DATA_REL", ":", "case", "SECCAT_DATA_REL_LOCAL", ":", "case", "SECCAT_DATA_REL_RO", ":", "case", "SECCAT_DATA_REL_RO_LOCAL", ":", "prefix", "=", "one_only", "?", "\".gnu.linkonce.ld.\"", ":", "\".ldata.\"", ";", "break", ";", "case", "SECCAT_BSS", ":", "prefix", "=", "one_only", "?", "\".gnu.linkonce.lb.\"", ":", "\".lbss.\"", ";", "break", ";", "case", "SECCAT_RODATA", ":", "case", "SECCAT_RODATA_MERGE_STR", ":", "case", "SECCAT_RODATA_MERGE_STR_INIT", ":", "case", "SECCAT_RODATA_MERGE_CONST", ":", "prefix", "=", "one_only", "?", "\".gnu.linkonce.lr.\"", ":", "\".lrodata.\"", ";", "break", ";", "case", "SECCAT_SRODATA", ":", "case", "SECCAT_SDATA", ":", "case", "SECCAT_SBSS", ":", "gcc_unreachable", "(", ")", ";", "case", "SECCAT_TEXT", ":", "case", "SECCAT_TDATA", ":", "case", "SECCAT_TBSS", ":", "break", ";", "}", "if", "(", "prefix", ")", "{", "const", "char", "*", "name", ";", "size_t", "nlen", ",", "plen", ";", "char", "*", "string", ";", "plen", "=", "strlen", "(", "prefix", ")", ";", "name", "=", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "name", "=", "targetm", ".", "strip_name_encoding", "(", "name", ")", ";", "nlen", "=", "strlen", "(", "name", ")", ";", "string", "=", "alloca", "(", "nlen", "+", "plen", "+", "1", ")", ";", "memcpy", "(", "string", ",", "prefix", ",", "plen", ")", ";", "memcpy", "(", "string", "+", "plen", ",", "name", ",", "nlen", "+", "1", ")", ";", "DECL_SECTION_NAME", "(", "decl", ")", "=", "build_string", "(", "nlen", "+", "plen", ",", "string", ")", ";", "return", ";", "}", "}", "default_unique_section", "(", "decl", ",", "reloc", ")", ";", "}", ""], "natrual_language": ["Build", "up", "a", "unique", "section", "name", ",", "expressed", "as", "a", "STRING_CST", "node", ",", "and", "assign", "it", "to", "DECL_SECTION_NAME", "(", "decl", ")", ".", "RELOC", "indicates", "whether", "the", "initial", "value", "of", "EXP", "requires", "link-time", "relocations", "."], "TS_V_token": ["i386", "\".gnu.linkonce.ld.\"", "\".ldata.\"", "\".gnu.linkonce.lb.\"", "\".lbss.\"", "\".gnu.linkonce.lr.\"", "\".lrodata.\"", "1", "1"], "File": "i3863", "Func": "x86_64_elf_unique_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38123, "Length": 255}
{"ground_truth": ["", "static", "bool", "x86_can_output_mi_thunk", "(", "tree", "thunk", "ATTRIBUTE_UNUSED", ",", "HOST_WIDE_INT", "delta", "ATTRIBUTE_UNUSED", ",", "HOST_WIDE_INT", "vcall_offset", ",", "tree", "function", ")", "{", "if", "(", "TARGET_64BIT", ")", "return", "true", ";", "if", "(", "ix86_function_regparm", "(", "TREE_TYPE", "(", "function", ")", ",", "function", ")", "<", "3", ")", "return", "true", ";", "if", "(", "vcall_offset", ")", "return", "false", ";", "if", "(", "flag_pic", "&&", "!", "(", "*", "targetm", ".", "binds_local_p", ")", "(", "function", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Determine", "whether", "x86_output_mi_thunk", "can", "succeed", "."], "TS_V_token": ["i386", "3"], "File": "i3863", "Func": "x86_can_output_mi_thunk", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38124, "Length": 72}
{"ground_truth": ["", "void", "x86_elf_aligned_common", "(", "FILE", "*", "file", ",", "const", "char", "*", "name", ",", "unsigned", "HOST_WIDE_INT", "size", ",", "int", "align", ")", "{", "if", "(", "(", "ix86_cmodel", "==", "CM_MEDIUM", "||", "ix86_cmodel", "==", "CM_MEDIUM_PIC", ")", "&&", "size", ">", "(", "unsigned", "int", ")", "ix86_section_threshold", ")", "fprintf", "(", "file", ",", "\".largecomm\\t\"", ")", ";", "else", "fprintf", "(", "file", ",", "\"%s\"", ",", "COMMON_ASM_OP", ")", ";", "assemble_name", "(", "file", ",", "name", ")", ";", "fprintf", "(", "file", ",", "\",\"", "HOST_WIDE_INT_PRINT_UNSIGNED", "\",%u\\n\"", ",", "size", ",", "align", "/", "BITS_PER_UNIT", ")", ";", "}", ""], "natrual_language": ["This", "says", "how", "to", "output", "assembler", "code", "to", "declare", "an", "uninitialized", "external", "linkage", "data", "object", ".", "For", "medium", "model", "x86-64", "we", "need", "to", "use", ".largecomm", "opcode", "for", "large", "objects", "."], "TS_V_token": ["i386", "\".largecomm\\t\"", "\"%s\"", "\",\"", "\",%u\\n\""], "File": "i3863", "Func": "x86_elf_aligned_common", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38125, "Length": 80}
{"ground_truth": ["", "void", "x86_emit_floatuns", "(", "rtx", "operands", "[", "2", "]", ")", "{", "rtx", "neglab", ",", "donelab", ",", "i0", ",", "i1", ",", "f0", ",", "in", ",", "out", ";", "enum", "machine_mode", "mode", ",", "inmode", ";", "inmode", "=", "GET_MODE", "(", "operands", "[", "1", "]", ")", ";", "gcc_assert", "(", "inmode", "==", "SImode", "||", "inmode", "==", "DImode", ")", ";", "out", "=", "operands", "[", "0", "]", ";", "in", "=", "force_reg", "(", "inmode", ",", "operands", "[", "1", "]", ")", ";", "mode", "=", "GET_MODE", "(", "out", ")", ";", "neglab", "=", "gen_label_rtx", "(", ")", ";", "donelab", "=", "gen_label_rtx", "(", ")", ";", "i1", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "f0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_cmp_and_jump_insns", "(", "in", ",", "const0_rtx", ",", "LT", ",", "const0_rtx", ",", "Pmode", ",", "0", ",", "neglab", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "out", ",", "gen_rtx_FLOAT", "(", "mode", ",", "in", ")", ")", ")", ";", "emit_jump_insn", "(", "gen_jump", "(", "donelab", ")", ")", ";", "emit_barrier", "(", ")", ";", "emit_label", "(", "neglab", ")", ";", "i0", "=", "expand_simple_binop", "(", "Pmode", ",", "LSHIFTRT", ",", "in", ",", "const1_rtx", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "i1", "=", "expand_simple_binop", "(", "Pmode", ",", "AND", ",", "in", ",", "const1_rtx", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "i0", "=", "expand_simple_binop", "(", "Pmode", ",", "IOR", ",", "i0", ",", "i1", ",", "i0", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "expand_float", "(", "f0", ",", "i0", ",", "0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "out", ",", "gen_rtx_PLUS", "(", "mode", ",", "f0", ",", "f0", ")", ")", ")", ";", "emit_label", "(", "donelab", ")", ";", "}", ""], "natrual_language": ["Generate", "an", "unsigned", "DImode/SImode", "to", "FP", "conversion", ".", "This", "is", "the", "same", "code", "optabs", "would", "emit", "if", "we", "did", "n't", "have", "TFmode", "patterns", "."], "TS_V_token": ["i386", "2", "1", "0", "1", "0", "1", "1", "1", "0"], "File": "i3863", "Func": "x86_emit_floatuns", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38126, "Length": 246}
{"ground_truth": ["", "bool", "x86_extended_QIreg_mentioned_p", "(", "rtx", "insn", ")", "{", "int", "i", ";", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "recog_data", ".", "n_operands", ";", "i", "++", ")", "if", "(", "REG_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "&&", "REGNO", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ">=", "4", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "nonzero", "when", "QImode", "register", "that", "must", "be", "represented", "via", "REX", "prefix", "is", "used", "."], "TS_V_token": ["i386", "0", "4"], "File": "i3863", "Func": "x86_extended_QIreg_mentioned_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38127, "Length": 61}
{"ground_truth": ["", "bool", "x86_extended_reg_mentioned_p", "(", "rtx", "insn", ")", "{", "return", "for_each_rtx", "(", "&", "PATTERN", "(", "insn", ")", ",", "extended_reg_mentioned_1", ",", "NULL", ")", ";", "}", ""], "natrual_language": ["Return", "true", "when", "INSN", "mentions", "register", "that", "must", "be", "encoded", "using", "REX", "prefix", "."], "TS_V_token": ["i386"], "File": "i3863", "Func": "x86_extended_reg_mentioned_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38128, "Length": 22}
{"ground_truth": ["", "void", "x86_function_profiler", "(", "FILE", "*", "file", ",", "int", "labelno", "ATTRIBUTE_UNUSED", ")", "{", "if", "(", "TARGET_64BIT", ")", "if", "(", "flag_pic", ")", "{", "fprintf", "(", "file", ",", "\"\\tleaq\\t%sP%d@(%%rip),%%r11\\n\"", ",", "LPREFIX", ",", "labelno", ")", ";", "fprintf", "(", "file", ",", "\"\\tcall\\t*%s@GOTPCREL(%%rip)\\n\"", ",", "MCOUNT_NAME", ")", ";", "}", "else", "{", "fprintf", "(", "file", ",", "\"\\tmovq\\t$%sP%d,%%r11\\n\"", ",", "LPREFIX", ",", "labelno", ")", ";", "fprintf", "(", "file", ",", "\"\\tcall\\t%s\\n\"", ",", "MCOUNT_NAME", ")", ";", "}", "else", "if", "(", "flag_pic", ")", "{", "fprintf", "(", "file", ",", "\"\\tleal\\t%sP%d@GOTOFF(%%ebx),%%%s\\n\"", ",", "LPREFIX", ",", "labelno", ",", "PROFILE_COUNT_REGISTER", ")", ";", "fprintf", "(", "file", ",", "\"\\tcall\\t*%s@GOT(%%ebx)\\n\"", ",", "MCOUNT_NAME", ")", ";", "}", "else", "{", "fprintf", "(", "file", ",", "\"\\tmovl\\t$%sP%d,%%%s\\n\"", ",", "LPREFIX", ",", "labelno", ",", "PROFILE_COUNT_REGISTER", ")", ";", "fprintf", "(", "file", ",", "\"\\tcall\\t%s\\n\"", ",", "MCOUNT_NAME", ")", ";", "}", "}", ""], "natrual_language": ["Output", "assembler", "code", "to", "FILE", "to", "increment", "profiler", "label", "#", "LABELNO", "for", "profiling", "a", "function", "entry", "."], "TS_V_token": ["i386", "\"\\tleaq\\t%sP%d@(%%rip),%%r11\\n\"", "\"\\tcall\\t*%s@GOTPCREL(%%rip)\\n\"", "\"\\tmovq\\t$%sP%d,%%r11\\n\"", "\"\\tcall\\t%s\\n\"", "\"\\tleal\\t%sP%d@GOTOFF(%%ebx),%%%s\\n\"", "\"\\tcall\\t*%s@GOT(%%ebx)\\n\"", "\"\\tmovl\\t$%sP%d,%%%s\\n\"", "\"\\tcall\\t%s\\n\""], "File": "i3863", "Func": "x86_function_profiler", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38129, "Length": 120}
{"ground_truth": ["", "void", "x86_initialize_trampoline", "(", "rtx", "tramp", ",", "rtx", "fnaddr", ",", "rtx", "cxt", ")", "{", "if", "(", "!", "TARGET_64BIT", ")", "{", "rtx", "disp", "=", "expand_binop", "(", "SImode", ",", "sub_optab", ",", "fnaddr", ",", "plus_constant", "(", "tramp", ",", "10", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "QImode", ",", "tramp", ")", ",", "gen_int_mode", "(", "0xb9", ",", "QImode", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "SImode", ",", "plus_constant", "(", "tramp", ",", "1", ")", ")", ",", "cxt", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "QImode", ",", "plus_constant", "(", "tramp", ",", "5", ")", ")", ",", "gen_int_mode", "(", "0xe9", ",", "QImode", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "SImode", ",", "plus_constant", "(", "tramp", ",", "6", ")", ")", ",", "disp", ")", ";", "}", "else", "{", "int", "offset", "=", "0", ";", "if", "(", "x86_64_zext_immediate_operand", "(", "fnaddr", ",", "VOIDmode", ")", ")", "{", "fnaddr", "=", "copy_to_mode_reg", "(", "DImode", ",", "fnaddr", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "HImode", ",", "plus_constant", "(", "tramp", ",", "offset", ")", ")", ",", "gen_int_mode", "(", "0xbb41", ",", "HImode", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "SImode", ",", "plus_constant", "(", "tramp", ",", "offset", "+", "2", ")", ")", ",", "gen_lowpart", "(", "SImode", ",", "fnaddr", ")", ")", ";", "offset", "+=", "6", ";", "}", "else", "{", "emit_move_insn", "(", "gen_rtx_MEM", "(", "HImode", ",", "plus_constant", "(", "tramp", ",", "offset", ")", ")", ",", "gen_int_mode", "(", "0xbb49", ",", "HImode", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "DImode", ",", "plus_constant", "(", "tramp", ",", "offset", "+", "2", ")", ")", ",", "fnaddr", ")", ";", "offset", "+=", "10", ";", "}", "emit_move_insn", "(", "gen_rtx_MEM", "(", "HImode", ",", "plus_constant", "(", "tramp", ",", "offset", ")", ")", ",", "gen_int_mode", "(", "0xba49", ",", "HImode", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "DImode", ",", "plus_constant", "(", "tramp", ",", "offset", "+", "2", ")", ")", ",", "cxt", ")", ";", "offset", "+=", "10", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "HImode", ",", "plus_constant", "(", "tramp", ",", "offset", ")", ")", ",", "gen_int_mode", "(", "0xff49", ",", "HImode", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_MEM", "(", "QImode", ",", "plus_constant", "(", "tramp", ",", "offset", "+", "2", ")", ")", ",", "gen_int_mode", "(", "0xe3", ",", "QImode", ")", ")", ";", "offset", "+=", "3", ";", "gcc_assert", "(", "offset", "<=", "TRAMPOLINE_SIZE", ")", ";", "}", "emit_library_call", "(", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "\"__enable_execute_stack\"", ")", ",", "LCT_NORMAL", ",", "VOIDmode", ",", "1", ",", "tramp", ",", "Pmode", ")", ";", "}", ""], "natrual_language": ["Emit", "RTL", "insns", "to", "initialize", "the", "variable", "parts", "of", "a", "trampoline", ".", "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": ["i386", "10", "1", "0xb9", "1", "5", "0xe9", "6", "0", "0xbb41", "2", "6", "0xbb49", "2", "10", "0xba49", "2", "10", "0xff49", "2", "0xe3", "3", "\"__enable_execute_stack\"", "1"], "File": "i3863", "Func": "x86_initialize_trampoline", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38130, "Length": 367}
{"ground_truth": ["", "void", "x86_order_regs_for_local_alloc", "(", "void", ")", "{", "int", "pos", "=", "0", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "i", ")", "&&", "call_used_regs", "[", "i", "]", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "i", ")", "&&", "!", "call_used_regs", "[", "i", "]", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "if", "(", "!", "TARGET_SSE_MATH", ")", "for", "(", "i", "=", "FIRST_STACK_REG", ";", "i", "<=", "LAST_STACK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_SSE_REG", ";", "i", "<=", "LAST_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "if", "(", "TARGET_SSE_MATH", ")", "for", "(", "i", "=", "FIRST_STACK_REG", ";", "i", "<=", "LAST_STACK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_MMX_REG", ";", "i", "<=", "LAST_MMX_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "while", "(", "pos", "<", "FIRST_PSEUDO_REGISTER", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "0", ";", "}", ""], "natrual_language": ["Order", "the", "registers", "for", "register", "allocator", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i3863", "Func": "x86_order_regs_for_local_alloc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38131, "Length": 210}
{"ground_truth": ["", "void", "x86_output_aligned_bss", "(", "FILE", "*", "file", ",", "tree", "decl", "ATTRIBUTE_UNUSED", ",", "const", "char", "*", "name", ",", "unsigned", "HOST_WIDE_INT", "size", ",", "int", "align", ")", "{", "if", "(", "(", "ix86_cmodel", "==", "CM_MEDIUM", "||", "ix86_cmodel", "==", "CM_MEDIUM_PIC", ")", "&&", "size", ">", "(", "unsigned", "int", ")", "ix86_section_threshold", ")", "named_section", "(", "decl", ",", "\".lbss\"", ",", "0", ")", ";", "else", "bss_section", "(", ")", ";", "ASM_OUTPUT_ALIGN", "(", "file", ",", "floor_log2", "(", "align", "/", "BITS_PER_UNIT", ")", ")", ";", "last_assemble_variable_decl", "=", "decl", ";", "ASM_DECLARE_OBJECT_NAME", "(", "file", ",", "name", ",", "decl", ")", ";", "ASM_OUTPUT_LABEL", "(", "file", ",", "name", ")", ";", "ASM_OUTPUT_SKIP", "(", "file", ",", "size", "?", "size", ":", "1", ")", ";", "}", ""], "natrual_language": ["Utility", "function", "for", "targets", "to", "use", "in", "implementing", "ASM_OUTPUT_ALIGNED_BSS", "."], "TS_V_token": ["i386", "\".lbss\"", "0", "1"], "File": "i3863", "Func": "x86_output_aligned_bss", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38132, "Length": 102}
{"ground_truth": ["", "static", "rtx", "x86_this_parameter", "(", "tree", "function", ")", "{", "tree", "type", "=", "TREE_TYPE", "(", "function", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "int", "n", "=", "aggregate_value_p", "(", "TREE_TYPE", "(", "type", ")", ",", "type", ")", "!=", "0", ";", "return", "gen_rtx_REG", "(", "DImode", ",", "x86_64_int_parameter_registers", "[", "n", "]", ")", ";", "}", "if", "(", "ix86_function_regparm", "(", "type", ",", "function", ")", ">", "0", ")", "{", "tree", "parm", ";", "parm", "=", "TYPE_ARG_TYPES", "(", "type", ")", ";", "for", "(", ";", "parm", ";", "parm", "=", "TREE_CHAIN", "(", "parm", ")", ")", "if", "(", "TREE_VALUE", "(", "parm", ")", "==", "void_type_node", ")", "break", ";", "if", "(", "parm", ")", "{", "int", "regno", "=", "0", ";", "if", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ")", "regno", "=", "2", ";", "return", "gen_rtx_REG", "(", "SImode", ",", "regno", ")", ";", "}", "}", "if", "(", "aggregate_value_p", "(", "TREE_TYPE", "(", "type", ")", ",", "type", ")", ")", "return", "gen_rtx_MEM", "(", "SImode", ",", "plus_constant", "(", "stack_pointer_rtx", ",", "8", ")", ")", ";", "else", "return", "gen_rtx_MEM", "(", "SImode", ",", "plus_constant", "(", "stack_pointer_rtx", ",", "4", ")", ")", ";", "}", ""], "natrual_language": ["Returns", "an", "expression", "indicating", "where", "the", "this", "parameter", "is", "located", "on", "entry", "to", "the", "FUNCTION", "."], "TS_V_token": ["i386", "0", "0", "0", "\"fastcall\"", "2", "8", "4"], "File": "i3863", "Func": "x86_this_parameter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38133, "Length": 169}
{"ground_truth": ["", "static", "basic_block", "add_condition_to_bb", "(", "tree", "function_decl", ",", "tree", "version_decl", ",", "tree", "predicate_chain", ",", "basic_block", "new_bb", ")", "{", "gimple", "return_stmt", ";", "tree", "convert_expr", ",", "result_var", ";", "gimple", "convert_stmt", ";", "gimple", "call_cond_stmt", ";", "gimple", "if_else_stmt", ";", "basic_block", "bb1", ",", "bb2", ",", "bb3", ";", "edge", "e12", ",", "e23", ";", "tree", "cond_var", ",", "and_expr_var", "=", "NULL_TREE", ";", "gimple_seq", "gseq", ";", "tree", "predicate_decl", ",", "predicate_arg", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "function_decl", ")", ")", ";", "gcc_assert", "(", "new_bb", "!=", "NULL", ")", ";", "gseq", "=", "bb_seq", "(", "new_bb", ")", ";", "convert_expr", "=", "build1", "(", "CONVERT_EXPR", ",", "ptr_type_node", ",", "build_fold_addr_expr", "(", "version_decl", ")", ")", ";", "result_var", "=", "create_tmp_var", "(", "ptr_type_node", ")", ";", "convert_stmt", "=", "gimple_build_assign", "(", "result_var", ",", "convert_expr", ")", ";", "return_stmt", "=", "gimple_build_return", "(", "result_var", ")", ";", "if", "(", "predicate_chain", "==", "NULL_TREE", ")", "{", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "convert_stmt", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "return_stmt", ")", ";", "set_bb_seq", "(", "new_bb", ",", "gseq", ")", ";", "gimple_set_bb", "(", "convert_stmt", ",", "new_bb", ")", ";", "gimple_set_bb", "(", "return_stmt", ",", "new_bb", ")", ";", "pop_cfun", "(", ")", ";", "return", "new_bb", ";", "}", "while", "(", "predicate_chain", "!=", "NULL", ")", "{", "cond_var", "=", "create_tmp_var", "(", "integer_type_node", ")", ";", "predicate_decl", "=", "TREE_PURPOSE", "(", "predicate_chain", ")", ";", "predicate_arg", "=", "TREE_VALUE", "(", "predicate_chain", ")", ";", "call_cond_stmt", "=", "gimple_build_call", "(", "predicate_decl", ",", "1", ",", "predicate_arg", ")", ";", "gimple_call_set_lhs", "(", "call_cond_stmt", ",", "cond_var", ")", ";", "gimple_set_block", "(", "call_cond_stmt", ",", "DECL_INITIAL", "(", "function_decl", ")", ")", ";", "gimple_set_bb", "(", "call_cond_stmt", ",", "new_bb", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "call_cond_stmt", ")", ";", "predicate_chain", "=", "TREE_CHAIN", "(", "predicate_chain", ")", ";", "if", "(", "and_expr_var", "==", "NULL", ")", "and_expr_var", "=", "cond_var", ";", "else", "{", "gimple", "assign_stmt", ";", "assign_stmt", "=", "gimple_build_assign", "(", "and_expr_var", ",", "build2", "(", "MIN_EXPR", ",", "integer_type_node", ",", "cond_var", ",", "and_expr_var", ")", ")", ";", "gimple_set_block", "(", "assign_stmt", ",", "DECL_INITIAL", "(", "function_decl", ")", ")", ";", "gimple_set_bb", "(", "assign_stmt", ",", "new_bb", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "assign_stmt", ")", ";", "}", "}", "if_else_stmt", "=", "gimple_build_cond", "(", "GT_EXPR", ",", "and_expr_var", ",", "integer_zero_node", ",", "NULL_TREE", ",", "NULL_TREE", ")", ";", "gimple_set_block", "(", "if_else_stmt", ",", "DECL_INITIAL", "(", "function_decl", ")", ")", ";", "gimple_set_bb", "(", "if_else_stmt", ",", "new_bb", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "if_else_stmt", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "convert_stmt", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "return_stmt", ")", ";", "set_bb_seq", "(", "new_bb", ",", "gseq", ")", ";", "bb1", "=", "new_bb", ";", "e12", "=", "split_block", "(", "bb1", ",", "if_else_stmt", ")", ";", "bb2", "=", "e12", "->", "dest", ";", "e12", "->", "flags", "&=", "~", "EDGE_FALLTHRU", ";", "e12", "->", "flags", "|=", "EDGE_TRUE_VALUE", ";", "e23", "=", "split_block", "(", "bb2", ",", "return_stmt", ")", ";", "gimple_set_bb", "(", "convert_stmt", ",", "bb2", ")", ";", "gimple_set_bb", "(", "return_stmt", ",", "bb2", ")", ";", "bb3", "=", "e23", "->", "dest", ";", "make_edge", "(", "bb1", ",", "bb3", ",", "EDGE_FALSE_VALUE", ")", ";", "remove_edge", "(", "e23", ")", ";", "make_edge", "(", "bb2", ",", "EXIT_BLOCK_PTR_FOR_FN", "(", "cfun", ")", ",", "0", ")", ";", "pop_cfun", "(", ")", ";", "return", "bb3", ";", "}", ""], "natrual_language": ["This", "adds", "a", "condition", "to", "the", "basic_block", "NEW_BB", "in", "function", "FUNCTION_DECL", "to", "return", "a", "pointer", "to", "VERSION_DECL", "if", "we", "are", "running", "on", "a", "machine", "that", "supports", "the", "index", "CLONE_ISA", "hardware", "architecture", "bits", ".", "This", "function", "will", "be", "called", "during", "version", "dispatch", "to", "decide", "which", "function", "version", "to", "execute", ".", "It", "returns", "the", "basic", "block", "at", "the", "end", ",", "to", "which", "more", "conditions", "can", "be", "added", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3864", "Func": "add_condition_to_bb", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38134, "Length": 468}
{"ground_truth": ["", "static", "void", "add_insn_window", "(", "rtx_insn", "*", "insn", ",", "dispatch_windows", "*", "window_list", ",", "int", "num_uops", ")", "{", "int", "byte_len", "=", "min_insn_size", "(", "insn", ")", ";", "int", "num_insn", "=", "window_list", "->", "num_insn", ";", "int", "imm_size", ";", "sched_insn_info", "*", "window", "=", "window_list", "->", "window", ";", "enum", "dispatch_group", "group", "=", "get_insn_group", "(", "insn", ")", ";", "enum", "insn_path", "path", "=", "get_insn_path", "(", "insn", ")", ";", "int", "num_imm_operand", ";", "int", "num_imm32_operand", ";", "int", "num_imm64_operand", ";", "if", "(", "!", "window_list", "->", "violation", "&&", "group", "!=", "disp_cmp", "&&", "!", "fits_dispatch_window", "(", "insn", ")", ")", "window_list", "->", "violation", "=", "true", ";", "imm_size", "=", "get_num_immediates", "(", "insn", ",", "&", "num_imm_operand", ",", "&", "num_imm32_operand", ",", "&", "num_imm64_operand", ")", ";", "window", "[", "num_insn", "]", ".", "insn", "=", "insn", ";", "window", "[", "num_insn", "]", ".", "byte_len", "=", "byte_len", ";", "window", "[", "num_insn", "]", ".", "group", "=", "group", ";", "window", "[", "num_insn", "]", ".", "path", "=", "path", ";", "window", "[", "num_insn", "]", ".", "imm_bytes", "=", "imm_size", ";", "window_list", "->", "window_size", "+=", "byte_len", ";", "window_list", "->", "num_insn", "=", "num_insn", "+", "1", ";", "window_list", "->", "num_uops", "=", "window_list", "->", "num_uops", "+", "num_uops", ";", "window_list", "->", "imm_size", "+=", "imm_size", ";", "window_list", "->", "num_imm", "+=", "num_imm_operand", ";", "window_list", "->", "num_imm_32", "+=", "num_imm32_operand", ";", "window_list", "->", "num_imm_64", "+=", "num_imm64_operand", ";", "if", "(", "group", "==", "disp_store", ")", "window_list", "->", "num_stores", "+=", "1", ";", "else", "if", "(", "group", "==", "disp_load", "||", "group", "==", "disp_prefetch", ")", "window_list", "->", "num_loads", "+=", "1", ";", "else", "if", "(", "group", "==", "disp_load_store", ")", "{", "window_list", "->", "num_stores", "+=", "1", ";", "window_list", "->", "num_loads", "+=", "1", ";", "}", "}", ""], "natrual_language": ["Add", "an", "instruction", "INSN", "with", "NUM_UOPS", "micro-operations", "to", "the", "dispatch", "window", "WINDOW_LIST", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "1"], "File": "i3864", "Func": "add_insn_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38135, "Length": 252}
{"ground_truth": ["", "static", "void", "add_to_dispatch_window", "(", "rtx_insn", "*", "insn", ")", "{", "int", "byte_len", ";", "dispatch_windows", "*", "window_list", ";", "dispatch_windows", "*", "next_list", ";", "dispatch_windows", "*", "window0_list", ";", "enum", "insn_path", "path", ";", "enum", "dispatch_group", "insn_group", ";", "bool", "insn_fits", ";", "int", "num_insn", ";", "int", "num_uops", ";", "int", "window_num", ";", "int", "insn_num_uops", ";", "int", "sum", ";", "if", "(", "INSN_CODE", "(", "insn", ")", "<", "0", ")", "return", ";", "byte_len", "=", "min_insn_size", "(", "insn", ")", ";", "window_list", "=", "dispatch_window_list", ";", "next_list", "=", "window_list", "->", "next", ";", "path", "=", "get_insn_path", "(", "insn", ")", ";", "insn_group", "=", "get_insn_group", "(", "insn", ")", ";", "if", "(", "next_list", ")", "window_list", "=", "dispatch_window_list", "->", "next", ";", "if", "(", "path", "==", "path_single", ")", "insn_num_uops", "=", "1", ";", "else", "if", "(", "path", "==", "path_double", ")", "insn_num_uops", "=", "2", ";", "else", "insn_num_uops", "=", "(", "int", ")", "path", ";", "num_insn", "=", "window_list", "->", "num_insn", ";", "num_uops", "=", "window_list", "->", "num_uops", ";", "window_num", "=", "window_list", "->", "window_num", ";", "insn_fits", "=", "fits_dispatch_window", "(", "insn", ")", ";", "if", "(", "num_insn", ">=", "MAX_INSN", "||", "num_uops", "+", "insn_num_uops", ">", "MAX_INSN", "||", "!", "(", "insn_fits", ")", ")", "{", "window_num", "=", "~", "window_num", "&", "1", ";", "window_list", "=", "allocate_next_window", "(", "window_num", ")", ";", "}", "if", "(", "window_num", "==", "0", ")", "{", "add_insn_window", "(", "insn", ",", "window_list", ",", "insn_num_uops", ")", ";", "if", "(", "window_list", "->", "num_insn", ">=", "MAX_INSN", "&&", "insn_group", "==", "disp_branch", ")", "{", "process_end_window", "(", ")", ";", "return", ";", "}", "}", "else", "if", "(", "window_num", "==", "1", ")", "{", "window0_list", "=", "window_list", "->", "prev", ";", "sum", "=", "window0_list", "->", "window_size", "+", "window_list", "->", "window_size", ";", "if", "(", "sum", "==", "32", "||", "(", "byte_len", "+", "sum", ")", ">=", "48", ")", "{", "process_end_window", "(", ")", ";", "window_list", "=", "dispatch_window_list", ";", "}", "add_insn_window", "(", "insn", ",", "window_list", ",", "insn_num_uops", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "if", "(", "is_end_basic_block", "(", "insn_group", ")", ")", "{", "process_end_window", "(", ")", ";", "return", ";", "}", "}", ""], "natrual_language": ["Adds", "a", "scheduled", "instruction", ",", "INSN", ",", "to", "the", "current", "dispatch", "window", ".", "If", "the", "total", "bytes", "of", "instructions", "or", "the", "number", "of", "instructions", "in", "the", "window", "exceed", "allowable", ",", "it", "allocates", "a", "new", "window", "."], "TS_V_token": ["i386", "0", "1", "2", "1", "0", "1", "32", "48"], "File": "i3864", "Func": "add_to_dispatch_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38136, "Length": 305}
{"ground_truth": ["", "static", "bool", "alg_usable_p", "(", "enum", "stringop_alg", "alg", ",", "bool", "memset", ")", "{", "if", "(", "alg", "==", "no_stringop", ")", "return", "false", ";", "if", "(", "alg", "==", "vector_loop", ")", "return", "TARGET_SSE", "||", "TARGET_AVX", ";", "if", "(", "alg", "==", "rep_prefix_1_byte", "||", "alg", "==", "rep_prefix_4_byte", "||", "alg", "==", "rep_prefix_8_byte", ")", "return", "!", "(", "fixed_regs", "[", "CX_REG", "]", "||", "fixed_regs", "[", "DI_REG", "]", "||", "(", "memset", "?", "fixed_regs", "[", "AX_REG", "]", ":", "fixed_regs", "[", "SI_REG", "]", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "ALG", "can", "be", "used", "in", "current", "context", ".", "Assume", "we", "expand", "memset", "if", "MEMSET", "is", "true", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "alg_usable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38137, "Length": 78}
{"ground_truth": ["", "static", "dispatch_windows", "*", "allocate_next_window", "(", "int", "window_num", ")", "{", "if", "(", "window_num", "==", "0", ")", "{", "if", "(", "dispatch_window_list", "->", "next", ")", "init_window", "(", "1", ")", ";", "init_window", "(", "0", ")", ";", "return", "dispatch_window_list", ";", "}", "dispatch_window_list", "->", "next", "=", "dispatch_window_list1", ";", "dispatch_window_list1", "->", "prev", "=", "dispatch_window_list", ";", "return", "dispatch_window_list1", ";", "}", ""], "natrual_language": ["Allocates", "a", "new", "dispatch", "window", "and", "adds", "it", "to", "WINDOW_LIST", ".", "WINDOW_NUM", "is", "either", "0", "or", "1", ".", "A", "maximum", "of", "two", "windows", "are", "generated", "for", "48", "bytes", "of", "instructions", ".", "Note", "that", "these", "windows", "are", "not", "dispatch", "windows", "that", "their", "sizes", "are", "DISPATCH_WINDOW_SIZE", "."], "TS_V_token": ["i386", "0", "1", "0"], "File": "i3864", "Func": "allocate_next_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38138, "Length": 52}
{"ground_truth": ["", "static", "dispatch_windows", "*", "allocate_window", "(", "void", ")", "{", "dispatch_windows", "*", "new_list", "=", "XNEW", "(", "struct", "dispatch_windows_s", ")", ";", "new_list", "->", "window", "=", "XNEWVEC", "(", "struct", "sched_insn_info_s", ",", "MAX_INSN", "+", "1", ")", ";", "return", "new_list", ";", "}", ""], "natrual_language": ["This", "function", "allocates", "and", "initializes", "a", "dispatch", "window", "and", "the", "list", "container", "holding", "a", "pointer", "to", "the", "window", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "allocate_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38139, "Length": 36}
{"ground_truth": ["", "static", "int", "attr_strcmp", "(", "const", "void", "*", "v1", ",", "const", "void", "*", "v2", ")", "{", "const", "char", "*", "c1", "=", "*", "(", "char", "*", "const", "*", ")", "v1", ";", "const", "char", "*", "c2", "=", "*", "(", "char", "*", "const", "*", ")", "v2", ";", "return", "strcmp", "(", "c1", ",", "c2", ")", ";", "}", ""], "natrual_language": ["Comparator", "function", "to", "be", "used", "in", "qsort", "routine", "to", "sort", "attribute", "specification", "strings", "to", "``", "target", "''", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "attr_strcmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38140, "Length": 52}
{"ground_truth": ["", "static", "void", "avoid_func_arg_motion", "(", "rtx_insn", "*", "first_arg", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "set", ";", "rtx", "tmp", ";", "if", "(", "INSN_P", "(", "insn", ")", "&&", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "PARALLEL", "&&", "GET_CODE", "(", "XVECEXP", "(", "PATTERN", "(", "insn", ")", ",", "0", ",", "0", ")", ")", "==", "UNSPEC", "&&", "XINT", "(", "XVECEXP", "(", "PATTERN", "(", "insn", ")", ",", "0", ",", "0", ")", ",", "1", ")", "==", "UNSPEC_BNDSTX", ")", "{", "add_dependence", "(", "first_arg", ",", "insn", ",", "REG_DEP_ANTI", ")", ";", "return", ";", "}", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "set", ")", "return", ";", "tmp", "=", "SET_DEST", "(", "set", ")", ";", "if", "(", "REG_P", "(", "tmp", ")", ")", "{", "add_dependence", "(", "first_arg", ",", "insn", ",", "REG_DEP_OUTPUT", ")", ";", "return", ";", "}", "add_dependence", "(", "first_arg", ",", "insn", ",", "REG_DEP_ANTI", ")", ";", "}", ""], "natrual_language": ["Add", "output", "or", "anti", "dependency", "from", "insn", "to", "first_arg", "to", "restrict", "its", "code", "motion", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "1"], "File": "i3864", "Func": "avoid_func_arg_motion", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38141, "Length": 136}
{"ground_truth": ["", "int", "avx_vpermilp_parallel", "(", "rtx", "par", ",", "machine_mode", "mode", ")", "{", "unsigned", "i", ",", "nelt", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "unsigned", "mask", "=", "0", ";", "unsigned", "char", "ipar", "[", "16", "]", "=", "{", "}", ";", "if", "(", "XVECLEN", "(", "par", ",", "0", ")", "!=", "(", "int", ")", "nelt", ")", "return", "0", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "rtx", "er", "=", "XVECEXP", "(", "par", ",", "0", ",", "i", ")", ";", "unsigned", "HOST_WIDE_INT", "ei", ";", "if", "(", "!", "CONST_INT_P", "(", "er", ")", ")", "return", "0", ";", "ei", "=", "INTVAL", "(", "er", ")", ";", "if", "(", "ei", ">=", "nelt", ")", "return", "0", ";", "ipar", "[", "i", "]", "=", "ei", ";", "}", "switch", "(", "mode", ")", "{", "case", "V8DFmode", ":", "for", "(", "i", "=", "4", ";", "i", "<", "6", ";", "++", "i", ")", "{", "if", "(", "ipar", "[", "i", "]", "<", "4", "||", "ipar", "[", "i", "]", ">=", "6", ")", "return", "0", ";", "mask", "|=", "(", "ipar", "[", "i", "]", "-", "4", ")", "<<", "i", ";", "}", "for", "(", "i", "=", "6", ";", "i", "<", "8", ";", "++", "i", ")", "{", "if", "(", "ipar", "[", "i", "]", "<", "6", ")", "return", "0", ";", "mask", "|=", "(", "ipar", "[", "i", "]", "-", "6", ")", "<<", "i", ";", "}", "case", "V4DFmode", ":", "for", "(", "i", "=", "0", ";", "i", "<", "2", ";", "++", "i", ")", "{", "if", "(", "ipar", "[", "i", "]", ">=", "2", ")", "return", "0", ";", "mask", "|=", "ipar", "[", "i", "]", "<<", "i", ";", "}", "for", "(", "i", "=", "2", ";", "i", "<", "4", ";", "++", "i", ")", "{", "if", "(", "ipar", "[", "i", "]", "<", "2", ")", "return", "0", ";", "mask", "|=", "(", "ipar", "[", "i", "]", "-", "2", ")", "<<", "i", ";", "}", "break", ";", "case", "V16SFmode", ":", "for", "(", "i", "=", "0", ";", "i", "<", "8", ";", "++", "i", ")", "if", "(", "ipar", "[", "i", "]", "+", "8", "!=", "ipar", "[", "i", "+", "8", "]", ")", "return", "0", ";", "case", "V8SFmode", ":", "for", "(", "i", "=", "0", ";", "i", "<", "4", ";", "++", "i", ")", "if", "(", "ipar", "[", "i", "]", "+", "4", "!=", "ipar", "[", "i", "+", "4", "]", ")", "return", "0", ";", "nelt", "=", "4", ";", "case", "V2DFmode", ":", "case", "V4SFmode", ":", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "mask", "|=", "ipar", "[", "i", "]", "<<", "(", "i", "*", "(", "nelt", "/", "2", ")", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "mask", "+", "1", ";", "}", ""], "natrual_language": ["Helper", "for", "avx_vpermilps256_operand", "et", "al", ".", "This", "is", "also", "used", "by", "the", "expansion", "functions", "to", "turn", "the", "parallel", "back", "into", "a", "mask", ".", "The", "return", "value", "is", "0", "for", "no", "match", "and", "the", "imm8+1", "for", "a", "match", "."], "TS_V_token": ["i386", "0", "16", "0", "0", "0", "0", "0", "0", "4", "6", "4", "6", "0", "4", "6", "8", "6", "0", "6", "0", "2", "2", "0", "2", "4", "2", "0", "2", "0", "8", "8", "8", "0", "0", "4", "4", "4", "0", "4", "0", "2", "1"], "File": "i3864", "Func": "avx_vpermilp_parallel", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38142, "Length": 418}
{"ground_truth": ["", "static", "rtx", "choose_baseaddr", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "const", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "base_reg", "=", "NULL", ";", "HOST_WIDE_INT", "base_offset", "=", "0", ";", "if", "(", "m", "->", "use_fast_prologue_epilogue", ")", "{", "if", "(", "m", "->", "fs", ".", "fp_valid", ")", "{", "base_reg", "=", "hard_frame_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ";", "}", "else", "if", "(", "m", "->", "fs", ".", "drap_valid", ")", "{", "base_reg", "=", "crtl", "->", "drap_reg", ";", "base_offset", "=", "0", "-", "cfa_offset", ";", "}", "else", "if", "(", "m", "->", "fs", ".", "sp_valid", ")", "{", "base_reg", "=", "stack_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "sp_offset", "-", "cfa_offset", ";", "}", "}", "else", "{", "HOST_WIDE_INT", "toffset", ";", "int", "len", "=", "16", ",", "tlen", ";", "if", "(", "m", "->", "fs", ".", "sp_valid", ")", "{", "base_reg", "=", "stack_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "sp_offset", "-", "cfa_offset", ";", "len", "=", "choose_baseaddr_len", "(", "STACK_POINTER_REGNUM", ",", "base_offset", ")", ";", "}", "if", "(", "m", "->", "fs", ".", "drap_valid", ")", "{", "toffset", "=", "0", "-", "cfa_offset", ";", "tlen", "=", "choose_baseaddr_len", "(", "REGNO", "(", "crtl", "->", "drap_reg", ")", ",", "toffset", ")", ";", "if", "(", "tlen", "<=", "len", ")", "{", "base_reg", "=", "crtl", "->", "drap_reg", ";", "base_offset", "=", "toffset", ";", "len", "=", "tlen", ";", "}", "}", "if", "(", "m", "->", "fs", ".", "fp_valid", ")", "{", "toffset", "=", "m", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ";", "tlen", "=", "choose_baseaddr_len", "(", "HARD_FRAME_POINTER_REGNUM", ",", "toffset", ")", ";", "if", "(", "tlen", "<=", "len", ")", "{", "base_reg", "=", "hard_frame_pointer_rtx", ";", "base_offset", "=", "toffset", ";", "len", "=", "tlen", ";", "}", "}", "}", "gcc_assert", "(", "base_reg", "!=", "NULL", ")", ";", "return", "plus_constant", "(", "Pmode", ",", "base_reg", ",", "base_offset", ")", ";", "}", ""], "natrual_language": ["Return", "an", "RTX", "that", "points", "to", "CFA_OFFSET", "within", "the", "stack", "frame", ".", "The", "valid", "base", "registers", "are", "taken", "from", "CFUN-", ">", "MACHINE-", ">", "FS", "."], "TS_V_token": ["i386", "0", "0", "16", "0"], "File": "i3864", "Func": "choose_baseaddr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38143, "Length": 273}
{"ground_truth": ["", "static", "rtx", "construct_plt_address", "(", "rtx", "symbol", ")", "{", "rtx", "tmp", ",", "unspec", ";", "gcc_assert", "(", "GET_CODE", "(", "symbol", ")", "==", "SYMBOL_REF", ")", ";", "gcc_assert", "(", "ix86_cmodel", "==", "CM_LARGE_PIC", "&&", "!", "TARGET_PECOFF", ")", ";", "gcc_assert", "(", "Pmode", "==", "DImode", ")", ";", "tmp", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "unspec", "=", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "1", ",", "symbol", ")", ",", "UNSPEC_PLTOFF", ")", ";", "emit_move_insn", "(", "tmp", ",", "gen_rtx_CONST", "(", "Pmode", ",", "unspec", ")", ")", ";", "emit_insn", "(", "ix86_gen_add3", "(", "tmp", ",", "tmp", ",", "pic_offset_table_rtx", ")", ")", ";", "return", "tmp", ";", "}", ""], "natrual_language": ["For", "given", "symbol", "(", "function", ")", "construct", "code", "to", "compute", "address", "of", "it", "'s", "PLT", "entry", "in", "large", "x86-64", "PIC", "model", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "construct_plt_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38144, "Length": 91}
{"ground_truth": ["", "static", "void", "core2i7_dfa_post_advance_cycle", "(", "void", ")", "{", "ix86_first_cycle_multipass_data_t", "data", "=", "ix86_first_cycle_multipass_data", ";", "gcc_assert", "(", "data", "->", "ifetch_block_n_insns", "<=", "core2i7_ifetch_block_max_insns", ")", ";", "data", "->", "ifetch_block_len", "=", "0", ";", "data", "->", "ifetch_block_n_insns", "=", "0", ";", "}", ""], "natrual_language": ["Advancing", "the", "cycle", ";", "reset", "ifetch", "block", "counts", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3864", "Func": "core2i7_dfa_post_advance_cycle", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38145, "Length": 34}
{"ground_truth": ["", "static", "void", "core2i7_first_cycle_multipass_backtrack", "(", "const", "void", "*", "_data", ",", "signed", "char", "*", "ready_try", ",", "int", "n_ready", "ATTRIBUTE_UNUSED", ")", "{", "const_ix86_first_cycle_multipass_data_t", "data", "=", "(", "const_ix86_first_cycle_multipass_data_t", ")", "_data", ";", "unsigned", "int", "i", "=", "0", ";", "sbitmap_iterator", "sbi", ";", "gcc_assert", "(", "bitmap_last_set_bit", "(", "data", "->", "ready_try_change", ")", "<", "n_ready", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "data", "->", "ready_try_change", ",", "0", ",", "i", ",", "sbi", ")", "{", "ready_try", "[", "i", "]", "=", "0", ";", "}", "}", ""], "natrual_language": ["Revert", "the", "effect", "on", "ready_try", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3864", "Func": "core2i7_first_cycle_multipass_backtrack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38146, "Length": 70}
{"ground_truth": ["", "static", "void", "core2i7_first_cycle_multipass_begin", "(", "void", "*", "_data", ",", "signed", "char", "*", "ready_try", ",", "int", "n_ready", ",", "bool", "first_cycle_insn_p", ")", "{", "ix86_first_cycle_multipass_data_t", "data", "=", "(", "ix86_first_cycle_multipass_data_t", ")", "_data", ";", "const_ix86_first_cycle_multipass_data_t", "prev_data", "=", "ix86_first_cycle_multipass_data", ";", "data", "->", "ifetch_block_len", "=", "prev_data", "->", "ifetch_block_len", ";", "data", "->", "ifetch_block_n_insns", "=", "prev_data", "->", "ifetch_block_n_insns", ";", "core2i7_first_cycle_multipass_filter_ready_try", "(", "data", ",", "ready_try", ",", "n_ready", ",", "first_cycle_insn_p", ")", ";", "}", ""], "natrual_language": ["Prepare", "for", "a", "new", "round", "of", "multipass", "lookahead", "scheduling", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "core2i7_first_cycle_multipass_begin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38147, "Length": 61}
{"ground_truth": ["", "static", "void", "core2i7_first_cycle_multipass_end", "(", "const", "void", "*", "_data", ")", "{", "const_ix86_first_cycle_multipass_data_t", "data", "=", "(", "const_ix86_first_cycle_multipass_data_t", ")", "_data", ";", "ix86_first_cycle_multipass_data_t", "next_data", "=", "ix86_first_cycle_multipass_data", ";", "if", "(", "data", "!=", "NULL", ")", "{", "next_data", "->", "ifetch_block_len", "=", "data", "->", "ifetch_block_len", ";", "next_data", "->", "ifetch_block_n_insns", "=", "data", "->", "ifetch_block_n_insns", ";", "}", "}", ""], "natrual_language": ["Save", "the", "result", "of", "multipass", "lookahead", "scheduling", "for", "the", "next", "round", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "core2i7_first_cycle_multipass_end", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38148, "Length": 48}
{"ground_truth": ["", "static", "void", "core2i7_first_cycle_multipass_fini", "(", "void", "*", "_data", ")", "{", "ix86_first_cycle_multipass_data_t", "data", "=", "(", "ix86_first_cycle_multipass_data_t", ")", "_data", ";", "if", "(", "data", "->", "ready_try_change", ")", "{", "sbitmap_free", "(", "data", "->", "ready_try_change", ")", ";", "data", "->", "ready_try_change", "=", "NULL", ";", "data", "->", "ready_try_change_size", "=", "0", ";", "}", "}", ""], "natrual_language": ["Deallocate", "target", "data", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "core2i7_first_cycle_multipass_fini", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38149, "Length": 45}
{"ground_truth": ["", "static", "void", "core2i7_first_cycle_multipass_init", "(", "void", "*", "_data", ")", "{", "ix86_first_cycle_multipass_data_t", "data", "=", "(", "ix86_first_cycle_multipass_data_t", ")", "_data", ";", "data", "->", "ifetch_block_len", "=", "0", ";", "data", "->", "ifetch_block_n_insns", "=", "0", ";", "data", "->", "ready_try_change", "=", "NULL", ";", "data", "->", "ready_try_change_size", "=", "0", ";", "}", ""], "natrual_language": ["Initialize", "DATA", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3864", "Func": "core2i7_first_cycle_multipass_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38150, "Length": 42}
{"ground_truth": ["", "static", "void", "core2i7_first_cycle_multipass_issue", "(", "void", "*", "_data", ",", "signed", "char", "*", "ready_try", ",", "int", "n_ready", ",", "rtx_insn", "*", "insn", ",", "const", "void", "*", "_prev_data", ")", "{", "ix86_first_cycle_multipass_data_t", "data", "=", "(", "ix86_first_cycle_multipass_data_t", ")", "_data", ";", "const_ix86_first_cycle_multipass_data_t", "prev_data", "=", "(", "const_ix86_first_cycle_multipass_data_t", ")", "_prev_data", ";", "int", "insn_size", "=", "min_insn_size", "(", "insn", ")", ";", "data", "->", "ifetch_block_len", "=", "prev_data", "->", "ifetch_block_len", "+", "insn_size", ";", "data", "->", "ifetch_block_n_insns", "=", "prev_data", "->", "ifetch_block_n_insns", "+", "1", ";", "gcc_assert", "(", "data", "->", "ifetch_block_len", "<=", "core2i7_ifetch_block_size", "&&", "data", "->", "ifetch_block_n_insns", "<=", "core2i7_ifetch_block_max_insns", ")", ";", "if", "(", "!", "data", "->", "ready_try_change", ")", "{", "data", "->", "ready_try_change", "=", "sbitmap_alloc", "(", "n_ready", ")", ";", "data", "->", "ready_try_change_size", "=", "n_ready", ";", "}", "else", "if", "(", "data", "->", "ready_try_change_size", "<", "n_ready", ")", "{", "data", "->", "ready_try_change", "=", "sbitmap_resize", "(", "data", "->", "ready_try_change", ",", "n_ready", ",", "0", ")", ";", "data", "->", "ready_try_change_size", "=", "n_ready", ";", "}", "bitmap_clear", "(", "data", "->", "ready_try_change", ")", ";", "core2i7_first_cycle_multipass_filter_ready_try", "(", "data", ",", "ready_try", ",", "n_ready", ",", "false", ")", ";", "}", ""], "natrual_language": ["INSN", "is", "being", "issued", "in", "current", "solution", ".", "Account", "for", "its", "impact", "on", "the", "decoder", "model", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3864", "Func": "core2i7_first_cycle_multipass_issue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38151, "Length": 160}
{"ground_truth": ["", "static", "int", "count_num_restricted", "(", "rtx_insn", "*", "insn", ",", "dispatch_windows", "*", "window_list", ")", "{", "enum", "dispatch_group", "group", "=", "get_insn_group", "(", "insn", ")", ";", "int", "imm_size", ";", "int", "num_imm_operand", ";", "int", "num_imm32_operand", ";", "int", "num_imm64_operand", ";", "if", "(", "group", "==", "disp_no_group", ")", "return", "0", ";", "if", "(", "group", "==", "disp_imm", ")", "{", "imm_size", "=", "get_num_immediates", "(", "insn", ",", "&", "num_imm_operand", ",", "&", "num_imm32_operand", ",", "&", "num_imm64_operand", ")", ";", "if", "(", "window_list", "->", "imm_size", "+", "imm_size", ">", "MAX_IMM_SIZE", "||", "num_imm_operand", "+", "window_list", "->", "num_imm", ">", "MAX_IMM", "||", "(", "num_imm32_operand", ">", "0", "&&", "(", "window_list", "->", "num_imm_32", "+", "num_imm32_operand", ">", "MAX_IMM_32", "||", "window_list", "->", "num_imm_64", "*", "2", "+", "num_imm32_operand", ">", "MAX_IMM_32", ")", ")", "||", "(", "num_imm64_operand", ">", "0", "&&", "(", "window_list", "->", "num_imm_64", "+", "num_imm64_operand", ">", "MAX_IMM_64", "||", "window_list", "->", "num_imm_32", "+", "num_imm64_operand", "*", "2", ">", "MAX_IMM_32", ")", ")", "||", "(", "window_list", "->", "imm_size", "+", "imm_size", "==", "MAX_IMM_SIZE", "&&", "num_imm64_operand", ">", "0", "&&", "(", "(", "window_list", "->", "num_imm_64", ">", "0", "&&", "window_list", "->", "num_insn", ">=", "2", ")", "||", "window_list", "->", "num_insn", ">=", "3", ")", ")", ")", "return", "BIG", ";", "return", "1", ";", "}", "if", "(", "(", "group", "==", "disp_load_store", "&&", "(", "window_list", "->", "num_loads", ">=", "MAX_LOAD", "||", "window_list", "->", "num_stores", ">=", "MAX_STORE", ")", ")", "||", "(", "(", "group", "==", "disp_load", "||", "group", "==", "disp_prefetch", ")", "&&", "window_list", "->", "num_loads", ">=", "MAX_LOAD", ")", "||", "(", "group", "==", "disp_store", "&&", "window_list", "->", "num_stores", ">=", "MAX_STORE", ")", ")", "return", "BIG", ";", "return", "1", ";", "}", ""], "natrual_language": ["Count", "number", "of", "GROUP", "restricted", "instructions", "in", "a", "dispatch", "window", "WINDOW_LIST", "."], "TS_V_token": ["i386", "0", "0", "2", "0", "2", "0", "0", "2", "3", "1", "1"], "File": "i3864", "Func": "count_num_restricted", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38152, "Length": 238}
{"ground_truth": ["", "DEBUG_FUNCTION", "void", "debug_dispatch_window", "(", "int", "window_num", ")", "{", "debug_dispatch_window_file", "(", "stdout", ",", "window_num", ")", ";", "}", ""], "natrual_language": ["Print", "to", "stdout", "a", "dispatch", "window", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "debug_dispatch_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38153, "Length": 16}
{"ground_truth": ["", "DEBUG_FUNCTION", "static", "void", "debug_dispatch_window_file", "(", "FILE", "*", "file", ",", "int", "window_num", ")", "{", "dispatch_windows", "*", "list", ";", "int", "i", ";", "if", "(", "window_num", "==", "0", ")", "list", "=", "dispatch_window_list", ";", "else", "list", "=", "dispatch_window_list1", ";", "fprintf", "(", "file", ",", "\"Window #%d:\\n\"", ",", "list", "->", "window_num", ")", ";", "fprintf", "(", "file", ",", "\" num_insn = %d, num_uops = %d, window_size = %d\\n\"", ",", "list", "->", "num_insn", ",", "list", "->", "num_uops", ",", "list", "->", "window_size", ")", ";", "fprintf", "(", "file", ",", "\" num_imm = %d, num_imm_32 = %d, num_imm_64 = %d, imm_size = %d\\n\"", ",", "list", "->", "num_imm", ",", "list", "->", "num_imm_32", ",", "list", "->", "num_imm_64", ",", "list", "->", "imm_size", ")", ";", "fprintf", "(", "file", ",", "\" num_loads = %d, num_stores = %d\\n\"", ",", "list", "->", "num_loads", ",", "list", "->", "num_stores", ")", ";", "fprintf", "(", "file", ",", "\" insn info:\\n\"", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "MAX_INSN", ";", "i", "++", ")", "{", "if", "(", "!", "list", "->", "window", "[", "i", "]", ".", "insn", ")", "break", ";", "fprintf", "(", "file", ",", "\" group[%d] = %s, insn[%d] = %p, path[%d] = %d byte_len[%d] = %d, imm_bytes[%d] = %d\\n\"", ",", "i", ",", "group_name", "[", "list", "->", "window", "[", "i", "]", ".", "group", "]", ",", "i", ",", "(", "void", "*", ")", "list", "->", "window", "[", "i", "]", ".", "insn", ",", "i", ",", "list", "->", "window", "[", "i", "]", ".", "path", ",", "i", ",", "list", "->", "window", "[", "i", "]", ".", "byte_len", ",", "i", ",", "list", "->", "window", "[", "i", "]", ".", "imm_bytes", ")", ";", "}", "}", ""], "natrual_language": ["Print", "the", "dispatch", "window", ",", "WINDOW_NUM", ",", "to", "FILE", "."], "TS_V_token": ["i386", "0", "\"Window #%d:\\n\"", "\" num_insn = %d, num_uops = %d, window_size = %d\\n\"", "\" num_imm = %d, num_imm_32 = %d, num_imm_64 = %d, imm_size = %d\\n\"", "\" num_loads = %d, num_stores = %d\\n\"", "\" insn info:\\n\"", "0", "\" group[%d] = %s, insn[%d] = %p, path[%d] = %d byte_len[%d] = %d, imm_bytes[%d] = %d\\n\""], "File": "i3864", "Func": "debug_dispatch_window_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38154, "Length": 209}
{"ground_truth": ["", "DEBUG_FUNCTION", "static", "void", "debug_insn_dispatch_info_file", "(", "FILE", "*", "file", ",", "rtx_insn", "*", "insn", ")", "{", "int", "byte_len", ";", "enum", "insn_path", "path", ";", "enum", "dispatch_group", "group", ";", "int", "imm_size", ";", "int", "num_imm_operand", ";", "int", "num_imm32_operand", ";", "int", "num_imm64_operand", ";", "if", "(", "INSN_CODE", "(", "insn", ")", "<", "0", ")", "return", ";", "byte_len", "=", "min_insn_size", "(", "insn", ")", ";", "path", "=", "get_insn_path", "(", "insn", ")", ";", "group", "=", "get_insn_group", "(", "insn", ")", ";", "imm_size", "=", "get_num_immediates", "(", "insn", ",", "&", "num_imm_operand", ",", "&", "num_imm32_operand", ",", "&", "num_imm64_operand", ")", ";", "fprintf", "(", "file", ",", "\" insn info:\\n\"", ")", ";", "fprintf", "(", "file", ",", "\" group = %s, path = %d, byte_len = %d\\n\"", ",", "group_name", "[", "group", "]", ",", "path", ",", "byte_len", ")", ";", "fprintf", "(", "file", ",", "\" num_imm = %d, num_imm_32 = %d, num_imm_64 = %d, imm_size = %d\\n\"", ",", "num_imm_operand", ",", "num_imm32_operand", ",", "num_imm64_operand", ",", "imm_size", ")", ";", "}", ""], "natrual_language": ["Print", "INSN", "dispatch", "information", "to", "FILE", "."], "TS_V_token": ["i386", "0", "\" insn info:\\n\"", "\" group = %s, path = %d, byte_len = %d\\n\"", "\" num_imm = %d, num_imm_32 = %d, num_imm_64 = %d, imm_size = %d\\n\""], "File": "i3864", "Func": "debug_insn_dispatch_info_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38155, "Length": 124}
{"ground_truth": ["", "DEBUG_FUNCTION", "void", "debug_ready_dispatch", "(", "void", ")", "{", "int", "i", ";", "int", "no_ready", "=", "number_in_ready", "(", ")", ";", "fprintf", "(", "stdout", ",", "\"Number of ready: %d\\n\"", ",", "no_ready", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "no_ready", ";", "i", "++", ")", "debug_insn_dispatch_info_file", "(", "stdout", ",", "get_ready_element", "(", "i", ")", ")", ";", "}", ""], "natrual_language": ["Print", "to", "STDERR", "the", "status", "of", "the", "ready", "list", "with", "respect", "to", "dispatch", "windows", "."], "TS_V_token": ["i386", "\"Number of ready: %d\\n\"", "0"], "File": "i3864", "Func": "debug_ready_dispatch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38156, "Length": 50}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "NULL_TREE", ";", "if", "(", "!", "(", "mask", "&", "OPTION_MASK_ISA_64BIT", ")", "||", "TARGET_64BIT", ")", "{", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa", "=", "mask", ";", "mask", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "mask", "==", "0", "||", "(", "mask", "&", "ix86_isa_flags", ")", "!=", "0", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", "=", "ix86_get_builtin_func_type", "(", "tcode", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "false", ";", "}", "else", "{", "deferred_isa_values", "|=", "mask", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "tcode", "=", "tcode", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "name", "=", "name", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "leaf_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "nothrow_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "true", ";", "}", "}", "return", "decl", ";", "}", ""], "natrual_language": ["Add", "a", "SPARC", "builtin", "function", "with", "NAME", ",", "ICODE", ",", "CODE", "and", "TYPE", ".", "Return", "the", "function", "decl", "or", "NULL_TREE", "if", "the", "builtin", "was", "not", "added", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3864", "Func": "def_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38157, "Length": 223}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin_const", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "def_builtin", "(", "mask", ",", "name", ",", "tcode", ",", "code", ")", ";", "if", "(", "decl", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "else", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "true", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Likewise", ",", "but", "also", "marks", "the", "function", "as", "``", "const", "''", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "def_builtin_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38158, "Length": 64}
{"ground_truth": ["", "static", "int", "dispatch_function_versions", "(", "tree", "dispatch_decl", ",", "void", "*", "fndecls_p", ",", "basic_block", "*", "empty_bb", ")", "{", "tree", "default_decl", ";", "gimple", "ifunc_cpu_init_stmt", ";", "gimple_seq", "gseq", ";", "int", "ix", ";", "tree", "ele", ";", "vec", "<", "tree", ">", "*", "fndecls", ";", "unsigned", "int", "num_versions", "=", "0", ";", "unsigned", "int", "actual_versions", "=", "0", ";", "unsigned", "int", "i", ";", "struct", "_function_version_info", "{", "tree", "version_decl", ";", "tree", "predicate_chain", ";", "unsigned", "int", "dispatch_priority", ";", "}", "*", "function_version_info", ";", "gcc_assert", "(", "dispatch_decl", "!=", "NULL", "&&", "fndecls_p", "!=", "NULL", "&&", "empty_bb", "!=", "NULL", ")", ";", "fndecls", "=", "static_cast", "<", "vec", "<", "tree", ">", "*", ">", "(", "fndecls_p", ")", ";", "num_versions", "=", "fndecls", "->", "length", "(", ")", ";", "gcc_assert", "(", "num_versions", ">=", "2", ")", ";", "function_version_info", "=", "(", "struct", "_function_version_info", "*", ")", "XNEWVEC", "(", "struct", "_function_version_info", ",", "(", "num_versions", "-", "1", ")", ")", ";", "default_decl", "=", "(", "*", "fndecls", ")", "[", "0", "]", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "dispatch_decl", ")", ")", ";", "gseq", "=", "bb_seq", "(", "*", "empty_bb", ")", ";", "ifunc_cpu_init_stmt", "=", "gimple_build_call_vec", "(", "ix86_builtins", "[", "(", "int", ")", "IX86_BUILTIN_CPU_INIT", "]", ",", "vNULL", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "ifunc_cpu_init_stmt", ")", ";", "gimple_set_bb", "(", "ifunc_cpu_init_stmt", ",", "*", "empty_bb", ")", ";", "set_bb_seq", "(", "*", "empty_bb", ",", "gseq", ")", ";", "pop_cfun", "(", ")", ";", "for", "(", "ix", "=", "1", ";", "fndecls", "->", "iterate", "(", "ix", ",", "&", "ele", ")", ";", "++", "ix", ")", "{", "tree", "version_decl", "=", "ele", ";", "tree", "predicate_chain", "=", "NULL_TREE", ";", "unsigned", "int", "priority", ";", "priority", "=", "get_builtin_code_for_version", "(", "version_decl", ",", "&", "predicate_chain", ")", ";", "if", "(", "predicate_chain", "==", "NULL_TREE", ")", "continue", ";", "function_version_info", "[", "actual_versions", "]", ".", "version_decl", "=", "version_decl", ";", "function_version_info", "[", "actual_versions", "]", ".", "predicate_chain", "=", "predicate_chain", ";", "function_version_info", "[", "actual_versions", "]", ".", "dispatch_priority", "=", "priority", ";", "actual_versions", "++", ";", "}", "qsort", "(", "function_version_info", ",", "actual_versions", ",", "sizeof", "(", "struct", "_function_version_info", ")", ",", "feature_compare", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "actual_versions", ";", "++", "i", ")", "*", "empty_bb", "=", "add_condition_to_bb", "(", "dispatch_decl", ",", "function_version_info", "[", "i", "]", ".", "version_decl", ",", "function_version_info", "[", "i", "]", ".", "predicate_chain", ",", "*", "empty_bb", ")", ";", "*", "empty_bb", "=", "add_condition_to_bb", "(", "dispatch_decl", ",", "default_decl", ",", "NULL", ",", "*", "empty_bb", ")", ";", "free", "(", "function_version_info", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "function", "generates", "the", "dispatch", "function", "for", "multi-versioned", "functions", ".", "DISPATCH_DECL", "is", "the", "function", "which", "will", "contain", "the", "dispatch", "logic", ".", "FNDECLS", "are", "the", "function", "choices", "for", "dispatch", ",", "and", "is", "a", "tree", "chain", ".", "EMPTY_BB", "is", "the", "basic", "block", "pointer", "in", "DISPATCH_DECL", "in", "which", "the", "dispatch", "code", "is", "generated", "."], "TS_V_token": ["i386", "0", "0", "2", "1", "0", "1", "0", "0"], "File": "i3864", "Func": "dispatch_function_versions", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38159, "Length": 363}
{"ground_truth": ["", "static", "bool", "dispatch_violation", "(", "void", ")", "{", "if", "(", "dispatch_window_list", "->", "next", ")", "return", "dispatch_window_list", "->", "next", "->", "violation", ";", "return", "dispatch_window_list", "->", "violation", ";", "}", ""], "natrual_language": ["Return", "true", "if", "a", "dispatch", "violation", "encountered", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "dispatch_violation", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38160, "Length": 26}
{"ground_truth": ["", "static", "void", "do_dispatch", "(", "rtx_insn", "*", "insn", ",", "int", "mode", ")", "{", "if", "(", "mode", "==", "DISPATCH_INIT", ")", "init_dispatch_sched", "(", ")", ";", "else", "if", "(", "mode", "==", "ADD_TO_DISPATCH_WINDOW", ")", "add_to_dispatch_window", "(", "insn", ")", ";", "}", ""], "natrual_language": ["This", "routine", "is", "the", "driver", "of", "the", "dispatch", "scheduler", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "do_dispatch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38161, "Length": 35}
{"ground_truth": ["", "static", "int", "do_reorder_for_imul", "(", "rtx_insn", "*", "*", "ready", ",", "int", "n_ready", ")", "{", "rtx_insn", "*", "insn", ";", "rtx", "set", ",", "insn1", ",", "insn2", ";", "sd_iterator_def", "sd_it", ";", "dep_t", "dep", ";", "int", "index", "=", "-", "1", ";", "int", "i", ";", "if", "(", "!", "TARGET_BONNELL", ")", "return", "index", ";", "insn", "=", "ready", "[", "n_ready", "-", "1", "]", ";", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "set", ")", "return", "index", ";", "if", "(", "!", "(", "GET_CODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "MULT", "&&", "GET_MODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "SImode", ")", ")", "return", "index", ";", "for", "(", "i", "=", "n_ready", "-", "2", ";", "i", ">=", "0", ";", "i", "--", ")", "{", "insn", "=", "ready", "[", "i", "]", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "continue", ";", "insn2", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "insn2", ")", "==", "PARALLEL", ")", "insn2", "=", "XVECEXP", "(", "insn2", ",", "0", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "insn2", ")", "==", "SET", "&&", "GET_CODE", "(", "SET_SRC", "(", "insn2", ")", ")", "==", "MULT", "&&", "GET_MODE", "(", "SET_SRC", "(", "insn2", ")", ")", "==", "SImode", ")", "continue", ";", "FOR_EACH_DEP", "(", "insn", ",", "SD_LIST_FORW", ",", "sd_it", ",", "dep", ")", "{", "rtx", "con", ";", "con", "=", "DEP_CON", "(", "dep", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "con", ")", ")", "continue", ";", "insn1", "=", "PATTERN", "(", "con", ")", ";", "if", "(", "GET_CODE", "(", "insn1", ")", "==", "PARALLEL", ")", "insn1", "=", "XVECEXP", "(", "insn1", ",", "0", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "insn1", ")", "==", "SET", "&&", "GET_CODE", "(", "SET_SRC", "(", "insn1", ")", ")", "==", "MULT", "&&", "GET_MODE", "(", "SET_SRC", "(", "insn1", ")", ")", "==", "SImode", ")", "{", "sd_iterator_def", "sd_it1", ";", "dep_t", "dep1", ";", "index", "=", "i", ";", "FOR_EACH_DEP", "(", "con", ",", "SD_LIST_BACK", ",", "sd_it1", ",", "dep1", ")", "{", "rtx", "pro", ";", "pro", "=", "DEP_PRO", "(", "dep1", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "pro", ")", ")", "continue", ";", "if", "(", "pro", "!=", "insn", ")", "index", "=", "-", "1", ";", "}", "if", "(", "index", ">=", "0", ")", "break", ";", "}", "}", "if", "(", "index", ">=", "0", ")", "break", ";", "}", "return", "index", ";", "}", ""], "natrual_language": ["Try", "to", "reorder", "ready", "list", "to", "take", "advantage", "of", "Atom", "pipelined", "IMUL", "execution", ".", "It", "is", "applied", "if", "(", "1", ")", "IMUL", "instruction", "is", "on", "the", "top", "of", "list", ";", "(", "2", ")", "There", "exists", "the", "only", "producer", "of", "independent", "IMUL", "instruction", "in", "ready", "list", ".", "Return", "index", "of", "IMUL", "producer", "if", "it", "was", "found", "and", "-1", "otherwise", "."], "TS_V_token": ["i386", "1", "1", "2", "0", "0", "0", "0", "0", "1", "0", "0"], "File": "i3864", "Func": "do_reorder_for_imul", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38162, "Length": 354}
{"ground_truth": ["", "static", "rtx", "emit_memmov", "(", "rtx", "destmem", ",", "rtx", "*", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "HOST_WIDE_INT", "size_to_move", ")", "{", "rtx", "dst", "=", "destmem", ",", "src", "=", "*", "srcmem", ",", "adjust", ",", "tempreg", ";", "enum", "insn_code", "code", ";", "machine_mode", "move_mode", ";", "int", "piece_size", ",", "i", ";", "piece_size", "=", "1", "<<", "floor_log2", "(", "size_to_move", ")", ";", "move_mode", "=", "mode_for_size", "(", "piece_size", "*", "BITS_PER_UNIT", ",", "MODE_INT", ",", "0", ")", ";", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ";", "while", "(", "code", "==", "CODE_FOR_nothing", "&&", "piece_size", ">", "1", ")", "{", "piece_size", ">>=", "1", ";", "move_mode", "=", "mode_for_size", "(", "piece_size", "*", "BITS_PER_UNIT", ",", "MODE_INT", ",", "0", ")", ";", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ";", "}", "if", "(", "GET_MODE_SIZE", "(", "move_mode", ")", ">", "GET_MODE_SIZE", "(", "word_mode", ")", ")", "{", "int", "nunits", "=", "GET_MODE_SIZE", "(", "move_mode", ")", "/", "GET_MODE_SIZE", "(", "word_mode", ")", ";", "move_mode", "=", "mode_for_vector", "(", "word_mode", ",", "nunits", ")", ";", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ";", "if", "(", "code", "==", "CODE_FOR_nothing", ")", "{", "move_mode", "=", "word_mode", ";", "piece_size", "=", "GET_MODE_SIZE", "(", "move_mode", ")", ";", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ";", "}", "}", "gcc_assert", "(", "code", "!=", "CODE_FOR_nothing", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "0", ")", ";", "src", "=", "adjust_automodify_address_nv", "(", "src", ",", "move_mode", ",", "srcptr", ",", "0", ")", ";", "gcc_assert", "(", "size_to_move", "%", "piece_size", "==", "0", ")", ";", "adjust", "=", "GEN_INT", "(", "piece_size", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "size_to_move", ";", "i", "+=", "piece_size", ")", "{", "tempreg", "=", "gen_reg_rtx", "(", "move_mode", ")", ";", "emit_insn", "(", "GEN_FCN", "(", "code", ")", "(", "tempreg", ",", "src", ")", ")", ";", "emit_insn", "(", "GEN_FCN", "(", "code", ")", "(", "dst", ",", "tempreg", ")", ")", ";", "emit_move_insn", "(", "destptr", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "copy_rtx", "(", "destptr", ")", ",", "adjust", ")", ")", ";", "emit_move_insn", "(", "srcptr", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "copy_rtx", "(", "srcptr", ")", ",", "adjust", ")", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "piece_size", ")", ";", "src", "=", "adjust_automodify_address_nv", "(", "src", ",", "move_mode", ",", "srcptr", ",", "piece_size", ")", ";", "}", "*", "srcmem", "=", "src", ";", "return", "dst", ";", "}", ""], "natrual_language": ["This", "function", "emits", "moves", "to", "copy", "SIZE_TO_MOVE", "bytes", "from", "SRCMEM", "to", "DESTMEM", ".", "SRC", "is", "passed", "by", "pointer", "to", "be", "updated", "on", "return", ".", "Return", "value", "is", "updated", "DST", "."], "TS_V_token": ["i386", "1", "0", "1", "1", "0", "0", "0", "0", "0"], "File": "i3864", "Func": "emit_memmov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38163, "Length": 356}
{"ground_truth": ["", "static", "rtx", "emit_memset", "(", "rtx", "destmem", ",", "rtx", "destptr", ",", "rtx", "promoted_val", ",", "HOST_WIDE_INT", "size_to_move", ")", "{", "rtx", "dst", "=", "destmem", ",", "adjust", ";", "enum", "insn_code", "code", ";", "machine_mode", "move_mode", ";", "int", "piece_size", ",", "i", ";", "move_mode", "=", "GET_MODE", "(", "promoted_val", ")", ";", "if", "(", "move_mode", "==", "VOIDmode", ")", "move_mode", "=", "QImode", ";", "if", "(", "size_to_move", "<", "GET_MODE_SIZE", "(", "move_mode", ")", ")", "{", "move_mode", "=", "mode_for_size", "(", "size_to_move", "*", "BITS_PER_UNIT", ",", "MODE_INT", ",", "0", ")", ";", "promoted_val", "=", "gen_lowpart", "(", "move_mode", ",", "promoted_val", ")", ";", "}", "piece_size", "=", "GET_MODE_SIZE", "(", "move_mode", ")", ";", "code", "=", "optab_handler", "(", "mov_optab", ",", "move_mode", ")", ";", "gcc_assert", "(", "code", "!=", "CODE_FOR_nothing", "&&", "promoted_val", "!=", "NULL_RTX", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "0", ")", ";", "gcc_assert", "(", "size_to_move", "%", "piece_size", "==", "0", ")", ";", "adjust", "=", "GEN_INT", "(", "piece_size", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "size_to_move", ";", "i", "+=", "piece_size", ")", "{", "if", "(", "piece_size", "<=", "GET_MODE_SIZE", "(", "word_mode", ")", ")", "{", "emit_insn", "(", "gen_strset", "(", "destptr", ",", "dst", ",", "promoted_val", ")", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "piece_size", ")", ";", "continue", ";", "}", "emit_insn", "(", "GEN_FCN", "(", "code", ")", "(", "dst", ",", "promoted_val", ")", ")", ";", "emit_move_insn", "(", "destptr", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "copy_rtx", "(", "destptr", ")", ",", "adjust", ")", ")", ";", "dst", "=", "adjust_automodify_address_nv", "(", "dst", ",", "move_mode", ",", "destptr", ",", "piece_size", ")", ";", "}", "return", "dst", ";", "}", ""], "natrual_language": ["This", "function", "emits", "moves", "to", "fill", "SIZE_TO_MOVE", "bytes", "starting", "from", "DESTMEM", "with", "value", "PROMOTED_VAL", ".", "SRC", "is", "passed", "by", "pointer", "to", "be", "updated", "on", "return", ".", "Return", "value", "is", "updated", "DST", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i3864", "Func": "emit_memset", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38164, "Length": 243}
{"ground_truth": ["", "static", "bool", "exact_dependency_1", "(", "rtx", "addr", ",", "rtx", "insn", ")", "{", "enum", "rtx_code", "code", ";", "const", "char", "*", "format_ptr", ";", "int", "i", ",", "j", ";", "code", "=", "GET_CODE", "(", "insn", ")", ";", "switch", "(", "code", ")", "{", "case", "MEM", ":", "if", "(", "rtx_equal_p", "(", "addr", ",", "insn", ")", ")", "return", "true", ";", "break", ";", "case", "REG", ":", "CASE_CONST_ANY", ":", "case", "SYMBOL_REF", ":", "case", "CODE_LABEL", ":", "case", "PC", ":", "case", "CC0", ":", "case", "EXPR_LIST", ":", "return", "false", ";", "default", ":", "break", ";", "}", "format_ptr", "=", "GET_RTX_FORMAT", "(", "code", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "GET_RTX_LENGTH", "(", "code", ")", ";", "i", "++", ")", "{", "switch", "(", "*", "format_ptr", "++", ")", "{", "case", "'e'", ":", "if", "(", "exact_dependency_1", "(", "addr", ",", "XEXP", "(", "insn", ",", "i", ")", ")", ")", "return", "true", ";", "break", ";", "case", "'E'", ":", "for", "(", "j", "=", "0", ";", "j", "<", "XVECLEN", "(", "insn", ",", "i", ")", ";", "j", "++", ")", "if", "(", "exact_dependency_1", "(", "addr", ",", "XVECEXP", "(", "insn", ",", "i", ",", "j", ")", ")", ")", "return", "true", ";", "break", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Helper", "function", "for", "exact_store_load_dependency", ".", "Return", "true", "if", "addr", "is", "found", "in", "insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3864", "Func": "exact_dependency_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38165, "Length": 183}
{"ground_truth": ["", "static", "bool", "exact_store_load_dependency", "(", "rtx_insn", "*", "store", ",", "rtx_insn", "*", "load", ")", "{", "rtx", "set1", ",", "set2", ";", "set1", "=", "single_set", "(", "store", ")", ";", "if", "(", "!", "set1", ")", "return", "false", ";", "if", "(", "!", "MEM_P", "(", "SET_DEST", "(", "set1", ")", ")", ")", "return", "false", ";", "set2", "=", "single_set", "(", "load", ")", ";", "if", "(", "!", "set2", ")", "return", "false", ";", "if", "(", "exact_dependency_1", "(", "SET_DEST", "(", "set1", ")", ",", "SET_SRC", "(", "set2", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "there", "exists", "exact", "dependency", "for", "store", "&", "load", ",", "i.e", ".", "the", "same", "memory", "address", "is", "used", "in", "them", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "exact_store_load_dependency", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38166, "Length": 84}
{"ground_truth": ["", "static", "void", "expand_setmem_epilogue_via_loop", "(", "rtx", "destmem", ",", "rtx", "destptr", ",", "rtx", "value", ",", "rtx", "count", ",", "int", "max_size", ")", "{", "count", "=", "expand_simple_binop", "(", "counter_mode", "(", "count", ")", ",", "AND", ",", "count", ",", "GEN_INT", "(", "max_size", "-", "1", ")", ",", "count", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "expand_set_or_movmem_via_loop", "(", "destmem", ",", "NULL", ",", "destptr", ",", "NULL", ",", "gen_lowpart", "(", "QImode", ",", "value", ")", ",", "count", ",", "QImode", ",", "1", ",", "max_size", "/", "2", ",", "true", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "set", "at", "most", "count", "&", "(", "max_size", "-", "1", ")", "bytes", "starting", "by", "DEST", "."], "TS_V_token": ["i386", "1", "1", "1", "2"], "File": "i3864", "Func": "expand_setmem_epilogue_via_loop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38167, "Length": 78}
{"ground_truth": ["", "static", "rtx", "expand_set_or_movmem_constant_prologue", "(", "rtx", "dst", ",", "rtx", "*", "srcp", ",", "rtx", "destreg", ",", "rtx", "srcreg", ",", "rtx", "value", ",", "rtx", "vec_value", ",", "int", "desired_align", ",", "int", "align_bytes", ",", "bool", "issetmem", ")", "{", "rtx", "src", "=", "NULL", ";", "rtx", "orig_dst", "=", "dst", ";", "rtx", "orig_src", "=", "NULL", ";", "int", "piece_size", "=", "1", ";", "int", "copied_bytes", "=", "0", ";", "if", "(", "!", "issetmem", ")", "{", "gcc_assert", "(", "srcp", "!=", "NULL", ")", ";", "src", "=", "*", "srcp", ";", "orig_src", "=", "src", ";", "}", "for", "(", "piece_size", "=", "1", ";", "piece_size", "<=", "desired_align", "&&", "copied_bytes", "<", "align_bytes", ";", "piece_size", "<<=", "1", ")", "{", "if", "(", "align_bytes", "&", "piece_size", ")", "{", "if", "(", "issetmem", ")", "{", "if", "(", "vec_value", "&&", "piece_size", ">", "GET_MODE_SIZE", "(", "GET_MODE", "(", "value", ")", ")", ")", "dst", "=", "emit_memset", "(", "dst", ",", "destreg", ",", "vec_value", ",", "piece_size", ")", ";", "else", "dst", "=", "emit_memset", "(", "dst", ",", "destreg", ",", "value", ",", "piece_size", ")", ";", "}", "else", "dst", "=", "emit_memmov", "(", "dst", ",", "&", "src", ",", "destreg", ",", "srcreg", ",", "piece_size", ")", ";", "copied_bytes", "+=", "piece_size", ";", "}", "}", "if", "(", "MEM_ALIGN", "(", "dst", ")", "<", "(", "unsigned", "int", ")", "desired_align", "*", "BITS_PER_UNIT", ")", "set_mem_align", "(", "dst", ",", "desired_align", "*", "BITS_PER_UNIT", ")", ";", "if", "(", "MEM_SIZE_KNOWN_P", "(", "orig_dst", ")", ")", "set_mem_size", "(", "dst", ",", "MEM_SIZE", "(", "orig_dst", ")", "-", "align_bytes", ")", ";", "if", "(", "!", "issetmem", ")", "{", "int", "src_align_bytes", "=", "get_mem_align_offset", "(", "src", ",", "desired_align", "*", "BITS_PER_UNIT", ")", ";", "if", "(", "src_align_bytes", ">=", "0", ")", "src_align_bytes", "=", "desired_align", "-", "src_align_bytes", ";", "if", "(", "src_align_bytes", ">=", "0", ")", "{", "unsigned", "int", "src_align", ";", "for", "(", "src_align", "=", "desired_align", ";", "src_align", ">=", "2", ";", "src_align", ">>=", "1", ")", "{", "if", "(", "(", "src_align_bytes", "&", "(", "src_align", "-", "1", ")", ")", "==", "(", "align_bytes", "&", "(", "src_align", "-", "1", ")", ")", ")", "break", ";", "}", "if", "(", "src_align", ">", "(", "unsigned", "int", ")", "desired_align", ")", "src_align", "=", "desired_align", ";", "if", "(", "MEM_ALIGN", "(", "src", ")", "<", "src_align", "*", "BITS_PER_UNIT", ")", "set_mem_align", "(", "src", ",", "src_align", "*", "BITS_PER_UNIT", ")", ";", "}", "if", "(", "MEM_SIZE_KNOWN_P", "(", "orig_src", ")", ")", "set_mem_size", "(", "src", ",", "MEM_SIZE", "(", "orig_src", ")", "-", "align_bytes", ")", ";", "*", "srcp", "=", "src", ";", "}", "return", "dst", ";", "}", ""], "natrual_language": ["This", "function", "is", "like", "the", "previous", "one", ",", "except", "here", "we", "know", "how", "many", "bytes", "need", "to", "be", "copied", ".", "That", "allows", "us", "to", "update", "alignment", "not", "only", "of", "DST", ",", "which", "is", "returned", ",", "but", "also", "of", "SRC", ",", "which", "is", "passed", "as", "a", "pointer", "for", "that", "reason", "."], "TS_V_token": ["i386", "1", "0", "1", "1", "0", "0", "2", "1", "1", "1"], "File": "i3864", "Func": "expand_set_or_movmem_constant_prologue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38168, "Length": 365}
{"ground_truth": ["", "static", "rtx", "expand_set_or_movmem_prologue", "(", "rtx", "destmem", ",", "rtx", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "rtx", "value", ",", "rtx", "vec_value", ",", "rtx", "count", ",", "int", "align", ",", "int", "desired_alignment", ",", "bool", "issetmem", ")", "{", "int", "i", ";", "for", "(", "i", "=", "1", ";", "i", "<", "desired_alignment", ";", "i", "<<=", "1", ")", "{", "if", "(", "align", "<=", "i", ")", "{", "rtx_code_label", "*", "label", "=", "ix86_expand_aligntest", "(", "destptr", ",", "i", ",", "false", ")", ";", "if", "(", "issetmem", ")", "{", "if", "(", "vec_value", "&&", "i", ">", "GET_MODE_SIZE", "(", "GET_MODE", "(", "value", ")", ")", ")", "destmem", "=", "emit_memset", "(", "destmem", ",", "destptr", ",", "vec_value", ",", "i", ")", ";", "else", "destmem", "=", "emit_memset", "(", "destmem", ",", "destptr", ",", "value", ",", "i", ")", ";", "}", "else", "destmem", "=", "emit_memmov", "(", "destmem", ",", "&", "srcmem", ",", "destptr", ",", "srcptr", ",", "i", ")", ";", "ix86_adjust_counter", "(", "count", ",", "i", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "set_mem_align", "(", "destmem", ",", "i", "*", "2", "*", "BITS_PER_UNIT", ")", ";", "}", "}", "return", "destmem", ";", "}", ""], "natrual_language": ["Depending", "on", "ISSETMEM", ",", "copy", "enough", "from", "SRCMEM", "to", "DESTMEM", "or", "set", "enough", "to", "DESTMEM", "to", "align", "it", "to", "DESIRED_ALIGNMENT", ".", "Original", "alignment", "is", "ALIGN", ".", "Depending", "on", "ISSETMEM", ",", "either", "arguments", "SRCMEM/SRCPTR", "or", "VALUE/VEC_VALUE", "are", "ignored", ".", "Return", "value", "is", "updated", "DESTMEM", "."], "TS_V_token": ["i386", "1", "1", "1", "2"], "File": "i3864", "Func": "expand_set_or_movmem_prologue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38169, "Length": 173}
{"ground_truth": ["", "static", "void", "expand_set_or_movmem_via_rep", "(", "rtx", "destmem", ",", "rtx", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "rtx", "value", ",", "rtx", "orig_value", ",", "rtx", "count", ",", "machine_mode", "mode", ",", "bool", "issetmem", ")", "{", "rtx", "destexp", ";", "rtx", "srcexp", ";", "rtx", "countreg", ";", "HOST_WIDE_INT", "rounded_count", ";", "if", "(", "mode", "==", "QImode", "&&", "CONST_INT_P", "(", "count", ")", "&&", "!", "(", "INTVAL", "(", "count", ")", "&", "3", ")", "&&", "(", "!", "issetmem", "||", "orig_value", "==", "const0_rtx", ")", ")", "mode", "=", "SImode", ";", "if", "(", "destptr", "!=", "XEXP", "(", "destmem", ",", "0", ")", "||", "GET_MODE", "(", "destmem", ")", "!=", "BLKmode", ")", "destmem", "=", "adjust_automodify_address_nv", "(", "destmem", ",", "BLKmode", ",", "destptr", ",", "0", ")", ";", "countreg", "=", "ix86_zero_extend_to_Pmode", "(", "scale_counter", "(", "count", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ";", "if", "(", "mode", "!=", "QImode", ")", "{", "destexp", "=", "gen_rtx_ASHIFT", "(", "Pmode", ",", "countreg", ",", "GEN_INT", "(", "exact_log2", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ")", ";", "destexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "destexp", ",", "destptr", ")", ";", "}", "else", "destexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "destptr", ",", "countreg", ")", ";", "if", "(", "(", "!", "issetmem", "||", "orig_value", "==", "const0_rtx", ")", "&&", "CONST_INT_P", "(", "count", ")", ")", "{", "rounded_count", "=", "(", "INTVAL", "(", "count", ")", "&", "~", "(", "(", "HOST_WIDE_INT", ")", "GET_MODE_SIZE", "(", "mode", ")", "-", "1", ")", ")", ";", "destmem", "=", "shallow_copy_rtx", "(", "destmem", ")", ";", "set_mem_size", "(", "destmem", ",", "rounded_count", ")", ";", "}", "else", "if", "(", "MEM_SIZE_KNOWN_P", "(", "destmem", ")", ")", "clear_mem_size", "(", "destmem", ")", ";", "if", "(", "issetmem", ")", "{", "value", "=", "force_reg", "(", "mode", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "emit_insn", "(", "gen_rep_stos", "(", "destptr", ",", "countreg", ",", "destmem", ",", "value", ",", "destexp", ")", ")", ";", "}", "else", "{", "if", "(", "srcptr", "!=", "XEXP", "(", "srcmem", ",", "0", ")", "||", "GET_MODE", "(", "srcmem", ")", "!=", "BLKmode", ")", "srcmem", "=", "adjust_automodify_address_nv", "(", "srcmem", ",", "BLKmode", ",", "srcptr", ",", "0", ")", ";", "if", "(", "mode", "!=", "QImode", ")", "{", "srcexp", "=", "gen_rtx_ASHIFT", "(", "Pmode", ",", "countreg", ",", "GEN_INT", "(", "exact_log2", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ")", ";", "srcexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "srcexp", ",", "srcptr", ")", ";", "}", "else", "srcexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "srcptr", ",", "countreg", ")", ";", "if", "(", "CONST_INT_P", "(", "count", ")", ")", "{", "rounded_count", "=", "(", "INTVAL", "(", "count", ")", "&", "~", "(", "(", "HOST_WIDE_INT", ")", "GET_MODE_SIZE", "(", "mode", ")", "-", "1", ")", ")", ";", "srcmem", "=", "shallow_copy_rtx", "(", "srcmem", ")", ";", "set_mem_size", "(", "srcmem", ",", "rounded_count", ")", ";", "}", "else", "{", "if", "(", "MEM_SIZE_KNOWN_P", "(", "srcmem", ")", ")", "clear_mem_size", "(", "srcmem", ")", ";", "}", "emit_insn", "(", "gen_rep_mov", "(", "destptr", ",", "destmem", ",", "srcptr", ",", "srcmem", ",", "countreg", ",", "destexp", ",", "srcexp", ")", ")", ";", "}", "}", ""], "natrual_language": ["Output", "``", "rep", ";", "mov", "''", "or", "``", "rep", ";", "stos", "''", "instruction", "depending", "on", "ISSETMEM", "argument", ".", "When", "ISSETMEM", "is", "true", ",", "arguments", "SRCMEM", "and", "SRCPTR", "are", "ignored", ".", "When", "ISSETMEM", "is", "false", ",", "arguments", "VALUE", "and", "ORIG_VALUE", "are", "ignored", ".", "For", "setmem", "case", ",", "VALUE", "is", "a", "promoted", "to", "a", "wider", "size", "ORIG_VALUE", ".", "ORIG_VALUE", "is", "the", "original", "value", "passed", "to", "memset", "to", "fill", "the", "memory", "with", ".", "Other", "arguments", "have", "same", "meaning", "as", "for", "previous", "function", "."], "TS_V_token": ["i386", "3", "0", "0", "1", "0", "0", "1"], "File": "i3864", "Func": "expand_set_or_movmem_via_rep", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38170, "Length": 444}
{"ground_truth": ["", "static", "void", "expand_small_movmem_or_setmem", "(", "rtx", "destmem", ",", "rtx", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "rtx", "value", ",", "rtx", "vec_value", ",", "rtx", "count", ",", "int", "size", ",", "rtx", "done_label", ",", "bool", "issetmem", ")", "{", "rtx_code_label", "*", "label", "=", "ix86_expand_aligntest", "(", "count", ",", "size", ",", "false", ")", ";", "machine_mode", "mode", "=", "mode_for_size", "(", "size", "*", "BITS_PER_UNIT", ",", "MODE_INT", ",", "1", ")", ";", "rtx", "modesize", ";", "int", "n", ";", "if", "(", "issetmem", ")", "{", "if", "(", "!", "vec_value", ")", "{", "if", "(", "GET_MODE", "(", "value", ")", "==", "VOIDmode", "&&", "size", ">", "8", ")", "mode", "=", "Pmode", ";", "else", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "GET_MODE_SIZE", "(", "GET_MODE", "(", "value", ")", ")", ")", "mode", "=", "GET_MODE", "(", "value", ")", ";", "}", "else", "mode", "=", "GET_MODE", "(", "vec_value", ")", ",", "value", "=", "vec_value", ";", "}", "else", "{", "if", "(", "size", ">=", "32", ")", "mode", "=", "TARGET_AVX", "?", "V32QImode", ":", "TARGET_SSE", "?", "V16QImode", ":", "DImode", ";", "else", "if", "(", "size", ">=", "16", ")", "mode", "=", "TARGET_SSE", "?", "V16QImode", ":", "DImode", ";", "srcmem", "=", "change_address", "(", "srcmem", ",", "mode", ",", "srcptr", ")", ";", "}", "destmem", "=", "change_address", "(", "destmem", ",", "mode", ",", "destptr", ")", ";", "modesize", "=", "GEN_INT", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "gcc_assert", "(", "GET_MODE_SIZE", "(", "mode", ")", "<=", "size", ")", ";", "for", "(", "n", "=", "0", ";", "n", "*", "GET_MODE_SIZE", "(", "mode", ")", "<", "size", ";", "n", "++", ")", "{", "if", "(", "issetmem", ")", "emit_move_insn", "(", "destmem", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "else", "{", "emit_move_insn", "(", "destmem", ",", "srcmem", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "count", ",", "1", ")", ";", "destmem", "=", "offset_address", "(", "destmem", ",", "GEN_INT", "(", "-", "2", "*", "size", ")", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "if", "(", "!", "issetmem", ")", "{", "srcmem", "=", "offset_address", "(", "srcmem", ",", "count", ",", "1", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "GEN_INT", "(", "-", "2", "*", "size", ")", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "for", "(", "n", "=", "0", ";", "n", "*", "GET_MODE_SIZE", "(", "mode", ")", "<", "size", ";", "n", "++", ")", "{", "if", "(", "issetmem", ")", "emit_move_insn", "(", "destmem", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "else", "{", "emit_move_insn", "(", "destmem", ",", "srcmem", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "emit_jump_insn", "(", "gen_jump", "(", "done_label", ")", ")", ";", "emit_barrier", "(", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "}", ""], "natrual_language": ["Test", "if", "COUNT", "&", "SIZE", "is", "nonzero", "and", "if", "so", ",", "expand", "movme", "or", "setmem", "sequence", "that", "is", "valid", "for", "SIZE", "..", "2", "*", "SIZE-1", "bytes", "and", "jump", "to", "DONE_LABEL", "."], "TS_V_token": ["i386", "1", "8", "32", "16", "0", "1", "2", "1", "2", "0", "1"], "File": "i3864", "Func": "expand_small_movmem_or_setmem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38171, "Length": 453}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_broadcast_1", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "elt", "=", "d", "->", "perm", "[", "0", "]", ",", "nelt2", "=", "d", "->", "nelt", "/", "2", ";", "machine_mode", "vmode", "=", "d", "->", "vmode", ";", "unsigned", "char", "perm2", "[", "4", "]", ";", "rtx", "op0", "=", "d", "->", "op0", ",", "dest", ";", "bool", "ok", ";", "switch", "(", "vmode", ")", "{", "case", "V4DFmode", ":", "case", "V8SFmode", ":", "gcc_unreachable", "(", ")", ";", "case", "V2DFmode", ":", "case", "V2DImode", ":", "case", "V4SFmode", ":", "case", "V4SImode", ":", "gcc_unreachable", "(", ")", ";", "case", "V8HImode", ":", "case", "V16QImode", ":", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "do", "{", "rtx", "dest", ";", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", "=", "vmode", "==", "V16QImode", "?", "gen_vec_interleave_lowv16qi", ":", "gen_vec_interleave_lowv8hi", ";", "if", "(", "elt", ">=", "nelt2", ")", "{", "gen", "=", "vmode", "==", "V16QImode", "?", "gen_vec_interleave_highv16qi", ":", "gen_vec_interleave_highv8hi", ";", "elt", "-=", "nelt2", ";", "}", "nelt2", "/=", "2", ";", "dest", "=", "gen_reg_rtx", "(", "vmode", ")", ";", "emit_insn", "(", "gen", "(", "dest", ",", "op0", ",", "op0", ")", ")", ";", "vmode", "=", "get_mode_wider_vector", "(", "vmode", ")", ";", "op0", "=", "gen_lowpart", "(", "vmode", ",", "dest", ")", ";", "}", "while", "(", "vmode", "!=", "V4SImode", ")", ";", "memset", "(", "perm2", ",", "elt", ",", "4", ")", ";", "dest", "=", "gen_reg_rtx", "(", "V4SImode", ")", ";", "ok", "=", "expand_vselect", "(", "dest", ",", "op0", ",", "perm2", ",", "4", ",", "d", "->", "testing_p", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "!", "d", "->", "testing_p", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "dest", ")", ")", ";", "return", "true", ";", "case", "V64QImode", ":", "case", "V32QImode", ":", "case", "V16HImode", ":", "case", "V8SImode", ":", "case", "V4DImode", ":", "gcc_assert", "(", "!", "TARGET_AVX2", "||", "d", "->", "perm", "[", "0", "]", ")", ";", "return", "false", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Implement", "broadcast", "permutations", ".", "We", "assume", "that", "expand_vec_perm_1", "has", "already", "failed", "."], "TS_V_token": ["i386", "0", "2", "4", "2", "4", "4", "0"], "File": "i3864", "Func": "expand_vec_perm_broadcast_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38172, "Length": 298}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_interleave3", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "unsigned", "i", ",", "nelt", ";", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "if", "(", "d", "->", "one_operand_p", ")", "return", "false", ";", "if", "(", "TARGET_AVX2", "&&", "GET_MODE_SIZE", "(", "d", "->", "vmode", ")", "==", "32", ")", ";", "else", "if", "(", "TARGET_AVX", "&&", "(", "d", "->", "vmode", "==", "V8SFmode", "||", "d", "->", "vmode", "==", "V4DFmode", ")", ")", ";", "else", "return", "false", ";", "nelt", "=", "d", "->", "nelt", ";", "if", "(", "d", "->", "perm", "[", "0", "]", "!=", "0", "&&", "d", "->", "perm", "[", "0", "]", "!=", "nelt", "/", "2", ")", "return", "false", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "i", "+=", "2", ")", "if", "(", "d", "->", "perm", "[", "i", "]", "!=", "d", "->", "perm", "[", "0", "]", "+", "i", "/", "2", "||", "d", "->", "perm", "[", "i", "+", "1", "]", "!=", "d", "->", "perm", "[", "0", "]", "+", "i", "/", "2", "+", "nelt", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "switch", "(", "d", "->", "vmode", ")", "{", "case", "V32QImode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv32qi", ";", "else", "gen", "=", "gen_vec_interleave_lowv32qi", ";", "break", ";", "case", "V16HImode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv16hi", ";", "else", "gen", "=", "gen_vec_interleave_lowv16hi", ";", "break", ";", "case", "V8SImode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv8si", ";", "else", "gen", "=", "gen_vec_interleave_lowv8si", ";", "break", ";", "case", "V4DImode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv4di", ";", "else", "gen", "=", "gen_vec_interleave_lowv4di", ";", "break", ";", "case", "V8SFmode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv8sf", ";", "else", "gen", "=", "gen_vec_interleave_lowv8sf", ";", "break", ";", "case", "V4DFmode", ":", "if", "(", "d", "->", "perm", "[", "0", "]", ")", "gen", "=", "gen_vec_interleave_highv4df", ";", "else", "gen", "=", "gen_vec_interleave_lowv4df", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "emit_insn", "(", "gen", "(", "d", "->", "target", ",", "d", "->", "op0", ",", "d", "->", "op1", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vec_perm_builtin_1", ".", "Try", "to", "simplify", "a", "two", "vector", "permutation", "using", "2", "intra-lane", "interleave", "insns", "and", "cross-lane", "shuffle", "for", "32-byte", "vectors", "."], "TS_V_token": ["i386", "32", "0", "0", "0", "2", "0", "2", "0", "2", "1", "0", "2", "0", "0", "0", "0", "0", "0"], "File": "i3864", "Func": "expand_vec_perm_interleave3", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38173, "Length": 348}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_pshufb2", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "rtx", "rperm", "[", "2", "]", "[", "16", "]", ",", "vperm", ",", "l", ",", "h", ",", "op", ",", "m128", ";", "unsigned", "int", "i", ",", "nelt", ",", "eltsz", ";", "if", "(", "!", "TARGET_SSSE3", "||", "GET_MODE_SIZE", "(", "d", "->", "vmode", ")", "!=", "16", ")", "return", "false", ";", "gcc_assert", "(", "!", "d", "->", "one_operand_p", ")", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "nelt", "=", "d", "->", "nelt", ";", "eltsz", "=", "GET_MODE_SIZE", "(", "GET_MODE_INNER", "(", "d", "->", "vmode", ")", ")", ";", "m128", "=", "GEN_INT", "(", "-", "128", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "j", ",", "e", "=", "d", "->", "perm", "[", "i", "]", ";", "unsigned", "which", "=", "(", "e", ">=", "nelt", ")", ";", "if", "(", "e", ">=", "nelt", ")", "e", "-=", "nelt", ";", "for", "(", "j", "=", "0", ";", "j", "<", "eltsz", ";", "++", "j", ")", "{", "rperm", "[", "which", "]", "[", "i", "*", "eltsz", "+", "j", "]", "=", "GEN_INT", "(", "e", "*", "eltsz", "+", "j", ")", ";", "rperm", "[", "1", "-", "which", "]", "[", "i", "*", "eltsz", "+", "j", "]", "=", "m128", ";", "}", "}", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V16QImode", ",", "gen_rtvec_v", "(", "16", ",", "rperm", "[", "0", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V16QImode", ",", "vperm", ")", ";", "l", "=", "gen_reg_rtx", "(", "V16QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V16QImode", ",", "d", "->", "op0", ")", ";", "emit_insn", "(", "gen_ssse3_pshufbv16qi3", "(", "l", ",", "op", ",", "vperm", ")", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V16QImode", ",", "gen_rtvec_v", "(", "16", ",", "rperm", "[", "1", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V16QImode", ",", "vperm", ")", ";", "h", "=", "gen_reg_rtx", "(", "V16QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V16QImode", ",", "d", "->", "op1", ")", ";", "emit_insn", "(", "gen_ssse3_pshufbv16qi3", "(", "h", ",", "op", ",", "vperm", ")", ")", ";", "op", "=", "d", "->", "target", ";", "if", "(", "d", "->", "vmode", "!=", "V16QImode", ")", "op", "=", "gen_reg_rtx", "(", "V16QImode", ")", ";", "emit_insn", "(", "gen_iorv16qi3", "(", "op", ",", "l", ",", "h", ")", ")", ";", "if", "(", "op", "!=", "d", "->", "target", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "expand_vec_perm_even_odd_1", ".", "Implement", "the", "double-word", "permutation", "with", "two", "pshufb", "insns", "and", "an", "ior", ".", "We", "should", "have", "already", "failed", "all", "two", "instruction", "sequences", "."], "TS_V_token": ["i386", "2", "16", "16", "128", "0", "0", "1", "16", "0", "16", "1"], "File": "i3864", "Func": "expand_vec_perm_pshufb2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38174, "Length": 368}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_vpermi2_vpshub2", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "if", "(", "!", "TARGET_AVX512BW", "||", "!", "(", "d", "->", "vmode", "==", "V64QImode", ")", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "struct", "expand_vec_perm_d", "ds", "[", "2", "]", ";", "rtx", "rperm", "[", "128", "]", ",", "vperm", ",", "target0", ",", "target1", ";", "unsigned", "int", "i", ",", "nelt", ";", "machine_mode", "vmode", ";", "nelt", "=", "d", "->", "nelt", ";", "vmode", "=", "V64QImode", ";", "for", "(", "i", "=", "0", ";", "i", "<", "2", ";", "i", "++", ")", "{", "ds", "[", "i", "]", "=", "*", "d", ";", "ds", "[", "i", "]", ".", "vmode", "=", "V32HImode", ";", "ds", "[", "i", "]", ".", "nelt", "=", "32", ";", "ds", "[", "i", "]", ".", "target", "=", "gen_reg_rtx", "(", "V32HImode", ")", ";", "ds", "[", "i", "]", ".", "op0", "=", "gen_lowpart", "(", "V32HImode", ",", "d", "->", "op0", ")", ";", "ds", "[", "i", "]", ".", "op1", "=", "gen_lowpart", "(", "V32HImode", ",", "d", "->", "op1", ")", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "i", "++", ")", "{", "ds", "[", "i", "&", "1", "]", ".", "perm", "[", "i", "/", "2", "]", "=", "d", "->", "perm", "[", "i", "]", "/", "2", ";", "if", "(", "i", "&", "1", ")", "{", "rperm", "[", "i", "]", "=", "constm1_rtx", ";", "rperm", "[", "i", "+", "64", "]", "=", "GEN_INT", "(", "(", "i", "&", "14", ")", "+", "(", "d", "->", "perm", "[", "i", "]", "&", "1", ")", ")", ";", "}", "else", "{", "rperm", "[", "i", "]", "=", "GEN_INT", "(", "(", "i", "&", "14", ")", "+", "(", "d", "->", "perm", "[", "i", "]", "&", "1", ")", ")", ";", "rperm", "[", "i", "+", "64", "]", "=", "constm1_rtx", ";", "}", "}", "bool", "ok", "=", "expand_vec_perm_1", "(", "&", "ds", "[", "0", "]", ")", ";", "gcc_assert", "(", "ok", ")", ";", "ds", "[", "0", "]", ".", "target", "=", "gen_lowpart", "(", "V64QImode", ",", "ds", "[", "0", "]", ".", "target", ")", ";", "ok", "=", "expand_vec_perm_1", "(", "&", "ds", "[", "1", "]", ")", ";", "gcc_assert", "(", "ok", ")", ";", "ds", "[", "1", "]", ".", "target", "=", "gen_lowpart", "(", "V64QImode", ",", "ds", "[", "1", "]", ".", "target", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V64QImode", ",", "gen_rtvec_v", "(", "64", ",", "rperm", ")", ")", ";", "vperm", "=", "force_reg", "(", "vmode", ",", "vperm", ")", ";", "target0", "=", "gen_reg_rtx", "(", "V64QImode", ")", ";", "emit_insn", "(", "gen_avx512bw_pshufbv64qi3", "(", "target0", ",", "ds", "[", "0", "]", ".", "target", ",", "vperm", ")", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V64QImode", ",", "gen_rtvec_v", "(", "64", ",", "rperm", "+", "64", ")", ")", ";", "vperm", "=", "force_reg", "(", "vmode", ",", "vperm", ")", ";", "target1", "=", "gen_reg_rtx", "(", "V64QImode", ")", ";", "emit_insn", "(", "gen_avx512bw_pshufbv64qi3", "(", "target1", ",", "ds", "[", "1", "]", ".", "target", ",", "vperm", ")", ")", ";", "emit_insn", "(", "gen_iorv64qi3", "(", "d", "->", "target", ",", "target0", ",", "target1", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "arbitrary", "permutations", "of", "two", "V64QImode", "operands", "will", "2", "vpermi2w", ",", "2", "vpshufb", "and", "one", "vpor", "instruction", "."], "TS_V_token": ["i386", "2", "128", "0", "2", "32", "0", "1", "2", "2", "1", "64", "14", "1", "14", "1", "64", "0", "0", "0", "1", "1", "1", "64", "0", "64", "64", "1"], "File": "i3864", "Func": "expand_vec_perm_vpermi2_vpshub2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38175, "Length": 461}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_vpshufb2_vpermq", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "rtx", "rperm", "[", "2", "]", "[", "32", "]", ",", "vperm", ",", "l", ",", "h", ",", "hp", ",", "op", ",", "m128", ";", "unsigned", "int", "i", ",", "nelt", ",", "eltsz", ";", "if", "(", "!", "TARGET_AVX2", "||", "!", "d", "->", "one_operand_p", "||", "(", "d", "->", "vmode", "!=", "V32QImode", "&&", "d", "->", "vmode", "!=", "V16HImode", ")", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "nelt", "=", "d", "->", "nelt", ";", "eltsz", "=", "GET_MODE_SIZE", "(", "GET_MODE_INNER", "(", "d", "->", "vmode", ")", ")", ";", "m128", "=", "GEN_INT", "(", "-", "128", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "j", ",", "e", "=", "d", "->", "perm", "[", "i", "]", "&", "(", "nelt", "/", "2", "-", "1", ")", ";", "unsigned", "which", "=", "(", "(", "d", "->", "perm", "[", "i", "]", "^", "i", ")", "&", "(", "nelt", "/", "2", ")", ")", "*", "eltsz", ";", "for", "(", "j", "=", "0", ";", "j", "<", "eltsz", ";", "++", "j", ")", "{", "rperm", "[", "!", "!", "which", "]", "[", "(", "i", "*", "eltsz", "+", "j", ")", "^", "which", "]", "=", "GEN_INT", "(", "e", "*", "eltsz", "+", "j", ")", ";", "rperm", "[", "!", "which", "]", "[", "(", "i", "*", "eltsz", "+", "j", ")", "^", "(", "which", "^", "16", ")", "]", "=", "m128", ";", "}", "}", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V32QImode", ",", "gen_rtvec_v", "(", "32", ",", "rperm", "[", "1", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V32QImode", ",", "vperm", ")", ";", "h", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V32QImode", ",", "d", "->", "op0", ")", ";", "emit_insn", "(", "gen_avx2_pshufbv32qi3", "(", "h", ",", "op", ",", "vperm", ")", ")", ";", "hp", "=", "gen_reg_rtx", "(", "V4DImode", ")", ";", "op", "=", "gen_lowpart", "(", "V4DImode", ",", "h", ")", ";", "emit_insn", "(", "gen_avx2_permv4di_1", "(", "hp", ",", "op", ",", "const2_rtx", ",", "GEN_INT", "(", "3", ")", ",", "const0_rtx", ",", "const1_rtx", ")", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V32QImode", ",", "gen_rtvec_v", "(", "32", ",", "rperm", "[", "0", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V32QImode", ",", "vperm", ")", ";", "l", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V32QImode", ",", "d", "->", "op0", ")", ";", "emit_insn", "(", "gen_avx2_pshufbv32qi3", "(", "l", ",", "op", ",", "vperm", ")", ")", ";", "op", "=", "d", "->", "target", ";", "if", "(", "d", "->", "vmode", "!=", "V32QImode", ")", "op", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "emit_insn", "(", "gen_iorv32qi3", "(", "op", ",", "l", ",", "gen_lowpart", "(", "V32QImode", ",", "hp", ")", ")", ")", ";", "if", "(", "op", "!=", "d", "->", "target", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "arbitrary", "permutation", "of", "one", "V32QImode", "and", "V16QImode", "operand", "with", "two", "vpshufb", "insns", ",", "vpermq", "and", "vpor", ".", "We", "should", "have", "already", "failed", "all", "two", "or", "three", "instruction", "sequences", "."], "TS_V_token": ["i386", "2", "32", "128", "0", "2", "1", "2", "0", "16", "32", "1", "3", "32", "0"], "File": "i3864", "Func": "expand_vec_perm_vpshufb2_vpermq", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38176, "Length": 440}
{"ground_truth": ["", "static", "bool", "expand_vec_perm_vpshufb2_vpermq_even_odd", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "rtx", "rperm", "[", "2", "]", "[", "32", "]", ",", "vperm", ",", "l", ",", "h", ",", "ior", ",", "op", ",", "m128", ";", "unsigned", "int", "i", ",", "nelt", ",", "eltsz", ";", "if", "(", "!", "TARGET_AVX2", "||", "d", "->", "one_operand_p", "||", "(", "d", "->", "vmode", "!=", "V32QImode", "&&", "d", "->", "vmode", "!=", "V16HImode", ")", ")", "return", "false", ";", "for", "(", "i", "=", "0", ";", "i", "<", "d", "->", "nelt", ";", "++", "i", ")", "if", "(", "(", "d", "->", "perm", "[", "i", "]", "^", "(", "i", "*", "2", ")", ")", "&", "(", "3", "*", "d", "->", "nelt", "/", "2", ")", ")", "return", "false", ";", "if", "(", "d", "->", "testing_p", ")", "return", "true", ";", "nelt", "=", "d", "->", "nelt", ";", "eltsz", "=", "GET_MODE_SIZE", "(", "GET_MODE_INNER", "(", "d", "->", "vmode", ")", ")", ";", "m128", "=", "GEN_INT", "(", "-", "128", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "j", ",", "e", "=", "d", "->", "perm", "[", "i", "]", "&", "(", "nelt", "/", "2", "-", "1", ")", ";", "unsigned", "which", "=", "d", "->", "perm", "[", "i", "]", ">=", "nelt", ";", "unsigned", "xorv", "=", "(", "i", ">=", "nelt", "/", "4", "&&", "i", "<", "3", "*", "nelt", "/", "4", ")", "?", "24", ":", "0", ";", "for", "(", "j", "=", "0", ";", "j", "<", "eltsz", ";", "++", "j", ")", "{", "rperm", "[", "which", "]", "[", "(", "i", "*", "eltsz", "+", "j", ")", "^", "xorv", "]", "=", "GEN_INT", "(", "e", "*", "eltsz", "+", "j", ")", ";", "rperm", "[", "1", "-", "which", "]", "[", "(", "i", "*", "eltsz", "+", "j", ")", "^", "xorv", "]", "=", "m128", ";", "}", "}", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V32QImode", ",", "gen_rtvec_v", "(", "32", ",", "rperm", "[", "0", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V32QImode", ",", "vperm", ")", ";", "l", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V32QImode", ",", "d", "->", "op0", ")", ";", "emit_insn", "(", "gen_avx2_pshufbv32qi3", "(", "l", ",", "op", ",", "vperm", ")", ")", ";", "vperm", "=", "gen_rtx_CONST_VECTOR", "(", "V32QImode", ",", "gen_rtvec_v", "(", "32", ",", "rperm", "[", "1", "]", ")", ")", ";", "vperm", "=", "force_reg", "(", "V32QImode", ",", "vperm", ")", ";", "h", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "op", "=", "gen_lowpart", "(", "V32QImode", ",", "d", "->", "op1", ")", ";", "emit_insn", "(", "gen_avx2_pshufbv32qi3", "(", "h", ",", "op", ",", "vperm", ")", ")", ";", "ior", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "emit_insn", "(", "gen_iorv32qi3", "(", "ior", ",", "l", ",", "h", ")", ")", ";", "op", "=", "gen_reg_rtx", "(", "V4DImode", ")", ";", "ior", "=", "gen_lowpart", "(", "V4DImode", ",", "ior", ")", ";", "emit_insn", "(", "gen_avx2_permv4di_1", "(", "op", ",", "ior", ",", "const0_rtx", ",", "const2_rtx", ",", "const1_rtx", ",", "GEN_INT", "(", "3", ")", ")", ")", ";", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "expand_vec_perm_even_odd_1", ".", "Implement", "extract-even", "and", "extract-odd", "permutations", "of", "two", "V32QImode", "and", "V16QImode", "operand", "with", "two", "vpshufb", "insns", ",", "vpor", "and", "vpermq", ".", "We", "should", "have", "already", "failed", "all", "two", "or", "three", "instruction", "sequences", "."], "TS_V_token": ["i386", "2", "32", "0", "2", "3", "2", "128", "0", "2", "1", "4", "3", "4", "24", "0", "0", "1", "32", "0", "32", "1", "3"], "File": "i3864", "Func": "expand_vec_perm_vpshufb2_vpermq_even_odd", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38177, "Length": 463}
{"ground_truth": ["", "static", "bool", "expand_vselect_vconcat", "(", "rtx", "target", ",", "rtx", "op0", ",", "rtx", "op1", ",", "const", "unsigned", "char", "*", "perm", ",", "unsigned", "nelt", ",", "bool", "testing_p", ")", "{", "machine_mode", "v2mode", ";", "rtx", "x", ";", "bool", "ok", ";", "if", "(", "vselect_insn", "==", "NULL_RTX", ")", "init_vselect_insn", "(", ")", ";", "v2mode", "=", "GET_MODE_2XWIDER_MODE", "(", "GET_MODE", "(", "op0", ")", ")", ";", "x", "=", "XEXP", "(", "SET_SRC", "(", "PATTERN", "(", "vselect_insn", ")", ")", ",", "0", ")", ";", "PUT_MODE", "(", "x", ",", "v2mode", ")", ";", "XEXP", "(", "x", ",", "0", ")", "=", "op0", ";", "XEXP", "(", "x", ",", "1", ")", "=", "op1", ";", "ok", "=", "expand_vselect", "(", "target", ",", "x", ",", "perm", ",", "nelt", ",", "testing_p", ")", ";", "XEXP", "(", "x", ",", "0", ")", "=", "const0_rtx", ";", "XEXP", "(", "x", ",", "1", ")", "=", "const0_rtx", ";", "return", "ok", ";", "}", ""], "natrual_language": ["Similar", ",", "but", "generate", "a", "vec_concat", "from", "op0", "and", "op1", "as", "well", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1"], "File": "i3864", "Func": "expand_vselect_vconcat", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38178, "Length": 132}
{"ground_truth": ["", "static", "void", "find_constant", "(", "rtx", "in_rtx", ",", "imm_info", "*", "imm_values", ")", "{", "if", "(", "INSN_P", "(", "in_rtx", ")", ")", "in_rtx", "=", "PATTERN", "(", "in_rtx", ")", ";", "subrtx_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "in_rtx", ",", "ALL", ")", "if", "(", "const_rtx", "x", "=", "*", "iter", ")", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "case", "SYMBOL_REF", ":", "case", "CONST_INT", ":", "(", "imm_values", "->", "imm", ")", "++", ";", "if", "(", "x86_64_immediate_operand", "(", "CONST_CAST_RTX", "(", "x", ")", ",", "SImode", ")", ")", "(", "imm_values", "->", "imm32", ")", "++", ";", "else", "(", "imm_values", "->", "imm64", ")", "++", ";", "break", ";", "case", "CONST_DOUBLE", ":", "(", "imm_values", "->", "imm", ")", "++", ";", "(", "imm_values", "->", "imm64", ")", "++", ";", "break", ";", "case", "CODE_LABEL", ":", "if", "(", "LABEL_KIND", "(", "x", ")", "==", "LABEL_NORMAL", ")", "{", "(", "imm_values", "->", "imm", ")", "++", ";", "(", "imm_values", "->", "imm32", ")", "++", ";", "}", "break", ";", "default", ":", "break", ";", "}", "}", ""], "natrual_language": ["Compute", "number", "of", "immediate", "operands", "of", "an", "instruction", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "find_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38179, "Length": 157}
{"ground_truth": ["", "static", "unsigned", "int", "find_drap_reg", "(", "void", ")", "{", "tree", "decl", "=", "cfun", "->", "decl", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "DECL_STATIC_CHAIN", "(", "decl", ")", "||", "crtl", "->", "tail_call_emit", ")", "return", "R13_REG", ";", "return", "R10_REG", ";", "}", "else", "{", "if", "(", "DECL_STATIC_CHAIN", "(", "decl", ")", "||", "crtl", "->", "tail_call_emit", ")", "return", "DI_REG", ";", "if", "(", "ix86_function_regparm", "(", "TREE_TYPE", "(", "decl", ")", ",", "decl", ")", "<=", "2", ")", "{", "unsigned", "int", "ccvt", "=", "ix86_get_callcvt", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "if", "(", "(", "ccvt", "&", "(", "IX86_CALLCVT_FASTCALL", "|", "IX86_CALLCVT_THISCALL", ")", ")", "==", "0", ")", "return", "CX_REG", ";", "}", "return", "DI_REG", ";", "}", "}", ""], "natrual_language": ["Find", "an", "available", "register", "to", "be", "used", "as", "dynamic", "realign", "argument", "pointer", "regsiter", ".", "Such", "a", "register", "will", "be", "written", "in", "prologue", "and", "used", "in", "begin", "of", "body", ",", "so", "it", "must", "not", "be", "1.", "parameter", "passing", "register", ".", "2", ".", "GOT", "pointer", ".", "We", "reuse", "static-chain", "register", "if", "it", "is", "available", ".", "Otherwise", ",", "we", "use", "DI", "for", "i386", "and", "R13", "for", "x86-64", ".", "We", "chose", "R13", "since", "it", "has", "shorter", "encoding", ".", "Return", ":", "the", "regno", "of", "chosen", "register", "."], "TS_V_token": ["i386", "2", "0"], "File": "i3864", "Func": "find_drap_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38180, "Length": 104}
{"ground_truth": ["", "static", "bool", "fits_dispatch_window", "(", "rtx_insn", "*", "insn", ")", "{", "dispatch_windows", "*", "window_list", "=", "dispatch_window_list", ";", "dispatch_windows", "*", "window_list_next", "=", "dispatch_window_list", "->", "next", ";", "unsigned", "int", "num_restrict", ";", "enum", "dispatch_group", "group", "=", "get_insn_group", "(", "insn", ")", ";", "enum", "insn_path", "path", "=", "get_insn_path", "(", "insn", ")", ";", "int", "sum", ";", "if", "(", "group", "==", "disp_jcc", "||", "group", "==", "disp_cmp", ")", "return", "false", ";", "if", "(", "group", "==", "disp_no_group", "||", "group", "==", "disp_branch", ")", "return", "true", ";", "if", "(", "window_list_next", ")", "window_list", "=", "window_list_next", ";", "if", "(", "window_list", "->", "window_num", "==", "1", ")", "{", "sum", "=", "window_list", "->", "prev", "->", "window_size", "+", "window_list", "->", "window_size", ";", "if", "(", "sum", "==", "32", "||", "(", "min_insn_size", "(", "insn", ")", "+", "sum", ")", ">=", "48", ")", "return", "true", ";", "}", "num_restrict", "=", "count_num_restricted", "(", "insn", ",", "window_list", ")", ";", "if", "(", "num_restrict", ">", "num_allowable_groups", "[", "group", "]", ")", "return", "false", ";", "if", "(", "window_list", "->", "window_num", "==", "0", ")", "{", "if", "(", "path", "==", "path_double", "&&", "(", "window_list", "->", "num_uops", "+", "2", ")", ">", "MAX_INSN", ")", "return", "false", ";", "else", "if", "(", "path", "!=", "path_single", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "returns", "true", "if", "insn", "satisfies", "dispatch", "rules", "on", "the", "last", "window", "scheduled", "."], "TS_V_token": ["i386", "1", "32", "48", "0", "2"], "File": "i3864", "Func": "fits_dispatch_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38181, "Length": 188}
{"ground_truth": ["", "static", "rtx", "function_arg_32", "(", "const", "CUMULATIVE_ARGS", "*", "cum", ",", "machine_mode", "mode", ",", "machine_mode", "orig_mode", ",", "const_tree", "type", ",", "HOST_WIDE_INT", "bytes", ",", "HOST_WIDE_INT", "words", ")", "{", "if", "(", "mode", "==", "VOIDmode", ")", "return", "constm1_rtx", ";", "switch", "(", "mode", ")", "{", "default", ":", "break", ";", "case", "BLKmode", ":", "if", "(", "bytes", "<", "0", ")", "break", ";", "case", "DImode", ":", "case", "SImode", ":", "case", "HImode", ":", "case", "QImode", ":", "if", "(", "words", "<=", "cum", "->", "nregs", ")", "{", "int", "regno", "=", "cum", "->", "regno", ";", "if", "(", "cum", "->", "fastcall", ")", "{", "if", "(", "mode", "==", "BLKmode", "||", "mode", "==", "DImode", "||", "(", "type", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", ")", ")", "break", ";", "if", "(", "regno", "==", "AX_REG", ")", "regno", "=", "CX_REG", ";", "}", "return", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "}", "break", ";", "case", "DFmode", ":", "if", "(", "cum", "->", "float_in_sse", "<", "2", ")", "break", ";", "case", "SFmode", ":", "if", "(", "cum", "->", "float_in_sse", "<", "1", ")", "break", ";", "case", "TImode", ":", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "case", "V4SFmode", ":", "case", "V2DFmode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "sse_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "sse_regno", "+", "FIRST_SSE_REG", ")", ";", "}", "break", ";", "case", "OImode", ":", "case", "XImode", ":", "gcc_unreachable", "(", ")", ";", "case", "V64QImode", ":", "case", "V32HImode", ":", "case", "V16SImode", ":", "case", "V8DImode", ":", "case", "V16SFmode", ":", "case", "V8DFmode", ":", "case", "V8SFmode", ":", "case", "V8SImode", ":", "case", "V32QImode", ":", "case", "V16HImode", ":", "case", "V4DFmode", ":", "case", "V4DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "sse_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "sse_regno", "+", "FIRST_SSE_REG", ")", ";", "}", "break", ";", "case", "V8QImode", ":", "case", "V4HImode", ":", "case", "V2SImode", ":", "case", "V2SFmode", ":", "case", "V1TImode", ":", "case", "V1DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "mmx_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "mmx_regno", "+", "FIRST_MMX_REG", ")", ";", "}", "break", ";", "}", "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": ["i386", "0", "2", "1"], "File": "i3864", "Func": "function_arg_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38182, "Length": 353}
{"ground_truth": ["", "static", "int", "function_arg_advance_32", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "HOST_WIDE_INT", "bytes", ",", "HOST_WIDE_INT", "words", ")", "{", "int", "res", "=", "0", ";", "switch", "(", "mode", ")", "{", "default", ":", "break", ";", "case", "BLKmode", ":", "if", "(", "bytes", "<", "0", ")", "break", ";", "case", "DImode", ":", "case", "SImode", ":", "case", "HImode", ":", "case", "QImode", ":", "cum", "->", "words", "+=", "words", ";", "cum", "->", "nregs", "-=", "words", ";", "cum", "->", "regno", "+=", "words", ";", "if", "(", "cum", "->", "nregs", ">=", "0", ")", "res", "=", "words", ";", "if", "(", "cum", "->", "nregs", "<=", "0", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cum", "->", "regno", "=", "0", ";", "}", "break", ";", "case", "OImode", ":", "gcc_unreachable", "(", ")", ";", "case", "DFmode", ":", "if", "(", "cum", "->", "float_in_sse", "<", "2", ")", "break", ";", "case", "SFmode", ":", "if", "(", "cum", "->", "float_in_sse", "<", "1", ")", "break", ";", "case", "V8SFmode", ":", "case", "V8SImode", ":", "case", "V64QImode", ":", "case", "V32HImode", ":", "case", "V16SImode", ":", "case", "V8DImode", ":", "case", "V16SFmode", ":", "case", "V8DFmode", ":", "case", "V32QImode", ":", "case", "V16HImode", ":", "case", "V4DFmode", ":", "case", "V4DImode", ":", "case", "TImode", ":", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "case", "V4SFmode", ":", "case", "V2DFmode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "cum", "->", "sse_words", "+=", "words", ";", "cum", "->", "sse_nregs", "-=", "1", ";", "cum", "->", "sse_regno", "+=", "1", ";", "if", "(", "cum", "->", "sse_nregs", "<=", "0", ")", "{", "cum", "->", "sse_nregs", "=", "0", ";", "cum", "->", "sse_regno", "=", "0", ";", "}", "}", "break", ";", "case", "V8QImode", ":", "case", "V4HImode", ":", "case", "V2SImode", ":", "case", "V2SFmode", ":", "case", "V1TImode", ":", "case", "V1DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "cum", "->", "mmx_words", "+=", "words", ";", "cum", "->", "mmx_nregs", "-=", "1", ";", "cum", "->", "mmx_regno", "+=", "1", ";", "if", "(", "cum", "->", "mmx_nregs", "<=", "0", ")", "{", "cum", "->", "mmx_nregs", "=", "0", ";", "cum", "->", "mmx_regno", "=", "0", ";", "}", "}", "break", ";", "}", "return", "res", ";", "}", ""], "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", ".", ")", "Return", "a", "number", "of", "integer", "regsiters", "advanced", "over", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "2", "1", "1", "1", "0", "0", "0", "1", "1", "0", "0", "0"], "File": "i3864", "Func": "function_arg_advance_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38183, "Length": 335}
{"ground_truth": ["", "static", "rtx", "function_value_32", "(", "machine_mode", "orig_mode", ",", "machine_mode", "mode", ",", "const_tree", "fntype", ",", "const_tree", "fn", ")", "{", "unsigned", "int", "regno", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "8", ")", "regno", "=", "FIRST_MMX_REG", ";", "else", "if", "(", "mode", "==", "TImode", "||", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", ")", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_FLOAT_RETURNS_IN_80387", ")", "regno", "=", "FIRST_FLOAT_REG", ";", "else", "regno", "=", "AX_REG", ";", "if", "(", "(", "fn", "||", "fntype", ")", "&&", "(", "mode", "==", "SFmode", "||", "mode", "==", "DFmode", ")", ")", "{", "int", "sse_level", "=", "ix86_function_sseregparm", "(", "fntype", ",", "fn", ",", "false", ")", ";", "if", "(", "(", "sse_level", ">=", "1", "&&", "mode", "==", "SFmode", ")", "||", "(", "sse_level", "==", "2", "&&", "mode", "==", "DFmode", ")", ")", "regno", "=", "FIRST_SSE_REG", ";", "}", "gcc_assert", "(", "mode", "!=", "OImode", ")", ";", "return", "gen_rtx_REG", "(", "orig_mode", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Define", "how", "to", "find", "the", "value", "returned", "by", "a", "function", ".", "VALTYPE", "is", "the", "data", "type", "of", "the", "value", "(", "as", "a", "tree", ")", ".", "If", "the", "precise", "function", "being", "called", "is", "known", ",", "FUNC", "is", "its", "FUNCTION_DECL", ";", "otherwise", ",", "FUNC", "is", "0", "."], "TS_V_token": ["i386", "8", "16", "32", "64", "1", "2"], "File": "i3864", "Func": "function_value_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38184, "Length": 195}
{"ground_truth": ["", "static", "rtx", "gen_pop", "(", "rtx", "arg", ")", "{", "if", "(", "REG_P", "(", "arg", ")", "&&", "GET_MODE", "(", "arg", ")", "!=", "word_mode", ")", "arg", "=", "gen_rtx_REG", "(", "word_mode", ",", "REGNO", "(", "arg", ")", ")", ";", "return", "gen_rtx_SET", "(", "VOIDmode", ",", "arg", ",", "gen_rtx_MEM", "(", "word_mode", ",", "gen_rtx_POST_INC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "an", "``", "pop", "''", "pattern", "for", "input", "ARG", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "gen_pop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38185, "Length": 55}
{"ground_truth": ["", "static", "rtx", "gen_push", "(", "rtx", "arg", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "stack_pointer_rtx", ")", "m", "->", "fs", ".", "cfa_offset", "+=", "UNITS_PER_WORD", ";", "m", "->", "fs", ".", "sp_offset", "+=", "UNITS_PER_WORD", ";", "if", "(", "REG_P", "(", "arg", ")", "&&", "GET_MODE", "(", "arg", ")", "!=", "word_mode", ")", "arg", "=", "gen_rtx_REG", "(", "word_mode", ",", "REGNO", "(", "arg", ")", ")", ";", "return", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_MEM", "(", "word_mode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ",", "arg", ")", ";", "}", ""], "natrual_language": ["Code", "to", "generate", "prologue", "and", "epilogue", "sequences"], "TS_V_token": ["i386"], "File": "i3864", "Func": "gen_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38186, "Length": 90}
{"ground_truth": ["", "static", "int", "get_element_number", "(", "tree", "vec_type", ",", "tree", "arg", ")", "{", "unsigned", "HOST_WIDE_INT", "elt", ",", "max", "=", "TYPE_VECTOR_SUBPARTS", "(", "vec_type", ")", "-", "1", ";", "if", "(", "!", "tree_fits_uhwi_p", "(", "arg", ")", "||", "(", "elt", "=", "tree_to_uhwi", "(", "arg", ")", ",", "elt", ">", "max", ")", ")", "{", "error", "(", "\"selector must be an integer constant in the range 0..%wi\"", ",", "max", ")", ";", "return", "0", ";", "}", "return", "elt", ";", "}", ""], "natrual_language": ["Return", "the", "integer", "constant", "in", "ARG", ".", "Constrain", "it", "to", "be", "in", "the", "range", "of", "the", "subparts", "of", "VEC_TYPE", ";", "issue", "an", "error", "if", "not", "."], "TS_V_token": ["i386", "1", "\"selector must be an integer constant in the range 0..%wi\"", "0"], "File": "i3864", "Func": "get_element_number", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38187, "Length": 61}
{"ground_truth": ["", "static", "enum", "dispatch_group", "get_insn_group", "(", "rtx_insn", "*", "insn", ")", "{", "enum", "dispatch_group", "group", "=", "get_mem_group", "(", "insn", ")", ";", "if", "(", "group", ")", "return", "group", ";", "if", "(", "is_branch", "(", "insn", ")", ")", "return", "disp_branch", ";", "if", "(", "is_cmp", "(", "insn", ")", ")", "return", "disp_cmp", ";", "if", "(", "has_immediate", "(", "insn", ")", ")", "return", "disp_imm", ";", "if", "(", "is_prefetch", "(", "insn", ")", ")", "return", "disp_prefetch", ";", "return", "disp_no_group", ";", "}", ""], "natrual_language": ["Return", "insn", "dispatch", "group", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "get_insn_group", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38188, "Length": 70}
{"ground_truth": ["", "static", "enum", "insn_path", "get_insn_path", "(", "rtx_insn", "*", "insn", ")", "{", "enum", "attr_amdfam10_decode", "path", "=", "get_attr_amdfam10_decode", "(", "insn", ")", ";", "if", "(", "(", "int", ")", "path", "==", "0", ")", "return", "path_single", ";", "if", "(", "(", "int", ")", "path", "==", "1", ")", "return", "path_double", ";", "return", "path_multi", ";", "}", ""], "natrual_language": ["Return", "single", "or", "double", "path", "for", "instructions", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3864", "Func": "get_insn_path", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38189, "Length": 47}
{"ground_truth": ["", "static", "enum", "dispatch_group", "get_mem_group", "(", "rtx_insn", "*", "insn", ")", "{", "enum", "attr_memory", "memory", ";", "if", "(", "INSN_CODE", "(", "insn", ")", "<", "0", ")", "return", "disp_no_group", ";", "memory", "=", "get_attr_memory", "(", "insn", ")", ";", "if", "(", "memory", "==", "MEMORY_STORE", ")", "return", "disp_store", ";", "if", "(", "memory", "==", "MEMORY_LOAD", ")", "return", "disp_load", ";", "if", "(", "memory", "==", "MEMORY_BOTH", ")", "return", "disp_load_store", ";", "return", "disp_no_group", ";", "}", ""], "natrual_language": ["Get", "dispatch", "group", "of", "insn", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "get_mem_group", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38190, "Length": 64}
{"ground_truth": ["", "static", "inline", "machine_mode", "get_mode_wider_vector", "(", "machine_mode", "o", ")", "{", "machine_mode", "n", "=", "GET_MODE_WIDER_MODE", "(", "o", ")", ";", "gcc_assert", "(", "GET_MODE_NUNITS", "(", "o", ")", "==", "GET_MODE_NUNITS", "(", "n", ")", "*", "2", ")", ";", "gcc_assert", "(", "GET_MODE_SIZE", "(", "o", ")", "==", "GET_MODE_SIZE", "(", "n", ")", ")", ";", "return", "n", ";", "}", ""], "natrual_language": ["Get", "a", "vector", "mode", "of", "the", "same", "size", "as", "the", "original", "but", "with", "elements", "twice", "as", "wide", ".", "This", "is", "only", "guaranteed", "to", "apply", "to", "integral", "vectors", "."], "TS_V_token": ["i386", "2"], "File": "i3864", "Func": "get_mode_wider_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38191, "Length": 49}
{"ground_truth": ["", "static", "int", "get_num_immediates", "(", "rtx", "insn", ",", "int", "*", "imm", ",", "int", "*", "imm32", ",", "int", "*", "imm64", ")", "{", "imm_info", "imm_values", "=", "{", "0", ",", "0", ",", "0", "}", ";", "find_constant", "(", "insn", ",", "&", "imm_values", ")", ";", "*", "imm", "=", "imm_values", ".", "imm", ";", "*", "imm32", "=", "imm_values", ".", "imm32", ";", "*", "imm64", "=", "imm_values", ".", "imm64", ";", "return", "imm_values", ".", "imm32", "*", "4", "+", "imm_values", ".", "imm64", "*", "8", ";", "}", ""], "natrual_language": ["Return", "total", "size", "of", "immediate", "operands", "of", "an", "instruction", "along", "with", "number", "of", "corresponding", "immediate-operands", ".", "It", "initializes", "its", "parameters", "to", "zero", "befor", "calling", "FIND_CONSTANT", ".", "INSN", "is", "the", "input", "instruction", ".", "IMM", "is", "the", "total", "of", "immediates", ".", "IMM32", "is", "the", "number", "of", "32", "bit", "immediates", ".", "IMM64", "is", "the", "number", "of", "64", "bit", "immediates", "."], "TS_V_token": ["i386", "0", "0", "0", "4", "8"], "File": "i3864", "Func": "get_num_immediates", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38192, "Length": 74}
{"ground_truth": ["", "static", "void", "get_scratch_register_on_entry", "(", "struct", "scratch_reg", "*", "sr", ")", "{", "int", "regno", ";", "sr", "->", "saved", "=", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "regno", "=", "R11_REG", ";", "}", "else", "{", "tree", "decl", "=", "current_function_decl", ",", "fntype", "=", "TREE_TYPE", "(", "decl", ")", ";", "bool", "fastcall_p", "=", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", "!=", "NULL_TREE", ";", "bool", "thiscall_p", "=", "lookup_attribute", "(", "\"thiscall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", "!=", "NULL_TREE", ";", "bool", "static_chain_p", "=", "DECL_STATIC_CHAIN", "(", "decl", ")", ";", "int", "regparm", "=", "ix86_function_regparm", "(", "fntype", ",", "decl", ")", ";", "int", "drap_regno", "=", "crtl", "->", "drap_reg", "?", "REGNO", "(", "crtl", "->", "drap_reg", ")", ":", "INVALID_REGNUM", ";", "if", "(", "(", "regparm", "<", "1", "||", "(", "fastcall_p", "&&", "!", "static_chain_p", ")", ")", "&&", "drap_regno", "!=", "AX_REG", ")", "regno", "=", "AX_REG", ";", "else", "if", "(", "thiscall_p", "&&", "!", "static_chain_p", "&&", "drap_regno", "!=", "AX_REG", ")", "regno", "=", "AX_REG", ";", "else", "if", "(", "regparm", "<", "2", "&&", "!", "thiscall_p", "&&", "drap_regno", "!=", "DX_REG", ")", "regno", "=", "DX_REG", ";", "else", "if", "(", "regparm", "<", "3", "&&", "!", "fastcall_p", "&&", "!", "thiscall_p", "&&", "!", "static_chain_p", "&&", "drap_regno", "!=", "CX_REG", ")", "regno", "=", "CX_REG", ";", "else", "if", "(", "ix86_save_reg", "(", "BX_REG", ",", "true", ")", ")", "regno", "=", "BX_REG", ";", "else", "if", "(", "!", "(", "regparm", "==", "3", "&&", "static_chain_p", ")", "&&", "ix86_save_reg", "(", "SI_REG", ",", "true", ")", ")", "regno", "=", "SI_REG", ";", "else", "if", "(", "ix86_save_reg", "(", "DI_REG", ",", "true", ")", ")", "regno", "=", "DI_REG", ";", "else", "{", "regno", "=", "(", "drap_regno", "==", "AX_REG", "?", "DX_REG", ":", "AX_REG", ")", ";", "sr", "->", "saved", "=", "true", ";", "}", "}", "sr", "->", "reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "if", "(", "sr", "->", "saved", ")", "{", "rtx", "insn", "=", "emit_insn", "(", "gen_push", "(", "sr", "->", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Return", "a", "short-lived", "scratch", "register", "for", "use", "on", "function", "entry", ".", "In", "32-bit", "mode", ",", "it", "is", "valid", "only", "after", "the", "registers", "are", "saved", "in", "the", "prologue", ".", "This", "register", "must", "be", "released", "by", "means", "of", "release_scratch_register_on_entry", "once", "it", "is", "dead", "."], "TS_V_token": ["i386", "\"fastcall\"", "\"thiscall\"", "1", "2", "3", "3", "1"], "File": "i3864", "Func": "get_scratch_register_on_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38193, "Length": 301}
{"ground_truth": ["", "static", "bool", "has_dispatch", "(", "rtx_insn", "*", "insn", ",", "int", "action", ")", "{", "if", "(", "(", "TARGET_BDVER1", "||", "TARGET_BDVER2", "||", "TARGET_BDVER3", "||", "TARGET_BDVER4", ")", "&&", "flag_dispatch_scheduler", ")", "switch", "(", "action", ")", "{", "default", ":", "return", "false", ";", "case", "IS_DISPATCH_ON", ":", "return", "true", ";", "break", ";", "case", "IS_CMP", ":", "return", "is_cmp", "(", "insn", ")", ";", "case", "DISPATCH_VIOLATION", ":", "return", "dispatch_violation", "(", ")", ";", "case", "FITS_DISPATCH_WINDOW", ":", "return", "fits_dispatch_window", "(", "insn", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "Dispatch", "Scheduling", "is", "supported", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "has_dispatch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38194, "Length": 75}
{"ground_truth": ["", "static", "bool", "has_immediate", "(", "rtx", "insn", ")", "{", "int", "num_imm_operand", ";", "int", "num_imm32_operand", ";", "int", "num_imm64_operand", ";", "if", "(", "insn", ")", "return", "get_num_immediates", "(", "insn", ",", "&", "num_imm_operand", ",", "&", "num_imm32_operand", ",", "&", "num_imm64_operand", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["This", "function", "indicates", "if", "an", "operand", "of", "an", "instruction", "is", "an", "immediate", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "has_immediate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38195, "Length": 40}
{"ground_truth": ["", "static", "bool", "i386_asm_output_addr_const_extra", "(", "FILE", "*", "file", ",", "rtx", "x", ")", "{", "rtx", "op", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "UNSPEC", ")", "return", "false", ";", "op", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOTTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@gottpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_TPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@tpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_NTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "if", "(", "TARGET_64BIT", ")", "fputs", "(", "\"@tpoff\"", ",", "file", ")", ";", "else", "fputs", "(", "\"@ntpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_DTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@dtpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_GOTNTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "if", "(", "TARGET_64BIT", ")", "fputs", "(", "ASSEMBLER_DIALECT", "==", "ASM_ATT", "?", "\"@gottpoff(%rip)\"", ":", "\"@gottpoff[rip]\"", ",", "file", ")", ";", "else", "fputs", "(", "\"@gotntpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_INDNTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@indntpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_MACHOPIC_OFFSET", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "putc", "(", "'-'", ",", "file", ")", ";", "machopic_output_function_base_name", "(", "file", ")", ";", "break", ";", "case", "UNSPEC_STACK_CHECK", ":", "{", "int", "offset", ";", "gcc_assert", "(", "flag_split_stack", ")", ";", "offset", "=", "TARGET_THREAD_SPLIT_STACK_OFFSET", ";", "gcc_unreachable", "(", ")", ";", "fprintf", "(", "file", ",", "\"%s:%d\"", ",", "TARGET_64BIT", "?", "\"%fs\"", ":", "\"%gs\"", ",", "offset", ")", ";", "}", "break", ";", "default", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Implementation", "of", "TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA", "."], "TS_V_token": ["i386", "0", "0", "1", "\"@gottpoff\"", "\"@tpoff\"", "\"@tpoff\"", "\"@ntpoff\"", "\"@dtpoff\"", "\"@gottpoff(%rip)\"", "\"@gottpoff[rip]\"", "\"@gotntpoff\"", "\"@indntpoff\"", "\"%s:%d\"", "\"%fs\"", "\"%gs\""], "File": "i3864", "Func": "i386_asm_output_addr_const_extra", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38196, "Length": 264}
{"ground_truth": ["", "static", "void", "i386_solaris_elf_named_section", "(", "const", "char", "*", "name", ",", "unsigned", "int", "flags", ",", "tree", "decl", ")", "{", "if", "(", "TARGET_64BIT", "&&", "strcmp", "(", "name", ",", "\".eh_frame\"", ")", "==", "0", ")", "{", "fprintf", "(", "asm_out_file", ",", "\"\\t.section\\t%s,\\\"%s\\\",@unwind\\n\"", ",", "name", ",", "flags", "&", "SECTION_WRITE", "?", "\"aw\"", ":", "\"a\"", ")", ";", "return", ";", "}", "if", "(", "HAVE_COMDAT_GROUP", "&&", "flags", "&", "SECTION_LINKONCE", ")", "{", "solaris_elf_asm_comdat_section", "(", "name", ",", "flags", ",", "decl", ")", ";", "return", ";", "}", "default_elf_asm_named_section", "(", "name", ",", "flags", ",", "decl", ")", ";", "}", ""], "natrual_language": ["Solaris", "named-section", "hook", ".", "Parameters", "are", "as", "for", "named_section_real", "."], "TS_V_token": ["i386", "\".eh_frame\"", "0", "\"\\t.section\\t%s,\\\"%s\\\",@unwind\\n\"", "\"aw\"", "\"a\""], "File": "i3864", "Func": "i386_solaris_elf_named_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38197, "Length": 82}
{"ground_truth": ["", "static", "int", "ia32_multipass_dfa_lookahead", "(", "void", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "return", "2", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "case", "PROCESSOR_K6", ":", "return", "1", ";", "case", "PROCESSOR_BDVER1", ":", "case", "PROCESSOR_BDVER2", ":", "case", "PROCESSOR_BDVER3", ":", "case", "PROCESSOR_BDVER4", ":", "return", "4", ";", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "case", "PROCESSOR_BONNELL", ":", "case", "PROCESSOR_SILVERMONT", ":", "case", "PROCESSOR_KNL", ":", "case", "PROCESSOR_INTEL", ":", "if", "(", "reload_completed", ")", "return", "ix86_issue_rate", "(", ")", ";", "return", "0", ";", "default", ":", "return", "0", ";", "}", "}", ""], "natrual_language": ["How", "many", "alternative", "schedules", "to", "try", ".", "This", "should", "be", "as", "wide", "as", "the", "scheduling", "freedom", "in", "the", "DFA", ",", "but", "no", "wider", ".", "Making", "this", "value", "too", "large", "results", "extra", "work", "for", "the", "scheduler", "."], "TS_V_token": ["i386", "2", "1", "4", "0", "0"], "File": "i3864", "Func": "ia32_multipass_dfa_lookahead", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38198, "Length": 85}
{"ground_truth": ["", "void", "init_cumulative_args", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "tree", "fntype", ",", "rtx", "libname", ",", "tree", "fndecl", ",", "int", "caller", ")", "{", "struct", "cgraph_local_info", "*", "i", "=", "NULL", ";", "struct", "cgraph_node", "*", "target", "=", "NULL", ";", "memset", "(", "cum", ",", "0", ",", "sizeof", "(", "*", "cum", ")", ")", ";", "if", "(", "fndecl", ")", "{", "target", "=", "cgraph_node", "::", "get", "(", "fndecl", ")", ";", "if", "(", "target", ")", "{", "target", "=", "target", "->", "function_symbol", "(", ")", ";", "i", "=", "cgraph_node", "::", "local_info", "(", "target", "->", "decl", ")", ";", "cum", "->", "call_abi", "=", "ix86_function_abi", "(", "target", "->", "decl", ")", ";", "}", "else", "cum", "->", "call_abi", "=", "ix86_function_abi", "(", "fndecl", ")", ";", "}", "else", "cum", "->", "call_abi", "=", "ix86_function_type_abi", "(", "fntype", ")", ";", "cum", "->", "caller", "=", "caller", ";", "cum", "->", "nregs", "=", "ix86_regparm", ";", "if", "(", "TARGET_64BIT", ")", "{", "cum", "->", "nregs", "=", "(", "cum", "->", "call_abi", "==", "SYSV_ABI", "?", "X86_64_REGPARM_MAX", ":", "X86_64_MS_REGPARM_MAX", ")", ";", "}", "if", "(", "TARGET_SSE", ")", "{", "cum", "->", "sse_nregs", "=", "SSE_REGPARM_MAX", ";", "if", "(", "TARGET_64BIT", ")", "{", "cum", "->", "sse_nregs", "=", "(", "cum", "->", "call_abi", "==", "SYSV_ABI", "?", "X86_64_SSE_REGPARM_MAX", ":", "X86_64_MS_SSE_REGPARM_MAX", ")", ";", "}", "}", "if", "(", "TARGET_MMX", ")", "cum", "->", "mmx_nregs", "=", "MMX_REGPARM_MAX", ";", "cum", "->", "warn_avx512f", "=", "true", ";", "cum", "->", "warn_avx", "=", "true", ";", "cum", "->", "warn_sse", "=", "true", ";", "cum", "->", "warn_mmx", "=", "true", ";", "if", "(", "i", "&&", "i", "->", "local", "&&", "i", "->", "can_change_signature", ")", "fntype", "=", "TREE_TYPE", "(", "target", "->", "decl", ")", ";", "cum", "->", "stdarg", "=", "stdarg_p", "(", "fntype", ")", ";", "cum", "->", "maybe_vaarg", "=", "(", "fntype", "?", "(", "!", "prototype_p", "(", "fntype", ")", "||", "stdarg_p", "(", "fntype", ")", ")", ":", "!", "libname", ")", ";", "cum", "->", "bnd_regno", "=", "FIRST_BND_REG", ";", "cum", "->", "bnds_in_bt", "=", "0", ";", "cum", "->", "force_bnd_pass", "=", "0", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "if", "(", "stdarg_p", "(", "fntype", ")", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cum", "->", "sse_nregs", "=", "0", ";", "cum", "->", "mmx_nregs", "=", "0", ";", "cum", "->", "warn_avx512f", "=", "false", ";", "cum", "->", "warn_avx", "=", "false", ";", "cum", "->", "warn_sse", "=", "false", ";", "cum", "->", "warn_mmx", "=", "false", ";", "return", ";", "}", "if", "(", "fntype", ")", "{", "unsigned", "int", "ccvt", "=", "ix86_get_callcvt", "(", "fntype", ")", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_THISCALL", ")", "!=", "0", ")", "{", "cum", "->", "nregs", "=", "1", ";", "cum", "->", "fastcall", "=", "1", ";", "}", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "{", "cum", "->", "nregs", "=", "2", ";", "cum", "->", "fastcall", "=", "1", ";", "}", "else", "cum", "->", "nregs", "=", "ix86_function_regparm", "(", "fntype", ",", "fndecl", ")", ";", "}", "cum", "->", "float_in_sse", "=", "ix86_function_sseregparm", "(", "fntype", ",", "fndecl", ",", "true", ")", ";", "}", "}", ""], "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": ["i386", "0", "0", "0", "0", "0", "0", "0", "1", "1", "0", "2", "1"], "File": "i3864", "Func": "init_cumulative_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38199, "Length": 442}
{"ground_truth": ["", "static", "void", "init_dispatch_sched", "(", "void", ")", "{", "dispatch_window_list", "=", "allocate_window", "(", ")", ";", "dispatch_window_list1", "=", "allocate_window", "(", ")", ";", "init_window", "(", "0", ")", ";", "init_window", "(", "1", ")", ";", "}", ""], "natrual_language": ["This", "routine", "initializes", "the", "dispatch", "scheduling", "information", ".", "It", "initiates", "building", "dispatch", "scheduler", "tables", "and", "constructs", "the", "first", "dispatch", "window", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3864", "Func": "init_dispatch_sched", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38200, "Length": 30}
{"ground_truth": ["", "static", "void", "init_vselect_insn", "(", "void", ")", "{", "unsigned", "i", ";", "rtx", "x", ";", "x", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "rtvec_alloc", "(", "MAX_VECT_LEN", ")", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "MAX_VECT_LEN", ";", "++", "i", ")", "XVECEXP", "(", "x", ",", "0", ",", "i", ")", "=", "const0_rtx", ";", "x", "=", "gen_rtx_VEC_SELECT", "(", "V2DFmode", ",", "gen_rtx_VEC_CONCAT", "(", "V4DFmode", ",", "const0_rtx", ",", "const0_rtx", ")", ",", "x", ")", ";", "x", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "const0_rtx", ",", "x", ")", ";", "start_sequence", "(", ")", ";", "vselect_insn", "=", "emit_insn", "(", "x", ")", ";", "end_sequence", "(", ")", ";", "}", ""], "natrual_language": ["Initialize", "vselect_insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3864", "Func": "init_vselect_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38201, "Length": 94}
{"ground_truth": ["", "static", "void", "init_window", "(", "int", "window_num", ")", "{", "int", "i", ";", "dispatch_windows", "*", "new_list", ";", "if", "(", "window_num", "==", "0", ")", "new_list", "=", "dispatch_window_list", ";", "else", "new_list", "=", "dispatch_window_list1", ";", "new_list", "->", "num_insn", "=", "0", ";", "new_list", "->", "num_uops", "=", "0", ";", "new_list", "->", "window_size", "=", "0", ";", "new_list", "->", "next", "=", "NULL", ";", "new_list", "->", "prev", "=", "NULL", ";", "new_list", "->", "window_num", "=", "window_num", ";", "new_list", "->", "num_imm", "=", "0", ";", "new_list", "->", "num_imm_32", "=", "0", ";", "new_list", "->", "num_imm_64", "=", "0", ";", "new_list", "->", "imm_size", "=", "0", ";", "new_list", "->", "num_loads", "=", "0", ";", "new_list", "->", "num_stores", "=", "0", ";", "new_list", "->", "violation", "=", "false", ";", "for", "(", "i", "=", "0", ";", "i", "<", "MAX_INSN", ";", "i", "++", ")", "{", "new_list", "->", "window", "[", "i", "]", ".", "insn", "=", "NULL", ";", "new_list", "->", "window", "[", "i", "]", ".", "group", "=", "disp_no_group", ";", "new_list", "->", "window", "[", "i", "]", ".", "path", "=", "no_path", ";", "new_list", "->", "window", "[", "i", "]", ".", "byte_len", "=", "0", ";", "new_list", "->", "window", "[", "i", "]", ".", "imm_bytes", "=", "0", ";", "}", "return", ";", "}", ""], "natrual_language": ["This", "function", "initializes", "a", "dispatch", "window", "and", "the", "list", "container", "holding", "a", "pointer", "to", "the", "window", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], "File": "i3864", "Func": "init_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38202, "Length": 181}
{"ground_truth": ["", "static", "inline", "bool", "inline_secondary_memory_needed", "(", "enum", "reg_class", "class1", ",", "enum", "reg_class", "class2", ",", "machine_mode", "mode", ",", "int", "strict", ")", "{", "if", "(", "lra_in_progress", "&&", "(", "class1", "==", "NO_REGS", "||", "class2", "==", "NO_REGS", ")", ")", "return", "false", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class1", ")", "||", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class1", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class2", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class1", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class2", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", ")", "{", "gcc_assert", "(", "!", "strict", "||", "lra_in_progress", ")", ";", "return", "true", ";", "}", "if", "(", "FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "(", "MAYBE_MASK_CLASS_P", "(", "class1", ")", "!=", "MAYBE_MASK_CLASS_P", "(", "class2", ")", ")", "&&", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", ")", "return", "true", ";", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "{", "if", "(", "!", "TARGET_SSE2", ")", "return", "true", ";", "if", "(", "(", "SSE_CLASS_P", "(", "class1", ")", "&&", "!", "TARGET_INTER_UNIT_MOVES_FROM_VEC", ")", "||", "(", "SSE_CLASS_P", "(", "class2", ")", "&&", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", ")", "return", "true", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["If", "we", "are", "copying", "between", "general", "and", "FP", "registers", ",", "we", "need", "a", "memory", "location", ".", "The", "same", "is", "true", "for", "SSE", "and", "MMX", "registers", ".", "To", "optimize", "register_move_cost", "performance", ",", "allow", "inline", "variant", ".", "The", "macro", "ca", "n't", "work", "reliably", "when", "one", "of", "the", "CLASSES", "is", "class", "containing", "registers", "from", "multiple", "units", "(", "SSE", ",", "MMX", ",", "integer", ")", ".", "We", "avoid", "this", "by", "never", "combining", "those", "units", "in", "single", "alternative", "in", "the", "machine", "description", ".", "Ensure", "that", "this", "constraint", "holds", "to", "avoid", "unexpected", "surprises", ".", "When", "STRICT", "is", "false", ",", "we", "are", "being", "called", "from", "REGISTER_MOVE_COST", ",", "so", "do", "not", "enforce", "these", "sanity", "checks", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "inline_secondary_memory_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38203, "Length": 231}
{"ground_truth": ["", "static", "bool", "insn_defines_reg", "(", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "rtx", "insn", ")", "{", "df_ref", "def", ";", "FOR_EACH_INSN_DEF", "(", "def", ",", "insn", ")", "if", "(", "DF_REF_REG_DEF_P", "(", "def", ")", "&&", "!", "DF_REF_IS_ARTIFICIAL", "(", "def", ")", "&&", "(", "regno1", "==", "DF_REF_REGNO", "(", "def", ")", "||", "regno2", "==", "DF_REF_REGNO", "(", "def", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Function", "checks", "if", "instruction", "INSN", "defines", "register", "number", "REGNO1", "or", "REGNO2", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "insn_defines_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38204, "Length": 61}
{"ground_truth": ["", "static", "bool", "is_branch", "(", "rtx", "insn", ")", "{", "return", "(", "CALL_P", "(", "insn", ")", "||", "JUMP_P", "(", "insn", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "insn", "is", "a", "branch", "instruction", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "is_branch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38205, "Length": 22}
{"ground_truth": ["", "static", "bool", "is_cmp", "(", "rtx_insn", "*", "insn", ")", "{", "enum", "attr_type", "type", ";", "type", "=", "get_attr_type", "(", "insn", ")", ";", "return", "(", "type", "==", "TYPE_TEST", "||", "type", "==", "TYPE_ICMP", "||", "type", "==", "TYPE_FCMP", "||", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "COMPARE", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "insn", "is", "a", "compare", "instruction", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "is_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38206, "Length": 46}
{"ground_truth": ["", "static", "bool", "is_end_basic_block", "(", "enum", "dispatch_group", "group", ")", "{", "return", "group", "==", "disp_branch", ";", "}", ""], "natrual_language": ["This", "function", "returns", "true", "if", "a", "branch", "is", "detected", ".", "End", "of", "a", "basic", "block", "does", "not", "have", "to", "be", "a", "branch", ",", "but", "here", "we", "assume", "only", "branches", "end", "a", "window", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "is_end_basic_block", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38207, "Length": 15}
{"ground_truth": ["", "static", "bool", "is_function_default_version", "(", "const", "tree", "decl", ")", "{", "if", "(", "TREE_CODE", "(", "decl", ")", "!=", "FUNCTION_DECL", "||", "!", "DECL_FUNCTION_VERSIONED", "(", "decl", ")", ")", "return", "false", ";", "tree", "attr", "=", "lookup_attribute", "(", "\"target\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ";", "gcc_assert", "(", "attr", ")", ";", "attr", "=", "TREE_VALUE", "(", "TREE_VALUE", "(", "attr", ")", ")", ";", "return", "(", "TREE_CODE", "(", "attr", ")", "==", "STRING_CST", "&&", "strcmp", "(", "TREE_STRING_POINTER", "(", "attr", ")", ",", "\"default\"", ")", "==", "0", ")", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "decl", "is", "multi-versioned", "and", "DECL", "is", "the", "default", "function", ",", "that", "is", "it", "is", "not", "tagged", "with", "target", "specific", "optimization", "."], "TS_V_token": ["i386", "\"target\"", "\"default\"", "0"], "File": "i3864", "Func": "is_function_default_version", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38208, "Length": 78}
{"ground_truth": ["", "static", "bool", "is_prefetch", "(", "rtx", "insn", ")", "{", "return", "NONJUMP_INSN_P", "(", "insn", ")", "&&", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "PREFETCH", ";", "}", ""], "natrual_language": ["Return", "true", "if", "insn", "is", "a", "prefetch", "instruction", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "is_prefetch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38209, "Length": 25}
{"ground_truth": ["", "static", "int", "ix86_address_cost", "(", "rtx", "x", ",", "machine_mode", ",", "addr_space_t", ",", "bool", ")", "{", "struct", "ix86_address", "parts", ";", "int", "cost", "=", "1", ";", "int", "ok", "=", "ix86_decompose_address", "(", "x", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "parts", ".", "base", "&&", "GET_CODE", "(", "parts", ".", "base", ")", "==", "SUBREG", ")", "parts", ".", "base", "=", "SUBREG_REG", "(", "parts", ".", "base", ")", ";", "if", "(", "parts", ".", "index", "&&", "GET_CODE", "(", "parts", ".", "index", ")", "==", "SUBREG", ")", "parts", ".", "index", "=", "SUBREG_REG", "(", "parts", ".", "index", ")", ";", "if", "(", "parts", ".", "base", "&&", "(", "!", "REG_P", "(", "parts", ".", "base", ")", "||", "REGNO", "(", "parts", ".", "base", ")", ">=", "FIRST_PSEUDO_REGISTER", ")", "&&", "(", "current_pass", "->", "type", "==", "GIMPLE_PASS", "||", "!", "pic_offset_table_rtx", "||", "!", "REG_P", "(", "parts", ".", "base", ")", "||", "REGNO", "(", "pic_offset_table_rtx", ")", "!=", "REGNO", "(", "parts", ".", "base", ")", ")", ")", "cost", "++", ";", "if", "(", "parts", ".", "index", "&&", "(", "!", "REG_P", "(", "parts", ".", "index", ")", "||", "REGNO", "(", "parts", ".", "index", ")", ">=", "FIRST_PSEUDO_REGISTER", ")", "&&", "(", "current_pass", "->", "type", "==", "GIMPLE_PASS", "||", "!", "pic_offset_table_rtx", "||", "!", "REG_P", "(", "parts", ".", "index", ")", "||", "REGNO", "(", "pic_offset_table_rtx", ")", "!=", "REGNO", "(", "parts", ".", "index", ")", ")", ")", "cost", "++", ";", "if", "(", "TARGET_K6", "&&", "(", "(", "!", "parts", ".", "disp", "&&", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "!=", "1", ")", "||", "(", "parts", ".", "disp", "&&", "!", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "!=", "1", ")", "||", "(", "!", "parts", ".", "disp", "&&", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "==", "1", ")", ")", ")", "cost", "+=", "10", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "the", "memory", "address", "x", ".", "For", "i386", ",", "it", "is", "better", "to", "use", "a", "complex", "address", "than", "let", "gcc", "copy", "the", "address", "into", "a", "reg", "and", "make", "a", "new", "pseudo", ".", "But", "not", "if", "the", "address", "requires", "to", "two", "regs", "-", "that", "would", "mean", "more", "pseudos", "with", "longer", "lifetimes", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "10"], "File": "i3864", "Func": "ix86_address_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38210, "Length": 286}
{"ground_truth": ["", "static", "void", "ix86_add_cfa_restore_note", "(", "rtx", "insn", ",", "rtx", "reg", ",", "HOST_WIDE_INT", "cfa_offset", ")", "{", "if", "(", "!", "crtl", "->", "shrink_wrapped", "&&", "cfa_offset", "<=", "cfun", "->", "machine", "->", "fs", ".", "red_zone_offset", ")", "return", ";", "if", "(", "insn", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_RESTORE", ",", "reg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "else", "queued_cfa_restores", "=", "alloc_reg_note", "(", "REG_CFA_RESTORE", ",", "reg", ",", "queued_cfa_restores", ")", ";", "}", ""], "natrual_language": ["Add", "a", "REG_CFA_RESTORE", "REG", "note", "to", "INSN", "or", "queue", "them", "until", "next", "stack", "manipulation", "insn", ".", "The", "value", "is", "on", "the", "stack", "at", "CFA", "-", "CFA_OFFSET", ".", "Do", "n't", "add", "the", "note", "if", "the", "previously", "saved", "value", "will", "be", "left", "untouched", "within", "stack", "red-zone", "till", "return", ",", "as", "unwinders", "can", "find", "the", "same", "value", "in", "the", "register", "and", "on", "the", "stack", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_add_cfa_restore_note", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38211, "Length": 68}
{"ground_truth": ["", "static", "void", "ix86_add_new_builtins", "(", "HOST_WIDE_INT", "isa", ")", "{", "if", "(", "(", "isa", "&", "deferred_isa_values", ")", "==", "0", ")", "return", ";", "deferred_isa_values", "&=", "~", "isa", ";", "int", "i", ";", "tree", "saved_current_target_pragma", "=", "current_target_pragma", ";", "current_target_pragma", "=", "NULL_TREE", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "int", ")", "IX86_BUILTIN_MAX", ";", "i", "++", ")", "{", "if", "(", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa", "&", "isa", ")", "!=", "0", "&&", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", ")", "{", "tree", "decl", ",", "type", ";", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", "=", "false", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ix86_builtins_isa", "[", "i", "]", ".", "tcode", ")", ";", "decl", "=", "add_builtin_function_ext_scope", "(", "ix86_builtins_isa", "[", "i", "]", ".", "name", ",", "type", ",", "i", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "i", "]", "=", "decl", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "const_p", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "leaf_p", ")", "DECL_ATTRIBUTES", "(", "decl", ")", "=", "build_tree_list", "(", "get_identifier", "(", "\"leaf\"", ")", ",", "NULL_TREE", ")", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "nothrow_p", ")", "TREE_NOTHROW", "(", "decl", ")", "=", "1", ";", "}", "}", "current_target_pragma", "=", "saved_current_target_pragma", ";", "}", ""], "natrual_language": ["Add", "any", "new", "builtin", "functions", "for", "a", "given", "ISA", "that", "may", "not", "have", "been", "declared", ".", "This", "saves", "a", "bit", "of", "space", "compared", "to", "adding", "all", "of", "the", "declarations", "to", "the", "tree", ",", "even", "if", "we", "did", "n't", "use", "them", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "\"leaf\"", "1"], "File": "i3864", "Func": "ix86_add_new_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38212, "Length": 195}
{"ground_truth": ["", "static", "unsigned", "ix86_add_stmt_cost", "(", "void", "*", "data", ",", "int", "count", ",", "enum", "vect_cost_for_stmt", "kind", ",", "struct", "_stmt_vec_info", "*", "stmt_info", ",", "int", "misalign", ",", "enum", "vect_cost_model_location", "where", ")", "{", "unsigned", "*", "cost", "=", "(", "unsigned", "*", ")", "data", ";", "unsigned", "retval", "=", "0", ";", "tree", "vectype", "=", "stmt_info", "?", "stmt_vectype", "(", "stmt_info", ")", ":", "NULL_TREE", ";", "int", "stmt_cost", "=", "ix86_builtin_vectorization_cost", "(", "kind", ",", "vectype", ",", "misalign", ")", ";", "if", "(", "where", "==", "vect_body", "&&", "stmt_info", "&&", "stmt_in_inner_loop_p", "(", "stmt_info", ")", ")", "count", "*=", "50", ";", "retval", "=", "(", "unsigned", ")", "(", "count", "*", "stmt_cost", ")", ";", "if", "(", "TARGET_SILVERMONT", "||", "TARGET_INTEL", ")", "if", "(", "stmt_info", "&&", "stmt_info", "->", "stmt", ")", "{", "tree", "lhs_op", "=", "gimple_get_lhs", "(", "stmt_info", "->", "stmt", ")", ";", "if", "(", "lhs_op", "&&", "TREE_CODE", "(", "TREE_TYPE", "(", "lhs_op", ")", ")", "==", "INTEGER_TYPE", ")", "retval", "=", "(", "retval", "*", "17", ")", "/", "10", ";", "}", "cost", "[", "where", "]", "+=", "retval", ";", "return", "retval", ";", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.add_stmt_cost", "."], "TS_V_token": ["i386", "0", "50", "17", "10"], "File": "i3864", "Func": "ix86_add_stmt_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38213, "Length": 156}
{"ground_truth": ["", "static", "void", "ix86_adjust_counter", "(", "rtx", "countreg", ",", "HOST_WIDE_INT", "value", ")", "{", "rtx", "(", "*", "gen_add", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", "=", "GET_MODE", "(", "countreg", ")", "==", "DImode", "?", "gen_adddi3", ":", "gen_addsi3", ";", "emit_insn", "(", "gen_add", "(", "countreg", ",", "countreg", ",", "GEN_INT", "(", "-", "value", ")", ")", ")", ";", "}", ""], "natrual_language": ["Adjust", "COUNTER", "by", "the", "VALUE", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_adjust_counter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38214, "Length": 52}
{"ground_truth": ["", "static", "void", "ix86_adjust_stack_and_probe", "(", "const", "HOST_WIDE_INT", "size", ")", "{", "const", "int", "dope", "=", "4", "*", "UNITS_PER_WORD", ";", "rtx", "size_rtx", "=", "GEN_INT", "(", "size", ")", ",", "last", ";", "if", "(", "size", "<=", "5", "*", "PROBE_INTERVAL", ")", "{", "HOST_WIDE_INT", "i", ",", "adjust", ";", "bool", "first_probe", "=", "true", ";", "for", "(", "i", "=", "PROBE_INTERVAL", ";", "i", "<", "size", ";", "i", "+=", "PROBE_INTERVAL", ")", "{", "if", "(", "first_probe", ")", "{", "adjust", "=", "2", "*", "PROBE_INTERVAL", "+", "dope", ";", "first_probe", "=", "false", ";", "}", "else", "adjust", "=", "PROBE_INTERVAL", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "adjust", ")", ")", ")", ";", "emit_stack_probe", "(", "stack_pointer_rtx", ")", ";", "}", "if", "(", "first_probe", ")", "adjust", "=", "size", "+", "PROBE_INTERVAL", "+", "dope", ";", "else", "adjust", "=", "size", "+", "PROBE_INTERVAL", "-", "i", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "adjust", ")", ")", ")", ";", "emit_stack_probe", "(", "stack_pointer_rtx", ")", ";", "last", "=", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "PROBE_INTERVAL", "+", "dope", ")", ")", ")", ";", "}", "else", "{", "HOST_WIDE_INT", "rounded_size", ";", "struct", "scratch_reg", "sr", ";", "get_scratch_register_on_entry", "(", "&", "sr", ")", ";", "rounded_size", "=", "size", "&", "-", "PROBE_INTERVAL", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "PROBE_INTERVAL", "+", "dope", ")", ")", ")", ")", ";", "emit_move_insn", "(", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "rounded_size", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "sr", ".", "reg", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "sr", ".", "reg", ",", "stack_pointer_rtx", ")", ")", ")", ";", "emit_insn", "(", "ix86_gen_adjust_stack_and_probe", "(", "sr", ".", "reg", ",", "sr", ".", "reg", ",", "size_rtx", ")", ")", ";", "if", "(", "size", "!=", "rounded_size", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "rounded_size", "-", "size", ")", ")", ")", ";", "emit_stack_probe", "(", "stack_pointer_rtx", ")", ";", "}", "last", "=", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "PROBE_INTERVAL", "+", "dope", ")", ")", ")", ";", "release_scratch_register_on_entry", "(", "&", "sr", ")", ";", "}", "gcc_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "cfa_reg", "!=", "stack_pointer_rtx", ")", ";", "if", "(", "size", ">", "0", ")", "{", "rtx", "expr", "=", "gen_rtx_SEQUENCE", "(", "VOIDmode", ",", "rtvec_alloc", "(", "2", ")", ")", ";", "XVECEXP", "(", "expr", ",", "0", ",", "0", ")", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "size", ")", ")", ";", "XVECEXP", "(", "expr", ",", "0", ",", "1", ")", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "PROBE_INTERVAL", "+", "dope", "+", "size", ")", ")", ";", "add_reg_note", "(", "last", ",", "REG_FRAME_RELATED_EXPR", ",", "expr", ")", ";", "RTX_FRAME_RELATED_P", "(", "last", ")", "=", "1", ";", "cfun", "->", "machine", "->", "fs", ".", "sp_offset", "+=", "size", ";", "}", "emit_insn", "(", "gen_blockage", "(", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "adjust", "the", "stack", "pointer", "by", "SIZE", "bytes", "while", "probing", "it", "."], "TS_V_token": ["i386", "4", "5", "2", "0", "2", "0", "0", "0", "1", "1"], "File": "i3864", "Func": "ix86_adjust_stack_and_probe", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38215, "Length": 465}
{"ground_truth": ["", "bool", "ix86_agi_dependent", "(", "rtx_insn", "*", "set_insn", ",", "rtx_insn", "*", "use_insn", ")", "{", "int", "i", ";", "extract_insn_cached", "(", "use_insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "MEM_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "rtx", "addr", "=", "XEXP", "(", "recog_data", ".", "operand", "[", "i", "]", ",", "0", ")", ";", "return", "modified_in_p", "(", "addr", ",", "set_insn", ")", "!=", "0", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "iff", "USE_INSN", "has", "a", "memory", "address", "with", "operands", "set", "by", "SET_INSN", "."], "TS_V_token": ["i386", "1", "0", "0", "0"], "File": "i3864", "Func": "ix86_agi_dependent", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38216, "Length": 80}
{"ground_truth": ["", "void", "ix86_asm_output_function_label", "(", "FILE", "*", "asm_out_file", ",", "const", "char", "*", "fname", ",", "tree", "decl", ")", "{", "bool", "is_ms_hook", "=", "ix86_function_ms_hook_prologue", "(", "decl", ")", ";", "if", "(", "is_ms_hook", ")", "{", "int", "i", ",", "filler_count", "=", "(", "TARGET_64BIT", "?", "32", ":", "16", ")", ";", "unsigned", "int", "filler_cc", "=", "0xcccccccc", ";", "for", "(", "i", "=", "0", ";", "i", "<", "filler_count", ";", "i", "+=", "4", ")", "fprintf", "(", "asm_out_file", ",", "ASM_LONG", "\" %#x\\n\"", ",", "filler_cc", ")", ";", "}", "SUBTARGET_ASM_UNWIND_INIT", "(", "asm_out_file", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "fname", ")", ";", "if", "(", "is_ms_hook", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "asm_fprintf", "(", "asm_out_file", ",", "ASM_BYTE", "\"0x48, 0x8d, 0xa4, 0x24, 0x00, 0x00, 0x00, 0x00\\n\"", ")", ";", "}", "else", "{", "asm_fprintf", "(", "asm_out_file", ",", "ASM_BYTE", "\"0x8b, 0xff, 0x55, 0x8b, 0xec\\n\"", ")", ";", "}", "}", "}", ""], "natrual_language": ["Write", "the", "extra", "assembler", "code", "needed", "to", "declare", "a", "function", "properly", "."], "TS_V_token": ["i386", "32", "16", "0xcccccccc", "0", "4", "\" %#x\\n\"", "\"0x48, 0x8d, 0xa4, 0x24, 0x00, 0x00, 0x00, 0x00\\n\"", "\"0x8b, 0xff, 0x55, 0x8b, 0xec\\n\""], "File": "i3864", "Func": "ix86_asm_output_function_label", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38217, "Length": 117}
{"ground_truth": ["", "int", "ix86_attr_length_address_default", "(", "rtx_insn", "*", "insn", ")", "{", "int", "i", ";", "if", "(", "get_attr_type", "(", "insn", ")", "==", "TYPE_LEA", ")", "{", "rtx", "set", "=", "PATTERN", "(", "insn", ")", ",", "addr", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "addr", "=", "SET_SRC", "(", "set", ")", ";", "return", "memory_address_length", "(", "addr", ",", "true", ")", ";", "}", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "MEM_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "constrain_operands_cached", "(", "insn", ",", "reload_completed", ")", ";", "if", "(", "which_alternative", "!=", "-", "1", ")", "{", "const", "char", "*", "constraints", "=", "recog_data", ".", "constraints", "[", "i", "]", ";", "int", "alt", "=", "which_alternative", ";", "while", "(", "*", "constraints", "==", "'='", "||", "*", "constraints", "==", "'+'", ")", "constraints", "++", ";", "while", "(", "alt", "--", ">", "0", ")", "while", "(", "*", "constraints", "++", "!=", "','", ")", ";", "if", "(", "*", "constraints", "==", "'X'", ")", "continue", ";", "}", "return", "memory_address_length", "(", "XEXP", "(", "recog_data", ".", "operand", "[", "i", "]", ",", "0", ")", ",", "false", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Compute", "default", "value", "for", "``", "length_address", "''", "attribute", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "0", "0", "0"], "File": "i3864", "Func": "ix86_attr_length_address_default", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38218, "Length": 208}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_autovectorize_vector_sizes", "(", "void", ")", "{", "return", "TARGET_AVX512F", "?", "64", "|", "32", "|", "16", ":", "(", "TARGET_AVX", "&&", "!", "TARGET_PREFER_AVX128", ")", "?", "32", "|", "16", ":", "0", ";", "}", ""], "natrual_language": ["If", "AVX", "is", "enabled", "then", "try", "vectorizing", "with", "both", "256bit", "and", "128bit", "vectors", ".", "If", "AVX512F", "is", "enabled", "then", "try", "vectorizing", "with", "512bit", ",", "256bit", "and", "128bit", "vectors", "."], "TS_V_token": ["i386", "64", "32", "16", "32", "16", "0"], "File": "i3864", "Func": "ix86_autovectorize_vector_sizes", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38219, "Length": 31}
{"ground_truth": ["", "static", "void", "ix86_avoid_jump_mispredicts", "(", "void", ")", "{", "rtx_insn", "*", "insn", ",", "*", "start", "=", "get_insns", "(", ")", ";", "int", "nbytes", "=", "0", ",", "njumps", "=", "0", ";", "bool", "isjump", "=", "false", ";", "for", "(", "insn", "=", "start", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "int", "min_size", ";", "if", "(", "LABEL_P", "(", "insn", ")", ")", "{", "int", "align", "=", "label_to_alignment", "(", "insn", ")", ";", "int", "max_skip", "=", "label_to_max_skip", "(", "insn", ")", ";", "if", "(", "max_skip", ">", "15", ")", "max_skip", "=", "15", ";", "if", "(", "align", "<=", "0", "||", "(", "align", "<=", "3", "&&", "max_skip", "!=", "(", "1", "<<", "align", ")", "-", "1", ")", ")", "max_skip", "=", "0", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Label %i with max_skip %i\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "max_skip", ")", ";", "if", "(", "max_skip", ")", "{", "while", "(", "nbytes", "+", "max_skip", ">=", "16", ")", "{", "start", "=", "NEXT_INSN", "(", "start", ")", ";", "if", "(", "(", "JUMP_P", "(", "start", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "start", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "start", ")", ")", "njumps", "--", ",", "isjump", "=", "true", ";", "else", "isjump", "=", "false", ";", "nbytes", "-=", "min_insn_size", "(", "start", ")", ";", "}", "}", "continue", ";", "}", "min_size", "=", "min_insn_size", "(", "insn", ")", ";", "nbytes", "+=", "min_size", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Insn %i estimated to %i bytes\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "min_size", ")", ";", "if", "(", "(", "JUMP_P", "(", "insn", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "insn", ")", ")", "njumps", "++", ";", "else", "continue", ";", "while", "(", "njumps", ">", "3", ")", "{", "start", "=", "NEXT_INSN", "(", "start", ")", ";", "if", "(", "(", "JUMP_P", "(", "start", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "start", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "start", ")", ")", "njumps", "--", ",", "isjump", "=", "true", ";", "else", "isjump", "=", "false", ";", "nbytes", "-=", "min_insn_size", "(", "start", ")", ";", "}", "gcc_assert", "(", "njumps", ">=", "0", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Interval %i to %i has %i bytes\\n\"", ",", "INSN_UID", "(", "start", ")", ",", "INSN_UID", "(", "insn", ")", ",", "nbytes", ")", ";", "if", "(", "njumps", "==", "3", "&&", "isjump", "&&", "nbytes", "<", "16", ")", "{", "int", "padsize", "=", "15", "-", "nbytes", "+", "min_insn_size", "(", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Padding insn %i by %i bytes!\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "padsize", ")", ";", "emit_insn_before", "(", "gen_pad", "(", "GEN_INT", "(", "padsize", ")", ")", ",", "insn", ")", ";", "}", "}", "}", ""], "natrual_language": ["AMD", "K8", "core", "mispredicts", "jumps", "when", "there", "are", "more", "than", "3", "jumps", "in", "16", "byte", "window", "."], "TS_V_token": ["i386", "0", "0", "15", "15", "0", "3", "1", "1", "0", "\"Label %i with max_skip %i\\n\"", "16", "0", "\"Insn %i estimated to %i bytes\\n\"", "0", "3", "0", "0", "\"Interval %i to %i has %i bytes\\n\"", "3", "16", "15", "\"Padding insn %i by %i bytes!\\n\""], "File": "i3864", "Func": "ix86_avoid_jump_mispredicts", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38220, "Length": 404}
{"ground_truth": ["", "bool", "ix86_avoid_lea_for_addr", "(", "rtx_insn", "*", "insn", ",", "rtx", "operands", "[", "]", ")", "{", "unsigned", "int", "regno0", ",", "regno1", ",", "regno2", ";", "int", "split_cost", ";", "struct", "ix86_address", "parts", ";", "int", "ok", ";", "if", "(", "!", "TARGET_AVOID_LEA_FOR_ADDR", "||", "optimize_function_for_size_p", "(", "cfun", ")", ")", "return", "false", ";", "if", "(", "REG_P", "(", "operands", "[", "1", "]", ")", "||", "(", "SImode_address_operand", "(", "operands", "[", "1", "]", ",", "VOIDmode", ")", "&&", "REG_P", "(", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ")", ")", ")", "return", "false", ";", "if", "(", "!", "ix86_ok_to_clobber_flags", "(", "insn", ")", ")", "return", "false", ";", "ok", "=", "ix86_decompose_address", "(", "operands", "[", "1", "]", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "(", "parts", ".", "base", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "index", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "disp", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "scale", ">", "1", ")", "<", "2", ")", "return", "false", ";", "if", "(", "parts", ".", "disp", "&&", "flag_pic", "&&", "!", "LEGITIMATE_PIC_OPERAND_P", "(", "parts", ".", "disp", ")", ")", "return", "false", ";", "regno0", "=", "true_regnum", "(", "operands", "[", "0", "]", ")", ";", "regno1", "=", "INVALID_REGNUM", ";", "regno2", "=", "INVALID_REGNUM", ";", "if", "(", "parts", ".", "base", ")", "regno1", "=", "true_regnum", "(", "parts", ".", "base", ")", ";", "if", "(", "parts", ".", "index", ")", "regno2", "=", "true_regnum", "(", "parts", ".", "index", ")", ";", "split_cost", "=", "0", ";", "if", "(", "parts", ".", "base", "||", "parts", ".", "index", ")", "{", "if", "(", "regno1", "!=", "regno0", "&&", "regno2", "!=", "regno0", ")", "split_cost", "+=", "1", ";", "if", "(", "parts", ".", "base", "&&", "parts", ".", "index", ")", "split_cost", "+=", "1", ";", "if", "(", "parts", ".", "scale", ">", "1", ")", "{", "if", "(", "regno0", "!=", "regno1", ")", "split_cost", "+=", "1", ";", "else", "if", "(", "regno2", "==", "regno0", ")", "split_cost", "+=", "4", ";", "else", "split_cost", "+=", "parts", ".", "scale", ";", "}", "if", "(", "parts", ".", "disp", "&&", "parts", ".", "disp", "!=", "const0_rtx", ")", "split_cost", "+=", "1", ";", "split_cost", "-=", "1", ";", "}", "return", "!", "ix86_lea_outperforms", "(", "insn", ",", "regno0", ",", "regno1", ",", "regno2", ",", "split_cost", ",", "parts", ".", "scale", ">", "1", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "need", "to", "split", "lea", "into", "a", "sequence", "of", "instructions", "to", "avoid", "AGU", "stalls", "during", "peephole2", "."], "TS_V_token": ["i386", "1", "1", "1", "0", "1", "1", "2", "0", "0", "1", "1", "1", "1", "4", "1", "1", "1"], "File": "i3864", "Func": "ix86_avoid_lea_for_addr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38221, "Length": 341}
{"ground_truth": ["", "static", "void", "ix86_avx256_split_vector_move_misalign", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "m", ";", "rtx", "(", "*", "extract", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "load_unaligned", ")", "(", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "store_unaligned", ")", "(", "rtx", ",", "rtx", ")", ";", "machine_mode", "mode", ";", "switch", "(", "GET_MODE", "(", "op0", ")", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "V32QImode", ":", "extract", "=", "gen_avx_vextractf128v32qi", ";", "load_unaligned", "=", "gen_avx_loaddquv32qi", ";", "store_unaligned", "=", "gen_avx_storedquv32qi", ";", "mode", "=", "V16QImode", ";", "break", ";", "case", "V8SFmode", ":", "extract", "=", "gen_avx_vextractf128v8sf", ";", "load_unaligned", "=", "gen_avx_loadups256", ";", "store_unaligned", "=", "gen_avx_storeups256", ";", "mode", "=", "V4SFmode", ";", "break", ";", "case", "V4DFmode", ":", "extract", "=", "gen_avx_vextractf128v4df", ";", "load_unaligned", "=", "gen_avx_loadupd256", ";", "store_unaligned", "=", "gen_avx_storeupd256", ";", "mode", "=", "V2DFmode", ";", "break", ";", "}", "if", "(", "MEM_P", "(", "op1", ")", ")", "{", "if", "(", "TARGET_AVX256_SPLIT_UNALIGNED_LOAD", "&&", "optimize_insn_for_speed_p", "(", ")", ")", "{", "rtx", "r", "=", "gen_reg_rtx", "(", "mode", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "0", ")", ";", "emit_move_insn", "(", "r", ",", "m", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "16", ")", ";", "r", "=", "gen_rtx_VEC_CONCAT", "(", "GET_MODE", "(", "op0", ")", ",", "r", ",", "m", ")", ";", "emit_move_insn", "(", "op0", ",", "r", ")", ";", "}", "else", "if", "(", "misaligned_operand", "(", "op1", ",", "GET_MODE", "(", "op1", ")", ")", ")", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "op0", ",", "op1", ")", ")", ";", "else", "emit_insn", "(", "load_unaligned", "(", "op0", ",", "op1", ")", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "op0", ")", ")", "{", "if", "(", "TARGET_AVX256_SPLIT_UNALIGNED_STORE", "&&", "optimize_insn_for_speed_p", "(", ")", ")", "{", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "0", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "op1", ",", "const0_rtx", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "16", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "op1", ",", "const1_rtx", ")", ")", ";", "}", "else", "emit_insn", "(", "store_unaligned", "(", "op0", ",", "op1", ")", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Split", "32-byte", "AVX", "unaligned", "load", "and", "store", "if", "needed", "."], "TS_V_token": ["i386", "0", "16", "0", "16"], "File": "i3864", "Func": "ix86_avx256_split_vector_move_misalign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38222, "Length": 326}
{"ground_truth": ["", "void", "ix86_avx_emit_vzeroupper", "(", "HARD_REG_SET", "regs_live", ")", "{", "int", "i", ";", "for", "(", "i", "=", "FIRST_SSE_REG", ";", "i", "<=", "LAST_SSE_REG", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "regs_live", ",", "i", ")", "&&", "!", "call_used_regs", "[", "i", "]", ")", "return", ";", "if", "(", "TARGET_64BIT", ")", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "regs_live", ",", "i", ")", "&&", "!", "call_used_regs", "[", "i", "]", ")", "return", ";", "emit_insn", "(", "gen_avx_vzeroupper", "(", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "vzeroupper", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_avx_emit_vzeroupper", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38223, "Length": 82}
{"ground_truth": ["", "static", "int", "ix86_avx_u128_mode_after", "(", "int", "mode", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "vzeroupper_operation", "(", "pat", ",", "VOIDmode", ")", "||", "vzeroall_operation", "(", "pat", ",", "VOIDmode", ")", ")", "return", "AVX_U128_CLEAN", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "bool", "avx_reg256_found", "=", "false", ";", "note_stores", "(", "pat", ",", "ix86_check_avx256_stores", ",", "&", "avx_reg256_found", ")", ";", "return", "avx_reg256_found", "?", "AVX_U128_DIRTY", ":", "AVX_U128_CLEAN", ";", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Calculate", "mode", "of", "upper", "128bit", "AVX", "registers", "after", "the", "insn", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_avx_u128_mode_after", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38224, "Length": 74}
{"ground_truth": ["", "static", "int", "ix86_avx_u128_mode_needed", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "rtx", "link", ";", "for", "(", "link", "=", "CALL_INSN_FUNCTION_USAGE", "(", "insn", ")", ";", "link", ";", "link", "=", "XEXP", "(", "link", ",", "1", ")", ")", "{", "if", "(", "GET_CODE", "(", "XEXP", "(", "link", ",", "0", ")", ")", "==", "USE", ")", "{", "rtx", "arg", "=", "XEXP", "(", "XEXP", "(", "link", ",", "0", ")", ",", "0", ")", ";", "if", "(", "ix86_check_avx256_register", "(", "arg", ")", ")", "return", "AVX_U128_DIRTY", ";", "}", "}", "return", "AVX_U128_CLEAN", ";", "}", "subrtx_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "NONCONST", ")", "if", "(", "ix86_check_avx256_register", "(", "*", "iter", ")", ")", "return", "AVX_U128_DIRTY", ";", "return", "AVX_U128_ANY", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "1", "0", "0", "0"], "File": "i3864", "Func": "ix86_avx_u128_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38225, "Length": 120}
{"ground_truth": ["", "bool", "ix86_bnd_prefixed_insn_p", "(", "rtx", "insn", ")", "{", "if", "(", "insn", "&&", "CALL_P", "(", "insn", ")", ")", "{", "rtx", "call", "=", "get_call_rtx_from", "(", "insn", ")", ";", "if", "(", "call", ")", "return", "CALL_EXPR_WITH_BOUNDS_P", "(", "call", ")", ";", "}", "return", "chkp_function_instrumented_p", "(", "current_function_decl", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "control", "tansfer", "instruction", "INSN", "should", "be", "encoded", "with", "bnd", "prefix", ".", "If", "insn", "is", "NULL", "then", "return", "1", "when", "control", "transfer", "instructions", "should", "be", "prefixed", "with", "bnd", "by", "default", "for", "current", "function", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_bnd_prefixed_insn_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38226, "Length": 43}
{"ground_truth": ["", "static", "tree", "ix86_build_builtin_va_list", "(", "void", ")", "{", "tree", "ret", "=", "ix86_build_builtin_va_list_abi", "(", "ix86_abi", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "tree", "t", ";", "if", "(", "ix86_abi", "==", "MS_ABI", ")", "{", "t", "=", "ix86_build_builtin_va_list_abi", "(", "SYSV_ABI", ")", ";", "if", "(", "TREE_CODE", "(", "t", ")", "!=", "RECORD_TYPE", ")", "t", "=", "build_variant_type_copy", "(", "t", ")", ";", "sysv_va_list_type_node", "=", "t", ";", "}", "else", "{", "t", "=", "ret", ";", "if", "(", "TREE_CODE", "(", "t", ")", "!=", "RECORD_TYPE", ")", "t", "=", "build_variant_type_copy", "(", "t", ")", ";", "sysv_va_list_type_node", "=", "t", ";", "}", "if", "(", "ix86_abi", "!=", "MS_ABI", ")", "{", "t", "=", "ix86_build_builtin_va_list_abi", "(", "MS_ABI", ")", ";", "if", "(", "TREE_CODE", "(", "t", ")", "!=", "RECORD_TYPE", ")", "t", "=", "build_variant_type_copy", "(", "t", ")", ";", "ms_va_list_type_node", "=", "t", ";", "}", "else", "{", "t", "=", "ret", ";", "if", "(", "TREE_CODE", "(", "t", ")", "!=", "RECORD_TYPE", ")", "t", "=", "build_variant_type_copy", "(", "t", ")", ";", "ms_va_list_type_node", "=", "t", ";", "}", "}", "return", "ret", ";", "}", ""], "natrual_language": ["Create", "the", "va_list", "data", "type", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_build_builtin_va_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38227, "Length": 152}
{"ground_truth": ["", "static", "tree", "ix86_build_builtin_va_list_abi", "(", "enum", "calling_abi", "abi", ")", "{", "tree", "f_gpr", ",", "f_fpr", ",", "f_ovf", ",", "f_sav", ",", "record", ",", "type_decl", ";", "if", "(", "!", "TARGET_64BIT", "||", "abi", "==", "MS_ABI", ")", "return", "build_pointer_type", "(", "char_type_node", ")", ";", "record", "=", "lang_hooks", ".", "types", ".", "make_type", "(", "RECORD_TYPE", ")", ";", "type_decl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "TYPE_DECL", ",", "get_identifier", "(", "\"__va_list_tag\"", ")", ",", "record", ")", ";", "f_gpr", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"gp_offset\"", ")", ",", "unsigned_type_node", ")", ";", "f_fpr", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"fp_offset\"", ")", ",", "unsigned_type_node", ")", ";", "f_ovf", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"overflow_arg_area\"", ")", ",", "ptr_type_node", ")", ";", "f_sav", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"reg_save_area\"", ")", ",", "ptr_type_node", ")", ";", "va_list_gpr_counter_field", "=", "f_gpr", ";", "va_list_fpr_counter_field", "=", "f_fpr", ";", "DECL_FIELD_CONTEXT", "(", "f_gpr", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_fpr", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_ovf", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_sav", ")", "=", "record", ";", "TYPE_STUB_DECL", "(", "record", ")", "=", "type_decl", ";", "TYPE_NAME", "(", "record", ")", "=", "type_decl", ";", "TYPE_FIELDS", "(", "record", ")", "=", "f_gpr", ";", "DECL_CHAIN", "(", "f_gpr", ")", "=", "f_fpr", ";", "DECL_CHAIN", "(", "f_fpr", ")", "=", "f_ovf", ";", "DECL_CHAIN", "(", "f_ovf", ")", "=", "f_sav", ";", "layout_type", "(", "record", ")", ";", "return", "build_array_type", "(", "record", ",", "build_index_type", "(", "size_zero_node", ")", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "calling", "convention", "specific", "va_list", "date", "type", ".", "The", "argument", "ABI", "can", "be", "DEFAULT_ABI", ",", "MS_ABI", ",", "or", "SYSV_ABI", "."], "TS_V_token": ["i386", "\"__va_list_tag\"", "\"gp_offset\"", "\"fp_offset\"", "\"overflow_arg_area\"", "\"reg_save_area\""], "File": "i3864", "Func": "ix86_build_builtin_va_list_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38228, "Length": 223}
{"ground_truth": ["", "rtx", "ix86_build_const_vector", "(", "machine_mode", "mode", ",", "bool", "vect", ",", "rtx", "value", ")", "{", "int", "i", ",", "n_elt", ";", "rtvec", "v", ";", "machine_mode", "scalar_mode", ";", "switch", "(", "mode", ")", "{", "case", "V64QImode", ":", "case", "V32QImode", ":", "case", "V16QImode", ":", "case", "V32HImode", ":", "case", "V16HImode", ":", "case", "V8HImode", ":", "case", "V16SImode", ":", "case", "V8SImode", ":", "case", "V4SImode", ":", "case", "V8DImode", ":", "case", "V4DImode", ":", "case", "V2DImode", ":", "gcc_assert", "(", "vect", ")", ";", "case", "V16SFmode", ":", "case", "V8SFmode", ":", "case", "V4SFmode", ":", "case", "V8DFmode", ":", "case", "V4DFmode", ":", "case", "V2DFmode", ":", "n_elt", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "v", "=", "rtvec_alloc", "(", "n_elt", ")", ";", "scalar_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "RTVEC_ELT", "(", "v", ",", "0", ")", "=", "value", ";", "for", "(", "i", "=", "1", ";", "i", "<", "n_elt", ";", "++", "i", ")", "RTVEC_ELT", "(", "v", ",", "i", ")", "=", "vect", "?", "value", ":", "CONST0_RTX", "(", "scalar_mode", ")", ";", "return", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "v", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_build_signbit_mask", ".", "If", "VECT", "is", "true", ",", "then", "replicate", "the", "value", "for", "all", "elements", "of", "the", "vector", "register", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3864", "Func": "ix86_build_const_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38229, "Length": 163}
{"ground_truth": ["", "rtx", "ix86_build_signbit_mask", "(", "machine_mode", "mode", ",", "bool", "vect", ",", "bool", "invert", ")", "{", "machine_mode", "vec_mode", ",", "imode", ";", "HOST_WIDE_INT", "hi", ",", "lo", ";", "int", "shift", "=", "63", ";", "rtx", "v", ";", "rtx", "mask", ";", "switch", "(", "mode", ")", "{", "case", "V16SImode", ":", "case", "V16SFmode", ":", "case", "V8SImode", ":", "case", "V4SImode", ":", "case", "V8SFmode", ":", "case", "V4SFmode", ":", "vec_mode", "=", "mode", ";", "mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "imode", "=", "SImode", ";", "lo", "=", "0x80000000", ",", "hi", "=", "lo", "<", "0", ";", "break", ";", "case", "V8DImode", ":", "case", "V4DImode", ":", "case", "V2DImode", ":", "case", "V8DFmode", ":", "case", "V4DFmode", ":", "case", "V2DFmode", ":", "vec_mode", "=", "mode", ";", "mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "imode", "=", "DImode", ";", "if", "(", "HOST_BITS_PER_WIDE_INT", ">=", "64", ")", "lo", "=", "(", "HOST_WIDE_INT", ")", "1", "<<", "shift", ",", "hi", "=", "-", "1", ";", "else", "lo", "=", "0", ",", "hi", "=", "(", "HOST_WIDE_INT", ")", "1", "<<", "(", "shift", "-", "HOST_BITS_PER_WIDE_INT", ")", ";", "break", ";", "case", "TImode", ":", "case", "TFmode", ":", "vec_mode", "=", "VOIDmode", ";", "if", "(", "HOST_BITS_PER_WIDE_INT", ">=", "64", ")", "{", "imode", "=", "TImode", ";", "lo", "=", "0", ",", "hi", "=", "(", "HOST_WIDE_INT", ")", "1", "<<", "shift", ";", "}", "else", "{", "rtvec", "vec", ";", "imode", "=", "DImode", ";", "lo", "=", "0", ",", "hi", "=", "(", "HOST_WIDE_INT", ")", "1", "<<", "(", "shift", "-", "HOST_BITS_PER_WIDE_INT", ")", ";", "if", "(", "invert", ")", "{", "lo", "=", "~", "lo", ",", "hi", "=", "~", "hi", ";", "v", "=", "constm1_rtx", ";", "}", "else", "v", "=", "const0_rtx", ";", "mask", "=", "immed_double_const", "(", "lo", ",", "hi", ",", "imode", ")", ";", "vec", "=", "gen_rtvec", "(", "2", ",", "v", ",", "mask", ")", ";", "v", "=", "gen_rtx_CONST_VECTOR", "(", "V2DImode", ",", "vec", ")", ";", "v", "=", "copy_to_mode_reg", "(", "mode", ",", "gen_lowpart", "(", "mode", ",", "v", ")", ")", ";", "return", "v", ";", "}", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "invert", ")", "lo", "=", "~", "lo", ",", "hi", "=", "~", "hi", ";", "mask", "=", "immed_double_const", "(", "lo", ",", "hi", ",", "imode", ")", ";", "mask", "=", "gen_lowpart", "(", "mode", ",", "mask", ")", ";", "if", "(", "vec_mode", "==", "VOIDmode", ")", "return", "force_reg", "(", "mode", ",", "mask", ")", ";", "v", "=", "ix86_build_const_vector", "(", "vec_mode", ",", "vect", ",", "mask", ")", ";", "return", "force_reg", "(", "vec_mode", ",", "v", ")", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_fp_absneg_operator", "and", "copysign", "expanders", ".", "Create", "a", "mask", "for", "the", "sign", "bit", "in", "MODE", "for", "an", "SSE", "register", ".", "If", "VECT", "is", "true", ",", "then", "replicate", "the", "mask", "for", "all", "elements", "of", "the", "vector", "register", ".", "If", "INVERT", "is", "true", ",", "then", "create", "a", "mask", "excluding", "the", "sign", "bit", "."], "TS_V_token": ["i386", "63", "0x80000000", "0", "64", "1", "1", "0", "1", "64", "0", "1", "0", "1", "2"], "File": "i3864", "Func": "ix86_build_signbit_mask", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38230, "Length": 369}
{"ground_truth": ["", "static", "tree", "ix86_builtin_decl", "(", "unsigned", "code", ",", "bool", ")", "{", "if", "(", "code", ">=", "IX86_BUILTIN_MAX", ")", "return", "error_mark_node", ";", "return", "ix86_builtins", "[", "code", "]", ";", "}", ""], "natrual_language": ["Return", "the", "ix86", "builtin", "for", "CODE", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_builtin_decl", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38231, "Length": 26}
{"ground_truth": ["", "static", "tree", "ix86_builtin_mpx_function", "(", "unsigned", "fcode", ")", "{", "switch", "(", "fcode", ")", "{", "case", "BUILT_IN_CHKP_BNDMK", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDMK", "]", ";", "case", "BUILT_IN_CHKP_BNDSTX", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDSTX", "]", ";", "case", "BUILT_IN_CHKP_BNDLDX", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDLDX", "]", ";", "case", "BUILT_IN_CHKP_BNDCL", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDCL", "]", ";", "case", "BUILT_IN_CHKP_BNDCU", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDCU", "]", ";", "case", "BUILT_IN_CHKP_BNDRET", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDRET", "]", ";", "case", "BUILT_IN_CHKP_INTERSECT", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDINT", "]", ";", "case", "BUILT_IN_CHKP_NARROW", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDNARROW", "]", ";", "case", "BUILT_IN_CHKP_SIZEOF", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_SIZEOF", "]", ";", "case", "BUILT_IN_CHKP_EXTRACT_LOWER", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDLOWER", "]", ";", "case", "BUILT_IN_CHKP_EXTRACT_UPPER", ":", "return", "ix86_builtins", "[", "IX86_BUILTIN_BNDUPPER", "]", ";", "default", ":", "return", "NULL_TREE", ";", "}", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Return", "function", "decl", "for", "target", "specific", "builtin", "for", "given", "MPX", "builtin", "passed", "i", "FCODE", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_builtin_mpx_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38232, "Length": 123}
{"ground_truth": ["", "static", "tree", "ix86_builtin_reciprocal", "(", "unsigned", "int", "fn", ",", "bool", "md_fn", ",", "bool", ")", "{", "if", "(", "!", "(", "TARGET_SSE_MATH", "&&", "!", "optimize_insn_for_size_p", "(", ")", "&&", "flag_finite_math_only", "&&", "!", "flag_trapping_math", "&&", "flag_unsafe_math_optimizations", ")", ")", "return", "NULL_TREE", ";", "if", "(", "md_fn", ")", "switch", "(", "fn", ")", "{", "case", "IX86_BUILTIN_SQRTPS_NR", ":", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_RSQRTPS_NR", ")", ";", "case", "IX86_BUILTIN_SQRTPS_NR256", ":", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_RSQRTPS_NR256", ")", ";", "default", ":", "return", "NULL_TREE", ";", "}", "else", "switch", "(", "fn", ")", "{", "case", "BUILT_IN_SQRTF", ":", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_RSQRTF", ")", ";", "default", ":", "return", "NULL_TREE", ";", "}", "}", ""], "natrual_language": ["Returns", "a", "code", "for", "a", "target-specific", "builtin", "that", "implements", "reciprocal", "of", "the", "function", ",", "or", "NULL_TREE", "if", "not", "available", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_builtin_reciprocal", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38233, "Length": 91}
{"ground_truth": ["", "static", "rtx", "ix86_builtin_setjmp_frame_value", "(", "void", ")", "{", "return", "stack_realign_fp", "?", "hard_frame_pointer_rtx", ":", "virtual_stack_vars_rtx", ";", "}", ""], "natrual_language": ["In", "a", "dynamically-aligned", "function", ",", "we", "ca", "n't", "know", "the", "offset", "from", "stack", "pointer", "to", "frame", "pointer", ",", "so", "we", "must", "ensure", "that", "setjmp", "eliminates", "fp", "against", "the", "hard", "fp", "(", "%", "ebp", ")", "rather", "than", "trying", "to", "index", "from", "%", "esp", "up", "to", "the", "top", "of", "the", "frame", "across", "a", "gap", "that", "is", "of", "unknown", "(", "at", "compile-time", ")", "size", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_builtin_setjmp_frame_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38234, "Length": 15}
{"ground_truth": ["", "static", "tree", "ix86_builtin_tm_load", "(", "tree", "type", ")", "{", "if", "(", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", ")", "{", "switch", "(", "tree_to_uhwi", "(", "TYPE_SIZE", "(", "type", ")", ")", ")", "{", "case", "64", ":", "return", "builtin_decl_explicit", "(", "BUILT_IN_TM_LOAD_M64", ")", ";", "case", "128", ":", "return", "builtin_decl_explicit", "(", "BUILT_IN_TM_LOAD_M128", ")", ";", "case", "256", ":", "return", "builtin_decl_explicit", "(", "BUILT_IN_TM_LOAD_M256", ")", ";", "}", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Return", "the", "builtin", "decl", "needed", "to", "load", "a", "vector", "of", "TYPE", "."], "TS_V_token": ["i386", "64", "128", "256"], "File": "i3864", "Func": "ix86_builtin_tm_load", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38235, "Length": 62}
{"ground_truth": ["", "static", "tree", "ix86_builtin_tm_store", "(", "tree", "type", ")", "{", "if", "(", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", ")", "{", "switch", "(", "tree_to_uhwi", "(", "TYPE_SIZE", "(", "type", ")", ")", ")", "{", "case", "64", ":", "return", "builtin_decl_explicit", "(", "BUILT_IN_TM_STORE_M64", ")", ";", "case", "128", ":", "return", "builtin_decl_explicit", "(", "BUILT_IN_TM_STORE_M128", ")", ";", "case", "256", ":", "return", "builtin_decl_explicit", "(", "BUILT_IN_TM_STORE_M256", ")", ";", "}", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Return", "the", "builtin", "decl", "needed", "to", "store", "a", "vector", "of", "TYPE", "."], "TS_V_token": ["i386", "64", "128", "256"], "File": "i3864", "Func": "ix86_builtin_tm_store", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38236, "Length": 62}
{"ground_truth": ["", "static", "int", "ix86_builtin_vectorization_cost", "(", "enum", "vect_cost_for_stmt", "type_of_cost", ",", "tree", "vectype", ",", "int", ")", "{", "unsigned", "elements", ";", "switch", "(", "type_of_cost", ")", "{", "case", "scalar_stmt", ":", "return", "ix86_cost", "->", "scalar_stmt_cost", ";", "case", "scalar_load", ":", "return", "ix86_cost", "->", "scalar_load_cost", ";", "case", "scalar_store", ":", "return", "ix86_cost", "->", "scalar_store_cost", ";", "case", "vector_stmt", ":", "return", "ix86_cost", "->", "vec_stmt_cost", ";", "case", "vector_load", ":", "return", "ix86_cost", "->", "vec_align_load_cost", ";", "case", "vector_store", ":", "return", "ix86_cost", "->", "vec_store_cost", ";", "case", "vec_to_scalar", ":", "return", "ix86_cost", "->", "vec_to_scalar_cost", ";", "case", "scalar_to_vec", ":", "return", "ix86_cost", "->", "scalar_to_vec_cost", ";", "case", "unaligned_load", ":", "case", "unaligned_store", ":", "return", "ix86_cost", "->", "vec_unalign_load_cost", ";", "case", "cond_branch_taken", ":", "return", "ix86_cost", "->", "cond_taken_branch_cost", ";", "case", "cond_branch_not_taken", ":", "return", "ix86_cost", "->", "cond_not_taken_branch_cost", ";", "case", "vec_perm", ":", "case", "vec_promote_demote", ":", "return", "ix86_cost", "->", "vec_stmt_cost", ";", "case", "vec_construct", ":", "elements", "=", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ";", "return", "elements", "/", "2", "+", "1", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.builtin_vectorization_cost", "."], "TS_V_token": ["i386", "2", "1"], "File": "i3864", "Func": "ix86_builtin_vectorization_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38237, "Length": 149}
{"ground_truth": ["", "void", "ix86_call_abi_override", "(", "const_tree", "fndecl", ")", "{", "if", "(", "fndecl", "==", "NULL_TREE", ")", "cfun", "->", "machine", "->", "call_abi", "=", "ix86_abi", ";", "else", "cfun", "->", "machine", "->", "call_abi", "=", "ix86_function_type_abi", "(", "TREE_TYPE", "(", "fndecl", ")", ")", ";", "}", ""], "natrual_language": ["Implementation", "of", "call", "abi", "switching", "target", "hook", ".", "Specific", "to", "FNDECL", "the", "specific", "call", "register", "sets", "are", "set", ".", "See", "also", "ix86_conditional_register_usage", "for", "more", "details", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_call_abi_override", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38238, "Length": 37}
{"ground_truth": ["", "bool", "ix86_cannot_change_mode_class", "(", "machine_mode", "from", ",", "machine_mode", "to", ",", "enum", "reg_class", "regclass", ")", "{", "if", "(", "from", "==", "to", ")", "return", "false", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "regclass", ")", ")", "return", "true", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "||", "MAYBE_MMX_CLASS_P", "(", "regclass", ")", ")", "{", "if", "(", "GET_MODE_SIZE", "(", "from", ")", "<", "4", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "registers", "in", "CLASS", "can", "not", "represent", "the", "change", "from", "modes", "FROM", "to", "TO", "."], "TS_V_token": ["i386", "4"], "File": "i3864", "Func": "ix86_cannot_change_mode_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38239, "Length": 63}
{"ground_truth": ["", "static", "bool", "ix86_cannot_force_const_mem", "(", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST_INT", ":", "case", "CONST_DOUBLE", ":", "case", "CONST_VECTOR", ":", "return", "false", ";", "default", ":", "break", ";", "}", "return", "!", "ix86_legitimate_constant_p", "(", "mode", ",", "x", ")", ";", "}", ""], "natrual_language": ["Determine", "if", "it", "'s", "legal", "to", "put", "X", "into", "the", "constant", "pool", ".", "This", "is", "not", "possible", "for", "the", "address", "of", "thread-local", "symbols", ",", "which", "is", "checked", "above", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_cannot_force_const_mem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38240, "Length": 46}
{"ground_truth": ["", "static", "tree", "ix86_canonical_va_list_type", "(", "tree", "type", ")", "{", "tree", "wtype", ",", "htype", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "MEM_REF", ")", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "else", "if", "(", "POINTER_TYPE_P", "(", "type", ")", "&&", "POINTER_TYPE_P", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "else", "if", "(", "POINTER_TYPE_P", "(", "type", ")", "&&", "TREE_CODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "ARRAY_TYPE", ")", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "if", "(", "TARGET_64BIT", "&&", "va_list_type_node", "!=", "NULL_TREE", ")", "{", "wtype", "=", "va_list_type_node", ";", "gcc_assert", "(", "wtype", "!=", "NULL_TREE", ")", ";", "htype", "=", "type", ";", "if", "(", "TREE_CODE", "(", "wtype", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TREE_CODE", "(", "htype", ")", "==", "ARRAY_TYPE", "||", "POINTER_TYPE_P", "(", "htype", ")", ")", "{", "wtype", "=", "TREE_TYPE", "(", "wtype", ")", ";", "htype", "=", "TREE_TYPE", "(", "htype", ")", ";", "}", "}", "if", "(", "TYPE_MAIN_VARIANT", "(", "wtype", ")", "==", "TYPE_MAIN_VARIANT", "(", "htype", ")", ")", "return", "va_list_type_node", ";", "wtype", "=", "sysv_va_list_type_node", ";", "gcc_assert", "(", "wtype", "!=", "NULL_TREE", ")", ";", "htype", "=", "type", ";", "if", "(", "TREE_CODE", "(", "wtype", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TREE_CODE", "(", "htype", ")", "==", "ARRAY_TYPE", "||", "POINTER_TYPE_P", "(", "htype", ")", ")", "{", "wtype", "=", "TREE_TYPE", "(", "wtype", ")", ";", "htype", "=", "TREE_TYPE", "(", "htype", ")", ";", "}", "}", "if", "(", "TYPE_MAIN_VARIANT", "(", "wtype", ")", "==", "TYPE_MAIN_VARIANT", "(", "htype", ")", ")", "return", "sysv_va_list_type_node", ";", "wtype", "=", "ms_va_list_type_node", ";", "gcc_assert", "(", "wtype", "!=", "NULL_TREE", ")", ";", "htype", "=", "type", ";", "if", "(", "TREE_CODE", "(", "wtype", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TREE_CODE", "(", "htype", ")", "==", "ARRAY_TYPE", "||", "POINTER_TYPE_P", "(", "htype", ")", ")", "{", "wtype", "=", "TREE_TYPE", "(", "wtype", ")", ";", "htype", "=", "TREE_TYPE", "(", "htype", ")", ";", "}", "}", "if", "(", "TYPE_MAIN_VARIANT", "(", "wtype", ")", "==", "TYPE_MAIN_VARIANT", "(", "htype", ")", ")", "return", "ms_va_list_type_node", ";", "return", "NULL_TREE", ";", "}", "return", "std_canonical_va_list_type", "(", "type", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "canonical", "va_list", "type", "specified", "by", "TYPE", ".", "If", "there", "is", "no", "valid", "TYPE", "provided", ",", "it", "return", "NULL_TREE", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_canonical_va_list_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38241, "Length": 310}
{"ground_truth": ["", "static", "bool", "ix86_can_inline_p", "(", "tree", "caller", ",", "tree", "callee", ")", "{", "bool", "ret", "=", "false", ";", "tree", "caller_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "caller", ")", ";", "tree", "callee_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "callee", ")", ";", "if", "(", "!", "callee_tree", ")", "ret", "=", "true", ";", "else", "if", "(", "!", "caller_tree", ")", "ret", "=", "false", ";", "else", "{", "struct", "cl_target_option", "*", "caller_opts", "=", "TREE_TARGET_OPTION", "(", "caller_tree", ")", ";", "struct", "cl_target_option", "*", "callee_opts", "=", "TREE_TARGET_OPTION", "(", "callee_tree", ")", ";", "if", "(", "(", "caller_opts", "->", "x_ix86_isa_flags", "&", "callee_opts", "->", "x_ix86_isa_flags", ")", "!=", "callee_opts", "->", "x_ix86_isa_flags", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "x_target_flags", "!=", "callee_opts", "->", "x_target_flags", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "arch", "!=", "callee_opts", "->", "arch", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "tune", "!=", "callee_opts", "->", "tune", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "x_ix86_fpmath", "!=", "callee_opts", "->", "x_ix86_fpmath", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "branch_cost", "!=", "callee_opts", "->", "branch_cost", ")", "ret", "=", "false", ";", "else", "ret", "=", "true", ";", "}", "return", "ret", ";", "}", ""], "natrual_language": ["Hook", "to", "determine", "if", "one", "function", "can", "safely", "inline", "another", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_can_inline_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38242, "Length": 178}
{"ground_truth": ["", "bool", "ix86_can_use_return_insn_p", "(", "void", ")", "{", "struct", "ix86_frame", "frame", ";", "if", "(", "!", "reload_completed", "||", "frame_pointer_needed", ")", "return", "0", ";", "if", "(", "crtl", "->", "args", ".", "pops_args", "&&", "crtl", "->", "args", ".", "size", ">=", "32768", ")", "return", "0", ";", "ix86_compute_frame_layout", "(", "&", "frame", ")", ";", "return", "(", "frame", ".", "stack_pointer_offset", "==", "UNITS_PER_WORD", "&&", "(", "frame", ".", "nregs", "+", "frame", ".", "nsseregs", ")", "==", "0", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "it", "is", "appropriate", "to", "emit", "`", "ret", "'", "instructions", "in", "the", "body", "of", "a", "function", ".", "Do", "this", "only", "if", "the", "epilogue", "is", "simple", ",", "needing", "a", "couple", "of", "insns", ".", "Prior", "to", "reloading", ",", "we", "ca", "n't", "tell", "how", "many", "registers", "must", "be", "saved", ",", "so", "return", "0", "then", ".", "Return", "0", "if", "there", "is", "no", "frame", "marker", "to", "de-allocate", "."], "TS_V_token": ["i386", "0", "32768", "0", "0"], "File": "i3864", "Func": "ix86_can_use_return_insn_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38243, "Length": 67}
{"ground_truth": ["", "static", "machine_mode", "ix86_cc_modes_compatible", "(", "machine_mode", "m1", ",", "machine_mode", "m2", ")", "{", "if", "(", "m1", "==", "m2", ")", "return", "m1", ";", "if", "(", "GET_MODE_CLASS", "(", "m1", ")", "!=", "MODE_CC", "||", "GET_MODE_CLASS", "(", "m2", ")", "!=", "MODE_CC", ")", "return", "VOIDmode", ";", "if", "(", "(", "m1", "==", "CCGCmode", "&&", "m2", "==", "CCGOCmode", ")", "||", "(", "m1", "==", "CCGOCmode", "&&", "m2", "==", "CCGCmode", ")", ")", "return", "CCGCmode", ";", "if", "(", "m1", "==", "CCZmode", "&&", "(", "m2", "==", "CCGCmode", "||", "m2", "==", "CCGOCmode", ")", ")", "return", "m2", ";", "else", "if", "(", "m2", "==", "CCZmode", "&&", "(", "m1", "==", "CCGCmode", "||", "m1", "==", "CCGOCmode", ")", ")", "return", "m1", ";", "switch", "(", "m1", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "CCmode", ":", "case", "CCGCmode", ":", "case", "CCGOCmode", ":", "case", "CCNOmode", ":", "case", "CCAmode", ":", "case", "CCCmode", ":", "case", "CCOmode", ":", "case", "CCSmode", ":", "case", "CCZmode", ":", "switch", "(", "m2", ")", "{", "default", ":", "return", "VOIDmode", ";", "case", "CCmode", ":", "case", "CCGCmode", ":", "case", "CCGOCmode", ":", "case", "CCNOmode", ":", "case", "CCAmode", ":", "case", "CCCmode", ":", "case", "CCOmode", ":", "case", "CCSmode", ":", "case", "CCZmode", ":", "return", "CCmode", ";", "}", "case", "CCFPmode", ":", "case", "CCFPUmode", ":", "return", "VOIDmode", ";", "}", "}", ""], "natrual_language": ["If", "two", "condition", "code", "modes", "are", "compatible", ",", "return", "a", "condition", "code", "mode", "which", "is", "compatible", "with", "both", ".", "Otherwise", ",", "return", "VOIDmode", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_cc_modes_compatible", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38244, "Length": 193}
{"ground_truth": ["", "enum", "calling_abi", "ix86_cfun_abi", "(", "void", ")", "{", "if", "(", "!", "cfun", ")", "return", "ix86_abi", ";", "return", "cfun", "->", "machine", "->", "call_abi", ";", "}", ""], "natrual_language": ["Returns", "value", "SYSV_ABI", ",", "MS_ABI", "dependent", "on", "cfun", ",", "specifying", "the", "call", "abi", "used", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_cfun_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38245, "Length": 23}
{"ground_truth": ["", "static", "bool", "ix86_check_avx256_register", "(", "const_rtx", "exp", ")", "{", "if", "(", "GET_CODE", "(", "exp", ")", "==", "SUBREG", ")", "exp", "=", "SUBREG_REG", "(", "exp", ")", ";", "return", "(", "REG_P", "(", "exp", ")", "&&", "VALID_AVX256_REG_OR_OI_MODE", "(", "GET_MODE", "(", "exp", ")", ")", ")", ";", "}", ""], "natrual_language": ["Check", "if", "a", "256bit", "AVX", "register", "is", "referenced", "inside", "of", "EXP", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_check_avx256_register", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38246, "Length": 41}
{"ground_truth": ["", "static", "void", "ix86_check_avx256_stores", "(", "rtx", "dest", ",", "const_rtx", ",", "void", "*", "data", ")", "{", "if", "(", "ix86_check_avx256_register", "(", "dest", ")", ")", "{", "bool", "*", "used", "=", "(", "bool", "*", ")", "data", ";", "*", "used", "=", "true", ";", "}", "}", ""], "natrual_language": ["Check", "if", "a", "256bit", "AVX", "register", "is", "referenced", "in", "stores", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_check_avx256_stores", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38247, "Length": 39}
{"ground_truth": ["", "bool", "ix86_check_movabs", "(", "rtx", "insn", ",", "int", "opnum", ")", "{", "rtx", "set", ",", "mem", ";", "set", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "mem", "=", "XEXP", "(", "set", ",", "opnum", ")", ";", "while", "(", "GET_CODE", "(", "mem", ")", "==", "SUBREG", ")", "mem", "=", "SUBREG_REG", "(", "mem", ")", ";", "gcc_assert", "(", "MEM_P", "(", "mem", ")", ")", ";", "return", "volatile_ok", "||", "!", "MEM_VOLATILE_P", "(", "mem", ")", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "OPNUM", "'s", "MEM", "should", "be", "matched", "in", "movabs", "*", "patterns", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3864", "Func": "ix86_check_movabs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38248, "Length": 95}
{"ground_truth": ["", "static", "bool", "ix86_class_likely_spilled_p", "(", "reg_class_t", "rclass", ")", "{", "switch", "(", "rclass", ")", "{", "case", "AREG", ":", "case", "DREG", ":", "case", "CREG", ":", "case", "BREG", ":", "case", "AD_REGS", ":", "case", "SIREG", ":", "case", "DIREG", ":", "case", "SSE_FIRST_REG", ":", "case", "FP_TOP_REG", ":", "case", "FP_SECOND_REG", ":", "case", "BND_REGS", ":", "return", "true", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Implement", "TARGET_CLASS_LIKELY_SPILLED_P", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_class_likely_spilled_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38249, "Length": 58}
{"ground_truth": ["", "static", "unsigned", "char", "ix86_class_max_nregs", "(", "reg_class_t", "rclass", ",", "machine_mode", "mode", ")", "{", "if", "(", "MAYBE_INTEGER_CLASS_P", "(", "rclass", ")", ")", "{", "if", "(", "mode", "==", "XFmode", ")", "return", "(", "TARGET_64BIT", "?", "2", ":", "3", ")", ";", "else", "if", "(", "mode", "==", "XCmode", ")", "return", "(", "TARGET_64BIT", "?", "4", ":", "6", ")", ";", "else", "return", "(", "(", "GET_MODE_SIZE", "(", "mode", ")", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ")", ";", "}", "else", "{", "if", "(", "COMPLEX_MODE_P", "(", "mode", ")", ")", "return", "2", ";", "else", "return", "1", ";", "}", "}", ""], "natrual_language": ["Implement", "the", "TARGET_CLASS_MAX_NREGS", "hook", ".", "On", "the", "80386", ",", "this", "is", "the", "size", "of", "MODE", "in", "words", ",", "except", "in", "the", "FP", "regs", ",", "where", "a", "single", "reg", "is", "always", "enough", "."], "TS_V_token": ["i386", "2", "3", "4", "6", "1", "2", "1"], "File": "i3864", "Func": "ix86_class_max_nregs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38250, "Length": 87}
{"ground_truth": ["", "static", "void", "ix86_code_end", "(", "void", ")", "{", "rtx", "xops", "[", "2", "]", ";", "int", "regno", ";", "for", "(", "regno", "=", "AX_REG", ";", "regno", "<=", "SP_REG", ";", "regno", "++", ")", "{", "char", "name", "[", "32", "]", ";", "tree", "decl", ";", "if", "(", "!", "(", "pic_labels_used", "&", "(", "1", "<<", "regno", ")", ")", ")", "continue", ";", "get_pc_thunk_name", "(", "name", ",", "regno", ")", ";", "decl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "build_function_type_list", "(", "void_type_node", ",", "NULL_TREE", ")", ")", ";", "DECL_RESULT", "(", "decl", ")", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "void_type_node", ")", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "1", ";", "TREE_STATIC", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "1", ";", "if", "(", "TARGET_MACHO", ")", "{", "switch_to_section", "(", "darwin_sections", "[", "text_coal_section", "]", ")", ";", "fputs", "(", "\"\\t.weak_definition\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\n\\t.private_extern\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "DECL_WEAK", "(", "decl", ")", "=", "1", ";", "}", "else", "if", "(", "USE_HIDDEN_LINKONCE", ")", "{", "cgraph_node", "::", "create", "(", "decl", ")", "->", "set_comdat_group", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "targetm", ".", "asm_out", ".", "unique_section", "(", "decl", ",", "0", ")", ";", "switch_to_section", "(", "get_named_section", "(", "decl", ",", "NULL", ",", "0", ")", ")", ";", "targetm", ".", "asm_out", ".", "globalize_label", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\t.hidden\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_DECLARE_FUNCTION_NAME", "(", "asm_out_file", ",", "name", ",", "decl", ")", ";", "}", "else", "{", "switch_to_section", "(", "text_section", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "}", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "current_function_decl", "=", "decl", ";", "init_function_start", "(", "decl", ")", ";", "first_function_block_is_cold", "=", "false", ";", "final_start_function", "(", "emit_barrier", "(", ")", ",", "asm_out_file", ",", "1", ")", ";", "if", "(", "TARGET_PAD_SHORT_FUNCTION", ")", "{", "int", "i", "=", "8", ";", "while", "(", "i", "--", ")", "fputs", "(", "\"\\tnop\\n\"", ",", "asm_out_file", ")", ";", "}", "xops", "[", "0", "]", "=", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "xops", "[", "1", "]", "=", "gen_rtx_MEM", "(", "Pmode", ",", "stack_pointer_rtx", ")", ";", "output_asm_insn", "(", "\"mov%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "output_asm_insn", "(", "\"%!ret\"", ",", "NULL", ")", ";", "final_end_function", "(", ")", ";", "init_insn_lengths", "(", ")", ";", "free_after_compilation", "(", "cfun", ")", ";", "set_cfun", "(", "NULL", ")", ";", "current_function_decl", "=", "NULL", ";", "}", "if", "(", "flag_split_stack", ")", "file_end_indicate_split_stack", "(", ")", ";", "}", ""], "natrual_language": ["This", "function", "generates", "code", "for", "-fpic", "that", "loads", "%", "ebx", "with", "the", "return", "address", "of", "the", "caller", "and", "then", "returns", "."], "TS_V_token": ["i386", "2", "32", "1", "1", "1", "1", "\"\\t.weak_definition\\t\"", "\"\\n\\t.private_extern\\t\"", "1", "0", "0", "\"\\t.hidden\\t\"", "1", "8", "\"\\tnop\\n\"", "0", "1", "\"mov%z0\\t{%1, %0|%0, %1}\"", "\"%!ret\""], "File": "i3864", "Func": "ix86_code_end", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38251, "Length": 410}
{"ground_truth": ["", "static", "int", "ix86_compare_version_priority", "(", "tree", "decl1", ",", "tree", "decl2", ")", "{", "unsigned", "int", "priority1", "=", "get_builtin_code_for_version", "(", "decl1", ",", "NULL", ")", ";", "unsigned", "int", "priority2", "=", "get_builtin_code_for_version", "(", "decl2", ",", "NULL", ")", ";", "return", "(", "int", ")", "priority1", "-", "(", "int", ")", "priority2", ";", "}", ""], "natrual_language": ["This", "compares", "the", "priority", "of", "target", "features", "in", "function", "DECL1", "and", "DECL2", ".", "It", "returns", "positive", "value", "if", "DECL1", "is", "higher", "priority", ",", "negative", "value", "if", "DECL2", "is", "higher", "priority", "and", "0", "if", "they", "are", "the", "same", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_compare_version_priority", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38252, "Length": 45}
{"ground_truth": ["", "static", "void", "ix86_conditional_register_usage", "(", "void", ")", "{", "int", "i", ",", "c_mask", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "for", "(", "i", "=", "FIRST_REX_INT_REG", ";", "i", "<=", "LAST_REX_INT_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "}", "c_mask", "=", "(", "TARGET_64BIT_MS_ABI", "?", "(", "1", "<<", "3", ")", ":", "TARGET_64BIT", "?", "(", "1", "<<", "2", ")", ":", "(", "1", "<<", "1", ")", ")", ";", "CLEAR_HARD_REG_SET", "(", "reg_class_contents", "[", "(", "int", ")", "CLOBBERED_REGS", "]", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "{", "if", "(", "call_used_regs", "[", "i", "]", ">", "1", ")", "call_used_regs", "[", "i", "]", "=", "!", "!", "(", "call_used_regs", "[", "i", "]", "&", "c_mask", ")", ";", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "GENERAL_REGS", "]", ",", "i", ")", "&&", "call_used_regs", "[", "i", "]", ")", "SET_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "CLOBBERED_REGS", "]", ",", "i", ")", ";", "}", "if", "(", "!", "TARGET_MMX", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "MMX_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "TARGET_SSE", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "SSE_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "(", "TARGET_80387", "||", "TARGET_FLOAT_RETURNS_IN_80387", ")", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "FLOAT_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "TARGET_AVX512F", ")", "{", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_MASK_REG", ";", "i", "<=", "LAST_MASK_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "}", "if", "(", "!", "TARGET_MPX", ")", "for", "(", "i", "=", "FIRST_BND_REG", ";", "i", "<=", "LAST_BND_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "}", ""], "natrual_language": ["Update", "register", "usage", "after", "having", "seen", "the", "compiler", "flags", "."], "TS_V_token": ["i386", "1", "\"\"", "1", "\"\"", "1", "\"\"", "1", "3", "1", "2", "1", "1", "0", "1", "0", "1", "\"\"", "0", "1", "\"\"", "0", "1", "\"\"", "1", "\"\"", "1", "\"\"", "1", "\"\""], "File": "i3864", "Func": "ix86_conditional_register_usage", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38253, "Length": 494}
{"ground_truth": ["", "int", "ix86_constant_alignment", "(", "tree", "exp", ",", "int", "align", ")", "{", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "REAL_CST", "||", "TREE_CODE", "(", "exp", ")", "==", "VECTOR_CST", "||", "TREE_CODE", "(", "exp", ")", "==", "INTEGER_CST", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "exp", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "else", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "exp", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "!", "optimize_size", "&&", "TREE_CODE", "(", "exp", ")", "==", "STRING_CST", "&&", "TREE_STRING_LENGTH", "(", "exp", ")", ">=", "31", "&&", "align", "<", "BITS_PER_WORD", ")", "return", "BITS_PER_WORD", ";", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "given", "to", "a", "constant", "that", "is", "being", "placed", "in", "memory", ".", "EXP", "is", "the", "constant", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "function", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["i386", "64", "64", "128", "128", "31"], "File": "i3864", "Func": "ix86_constant_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38254, "Length": 106}
{"ground_truth": ["", "int", "ix86_data_alignment", "(", "tree", "type", ",", "int", "align", ",", "bool", "opt", ")", "{", "int", "max_align_compat", "=", "MIN", "(", "256", ",", "MAX_OFILE_ALIGNMENT", ")", ";", "int", "max_align", "=", "MIN", "(", "(", "unsigned", ")", "ix86_tune_cost", "->", "prefetch_block", "*", "8", ",", "MAX_OFILE_ALIGNMENT", ")", ";", "if", "(", "max_align", "<", "BITS_PER_WORD", ")", "max_align", "=", "BITS_PER_WORD", ";", "switch", "(", "ix86_align_data_type", ")", "{", "case", "ix86_align_data_type_abi", ":", "opt", "=", "false", ";", "break", ";", "case", "ix86_align_data_type_compat", ":", "max_align", "=", "BITS_PER_WORD", ";", "break", ";", "case", "ix86_align_data_type_cacheline", ":", "break", ";", "}", "if", "(", "opt", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", ")", "{", "if", "(", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "max_align_compat", ")", "&&", "align", "<", "max_align_compat", ")", "align", "=", "max_align_compat", ";", "if", "(", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "max_align", ")", "&&", "align", "<", "max_align", ")", "align", "=", "max_align", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "(", "opt", "?", "AGGREGATE_TYPE_P", "(", "type", ")", ":", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "128", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "!", "opt", ")", "return", "align", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "||", "TYPE_MODE", "(", "type", ")", "==", "TCmode", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "static", "variable", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "function", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["i386", "256", "8", "128", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i3864", "Func": "ix86_data_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38255, "Length": 453}
{"ground_truth": ["", "void", "ATTRIBUTE_UNUSED", "ix86_debug_options", "(", "void", ")", "{", "char", "*", "opts", "=", "ix86_target_string", "(", "ix86_isa_flags", ",", "target_flags", ",", "ix86_arch_string", ",", "ix86_tune_string", ",", "ix86_fpmath", ",", "true", ")", ";", "if", "(", "opts", ")", "{", "fprintf", "(", "stderr", ",", "\"%s\\n\\n\"", ",", "opts", ")", ";", "free", "(", "opts", ")", ";", "}", "else", "fputs", "(", "\"\\n\\n\"", ",", "stderr", ")", ";", "return", ";", "}", ""], "natrual_language": ["Function", "that", "is", "callable", "from", "the", "debugger", "to", "print", "the", "current", "options", "."], "TS_V_token": ["i386", "\"%s\\n\\n\"", "\"\\n\\n\""], "File": "i3864", "Func": "ix86_debug_options", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38256, "Length": 57}
{"ground_truth": ["", "static", "bool", "ix86_dep_by_shift_count_body", "(", "const_rtx", "set_body", ",", "const_rtx", "use_body", ")", "{", "rtx", "set_dest", ";", "rtx", "shift_rtx", ";", "int", "i", ";", "switch", "(", "GET_CODE", "(", "set_body", ")", ")", "{", "case", "SET", ":", "set_dest", "=", "SET_DEST", "(", "set_body", ")", ";", "if", "(", "!", "set_dest", "||", "!", "REG_P", "(", "set_dest", ")", ")", "return", "false", ";", "break", ";", "case", "PARALLEL", ":", "for", "(", "i", "=", "XVECLEN", "(", "set_body", ",", "0", ")", "-", "1", ";", "i", ">=", "0", ";", "i", "--", ")", "if", "(", "ix86_dep_by_shift_count_body", "(", "XVECEXP", "(", "set_body", ",", "0", ",", "i", ")", ",", "use_body", ")", ")", "return", "true", ";", "default", ":", "return", "false", ";", "break", ";", "}", "switch", "(", "GET_CODE", "(", "use_body", ")", ")", "{", "case", "SET", ":", "shift_rtx", "=", "XEXP", "(", "use_body", ",", "1", ")", ";", "break", ";", "case", "PARALLEL", ":", "for", "(", "i", "=", "XVECLEN", "(", "use_body", ",", "0", ")", "-", "1", ";", "i", ">=", "0", ";", "i", "--", ")", "if", "(", "ix86_dep_by_shift_count_body", "(", "set_body", ",", "XVECEXP", "(", "use_body", ",", "0", ",", "i", ")", ")", ")", "return", "true", ";", "default", ":", "return", "false", ";", "break", ";", "}", "if", "(", "shift_rtx", "&&", "(", "GET_CODE", "(", "shift_rtx", ")", "==", "ASHIFT", "||", "GET_CODE", "(", "shift_rtx", ")", "==", "LSHIFTRT", "||", "GET_CODE", "(", "shift_rtx", ")", "==", "ASHIFTRT", "||", "GET_CODE", "(", "shift_rtx", ")", "==", "ROTATE", "||", "GET_CODE", "(", "shift_rtx", ")", "==", "ROTATERT", ")", ")", "{", "rtx", "shift_count", "=", "XEXP", "(", "shift_rtx", ",", "1", ")", ";", "if", "(", "REG_P", "(", "shift_count", ")", ")", "{", "if", "(", "reload_completed", "&&", "true_regnum", "(", "set_dest", ")", "==", "true_regnum", "(", "shift_count", ")", ")", "return", "true", ";", "else", "if", "(", "REGNO", "(", "set_dest", ")", "==", "REGNO", "(", "shift_count", ")", ")", "return", "true", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "destination", "reg", "of", "SET_BODY", "is", "shift", "count", "of", "USE_BODY", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "1", "0", "1", "0", "0", "1"], "File": "i3864", "Func": "ix86_dep_by_shift_count_body", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38257, "Length": 275}
{"ground_truth": ["", "static", "void", "ix86_emit_binop", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "dst", ",", "rtx", "src", ")", "{", "rtx", "op", ",", "clob", ";", "op", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "dst", ",", "src", ")", ")", ";", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "x86", "binary", "operand", "CODE", "in", "mode", "MODE", ",", "where", "the", "first", "operand", "matches", "destination", ".", "RTX", "includes", "clobber", "of", "FLAGS_REG", "."], "TS_V_token": ["i386", "2"], "File": "i3864", "Func": "ix86_emit_binop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38258, "Length": 75}
{"ground_truth": ["", "static", "void", "ix86_emit_cmove", "(", "rtx", "dst", ",", "rtx", "src", ",", "enum", "rtx_code", "code", ",", "rtx", "op1", ",", "rtx", "op2", ")", "{", "rtx", "t", ";", "if", "(", "TARGET_CMOVE", ")", "{", "t", "=", "ix86_expand_compare", "(", "code", ",", "op1", ",", "op2", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "gen_rtx_IF_THEN_ELSE", "(", "GET_MODE", "(", "dst", ")", ",", "t", ",", "src", ",", "dst", ")", ")", ")", ";", "}", "else", "{", "rtx", "nomove", "=", "gen_label_rtx", "(", ")", ";", "emit_cmp_and_jump_insns", "(", "op1", ",", "op2", ",", "reverse_condition", "(", "code", ")", ",", "const0_rtx", ",", "GET_MODE", "(", "op1", ")", ",", "1", ",", "nomove", ")", ";", "emit_move_insn", "(", "dst", ",", "src", ")", ";", "emit_label", "(", "nomove", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "conditional", "move", "of", "SRC", "to", "DST", "with", "condition", "OP1", "CODE", "OP2", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_emit_cmove", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38259, "Length": 111}
{"ground_truth": ["", "void", "ix86_emit_fp_unordered_jump", "(", "rtx", "label", ")", "{", "rtx", "reg", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "temp", ";", "emit_insn", "(", "gen_x86_fnstsw_1", "(", "reg", ")", ")", ";", "if", "(", "TARGET_SAHF", "&&", "(", "TARGET_USE_SAHF", "||", "optimize_insn_for_size_p", "(", ")", ")", ")", "{", "emit_insn", "(", "gen_x86_sahf_1", "(", "reg", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_UNORDERED", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "else", "{", "emit_insn", "(", "gen_testqi_ext_ccno_0", "(", "reg", ",", "GEN_INT", "(", "0x04", ")", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_NE", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "temp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "temp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "temp", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "pc_rtx", ",", "temp", ")", ";", "emit_jump_insn", "(", "temp", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "10", "/", "100", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "conditional", "jump", "to", "LABEL", ",", "if", "C2", "flag", "in", "FP", "status", "register", "is", "set", "."], "TS_V_token": ["i386", "0x04", "10", "100"], "File": "i3864", "Func": "ix86_emit_fp_unordered_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38260, "Length": 148}
{"ground_truth": ["", "void", "ix86_emit_i387_log1p", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx_code_label", "*", "label1", "=", "gen_label_rtx", "(", ")", ";", "rtx_code_label", "*", "label2", "=", "gen_label_rtx", "(", ")", ";", "rtx", "tmp", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "tmp2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "test", ";", "emit_insn", "(", "gen_absxf2", "(", "tmp", ",", "op1", ")", ")", ";", "test", "=", "gen_rtx_GE", "(", "VOIDmode", ",", "tmp", ",", "CONST_DOUBLE_FROM_REAL_VALUE", "(", "REAL_VALUE_ATOF", "(", "\"0.29289321881345247561810596348408353\"", ",", "XFmode", ")", ",", "XFmode", ")", ")", ";", "emit_jump_insn", "(", "gen_cbranchxf4", "(", "test", ",", "XEXP", "(", "test", ",", "0", ")", ",", "XEXP", "(", "test", ",", "1", ")", ",", "label1", ")", ")", ";", "emit_move_insn", "(", "tmp2", ",", "standard_80387_constant_rtx", "(", "4", ")", ")", ";", "emit_insn", "(", "gen_fyl2xp1xf3_i387", "(", "op0", ",", "op1", ",", "tmp2", ")", ")", ";", "emit_jump", "(", "label2", ")", ";", "emit_label", "(", "label1", ")", ";", "emit_move_insn", "(", "tmp", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "tmp", ",", "op1", ",", "tmp", ")", ")", ";", "emit_move_insn", "(", "tmp2", ",", "standard_80387_constant_rtx", "(", "4", ")", ")", ";", "emit_insn", "(", "gen_fyl2xxf3_i387", "(", "op0", ",", "tmp", ",", "tmp2", ")", ")", ";", "emit_label", "(", "label2", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "log1p", "XFmode", "calculation", "."], "TS_V_token": ["i386", "\"0.29289321881345247561810596348408353\"", "0", "1", "4", "4"], "File": "i3864", "Func": "ix86_emit_i387_log1p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38261, "Length": 182}
{"ground_truth": ["", "static", "void", "ix86_emit_leave", "(", "void", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "insn", "=", "emit_insn", "(", "ix86_gen_leave", "(", ")", ")", ";", "ix86_add_queued_cfa_restore_notes", "(", "insn", ")", ";", "gcc_assert", "(", "m", "->", "fs", ".", "fp_valid", ")", ";", "m", "->", "fs", ".", "sp_valid", "=", "true", ";", "m", "->", "fs", ".", "sp_offset", "=", "m", "->", "fs", ".", "fp_offset", "-", "UNITS_PER_WORD", ";", "m", "->", "fs", ".", "fp_valid", "=", "false", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "hard_frame_pointer_rtx", ")", "{", "m", "->", "fs", ".", "cfa_reg", "=", "stack_pointer_rtx", ";", "m", "->", "fs", ".", "cfa_offset", "=", "m", "->", "fs", ".", "sp_offset", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "m", "->", "fs", ".", "sp_offset", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "ix86_add_cfa_restore_note", "(", "insn", ",", "hard_frame_pointer_rtx", ",", "m", "->", "fs", ".", "fp_offset", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "and", "notes", "for", "the", "LEAVE", "instruction", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_emit_leave", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38262, "Length": 143}
{"ground_truth": ["", "static", "void", "ix86_emit_mode_set", "(", "int", "entity", ",", "int", "mode", ",", "int", "prev_mode", "ATTRIBUTE_UNUSED", ",", "HARD_REG_SET", "regs_live", ")", "{", "switch", "(", "entity", ")", "{", "case", "AVX_U128", ":", "if", "(", "mode", "==", "AVX_U128_CLEAN", ")", "ix86_avx_emit_vzeroupper", "(", "regs_live", ")", ";", "break", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "if", "(", "mode", "!=", "I387_CW_ANY", "&&", "mode", "!=", "I387_CW_UNINITIALIZED", ")", "emit_i387_cw_initialization", "(", "mode", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Generate", "one", "or", "more", "insns", "to", "set", "ENTITY", "to", "MODE", ".", "HARD_REG_LIVE", "is", "the", "set", "of", "hard", "registers", "live", "at", "the", "point", "where", "the", "insn", "(", "s", ")", "are", "to", "be", "inserted", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_emit_mode_set", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38263, "Length": 76}
{"ground_truth": ["", "static", "void", "ix86_emit_move_max", "(", "rtx", "dst", ",", "rtx", "src", ")", "{", "ix86_emit_cmove", "(", "dst", ",", "src", ",", "LTU", ",", "dst", ",", "src", ")", ";", "}", ""], "natrual_language": ["Choose", "max", "of", "DST", "and", "SRC", "and", "put", "it", "to", "DST", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_emit_move_max", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38264, "Length": 25}
{"ground_truth": ["", "static", "void", "ix86_emit_probe_stack_range", "(", "HOST_WIDE_INT", "first", ",", "HOST_WIDE_INT", "size", ")", "{", "if", "(", "size", "<=", "7", "*", "PROBE_INTERVAL", ")", "{", "HOST_WIDE_INT", "i", ";", "for", "(", "i", "=", "PROBE_INTERVAL", ";", "i", "<", "size", ";", "i", "+=", "PROBE_INTERVAL", ")", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "first", "+", "i", ")", ")", ")", ";", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "first", "+", "size", ")", ")", ")", ";", "}", "else", "{", "HOST_WIDE_INT", "rounded_size", ",", "last", ";", "struct", "scratch_reg", "sr", ";", "get_scratch_register_on_entry", "(", "&", "sr", ")", ";", "rounded_size", "=", "size", "&", "-", "PROBE_INTERVAL", ";", "emit_move_insn", "(", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "first", ")", ")", ";", "last", "=", "first", "+", "rounded_size", ";", "emit_insn", "(", "ix86_gen_probe_stack_range", "(", "sr", ".", "reg", ",", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "last", ")", ")", ")", ";", "if", "(", "size", "!=", "rounded_size", ")", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "sr", ".", "reg", ")", ",", "rounded_size", "-", "size", ")", ")", ";", "release_scratch_register_on_entry", "(", "&", "sr", ")", ";", "}", "emit_insn", "(", "gen_blockage", "(", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "probe", "a", "range", "of", "stack", "addresses", "from", "FIRST", "to", "FIRST+SIZE", ",", "inclusive", ".", "These", "are", "offsets", "from", "the", "current", "stack", "pointer", "."], "TS_V_token": ["i386", "7"], "File": "i3864", "Func": "ix86_emit_probe_stack_range", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38265, "Length": 179}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ",", "bool", "maybe_eh_return", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "!", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "maybe_eh_return", ")", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ";", "rtx", "insn", ",", "mem", ";", "mem", "=", "choose_baseaddr", "(", "cfa_offset", ")", ";", "mem", "=", "gen_frame_mem", "(", "word_mode", ",", "mem", ")", ";", "insn", "=", "emit_move_insn", "(", "reg", ",", "mem", ")", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "crtl", "->", "drap_reg", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "reg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "m", "->", "fs", ".", "drap_valid", "=", "true", ";", "}", "else", "ix86_add_cfa_restore_note", "(", "NULL_RTX", ",", "reg", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "POINTER", "+", "OFFSET", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3864", "Func": "ix86_emit_restore_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38266, "Length": 156}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_regs_using_pop", "(", "void", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "!", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "false", ")", ")", "ix86_emit_restore_reg_using_pop", "(", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "POP", "insns", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "ix86_emit_restore_regs_using_pop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38267, "Length": 50}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_reg_using_pop", "(", "rtx", "reg", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "insn", "=", "emit_insn", "(", "gen_pop", "(", "reg", ")", ")", ";", "ix86_add_cfa_restore_note", "(", "insn", ",", "reg", ",", "m", "->", "fs", ".", "sp_offset", ")", ";", "m", "->", "fs", ".", "sp_offset", "-=", "UNITS_PER_WORD", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "crtl", "->", "drap_reg", "&&", "REGNO", "(", "reg", ")", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "reg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "m", "->", "fs", ".", "drap_valid", "=", "true", ";", "return", ";", "}", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "stack_pointer_rtx", ")", "{", "rtx", "x", "=", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "UNITS_PER_WORD", ")", ";", "x", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "x", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_ADJUST_CFA", ",", "x", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "m", "->", "fs", ".", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "}", "if", "(", "reg", "==", "hard_frame_pointer_rtx", ")", "{", "m", "->", "fs", ".", "fp_valid", "=", "false", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "hard_frame_pointer_rtx", ")", "{", "m", "->", "fs", ".", "cfa_reg", "=", "stack_pointer_rtx", ";", "m", "->", "fs", ".", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "m", "->", "fs", ".", "cfa_offset", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "REG", "using", "a", "POP", "insn", "."], "TS_V_token": ["i386", "1", "1", "1"], "File": "i3864", "Func": "ix86_emit_restore_reg_using_pop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38268, "Length": 235}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_sse_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ",", "bool", "maybe_eh_return", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "maybe_eh_return", ")", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "V4SFmode", ",", "regno", ")", ";", "rtx", "mem", ";", "mem", "=", "choose_baseaddr", "(", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "V4SFmode", ",", "mem", ")", ";", "set_mem_align", "(", "mem", ",", "128", ")", ";", "emit_move_insn", "(", "reg", ",", "mem", ")", ";", "ix86_add_cfa_restore_note", "(", "NULL_RTX", ",", "reg", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "16", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "0", "128", "16"], "File": "i3864", "Func": "ix86_emit_restore_sse_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38269, "Length": 101}
{"ground_truth": ["", "static", "void", "ix86_emit_save_regs", "(", "void", ")", "{", "unsigned", "int", "regno", ";", "rtx", "insn", ";", "for", "(", "regno", "=", "FIRST_PSEUDO_REGISTER", "-", "1", ";", "regno", "--", ">", "0", ";", ")", "if", "(", "!", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "{", "insn", "=", "emit_insn", "(", "gen_push", "(", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "in", "the", "prologue", "."], "TS_V_token": ["i386", "1", "0", "1"], "File": "i3864", "Func": "ix86_emit_save_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38270, "Length": 68}
{"ground_truth": ["", "static", "void", "ix86_emit_save_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "!", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "{", "ix86_emit_save_reg_using_mov", "(", "word_mode", ",", "regno", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "POINTER", "+", "OFFSET", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "ix86_emit_save_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38271, "Length": 56}
{"ground_truth": ["", "static", "void", "ix86_emit_save_reg_using_mov", "(", "machine_mode", "mode", ",", "unsigned", "int", "regno", ",", "HOST_WIDE_INT", "cfa_offset", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "reg", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "rtx", "mem", ",", "addr", ",", "base", ",", "insn", ";", "addr", "=", "choose_baseaddr", "(", "cfa_offset", ")", ";", "mem", "=", "gen_frame_mem", "(", "mode", ",", "addr", ")", ";", "set_mem_align", "(", "mem", ",", "GET_MODE_ALIGNMENT", "(", "mode", ")", ")", ";", "insn", "=", "emit_move_insn", "(", "mem", ",", "reg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "base", "=", "addr", ";", "if", "(", "GET_CODE", "(", "base", ")", "==", "PLUS", ")", "base", "=", "XEXP", "(", "base", ",", "0", ")", ";", "gcc_checking_assert", "(", "REG_P", "(", "base", ")", ")", ";", "if", "(", "m", "->", "fs", ".", "realigned", ")", "{", "gcc_checking_assert", "(", "stack_realign_drap", ")", ";", "if", "(", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "gcc_checking_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "fp_valid", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "hard_frame_pointer_rtx", ",", "cfun", "->", "machine", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "mem", ")", ";", "}", "else", "{", "gcc_checking_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "fp_valid", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "hard_frame_pointer_rtx", ",", "cfun", "->", "machine", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_EXPRESSION", ",", "gen_rtx_SET", "(", "VOIDmode", ",", "mem", ",", "reg", ")", ")", ";", "}", "}", "else", "if", "(", "base", "!=", "m", "->", "fs", ".", "cfa_reg", ")", "{", "addr", "=", "plus_constant", "(", "Pmode", ",", "m", "->", "fs", ".", "cfa_reg", ",", "m", "->", "fs", ".", "cfa_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_OFFSET", ",", "gen_rtx_SET", "(", "VOIDmode", ",", "mem", ",", "reg", ")", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "a", "single", "register", "save", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3864", "Func": "ix86_emit_save_reg_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38272, "Length": 309}
{"ground_truth": ["", "static", "void", "ix86_emit_save_sse_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "{", "ix86_emit_save_reg_using_mov", "(", "V4SFmode", ",", "regno", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "16", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "SSE", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "stored", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "0", "16"], "File": "i3864", "Func": "ix86_emit_save_sse_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38273, "Length": 55}
{"ground_truth": ["", "void", "ix86_emit_swdivsf", "(", "rtx", "res", ",", "rtx", "a", ",", "rtx", "b", ",", "machine_mode", "mode", ")", "{", "rtx", "x0", ",", "x1", ",", "e0", ",", "e1", ";", "x0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "x1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "b", "=", "force_reg", "(", "mode", ",", "b", ")", ";", "if", "(", "mode", "==", "V16SFmode", "||", "mode", "==", "V8DFmode", ")", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "b", ")", ",", "UNSPEC_RCP14", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "b", ")", ",", "UNSPEC_RCP", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "e0", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "b", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "e0", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "e0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "e1", ",", "gen_rtx_PLUS", "(", "mode", ",", "x0", ",", "x0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "x1", ",", "gen_rtx_MINUS", "(", "mode", ",", "e1", ",", "e0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "res", ",", "gen_rtx_MULT", "(", "mode", ",", "a", ",", "x1", ")", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "Newton-Rhapson", "approximation", "of", "a", "single", "precision", "floating", "point", "divide", "[", "http", ":", "//en.wikipedia.org/wiki/N-th_root_algorithm", "]", "."], "TS_V_token": ["i386", "1", "1"], "File": "i3864", "Func": "ix86_emit_swdivsf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38274, "Length": 217}
{"ground_truth": ["", "void", "ix86_emit_swsqrtsf", "(", "rtx", "res", ",", "rtx", "a", ",", "machine_mode", "mode", ",", "bool", "recip", ")", "{", "rtx", "x0", ",", "e0", ",", "e1", ",", "e2", ",", "e3", ",", "mthree", ",", "mhalf", ";", "REAL_VALUE_TYPE", "r", ";", "int", "unspec", ";", "x0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e2", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e3", "=", "gen_reg_rtx", "(", "mode", ")", ";", "real_from_integer", "(", "&", "r", ",", "VOIDmode", ",", "-", "3", ",", "SIGNED", ")", ";", "mthree", "=", "CONST_DOUBLE_FROM_REAL_VALUE", "(", "r", ",", "SFmode", ")", ";", "real_arithmetic", "(", "&", "r", ",", "NEGATE_EXPR", ",", "&", "dconsthalf", ",", "NULL", ")", ";", "mhalf", "=", "CONST_DOUBLE_FROM_REAL_VALUE", "(", "r", ",", "SFmode", ")", ";", "unspec", "=", "UNSPEC_RSQRT", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "mthree", "=", "ix86_build_const_vector", "(", "mode", ",", "true", ",", "mthree", ")", ";", "mhalf", "=", "ix86_build_const_vector", "(", "mode", ",", "true", ",", "mhalf", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "unspec", "=", "UNSPEC_RSQRT14", ";", "}", "a", "=", "force_reg", "(", "mode", ",", "a", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "a", ")", ",", "unspec", ")", ")", ")", ";", "if", "(", "!", "recip", ")", "{", "rtx", "zero", ",", "mask", ";", "zero", "=", "gen_reg_rtx", "(", "mode", ")", ";", "mask", "=", "gen_reg_rtx", "(", "mode", ")", ";", "zero", "=", "force_reg", "(", "mode", ",", "CONST0_RTX", "(", "mode", ")", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "{", "mask", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "emit_insn", "(", "gen_avx512f_cmpv16sf3", "(", "mask", ",", "zero", ",", "a", ",", "GEN_INT", "(", "0x4", ")", ")", ")", ";", "emit_insn", "(", "gen_avx512f_blendmv16sf", "(", "x0", ",", "zero", ",", "x0", ",", "mask", ")", ")", ";", "}", "else", "{", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "mask", ",", "gen_rtx_NE", "(", "mode", ",", "zero", ",", "a", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "x0", ",", "gen_rtx_AND", "(", "mode", ",", "x0", ",", "mask", ")", ")", ")", ";", "}", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "e0", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "a", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "e1", ",", "gen_rtx_MULT", "(", "mode", ",", "e0", ",", "x0", ")", ")", ")", ";", "mthree", "=", "force_reg", "(", "mode", ",", "mthree", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "e2", ",", "gen_rtx_PLUS", "(", "mode", ",", "e1", ",", "mthree", ")", ")", ")", ";", "mhalf", "=", "force_reg", "(", "mode", ",", "mhalf", ")", ";", "if", "(", "recip", ")", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "e3", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "mhalf", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "e3", ",", "gen_rtx_MULT", "(", "mode", ",", "e0", ",", "mhalf", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "res", ",", "gen_rtx_MULT", "(", "mode", ",", "e2", ",", "e3", ")", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "Newton-Rhapson", "approximation", "of", "a", "single", "precision", "floating", "point", "[", "reciprocal", "]", "square", "root", "."], "TS_V_token": ["i386", "3", "64", "1", "64", "0x4"], "File": "i3864", "Func": "ix86_emit_swsqrtsf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38275, "Length": 468}
{"ground_truth": ["", "static", "rtx", "ix86_erase_embedded_rounding", "(", "rtx", "pat", ")", "{", "if", "(", "GET_CODE", "(", "pat", ")", "==", "INSN", ")", "pat", "=", "PATTERN", "(", "pat", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", ";", "if", "(", "XVECLEN", "(", "pat", ",", "0", ")", "==", "2", ")", "{", "rtx", "p0", "=", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", ";", "rtx", "p1", "=", "XVECEXP", "(", "pat", ",", "0", ",", "1", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "p0", ")", "==", "SET", "&&", "GET_CODE", "(", "p1", ")", "==", "UNSPEC", "&&", "XINT", "(", "p1", ",", "1", ")", "==", "UNSPEC_EMBEDDED_ROUNDING", ")", ";", "return", "p0", ";", "}", "else", "{", "rtx", "*", "res", "=", "XALLOCAVEC", "(", "rtx", ",", "XVECLEN", "(", "pat", ",", "0", ")", ")", ";", "int", "i", "=", "0", ";", "int", "j", "=", "0", ";", "for", "(", ";", "i", "<", "XVECLEN", "(", "pat", ",", "0", ")", ";", "++", "i", ")", "{", "rtx", "elem", "=", "XVECEXP", "(", "pat", ",", "0", ",", "i", ")", ";", "if", "(", "GET_CODE", "(", "elem", ")", "!=", "UNSPEC", "||", "XINT", "(", "elem", ",", "1", ")", "!=", "UNSPEC_EMBEDDED_ROUNDING", ")", "res", "[", "j", "++", "]", "=", "elem", ";", "}", "gcc_assert", "(", "j", ">=", "XVECLEN", "(", "pat", ",", "0", ")", "-", "1", ")", ";", "return", "gen_rtx_PARALLEL", "(", "GET_MODE", "(", "pat", ")", ",", "gen_rtvec_v", "(", "j", ",", "res", ")", ")", ";", "}", "}", ""], "natrual_language": ["Transform", "pattern", "of", "following", "layout", ":", "(", "parallel", "[", "set", "(", "A", "B", ")", "(", "unspec", "[", "C", "]", "UNSPEC_EMBEDDED_ROUNDING", ")", "]", ")", "]", ")", "into", ":", "(", "set", "(", "A", "B", ")", ")", "Or", ":", "(", "parallel", "[", "A", "B", "...", "(", "unspec", "[", "C", "]", "UNSPEC_EMBEDDED_ROUNDING", ")", "...", "]", ")", "into", ":", "(", "parallel", "[", "A", "B", "...", "]", ")"], "TS_V_token": ["i386", "0", "2", "0", "0", "0", "1", "1", "0", "0", "0", "0", "0", "1", "0", "1"], "File": "i3864", "Func": "ix86_erase_embedded_rounding", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38276, "Length": 215}
{"ground_truth": ["", "rtx", "ix86_expand_adjust_ufix_to_sfix_si", "(", "rtx", "val", ",", "rtx", "*", "xorp", ")", "{", "REAL_VALUE_TYPE", "TWO31r", ";", "rtx", "two31r", ",", "tmp", "[", "4", "]", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "val", ")", ";", "machine_mode", "scalarmode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "machine_mode", "intmode", "=", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", "?", "V8SImode", ":", "V4SImode", ";", "rtx", "(", "*", "cmp", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "3", ";", "i", "++", ")", "tmp", "[", "i", "]", "=", "gen_reg_rtx", "(", "mode", ")", ";", "real_ldexp", "(", "&", "TWO31r", ",", "&", "dconst1", ",", "31", ")", ";", "two31r", "=", "const_double_from_real_value", "(", "TWO31r", ",", "scalarmode", ")", ";", "two31r", "=", "ix86_build_const_vector", "(", "mode", ",", "1", ",", "two31r", ")", ";", "two31r", "=", "force_reg", "(", "mode", ",", "two31r", ")", ";", "switch", "(", "mode", ")", "{", "case", "V8SFmode", ":", "cmp", "=", "gen_avx_maskcmpv8sf3", ";", "break", ";", "case", "V4SFmode", ":", "cmp", "=", "gen_sse_maskcmpv4sf3", ";", "break", ";", "case", "V4DFmode", ":", "cmp", "=", "gen_avx_maskcmpv4df3", ";", "break", ";", "case", "V2DFmode", ":", "cmp", "=", "gen_sse2_maskcmpv2df3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "tmp", "[", "3", "]", "=", "gen_rtx_LE", "(", "mode", ",", "two31r", ",", "val", ")", ";", "emit_insn", "(", "cmp", "(", "tmp", "[", "0", "]", ",", "two31r", ",", "val", ",", "tmp", "[", "3", "]", ")", ")", ";", "tmp", "[", "1", "]", "=", "expand_simple_binop", "(", "mode", ",", "AND", ",", "tmp", "[", "0", "]", ",", "two31r", ",", "tmp", "[", "1", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "intmode", "==", "V4SImode", "||", "TARGET_AVX2", ")", "*", "xorp", "=", "expand_simple_binop", "(", "intmode", ",", "ASHIFT", ",", "gen_lowpart", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ",", "GEN_INT", "(", "31", ")", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "else", "{", "rtx", "two31", "=", "GEN_INT", "(", "(", "unsigned", "HOST_WIDE_INT", ")", "1", "<<", "31", ")", ";", "two31", "=", "ix86_build_const_vector", "(", "intmode", ",", "1", ",", "two31", ")", ";", "*", "xorp", "=", "expand_simple_binop", "(", "intmode", ",", "AND", ",", "gen_lowpart", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ",", "two31", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "}", "return", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "val", ",", "tmp", "[", "1", "]", ",", "tmp", "[", "2", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "}", ""], "natrual_language": ["Adjust", "a", "V", "*", "SFmode/V", "*", "DFmode", "value", "VAL", "so", "that", "*", "sfix_trunc", "*", "resp", ".", "fix_trunc", "*", "pattern", "can", "be", "used", "on", "it", "instead", "of", "fixuns_trunc", "*", ".", "This", "is", "done", "by", "doing", "just", "signed", "conversion", "if", "<", "0x1p31", ",", "and", "otherwise", "by", "subtracting", "0x1p31", "first", "and", "xoring", "in", "0x80000000", "from", "*", "XORP", "afterwards", "."], "TS_V_token": ["i386", "4", "32", "0", "3", "31", "1", "3", "0", "3", "1", "0", "1", "0", "0", "31", "0", "1", "31", "1", "0", "0", "1", "2", "0"], "File": "i3864", "Func": "ix86_expand_adjust_ufix_to_sfix_si", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38277, "Length": 363}
{"ground_truth": ["", "static", "void", "ix86_expand_ashl_const", "(", "rtx", "operand", ",", "int", "count", ",", "machine_mode", "mode", ")", "{", "rtx", "(", "*", "insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "if", "(", "count", "==", "1", "||", "(", "count", "*", "ix86_cost", "->", "add", "<=", "ix86_cost", "->", "shift_const", "&&", "!", "optimize_insn_for_size_p", "(", ")", ")", ")", "{", "insn", "=", "mode", "==", "DImode", "?", "gen_addsi3", ":", "gen_adddi3", ";", "while", "(", "count", "--", ">", "0", ")", "emit_insn", "(", "insn", "(", "operand", ",", "operand", ",", "operand", ")", ")", ";", "}", "else", "{", "insn", "=", "mode", "==", "DImode", "?", "gen_ashlsi3", ":", "gen_ashldi3", ";", "emit_insn", "(", "insn", "(", "operand", ",", "operand", ",", "GEN_INT", "(", "count", ")", ")", ")", ";", "}", "}", ""], "natrual_language": ["Helper", "function", "of", "ix86_split_ashl", "used", "to", "generate", "an", "SImode/DImode", "left", "shift", "by", "a", "constant", ",", "either", "using", "a", "single", "shift", "or", "a", "sequence", "of", "add", "instructions", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3864", "Func": "ix86_expand_ashl_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38278, "Length": 110}
{"ground_truth": ["", "void", "ix86_expand_binary_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "src1", ",", "src2", ",", "dst", ",", "op", ",", "clob", ";", "dst", "=", "ix86_fixup_binary_operands", "(", "code", ",", "mode", ",", "operands", ")", ";", "src1", "=", "operands", "[", "1", "]", ";", "src2", "=", "operands", "[", "2", "]", ";", "op", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "src1", ",", "src2", ")", ")", ";", "if", "(", "reload_in_progress", ")", "{", "gcc_assert", "(", "code", "==", "PLUS", ")", ";", "emit_insn", "(", "op", ")", ";", "}", "else", "if", "(", "reload_completed", "&&", "code", "==", "PLUS", "&&", "!", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "{", "emit_insn", "(", "op", ")", ";", "}", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", "if", "(", "dst", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "dst", ")", ";", "}", ""], "natrual_language": ["Attempt", "to", "expand", "a", "binary", "operator", ".", "Make", "the", "expansion", "closer", "to", "the", "actual", "machine", ",", "then", "just", "general_operand", ",", "which", "will", "allow", "3", "separate", "memory", "references", "(", "one", "output", ",", "two", "input", ")", "in", "a", "single", "insn", "."], "TS_V_token": ["i386", "1", "2", "2", "0", "0"], "File": "i3864", "Func": "ix86_expand_binary_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38279, "Length": 168}
{"ground_truth": ["", "void", "ix86_expand_clear", "(", "rtx", "dest", ")", "{", "rtx", "tmp", ";", "gcc_assert", "(", "reload_completed", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "GET_MODE", "(", "dest", ")", ")", "<", "4", ")", "dest", "=", "gen_rtx_REG", "(", "SImode", ",", "REGNO", "(", "dest", ")", ")", ";", "tmp", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "const0_rtx", ")", ";", "if", "(", "!", "TARGET_USE_MOV0", "||", "optimize_insn_for_size_p", "(", ")", ")", "{", "rtx", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "tmp", ",", "clob", ")", ")", ";", "}", "emit_insn", "(", "tmp", ")", ";", "}", ""], "natrual_language": ["Generate", "either", "``", "mov", "$", "0", ",", "reg", "''", "or", "``", "xor", "reg", ",", "reg", "''", ",", "as", "appropriate", "for", "the", "target", "."], "TS_V_token": ["i386", "4", "2"], "File": "i3864", "Func": "ix86_expand_clear", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38280, "Length": 98}
{"ground_truth": ["", "void", "ix86_expand_copysign", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "op1", ",", "mask", ",", "nmask", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "op1", "=", "operands", "[", "2", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "else", "vmode", "=", "mode", ";", "if", "(", "GET_CODE", "(", "op0", ")", "==", "CONST_DOUBLE", ")", "{", "rtx", "(", "*", "copysign_insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "if", "(", "real_isneg", "(", "CONST_DOUBLE_REAL_VALUE", "(", "op0", ")", ")", ")", "op0", "=", "simplify_unary_operation", "(", "ABS", ",", "mode", ",", "op0", ",", "mode", ")", ";", "if", "(", "mode", "==", "SFmode", "||", "mode", "==", "DFmode", ")", "{", "if", "(", "op0", "==", "CONST0_RTX", "(", "mode", ")", ")", "op0", "=", "CONST0_RTX", "(", "vmode", ")", ";", "else", "{", "rtx", "v", "=", "ix86_build_const_vector", "(", "vmode", ",", "false", ",", "op0", ")", ";", "op0", "=", "force_reg", "(", "vmode", ",", "v", ")", ";", "}", "}", "else", "if", "(", "op0", "!=", "CONST0_RTX", "(", "mode", ")", ")", "op0", "=", "force_reg", "(", "mode", ",", "op0", ")", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "0", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "copysign_insn", "=", "gen_copysignsf3_const", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "copysign_insn", "=", "gen_copysigndf3_const", ";", "else", "copysign_insn", "=", "gen_copysigntf3_const", ";", "emit_insn", "(", "copysign_insn", "(", "dest", ",", "op0", ",", "op1", ",", "mask", ")", ")", ";", "}", "else", "{", "rtx", "(", "*", "copysign_insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "nmask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "1", ")", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "0", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "copysign_insn", "=", "gen_copysignsf3_var", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "copysign_insn", "=", "gen_copysigndf3_var", ";", "else", "copysign_insn", "=", "gen_copysigntf3_var", ";", "emit_insn", "(", "copysign_insn", "(", "dest", ",", "NULL_RTX", ",", "op0", ",", "op1", ",", "nmask", ",", "mask", ")", ")", ";", "}", "}", ""], "natrual_language": ["Expand", "a", "copysign", "operation", ".", "Special", "case", "operand", "0", "being", "a", "constant", "."], "TS_V_token": ["i386", "0", "1", "2", "0", "0", "0", "1", "0", "0"], "File": "i3864", "Func": "ix86_expand_copysign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38281, "Length": 339}
{"ground_truth": ["", "void", "ix86_expand_floorceil", "(", "rtx", "operand0", ",", "rtx", "operand1", ",", "bool", "do_floor", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "xi", ",", "TWO52", ",", "tmp", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "res", ",", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xi", "=", "gen_reg_rtx", "(", "mode", "==", "DFmode", "?", "DImode", ":", "SImode", ")", ";", "expand_fix", "(", "xi", ",", "res", ",", "0", ")", ";", "expand_float", "(", "xa", ",", "xi", ",", "0", ")", ";", "one", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "dconst1", ",", "mode", ")", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "xa", ",", "res", ",", "!", "do_floor", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "do_floor", "?", "MINUS", ":", "PLUS", ",", "xa", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "emit_move_insn", "(", "res", ",", "tmp", ")", ";", "if", "(", "HONOR_SIGNED_ZEROS", "(", "mode", ")", ")", "ix86_sse_copysign_to_positive", "(", "res", ",", "res", ",", "force_reg", "(", "mode", ",", "operand1", ")", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE2", "sequence", "for", "computing", "floor", "or", "ceil", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i3864", "Func": "ix86_expand_floorceil", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38282, "Length": 235}
{"ground_truth": ["", "void", "ix86_expand_floorceildf_32", "(", "rtx", "operand0", ",", "rtx", "operand1", ",", "bool", "do_floor", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "TWO52", ",", "tmp", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "res", ",", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa", ",", "TWO52", ",", "xa", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "ix86_sse_copysign_to_positive", "(", "xa", ",", "xa", ",", "res", ",", "mask", ")", ";", "one", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "do_floor", "?", "dconst1", ":", "dconstm1", ",", "mode", ")", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "xa", ",", "res", ",", "!", "do_floor", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "emit_move_insn", "(", "res", ",", "tmp", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE2", "sequence", "for", "computing", "floor", "or", "ceil", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i3864", "Func": "ix86_expand_floorceildf_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38283, "Length": 228}
{"ground_truth": ["", "void", "ix86_expand_fp_absneg_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "mask", ",", "set", ",", "dst", ",", "src", ";", "bool", "use_sse", "=", "false", ";", "bool", "vector_mode", "=", "VECTOR_MODE_P", "(", "mode", ")", ";", "machine_mode", "vmode", "=", "mode", ";", "if", "(", "vector_mode", ")", "use_sse", "=", "true", ";", "else", "if", "(", "mode", "==", "TFmode", ")", "use_sse", "=", "true", ";", "else", "if", "(", "TARGET_SSE_MATH", ")", "{", "use_sse", "=", "SSE_FLOAT_MODE_P", "(", "mode", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "}", "if", "(", "use_sse", ")", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "vector_mode", ",", "code", "==", "ABS", ")", ";", "else", "mask", "=", "NULL_RTX", ";", "dst", "=", "operands", "[", "0", "]", ";", "src", "=", "operands", "[", "1", "]", ";", "set", "=", "gen_rtx_fmt_e", "(", "code", ",", "mode", ",", "src", ")", ";", "set", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "set", ")", ";", "if", "(", "mask", ")", "{", "rtx", "use", ",", "clob", ";", "rtvec", "par", ";", "use", "=", "gen_rtx_USE", "(", "VOIDmode", ",", "mask", ")", ";", "if", "(", "vector_mode", ")", "par", "=", "gen_rtvec", "(", "2", ",", "set", ",", "use", ")", ";", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "par", "=", "gen_rtvec", "(", "3", ",", "set", ",", "use", ",", "clob", ")", ";", "}", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "par", ")", ")", ";", "}", "else", "emit_insn", "(", "set", ")", ";", "}", ""], "natrual_language": ["Generate", "code", "for", "floating", "point", "ABS", "or", "NEG", "."], "TS_V_token": ["i386", "0", "1", "2", "3"], "File": "i3864", "Func": "ix86_expand_fp_absneg_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38284, "Length": 240}
{"ground_truth": ["", "bool", "ix86_expand_fp_movcc", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "tmp", ",", "compare_op", ";", "rtx", "op0", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ";", "rtx", "op1", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "1", ")", ";", "if", "(", "TARGET_SSE_MATH", "&&", "SSE_FLOAT_MODE_P", "(", "mode", ")", ")", "{", "machine_mode", "cmode", ";", "cmode", "=", "GET_MODE", "(", "op0", ")", ";", "if", "(", "cmode", "==", "VOIDmode", ")", "cmode", "=", "GET_MODE", "(", "op1", ")", ";", "if", "(", "cmode", "!=", "mode", ")", "return", "false", ";", "code", "=", "ix86_prepare_sse_fp_compare_args", "(", "operands", "[", "0", "]", ",", "code", ",", "&", "op0", ",", "&", "op1", ")", ";", "if", "(", "code", "==", "UNKNOWN", ")", "return", "false", ";", "if", "(", "ix86_expand_sse_fp_minmax", "(", "operands", "[", "0", "]", ",", "code", ",", "op0", ",", "op1", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ")", "return", "true", ";", "tmp", "=", "ix86_expand_sse_cmp", "(", "operands", "[", "0", "]", ",", "code", ",", "op0", ",", "op1", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ";", "ix86_expand_sse_movcc", "(", "operands", "[", "0", "]", ",", "tmp", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ";", "return", "true", ";", "}", "if", "(", "GET_MODE", "(", "op0", ")", "==", "TImode", "||", "(", "GET_MODE", "(", "op0", ")", "==", "DImode", "&&", "!", "TARGET_64BIT", ")", ")", "return", "false", ";", "compare_op", "=", "ix86_expand_compare", "(", "code", ",", "op0", ",", "op1", ")", ";", "if", "(", "!", "fcmov_comparison_operator", "(", "compare_op", ",", "VOIDmode", ")", ")", "{", "tmp", "=", "gen_reg_rtx", "(", "QImode", ")", ";", "ix86_expand_setcc", "(", "tmp", ",", "code", ",", "op0", ",", "op1", ")", ";", "compare_op", "=", "ix86_expand_compare", "(", "NE", ",", "tmp", ",", "const0_rtx", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "operands", "[", "0", "]", ",", "gen_rtx_IF_THEN_ELSE", "(", "mode", ",", "compare_op", ",", "operands", "[", "2", "]", ",", "operands", "[", "3", "]", ")", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "a", "floating-point", "conditional", "move", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "1", "1", "0", "1", "1", "0", "0", "2", "3", "0", "2", "3", "0", "2", "3", "0", "2", "3"], "File": "i3864", "Func": "ix86_expand_fp_movcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38285, "Length": 321}
{"ground_truth": ["", "bool", "ix86_expand_int_addcc", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "flags", ";", "rtx", "(", "*", "insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "compare_op", ";", "rtx", "val", "=", "const0_rtx", ";", "bool", "fpcmp", "=", "false", ";", "machine_mode", "mode", ";", "rtx", "op0", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ";", "rtx", "op1", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "1", ")", ";", "if", "(", "operands", "[", "3", "]", "!=", "const1_rtx", "&&", "operands", "[", "3", "]", "!=", "constm1_rtx", ")", "return", "false", ";", "if", "(", "!", "ix86_expand_carry_flag_compare", "(", "code", ",", "op0", ",", "op1", ",", "&", "compare_op", ")", ")", "return", "false", ";", "code", "=", "GET_CODE", "(", "compare_op", ")", ";", "flags", "=", "XEXP", "(", "compare_op", ",", "0", ")", ";", "if", "(", "GET_MODE", "(", "flags", ")", "==", "CCFPmode", "||", "GET_MODE", "(", "flags", ")", "==", "CCFPUmode", ")", "{", "fpcmp", "=", "true", ";", "code", "=", "ix86_fp_compare_code_to_integer", "(", "code", ")", ";", "}", "if", "(", "code", "!=", "LTU", ")", "{", "val", "=", "constm1_rtx", ";", "if", "(", "fpcmp", ")", "PUT_CODE", "(", "compare_op", ",", "reverse_condition_maybe_unordered", "(", "GET_CODE", "(", "compare_op", ")", ")", ")", ";", "else", "PUT_CODE", "(", "compare_op", ",", "reverse_condition", "(", "GET_CODE", "(", "compare_op", ")", ")", ")", ";", "}", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "if", "(", "(", "code", "==", "LTU", ")", "==", "(", "operands", "[", "3", "]", "==", "constm1_rtx", ")", ")", "{", "switch", "(", "mode", ")", "{", "case", "QImode", ":", "insn", "=", "gen_subqi3_carry", ";", "break", ";", "case", "HImode", ":", "insn", "=", "gen_subhi3_carry", ";", "break", ";", "case", "SImode", ":", "insn", "=", "gen_subsi3_carry", ";", "break", ";", "case", "DImode", ":", "insn", "=", "gen_subdi3_carry", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "{", "switch", "(", "mode", ")", "{", "case", "QImode", ":", "insn", "=", "gen_addqi3_carry", ";", "break", ";", "case", "HImode", ":", "insn", "=", "gen_addhi3_carry", ";", "break", ";", "case", "SImode", ":", "insn", "=", "gen_addsi3_carry", ";", "break", ";", "case", "DImode", ":", "insn", "=", "gen_adddi3_carry", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "emit_insn", "(", "insn", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "flags", ",", "compare_op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "conditional", "increment", "or", "decrement", "using", "adb/sbb", "instructions", ".", "The", "default", "case", "using", "setcc", "followed", "by", "the", "conditional", "move", "can", "be", "done", "by", "generic", "code", "."], "TS_V_token": ["i386", "1", "1", "0", "1", "1", "3", "3", "0", "0", "3", "0", "2"], "File": "i3864", "Func": "ix86_expand_int_addcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38286, "Length": 362}
{"ground_truth": ["", "static", "rtx", "ix86_expand_int_compare", "(", "enum", "rtx_code", "code", ",", "rtx", "op0", ",", "rtx", "op1", ")", "{", "machine_mode", "cmpmode", ";", "rtx", "tmp", ",", "flags", ";", "cmpmode", "=", "SELECT_CC_MODE", "(", "code", ",", "op0", ",", "op1", ")", ";", "flags", "=", "gen_rtx_REG", "(", "cmpmode", ",", "FLAGS_REG", ")", ";", "tmp", "=", "gen_rtx_COMPARE", "(", "cmpmode", ",", "op0", ",", "op1", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "flags", ",", "tmp", ")", ")", ";", "return", "gen_rtx_fmt_ee", "(", "code", ",", "VOIDmode", ",", "flags", ",", "const0_rtx", ")", ";", "}", ""], "natrual_language": ["Generate", "insn", "patterns", "to", "do", "an", "integer", "compare", "of", "OPERANDS", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_expand_int_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38287, "Length": 79}
{"ground_truth": ["", "void", "ix86_expand_lround", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "op1", ")", ";", "const", "struct", "real_format", "*", "fmt", ";", "REAL_VALUE_TYPE", "pred_half", ",", "half_minus_pred_half", ";", "rtx", "adj", ";", "fmt", "=", "REAL_MODE_FORMAT", "(", "mode", ")", ";", "real_2expN", "(", "&", "half_minus_pred_half", ",", "-", "(", "fmt", "->", "p", ")", "-", "1", ",", "mode", ")", ";", "REAL_ARITHMETIC", "(", "pred_half", ",", "MINUS_EXPR", ",", "dconsthalf", ",", "half_minus_pred_half", ")", ";", "adj", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "pred_half", ",", "mode", ")", ")", ";", "ix86_sse_copysign_to_positive", "(", "adj", ",", "adj", ",", "force_reg", "(", "mode", ",", "op1", ")", ",", "NULL_RTX", ")", ";", "adj", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "adj", ",", "op1", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "expand_fix", "(", "op0", ",", "adj", ",", "0", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "lround", "from", "OP1", "storing", "into", "OP0", "."], "TS_V_token": ["i386", "1", "0", "0"], "File": "i3864", "Func": "ix86_expand_lround", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38288, "Length": 126}
{"ground_truth": ["", "bool", "ix86_expand_pinsr", "(", "rtx", "*", "operands", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src", "=", "operands", "[", "3", "]", ";", "unsigned", "int", "size", "=", "INTVAL", "(", "operands", "[", "1", "]", ")", ";", "unsigned", "int", "pos", "=", "INTVAL", "(", "operands", "[", "2", "]", ")", ";", "if", "(", "GET_CODE", "(", "dst", ")", "==", "SUBREG", ")", "{", "pos", "+=", "SUBREG_BYTE", "(", "dst", ")", "*", "BITS_PER_UNIT", ";", "dst", "=", "SUBREG_REG", "(", "dst", ")", ";", "}", "if", "(", "GET_CODE", "(", "src", ")", "==", "SUBREG", ")", "src", "=", "SUBREG_REG", "(", "src", ")", ";", "switch", "(", "GET_MODE", "(", "dst", ")", ")", "{", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "{", "machine_mode", "srcmode", ",", "dstmode", ";", "rtx", "(", "*", "pinsr", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "srcmode", "=", "mode_for_size", "(", "size", ",", "MODE_INT", ",", "0", ")", ";", "switch", "(", "srcmode", ")", "{", "case", "QImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V16QImode", ";", "pinsr", "=", "gen_sse4_1_pinsrb", ";", "break", ";", "case", "HImode", ":", "if", "(", "!", "TARGET_SSE2", ")", "return", "false", ";", "dstmode", "=", "V8HImode", ";", "pinsr", "=", "gen_sse2_pinsrw", ";", "break", ";", "case", "SImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V4SImode", ";", "pinsr", "=", "gen_sse4_1_pinsrd", ";", "break", ";", "case", "DImode", ":", "gcc_assert", "(", "TARGET_64BIT", ")", ";", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V2DImode", ";", "pinsr", "=", "gen_sse4_1_pinsrq", ";", "break", ";", "default", ":", "return", "false", ";", "}", "rtx", "d", "=", "dst", ";", "if", "(", "GET_MODE", "(", "dst", ")", "!=", "dstmode", ")", "d", "=", "gen_reg_rtx", "(", "dstmode", ")", ";", "src", "=", "gen_lowpart", "(", "srcmode", ",", "src", ")", ";", "pos", "/=", "size", ";", "emit_insn", "(", "pinsr", "(", "d", ",", "gen_lowpart", "(", "dstmode", ",", "dst", ")", ",", "src", ",", "GEN_INT", "(", "1", "<<", "pos", ")", ")", ")", ";", "if", "(", "d", "!=", "dst", ")", "emit_move_insn", "(", "dst", ",", "gen_lowpart", "(", "GET_MODE", "(", "dst", ")", ",", "d", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["Expand", "an", "insert", "into", "a", "vector", "register", "through", "pinsr", "insn", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "3", "1", "2", "0", "1"], "File": "i3864", "Func": "ix86_expand_pinsr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38289, "Length": 333}
{"ground_truth": ["", "void", "ix86_expand_reduc", "(", "rtx", "(", "*", "fn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ",", "rtx", "dest", ",", "rtx", "in", ")", "{", "rtx", "half", ",", "dst", ",", "vec", "=", "in", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "in", ")", ";", "int", "i", ";", "if", "(", "TARGET_SSE4_1", "&&", "mode", "==", "V8HImode", "&&", "fn", "==", "gen_uminv8hi3", ")", "{", "emit_insn", "(", "gen_sse4_1_phminposuw", "(", "dest", ",", "in", ")", ")", ";", "return", ";", "}", "for", "(", "i", "=", "GET_MODE_BITSIZE", "(", "mode", ")", ";", "i", ">", "GET_MODE_BITSIZE", "(", "GET_MODE_INNER", "(", "mode", ")", ")", ";", "i", ">>=", "1", ")", "{", "half", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_reduc_half", "(", "half", ",", "vec", ",", "i", ")", ";", "if", "(", "i", "==", "GET_MODE_BITSIZE", "(", "GET_MODE_INNER", "(", "mode", ")", ")", "*", "2", ")", "dst", "=", "dest", ";", "else", "dst", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "fn", "(", "dst", ",", "half", ",", "vec", ")", ")", ";", "vec", "=", "dst", ";", "}", "}", ""], "natrual_language": ["Expand", "a", "vector", "reduction", ".", "FN", "is", "the", "binary", "pattern", "to", "reduce", ";", "DEST", "is", "the", "destination", ";", "IN", "is", "the", "input", "vector", "."], "TS_V_token": ["i386", "1", "2"], "File": "i3864", "Func": "ix86_expand_reduc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38290, "Length": 153}
{"ground_truth": ["", "void", "ix86_expand_rint", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "res", ",", "xa", ",", "TWO52", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "res", ",", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa", ",", "TWO52", ",", "xa", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "xa", ",", "res", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "rint", "(", "IEEE", "round", "to", "nearest", ")", "rounding", "OPERAND1", "and", "storing", "the", "result", "in", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "1"], "File": "i3864", "Func": "ix86_expand_rint", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38291, "Length": 144}
{"ground_truth": ["", "void", "ix86_expand_round", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "res", ",", "TWO52", ",", "xa", ",", "xi", ",", "half", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "const", "struct", "real_format", "*", "fmt", ";", "REAL_VALUE_TYPE", "pred_half", ",", "half_minus_pred_half", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "res", ",", "operand1", ")", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "fmt", "=", "REAL_MODE_FORMAT", "(", "mode", ")", ";", "real_2expN", "(", "&", "half_minus_pred_half", ",", "-", "(", "fmt", "->", "p", ")", "-", "1", ",", "mode", ")", ";", "REAL_ARITHMETIC", "(", "pred_half", ",", "MINUS_EXPR", ",", "dconsthalf", ",", "half_minus_pred_half", ")", ";", "half", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "pred_half", ",", "mode", ")", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "half", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xi", "=", "gen_reg_rtx", "(", "mode", "==", "DFmode", "?", "DImode", ":", "SImode", ")", ";", "expand_fix", "(", "xi", ",", "xa", ",", "0", ")", ";", "expand_float", "(", "xa", ",", "xi", ",", "0", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "xa", ",", "force_reg", "(", "mode", ",", "operand1", ")", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "round", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "1"], "File": "i3864", "Func": "ix86_expand_round", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38292, "Length": 225}
{"ground_truth": ["", "void", "ix86_expand_rounddf_32", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "xa2", ",", "dxa", ",", "TWO52", ",", "tmp", ",", "half", ",", "mhalf", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "res", ",", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "TWO52", ",", "xa2", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "dxa", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "xa", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "half", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "dconsthalf", ",", "mode", ")", ")", ";", "one", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "half", ",", "half", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "mhalf", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "half", ",", "one", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp", "=", "gen_reg_rtx", "(", "mode", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "dxa", ",", "half", ",", "false", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGE", ",", "mhalf", ",", "dxa", ",", "false", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa2", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "xa2", ",", "force_reg", "(", "mode", ",", "operand1", ")", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "round", "from", "OPERAND1", "storing", "into", "OPERAND0", ".", "Sequence", "that", "works", "without", "relying", "on", "DImode", "truncation", "via", "cvttsd2siq", "that", "is", "only", "available", "on", "64bit", "targets", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i3864", "Func": "ix86_expand_rounddf_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38293, "Length": 341}
{"ground_truth": ["", "void", "ix86_expand_round_sse4", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "rtx", "e1", ",", "e2", ",", "res", ",", "half", ";", "const", "struct", "real_format", "*", "fmt", ";", "REAL_VALUE_TYPE", "pred_half", ",", "half_minus_pred_half", ";", "rtx", "(", "*", "gen_copysign", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_round", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "switch", "(", "mode", ")", "{", "case", "SFmode", ":", "gen_copysign", "=", "gen_copysignsf3", ";", "gen_round", "=", "gen_sse4_1_roundsf2", ";", "break", ";", "case", "DFmode", ":", "gen_copysign", "=", "gen_copysigndf3", ";", "gen_round", "=", "gen_sse4_1_rounddf2", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "fmt", "=", "REAL_MODE_FORMAT", "(", "mode", ")", ";", "real_2expN", "(", "&", "half_minus_pred_half", ",", "-", "(", "fmt", "->", "p", ")", "-", "1", ",", "mode", ")", ";", "REAL_ARITHMETIC", "(", "pred_half", ",", "MINUS_EXPR", ",", "dconsthalf", ",", "half_minus_pred_half", ")", ";", "half", "=", "const_double_from_real_value", "(", "pred_half", ",", "mode", ")", ";", "e1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_copysign", "(", "e1", ",", "half", ",", "op1", ")", ")", ";", "e2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "op1", ",", "e1", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_round", "(", "res", ",", "e2", ",", "GEN_INT", "(", "ROUND_TRUNC", ")", ")", ")", ";", "emit_move_insn", "(", "op0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "round", "from", "OP1", "storing", "into", "OP0", "using", "sse4", "round", "insn", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3864", "Func": "ix86_expand_round_sse4", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38294, "Length": 214}
{"ground_truth": ["", "void", "ix86_expand_sse2_abs", "(", "rtx", "target", ",", "rtx", "input", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "rtx", "tmp0", ",", "tmp1", ",", "x", ";", "switch", "(", "mode", ")", "{", "case", "V4SImode", ":", "tmp0", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFTRT", ",", "input", ",", "GEN_INT", "(", "GET_MODE_BITSIZE", "(", "GET_MODE_INNER", "(", "mode", ")", ")", "-", "1", ")", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp1", "=", "expand_simple_binop", "(", "mode", ",", "XOR", ",", "tmp0", ",", "input", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "tmp1", ",", "tmp0", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "V8HImode", ":", "tmp0", "=", "expand_unop", "(", "mode", ",", "neg_optab", ",", "input", ",", "NULL_RTX", ",", "0", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "SMAX", ",", "tmp0", ",", "input", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "V16QImode", ":", "tmp0", "=", "expand_unop", "(", "mode", ",", "neg_optab", ",", "input", ",", "NULL_RTX", ",", "0", ")", ";", "x", "=", "expand_simple_binop", "(", "V16QImode", ",", "UMIN", ",", "tmp0", ",", "input", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "x", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "x", ")", ";", "}", ""], "natrual_language": ["Calculate", "integer", "abs", "(", ")", "using", "only", "SSE2", "instructions", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0", "0", "0", "0"], "File": "i3864", "Func": "ix86_expand_sse2_abs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38295, "Length": 202}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "machine_mode", "cmp_ops_mode", "=", "GET_MODE", "(", "cmp_op0", ")", ";", "machine_mode", "cmp_mode", ";", "bool", "maskcmp", "=", "false", ";", "rtx", "x", ";", "if", "(", "GET_MODE_SIZE", "(", "cmp_ops_mode", ")", "==", "64", ")", "{", "cmp_mode", "=", "mode_for_size", "(", "GET_MODE_NUNITS", "(", "cmp_ops_mode", ")", ",", "MODE_INT", ",", "0", ")", ";", "gcc_assert", "(", "cmp_mode", "!=", "BLKmode", ")", ";", "maskcmp", "=", "true", ";", "}", "else", "cmp_mode", "=", "cmp_ops_mode", ";", "cmp_op0", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op0", ")", ";", "if", "(", "!", "nonimmediate_operand", "(", "cmp_op1", ",", "cmp_ops_mode", ")", ")", "cmp_op1", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op1", ")", ";", "if", "(", "optimize", "||", "reg_overlap_mentioned_p", "(", "dest", ",", "op_true", ")", "||", "reg_overlap_mentioned_p", "(", "dest", ",", "op_false", ")", ")", "dest", "=", "gen_reg_rtx", "(", "maskcmp", "?", "cmp_mode", ":", "mode", ")", ";", "if", "(", "maskcmp", "&&", "(", "code", "==", "GT", "||", "code", "==", "EQ", ")", ")", "{", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "switch", "(", "cmp_ops_mode", ")", "{", "case", "V64QImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv64qi3", ":", "gen_avx512bw_eqv64qi3_1", ";", "break", ";", "case", "V32HImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv32hi3", ":", "gen_avx512bw_eqv32hi3_1", ";", "break", ";", "case", "V16SImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv16si3", ":", "gen_avx512f_eqv16si3_1", ";", "break", ";", "case", "V8DImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv8di3", ":", "gen_avx512f_eqv8di3_1", ";", "break", ";", "default", ":", "gen", "=", "NULL", ";", "}", "if", "(", "gen", ")", "{", "emit_insn", "(", "gen", "(", "dest", ",", "cmp_op0", ",", "cmp_op1", ")", ")", ";", "return", "dest", ";", "}", "}", "x", "=", "gen_rtx_fmt_ee", "(", "code", ",", "cmp_mode", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "if", "(", "cmp_mode", "!=", "mode", "&&", "!", "maskcmp", ")", "{", "x", "=", "force_reg", "(", "cmp_ops_mode", ",", "x", ")", ";", "convert_move", "(", "dest", ",", "x", ",", "false", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Expand", "an", "sse", "vector", "comparison", ".", "Return", "the", "register", "with", "the", "result", "."], "TS_V_token": ["i386", "64", "0"], "File": "i3864", "Func": "ix86_expand_sse_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38296, "Length": 340}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_comi", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "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", "mode0", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode1", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "enum", "rtx_code", "comparison", "=", "d", "->", "comparison", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "if", "(", "d", "->", "flag", "&", "BUILTIN_DESC_SWAP_OPERANDS", ")", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "target", "=", "gen_reg_rtx", "(", "SImode", ")", ";", "emit_move_insn", "(", "target", ",", "const0_rtx", ")", ";", "target", "=", "gen_rtx_SUBREG", "(", "QImode", ",", "target", ",", "0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op1", ",", "mode1", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "d", "->", "icode", ")", "(", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_STRICT_LOW_PART", "(", "VOIDmode", ",", "target", ")", ",", "gen_rtx_fmt_ee", "(", "comparison", ",", "QImode", ",", "SET_DEST", "(", "pat", ")", ",", "const0_rtx", ")", ")", ")", ";", "return", "SUBREG_REG", "(", "target", ")", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "comi", "insns", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "1", "0"], "File": "i3864", "Func": "ix86_expand_sse_comi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38297, "Length": 321}
{"ground_truth": ["", "static", "rtx_code_label", "*", "ix86_expand_sse_compare_and_jump", "(", "enum", "rtx_code", "code", ",", "rtx", "op0", ",", "rtx", "op1", ",", "bool", "swap_operands", ")", "{", "machine_mode", "fpcmp_mode", "=", "ix86_fp_compare_mode", "(", "code", ")", ";", "rtx_code_label", "*", "label", ";", "rtx", "tmp", ";", "if", "(", "swap_operands", ")", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "tmp", "=", "gen_rtx_REG", "(", "fpcmp_mode", ",", "FLAGS_REG", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_COMPARE", "(", "fpcmp_mode", ",", "op0", ",", "op1", ")", ")", ")", ";", "tmp", "=", "gen_rtx_fmt_ee", "(", "code", ",", "VOIDmode", ",", "tmp", ",", "const0_rtx", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "tmp", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "pc_rtx", ",", "tmp", ")", ")", ";", "JUMP_LABEL", "(", "tmp", ")", "=", "label", ";", "return", "label", ";", "}", ""], "natrual_language": ["Expands", "a", "comparison", "of", "OP0", "with", "OP1", "using", "comparison", "code", "CODE", ",", "swapping", "the", "operands", "if", "SWAP_OPERANDS", "is", "true", ".", "The", "expanded", "code", "is", "a", "forward", "jump", "to", "a", "newly", "created", "label", "in", "case", "the", "comparison", "is", "true", ".", "The", "generated", "label", "rtx", "is", "returned", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_expand_sse_compare_and_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38298, "Length": 137}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_fabs", "(", "rtx", "op0", ",", "rtx", "*", "smask", ")", "{", "machine_mode", "vmode", ",", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "rtx", "xa", ",", "mask", ";", "xa", "=", "gen_reg_rtx", "(", "mode", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "else", "vmode", "=", "mode", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "VECTOR_MODE_P", "(", "mode", ")", ",", "true", ")", ";", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "rtx", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ")", ";", "tmp", "=", "gen_rtx_VEC_SELECT", "(", "mode", ",", "mask", ",", "tmp", ")", ";", "mask", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "mask", ",", "tmp", ")", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "xa", ",", "gen_rtx_AND", "(", "mode", ",", "op0", ",", "mask", ")", ")", ")", ";", "if", "(", "smask", ")", "*", "smask", "=", "mask", ";", "return", "xa", ";", "}", ""], "natrual_language": ["Expand", "fabs", "(", "OP0", ")", "and", "return", "a", "new", "rtx", "that", "holds", "the", "result", ".", "The", "mask", "for", "masking", "out", "the", "sign-bit", "is", "stored", "in", "*", "SMASK", ",", "if", "that", "is", "non-null", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_expand_sse_fabs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38299, "Length": 161}
{"ground_truth": ["", "static", "bool", "ix86_expand_sse_fp_minmax", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "if_true", ",", "rtx", "if_false", ")", "{", "machine_mode", "mode", ";", "bool", "is_min", ";", "rtx", "tmp", ";", "if", "(", "code", "==", "LT", ")", ";", "else", "if", "(", "code", "==", "UNGE", ")", "std", "::", "swap", "(", "if_true", ",", "if_false", ")", ";", "else", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "cmp_op0", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op1", ",", "if_false", ")", ")", "is_min", "=", "true", ";", "else", "if", "(", "rtx_equal_p", "(", "cmp_op1", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op0", ",", "if_false", ")", ")", "is_min", "=", "false", ";", "else", "return", "false", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "!", "flag_finite_math_only", "||", "!", "flag_unsafe_math_optimizations", ")", "{", "int", "u", "=", "is_min", "?", "UNSPEC_IEEE_MIN", ":", "UNSPEC_IEEE_MAX", ";", "rtvec", "v", ";", "if_true", "=", "force_reg", "(", "mode", ",", "if_true", ")", ";", "v", "=", "gen_rtvec", "(", "2", ",", "if_true", ",", "if_false", ")", ";", "tmp", "=", "gen_rtx_UNSPEC", "(", "mode", ",", "v", ",", "u", ")", ";", "}", "else", "{", "code", "=", "is_min", "?", "SMIN", ":", "SMAX", ";", "tmp", "=", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "if_true", ",", "if_false", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "tmp", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Detect", "conditional", "moves", "that", "exactly", "match", "min/max", "operational", "semantics", ".", "Note", "that", "this", "is", "IEEE", "safe", ",", "as", "long", "as", "we", "do", "n't", "interchange", "the", "operands", ".", "Returns", "FALSE", "if", "this", "conditional", "move", "does", "n't", "match", "a", "MIN/MAX", ",", "and", "TRUE", "if", "the", "operation", "is", "successful", "and", "instructions", "are", "emitted", "."], "TS_V_token": ["i386", "2"], "File": "i3864", "Func": "ix86_expand_sse_fp_minmax", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38300, "Length": 205}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_ptest", "(", "const", "struct", "builtin_description", "*", "d", ",", "tree", "exp", ",", "rtx", "target", ")", "{", "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", "mode0", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "mode", ";", "machine_mode", "mode1", "=", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "mode", ";", "enum", "rtx_code", "comparison", "=", "d", "->", "comparison", ";", "if", "(", "VECTOR_MODE_P", "(", "mode0", ")", ")", "op0", "=", "safe_vector_operand", "(", "op0", ",", "mode0", ")", ";", "if", "(", "VECTOR_MODE_P", "(", "mode1", ")", ")", "op1", "=", "safe_vector_operand", "(", "op1", ",", "mode1", ")", ";", "target", "=", "gen_reg_rtx", "(", "SImode", ")", ";", "emit_move_insn", "(", "target", ",", "const0_rtx", ")", ";", "target", "=", "gen_rtx_SUBREG", "(", "QImode", ",", "target", ",", "0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op0", ",", "mode0", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "0", "]", ".", "predicate", "(", "op0", ",", "mode0", ")", ")", "op0", "=", "copy_to_mode_reg", "(", "mode0", ",", "op0", ")", ";", "if", "(", "(", "optimize", "&&", "!", "register_operand", "(", "op1", ",", "mode1", ")", ")", "||", "!", "insn_data", "[", "d", "->", "icode", "]", ".", "operand", "[", "1", "]", ".", "predicate", "(", "op1", ",", "mode1", ")", ")", "op1", "=", "copy_to_mode_reg", "(", "mode1", ",", "op1", ")", ";", "pat", "=", "GEN_FCN", "(", "d", "->", "icode", ")", "(", "op0", ",", "op1", ")", ";", "if", "(", "!", "pat", ")", "return", "0", ";", "emit_insn", "(", "pat", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "gen_rtx_STRICT_LOW_PART", "(", "VOIDmode", ",", "target", ")", ",", "gen_rtx_fmt_ee", "(", "comparison", ",", "QImode", ",", "SET_DEST", "(", "pat", ")", ",", "const0_rtx", ")", ")", ")", ";", "return", "SUBREG_REG", "(", "target", ")", ";", "}", ""], "natrual_language": ["Subroutine", "of", "ix86_expand_builtin", "to", "take", "care", "of", "ptest", "insns", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "1", "0"], "File": "i3864", "Func": "ix86_expand_sse_ptest", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38301, "Length": 304}
{"ground_truth": ["", "bool", "ix86_expand_strlen", "(", "rtx", "out", ",", "rtx", "src", ",", "rtx", "eoschar", ",", "rtx", "align", ")", "{", "rtx", "addr", ",", "scratch1", ",", "scratch2", ",", "scratch3", ",", "scratch4", ";", "if", "(", "TARGET_UNROLL_STRLEN", "&&", "eoschar", "==", "const0_rtx", "&&", "optimize", ">", "1", "&&", "!", "TARGET_INLINE_ALL_STRINGOPS", "&&", "!", "optimize_insn_for_size_p", "(", ")", "&&", "(", "!", "CONST_INT_P", "(", "align", ")", "||", "INTVAL", "(", "align", ")", "<", "4", ")", ")", "return", "false", ";", "addr", "=", "force_reg", "(", "Pmode", ",", "XEXP", "(", "src", ",", "0", ")", ")", ";", "scratch1", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "if", "(", "TARGET_UNROLL_STRLEN", "&&", "eoschar", "==", "const0_rtx", "&&", "optimize", ">", "1", "&&", "!", "optimize_insn_for_size_p", "(", ")", ")", "{", "emit_move_insn", "(", "out", ",", "addr", ")", ";", "ix86_expand_strlensi_unroll_1", "(", "out", ",", "src", ",", "align", ")", ";", "emit_insn", "(", "ix86_gen_sub3", "(", "out", ",", "out", ",", "addr", ")", ")", ";", "}", "else", "{", "rtx", "unspec", ";", "if", "(", "fixed_regs", "[", "AX_REG", "]", "||", "fixed_regs", "[", "CX_REG", "]", "||", "fixed_regs", "[", "DI_REG", "]", ")", "return", "false", ";", "scratch2", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "scratch3", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "scratch4", "=", "force_reg", "(", "Pmode", ",", "constm1_rtx", ")", ";", "emit_move_insn", "(", "scratch3", ",", "addr", ")", ";", "eoschar", "=", "force_reg", "(", "QImode", ",", "eoschar", ")", ";", "src", "=", "replace_equiv_address_nv", "(", "src", ",", "scratch3", ")", ";", "unspec", "=", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "4", ",", "src", ",", "eoschar", ",", "align", ",", "scratch4", ")", ",", "UNSPEC_SCAS", ")", ";", "emit_insn", "(", "gen_strlenqi_1", "(", "scratch1", ",", "scratch3", ",", "unspec", ")", ")", ";", "emit_insn", "(", "ix86_gen_one_cmpl2", "(", "scratch2", ",", "scratch1", ")", ")", ";", "emit_insn", "(", "ix86_gen_add3", "(", "out", ",", "scratch2", ",", "constm1_rtx", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "strlen", "."], "TS_V_token": ["i386", "1", "4", "0", "1", "4"], "File": "i3864", "Func": "ix86_expand_strlen", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38302, "Length": 267}
{"ground_truth": ["", "void", "ix86_expand_truncdf_32", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "mask", ",", "TWO52", ",", "one", ",", "res", ",", "smask", ",", "tmp", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "res", ",", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "smask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "tmp", ",", "TWO52", ",", "tmp", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "emit_move_insn", "(", "res", ",", "tmp", ")", ";", "one", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "dconst1", ",", "mode", ")", ")", ";", "mask", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "res", ",", "xa", ",", "false", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "mask", ",", "gen_rtx_AND", "(", "mode", ",", "mask", ",", "one", ")", ")", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "res", ",", "mask", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "emit_move_insn", "(", "res", ",", "tmp", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "res", ",", "force_reg", "(", "mode", ",", "operand1", ")", ",", "smask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "trunc", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i3864", "Func": "ix86_expand_truncdf_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38303, "Length": 234}
{"ground_truth": ["", "void", "ix86_expand_unary_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "bool", "matching_memory", "=", "false", ";", "rtx", "src", ",", "dst", ",", "op", ",", "clob", ";", "dst", "=", "operands", "[", "0", "]", ";", "src", "=", "operands", "[", "1", "]", ";", "if", "(", "MEM_P", "(", "dst", ")", ")", "{", "if", "(", "rtx_equal_p", "(", "dst", ",", "src", ")", ")", "matching_memory", "=", "true", ";", "else", "dst", "=", "gen_reg_rtx", "(", "mode", ")", ";", "}", "if", "(", "MEM_P", "(", "src", ")", "&&", "!", "matching_memory", ")", "src", "=", "force_reg", "(", "mode", ",", "src", ")", ";", "op", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "gen_rtx_fmt_e", "(", "code", ",", "mode", ",", "src", ")", ")", ";", "if", "(", "reload_in_progress", "||", "code", "==", "NOT", ")", "{", "gcc_assert", "(", "code", "==", "NOT", ")", ";", "emit_insn", "(", "op", ")", ";", "}", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", "if", "(", "dst", "!=", "operands", "[", "0", "]", ")", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "dst", ")", ";", "}", ""], "natrual_language": ["Attempt", "to", "expand", "a", "unary", "operator", ".", "Make", "the", "expansion", "closer", "to", "the", "actual", "machine", ",", "then", "just", "general_operand", ",", "which", "will", "allow", "2", "separate", "memory", "references", "(", "one", "output", ",", "one", "input", ")", "in", "a", "single", "insn", "."], "TS_V_token": ["i386", "0", "1", "2", "0", "0"], "File": "i3864", "Func": "ix86_expand_unary_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38304, "Length": 187}
{"ground_truth": ["", "void", "ix86_expand_vector_init", "(", "bool", "mmx_ok", ",", "rtx", "target", ",", "rtx", "vals", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "int", "n_elts", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "int", "n_var", "=", "0", ",", "one_var", "=", "-", "1", ";", "bool", "all_same", "=", "true", ",", "all_const_zero", "=", "true", ";", "int", "i", ";", "rtx", "x", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_elts", ";", "++", "i", ")", "{", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "i", ")", ";", "if", "(", "!", "(", "CONST_INT_P", "(", "x", ")", "||", "GET_CODE", "(", "x", ")", "==", "CONST_DOUBLE", "||", "GET_CODE", "(", "x", ")", "==", "CONST_FIXED", ")", ")", "n_var", "++", ",", "one_var", "=", "i", ";", "else", "if", "(", "x", "!=", "CONST0_RTX", "(", "inner_mode", ")", ")", "all_const_zero", "=", "false", ";", "if", "(", "i", ">", "0", "&&", "!", "rtx_equal_p", "(", "x", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "all_same", "=", "false", ";", "}", "if", "(", "n_var", "==", "0", ")", "{", "emit_move_insn", "(", "target", ",", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "vals", ",", "0", ")", ")", ")", ";", "return", ";", "}", "if", "(", "all_same", "&&", "ix86_expand_vector_init_duplicate", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "return", ";", "if", "(", "n_var", "==", "1", ")", "{", "if", "(", "all_const_zero", "&&", "ix86_expand_vector_init_one_nonzero", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ",", "one_var", ")", ")", "return", ";", "if", "(", "ix86_expand_vector_init_one_var", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ",", "one_var", ")", ")", "return", ";", "}", "ix86_expand_vector_init_general", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ")", ";", "}", ""], "natrual_language": ["Initialize", "vector", "TARGET", "via", "VALS", ".", "Suppress", "the", "use", "of", "MMX", "instructions", "unless", "MMX_OK", "is", "true", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0"], "File": "i3864", "Func": "ix86_expand_vector_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38305, "Length": 272}
{"ground_truth": ["", "static", "bool", "ix86_expand_vector_init_one_var", "(", "bool", "mmx_ok", ",", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "vals", ",", "int", "one_var", ")", "{", "rtx", "var", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ";", "machine_mode", "wmode", ";", "rtx", "const_vec", ",", "x", ";", "const_vec", "=", "copy_rtx", "(", "vals", ")", ";", "XVECEXP", "(", "const_vec", ",", "0", ",", "one_var", ")", "=", "CONST0_RTX", "(", "GET_MODE_INNER", "(", "mode", ")", ")", ";", "const_vec", "=", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "const_vec", ",", "0", ")", ")", ";", "switch", "(", "mode", ")", "{", "case", "V2DFmode", ":", "case", "V2DImode", ":", "case", "V2SFmode", ":", "case", "V2SImode", ":", "return", "false", ";", "case", "V4DImode", ":", "if", "(", "!", "TARGET_64BIT", ")", "return", "false", ";", "case", "V4DFmode", ":", "case", "V8SFmode", ":", "case", "V8SImode", ":", "case", "V16HImode", ":", "case", "V32QImode", ":", "case", "V4SFmode", ":", "case", "V4SImode", ":", "case", "V8HImode", ":", "case", "V4HImode", ":", "break", ";", "case", "V16QImode", ":", "if", "(", "TARGET_SSE4_1", ")", "break", ";", "wmode", "=", "V8HImode", ";", "goto", "widen", ";", "case", "V8QImode", ":", "wmode", "=", "V4HImode", ";", "goto", "widen", ";", "widen", ":", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", "^", "1", ")", ";", "if", "(", "one_var", "&", "1", ")", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "var", "=", "expand_simple_binop", "(", "HImode", ",", "ASHIFT", ",", "var", ",", "GEN_INT", "(", "8", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "GEN_INT", "(", "INTVAL", "(", "x", ")", "&", "0xff", ")", ";", "}", "else", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "x", "=", "gen_int_mode", "(", "INTVAL", "(", "x", ")", "<<", "8", ",", "HImode", ")", ";", "}", "if", "(", "x", "!=", "const0_rtx", ")", "var", "=", "expand_simple_binop", "(", "HImode", ",", "IOR", ",", "var", ",", "x", ",", "var", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "gen_reg_rtx", "(", "wmode", ")", ";", "emit_move_insn", "(", "x", ",", "gen_lowpart", "(", "wmode", ",", "const_vec", ")", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "x", ",", "var", ",", "one_var", ">>", "1", ")", ";", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "mode", ",", "x", ")", ")", ";", "return", "true", ";", "default", ":", "return", "false", ";", "}", "emit_move_insn", "(", "target", ",", "const_vec", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "target", ",", "var", ",", "one_var", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init", ".", "Store", "into", "TARGET", "a", "vector", "consisting", "of", "the", "values", "in", "VALS", ".", "It", "is", "known", "that", "all", "elements", "except", "ONE_VAR", "are", "constants", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "1", "1", "8", "1", "0xff", "8", "1", "1"], "File": "i3864", "Func": "ix86_expand_vector_init_one_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38306, "Length": 364}
{"ground_truth": ["", "void", "ix86_expand_vector_logical_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "op1", "=", "NULL_RTX", ",", "op2", "=", "NULL_RTX", ";", "if", "(", "GET_CODE", "(", "operands", "[", "1", "]", ")", "==", "SUBREG", ")", "{", "op1", "=", "operands", "[", "1", "]", ";", "op2", "=", "operands", "[", "2", "]", ";", "}", "else", "if", "(", "GET_CODE", "(", "operands", "[", "2", "]", ")", "==", "SUBREG", ")", "{", "op1", "=", "operands", "[", "2", "]", ";", "op2", "=", "operands", "[", "1", "]", ";", "}", "if", "(", "op1", "&&", "!", "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL", "&&", "(", "(", "GET_CODE", "(", "op2", ")", "==", "SUBREG", "||", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", ")", ")", "&&", "GET_MODE_CLASS", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "==", "MODE_VECTOR_FLOAT", "&&", "GET_MODE_SIZE", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "==", "GET_MODE_SIZE", "(", "mode", ")", "&&", "SUBREG_BYTE", "(", "op1", ")", "==", "0", "&&", "(", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", "||", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", "==", "GET_MODE", "(", "SUBREG_REG", "(", "op2", ")", ")", "&&", "SUBREG_BYTE", "(", "op2", ")", "==", "0", ")", ")", "&&", "can_create_pseudo_p", "(", ")", ")", "{", "rtx", "dst", ";", "switch", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "{", "case", "V4SFmode", ":", "case", "V8SFmode", ":", "case", "V16SFmode", ":", "case", "V2DFmode", ":", "case", "V4DFmode", ":", "case", "V8DFmode", ":", "dst", "=", "gen_reg_rtx", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", ";", "if", "(", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", ")", "{", "op2", "=", "gen_lowpart", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "op2", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "}", "else", "{", "op1", "=", "operands", "[", "1", "]", ";", "op2", "=", "SUBREG_REG", "(", "operands", "[", "2", "]", ")", ";", "if", "(", "!", "nonimmediate_operand", "(", "op2", ",", "GET_MODE", "(", "dst", ")", ")", ")", "op2", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "}", "op1", "=", "SUBREG_REG", "(", "op1", ")", ";", "if", "(", "!", "nonimmediate_operand", "(", "op1", ",", "GET_MODE", "(", "dst", ")", ")", ")", "op1", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op1", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "GET_MODE", "(", "dst", ")", ",", "op1", ",", "op2", ")", ")", ")", ";", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "gen_lowpart", "(", "mode", ",", "dst", ")", ")", ";", "return", ";", "default", ":", "break", ";", "}", "}", "if", "(", "!", "nonimmediate_operand", "(", "operands", "[", "1", "]", ",", "mode", ")", ")", "operands", "[", "1", "]", "=", "force_reg", "(", "mode", ",", "operands", "[", "1", "]", ")", ";", "if", "(", "!", "nonimmediate_operand", "(", "operands", "[", "2", "]", ",", "mode", ")", ")", "operands", "[", "2", "]", "=", "force_reg", "(", "mode", ",", "operands", "[", "2", "]", ")", ";", "ix86_fixup_binary_operands_no_copy", "(", "code", ",", "mode", ",", "operands", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "operands", "[", "0", "]", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "vector", "logical", "operation", "CODE", "(", "AND", ",", "IOR", ",", "XOR", ")", "in", "MODE", "with", "the", "given", "OPERANDS", "."], "TS_V_token": ["i386", "1", "1", "2", "2", "2", "1", "0", "0", "1", "2", "0", "1", "1", "1", "2", "2", "2", "0", "1", "2"], "File": "i3864", "Func": "ix86_expand_vector_logical_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38307, "Length": 482}
{"ground_truth": ["", "static", "bool", "ix86_expand_vec_perm_const_1", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "if", "(", "expand_vec_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshuflw_pshufhw", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_palignr", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_broadcast", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermq_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pblendv", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_pack", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2vperm2f128_vshuf", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshufb2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave3", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128_vblend", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermi2_vpshub2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb4_vpermq2", "(", "d", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["The", "guts", "of", "ix86_expand_vec_perm_const", ",", "also", "used", "by", "the", "ok", "hook", ".", "With", "all", "of", "the", "interface", "bits", "taken", "care", "of", ",", "perform", "the", "expansion", "in", "D", "and", "return", "true", "on", "success", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_expand_vec_perm_const_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38308, "Length": 196}
{"ground_truth": ["", "static", "void", "ix86_finalize_stack_realign_flags", "(", "void", ")", "{", "unsigned", "int", "incoming_stack_boundary", "=", "(", "crtl", "->", "parm_stack_boundary", ">", "ix86_incoming_stack_boundary", "?", "crtl", "->", "parm_stack_boundary", ":", "ix86_incoming_stack_boundary", ")", ";", "unsigned", "int", "stack_realign", "=", "(", "incoming_stack_boundary", "<", "(", "crtl", "->", "is_leaf", "?", "crtl", "->", "max_used_stack_slot_alignment", ":", "crtl", "->", "stack_alignment_needed", ")", ")", ";", "if", "(", "crtl", "->", "stack_realign_finalized", ")", "{", "gcc_assert", "(", "crtl", "->", "stack_realign_needed", "==", "stack_realign", ")", ";", "return", ";", "}", "if", "(", "stack_realign", "&&", "frame_pointer_needed", "&&", "crtl", "->", "is_leaf", "&&", "flag_omit_frame_pointer", "&&", "crtl", "->", "sp_is_unchanging", "&&", "!", "ix86_current_function_calls_tls_descriptor", "&&", "!", "crtl", "->", "accesses_prior_frames", "&&", "!", "cfun", "->", "calls_alloca", "&&", "!", "crtl", "->", "calls_eh_return", "&&", "!", "(", "flag_stack_check", "&&", "STACK_CHECK_MOVING_SP", ")", "&&", "!", "ix86_frame_pointer_required", "(", ")", "&&", "get_frame_size", "(", ")", "==", "0", "&&", "ix86_nsaved_sseregs", "(", ")", "==", "0", "&&", "ix86_varargs_gpr_size", "+", "ix86_varargs_fpr_size", "==", "0", ")", "{", "HARD_REG_SET", "set_up_by_prologue", ",", "prologue_used", ";", "basic_block", "bb", ";", "CLEAR_HARD_REG_SET", "(", "prologue_used", ")", ";", "CLEAR_HARD_REG_SET", "(", "set_up_by_prologue", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "STACK_POINTER_REGNUM", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "ARG_POINTER_REGNUM", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "HARD_FRAME_POINTER_REGNUM", ")", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ";", "FOR_BB_INSNS", "(", "bb", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", "&&", "requires_stack_frame_p", "(", "insn", ",", "prologue_used", ",", "set_up_by_prologue", ")", ")", "{", "crtl", "->", "stack_realign_needed", "=", "stack_realign", ";", "crtl", "->", "stack_realign_finalized", "=", "true", ";", "return", ";", "}", "}", "if", "(", "crtl", "->", "drap_reg", ")", "{", "basic_block", "bb", "=", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", "->", "next_bb", ";", "if", "(", "!", "REGNO_REG_SET_P", "(", "DF_LR_IN", "(", "bb", ")", ",", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", ")", "{", "crtl", "->", "drap_reg", "=", "NULL_RTX", ";", "crtl", "->", "need_drap", "=", "false", ";", "}", "}", "else", "cfun", "->", "machine", "->", "no_drap_save_restore", "=", "true", ";", "frame_pointer_needed", "=", "false", ";", "stack_realign", "=", "false", ";", "crtl", "->", "max_used_stack_slot_alignment", "=", "incoming_stack_boundary", ";", "crtl", "->", "stack_alignment_needed", "=", "incoming_stack_boundary", ";", "crtl", "->", "stack_alignment_estimated", "=", "incoming_stack_boundary", ";", "if", "(", "crtl", "->", "preferred_stack_boundary", ">", "incoming_stack_boundary", ")", "crtl", "->", "preferred_stack_boundary", "=", "incoming_stack_boundary", ";", "df_finish_pass", "(", "true", ")", ";", "df_scan_alloc", "(", "NULL", ")", ";", "df_scan_blocks", "(", ")", ";", "df_compute_regs_ever_live", "(", "true", ")", ";", "df_analyze", "(", ")", ";", "}", "crtl", "->", "stack_realign_needed", "=", "stack_realign", ";", "crtl", "->", "stack_realign_finalized", "=", "true", ";", "}", ""], "natrual_language": ["Finalize", "stack_realign_needed", "flag", ",", "which", "will", "guide", "prologue/epilogue", "to", "be", "generated", "in", "correct", "form", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3864", "Func": "ix86_finalize_stack_realign_flags", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38309, "Length": 365}
{"ground_truth": ["", "rtx", "ix86_find_base_term", "(", "rtx", "x", ")", "{", "rtx", "term", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "!=", "CONST", ")", "return", "x", ";", "term", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "==", "PLUS", "&&", "(", "CONST_INT_P", "(", "XEXP", "(", "term", ",", "1", ")", ")", "||", "GET_CODE", "(", "XEXP", "(", "term", ",", "1", ")", ")", "==", "CONST_DOUBLE", ")", ")", "term", "=", "XEXP", "(", "term", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "!=", "UNSPEC", "||", "(", "XINT", "(", "term", ",", "1", ")", "!=", "UNSPEC_GOTPCREL", "&&", "XINT", "(", "term", ",", "1", ")", "!=", "UNSPEC_PCREL", ")", ")", "return", "x", ";", "return", "XVECEXP", "(", "term", ",", "0", ",", "0", ")", ";", "}", "return", "ix86_delegitimize_address", "(", "x", ")", ";", "}", ""], "natrual_language": ["If", "X", "is", "a", "machine", "specific", "address", "(", "i.e", ".", "a", "symbol", "or", "label", "being", "referenced", "as", "a", "displacement", "from", "the", "GOT", "implemented", "using", "an", "UNSPEC", ")", ",", "then", "return", "the", "base", "term", ".", "Otherwise", "return", "X", "."], "TS_V_token": ["i386", "0", "1", "1", "0", "1", "1", "0", "0"], "File": "i3864", "Func": "ix86_find_base_term", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38310, "Length": 128}
{"ground_truth": ["", "static", "bool", "ix86_flags_dependent", "(", "rtx_insn", "*", "insn", ",", "rtx_insn", "*", "dep_insn", ",", "enum", "attr_type", "insn_type", ")", "{", "rtx", "set", ",", "set2", ";", "if", "(", "insn_type", "!=", "TYPE_SETCC", "&&", "insn_type", "!=", "TYPE_ICMOV", "&&", "insn_type", "!=", "TYPE_FCMOV", "&&", "insn_type", "!=", "TYPE_IBR", ")", "return", "false", ";", "if", "(", "(", "set", "=", "single_set", "(", "dep_insn", ")", ")", "!=", "0", ")", "{", "set", "=", "SET_DEST", "(", "set", ")", ";", "set2", "=", "NULL_RTX", ";", "}", "else", "if", "(", "GET_CODE", "(", "PATTERN", "(", "dep_insn", ")", ")", "==", "PARALLEL", "&&", "XVECLEN", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ")", "==", "2", "&&", "GET_CODE", "(", "XVECEXP", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ",", "0", ")", ")", "==", "SET", "&&", "GET_CODE", "(", "XVECEXP", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ",", "1", ")", ")", "==", "SET", ")", "{", "set", "=", "SET_DEST", "(", "XVECEXP", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ",", "0", ")", ")", ";", "set2", "=", "SET_DEST", "(", "XVECEXP", "(", "PATTERN", "(", "dep_insn", ")", ",", "0", ",", "0", ")", ")", ";", "}", "else", "return", "false", ";", "if", "(", "!", "REG_P", "(", "set", ")", "||", "REGNO", "(", "set", ")", "!=", "FLAGS_REG", ")", "return", "false", ";", "if", "(", "!", "reg_overlap_mentioned_p", "(", "set", ",", "PATTERN", "(", "insn", ")", ")", ")", "return", "false", ";", "if", "(", "set2", "&&", "reg_overlap_mentioned_p", "(", "set2", ",", "PATTERN", "(", "insn", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_adjust_cost", "--", "return", "TRUE", "iff", "INSN", "reads", "flags", "set", "by", "DEP_INSN", "and", "nothing", "set", "by", "DEP_INSN", "."], "TS_V_token": ["i386", "0", "0", "2", "0", "0", "0", "1", "0", "0", "0", "0"], "File": "i3864", "Func": "ix86_flags_dependent", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38311, "Length": 223}
{"ground_truth": ["", "static", "bool", "ix86_float_exceptions_rounding_supported_p", "(", "void", ")", "{", "return", "TARGET_80387", "||", "TARGET_SSE_MATH", ";", "}", ""], "natrual_language": ["Implement", "TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_float_exceptions_rounding_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38312, "Length": 13}
{"ground_truth": ["", "machine_mode", "ix86_fp_compare_mode", "(", "enum", "rtx_code", ")", "{", "return", "TARGET_IEEE_FP", "?", "CCFPUmode", ":", "CCFPmode", ";", "}", ""], "natrual_language": ["Figure", "out", "whether", "to", "use", "ordered", "or", "unordered", "fp", "comparisons", ".", "Return", "the", "appropriate", "mode", "to", "use", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_fp_compare_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38313, "Length": 15}
{"ground_truth": ["", "static", "bool", "ix86_frame_pointer_required", "(", "void", ")", "{", "if", "(", "cfun", "->", "machine", "->", "accesses_prev_frame", ")", "return", "true", ";", "if", "(", "SUBTARGET_FRAME_POINTER_REQUIRED", ")", "return", "true", ";", "if", "(", "TARGET_32BIT_MS_ABI", "&&", "cfun", "->", "calls_setjmp", ")", "return", "true", ";", "if", "(", "TARGET_64BIT_MS_ABI", "&&", "get_frame_size", "(", ")", ">", "SEH_MAX_FRAME_SIZE", ")", "return", "true", ";", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", "&&", "(", "!", "crtl", "->", "is_leaf", "||", "ix86_current_function_calls_tls_descriptor", ")", ")", "return", "true", ";", "if", "(", "crtl", "->", "profile", "&&", "!", "flag_fentry", ")", "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": ["i386"], "File": "i3864", "Func": "ix86_frame_pointer_required", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38314, "Length": 81}
{"ground_truth": ["", "static", "rtx", "ix86_function_arg", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "omode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "machine_mode", "mode", "=", "omode", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "rtx", "arg", ";", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "cum", "->", "bnds_in_bt", ")", "arg", "=", "NULL", ";", "else", "if", "(", "cum", "->", "bnd_regno", "<=", "LAST_BND_REG", ")", "arg", "=", "gen_rtx_REG", "(", "BNDmode", ",", "cum", "->", "bnd_regno", ")", ";", "else", "arg", "=", "GEN_INT", "(", "cum", "->", "bnd_regno", "-", "LAST_BND_REG", "-", "1", ")", ";", "return", "arg", ";", "}", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "(", "bytes", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ";", "if", "(", "type", "&&", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "cum", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", "&&", "(", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ")", "==", "MS_ABI", ")", "arg", "=", "function_arg_ms_64", "(", "cum", ",", "mode", ",", "omode", ",", "named", ",", "bytes", ")", ";", "else", "if", "(", "TARGET_64BIT", ")", "arg", "=", "function_arg_64", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "named", ")", ";", "else", "arg", "=", "function_arg_32", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "bytes", ",", "words", ")", ";", "return", "arg", ";", "}", ""], "natrual_language": ["Return", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Return", "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", ".", "It", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "gives", "information", "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": ["i386", "1", "1"], "File": "i3864", "Func": "ix86_function_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38315, "Length": 232}
{"ground_truth": ["", "static", "void", "ix86_function_arg_advance", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "int", "nregs", ";", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "(", "bytes", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ";", "if", "(", "type", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "NULL", ",", "false", ")", ";", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "cum", "->", "bnds_in_bt", ")", "{", "cum", "->", "bnds_in_bt", "--", ";", "return", ";", "}", "if", "(", "cum", "->", "force_bnd_pass", ")", "cum", "->", "force_bnd_pass", "--", ";", "cum", "->", "bnd_regno", "++", ";", "return", ";", "}", "cum", "->", "bnds_in_bt", "=", "0", ";", "if", "(", "cum", "->", "force_bnd_pass", ")", "{", "cum", "->", "bnd_regno", "+=", "cum", "->", "force_bnd_pass", ";", "cum", "->", "force_bnd_pass", "=", "0", ";", "}", "if", "(", "TARGET_64BIT", "&&", "(", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ")", "==", "MS_ABI", ")", "nregs", "=", "function_arg_advance_ms_64", "(", "cum", ",", "bytes", ",", "words", ")", ";", "else", "if", "(", "TARGET_64BIT", ")", "nregs", "=", "function_arg_advance_64", "(", "cum", ",", "mode", ",", "type", ",", "words", ",", "named", ")", ";", "else", "nregs", "=", "function_arg_advance_32", "(", "cum", ",", "mode", ",", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "cum", "->", "stdarg", ")", "cum", "->", "force_bnd_pass", "=", "nregs", ";", "if", "(", "!", "nregs", ")", "cum", "->", "bnds_in_bt", "=", "chkp_type_bounds_count", "(", "type", ")", ";", "}", ""], "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": ["i386", "1", "0", "0"], "File": "i3864", "Func": "ix86_function_arg_advance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38316, "Length": 251}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_function_arg_boundary", "(", "machine_mode", "mode", ",", "const_tree", "type", ")", "{", "unsigned", "int", "align", ";", "if", "(", "type", ")", "{", "type", "=", "TYPE_MAIN_VARIANT", "(", "type", ")", ";", "align", "=", "TYPE_ALIGN", "(", "type", ")", ";", "}", "else", "align", "=", "GET_MODE_ALIGNMENT", "(", "mode", ")", ";", "if", "(", "align", "<", "PARM_BOUNDARY", ")", "align", "=", "PARM_BOUNDARY", ";", "else", "{", "static", "bool", "warned", ";", "unsigned", "int", "saved_align", "=", "align", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "if", "(", "!", "type", ")", "{", "if", "(", "mode", "==", "XFmode", "||", "mode", "==", "XCmode", ")", "align", "=", "PARM_BOUNDARY", ";", "}", "else", "if", "(", "!", "ix86_contains_aligned_value_p", "(", "type", ")", ")", "align", "=", "PARM_BOUNDARY", ";", "if", "(", "align", "<", "128", ")", "align", "=", "PARM_BOUNDARY", ";", "}", "if", "(", "warn_psabi", "&&", "!", "warned", "&&", "align", "!=", "ix86_compat_function_arg_boundary", "(", "mode", ",", "type", ",", "saved_align", ")", ")", "{", "warned", "=", "true", ";", "inform", "(", "input_location", ",", "\"The ABI for passing parameters with %d-byte\"", "\" alignment has changed in GCC 4.6\"", ",", "align", "/", "BITS_PER_UNIT", ")", ";", "}", "}", "return", "align", ";", "}", ""], "natrual_language": ["Gives", "the", "alignment", "boundary", ",", "in", "bits", ",", "of", "an", "argument", "with", "the", "specified", "mode", "and", "type", "."], "TS_V_token": ["i386", "128", "\"The ABI for passing parameters with %d-byte\"", "\" alignment has changed in GCC 4.6\""], "File": "i3864", "Func": "ix86_function_arg_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38317, "Length": 158}
{"ground_truth": ["", "bool", "ix86_function_arg_regno_p", "(", "int", "regno", ")", "{", "int", "i", ";", "const", "int", "*", "parm_regs", ";", "if", "(", "TARGET_MPX", "&&", "BND_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "if", "(", "TARGET_MACHO", ")", "return", "(", "regno", "<", "REGPARM_MAX", "||", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", ")", ")", ";", "else", "return", "(", "regno", "<", "REGPARM_MAX", "||", "(", "TARGET_MMX", "&&", "MMX_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_MMX_REG", "+", "MMX_REGPARM_MAX", ")", ")", "||", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_SSE_REG", "+", "SSE_REGPARM_MAX", ")", ")", ")", ";", "}", "if", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_SSE_REG", "+", "SSE_REGPARM_MAX", ")", ")", "return", "true", ";", "if", "(", "ix86_abi", "==", "SYSV_ABI", "&&", "regno", "==", "AX_REG", ")", "return", "true", ";", "if", "(", "ix86_abi", "==", "MS_ABI", ")", "parm_regs", "=", "x86_64_ms_abi_int_parameter_registers", ";", "else", "parm_regs", "=", "x86_64_int_parameter_registers", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "ix86_abi", "==", "MS_ABI", "?", "X86_64_MS_REGPARM_MAX", ":", "X86_64_REGPARM_MAX", ")", ";", "i", "++", ")", "if", "(", "regno", "==", "parm_regs", "[", "i", "]", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "when", "register", "may", "be", "used", "to", "pass", "function", "parameters", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "ix86_function_arg_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38318, "Length": 187}
{"ground_truth": ["", "static", "bool", "ix86_function_ok_for_sibcall", "(", "tree", "decl", ",", "tree", "exp", ")", "{", "tree", "type", ",", "decl_or_type", ";", "rtx", "a", ",", "b", ";", "if", "(", "!", "TARGET_MACHO", "&&", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "(", "!", "decl", "||", "!", "targetm", ".", "binds_local_p", "(", "decl", ")", ")", ")", "return", "false", ";", "if", "(", "ix86_minimum_incoming_stack_boundary", "(", "true", ")", "<", "PREFERRED_STACK_BOUNDARY", ")", "return", "false", ";", "if", "(", "decl", ")", "{", "decl_or_type", "=", "decl", ";", "type", "=", "TREE_TYPE", "(", "decl", ")", ";", "}", "else", "{", "type", "=", "CALL_EXPR_FN", "(", "exp", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "decl_or_type", "=", "type", ";", "}", "a", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "exp", ")", ",", "decl_or_type", ",", "false", ")", ";", "b", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ",", "cfun", "->", "decl", ",", "false", ")", ";", "if", "(", "STACK_REG_P", "(", "a", ")", "||", "STACK_REG_P", "(", "b", ")", ")", "{", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "}", "else", "if", "(", "VOID_TYPE_P", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ")", ")", ";", "else", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", "&&", "ix86_function_type_abi", "(", "type", ")", "==", "SYSV_ABI", ")", "return", "false", ";", "}", "else", "{", "if", "(", "!", "decl", "||", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "DECL_DLLIMPORT_P", "(", "decl", ")", ")", ")", "{", "if", "(", "ix86_function_regparm", "(", "type", ",", "NULL", ")", ">=", "3", ")", "{", "return", "false", ";", "}", "}", "}", "return", "true", ";", "}", ""], "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": ["i386", "3"], "File": "i3864", "Func": "ix86_function_ok_for_sibcall", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38319, "Length": 262}
{"ground_truth": ["", "static", "int", "ix86_function_regparm", "(", "const_tree", "type", ",", "const_tree", "decl", ")", "{", "tree", "attr", ";", "int", "regparm", ";", "unsigned", "int", "ccvt", ";", "if", "(", "TARGET_64BIT", ")", "return", "(", "ix86_function_type_abi", "(", "type", ")", "==", "SYSV_ABI", "?", "X86_64_REGPARM_MAX", ":", "X86_64_MS_REGPARM_MAX", ")", ";", "ccvt", "=", "ix86_get_callcvt", "(", "type", ")", ";", "regparm", "=", "ix86_regparm", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_REGPARM", ")", "!=", "0", ")", "{", "attr", "=", "lookup_attribute", "(", "\"regparm\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ";", "if", "(", "attr", ")", "{", "regparm", "=", "TREE_INT_CST_LOW", "(", "TREE_VALUE", "(", "TREE_VALUE", "(", "attr", ")", ")", ")", ";", "return", "regparm", ";", "}", "}", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "return", "2", ";", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_THISCALL", ")", "!=", "0", ")", "return", "1", ";", "if", "(", "decl", "&&", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "{", "cgraph_node", "*", "target", "=", "cgraph_node", "::", "get", "(", "decl", ")", ";", "if", "(", "target", ")", "target", "=", "target", "->", "function_symbol", "(", ")", ";", "if", "(", "target", "&&", "opt_for_fn", "(", "target", "->", "decl", ",", "optimize", ")", "&&", "!", "(", "profile_flag", "&&", "!", "flag_fentry", ")", ")", "{", "cgraph_local_info", "*", "i", "=", "&", "target", "->", "local", ";", "if", "(", "i", "&&", "i", "->", "local", "&&", "i", "->", "can_change_signature", ")", "{", "int", "local_regparm", ",", "globals", "=", "0", ",", "regno", ";", "for", "(", "local_regparm", "=", "0", ";", "local_regparm", "<", "REGPARM_MAX", ";", "local_regparm", "++", ")", "if", "(", "fixed_regs", "[", "local_regparm", "]", ")", "break", ";", "if", "(", "local_regparm", "==", "3", "&&", "DECL_STATIC_CHAIN", "(", "target", "->", "decl", ")", ")", "local_regparm", "=", "2", ";", "if", "(", "local_regparm", "==", "3", "&&", "flag_split_stack", ")", "local_regparm", "=", "2", ";", "for", "(", "regno", "=", "AX_REG", ";", "regno", "<=", "DI_REG", ";", "regno", "++", ")", "if", "(", "fixed_regs", "[", "regno", "]", ")", "globals", "++", ";", "local_regparm", "=", "globals", "<", "local_regparm", "?", "local_regparm", "-", "globals", ":", "0", ";", "if", "(", "local_regparm", ">", "regparm", ")", "regparm", "=", "local_regparm", ";", "}", "}", "}", "return", "regparm", ";", "}", ""], "natrual_language": ["Return", "the", "regparm", "value", "for", "a", "function", "with", "the", "indicated", "TYPE", "and", "DECL", ".", "DECL", "may", "be", "NULL", "when", "calling", "function", "indirectly", "or", "considering", "a", "libcall", "."], "TS_V_token": ["i386", "0", "\"regparm\"", "0", "2", "0", "1", "0", "0", "3", "2", "3", "2", "0"], "File": "i3864", "Func": "ix86_function_regparm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38320, "Length": 315}
{"ground_truth": ["", "static", "void", "ix86_function_specific_post_stream_in", "(", "struct", "cl_target_option", "*", "ptr", ")", "{", "if", "(", "flag_pic", ")", "switch", "(", "ptr", "->", "x_ix86_cmodel", ")", "{", "case", "CM_SMALL", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_SMALL_PIC", ";", "break", ";", "case", "CM_MEDIUM", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_MEDIUM_PIC", ";", "break", ";", "case", "CM_LARGE", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_LARGE_PIC", ";", "break", ";", "case", "CM_KERNEL", ":", "error", "(", "\"code model %s does not support PIC mode\"", ",", "\"kernel\"", ")", ";", "break", ";", "default", ":", "break", ";", "}", "else", "switch", "(", "ptr", "->", "x_ix86_cmodel", ")", "{", "case", "CM_SMALL_PIC", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_SMALL", ";", "break", ";", "case", "CM_MEDIUM_PIC", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_MEDIUM", ";", "break", ";", "case", "CM_LARGE_PIC", ":", "ptr", "->", "x_ix86_cmodel", "=", "CM_LARGE", ";", "break", ";", "default", ":", "break", ";", "}", "}", ""], "natrual_language": ["Adjust", "target", "options", "after", "streaming", "them", "in", ".", "This", "is", "mainly", "about", "reconciling", "them", "with", "global", "options", "."], "TS_V_token": ["i386", "\"code model %s does not support PIC mode\"", "\"kernel\""], "File": "i3864", "Func": "ix86_function_specific_post_stream_in", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38321, "Length": 118}
{"ground_truth": ["", "static", "void", "ix86_function_specific_print", "(", "FILE", "*", "file", ",", "int", "indent", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "char", "*", "target_string", "=", "ix86_target_string", "(", "ptr", "->", "x_ix86_isa_flags", ",", "ptr", "->", "x_target_flags", ",", "NULL", ",", "NULL", ",", "ptr", "->", "x_ix86_fpmath", ",", "false", ")", ";", "gcc_assert", "(", "ptr", "->", "arch", "<", "PROCESSOR_max", ")", ";", "fprintf", "(", "file", ",", "\"%*sarch = %d (%s)\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "arch", ",", "processor_target_table", "[", "ptr", "->", "arch", "]", ".", "name", ")", ";", "gcc_assert", "(", "ptr", "->", "tune", "<", "PROCESSOR_max", ")", ";", "fprintf", "(", "file", ",", "\"%*stune = %d (%s)\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "tune", ",", "processor_target_table", "[", "ptr", "->", "tune", "]", ".", "name", ")", ";", "fprintf", "(", "file", ",", "\"%*sbranch_cost = %d\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "branch_cost", ")", ";", "if", "(", "target_string", ")", "{", "fprintf", "(", "file", ",", "\"%*s%s\\n\"", ",", "indent", ",", "\"\"", ",", "target_string", ")", ";", "free", "(", "target_string", ")", ";", "}", "}", ""], "natrual_language": ["Print", "the", "current", "options"], "TS_V_token": ["i386", "\"%*sarch = %d (%s)\\n\"", "\"\"", "\"%*stune = %d (%s)\\n\"", "\"\"", "\"%*sbranch_cost = %d\\n\"", "\"\"", "\"%*s%s\\n\"", "\"\""], "File": "i3864", "Func": "ix86_function_specific_print", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38322, "Length": 148}
{"ground_truth": ["", "static", "void", "ix86_function_specific_restore", "(", "struct", "gcc_options", "*", "opts", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "enum", "processor_type", "old_tune", "=", "ix86_tune", ";", "enum", "processor_type", "old_arch", "=", "ix86_arch", ";", "unsigned", "int", "ix86_arch_mask", ";", "int", "i", ";", "opts", "->", "x_flag_pic", "=", "flag_pic", ";", "ix86_arch", "=", "(", "enum", "processor_type", ")", "ptr", "->", "arch", ";", "ix86_schedule", "=", "(", "enum", "attr_cpu", ")", "ptr", "->", "schedule", ";", "ix86_tune", "=", "(", "enum", "processor_type", ")", "ptr", "->", "tune", ";", "x86_prefetch_sse", "=", "ptr", "->", "prefetch_sse", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "branch_cost", ";", "ix86_tune_defaulted", "=", "ptr", "->", "tune_defaulted", ";", "ix86_arch_specified", "=", "ptr", "->", "arch_specified", ";", "opts", "->", "x_ix86_isa_flags_explicit", "=", "ptr", "->", "x_ix86_isa_flags_explicit", ";", "opts", "->", "x_ix86_target_flags_explicit", "=", "ptr", "->", "x_ix86_target_flags_explicit", ";", "opts", "->", "x_recip_mask_explicit", "=", "ptr", "->", "x_recip_mask_explicit", ";", "opts", "->", "x_ix86_arch_string", "=", "ptr", "->", "x_ix86_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "ptr", "->", "x_ix86_tune_string", ";", "opts", "->", "x_ix86_cmodel", "=", "ptr", "->", "x_ix86_cmodel", ";", "opts", "->", "x_ix86_abi", "=", "ptr", "->", "x_ix86_abi", ";", "opts", "->", "x_ix86_asm_dialect", "=", "ptr", "->", "x_ix86_asm_dialect", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "x_ix86_branch_cost", ";", "opts", "->", "x_ix86_dump_tunes", "=", "ptr", "->", "x_ix86_dump_tunes", ";", "opts", "->", "x_ix86_force_align_arg_pointer", "=", "ptr", "->", "x_ix86_force_align_arg_pointer", ";", "opts", "->", "x_ix86_force_drap", "=", "ptr", "->", "x_ix86_force_drap", ";", "opts", "->", "x_ix86_incoming_stack_boundary_arg", "=", "ptr", "->", "x_ix86_incoming_stack_boundary_arg", ";", "opts", "->", "x_ix86_pmode", "=", "ptr", "->", "x_ix86_pmode", ";", "opts", "->", "x_ix86_preferred_stack_boundary_arg", "=", "ptr", "->", "x_ix86_preferred_stack_boundary_arg", ";", "opts", "->", "x_ix86_recip_name", "=", "ptr", "->", "x_ix86_recip_name", ";", "opts", "->", "x_ix86_regparm", "=", "ptr", "->", "x_ix86_regparm", ";", "opts", "->", "x_ix86_section_threshold", "=", "ptr", "->", "x_ix86_section_threshold", ";", "opts", "->", "x_ix86_sse2avx", "=", "ptr", "->", "x_ix86_sse2avx", ";", "opts", "->", "x_ix86_stack_protector_guard", "=", "ptr", "->", "x_ix86_stack_protector_guard", ";", "opts", "->", "x_ix86_stringop_alg", "=", "ptr", "->", "x_ix86_stringop_alg", ";", "opts", "->", "x_ix86_tls_dialect", "=", "ptr", "->", "x_ix86_tls_dialect", ";", "opts", "->", "x_ix86_tune_ctrl_string", "=", "ptr", "->", "x_ix86_tune_ctrl_string", ";", "opts", "->", "x_ix86_tune_memcpy_strategy", "=", "ptr", "->", "x_ix86_tune_memcpy_strategy", ";", "opts", "->", "x_ix86_tune_memset_strategy", "=", "ptr", "->", "x_ix86_tune_memset_strategy", ";", "opts", "->", "x_ix86_tune_no_default", "=", "ptr", "->", "x_ix86_tune_no_default", ";", "opts", "->", "x_ix86_veclibabi_type", "=", "ptr", "->", "x_ix86_veclibabi_type", ";", "ix86_tune_cost", "=", "processor_target_table", "[", "ix86_tune", "]", ".", "cost", ";", "if", "(", "opts", "->", "x_optimize_size", ")", "ix86_cost", "=", "&", "ix86_size_cost", ";", "else", "ix86_cost", "=", "ix86_tune_cost", ";", "if", "(", "old_arch", "!=", "ix86_arch", ")", "{", "ix86_arch_mask", "=", "1u", "<<", "ix86_arch", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_ARCH_LAST", ";", "++", "i", ")", "ix86_arch_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_arch_features", "[", "i", "]", "&", "ix86_arch_mask", ")", ";", "}", "if", "(", "old_tune", "!=", "ix86_tune", ")", "set_ix86_tune_features", "(", "ix86_tune", ",", "false", ")", ";", "}", ""], "natrual_language": ["Restore", "the", "current", "options"], "TS_V_token": ["i386", "1u", "0"], "File": "i3864", "Func": "ix86_function_specific_restore", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38323, "Length": 394}
{"ground_truth": ["", "static", "void", "ix86_function_specific_save", "(", "struct", "cl_target_option", "*", "ptr", ",", "struct", "gcc_options", "*", "opts", ")", "{", "ptr", "->", "arch", "=", "ix86_arch", ";", "ptr", "->", "schedule", "=", "ix86_schedule", ";", "ptr", "->", "prefetch_sse", "=", "x86_prefetch_sse", ";", "ptr", "->", "tune", "=", "ix86_tune", ";", "ptr", "->", "branch_cost", "=", "ix86_branch_cost", ";", "ptr", "->", "tune_defaulted", "=", "ix86_tune_defaulted", ";", "ptr", "->", "arch_specified", "=", "ix86_arch_specified", ";", "ptr", "->", "x_ix86_isa_flags_explicit", "=", "opts", "->", "x_ix86_isa_flags_explicit", ";", "ptr", "->", "x_ix86_target_flags_explicit", "=", "opts", "->", "x_ix86_target_flags_explicit", ";", "ptr", "->", "x_recip_mask_explicit", "=", "opts", "->", "x_recip_mask_explicit", ";", "ptr", "->", "x_ix86_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "ptr", "->", "x_ix86_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "ptr", "->", "x_ix86_cmodel", "=", "opts", "->", "x_ix86_cmodel", ";", "ptr", "->", "x_ix86_abi", "=", "opts", "->", "x_ix86_abi", ";", "ptr", "->", "x_ix86_asm_dialect", "=", "opts", "->", "x_ix86_asm_dialect", ";", "ptr", "->", "x_ix86_branch_cost", "=", "opts", "->", "x_ix86_branch_cost", ";", "ptr", "->", "x_ix86_dump_tunes", "=", "opts", "->", "x_ix86_dump_tunes", ";", "ptr", "->", "x_ix86_force_align_arg_pointer", "=", "opts", "->", "x_ix86_force_align_arg_pointer", ";", "ptr", "->", "x_ix86_force_drap", "=", "opts", "->", "x_ix86_force_drap", ";", "ptr", "->", "x_ix86_incoming_stack_boundary_arg", "=", "opts", "->", "x_ix86_incoming_stack_boundary_arg", ";", "ptr", "->", "x_ix86_pmode", "=", "opts", "->", "x_ix86_pmode", ";", "ptr", "->", "x_ix86_preferred_stack_boundary_arg", "=", "opts", "->", "x_ix86_preferred_stack_boundary_arg", ";", "ptr", "->", "x_ix86_recip_name", "=", "opts", "->", "x_ix86_recip_name", ";", "ptr", "->", "x_ix86_regparm", "=", "opts", "->", "x_ix86_regparm", ";", "ptr", "->", "x_ix86_section_threshold", "=", "opts", "->", "x_ix86_section_threshold", ";", "ptr", "->", "x_ix86_sse2avx", "=", "opts", "->", "x_ix86_sse2avx", ";", "ptr", "->", "x_ix86_stack_protector_guard", "=", "opts", "->", "x_ix86_stack_protector_guard", ";", "ptr", "->", "x_ix86_stringop_alg", "=", "opts", "->", "x_ix86_stringop_alg", ";", "ptr", "->", "x_ix86_tls_dialect", "=", "opts", "->", "x_ix86_tls_dialect", ";", "ptr", "->", "x_ix86_tune_ctrl_string", "=", "opts", "->", "x_ix86_tune_ctrl_string", ";", "ptr", "->", "x_ix86_tune_memcpy_strategy", "=", "opts", "->", "x_ix86_tune_memcpy_strategy", ";", "ptr", "->", "x_ix86_tune_memset_strategy", "=", "opts", "->", "x_ix86_tune_memset_strategy", ";", "ptr", "->", "x_ix86_tune_no_default", "=", "opts", "->", "x_ix86_tune_no_default", ";", "ptr", "->", "x_ix86_veclibabi_type", "=", "opts", "->", "x_ix86_veclibabi_type", ";", "gcc_assert", "(", "ptr", "->", "arch", "==", "ix86_arch", ")", ";", "gcc_assert", "(", "ptr", "->", "schedule", "==", "ix86_schedule", ")", ";", "gcc_assert", "(", "ptr", "->", "tune", "==", "ix86_tune", ")", ";", "gcc_assert", "(", "ptr", "->", "branch_cost", "==", "ix86_branch_cost", ")", ";", "}", ""], "natrual_language": ["Save", "the", "current", "options"], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_function_specific_save", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38324, "Length": 310}
{"ground_truth": ["", "static", "int", "ix86_function_sseregparm", "(", "const_tree", "type", ",", "const_tree", "decl", ",", "bool", "warn", ")", "{", "gcc_assert", "(", "!", "TARGET_64BIT", ")", ";", "if", "(", "TARGET_SSEREGPARM", "||", "(", "type", "&&", "lookup_attribute", "(", "\"sseregparm\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ")", ")", "{", "if", "(", "!", "TARGET_SSE", ")", "{", "if", "(", "warn", ")", "{", "if", "(", "decl", ")", "error", "(", "\"calling %qD with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", ",", "decl", ")", ";", "else", "error", "(", "\"calling %qT with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", ",", "type", ")", ";", "}", "return", "0", ";", "}", "return", "2", ";", "}", "if", "(", "!", "decl", ")", "return", "0", ";", "cgraph_node", "*", "target", "=", "cgraph_node", "::", "get", "(", "decl", ")", ";", "if", "(", "target", ")", "target", "=", "target", "->", "function_symbol", "(", ")", ";", "if", "(", "target", "&&", "(", "target_opts_for_fn", "(", "target", "->", "decl", ")", "->", "x_ix86_fpmath", "&", "FPMATH_SSE", ")", "&&", "opt_for_fn", "(", "target", "->", "decl", ",", "optimize", ")", "&&", "!", "(", "profile_flag", "&&", "!", "flag_fentry", ")", ")", "{", "cgraph_local_info", "*", "i", "=", "&", "target", "->", "local", ";", "if", "(", "i", "&&", "i", "->", "local", "&&", "i", "->", "can_change_signature", ")", "{", "if", "(", "!", "TARGET_SSE", "&&", "warn", ")", "{", "error", "(", "\"calling %qD with SSE caling convention without \"", "\"SSE/SSE2 enabled\"", ",", "decl", ")", ";", "return", "0", ";", "}", "return", "TARGET_SSE2_P", "(", "target_opts_for_fn", "(", "target", "->", "decl", ")", "->", "x_ix86_isa_flags", ")", "?", "2", ":", "1", ";", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "1", "or", "2", ",", "if", "we", "can", "pass", "up", "to", "SSE_REGPARM_MAX", "SFmode", "(", "1", ")", "and", "DFmode", "(", "2", ")", "arguments", "in", "SSE", "registers", "for", "a", "function", "with", "the", "indicated", "TYPE", "and", "DECL", ".", "DECL", "may", "be", "NULL", "when", "calling", "function", "indirectly", "or", "considering", "a", "libcall", ".", "Otherwise", "return", "0", "."], "TS_V_token": ["i386", "\"sseregparm\"", "\"calling %qD with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", "\"calling %qT with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", "0", "2", "0", "\"calling %qD with SSE caling convention without \"", "\"SSE/SSE2 enabled\"", "0", "2", "1", "0"], "File": "i3864", "Func": "ix86_function_sseregparm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38325, "Length": 211}
{"ground_truth": ["", "enum", "calling_abi", "ix86_function_type_abi", "(", "const_tree", "fntype", ")", "{", "if", "(", "fntype", "!=", "NULL_TREE", "&&", "TYPE_ATTRIBUTES", "(", "fntype", ")", "!=", "NULL_TREE", ")", "{", "enum", "calling_abi", "abi", "=", "ix86_abi", ";", "if", "(", "abi", "==", "SYSV_ABI", ")", "{", "if", "(", "lookup_attribute", "(", "\"ms_abi\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "{", "if", "(", "TARGET_X32", ")", "{", "static", "bool", "warned", "=", "false", ";", "if", "(", "!", "warned", ")", "{", "error", "(", "\"X32 does not support ms_abi attribute\"", ")", ";", "warned", "=", "true", ";", "}", "}", "abi", "=", "MS_ABI", ";", "}", "}", "else", "if", "(", "lookup_attribute", "(", "\"sysv_abi\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "abi", "=", "SYSV_ABI", ";", "return", "abi", ";", "}", "return", "ix86_abi", ";", "}", ""], "natrual_language": ["Returns", "value", "SYSV_ABI", ",", "MS_ABI", "dependent", "on", "fntype", ",", "specifying", "the", "call", "abi", "used", "."], "TS_V_token": ["i386", "\"ms_abi\"", "\"X32 does not support ms_abi attribute\"", "\"sysv_abi\""], "File": "i3864", "Func": "ix86_function_type_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38326, "Length": 107}
{"ground_truth": ["", "static", "rtx", "ix86_function_value_bounds", "(", "const_tree", "valtype", ",", "const_tree", "fntype_or_decl", "ATTRIBUTE_UNUSED", ",", "bool", "outgoing", "ATTRIBUTE_UNUSED", ")", "{", "rtx", "res", "=", "NULL_RTX", ";", "if", "(", "BOUNDED_TYPE_P", "(", "valtype", ")", ")", "res", "=", "gen_rtx_REG", "(", "BNDmode", ",", "FIRST_BND_REG", ")", ";", "else", "if", "(", "chkp_type_has_pointer", "(", "valtype", ")", ")", "{", "bitmap", "slots", ";", "rtx", "bounds", "[", "2", "]", ";", "bitmap_iterator", "bi", ";", "unsigned", "i", ",", "bnd_no", "=", "0", ";", "bitmap_obstack_initialize", "(", "NULL", ")", ";", "slots", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "chkp_find_bound_slots", "(", "valtype", ",", "slots", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "slots", ",", "0", ",", "i", ",", "bi", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "BNDmode", ",", "FIRST_BND_REG", "+", "bnd_no", ")", ";", "rtx", "offs", "=", "GEN_INT", "(", "i", "*", "POINTER_SIZE", "/", "BITS_PER_UNIT", ")", ";", "gcc_assert", "(", "bnd_no", "<", "2", ")", ";", "bounds", "[", "bnd_no", "++", "]", "=", "gen_rtx_EXPR_LIST", "(", "VOIDmode", ",", "reg", ",", "offs", ")", ";", "}", "res", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec_v", "(", "bnd_no", ",", "bounds", ")", ")", ";", "BITMAP_FREE", "(", "slots", ")", ";", "bitmap_obstack_release", "(", "NULL", ")", ";", "}", "else", "res", "=", "NULL_RTX", ";", "return", "res", ";", "}", ""], "natrual_language": ["Return", "an", "RTX", "representing", "a", "place", "where", "a", "function", "returns", "or", "recieves", "pointer", "bounds", "or", "NULL", "if", "no", "bounds", "are", "returned", ".", "VALTYPE", "is", "a", "data", "type", "of", "a", "value", "returned", "by", "the", "function", ".", "FN_DECL_OR_TYPE", "is", "a", "tree", "node", "representing", "FUNCTION_DECL", "or", "FUNCTION_TYPE", "of", "the", "function", ".", "If", "OUTGOING", "is", "false", ",", "return", "a", "place", "in", "which", "the", "caller", "will", "see", "the", "return", "value", ".", "Otherwise", ",", "return", "a", "place", "where", "a", "function", "returns", "a", "value", "."], "TS_V_token": ["i386", "2", "0", "0", "2"], "File": "i3864", "Func": "ix86_function_value_bounds", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38327, "Length": 176}
{"ground_truth": ["", "static", "bool", "ix86_function_value_regno_p", "(", "const", "unsigned", "int", "regno", ")", "{", "switch", "(", "regno", ")", "{", "case", "AX_REG", ":", "return", "true", ";", "case", "DX_REG", ":", "return", "(", "!", "TARGET_64BIT", "||", "ix86_abi", "!=", "MS_ABI", ")", ";", "case", "DI_REG", ":", "case", "SI_REG", ":", "return", "TARGET_64BIT", "&&", "ix86_abi", "!=", "MS_ABI", ";", "case", "FIRST_BND_REG", ":", "return", "chkp_function_instrumented_p", "(", "current_function_decl", ")", ";", "case", "ST0_REG", ":", "case", "ST1_REG", ":", "if", "(", "TARGET_64BIT", "&&", "ix86_abi", "==", "MS_ABI", ")", "return", "false", ";", "return", "TARGET_FLOAT_RETURNS_IN_80387", ";", "case", "XMM0_REG", ":", "case", "XMM1_REG", ":", "return", "TARGET_SSE", ";", "case", "MM0_REG", ":", "if", "(", "TARGET_MACHO", "||", "TARGET_64BIT", ")", "return", "false", ";", "return", "TARGET_MMX", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "N", "is", "a", "possible", "register", "number", "of", "function", "value", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_function_value_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38328, "Length": 105}
{"ground_truth": ["", "static", "bool", "ix86_function_versions", "(", "tree", "fn1", ",", "tree", "fn2", ")", "{", "tree", "attr1", ",", "attr2", ";", "char", "*", "target1", ",", "*", "target2", ";", "bool", "result", ";", "if", "(", "TREE_CODE", "(", "fn1", ")", "!=", "FUNCTION_DECL", "||", "TREE_CODE", "(", "fn2", ")", "!=", "FUNCTION_DECL", ")", "return", "false", ";", "attr1", "=", "lookup_attribute", "(", "\"target\"", ",", "DECL_ATTRIBUTES", "(", "fn1", ")", ")", ";", "attr2", "=", "lookup_attribute", "(", "\"target\"", ",", "DECL_ATTRIBUTES", "(", "fn2", ")", ")", ";", "if", "(", "attr1", "==", "NULL_TREE", "&&", "attr2", "==", "NULL_TREE", ")", "return", "false", ";", "if", "(", "attr1", "==", "NULL_TREE", "||", "attr2", "==", "NULL_TREE", ")", "{", "if", "(", "DECL_FUNCTION_VERSIONED", "(", "fn1", ")", "||", "DECL_FUNCTION_VERSIONED", "(", "fn2", ")", ")", "{", "if", "(", "attr2", "!=", "NULL_TREE", ")", "{", "tree", "tem", "=", "fn1", ";", "fn1", "=", "fn2", ";", "fn2", "=", "tem", ";", "attr1", "=", "attr2", ";", "}", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "fn2", ")", ",", "\"missing % attribute for multi-versioned %D\"", ",", "fn2", ")", ";", "inform", "(", "DECL_SOURCE_LOCATION", "(", "fn1", ")", ",", "\"previous declaration of %D\"", ",", "fn1", ")", ";", "DECL_ATTRIBUTES", "(", "fn2", ")", "=", "tree_cons", "(", "get_identifier", "(", "\"target\"", ")", ",", "copy_node", "(", "TREE_VALUE", "(", "attr1", ")", ")", ",", "DECL_ATTRIBUTES", "(", "fn2", ")", ")", ";", "}", "return", "false", ";", "}", "target1", "=", "sorted_attr_string", "(", "TREE_VALUE", "(", "attr1", ")", ")", ";", "target2", "=", "sorted_attr_string", "(", "TREE_VALUE", "(", "attr2", ")", ")", ";", "if", "(", "strcmp", "(", "target1", ",", "target2", ")", "==", "0", ")", "result", "=", "false", ";", "else", "result", "=", "true", ";", "XDELETEVEC", "(", "target1", ")", ";", "XDELETEVEC", "(", "target2", ")", ";", "return", "result", ";", "}", ""], "natrual_language": ["This", "function", "returns", "true", "if", "FN1", "and", "FN2", "are", "versions", "of", "the", "same", "function", ",", "that", "is", ",", "the", "target", "strings", "of", "the", "function", "decls", "are", "different", ".", "This", "assumes", "that", "FN1", "and", "FN2", "have", "the", "same", "signature", "."], "TS_V_token": ["i386", "\"target\"", "\"target\"", "\"missing % attribute for multi-versioned %D\"", "\"previous declaration of %D\"", "\"target\"", "0"], "File": "i3864", "Func": "ix86_function_versions", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38329, "Length": 240}
{"ground_truth": ["", "static", "tree", "ix86_generate_version_dispatcher_body", "(", "void", "*", "node_p", ")", "{", "tree", "resolver_decl", ";", "basic_block", "empty_bb", ";", "tree", "default_ver_decl", ";", "struct", "cgraph_node", "*", "versn", ";", "struct", "cgraph_node", "*", "node", ";", "struct", "cgraph_function_version_info", "*", "node_version_info", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "versn_info", "=", "NULL", ";", "node", "=", "(", "cgraph_node", "*", ")", "node_p", ";", "node_version_info", "=", "node", "->", "function_version", "(", ")", ";", "gcc_assert", "(", "node", "->", "dispatcher_function", "&&", "node_version_info", "!=", "NULL", ")", ";", "if", "(", "node_version_info", "->", "dispatcher_resolver", ")", "return", "node_version_info", "->", "dispatcher_resolver", ";", "default_ver_decl", "=", "node_version_info", "->", "next", "->", "this_node", "->", "decl", ";", "node", "->", "definition", "=", "false", ";", "resolver_decl", "=", "make_resolver_func", "(", "default_ver_decl", ",", "node", "->", "decl", ",", "&", "empty_bb", ")", ";", "node_version_info", "->", "dispatcher_resolver", "=", "resolver_decl", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "resolver_decl", ")", ")", ";", "auto_vec", "<", "tree", ",", "2", ">", "fn_ver_vec", ";", "for", "(", "versn_info", "=", "node_version_info", "->", "next", ";", "versn_info", ";", "versn_info", "=", "versn_info", "->", "next", ")", "{", "versn", "=", "versn_info", "->", "this_node", ";", "if", "(", "DECL_VINDEX", "(", "versn", "->", "decl", ")", ")", "sorry", "(", "\"Virtual function multiversioning not supported\"", ")", ";", "fn_ver_vec", ".", "safe_push", "(", "versn", "->", "decl", ")", ";", "}", "dispatch_function_versions", "(", "resolver_decl", ",", "&", "fn_ver_vec", ",", "&", "empty_bb", ")", ";", "cgraph_edge", "::", "rebuild_edges", "(", ")", ";", "pop_cfun", "(", ")", ";", "return", "resolver_decl", ";", "}", ""], "natrual_language": ["Generate", "the", "dispatching", "code", "body", "to", "dispatch", "multi-versioned", "function", "DECL", ".", "The", "target", "hook", "is", "called", "to", "process", "the", "``", "target", "''", "attributes", "and", "provide", "the", "code", "to", "dispatch", "the", "right", "function", "at", "run-time", ".", "NODE", "points", "to", "the", "dispatcher", "decl", "whose", "body", "will", "be", "created", "."], "TS_V_token": ["i386", "2", "\"Virtual function multiversioning not supported\""], "File": "i3864", "Func": "ix86_generate_version_dispatcher_body", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38330, "Length": 204}
{"ground_truth": ["", "static", "rtx", "ix86_get_arg_address_for_bt", "(", "rtx", "slot", ",", "rtx", "slot_no", ",", "rtx", "special_base", ")", "{", "rtx", "addr", "=", "NULL", ";", "if", "(", "!", "slot", "||", "REG_P", "(", "slot", ")", ")", "{", "gcc_assert", "(", "CONST_INT_P", "(", "slot_no", ")", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "special_base", ",", "-", "(", "INTVAL", "(", "slot_no", ")", "+", "1", ")", "*", "GET_MODE_SIZE", "(", "Pmode", ")", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "slot", ")", ")", "{", "addr", "=", "XEXP", "(", "slot", ",", "0", ")", ";", "if", "(", "!", "register_operand", "(", "addr", ",", "Pmode", ")", ")", "addr", "=", "copy_addr_to_reg", "(", "addr", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "return", "addr", ";", "}", ""], "natrual_language": ["Helper", "function", "for", "ix86_load_bounds", "and", "ix86_store_bounds", ".", "Return", "an", "address", "to", "be", "used", "to", "load/store", "bounds", "for", "pointer", "passed", "in", "SLOT", ".", "SLOT_NO", "is", "an", "integer", "constant", "holding", "number", "of", "a", "target", "dependent", "special", "slot", "to", "be", "used", "in", "case", "SLOT", "is", "not", "a", "memory", ".", "SPECIAL_BASE", "is", "a", "pointer", "to", "be", "used", "as", "a", "base", "of", "fake", "address", "to", "access", "special", "slots", "in", "Bounds", "Table", ".", "SPECIAL_BASE", "[", "-1", "]", ",", "SPECIAL_BASE", "[", "-2", "]", "etc", ".", "will", "be", "used", "as", "fake", "pointer", "locations", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3864", "Func": "ix86_get_arg_address_for_bt", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38331, "Length": 108}
{"ground_truth": ["", "static", "rtx", "ix86_get_drap_rtx", "(", "void", ")", "{", "if", "(", "ix86_force_drap", "||", "!", "ACCUMULATE_OUTGOING_ARGS", ")", "crtl", "->", "need_drap", "=", "true", ";", "if", "(", "stack_realign_drap", ")", "{", "unsigned", "int", "regno", "=", "find_drap_reg", "(", ")", ";", "rtx", "drap_vreg", ";", "rtx", "arg_ptr", ";", "rtx_insn", "*", "seq", ",", "*", "insn", ";", "arg_ptr", "=", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "crtl", "->", "drap_reg", "=", "arg_ptr", ";", "start_sequence", "(", ")", ";", "drap_vreg", "=", "copy_to_reg", "(", "arg_ptr", ")", ";", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "insn", "=", "emit_insn_before", "(", "seq", ",", "NEXT_INSN", "(", "entry_of_function", "(", ")", ")", ")", ";", "if", "(", "!", "optimize", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_SET_VDRAP", ",", "drap_vreg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "return", "drap_vreg", ";", "}", "else", "return", "NULL", ";", "}", ""], "natrual_language": ["Handle", "the", "TARGET_GET_DRAP_RTX", "hook", ".", "Return", "NULL", "if", "no", "DRAP", "is", "needed", "or", "an", "rtx", "for", "DRAP", "otherwise", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_get_drap_rtx", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38332, "Length": 128}
{"ground_truth": ["", "static", "tree", "ix86_get_function_versions_dispatcher", "(", "void", "*", "decl", ")", "{", "tree", "fn", "=", "(", "tree", ")", "decl", ";", "struct", "cgraph_node", "*", "node", "=", "NULL", ";", "struct", "cgraph_node", "*", "default_node", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "node_v", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "first_v", "=", "NULL", ";", "tree", "dispatch_decl", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "default_version_info", "=", "NULL", ";", "gcc_assert", "(", "fn", "!=", "NULL", "&&", "DECL_FUNCTION_VERSIONED", "(", "fn", ")", ")", ";", "node", "=", "cgraph_node", "::", "get", "(", "fn", ")", ";", "gcc_assert", "(", "node", "!=", "NULL", ")", ";", "node_v", "=", "node", "->", "function_version", "(", ")", ";", "gcc_assert", "(", "node_v", "!=", "NULL", ")", ";", "if", "(", "node_v", "->", "dispatcher_resolver", "!=", "NULL", ")", "return", "node_v", "->", "dispatcher_resolver", ";", "first_v", "=", "node_v", ";", "while", "(", "first_v", "->", "prev", "!=", "NULL", ")", "first_v", "=", "first_v", "->", "prev", ";", "default_version_info", "=", "first_v", ";", "while", "(", "default_version_info", "!=", "NULL", ")", "{", "if", "(", "is_function_default_version", "(", "default_version_info", "->", "this_node", "->", "decl", ")", ")", "break", ";", "default_version_info", "=", "default_version_info", "->", "next", ";", "}", "if", "(", "default_version_info", "==", "NULL", ")", "return", "NULL", ";", "if", "(", "first_v", "!=", "default_version_info", ")", "{", "default_version_info", "->", "prev", "->", "next", "=", "default_version_info", "->", "next", ";", "if", "(", "default_version_info", "->", "next", ")", "default_version_info", "->", "next", "->", "prev", "=", "default_version_info", "->", "prev", ";", "first_v", "->", "prev", "=", "default_version_info", ";", "default_version_info", "->", "next", "=", "first_v", ";", "default_version_info", "->", "prev", "=", "NULL", ";", "}", "default_node", "=", "default_version_info", "->", "this_node", ";", "if", "(", "targetm", ".", "has_ifunc_p", "(", ")", ")", "{", "struct", "cgraph_function_version_info", "*", "it_v", "=", "NULL", ";", "struct", "cgraph_node", "*", "dispatcher_node", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "dispatcher_version_info", "=", "NULL", ";", "dispatch_decl", "=", "make_dispatcher_decl", "(", "default_node", "->", "decl", ")", ";", "dispatcher_node", "=", "cgraph_node", "::", "get_create", "(", "dispatch_decl", ")", ";", "gcc_assert", "(", "dispatcher_node", "!=", "NULL", ")", ";", "dispatcher_node", "->", "dispatcher_function", "=", "1", ";", "dispatcher_version_info", "=", "dispatcher_node", "->", "insert_new_function_version", "(", ")", ";", "dispatcher_version_info", "->", "next", "=", "default_version_info", ";", "dispatcher_node", "->", "definition", "=", "1", ";", "it_v", "=", "default_version_info", ";", "while", "(", "it_v", "!=", "NULL", ")", "{", "it_v", "->", "dispatcher_resolver", "=", "dispatch_decl", ";", "it_v", "=", "it_v", "->", "next", ";", "}", "}", "else", "{", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "default_node", "->", "decl", ")", ",", "\"multiversioning needs ifunc which is not supported \"", "\"on this target\"", ")", ";", "}", "return", "dispatch_decl", ";", "}", ""], "natrual_language": ["Make", "a", "dispatcher", "declaration", "for", "the", "multi-versioned", "function", "DECL", ".", "Calls", "to", "DECL", "function", "will", "be", "replaced", "with", "calls", "to", "the", "dispatcher", "by", "the", "front-end", ".", "Returns", "the", "decl", "of", "the", "dispatcher", "function", "."], "TS_V_token": ["i386", "1", "1", "\"multiversioning needs ifunc which is not supported \"", "\"on this target\""], "File": "i3864", "Func": "ix86_get_function_versions_dispatcher", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38333, "Length": 355}
{"ground_truth": ["", "static", "alias_set_type", "ix86_GOT_alias_set", "(", "void", ")", "{", "static", "alias_set_type", "set", "=", "-", "1", ";", "if", "(", "set", "==", "-", "1", ")", "set", "=", "new_alias_set", "(", ")", ";", "return", "set", ";", "}", ""], "natrual_language": ["Return", "an", "unique", "alias", "set", "for", "the", "GOT", "."], "TS_V_token": ["i386", "1", "1"], "File": "i3864", "Func": "ix86_GOT_alias_set", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38334, "Length": 31}
{"ground_truth": ["", "static", "tree", "ix86_handle_abi_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "FUNCTION_TYPE", "&&", "TREE_CODE", "(", "*", "node", ")", "!=", "METHOD_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", ";", "return", "NULL_TREE", ";", "}", "if", "(", "is_attribute_p", "(", "\"ms_abi\"", ",", "name", ")", ")", "{", "if", "(", "lookup_attribute", "(", "\"sysv_abi\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"ms_abi and sysv_abi attributes are not compatible\"", ")", ";", "}", "return", "NULL_TREE", ";", "}", "else", "if", "(", "is_attribute_p", "(", "\"sysv_abi\"", ",", "name", ")", ")", "{", "if", "(", "lookup_attribute", "(", "\"ms_abi\"", ",", "TYPE_ATTRIBUTES", "(", "*", "node", ")", ")", ")", "{", "error", "(", "\"ms_abi and sysv_abi attributes are not compatible\"", ")", ";", "}", "return", "NULL_TREE", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "ms_abi", "''", "or", "``", "sysv", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qE attribute only applies to functions\"", "\"ms_abi\"", "\"sysv_abi\"", "\"ms_abi and sysv_abi attributes are not compatible\"", "\"sysv_abi\"", "\"ms_abi\"", "\"ms_abi and sysv_abi attributes are not compatible\""], "File": "i3864", "Func": "ix86_handle_abi_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38335, "Length": 146}
{"ground_truth": ["", "bool", "ix86_hard_regno_mode_ok", "(", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "CC_REGNO_P", "(", "regno", ")", ")", "return", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_RANDOM", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_PARTIAL_INT", ")", "return", "false", ";", "if", "(", "STACK_REGNO_P", "(", "regno", ")", ")", "return", "VALID_FP_MODE_P", "(", "mode", ")", ";", "if", "(", "MASK_REGNO_P", "(", "regno", ")", ")", "return", "(", "VALID_MASK_REG_MODE", "(", "mode", ")", "||", "(", "TARGET_AVX512BW", "&&", "VALID_MASK_AVX512BW_MODE", "(", "mode", ")", ")", ")", ";", "if", "(", "BND_REGNO_P", "(", "regno", ")", ")", "return", "VALID_BND_REG_MODE", "(", "mode", ")", ";", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "TARGET_AVX512F", "&&", "(", "mode", "==", "XImode", "||", "VALID_AVX512F_REG_MODE", "(", "mode", ")", "||", "VALID_AVX512F_SCALAR_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX512VL", "&&", "(", "mode", "==", "OImode", "||", "mode", "==", "TImode", "||", "VALID_AVX256_REG_MODE", "(", "mode", ")", "||", "VALID_AVX512VL_128_REG_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "EXT_REX_SSE_REGNO_P", "(", "regno", ")", ")", "return", "false", ";", "return", "(", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_OR_OI_MODE", "(", "mode", ")", ")", "||", "VALID_SSE_REG_MODE", "(", "mode", ")", "||", "VALID_SSE2_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "mode", "==", "QImode", ")", "{", "if", "(", "ANY_QI_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "return", "true", ";", "if", "(", "lra_in_progress", ")", "return", "true", ";", "return", "!", "can_create_pseudo_p", "(", ")", ";", "}", "else", "if", "(", "VALID_INT_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_FP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_DFP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_hard_regno_mode_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38336, "Length": 316}
{"ground_truth": ["", "static", "int", "ix86_i387_mode_needed", "(", "int", "entity", ",", "rtx_insn", "*", "insn", ")", "{", "enum", "attr_i387_cw", "mode", ";", "if", "(", "CALL_P", "(", "insn", ")", "||", "(", "NONJUMP_INSN_P", "(", "insn", ")", "&&", "(", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", ">=", "0", "||", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "ASM_INPUT", ")", ")", ")", "return", "I387_CW_UNINITIALIZED", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "return", "I387_CW_ANY", ";", "mode", "=", "get_attr_i387_cw", "(", "insn", ")", ";", "switch", "(", "entity", ")", "{", "case", "I387_TRUNC", ":", "if", "(", "mode", "==", "I387_CW_TRUNC", ")", "return", "mode", ";", "break", ";", "case", "I387_FLOOR", ":", "if", "(", "mode", "==", "I387_CW_FLOOR", ")", "return", "mode", ";", "break", ";", "case", "I387_CEIL", ":", "if", "(", "mode", "==", "I387_CW_CEIL", ")", "return", "mode", ";", "break", ";", "case", "I387_MASK_PM", ":", "if", "(", "mode", "==", "I387_CW_MASK_PM", ")", "return", "mode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "I387_CW_ANY", ";", "}", ""], "natrual_language": ["Return", "mode", "that", "i387", "must", "be", "switched", "into", "prior", "to", "the", "execution", "of", "insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3864", "Func": "ix86_i387_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38337, "Length": 146}
{"ground_truth": ["", "static", "int", "ix86_initialize_bounds", "(", "tree", "var", ",", "tree", "lb", ",", "tree", "ub", ",", "tree", "*", "stmts", ")", "{", "tree", "bnd_ptr", "=", "build_pointer_type", "(", "pointer_sized_int_node", ")", ";", "tree", "lhs", ",", "modify", ",", "var_p", ";", "ub", "=", "build1", "(", "BIT_NOT_EXPR", ",", "pointer_sized_int_node", ",", "ub", ")", ";", "var_p", "=", "fold_convert", "(", "bnd_ptr", ",", "build_fold_addr_expr", "(", "var", ")", ")", ";", "lhs", "=", "build1", "(", "INDIRECT_REF", ",", "pointer_sized_int_node", ",", "var_p", ")", ";", "modify", "=", "build2", "(", "MODIFY_EXPR", ",", "TREE_TYPE", "(", "lhs", ")", ",", "lhs", ",", "lb", ")", ";", "append_to_statement_list", "(", "modify", ",", "stmts", ")", ";", "lhs", "=", "build1", "(", "INDIRECT_REF", ",", "pointer_sized_int_node", ",", "build2", "(", "POINTER_PLUS_EXPR", ",", "bnd_ptr", ",", "var_p", ",", "TYPE_SIZE_UNIT", "(", "pointer_sized_int_node", ")", ")", ")", ";", "modify", "=", "build2", "(", "MODIFY_EXPR", ",", "TREE_TYPE", "(", "lhs", ")", ",", "lhs", ",", "ub", ")", ";", "append_to_statement_list", "(", "modify", ",", "stmts", ")", ";", "return", "2", ";", "}", ""], "natrual_language": ["Generate", "a", "list", "of", "statements", "STMTS", "to", "initialize", "pointer", "bounds", "variable", "VAR", "with", "bounds", "LB", "and", "UB", ".", "Return", "the", "number", "of", "generated", "statements", "."], "TS_V_token": ["i386", "2"], "File": "i3864", "Func": "ix86_initialize_bounds", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38338, "Length": 140}
{"ground_truth": ["", "static", "void", "*", "ix86_init_cost", "(", "struct", "loop", "*", ")", "{", "unsigned", "*", "cost", "=", "XNEWVEC", "(", "unsigned", ",", "3", ")", ";", "cost", "[", "vect_prologue", "]", "=", "cost", "[", "vect_body", "]", "=", "cost", "[", "vect_epilogue", "]", "=", "0", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.init_cost", "."], "TS_V_token": ["i386", "3", "0"], "File": "i3864", "Func": "ix86_init_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38339, "Length": 42}
{"ground_truth": ["", "static", "void", "ix86_init_large_pic_reg", "(", "unsigned", "int", "tmp_regno", ")", "{", "rtx_code_label", "*", "label", ";", "rtx", "tmp_reg", ";", "gcc_assert", "(", "Pmode", "==", "DImode", ")", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_PRESERVE_P", "(", "label", ")", "=", "1", ";", "tmp_reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "tmp_regno", ")", ";", "gcc_assert", "(", "REGNO", "(", "pic_offset_table_rtx", ")", "!=", "tmp_regno", ")", ";", "emit_insn", "(", "gen_set_rip_rex64", "(", "pic_offset_table_rtx", ",", "label", ")", ")", ";", "emit_insn", "(", "gen_set_got_offset_rex64", "(", "tmp_reg", ",", "label", ")", ")", ";", "emit_insn", "(", "ix86_gen_add3", "(", "pic_offset_table_rtx", ",", "pic_offset_table_rtx", ",", "tmp_reg", ")", ")", ";", "}", ""], "natrual_language": ["Initialize", "large", "model", "PIC", "register", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_init_large_pic_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38340, "Length": 93}
{"ground_truth": ["", "static", "struct", "machine_function", "*", "ix86_init_machine_status", "(", "void", ")", "{", "struct", "machine_function", "*", "f", ";", "f", "=", "ggc_cleared_alloc", "<", "machine_function", ">", "(", ")", ";", "f", "->", "use_fast_prologue_epilogue_nregs", "=", "-", "1", ";", "f", "->", "call_abi", "=", "ix86_abi", ";", "return", "f", ";", "}", ""], "natrual_language": ["Clear", "stack", "slot", "assignments", "remembered", "from", "previous", "functions", ".", "This", "is", "called", "from", "INIT_EXPANDERS", "once", "before", "RTL", "is", "emitted", "for", "each", "function", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_init_machine_status", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38341, "Length": 40}
{"ground_truth": ["", "static", "void", "ix86_init_pic_reg", "(", "void", ")", "{", "edge", "entry_edge", ";", "rtx_insn", "*", "seq", ";", "if", "(", "!", "ix86_use_pseudo_pic_reg", "(", ")", ")", "return", ";", "start_sequence", "(", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "ix86_cmodel", "==", "CM_LARGE_PIC", ")", "ix86_init_large_pic_reg", "(", "R11_REG", ")", ";", "else", "emit_insn", "(", "gen_set_got_rex64", "(", "pic_offset_table_rtx", ")", ")", ";", "}", "else", "{", "rtx", "reg", "=", "crtl", "->", "profile", "?", "gen_rtx_REG", "(", "Pmode", ",", "REAL_PIC_OFFSET_TABLE_REGNUM", ")", ":", "pic_offset_table_rtx", ";", "rtx", "insn", "=", "emit_insn", "(", "gen_set_got", "(", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "crtl", "->", "profile", ")", "emit_move_insn", "(", "pic_offset_table_rtx", ",", "reg", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_FLUSH_QUEUE", ",", "NULL_RTX", ")", ";", "}", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "entry_edge", "=", "single_succ_edge", "(", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", ")", ";", "insert_insn_on_edge", "(", "seq", ",", "entry_edge", ")", ";", "commit_one_edge_insertion", "(", "entry_edge", ")", ";", "}", ""], "natrual_language": ["Create", "and", "initialize", "PIC", "register", "if", "required", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_init_pic_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38342, "Length": 145}
{"ground_truth": ["", "static", "void", "ix86_init_tm_builtins", "(", "void", ")", "{", "enum", "ix86_builtin_func_type", "ftype", ";", "const", "struct", "builtin_description", "*", "d", ";", "size_t", "i", ";", "tree", "decl", ";", "tree", "attrs_load", ",", "attrs_type_load", ",", "attrs_store", ",", "attrs_type_store", ";", "tree", "attrs_log", ",", "attrs_type_log", ";", "if", "(", "!", "flag_tm", ")", "return", ";", "if", "(", "!", "builtin_decl_explicit_p", "(", "BUILT_IN_TM_LOAD_1", ")", ")", "return", ";", "decl", "=", "builtin_decl_explicit", "(", "BUILT_IN_TM_LOAD_1", ")", ";", "attrs_load", "=", "DECL_ATTRIBUTES", "(", "decl", ")", ";", "attrs_type_load", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "decl", "=", "builtin_decl_explicit", "(", "BUILT_IN_TM_STORE_1", ")", ";", "attrs_store", "=", "DECL_ATTRIBUTES", "(", "decl", ")", ";", "attrs_type_store", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "decl", "=", "builtin_decl_explicit", "(", "BUILT_IN_TM_LOG", ")", ";", "attrs_log", "=", "DECL_ATTRIBUTES", "(", "decl", ")", ";", "attrs_type_log", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "for", "(", "i", "=", "0", ",", "d", "=", "bdesc_tm", ";", "i", "<", "ARRAY_SIZE", "(", "bdesc_tm", ")", ";", "i", "++", ",", "d", "++", ")", "{", "if", "(", "(", "d", "->", "mask", "&", "ix86_isa_flags", ")", "!=", "0", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", ",", "attrs", ",", "attrs_type", ";", "enum", "built_in_function", "code", "=", "(", "enum", "built_in_function", ")", "d", "->", "code", ";", "ftype", "=", "(", "enum", "ix86_builtin_func_type", ")", "d", "->", "flag", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ftype", ")", ";", "if", "(", "BUILTIN_TM_LOAD_P", "(", "code", ")", ")", "{", "attrs", "=", "attrs_load", ";", "attrs_type", "=", "attrs_type_load", ";", "}", "else", "if", "(", "BUILTIN_TM_STORE_P", "(", "code", ")", ")", "{", "attrs", "=", "attrs_store", ";", "attrs_type", "=", "attrs_type_store", ";", "}", "else", "{", "attrs", "=", "attrs_log", ";", "attrs_type", "=", "attrs_type_log", ";", "}", "decl", "=", "add_builtin_function", "(", "d", "->", "name", ",", "type", ",", "code", ",", "BUILT_IN_NORMAL", ",", "d", "->", "name", "+", "strlen", "(", "\"__builtin_\"", ")", ",", "attrs", ")", ";", "decl_attributes", "(", "&", "TREE_TYPE", "(", "decl", ")", ",", "attrs_type", ",", "ATTR_FLAG_BUILT_IN", ")", ";", "set_builtin_decl", "(", "code", ",", "decl", ",", "false", ")", ";", "}", "}", "}", ""], "natrual_language": ["Initialize", "the", "transactional", "memory", "vector", "load/store", "builtins", "."], "TS_V_token": ["i386", "0", "0", "\"__builtin_\""], "File": "i3864", "Func": "ix86_init_tm_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38343, "Length": 306}
{"ground_truth": ["", "static", "bool", "ix86_in_large_data_p", "(", "tree", "exp", ")", "{", "if", "(", "ix86_cmodel", "!=", "CM_MEDIUM", "&&", "ix86_cmodel", "!=", "CM_MEDIUM_PIC", ")", "return", "false", ";", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "FUNCTION_DECL", ")", "return", "false", ";", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "VAR_DECL", "&&", "!", "is_global_var", "(", "exp", ")", ")", "return", "false", ";", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "VAR_DECL", "&&", "DECL_SECTION_NAME", "(", "exp", ")", ")", "{", "const", "char", "*", "section", "=", "DECL_SECTION_NAME", "(", "exp", ")", ";", "if", "(", "strcmp", "(", "section", ",", "\".ldata\"", ")", "==", "0", "||", "strcmp", "(", "section", ",", "\".lbss\"", ")", "==", "0", ")", "return", "true", ";", "return", "false", ";", "}", "else", "{", "HOST_WIDE_INT", "size", "=", "int_size_in_bytes", "(", "TREE_TYPE", "(", "exp", ")", ")", ";", "if", "(", "size", "<=", "0", "||", "size", ">", "ix86_section_threshold", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "goes", "in", "small", "data/bss", "."], "TS_V_token": ["i386", "\".ldata\"", "0", "\".lbss\"", "0", "0"], "File": "i3864", "Func": "ix86_in_large_data_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38344, "Length": 134}
{"ground_truth": ["", "static", "int", "ix86_issue_rate", "(", "void", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "case", "PROCESSOR_BONNELL", ":", "case", "PROCESSOR_SILVERMONT", ":", "case", "PROCESSOR_KNL", ":", "case", "PROCESSOR_INTEL", ":", "case", "PROCESSOR_K6", ":", "case", "PROCESSOR_BTVER2", ":", "case", "PROCESSOR_PENTIUM4", ":", "case", "PROCESSOR_NOCONA", ":", "return", "2", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "case", "PROCESSOR_ATHLON", ":", "case", "PROCESSOR_K8", ":", "case", "PROCESSOR_AMDFAM10", ":", "case", "PROCESSOR_GENERIC", ":", "case", "PROCESSOR_BTVER1", ":", "return", "3", ";", "case", "PROCESSOR_BDVER1", ":", "case", "PROCESSOR_BDVER2", ":", "case", "PROCESSOR_BDVER3", ":", "case", "PROCESSOR_BDVER4", ":", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "return", "4", ";", "default", ":", "return", "1", ";", "}", "}", ""], "natrual_language": ["Return", "the", "maximum", "number", "of", "instructions", "a", "cpu", "can", "issue", "."], "TS_V_token": ["i386", "2", "3", "4", "1"], "File": "i3864", "Func": "ix86_issue_rate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38345, "Length": 97}
{"ground_truth": ["", "static", "bool", "ix86_lea_outperforms", "(", "rtx_insn", "*", "insn", ",", "unsigned", "int", "regno0", ",", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "int", "split_cost", ",", "bool", "has_scale", ")", "{", "int", "dist_define", ",", "dist_use", ";", "if", "(", "TARGET_SILVERMONT", "||", "TARGET_INTEL", ")", "{", "if", "(", "has_scale", ")", "return", "true", ";", "if", "(", "split_cost", "<", "1", ")", "return", "false", ";", "if", "(", "regno0", "==", "regno1", "||", "regno0", "==", "regno2", ")", "return", "false", ";", "return", "true", ";", "}", "dist_define", "=", "distance_non_agu_define", "(", "regno1", ",", "regno2", ",", "insn", ")", ";", "dist_use", "=", "distance_agu_use", "(", "regno0", ",", "insn", ")", ";", "if", "(", "dist_define", "<", "0", "||", "dist_define", ">=", "LEA_MAX_STALL", ")", "{", "if", "(", "dist_use", "<", "0", "&&", "split_cost", "==", "0", ")", "return", "TARGET_64BIT", "||", "IX86_LEA_PRIORITY", ";", "else", "return", "true", ";", "}", "dist_define", "+=", "split_cost", "+", "IX86_LEA_PRIORITY", ";", "if", "(", "dist_use", "<", "0", ")", "return", "dist_define", ">", "LEA_MAX_STALL", ";", "return", "dist_define", ">=", "dist_use", ";", "}", ""], "natrual_language": ["Return", "true", "if", "usage", "of", "lea", "INSN", "has", "performance", "advantage", "over", "a", "sequence", "of", "instructions", ".", "Instructions", "sequence", "has", "SPLIT_COST", "cycles", "higher", "latency", "than", "lea", "latency", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0"], "File": "i3864", "Func": "ix86_lea_outperforms", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38346, "Length": 146}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_combined_insn", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "(", "INSN_CODE", "(", "insn", ")", "=", "recog", "(", "PATTERN", "(", "insn", ")", ",", "insn", ",", "0", ")", ")", ">=", "0", ")", "{", "int", "i", ";", "extract_insn", "(", "insn", ")", ";", "preprocess_constraints", "(", "insn", ")", ";", "int", "n_operands", "=", "recog_data", ".", "n_operands", ";", "int", "n_alternatives", "=", "recog_data", ".", "n_alternatives", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_operands", ";", "i", "++", ")", "{", "rtx", "op", "=", "recog_data", ".", "operand", "[", "i", "]", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "op", ")", ";", "const", "operand_alternative", "*", "op_alt", ";", "int", "offset", "=", "0", ";", "bool", "win", ";", "int", "j", ";", "if", "(", "!", "TARGET_AVX", "&&", "VECTOR_MODE_P", "(", "GET_MODE", "(", "op", ")", ")", "&&", "misaligned_operand", "(", "op", ",", "GET_MODE", "(", "op", ")", ")", ")", "{", "int", "min_align", "=", "get_attr_ssememalign", "(", "insn", ")", ";", "if", "(", "min_align", "==", "0", ")", "return", "false", ";", "}", "if", "(", "UNARY_P", "(", "op", ")", ")", "op", "=", "XEXP", "(", "op", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "op", ")", "==", "SUBREG", ")", "{", "if", "(", "REG_P", "(", "SUBREG_REG", "(", "op", ")", ")", "&&", "REGNO", "(", "SUBREG_REG", "(", "op", ")", ")", "<", "FIRST_PSEUDO_REGISTER", ")", "offset", "=", "subreg_regno_offset", "(", "REGNO", "(", "SUBREG_REG", "(", "op", ")", ")", ",", "GET_MODE", "(", "SUBREG_REG", "(", "op", ")", ")", ",", "SUBREG_BYTE", "(", "op", ")", ",", "GET_MODE", "(", "op", ")", ")", ";", "op", "=", "SUBREG_REG", "(", "op", ")", ";", "}", "if", "(", "!", "(", "REG_P", "(", "op", ")", "&&", "HARD_REGISTER_P", "(", "op", ")", ")", ")", "continue", ";", "op_alt", "=", "recog_op_alt", ";", "win", "=", "!", "n_alternatives", ";", "alternative_mask", "preferred", "=", "get_preferred_alternatives", "(", "insn", ")", ";", "for", "(", "j", "=", "0", ";", "j", "<", "n_alternatives", ";", "j", "++", ",", "op_alt", "+=", "n_operands", ")", "{", "if", "(", "!", "TEST_BIT", "(", "preferred", ",", "j", ")", ")", "continue", ";", "if", "(", "op_alt", "[", "i", "]", ".", "anything_ok", "||", "(", "op_alt", "[", "i", "]", ".", "matches", "!=", "-", "1", "&&", "operands_match_p", "(", "recog_data", ".", "operand", "[", "i", "]", ",", "recog_data", ".", "operand", "[", "op_alt", "[", "i", "]", ".", "matches", "]", ")", ")", "||", "reg_fits_class_p", "(", "op", ",", "op_alt", "[", "i", "]", ".", "cl", ",", "offset", ",", "mode", ")", ")", "{", "win", "=", "true", ";", "break", ";", "}", "}", "if", "(", "!", "win", ")", "return", "false", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_LEGITIMATE_COMBINED_INSN", "hook", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i3864", "Func": "ix86_legitimate_combined_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38347, "Length": 381}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_constant_p", "(", "machine_mode", ",", "rtx", "x", ")", "{", "if", "(", "POINTER_BOUNDS_MODE_P", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "{", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", "return", "false", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "}", "if", "(", "TARGET_MACHO", "&&", "darwin_local_data_pic", "(", "x", ")", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOT", ":", "case", "UNSPEC_GOTOFF", ":", "case", "UNSPEC_PLTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "case", "UNSPEC_NTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "case", "UNSPEC_DTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_DYNAMIC", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "LABEL_REF", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "SYMBOL_REF", ")", "return", "false", ";", "case", "SYMBOL_REF", ":", "if", "(", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", ")", "return", "false", ";", "if", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "x", ")", ")", "return", "false", ";", "if", "(", "MACHO_DYNAMIC_NO_PIC_P", ")", "return", "machopic_symbol_defined_p", "(", "x", ")", ";", "break", ";", "case", "CONST_DOUBLE", ":", "if", "(", "GET_MODE", "(", "x", ")", "==", "TImode", "&&", "x", "!=", "CONST0_RTX", "(", "TImode", ")", "&&", "!", "TARGET_64BIT", ")", "return", "false", ";", "break", ";", "case", "CONST_VECTOR", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Determine", "if", "a", "given", "RTX", "is", "a", "valid", "constant", ".", "We", "already", "know", "this", "satisfies", "CONSTANT_P", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "0", "0"], "File": "i3864", "Func": "ix86_legitimate_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38348, "Length": 304}
{"ground_truth": ["", "bool", "ix86_legitimize_reload_address", "(", "rtx", "x", ",", "machine_mode", ",", "int", "opnum", ",", "int", "type", ",", "int", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", "&&", "REG_P", "(", "XEXP", "(", "x", ",", "1", ")", ")", "&&", "GET_CODE", "(", "XEXP", "(", "x", ",", "0", ")", ")", "==", "PLUS", "&&", "REG_P", "(", "XEXP", "(", "XEXP", "(", "x", ",", "0", ")", ",", "1", ")", ")", ")", "{", "rtx", "base", ",", "index", ";", "bool", "something_reloaded", "=", "false", ";", "base", "=", "XEXP", "(", "XEXP", "(", "x", ",", "0", ")", ",", "1", ")", ";", "if", "(", "!", "REG_OK_FOR_BASE_STRICT_P", "(", "base", ")", ")", "{", "push_reload", "(", "base", ",", "NULL_RTX", ",", "&", "XEXP", "(", "XEXP", "(", "x", ",", "0", ")", ",", "1", ")", ",", "NULL", ",", "BASE_REG_CLASS", ",", "GET_MODE", "(", "x", ")", ",", "VOIDmode", ",", "0", ",", "0", ",", "opnum", ",", "(", "enum", "reload_type", ")", "type", ")", ";", "something_reloaded", "=", "true", ";", "}", "index", "=", "XEXP", "(", "x", ",", "1", ")", ";", "if", "(", "!", "REG_OK_FOR_INDEX_STRICT_P", "(", "index", ")", ")", "{", "push_reload", "(", "index", ",", "NULL_RTX", ",", "&", "XEXP", "(", "x", ",", "1", ")", ",", "NULL", ",", "INDEX_REG_CLASS", ",", "GET_MODE", "(", "x", ")", ",", "VOIDmode", ",", "0", ",", "0", ",", "opnum", ",", "(", "enum", "reload_type", ")", "type", ")", ";", "something_reloaded", "=", "true", ";", "}", "gcc_assert", "(", "something_reloaded", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Our", "implementation", "of", "LEGITIMIZE_RELOAD_ADDRESS", ".", "Returns", "a", "value", "to", "replace", "the", "input", "X", ",", "or", "the", "original", "X", "if", "no", "replacement", "is", "called", "for", ".", "The", "output", "parameter", "*", "WIN", "is", "1", "if", "the", "calling", "macro", "should", "goto", "WIN", ",", "0", "if", "it", "should", "not", "."], "TS_V_token": ["i386", "1", "0", "0", "1", "0", "1", "0", "1", "0", "0", "1", "1", "0", "0"], "File": "i3864", "Func": "ix86_legitimize_reload_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38349, "Length": 219}
{"ground_truth": ["", "static", "bool", "ix86_libgcc_floating_mode_supported_p", "(", "machine_mode", "mode", ")", "{", "switch", "(", "mode", ")", "{", "case", "SFmode", ":", "case", "DFmode", ":", "case", "XFmode", ":", "return", "true", ";", "case", "TFmode", ":", "return", "false", ";", "return", "TARGET_LONG_DOUBLE_128", ";", "return", "true", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["Implement", "target", "hook", "libgcc_floating_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_libgcc_floating_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38350, "Length": 44}
{"ground_truth": ["", "static", "rtx", "ix86_load_bounds", "(", "rtx", "slot", ",", "rtx", "ptr", ",", "rtx", "slot_no", ")", "{", "rtx", "reg", "=", "gen_reg_rtx", "(", "BNDmode", ")", ";", "rtx", "addr", ";", "addr", "=", "ix86_get_arg_address_for_bt", "(", "slot", ",", "slot_no", ",", "arg_pointer_rtx", ")", ";", "if", "(", "!", "ptr", ")", "{", "gcc_assert", "(", "MEM_P", "(", "slot", ")", ")", ";", "ptr", "=", "copy_addr_to_reg", "(", "slot", ")", ";", "}", "emit_insn", "(", "BNDmode", "==", "BND64mode", "?", "gen_bnd64_ldx", "(", "reg", ",", "addr", ",", "ptr", ")", ":", "gen_bnd32_ldx", "(", "reg", ",", "addr", ",", "ptr", ")", ")", ";", "return", "reg", ";", "}", ""], "natrual_language": ["Expand", "pass", "uses", "this", "hook", "to", "load", "bounds", "for", "function", "parameter", "PTR", "passed", "in", "SLOT", "in", "case", "its", "bounds", "are", "not", "passed", "in", "a", "register", ".", "If", "SLOT", "is", "a", "memory", ",", "then", "bounds", "are", "loaded", "as", "for", "regular", "pointer", "loaded", "from", "memory", ".", "PTR", "may", "be", "NULL", "in", "case", "SLOT", "is", "a", "memory", ".", "In", "such", "case", "value", "of", "PTR", "(", "if", "required", ")", "may", "be", "loaded", "from", "SLOT", ".", "If", "SLOT", "is", "NULL", "or", "a", "register", "then", "SLOT_NO", "is", "an", "integer", "constant", "holding", "number", "of", "the", "target", "dependent", "special", "slot", "which", "should", "be", "used", "to", "obtain", "bounds", ".", "Return", "loaded", "bounds", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_load_bounds", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38351, "Length": 87}
{"ground_truth": ["", "static", "rtx", "ix86_load_returned_bounds", "(", "rtx", "slot", ")", "{", "rtx", "res", ";", "gcc_assert", "(", "REG_P", "(", "slot", ")", ")", ";", "res", "=", "gen_reg_rtx", "(", "BNDmode", ")", ";", "emit_move_insn", "(", "res", ",", "slot", ")", ";", "return", "res", ";", "}", ""], "natrual_language": ["Load", "and", "return", "bounds", "returned", "by", "function", "in", "SLOT", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_load_returned_bounds", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38352, "Length": 37}
{"ground_truth": ["", "unsigned", "int", "ix86_local_alignment", "(", "tree", "exp", ",", "machine_mode", "mode", ",", "unsigned", "int", "align", ")", "{", "tree", "type", ",", "decl", ";", "if", "(", "exp", "&&", "DECL_P", "(", "exp", ")", ")", "{", "type", "=", "TREE_TYPE", "(", "exp", ")", ";", "decl", "=", "exp", ";", "}", "else", "{", "type", "=", "exp", ";", "decl", "=", "NULL", ";", "}", "if", "(", "!", "TARGET_64BIT", "&&", "align", "==", "64", "&&", "ix86_preferred_stack_boundary", "<", "64", "&&", "(", "mode", "==", "DImode", "||", "(", "type", "&&", "TYPE_MODE", "(", "type", ")", "==", "DImode", ")", ")", "&&", "(", "!", "type", "||", "!", "TYPE_USER_ALIGN", "(", "type", ")", ")", "&&", "(", "!", "decl", "||", "!", "DECL_USER_ALIGN", "(", "decl", ")", ")", ")", "align", "=", "32", ";", "if", "(", "!", "type", ")", "{", "if", "(", "mode", "==", "XFmode", "&&", "align", "<", "GET_MODE_ALIGNMENT", "(", "DFmode", ")", ")", "align", "=", "GET_MODE_ALIGNMENT", "(", "DFmode", ")", ";", "return", "align", ";", "}", "if", "(", "TARGET_64BIT", "&&", "optimize_function_for_speed_p", "(", "cfun", ")", "&&", "TARGET_SSE", ")", "{", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "(", "va_list_type_node", "==", "NULL_TREE", "||", "(", "TYPE_MAIN_VARIANT", "(", "type", ")", "!=", "TYPE_MAIN_VARIANT", "(", "va_list_type_node", ")", ")", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "16", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "||", "TYPE_MODE", "(", "type", ")", "==", "TCmode", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "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": ["i386", "64", "64", "32", "16", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i3864", "Func": "ix86_local_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38353, "Length": 449}
{"ground_truth": ["", "static", "unsigned", "ix86_loop_unroll_adjust", "(", "unsigned", "nunroll", ",", "struct", "loop", "*", "loop", ")", "{", "basic_block", "*", "bbs", ";", "rtx_insn", "*", "insn", ";", "unsigned", "i", ";", "unsigned", "mem_count", "=", "0", ";", "if", "(", "!", "TARGET_ADJUST_UNROLL", ")", "return", "nunroll", ";", "subrtx_iterator", "::", "array_type", "array", ";", "bbs", "=", "get_loop_body", "(", "loop", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "loop", "->", "num_nodes", ";", "i", "++", ")", "FOR_BB_INSNS", "(", "bbs", "[", "i", "]", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "insn", ",", "NONCONST", ")", "if", "(", "const_rtx", "x", "=", "*", "iter", ")", "if", "(", "MEM_P", "(", "x", ")", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "unsigned", "int", "n_words", "=", "GET_MODE_SIZE", "(", "mode", ")", "/", "UNITS_PER_WORD", ";", "if", "(", "n_words", ">", "4", ")", "mem_count", "+=", "2", ";", "else", "mem_count", "+=", "1", ";", "}", "free", "(", "bbs", ")", ";", "if", "(", "mem_count", "&&", "mem_count", "<=", "32", ")", "return", "32", "/", "mem_count", ";", "return", "nunroll", ";", "}", ""], "natrual_language": ["This", "function", "adjusts", "the", "unroll", "factor", "based", "on", "the", "hardware", "capabilities", ".", "For", "ex", ",", "bdver3", "has", "a", "loop", "buffer", "which", "makes", "unrolling", "of", "smaller", "loops", "less", "important", ".", "This", "function", "decides", "the", "unroll", "factor", "using", "number", "of", "memory", "references", "(", "value", "32", "is", "used", ")", "as", "a", "heuristic", "."], "TS_V_token": ["i386", "0", "0", "4", "2", "1", "32", "32"], "File": "i3864", "Func": "ix86_loop_unroll_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38354, "Length": 163}
{"ground_truth": ["", "static", "bool", "ix86_macro_fusion_p", "(", ")", "{", "return", "TARGET_FUSE_CMP_AND_BRANCH", ";", "}", ""], "natrual_language": ["Return", "true", "if", "target", "platform", "supports", "macro-fusion", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_macro_fusion_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38355, "Length": 10}
{"ground_truth": ["", "static", "bool", "ix86_macro_fusion_pair_p", "(", "rtx_insn", "*", "condgen", ",", "rtx_insn", "*", "condjmp", ")", "{", "rtx", "src", ",", "dest", ";", "enum", "rtx_code", "ccode", ";", "rtx", "compare_set", "=", "NULL_RTX", ",", "test_if", ",", "cond", ";", "rtx", "alu_set", "=", "NULL_RTX", ",", "addr", "=", "NULL_RTX", ";", "if", "(", "!", "any_condjump_p", "(", "condjmp", ")", ")", "return", "false", ";", "if", "(", "get_attr_type", "(", "condgen", ")", "!=", "TYPE_TEST", "&&", "get_attr_type", "(", "condgen", ")", "!=", "TYPE_ICMP", "&&", "get_attr_type", "(", "condgen", ")", "!=", "TYPE_INCDEC", "&&", "get_attr_type", "(", "condgen", ")", "!=", "TYPE_ALU", ")", "return", "false", ";", "compare_set", "=", "single_set", "(", "condgen", ")", ";", "if", "(", "compare_set", "==", "NULL_RTX", "&&", "!", "TARGET_FUSE_ALU_AND_BRANCH", ")", "return", "false", ";", "if", "(", "compare_set", "==", "NULL_RTX", ")", "{", "int", "i", ";", "rtx", "pat", "=", "PATTERN", "(", "condgen", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "XVECLEN", "(", "pat", ",", "0", ")", ";", "i", "++", ")", "if", "(", "GET_CODE", "(", "XVECEXP", "(", "pat", ",", "0", ",", "i", ")", ")", "==", "SET", ")", "{", "rtx", "set_src", "=", "SET_SRC", "(", "XVECEXP", "(", "pat", ",", "0", ",", "i", ")", ")", ";", "if", "(", "GET_CODE", "(", "set_src", ")", "==", "COMPARE", ")", "compare_set", "=", "XVECEXP", "(", "pat", ",", "0", ",", "i", ")", ";", "else", "alu_set", "=", "XVECEXP", "(", "pat", ",", "0", ",", "i", ")", ";", "}", "}", "if", "(", "compare_set", "==", "NULL_RTX", ")", "return", "false", ";", "src", "=", "SET_SRC", "(", "compare_set", ")", ";", "if", "(", "GET_CODE", "(", "src", ")", "!=", "COMPARE", ")", "return", "false", ";", "if", "(", "(", "MEM_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "||", "(", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", ")", ")", "return", "false", ";", "if", "(", "MEM_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", ")", "addr", "=", "XEXP", "(", "XEXP", "(", "src", ",", "0", ")", ",", "0", ")", ";", "else", "if", "(", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "addr", "=", "XEXP", "(", "XEXP", "(", "src", ",", "1", ")", ",", "0", ")", ";", "if", "(", "addr", ")", "{", "ix86_address", "parts", ";", "int", "ok", "=", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "rip_relative_addr_p", "(", "&", "parts", ")", ")", "return", "false", ";", "}", "test_if", "=", "SET_SRC", "(", "pc_set", "(", "condjmp", ")", ")", ";", "cond", "=", "XEXP", "(", "test_if", ",", "0", ")", ";", "ccode", "=", "GET_CODE", "(", "cond", ")", ";", "if", "(", "!", "TARGET_FUSE_CMP_AND_BRANCH_SOFLAGS", "&&", "(", "ccode", "==", "GE", "||", "ccode", "==", "GT", "||", "ccode", "==", "LE", "||", "ccode", "==", "LT", ")", ")", "return", "false", ";", "if", "(", "get_attr_type", "(", "condgen", ")", "==", "TYPE_TEST", "||", "get_attr_type", "(", "condgen", ")", "==", "TYPE_ICMP", ")", "return", "true", ";", "if", "(", "!", "TARGET_FUSE_ALU_AND_BRANCH", "||", "!", "alu_set", ")", "return", "false", ";", "dest", "=", "SET_DEST", "(", "alu_set", ")", ";", "if", "(", "MEM_P", "(", "dest", ")", ")", "return", "false", ";", "if", "(", "get_attr_type", "(", "condgen", ")", "==", "TYPE_INCDEC", "&&", "(", "ccode", "==", "GEU", "||", "ccode", "==", "GTU", "||", "ccode", "==", "LEU", "||", "ccode", "==", "LTU", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Check", "whether", "current", "microarchitecture", "support", "macro", "fusion", "for", "insn", "pair", "``", "CONDGEN", "+", "CONDJMP", "''", ".", "Refer", "to", "``", "Intel", "Architectures", "Optimization", "Reference", "Manual", "''", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "1", "1", "0", "0", "0", "0", "1", "1", "0", "0"], "File": "i3864", "Func": "ix86_macro_fusion_pair_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38356, "Length": 504}
{"ground_truth": ["", "static", "tree", "ix86_make_bounds_constant", "(", "HOST_WIDE_INT", "lb", ",", "HOST_WIDE_INT", "ub", ")", "{", "tree", "low", "=", "lb", "?", "build_minus_one_cst", "(", "pointer_sized_int_node", ")", ":", "build_zero_cst", "(", "pointer_sized_int_node", ")", ";", "tree", "high", "=", "ub", "?", "build_zero_cst", "(", "pointer_sized_int_node", ")", ":", "build_minus_one_cst", "(", "pointer_sized_int_node", ")", ";", "gcc_assert", "(", "(", "lb", "==", "0", "&&", "ub", "==", "-", "1", ")", "||", "(", "lb", "==", "-", "1", "&&", "ub", "==", "0", ")", ")", ";", "return", "build_complex", "(", "NULL", ",", "low", ",", "high", ")", ";", "}", ""], "natrual_language": ["Return", "constant", "used", "to", "statically", "initialize", "constant", "bounds", ".", "This", "function", "is", "used", "to", "create", "special", "bound", "values", ".", "For", "now", "only", "INIT", "bounds", "and", "NONE", "bounds", "are", "expected", ".", "More", "special", "values", "may", "be", "added", "later", "."], "TS_V_token": ["i386", "0", "1", "1", "0"], "File": "i3864", "Func": "ix86_make_bounds_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38357, "Length": 77}
{"ground_truth": ["", "static", "tree", "ix86_mangle_function_version_assembler_name", "(", "tree", "decl", ",", "tree", "id", ")", "{", "tree", "version_attr", ";", "const", "char", "*", "orig_name", ",", "*", "version_string", ";", "char", "*", "attr_str", ",", "*", "assembler_name", ";", "if", "(", "DECL_DECLARED_INLINE_P", "(", "decl", ")", "&&", "lookup_attribute", "(", "\"gnu_inline\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ")", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "decl", ")", ",", "\"Function versions cannot be marked as gnu_inline,\"", "\" bodies have to be generated\"", ")", ";", "if", "(", "DECL_VIRTUAL_P", "(", "decl", ")", "||", "DECL_VINDEX", "(", "decl", ")", ")", "sorry", "(", "\"Virtual function multiversioning not supported\"", ")", ";", "version_attr", "=", "lookup_attribute", "(", "\"target\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ";", "gcc_assert", "(", "version_attr", "!=", "NULL_TREE", ")", ";", "orig_name", "=", "IDENTIFIER_POINTER", "(", "id", ")", ";", "version_string", "=", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "TREE_VALUE", "(", "version_attr", ")", ")", ")", ";", "if", "(", "strcmp", "(", "version_string", ",", "\"default\"", ")", "==", "0", ")", "return", "id", ";", "attr_str", "=", "sorted_attr_string", "(", "TREE_VALUE", "(", "version_attr", ")", ")", ";", "assembler_name", "=", "XNEWVEC", "(", "char", ",", "strlen", "(", "orig_name", ")", "+", "strlen", "(", "attr_str", ")", "+", "2", ")", ";", "sprintf", "(", "assembler_name", ",", "\"%s.%s\"", ",", "orig_name", ",", "attr_str", ")", ";", "if", "(", "DECL_ASSEMBLER_NAME_SET_P", "(", "decl", ")", ")", "SET_DECL_RTL", "(", "decl", ",", "NULL", ")", ";", "tree", "ret", "=", "get_identifier", "(", "assembler_name", ")", ";", "XDELETEVEC", "(", "attr_str", ")", ";", "XDELETEVEC", "(", "assembler_name", ")", ";", "return", "ret", ";", "}", ""], "natrual_language": ["This", "function", "changes", "the", "assembler", "name", "for", "functions", "that", "are", "versions", ".", "If", "DECL", "is", "a", "function", "version", "and", "has", "a", "``", "target", "''", "attribute", ",", "it", "appends", "the", "attribute", "string", "to", "its", "assembler", "name", "."], "TS_V_token": ["i386", "\"gnu_inline\"", "\"Function versions cannot be marked as gnu_inline,\"", "\" bodies have to be generated\"", "\"Virtual function multiversioning not supported\"", "\"target\"", "\"default\"", "0", "2", "\"%s.%s\""], "File": "i3864", "Func": "ix86_mangle_function_version_assembler_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38358, "Length": 203}
{"ground_truth": ["", "static", "const", "char", "*", "ix86_mangle_type", "(", "const_tree", "type", ")", "{", "type", "=", "TYPE_MAIN_VARIANT", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "type", ")", "!=", "VOID_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "BOOLEAN_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "INTEGER_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "REAL_TYPE", ")", "return", "NULL", ";", "switch", "(", "TYPE_MODE", "(", "type", ")", ")", "{", "case", "TFmode", ":", "return", "\"g\"", ";", "case", "XFmode", ":", "return", "\"e\"", ";", "default", ":", "return", "NULL", ";", "}", "}", ""], "natrual_language": ["Return", "the", "mangling", "of", "TYPE", "if", "it", "is", "an", "extended", "fundamental", "type", "."], "TS_V_token": ["i386", "\"g\"", "\"e\""], "File": "i3864", "Func": "ix86_mangle_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38359, "Length": 77}
{"ground_truth": ["", "bool", "ix86_match_ccmode", "(", "rtx", "insn", ",", "machine_mode", "req_mode", ")", "{", "rtx", "set", ";", "machine_mode", "set_mode", ";", "set", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "COMPARE", ")", ";", "set_mode", "=", "GET_MODE", "(", "SET_DEST", "(", "set", ")", ")", ";", "switch", "(", "set_mode", ")", "{", "case", "CCNOmode", ":", "if", "(", "req_mode", "!=", "CCNOmode", "&&", "(", "req_mode", "!=", "CCmode", "||", "XEXP", "(", "SET_SRC", "(", "set", ")", ",", "1", ")", "!=", "const0_rtx", ")", ")", "return", "false", ";", "break", ";", "case", "CCmode", ":", "if", "(", "req_mode", "==", "CCGCmode", ")", "return", "false", ";", "case", "CCGCmode", ":", "if", "(", "req_mode", "==", "CCGOCmode", "||", "req_mode", "==", "CCNOmode", ")", "return", "false", ";", "case", "CCGOCmode", ":", "if", "(", "req_mode", "==", "CCZmode", ")", "return", "false", ";", "case", "CCZmode", ":", "break", ";", "case", "CCAmode", ":", "case", "CCCmode", ":", "case", "CCOmode", ":", "case", "CCSmode", ":", "if", "(", "set_mode", "!=", "req_mode", ")", "return", "false", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "GET_MODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "set_mode", ";", "}", ""], "natrual_language": ["Return", "TRUE", "or", "FALSE", "depending", "on", "whether", "the", "first", "SET", "in", "INSN", "has", "source", "and", "destination", "with", "matching", "CC", "modes", ",", "and", "that", "the", "CC", "mode", "is", "at", "least", "as", "constrained", "as", "REQ_MODE", "."], "TS_V_token": ["i386", "0", "0", "1"], "File": "i3864", "Func": "ix86_match_ccmode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38360, "Length": 200}
{"ground_truth": ["", "static", "void", "ix86_maybe_switch_abi", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", "&&", "call_used_regs", "[", "SI_REG", "]", "==", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", ")", ")", "reinit_regs", "(", ")", ";", "}", ""], "natrual_language": ["64-bit", "MS", "and", "SYSV", "ABI", "have", "different", "set", "of", "call", "used", "registers", ".", "Avoid", "expensive", "re-initialization", "of", "init_regs", "each", "time", "we", "switch", "function", "context", "since", "this", "is", "needed", "only", "during", "RTL", "expansion", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_maybe_switch_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38361, "Length": 31}
{"ground_truth": ["", "static", "tree", "ix86_md_asm_clobbers", "(", "tree", ",", "tree", ",", "tree", "clobbers", ")", "{", "clobbers", "=", "tree_cons", "(", "NULL_TREE", ",", "build_string", "(", "5", ",", "\"flags\"", ")", ",", "clobbers", ")", ";", "clobbers", "=", "tree_cons", "(", "NULL_TREE", ",", "build_string", "(", "4", ",", "\"fpsr\"", ")", ",", "clobbers", ")", ";", "return", "clobbers", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_MD_ASM_CLOBBERS", ".", "We", "do", "this", "in", "the", "new", "i386", "backend", "to", "maintain", "source", "compatibility", "with", "the", "old", "cc0-based", "compiler", "."], "TS_V_token": ["i386", "5", "\"flags\"", "4", "\"fpsr\""], "File": "i3864", "Func": "ix86_md_asm_clobbers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38362, "Length": 48}
{"ground_truth": ["", "static", "unsigned", "HOST_WIDE_INT", "ix86_memmodel_check", "(", "unsigned", "HOST_WIDE_INT", "val", ")", "{", "unsigned", "HOST_WIDE_INT", "model", "=", "val", "&", "MEMMODEL_MASK", ";", "bool", "strong", ";", "if", "(", "val", "&", "~", "(", "unsigned", "HOST_WIDE_INT", ")", "(", "IX86_HLE_ACQUIRE", "|", "IX86_HLE_RELEASE", "|", "MEMMODEL_MASK", ")", "||", "(", "(", "val", "&", "IX86_HLE_ACQUIRE", ")", "&&", "(", "val", "&", "IX86_HLE_RELEASE", ")", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"Unknown architecture specific memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", ";", "}", "strong", "=", "(", "model", "==", "MEMMODEL_ACQ_REL", "||", "model", "==", "MEMMODEL_SEQ_CST", ")", ";", "if", "(", "val", "&", "IX86_HLE_ACQUIRE", "&&", "!", "(", "model", "==", "MEMMODEL_ACQUIRE", "||", "strong", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"HLE_ACQUIRE not used with ACQUIRE or stronger memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", "|", "IX86_HLE_ACQUIRE", ";", "}", "if", "(", "val", "&", "IX86_HLE_RELEASE", "&&", "!", "(", "model", "==", "MEMMODEL_RELEASE", "||", "strong", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"HLE_RELEASE not used with RELEASE or stronger memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", "|", "IX86_HLE_RELEASE", ";", "}", "return", "val", ";", "}", ""], "natrual_language": ["Validate", "target", "specific", "memory", "model", "bits", "in", "VAL", "."], "TS_V_token": ["i386", "\"Unknown architecture specific memory model\"", "\"HLE_ACQUIRE not used with ACQUIRE or stronger memory model\"", "\"HLE_RELEASE not used with RELEASE or stronger memory model\""], "File": "i3864", "Func": "ix86_memmodel_check", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38363, "Length": 138}
{"ground_truth": ["", "unsigned", "int", "ix86_minimum_alignment", "(", "tree", "exp", ",", "machine_mode", "mode", ",", "unsigned", "int", "align", ")", "{", "tree", "type", ",", "decl", ";", "if", "(", "exp", "&&", "DECL_P", "(", "exp", ")", ")", "{", "type", "=", "TREE_TYPE", "(", "exp", ")", ";", "decl", "=", "exp", ";", "}", "else", "{", "type", "=", "exp", ";", "decl", "=", "NULL", ";", "}", "if", "(", "TARGET_64BIT", "||", "align", "!=", "64", "||", "ix86_preferred_stack_boundary", ">=", "64", ")", "return", "align", ";", "if", "(", "(", "mode", "==", "DImode", "||", "(", "type", "&&", "TYPE_MODE", "(", "type", ")", "==", "DImode", ")", ")", "&&", "(", "!", "type", "||", "!", "TYPE_USER_ALIGN", "(", "type", ")", ")", "&&", "(", "!", "decl", "||", "!", "DECL_USER_ALIGN", "(", "decl", ")", ")", ")", "return", "32", ";", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "minimum", "required", "alignment", "for", "dynamic", "stack", "realignment", "purposes", "for", "a", "local", "variable", ",", "parameter", "or", "a", "stack", "slot", ".", "EXP", "is", "the", "data", "type", "or", "decl", "itself", ",", "MODE", "is", "its", "mode", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", "."], "TS_V_token": ["i386", "64", "64", "32"], "File": "i3864", "Func": "ix86_minimum_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38364, "Length": 116}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_minimum_incoming_stack_boundary", "(", "bool", "sibcall", ")", "{", "unsigned", "int", "incoming_stack_boundary", ";", "if", "(", "ix86_user_incoming_stack_boundary", ")", "incoming_stack_boundary", "=", "ix86_user_incoming_stack_boundary", ";", "else", "if", "(", "!", "sibcall", "&&", "!", "TARGET_64BIT", "&&", "ix86_force_align_arg_pointer", "&&", "crtl", "->", "stack_alignment_estimated", "==", "128", ")", "incoming_stack_boundary", "=", "MIN_STACK_BOUNDARY", ";", "else", "incoming_stack_boundary", "=", "ix86_default_incoming_stack_boundary", ";", "if", "(", "incoming_stack_boundary", ">", "MIN_STACK_BOUNDARY", "&&", "lookup_attribute", "(", "ix86_force_align_arg_pointer_string", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ")", ")", "incoming_stack_boundary", "=", "MIN_STACK_BOUNDARY", ";", "if", "(", "incoming_stack_boundary", "<", "crtl", "->", "parm_stack_boundary", ")", "incoming_stack_boundary", "=", "crtl", "->", "parm_stack_boundary", ";", "if", "(", "incoming_stack_boundary", ">", "MAIN_STACK_BOUNDARY", "&&", "DECL_NAME", "(", "current_function_decl", ")", "&&", "MAIN_NAME_P", "(", "DECL_NAME", "(", "current_function_decl", ")", ")", "&&", "DECL_FILE_SCOPE_P", "(", "current_function_decl", ")", ")", "incoming_stack_boundary", "=", "MAIN_STACK_BOUNDARY", ";", "return", "incoming_stack_boundary", ";", "}", ""], "natrual_language": ["Return", "minimum", "incoming", "stack", "alignment", "."], "TS_V_token": ["i386", "128"], "File": "i3864", "Func": "ix86_minimum_incoming_stack_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38365, "Length": 116}
{"ground_truth": ["", "bool", "ix86_modes_tieable_p", "(", "machine_mode", "mode1", ",", "machine_mode", "mode2", ")", "{", "if", "(", "mode1", "==", "mode2", ")", "return", "true", ";", "if", "(", "ix86_tieable_integer_mode_p", "(", "mode1", ")", "&&", "ix86_tieable_integer_mode_p", "(", "mode2", ")", ")", "return", "true", ";", "if", "(", "mode2", "==", "XFmode", ")", "return", "mode1", "==", "SFmode", "||", "mode1", "==", "DFmode", ";", "if", "(", "mode2", "==", "DFmode", ")", "return", "mode1", "==", "SFmode", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "32", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "32", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "16", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "16", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode1", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "MODE1", "is", "accessible", "in", "a", "register", "that", "can", "hold", "MODE2", "without", "copying", ".", "That", "is", ",", "all", "register", "classes", "that", "can", "hold", "MODE2", "can", "also", "hold", "MODE1", "."], "TS_V_token": ["i386", "32", "32", "16", "16", "8", "8"], "File": "i3864", "Func": "ix86_modes_tieable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38366, "Length": 163}
{"ground_truth": ["", "static", "int", "ix86_mode_after", "(", "int", "entity", ",", "int", "mode", ",", "rtx_insn", "*", "insn", ")", "{", "switch", "(", "entity", ")", "{", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_after", "(", "mode", ",", "insn", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "return", "mode", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "mode", "that", "an", "insn", "results", "in", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_mode_after", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38367, "Length": 54}
{"ground_truth": ["", "static", "int", "ix86_mode_entry", "(", "int", "entity", ")", "{", "switch", "(", "entity", ")", "{", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_entry", "(", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "return", "I387_CW_ANY", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "mode", "that", "ENTITY", "is", "assumed", "to", "be", "switched", "to", "at", "function", "entry", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_mode_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38368, "Length": 44}
{"ground_truth": ["", "static", "int", "ix86_mode_exit", "(", "int", "entity", ")", "{", "switch", "(", "entity", ")", "{", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_exit", "(", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "return", "I387_CW_ANY", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "mode", "that", "ENTITY", "is", "assumed", "to", "be", "switched", "to", "at", "function", "exit", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_mode_exit", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38369, "Length": 44}
{"ground_truth": ["", "static", "int", "ix86_mode_needed", "(", "int", "entity", ",", "rtx_insn", "*", "insn", ")", "{", "switch", "(", "entity", ")", "{", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_needed", "(", "insn", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "return", "ix86_i387_mode_needed", "(", "entity", ",", "insn", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "ix86_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38370, "Length": 57}
{"ground_truth": ["", "static", "enum", "machine_mode", "ix86_mpx_bound_mode", "(", ")", "{", "if", "(", "!", "TARGET_MPX", ")", "{", "if", "(", "flag_check_pointer_bounds", ")", "warning", "(", "0", ",", "\"Pointer Checker requires MPX support on this target.\"", "\" Use -mmpx options to enable MPX.\"", ")", ";", "return", "VOIDmode", ";", "}", "return", "BNDmode", ";", "}", ""], "natrual_language": ["Return", "mode", "to", "be", "used", "for", "bounds", "or", "VOIDmode", "if", "bounds", "are", "not", "supported", "."], "TS_V_token": ["i386", "0", "\"Pointer Checker requires MPX support on this target.\"", "\" Use -mmpx options to enable MPX.\""], "File": "i3864", "Func": "ix86_mpx_bound_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38371, "Length": 33}
{"ground_truth": ["", "static", "bool", "ix86_must_pass_in_stack", "(", "machine_mode", "mode", ",", "const_tree", "type", ")", "{", "if", "(", "must_pass_in_stack_var_size_or_pad", "(", "mode", ",", "type", ")", ")", "return", "true", ";", "return", "(", "!", "TARGET_64BIT", "&&", "mode", "==", "TImode", "&&", "type", "&&", "TREE_CODE", "(", "type", ")", "!=", "VECTOR_TYPE", ")", ";", "}", ""], "natrual_language": ["Return", "if", "we", "do", "not", "know", "how", "to", "pass", "TYPE", "solely", "in", "registers", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_must_pass_in_stack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38372, "Length": 43}
{"ground_truth": ["", "static", "int", "ix86_nsaved_regs", "(", "void", ")", "{", "int", "nregs", "=", "0", ";", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "!", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "nregs", "++", ";", "return", "nregs", ";", "}", ""], "natrual_language": ["Return", "number", "of", "registers", "to", "be", "saved", "on", "the", "stack", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3864", "Func": "ix86_nsaved_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38373, "Length": 50}
{"ground_truth": ["", "static", "int", "ix86_nsaved_sseregs", "(", "void", ")", "{", "int", "nregs", "=", "0", ";", "int", "regno", ";", "if", "(", "!", "TARGET_64BIT_MS_ABI", ")", "return", "0", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "nregs", "++", ";", "return", "nregs", ";", "}", ""], "natrual_language": ["Return", "number", "of", "saved", "SSE", "registrers", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3864", "Func": "ix86_nsaved_sseregs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38374, "Length": 57}
{"ground_truth": ["", "static", "char", "*", "ix86_offload_options", "(", "void", ")", "{", "if", "(", "TARGET_LP64", ")", "return", "xstrdup", "(", "\"-foffload-abi=lp64\"", ")", ";", "return", "xstrdup", "(", "\"-foffload-abi=ilp32\"", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OFFLOAD_OPTIONS", "hook", "."], "TS_V_token": ["i386", "\"-foffload-abi=lp64\"", "\"-foffload-abi=ilp32\""], "File": "i3864", "Func": "ix86_offload_options", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38375, "Length": 25}
{"ground_truth": ["", "static", "void", "ix86_option_override", "(", "void", ")", "{", "opt_pass", "*", "pass_insert_vzeroupper", "=", "make_pass_insert_vzeroupper", "(", "g", ")", ";", "struct", "register_pass_info", "insert_vzeroupper_info", "=", "{", "pass_insert_vzeroupper", ",", "\"reload\"", ",", "1", ",", "PASS_POS_INSERT_AFTER", "}", ";", "ix86_option_override_internal", "(", "true", ",", "&", "global_options", ",", "&", "global_options_set", ")", ";", "register_pass", "(", "&", "insert_vzeroupper_info", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTION_OVERRIDE", "hook", "."], "TS_V_token": ["i386", "\"reload\"", "1"], "File": "i3864", "Func": "ix86_option_override", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38376, "Length": 48}
{"ground_truth": ["", "const", "char", "*", "ix86_output_call_insn", "(", "rtx_insn", "*", "insn", ",", "rtx", "call_op", ")", "{", "bool", "direct_p", "=", "constant_call_address_operand", "(", "call_op", ",", "VOIDmode", ")", ";", "bool", "seh_nop_p", "=", "false", ";", "const", "char", "*", "xasm", ";", "if", "(", "SIBLING_CALL_P", "(", "insn", ")", ")", "{", "if", "(", "direct_p", ")", "xasm", "=", "\"%!jmp\\t%P0\"", ";", "else", "if", "(", "TARGET_SEH", ")", "xasm", "=", "\"%!rex.W jmp %A0\"", ";", "else", "xasm", "=", "\"%!jmp\\t%A0\"", ";", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "return", "\"\"", ";", "}", "if", "(", "TARGET_SEH", ")", "{", "rtx_insn", "*", "i", ";", "for", "(", "i", "=", "NEXT_INSN", "(", "insn", ")", ";", "i", ";", "i", "=", "NEXT_INSN", "(", "i", ")", ")", "{", "if", "(", "INSN_P", "(", "i", ")", ")", "break", ";", "if", "(", "NOTE_P", "(", "i", ")", "&&", "NOTE_KIND", "(", "i", ")", "==", "NOTE_INSN_EPILOGUE_BEG", "&&", "!", "flag_non_call_exceptions", "&&", "!", "can_throw_internal", "(", "insn", ")", ")", "{", "seh_nop_p", "=", "true", ";", "break", ";", "}", "}", "if", "(", "i", "==", "NULL", ")", "seh_nop_p", "=", "true", ";", "}", "if", "(", "direct_p", ")", "xasm", "=", "\"%!call\\t%P0\"", ";", "else", "xasm", "=", "\"%!call\\t%A0\"", ";", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "if", "(", "seh_nop_p", ")", "return", "\"nop\"", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "the", "assembly", "for", "a", "call", "instruction", "."], "TS_V_token": ["i386", "\"%!jmp\\t%P0\"", "\"%!rex.W jmp %A0\"", "\"%!jmp\\t%A0\"", "\"\"", "\"%!call\\t%P0\"", "\"%!call\\t%A0\"", "\"nop\"", "\"\""], "File": "i3864", "Func": "ix86_output_call_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38377, "Length": 187}
{"ground_truth": ["", "static", "bool", "ix86_pass_by_reference", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", "&&", "(", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ")", "==", "MS_ABI", ")", "{", "int", "msize", "=", "(", "int", ")", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "type", ")", "{", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "return", "true", ";", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "msize", "=", "int_size_in_bytes", "(", "type", ")", ";", "}", "}", "switch", "(", "msize", ")", "{", "case", "1", ":", "case", "2", ":", "case", "4", ":", "case", "8", ":", "break", ";", "default", ":", "return", "true", ";", "}", "}", "else", "if", "(", "TARGET_64BIT", "&&", "type", "&&", "int_size_in_bytes", "(", "type", ")", "==", "-", "1", ")", "return", "1", ";", "return", "0", ";", "}", ""], "natrual_language": ["A", "C", "expression", "that", "indicates", "when", "an", "argument", "must", "be", "passed", "by", "reference", ".", "If", "nonzero", "for", "an", "argument", ",", "a", "copy", "of", "that", "argument", "is", "made", "in", "memory", "and", "a", "pointer", "to", "the", "argument", "is", "passed", "instead", "of", "the", "argument", "itself", ".", "The", "pointer", "is", "passed", "in", "whatever", "way", "is", "appropriate", "for", "passing", "a", "pointer", "to", "that", "type", "."], "TS_V_token": ["i386", "1", "2", "4", "8", "1", "1", "0"], "File": "i3864", "Func": "ix86_pass_by_reference", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38378, "Length": 154}
{"ground_truth": ["", "static", "bool", "ix86_pic_register_p", "(", "rtx", "x", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "==", "VALUE", "&&", "CSELIB_VAL_PTR", "(", "x", ")", ")", "return", "(", "pic_offset_table_rtx", "&&", "rtx_equal_for_cselib_p", "(", "x", ",", "pic_offset_table_rtx", ")", ")", ";", "else", "if", "(", "!", "REG_P", "(", "x", ")", ")", "return", "false", ";", "else", "if", "(", "pic_offset_table_rtx", ")", "{", "if", "(", "REGNO", "(", "x", ")", "==", "REGNO", "(", "pic_offset_table_rtx", ")", ")", "return", "true", ";", "if", "(", "HARD_REGISTER_P", "(", "x", ")", "&&", "!", "HARD_REGISTER_P", "(", "pic_offset_table_rtx", ")", "&&", "ORIGINAL_REGNO", "(", "x", ")", "==", "REGNO", "(", "pic_offset_table_rtx", ")", ")", "return", "true", ";", "return", "false", ";", "}", "else", "return", "REGNO", "(", "x", ")", "==", "PIC_OFFSET_TABLE_REGNUM", ";", "}", ""], "natrual_language": ["Return", "true", "if", "X", "is", "a", "representation", "of", "the", "PIC", "register", ".", "This", "copes", "with", "calls", "from", "ix86_find_base_term", ",", "where", "the", "register", "might", "have", "been", "replaced", "by", "a", "cselib", "value", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_pic_register_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38379, "Length": 107}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_output_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "TARGET_SSE_MATH", "&&", "SSE_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "?", "ALL_SSE_REGS", ":", "NO_REGS", ";", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "regclass", "==", "FP_TOP_SSE_REGS", ")", "return", "FP_TOP_REG", ";", "else", "if", "(", "regclass", "==", "FP_SECOND_SSE_REGS", ")", "return", "FP_SECOND_REG", ";", "else", "return", "FLOAT_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "}", "return", "regclass", ";", "}", ""], "natrual_language": ["Discourage", "putting", "floating-point", "values", "in", "SSE", "registers", "unless", "SSE", "math", "is", "being", "used", ",", "and", "likewise", "for", "the", "387", "registers", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_preferred_output_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38380, "Length": 88}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "regclass", "==", "NO_REGS", ")", "return", "NO_REGS", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "mode", ")", ")", "return", "regclass", ";", "if", "(", "CONSTANT_P", "(", "x", ")", "&&", "(", "MAYBE_MMX_CLASS_P", "(", "regclass", ")", "||", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "||", "MAYBE_MASK_CLASS_P", "(", "regclass", ")", ")", ")", "return", "NO_REGS", ";", "if", "(", "TARGET_SSE_MATH", "&&", "!", "TARGET_MIX_SSE_I387", "&&", "SSE_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "SSE_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "CONST_DOUBLE", "&&", "GET_MODE", "(", "x", ")", "!=", "VOIDmode", ")", "{", "if", "(", "reg_class_subset_p", "(", "regclass", ",", "GENERAL_REGS", ")", ")", "return", "regclass", ";", "if", "(", "TARGET_80387", "&&", "standard_80387_constant_p", "(", "x", ")", ">", "0", ")", "{", "if", "(", "regclass", "==", "FLOAT_SSE_REGS", ")", "return", "FLOAT_REGS", ";", "if", "(", "regclass", "==", "FP_TOP_SSE_REGS", ")", "return", "FP_TOP_REG", ";", "if", "(", "regclass", "==", "FP_SECOND_SSE_REGS", ")", "return", "FP_SECOND_REG", ";", "if", "(", "regclass", "==", "FLOAT_INT_REGS", "||", "regclass", "==", "FLOAT_REGS", ")", "return", "regclass", ";", "}", "return", "NO_REGS", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "return", "reg_class_subset_p", "(", "regclass", ",", "GENERAL_REGS", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "GET_MODE", "(", "x", ")", "==", "QImode", "&&", "!", "CONSTANT_P", "(", "x", ")", ")", "{", "if", "(", "reg_class_subset_p", "(", "regclass", ",", "Q_REGS", ")", ")", "return", "regclass", ";", "if", "(", "reg_class_subset_p", "(", "Q_REGS", ",", "regclass", ")", ")", "return", "Q_REGS", ";", "return", "NO_REGS", ";", "}", "return", "regclass", ";", "}", ""], "natrual_language": ["Put", "float", "CONST_DOUBLE", "in", "the", "constant", "pool", "instead", "of", "fp", "regs", ".", "QImode", "must", "go", "into", "class", "Q_REGS", ".", "Narrow", "ALL_REGS", "to", "GENERAL_REGS", ".", "This", "supports", "allowing", "movsf", "and", "movdf", "to", "do", "mem-to-mem", "moves", "through", "integer", "regs", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "ix86_preferred_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38381, "Length": 244}
{"ground_truth": ["", "static", "enum", "rtx_code", "ix86_prepare_fp_compare_args", "(", "enum", "rtx_code", "code", ",", "rtx", "*", "pop0", ",", "rtx", "*", "pop1", ")", "{", "machine_mode", "fpcmp_mode", "=", "ix86_fp_compare_mode", "(", "code", ")", ";", "rtx", "op0", "=", "*", "pop0", ",", "op1", "=", "*", "pop1", ";", "machine_mode", "op_mode", "=", "GET_MODE", "(", "op0", ")", ";", "int", "is_sse", "=", "TARGET_SSE_MATH", "&&", "SSE_FLOAT_MODE_P", "(", "op_mode", ")", ";", "if", "(", "!", "is_sse", "&&", "(", "fpcmp_mode", "==", "CCFPUmode", "||", "(", "op_mode", "==", "XFmode", "&&", "!", "(", "standard_80387_constant_p", "(", "op0", ")", "==", "1", "||", "standard_80387_constant_p", "(", "op1", ")", "==", "1", ")", "&&", "GET_CODE", "(", "op1", ")", "!=", "FLOAT", ")", "||", "ix86_fp_comparison_strategy", "(", "code", ")", "==", "IX86_FPCMP_COMI", ")", ")", "{", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "else", "{", "if", "(", "standard_80387_constant_p", "(", "op0", ")", "==", "0", "||", "(", "MEM_P", "(", "op0", ")", "&&", "!", "(", "standard_80387_constant_p", "(", "op1", ")", "==", "0", "||", "MEM_P", "(", "op1", ")", ")", ")", ")", "{", "enum", "rtx_code", "new_code", "=", "ix86_fp_swap_condition", "(", "code", ")", ";", "if", "(", "new_code", "!=", "UNKNOWN", ")", "{", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "code", "=", "new_code", ";", "}", "}", "if", "(", "!", "REG_P", "(", "op0", ")", ")", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "if", "(", "CONSTANT_P", "(", "op1", ")", ")", "{", "int", "tmp", "=", "standard_80387_constant_p", "(", "op1", ")", ";", "if", "(", "tmp", "==", "0", ")", "op1", "=", "validize_mem", "(", "force_const_mem", "(", "op_mode", ",", "op1", ")", ")", ";", "else", "if", "(", "tmp", "==", "1", ")", "{", "if", "(", "TARGET_CMOVE", ")", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "else", "op1", "=", "force_reg", "(", "op_mode", ",", "op1", ")", ";", "}", "}", "if", "(", "ix86_fp_comparison_cost", "(", "code", ")", ">", "ix86_fp_comparison_cost", "(", "swap_condition", "(", "code", ")", ")", "&&", "(", "REG_P", "(", "op1", ")", "||", "can_create_pseudo_p", "(", ")", ")", ")", "{", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "code", "=", "swap_condition", "(", "code", ")", ";", "if", "(", "!", "REG_P", "(", "op0", ")", ")", "op0", "=", "force_reg", "(", "op_mode", ",", "op0", ")", ";", "}", "*", "pop0", "=", "op0", ";", "*", "pop1", "=", "op1", ";", "return", "code", ";", "}", ""], "natrual_language": ["Swap", ",", "force", "into", "registers", ",", "or", "otherwise", "massage", "the", "two", "operands", "to", "a", "fp", "comparison", ".", "The", "operands", "are", "updated", "in", "place", ";", "the", "new", "comparsion", "code", "is", "returned", "."], "TS_V_token": ["i386", "1", "1", "0", "0", "0", "1"], "File": "i3864", "Func": "ix86_prepare_fp_compare_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38382, "Length": 348}
{"ground_truth": ["", "static", "machine_mode", "ix86_promote_function_mode", "(", "const_tree", "type", ",", "machine_mode", "mode", ",", "int", "*", "punsignedp", ",", "const_tree", "fntype", ",", "int", "for_return", ")", "{", "if", "(", "type", "!=", "NULL_TREE", "&&", "POINTER_TYPE_P", "(", "type", ")", ")", "{", "*", "punsignedp", "=", "POINTERS_EXTEND_UNSIGNED", ";", "return", "word_mode", ";", "}", "return", "default_promote_function_mode", "(", "type", ",", "mode", ",", "punsignedp", ",", "fntype", ",", "for_return", ")", ";", "}", ""], "natrual_language": ["Pointer", "function", "arguments", "and", "return", "values", "are", "promoted", "to", "word_mode", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_promote_function_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38383, "Length": 57}
{"ground_truth": ["", "static", "int", "ix86_reassociation_width", "(", "unsigned", "int", ",", "machine_mode", "mode", ")", "{", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "TARGET_VECTOR_PARALLEL_EXECUTION", ")", "return", "2", ";", "else", "return", "1", ";", "}", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", "&&", "TARGET_REASSOC_INT_TO_PARALLEL", ")", "return", "2", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_REASSOC_FP_TO_PARALLEL", ")", "return", "2", ";", "else", "return", "1", ";", "}", ""], "natrual_language": ["Implementation", "of", "reassociation_width", "target", "hook", "used", "by", "reassoc", "phase", "to", "identify", "parallelism", "level", "in", "reassociated", "tree", ".", "Statements", "tree_code", "is", "passed", "in", "OPC", ".", "Arguments", "type", "is", "passed", "in", "MODE", ".", "Currently", "parallel", "reassociation", "is", "enabled", "for", "Atom", "processors", "only", "and", "we", "set", "reassociation", "width", "to", "be", "2", "because", "Atom", "may", "issue", "up", "to", "2", "instructions", "per", "cycle", ".", "Return", "value", "should", "be", "fixed", "if", "parallel", "reassociation", "is", "enabled", "for", "other", "processors", "."], "TS_V_token": ["i386", "2", "1", "2", "2", "1"], "File": "i3864", "Func": "ix86_reassociation_width", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38384, "Length": 61}
{"ground_truth": ["", "static", "int", "ix86_register_move_cost", "(", "machine_mode", "mode", ",", "reg_class_t", "class1_i", ",", "reg_class_t", "class2_i", ")", "{", "enum", "reg_class", "class1", "=", "(", "enum", "reg_class", ")", "class1_i", ";", "enum", "reg_class", "class2", "=", "(", "enum", "reg_class", ")", "class2_i", ";", "if", "(", "inline_secondary_memory_needed", "(", "class1", ",", "class2", ",", "mode", ",", "0", ")", ")", "{", "int", "cost", "=", "1", ";", "cost", "+=", "inline_memory_move_cost", "(", "mode", ",", "class1", ",", "2", ")", ";", "cost", "+=", "inline_memory_move_cost", "(", "mode", ",", "class2", ",", "2", ")", ";", "if", "(", "targetm", ".", "class_max_nregs", "(", "class1", ",", "mode", ")", ">", "targetm", ".", "class_max_nregs", "(", "class2", ",", "mode", ")", ")", "cost", "+=", "20", ";", "if", "(", "(", "MMX_CLASS_P", "(", "class1", ")", "&&", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", ")", "||", "(", "MMX_CLASS_P", "(", "class2", ")", "&&", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", ")", ")", "cost", "+=", "20", ";", "return", "cost", ";", "}", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", "||", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "return", "MAX", "(", "8", ",", "ix86_cost", "->", "mmxsse_to_integer", ")", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "fp_move", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "sse_move", ";", "if", "(", "MAYBE_MMX_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "mmx_move", ";", "return", "2", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "from", "a", "register", "in", "class", "CLASS1", "to", "one", "in", "class", "CLASS2", ".", "It", "is", "not", "required", "that", "the", "cost", "always", "equal", "2", "when", "FROM", "is", "the", "same", "as", "TO", ";", "on", "some", "machines", "it", "is", "expensive", "to", "move", "between", "registers", "if", "they", "are", "not", "general", "registers", "."], "TS_V_token": ["i386", "0", "1", "2", "2", "20", "20", "8", "2"], "File": "i3864", "Func": "ix86_register_move_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38385, "Length": 205}
{"ground_truth": ["", "static", "int", "ix86_register_priority", "(", "int", "hard_regno", ")", "{", "if", "(", "hard_regno", "==", "R12_REG", "||", "hard_regno", "==", "R13_REG", ")", "return", "0", ";", "if", "(", "hard_regno", "==", "BP_REG", ")", "return", "1", ";", "if", "(", "FIRST_REX_INT_REG", "<=", "hard_regno", "&&", "hard_regno", "<=", "LAST_REX_INT_REG", ")", "return", "2", ";", "if", "(", "FIRST_REX_SSE_REG", "<=", "hard_regno", "&&", "hard_regno", "<=", "LAST_REX_SSE_REG", ")", "return", "2", ";", "if", "(", "hard_regno", "==", "AX_REG", ")", "return", "4", ";", "return", "3", ";", "}", ""], "natrual_language": ["Return", "a", "register", "priority", "for", "hard", "reg", "REGNO", "."], "TS_V_token": ["i386", "0", "1", "2", "2", "4", "3"], "File": "i3864", "Func": "ix86_register_priority", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38386, "Length": 69}
{"ground_truth": ["", "static", "bool", "ix86_return_in_memory", "(", "const_tree", "type", ",", "const_tree", "fntype", "ATTRIBUTE_UNUSED", ")", "{", "return", "SUBTARGET_RETURN_IN_MEMORY", "(", "type", ",", "fntype", ")", ";", "const", "machine_mode", "mode", "=", "type_natural_mode", "(", "type", ",", "NULL", ",", "true", ")", ";", "HOST_WIDE_INT", "size", ";", "if", "(", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "ix86_function_type_abi", "(", "fntype", ")", "==", "MS_ABI", ")", "{", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "(", "!", "type", "||", "VECTOR_INTEGER_TYPE_P", "(", "type", ")", "||", "INTEGRAL_TYPE_P", "(", "type", ")", "||", "VECTOR_FLOAT_TYPE_P", "(", "type", ")", ")", "&&", "(", "SCALAR_INT_MODE_P", "(", "mode", ")", "||", "VECTOR_MODE_P", "(", "mode", ")", ")", "&&", "!", "COMPLEX_MODE_P", "(", "mode", ")", "&&", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", "||", "size", "==", "16", ")", ")", "return", "false", ";", "return", "size", "!=", "1", "&&", "size", "!=", "2", "&&", "size", "!=", "4", "&&", "size", "!=", "8", ";", "}", "else", "{", "int", "needed_intregs", ",", "needed_sseregs", ";", "return", "examine_argument", "(", "mode", ",", "type", ",", "1", ",", "&", "needed_intregs", ",", "&", "needed_sseregs", ")", ";", "}", "}", "else", "{", "if", "(", "mode", "==", "BLKmode", ")", "return", "true", ";", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "MS_AGGREGATE_RETURN", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "size", "<=", "8", ")", "return", "false", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "||", "mode", "==", "TImode", ")", "{", "if", "(", "size", "<", "8", ")", "return", "false", ";", "if", "(", "size", "==", "8", ")", "return", "TARGET_VECT8_RETURNS", "||", "!", "TARGET_MMX", ";", "if", "(", "size", "==", "16", ")", "return", "!", "TARGET_SSE", ";", "if", "(", "size", "==", "32", ")", "return", "!", "TARGET_AVX", ";", "if", "(", "size", "==", "64", ")", "return", "!", "TARGET_AVX512F", ";", "}", "if", "(", "mode", "==", "XFmode", ")", "return", "false", ";", "if", "(", "size", ">", "12", ")", "return", "true", ";", "gcc_assert", "(", "mode", "!=", "OImode", ")", ";", "return", "false", ";", "}", "}", ""], "natrual_language": ["Return", "false", "iff", "type", "is", "returned", "in", "memory", "."], "TS_V_token": ["i386", "16", "16", "1", "2", "4", "8", "1", "8", "8", "8", "16", "32", "64", "12"], "File": "i3864", "Func": "ix86_return_in_memory", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38387, "Length": 295}
{"ground_truth": ["", "static", "int", "ix86_return_pops_args", "(", "tree", "fundecl", ",", "tree", "funtype", ",", "int", "size", ")", "{", "unsigned", "int", "ccvt", ";", "if", "(", "TARGET_64BIT", ")", "return", "0", ";", "ccvt", "=", "ix86_get_callcvt", "(", "funtype", ")", ";", "if", "(", "(", "ccvt", "&", "(", "IX86_CALLCVT_STDCALL", "|", "IX86_CALLCVT_FASTCALL", "|", "IX86_CALLCVT_THISCALL", ")", ")", "!=", "0", "&&", "!", "stdarg_p", "(", "funtype", ")", ")", "return", "size", ";", "if", "(", "aggregate_value_p", "(", "TREE_TYPE", "(", "funtype", ")", ",", "fundecl", ")", "&&", "!", "ix86_keep_aggregate_return_pointer", "(", "funtype", ")", ")", "{", "int", "nregs", "=", "ix86_function_regparm", "(", "funtype", ",", "fundecl", ")", ";", "if", "(", "nregs", "==", "0", ")", "return", "GET_MODE_SIZE", "(", "Pmode", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Value", "is", "the", "number", "of", "bytes", "of", "arguments", "automatically", "popped", "when", "returning", "from", "a", "subroutine", "call", ".", "FUNDECL", "is", "the", "declaration", "node", "of", "the", "function", "(", "as", "a", "tree", ")", ",", "FUNTYPE", "is", "the", "data", "type", "of", "the", "function", "(", "as", "a", "tree", ")", ",", "or", "for", "a", "library", "call", "it", "is", "an", "identifier", "node", "for", "the", "subroutine", "name", ".", "SIZE", "is", "the", "number", "of", "bytes", "of", "arguments", "passed", "on", "the", "stack", ".", "On", "the", "80386", ",", "the", "RTD", "insn", "may", "be", "used", "to", "pop", "them", "if", "the", "number", "of", "args", "is", "fixed", ",", "but", "if", "the", "number", "is", "variable", "then", "the", "caller", "must", "pop", "them", "all", ".", "RTD", "ca", "n't", "be", "used", "for", "library", "calls", "now", "because", "the", "library", "is", "compiled", "with", "the", "Unix", "compiler", ".", "Use", "of", "RTD", "is", "a", "selectable", "option", ",", "since", "it", "is", "incompatible", "with", "standard", "Unix", "calling", "sequences", ".", "If", "the", "option", "is", "not", "selected", ",", "the", "caller", "must", "always", "pop", "the", "args", ".", "The", "attribute", "stdcall", "is", "equivalent", "to", "RTD", "on", "a", "per", "module", "basis", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i3864", "Func": "ix86_return_pops_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38388, "Length": 103}
{"ground_truth": ["", "enum", "rtx_code", "ix86_reverse_condition", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ")", "{", "return", "(", "mode", "!=", "CCFPmode", "&&", "mode", "!=", "CCFPUmode", "?", "reverse_condition", "(", "code", ")", ":", "reverse_condition_maybe_unordered", "(", "code", ")", ")", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "REVERSE_CONDITION", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_reverse_condition", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38389, "Length": 34}
{"ground_truth": ["", "static", "bool", "ix86_save_reg", "(", "unsigned", "int", "regno", ",", "bool", "maybe_eh_return", ")", "{", "if", "(", "regno", "==", "REAL_PIC_OFFSET_TABLE_REGNUM", "&&", "pic_offset_table_rtx", ")", "{", "if", "(", "ix86_use_pseudo_pic_reg", "(", ")", ")", "{", "if", "(", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "crtl", "->", "profile", ")", "return", "true", ";", "}", "else", "if", "(", "df_regs_ever_live_p", "(", "REAL_PIC_OFFSET_TABLE_REGNUM", ")", "||", "crtl", "->", "profile", "||", "crtl", "->", "calls_eh_return", "||", "crtl", "->", "uses_const_pool", "||", "cfun", "->", "has_nonlocal_label", ")", "return", "ix86_select_alt_pic_regnum", "(", ")", "==", "INVALID_REGNUM", ";", "}", "if", "(", "crtl", "->", "calls_eh_return", "&&", "maybe_eh_return", ")", "{", "unsigned", "i", ";", "for", "(", "i", "=", "0", ";", ";", "i", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "i", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "regno", ")", "return", "true", ";", "}", "}", "if", "(", "crtl", "->", "drap_reg", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", "&&", "!", "cfun", "->", "machine", "->", "no_drap_save_restore", ")", "return", "true", ";", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "call_used_regs", "[", "regno", "]", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "we", "need", "to", "save", "REGNO", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "ix86_save_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38390, "Length": 180}
{"ground_truth": ["", "static", "bool", "ix86_scalar_mode_supported_p", "(", "machine_mode", "mode", ")", "{", "if", "(", "DECIMAL_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "default_decimal_float_supported_p", "(", ")", ";", "else", "if", "(", "mode", "==", "TFmode", ")", "return", "true", ";", "else", "return", "default_scalar_mode_supported_p", "(", "mode", ")", ";", "}", ""], "natrual_language": ["Target", "hook", "for", "scalar_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_scalar_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38391, "Length": 38}
{"ground_truth": ["", "static", "void", "ix86_sched_init_global", "(", "FILE", "*", ",", "int", ",", "int", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "if", "(", "reload_completed", ")", "{", "targetm", ".", "sched", ".", "dfa_post_advance_cycle", "=", "core2i7_dfa_post_advance_cycle", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_init", "=", "core2i7_first_cycle_multipass_init", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_begin", "=", "core2i7_first_cycle_multipass_begin", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_issue", "=", "core2i7_first_cycle_multipass_issue", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_backtrack", "=", "core2i7_first_cycle_multipass_backtrack", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_end", "=", "core2i7_first_cycle_multipass_end", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_fini", "=", "core2i7_first_cycle_multipass_fini", ";", "core2i7_secondary_decoder_max_insn_size", "=", "8", ";", "core2i7_ifetch_block_size", "=", "16", ";", "core2i7_ifetch_block_max_insns", "=", "6", ";", "break", ";", "}", "default", ":", "targetm", ".", "sched", ".", "dfa_post_advance_cycle", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_init", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_begin", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_issue", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_backtrack", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_end", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_fini", "=", "NULL", ";", "break", ";", "}", "}", ""], "natrual_language": ["Prepare", "for", "scheduling", "pass", "."], "TS_V_token": ["i386", "8", "16", "6"], "File": "i3864", "Func": "ix86_sched_init_global", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38392, "Length": 167}
{"ground_truth": ["", "static", "int", "ix86_sched_reorder", "(", "FILE", "*", "dump", ",", "int", "sched_verbose", ",", "rtx_insn", "*", "*", "ready", ",", "int", "*", "pn_ready", ",", "int", "clock_var", ")", "{", "int", "issue_rate", "=", "-", "1", ";", "int", "n_ready", "=", "*", "pn_ready", ";", "int", "i", ";", "rtx_insn", "*", "insn", ";", "int", "index", "=", "-", "1", ";", "issue_rate", "=", "ix86_issue_rate", "(", ")", ";", "if", "(", "!", "TARGET_BONNELL", "&&", "!", "TARGET_SILVERMONT", "&&", "!", "TARGET_INTEL", ")", "return", "issue_rate", ";", "if", "(", "n_ready", "<=", "1", ")", "return", "issue_rate", ";", "if", "(", "!", "reload_completed", ")", "return", "issue_rate", ";", "if", "(", "(", "index", "=", "do_reorder_for_imul", "(", "ready", ",", "n_ready", ")", ")", ">=", "0", ")", "{", "if", "(", "sched_verbose", ">", "1", ")", "fprintf", "(", "dump", ",", "\";;\\tatom sched_reorder: put %d insn on top\\n\"", ",", "INSN_UID", "(", "ready", "[", "index", "]", ")", ")", ";", "insn", "=", "ready", "[", "index", "]", ";", "for", "(", "i", "=", "index", ";", "i", "<", "n_ready", "-", "1", ";", "i", "++", ")", "ready", "[", "i", "]", "=", "ready", "[", "i", "+", "1", "]", ";", "ready", "[", "n_ready", "-", "1", "]", "=", "insn", ";", "return", "issue_rate", ";", "}", "if", "(", "clock_var", "!=", "0", "&&", "!", "sel_sched_p", "(", ")", "&&", "swap_top_of_ready_list", "(", "ready", ",", "n_ready", ")", ")", "{", "if", "(", "sched_verbose", ">", "1", ")", "fprintf", "(", "dump", ",", "\";;\\tslm sched_reorder: swap %d and %d insns\\n\"", ",", "INSN_UID", "(", "ready", "[", "n_ready", "-", "1", "]", ")", ",", "INSN_UID", "(", "ready", "[", "n_ready", "-", "2", "]", ")", ")", ";", "insn", "=", "ready", "[", "n_ready", "-", "1", "]", ";", "ready", "[", "n_ready", "-", "1", "]", "=", "ready", "[", "n_ready", "-", "2", "]", ";", "ready", "[", "n_ready", "-", "2", "]", "=", "insn", ";", "}", "return", "issue_rate", ";", "}", ""], "natrual_language": ["Perform", "possible", "reodering", "of", "ready", "list", "for", "Atom/Silvermont", "only", ".", "Return", "issue", "rate", "."], "TS_V_token": ["i386", "1", "1", "1", "0", "1", "\";;\\tatom sched_reorder: put %d insn on top\\n\"", "1", "1", "1", "0", "1", "\";;\\tslm sched_reorder: swap %d and %d insns\\n\"", "1", "2", "1", "1", "2", "2"], "File": "i3864", "Func": "ix86_sched_reorder", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38393, "Length": 259}
{"ground_truth": ["", "bool", "ix86_secondary_memory_needed", "(", "enum", "reg_class", "class1", ",", "enum", "reg_class", "class2", ",", "machine_mode", "mode", ",", "int", "strict", ")", "{", "return", "inline_secondary_memory_needed", "(", "class1", ",", "class2", ",", "mode", ",", "strict", ")", ";", "}", ""], "natrual_language": ["If", "we", "are", "copying", "between", "general", "and", "FP", "registers", ",", "we", "need", "a", "memory", "location", ".", "The", "same", "is", "true", "for", "SSE", "and", "MMX", "registers", ".", "The", "macro", "ca", "n't", "work", "reliably", "when", "one", "of", "the", "CLASSES", "is", "class", "containing", "registers", "from", "multiple", "units", "(", "SSE", ",", "MMX", ",", "integer", ")", ".", "We", "avoid", "this", "by", "never", "combining", "those", "units", "in", "single", "alternative", "in", "the", "machine", "description", ".", "Ensure", "that", "this", "constraint", "holds", "to", "avoid", "unexpected", "surprises", ".", "When", "STRICT", "is", "false", ",", "we", "are", "being", "called", "from", "REGISTER_MOVE_COST", ",", "so", "do", "not", "enforce", "these", "sanity", "checks", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_secondary_memory_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38394, "Length": 31}
{"ground_truth": ["", "static", "void", "ix86_seh_fixup_eh_fallthru", "(", "void", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "EXIT_BLOCK_PTR_FOR_FN", "(", "cfun", ")", "->", "preds", ")", "{", "rtx_insn", "*", "insn", ",", "*", "next", ";", "for", "(", "insn", "=", "BB_END", "(", "e", "->", "src", ")", ";", "insn", "!=", "NULL", ";", "insn", "=", "PREV_INSN", "(", "insn", ")", ")", "if", "(", "NOTE_P", "(", "insn", ")", "&&", "NOTE_KIND", "(", "insn", ")", "==", "NOTE_INSN_EPILOGUE_BEG", ")", "break", ";", "if", "(", "insn", "==", "NULL", ")", "continue", ";", "insn", "=", "prev_active_insn", "(", "insn", ")", ";", "if", "(", "insn", "==", "NULL", "||", "!", "can_throw_internal", "(", "insn", ")", ")", "continue", ";", "for", "(", "next", "=", "NEXT_INSN", "(", "insn", ")", ";", "next", "!=", "NULL", ";", "next", "=", "NEXT_INSN", "(", "next", ")", ")", "if", "(", "NOTE_P", "(", "next", ")", "&&", "(", "NOTE_KIND", "(", "next", ")", "==", "NOTE_INSN_VAR_LOCATION", "||", "NOTE_KIND", "(", "next", ")", "==", "NOTE_INSN_CALL_ARG_LOCATION", ")", ")", "insn", "=", "next", ";", "else", "break", ";", "emit_insn_after", "(", "gen_nops", "(", "const1_rtx", ")", ",", "insn", ")", ";", "}", "}", ""], "natrual_language": ["Fix", "up", "a", "Windows", "system", "unwinder", "issue", ".", "If", "an", "EH", "region", "falls", "through", "into", "the", "epilogue", ",", "the", "Windows", "system", "unwinder", "will", "apply", "epilogue", "logic", "and", "produce", "incorrect", "offsets", ".", "This", "can", "be", "avoided", "by", "adding", "a", "nop", "between", "the", "last", "insn", "that", "can", "throw", "and", "the", "first", "insn", "of", "the", "epilogue", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_seh_fixup_eh_fallthru", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38395, "Length": 163}
{"ground_truth": ["", "static", "void", "ix86_setup_incoming_varargs", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "tree", "type", ",", "int", "*", ",", "int", "no_rtl", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "CUMULATIVE_ARGS", "next_cum", ";", "tree", "fntype", ";", "gcc_assert", "(", "!", "no_rtl", ")", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", ";", "fntype", "=", "TREE_TYPE", "(", "current_function_decl", ")", ";", "next_cum", "=", "*", "cum", ";", "if", "(", "stdarg_p", "(", "fntype", ")", ")", "ix86_function_arg_advance", "(", "pack_cumulative_args", "(", "&", "next_cum", ")", ",", "mode", ",", "type", ",", "true", ")", ";", "if", "(", "cum", "->", "call_abi", "==", "MS_ABI", ")", "setup_incoming_varargs_ms_64", "(", "&", "next_cum", ")", ";", "else", "setup_incoming_varargs_64", "(", "&", "next_cum", ")", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_SETUP_INCOMING_VARARGS", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_setup_incoming_varargs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38396, "Length": 104}
{"ground_truth": ["", "static", "void", "ix86_set_current_function", "(", "tree", "fndecl", ")", "{", "if", "(", "fndecl", "==", "ix86_previous_fndecl", ")", "return", ";", "tree", "old_tree", ";", "if", "(", "ix86_previous_fndecl", "==", "NULL_TREE", ")", "old_tree", "=", "target_option_current_node", ";", "else", "if", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ")", "old_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ";", "else", "old_tree", "=", "target_option_default_node", ";", "if", "(", "fndecl", "==", "NULL_TREE", ")", "{", "if", "(", "old_tree", "!=", "target_option_current_node", ")", "ix86_reset_previous_fndecl", "(", ")", ";", "return", ";", "}", "tree", "new_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", ";", "if", "(", "new_tree", "==", "NULL_TREE", ")", "new_tree", "=", "target_option_default_node", ";", "if", "(", "old_tree", "!=", "new_tree", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "}", "ix86_previous_fndecl", "=", "fndecl", ";", "}", ""], "natrual_language": ["Establish", "appropriate", "back-end", "context", "for", "processing", "the", "function", "FNDECL", ".", "The", "argument", "might", "be", "NULL", "to", "indicate", "processing", "at", "top", "level", ",", "outside", "of", "any", "function", "scope", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_set_current_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38397, "Length": 149}
{"ground_truth": ["", "static", "int", "ix86_set_reg_reg_cost", "(", "machine_mode", "mode", ")", "{", "unsigned", "int", "units", "=", "UNITS_PER_WORD", ";", "switch", "(", "GET_MODE_CLASS", "(", "mode", ")", ")", "{", "default", ":", "break", ";", "case", "MODE_CC", ":", "units", "=", "GET_MODE_SIZE", "(", "CCmode", ")", ";", "break", ";", "case", "MODE_FLOAT", ":", "if", "(", "(", "TARGET_SSE", "&&", "mode", "==", "TFmode", ")", "||", "(", "TARGET_80387", "&&", "mode", "==", "XFmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE2", ")", "&&", "mode", "==", "DFmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE", ")", "&&", "mode", "==", "SFmode", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "break", ";", "case", "MODE_COMPLEX_FLOAT", ":", "if", "(", "(", "TARGET_SSE", "&&", "mode", "==", "TCmode", ")", "||", "(", "TARGET_80387", "&&", "mode", "==", "XCmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE2", ")", "&&", "mode", "==", "DCmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE", ")", "&&", "mode", "==", "SCmode", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "break", ";", "case", "MODE_VECTOR_INT", ":", "case", "MODE_VECTOR_FLOAT", ":", "if", "(", "(", "TARGET_AVX512F", "&&", "VALID_AVX512F_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_SSE2", "&&", "VALID_SSE2_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_SSE", "&&", "VALID_SSE_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_MMX", "&&", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "}", "return", "COSTS_N_INSNS", "(", "(", "GET_MODE_SIZE", "(", "mode", ")", "+", "units", "-", "1", ")", "/", "units", ")", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "between", "two", "registers", "of", "mode", "MODE", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_set_reg_reg_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38398, "Length": 225}
{"ground_truth": ["", "static", "void", "ix86_simd_clone_adjust", "(", "struct", "cgraph_node", "*", "node", ")", "{", "const", "char", "*", "str", "=", "NULL", ";", "gcc_assert", "(", "node", "->", "decl", "==", "cfun", "->", "decl", ")", ";", "switch", "(", "node", "->", "simdclone", "->", "vecsize_mangle", ")", "{", "case", "'b'", ":", "if", "(", "!", "TARGET_SSE2", ")", "str", "=", "\"sse2\"", ";", "break", ";", "case", "'c'", ":", "if", "(", "!", "TARGET_AVX", ")", "str", "=", "\"avx\"", ";", "break", ";", "case", "'d'", ":", "if", "(", "!", "TARGET_AVX2", ")", "str", "=", "\"avx2\"", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "str", "==", "NULL", ")", "return", ";", "push_cfun", "(", "NULL", ")", ";", "tree", "args", "=", "build_tree_list", "(", "NULL_TREE", ",", "build_string", "(", "strlen", "(", "str", ")", ",", "str", ")", ")", ";", "bool", "ok", "=", "ix86_valid_target_attribute_p", "(", "node", "->", "decl", ",", "NULL", ",", "args", ",", "0", ")", ";", "gcc_assert", "(", "ok", ")", ";", "pop_cfun", "(", ")", ";", "ix86_reset_previous_fndecl", "(", ")", ";", "ix86_set_current_function", "(", "node", "->", "decl", ")", ";", "}", ""], "natrual_language": ["Add", "target", "attribute", "to", "SIMD", "clone", "NODE", "if", "needed", "."], "TS_V_token": ["i386", "\"sse2\"", "\"avx\"", "\"avx2\"", "0"], "File": "i3864", "Func": "ix86_simd_clone_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38399, "Length": 154}
{"ground_truth": ["", "static", "int", "ix86_simd_clone_compute_vecsize_and_simdlen", "(", "struct", "cgraph_node", "*", "node", ",", "struct", "cgraph_simd_clone", "*", "clonei", ",", "tree", "base_type", ",", "int", "num", ")", "{", "int", "ret", "=", "1", ";", "if", "(", "clonei", "->", "simdlen", "&&", "(", "clonei", "->", "simdlen", "<", "2", "||", "clonei", "->", "simdlen", ">", "16", "||", "(", "clonei", "->", "simdlen", "&", "(", "clonei", "->", "simdlen", "-", "1", ")", ")", "!=", "0", ")", ")", "{", "warning_at", "(", "DECL_SOURCE_LOCATION", "(", "node", "->", "decl", ")", ",", "0", ",", "\"unsupported simdlen %d\"", ",", "clonei", "->", "simdlen", ")", ";", "return", "0", ";", "}", "tree", "ret_type", "=", "TREE_TYPE", "(", "TREE_TYPE", "(", "node", "->", "decl", ")", ")", ";", "if", "(", "TREE_CODE", "(", "ret_type", ")", "!=", "VOID_TYPE", ")", "switch", "(", "TYPE_MODE", "(", "ret_type", ")", ")", "{", "case", "QImode", ":", "case", "HImode", ":", "case", "SImode", ":", "case", "DImode", ":", "case", "SFmode", ":", "case", "DFmode", ":", "break", ";", "default", ":", "warning_at", "(", "DECL_SOURCE_LOCATION", "(", "node", "->", "decl", ")", ",", "0", ",", "\"unsupported return type %qT for simd\\n\"", ",", "ret_type", ")", ";", "return", "0", ";", "}", "tree", "t", ";", "int", "i", ";", "for", "(", "t", "=", "DECL_ARGUMENTS", "(", "node", "->", "decl", ")", ",", "i", "=", "0", ";", "t", ";", "t", "=", "DECL_CHAIN", "(", "t", ")", ",", "i", "++", ")", "switch", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "t", ")", ")", ")", "{", "case", "QImode", ":", "case", "HImode", ":", "case", "SImode", ":", "case", "DImode", ":", "case", "SFmode", ":", "case", "DFmode", ":", "break", ";", "default", ":", "warning_at", "(", "DECL_SOURCE_LOCATION", "(", "node", "->", "decl", ")", ",", "0", ",", "\"unsupported argument type %qT for simd\\n\"", ",", "TREE_TYPE", "(", "t", ")", ")", ";", "return", "0", ";", "}", "if", "(", "clonei", "->", "cilk_elemental", ")", "{", "clonei", "->", "vecsize_mangle", "=", "'b'", ";", "}", "else", "if", "(", "!", "TREE_PUBLIC", "(", "node", "->", "decl", ")", ")", "{", "if", "(", "TARGET_AVX2", ")", "clonei", "->", "vecsize_mangle", "=", "'d'", ";", "else", "if", "(", "TARGET_AVX", ")", "clonei", "->", "vecsize_mangle", "=", "'c'", ";", "else", "clonei", "->", "vecsize_mangle", "=", "'b'", ";", "ret", "=", "1", ";", "}", "else", "{", "clonei", "->", "vecsize_mangle", "=", "\"bcd\"", "[", "num", "]", ";", "ret", "=", "3", ";", "}", "switch", "(", "clonei", "->", "vecsize_mangle", ")", "{", "case", "'b'", ":", "clonei", "->", "vecsize_int", "=", "128", ";", "clonei", "->", "vecsize_float", "=", "128", ";", "break", ";", "case", "'c'", ":", "clonei", "->", "vecsize_int", "=", "128", ";", "clonei", "->", "vecsize_float", "=", "256", ";", "break", ";", "case", "'d'", ":", "clonei", "->", "vecsize_int", "=", "256", ";", "clonei", "->", "vecsize_float", "=", "256", ";", "break", ";", "}", "if", "(", "clonei", "->", "simdlen", "==", "0", ")", "{", "if", "(", "SCALAR_INT_MODE_P", "(", "TYPE_MODE", "(", "base_type", ")", ")", ")", "clonei", "->", "simdlen", "=", "clonei", "->", "vecsize_int", ";", "else", "clonei", "->", "simdlen", "=", "clonei", "->", "vecsize_float", ";", "clonei", "->", "simdlen", "/=", "GET_MODE_BITSIZE", "(", "TYPE_MODE", "(", "base_type", ")", ")", ";", "if", "(", "clonei", "->", "simdlen", ">", "16", ")", "clonei", "->", "simdlen", "=", "16", ";", "}", "return", "ret", ";", "}", ""], "natrual_language": ["Set", "CLONEI-", ">", "vecsize_mangle", ",", "CLONEI-", ">", "vecsize_int", ",", "CLONEI-", ">", "vecsize_float", "and", "if", "CLONEI-", ">", "simdlen", "is", "0", ",", "also", "CLONEI-", ">", "simdlen", ".", "Return", "0", "if", "SIMD", "clones", "should", "n't", "be", "emitted", ",", "or", "number", "of", "vecsize_mangle", "variants", "that", "should", "be", "emitted", "."], "TS_V_token": ["i386", "1", "2", "16", "1", "0", "0", "\"unsupported simdlen %d\"", "0", "0", "\"unsupported return type %qT for simd\\n\"", "0", "0", "0", "\"unsupported argument type %qT for simd\\n\"", "0", "1", "\"bcd\"", "3", "128", "128", "128", "256", "256", "256", "0", "16", "16"], "File": "i3864", "Func": "ix86_simd_clone_compute_vecsize_and_simdlen", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38400, "Length": 447}
{"ground_truth": ["", "static", "int", "ix86_simd_clone_usable", "(", "struct", "cgraph_node", "*", "node", ")", "{", "switch", "(", "node", "->", "simdclone", "->", "vecsize_mangle", ")", "{", "case", "'b'", ":", "if", "(", "!", "TARGET_SSE2", ")", "return", "-", "1", ";", "if", "(", "!", "TARGET_AVX", ")", "return", "0", ";", "return", "TARGET_AVX2", "?", "2", ":", "1", ";", "case", "'c'", ":", "if", "(", "!", "TARGET_AVX", ")", "return", "-", "1", ";", "return", "TARGET_AVX2", "?", "1", ":", "0", ";", "break", ";", "case", "'d'", ":", "if", "(", "!", "TARGET_AVX2", ")", "return", "-", "1", ";", "return", "0", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["If", "SIMD", "clone", "NODE", "ca", "n't", "be", "used", "in", "a", "vectorized", "loop", "in", "current", "function", ",", "return", "-1", ",", "otherwise", "return", "a", "badness", "of", "using", "it", "(", "0", "if", "it", "is", "most", "desirable", "from", "vecsize_mangle", "point", "of", "view", ",", "1", "slightly", "less", "desirable", ",", "etc", ".", ")", "."], "TS_V_token": ["i386", "1", "0", "2", "1", "1", "1", "0", "1", "0"], "File": "i3864", "Func": "ix86_simd_clone_usable", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38401, "Length": 90}
{"ground_truth": ["", "static", "reg_class_t", "ix86_spill_class", "(", "reg_class_t", "rclass", ",", "machine_mode", "mode", ")", "{", "if", "(", "TARGET_SSE", "&&", "TARGET_GENERAL_REGS_SSE_SPILL", "&&", "!", "TARGET_MMX", "&&", "(", "mode", "==", "SImode", "||", "(", "TARGET_64BIT", "&&", "mode", "==", "DImode", ")", ")", "&&", "rclass", "!=", "NO_REGS", "&&", "INTEGER_CLASS_P", "(", "rclass", ")", ")", "return", "ALL_SSE_REGS", ";", "return", "NO_REGS", ";", "}", ""], "natrual_language": ["Return", "class", "of", "registers", "which", "could", "be", "used", "for", "pseudo", "of", "MODE", "and", "of", "class", "RCLASS", "for", "spilling", "instead", "of", "memory", ".", "Return", "NO_REGS", "if", "it", "is", "not", "possible", "or", "non-profitable", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_spill_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38402, "Length": 50}
{"ground_truth": ["", "void", "ix86_split_convert_uns_si_sse", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "vecmode", ";", "rtx", "value", ",", "large", ",", "zero_or_two31", ",", "input", ",", "two31", ",", "x", ";", "large", "=", "operands", "[", "1", "]", ";", "zero_or_two31", "=", "operands", "[", "2", "]", ";", "input", "=", "operands", "[", "3", "]", ";", "two31", "=", "operands", "[", "4", "]", ";", "vecmode", "=", "GET_MODE", "(", "large", ")", ";", "value", "=", "gen_rtx_REG", "(", "vecmode", ",", "REGNO", "(", "operands", "[", "0", "]", ")", ")", ";", "if", "(", "MEM_P", "(", "input", ")", ")", "{", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_vec_setv4sf_0", "(", "value", ",", "CONST0_RTX", "(", "V4SFmode", ")", ",", "input", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_loadlpd", "(", "value", ",", "CONST0_RTX", "(", "V2DFmode", ")", ",", "input", ")", ")", ";", "}", "else", "{", "input", "=", "gen_rtx_REG", "(", "vecmode", ",", "REGNO", "(", "input", ")", ")", ";", "emit_move_insn", "(", "value", ",", "CONST0_RTX", "(", "vecmode", ")", ")", ";", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_sse_movss", "(", "value", ",", "value", ",", "input", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_movsd", "(", "value", ",", "value", ",", "input", ")", ")", ";", "}", "emit_move_insn", "(", "large", ",", "two31", ")", ";", "emit_move_insn", "(", "zero_or_two31", ",", "MEM_P", "(", "two31", ")", "?", "large", ":", "two31", ")", ";", "x", "=", "gen_rtx_fmt_ee", "(", "LE", ",", "vecmode", ",", "large", ",", "value", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "large", ",", "x", ")", ")", ";", "x", "=", "gen_rtx_AND", "(", "vecmode", ",", "zero_or_two31", ",", "large", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "zero_or_two31", ",", "x", ")", ")", ";", "x", "=", "gen_rtx_MINUS", "(", "vecmode", ",", "value", ",", "zero_or_two31", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "value", ",", "x", ")", ")", ";", "large", "=", "gen_rtx_REG", "(", "V4SImode", ",", "REGNO", "(", "large", ")", ")", ";", "emit_insn", "(", "gen_ashlv4si3", "(", "large", ",", "large", ",", "GEN_INT", "(", "31", ")", ")", ")", ";", "x", "=", "gen_rtx_REG", "(", "V4SImode", ",", "REGNO", "(", "value", ")", ")", ";", "if", "(", "vecmode", "==", "V4SFmode", ")", "emit_insn", "(", "gen_fix_truncv4sfv4si2", "(", "x", ",", "value", ")", ")", ";", "else", "emit_insn", "(", "gen_sse2_cvttpd2dq", "(", "x", ",", "value", ")", ")", ";", "value", "=", "x", ";", "emit_insn", "(", "gen_xorv4si3", "(", "value", ",", "value", ",", "large", ")", ")", ";", "}", ""], "natrual_language": ["Post-reload", "splitter", "for", "converting", "an", "SF", "or", "DFmode", "value", "in", "an", "SSE", "register", "into", "an", "unsigned", "SImode", "."], "TS_V_token": ["i386", "1", "2", "3", "4", "0", "31"], "File": "i3864", "Func": "ix86_split_convert_uns_si_sse", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38403, "Length": 352}
{"ground_truth": ["", "void", "ix86_split_copysign_const", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "mask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "mask", "=", "operands", "[", "3", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "dest", "=", "simplify_gen_subreg", "(", "vmode", ",", "dest", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "if", "(", "op0", "!=", "CONST0_RTX", "(", "vmode", ")", ")", "{", "x", "=", "gen_rtx_IOR", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "}", "}", ""], "natrual_language": ["Deconstruct", "a", "copysign", "operation", "into", "bit", "masks", ".", "Operand", "0", "is", "known", "to", "be", "a", "constant", ",", "and", "so", "has", "already", "been", "expanded", "into", "a", "vector", "constant", "."], "TS_V_token": ["i386", "0", "1", "3", "0"], "File": "i3864", "Func": "ix86_split_copysign_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38404, "Length": 129}
{"ground_truth": ["", "void", "ix86_split_copysign_var", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "scratch", ",", "op0", ",", "op1", ",", "mask", ",", "nmask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "scratch", "=", "operands", "[", "1", "]", ";", "op0", "=", "operands", "[", "2", "]", ";", "op1", "=", "operands", "[", "3", "]", ";", "nmask", "=", "operands", "[", "4", "]", ";", "mask", "=", "operands", "[", "5", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "if", "(", "rtx_equal_p", "(", "op0", ",", "op1", ")", ")", "{", "emit_move_insn", "(", "dest", ",", "op0", ")", ";", "return", ";", "}", "if", "(", "REG_P", "(", "mask", ")", "&&", "REGNO", "(", "dest", ")", "==", "REGNO", "(", "mask", ")", ")", "{", "gcc_assert", "(", "REGNO", "(", "op1", ")", "==", "REGNO", "(", "scratch", ")", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "scratch", ",", "x", ")", ")", ";", "dest", "=", "mask", ";", "op0", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_NOT", "(", "vmode", ",", "dest", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "x", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "}", "else", "{", "if", "(", "REGNO", "(", "op1", ")", "==", "REGNO", "(", "scratch", ")", ")", "{", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "mask", ")", ";", "}", "else", "{", "gcc_assert", "(", "REGNO", "(", "mask", ")", "==", "REGNO", "(", "scratch", ")", ")", ";", "op1", "=", "simplify_gen_subreg", "(", "vmode", ",", "op1", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "op1", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "scratch", ",", "x", ")", ")", ";", "if", "(", "REGNO", "(", "op0", ")", "==", "REGNO", "(", "dest", ")", ")", "{", "dest", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "nmask", ")", ";", "}", "else", "{", "gcc_assert", "(", "REGNO", "(", "nmask", ")", "==", "REGNO", "(", "dest", ")", ")", ";", "dest", "=", "nmask", ";", "op0", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "}", "x", "=", "gen_rtx_IOR", "(", "vmode", ",", "dest", ",", "scratch", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "x", ")", ")", ";", "}", ""], "natrual_language": ["Deconstruct", "a", "copysign", "operation", "into", "bit", "masks", ".", "Operand", "0", "is", "variable", ",", "so", "we", "have", "to", "do", "two", "masks", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "4", "5", "0", "0", "0", "0"], "File": "i3864", "Func": "ix86_split_copysign_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38405, "Length": 407}
{"ground_truth": ["", "void", "ix86_split_fp_branch", "(", "enum", "rtx_code", "code", ",", "rtx", "op1", ",", "rtx", "op2", ",", "rtx", "target1", ",", "rtx", "target2", ",", "rtx", "tmp", ")", "{", "rtx", "condition", ";", "rtx", "i", ";", "if", "(", "target2", "!=", "pc_rtx", ")", "{", "std", "::", "swap", "(", "target1", ",", "target2", ")", ";", "code", "=", "reverse_condition_maybe_unordered", "(", "code", ")", ";", "}", "condition", "=", "ix86_expand_fp_compare", "(", "code", ",", "op1", ",", "op2", ",", "tmp", ")", ";", "i", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "pc_rtx", ",", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "condition", ",", "target1", ",", "target2", ")", ")", ")", ";", "if", "(", "split_branch_probability", ">=", "0", ")", "add_int_reg_note", "(", "i", ",", "REG_BR_PROB", ",", "split_branch_probability", ")", ";", "}", ""], "natrual_language": ["Split", "branch", "based", "on", "floating", "point", "condition", "."], "TS_V_token": ["i386", "0"], "File": "i3864", "Func": "ix86_split_fp_branch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38406, "Length": 105}
{"ground_truth": ["", "static", "void", "ix86_sse_copysign_to_positive", "(", "rtx", "result", ",", "rtx", "abs_value", ",", "rtx", "sign", ",", "rtx", "mask", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "sign", ")", ";", "rtx", "sgn", "=", "gen_reg_rtx", "(", "mode", ")", ";", "if", "(", "mask", "==", "NULL_RTX", ")", "{", "machine_mode", "vmode", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "else", "vmode", "=", "mode", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "VECTOR_MODE_P", "(", "mode", ")", ",", "false", ")", ";", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "rtx", "tmp", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ")", ";", "tmp", "=", "gen_rtx_VEC_SELECT", "(", "mode", ",", "mask", ",", "tmp", ")", ";", "mask", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "mask", ",", "tmp", ")", ")", ";", "}", "}", "else", "mask", "=", "gen_rtx_NOT", "(", "mode", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "sgn", ",", "gen_rtx_AND", "(", "mode", ",", "mask", ",", "sign", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "result", ",", "gen_rtx_IOR", "(", "mode", ",", "abs_value", ",", "sgn", ")", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "copysign", "from", "SIGN", "to", "the", "positive", "value", "ABS_VALUE", "storing", "in", "RESULT", ".", "If", "MASK", "is", "non-null", ",", "it", "shall", "be", "a", "mask", "to", "mask", "out", "the", "sign-bit", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "ix86_sse_copysign_to_positive", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38407, "Length": 188}
{"ground_truth": ["", "static", "rtx", "ix86_static_chain", "(", "const_tree", "fndecl_or_type", ",", "bool", "incoming_p", ")", "{", "unsigned", "regno", ";", "if", "(", "DECL_P", "(", "fndecl_or_type", ")", "&&", "!", "DECL_STATIC_CHAIN", "(", "fndecl_or_type", ")", ")", "return", "NULL", ";", "if", "(", "TARGET_64BIT", ")", "{", "regno", "=", "R10_REG", ";", "}", "else", "{", "const_tree", "fntype", ",", "fndecl", ";", "unsigned", "int", "ccvt", ";", "regno", "=", "CX_REG", ";", "if", "(", "TREE_CODE", "(", "fndecl_or_type", ")", "==", "FUNCTION_DECL", ")", "{", "fntype", "=", "TREE_TYPE", "(", "fndecl_or_type", ")", ";", "fndecl", "=", "fndecl_or_type", ";", "}", "else", "{", "fntype", "=", "fndecl_or_type", ";", "fndecl", "=", "NULL", ";", "}", "ccvt", "=", "ix86_get_callcvt", "(", "fntype", ")", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "{", "regno", "=", "AX_REG", ";", "}", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_THISCALL", ")", "!=", "0", ")", "{", "regno", "=", "AX_REG", ";", "}", "else", "if", "(", "ix86_function_regparm", "(", "fntype", ",", "fndecl", ")", "==", "3", ")", "{", "if", "(", "incoming_p", ")", "{", "if", "(", "fndecl", "==", "current_function_decl", ")", "ix86_static_chain_on_stack", "=", "true", ";", "return", "gen_frame_mem", "(", "SImode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "8", ")", ")", ";", "}", "regno", "=", "SI_REG", ";", "}", "}", "return", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Find", "a", "location", "for", "the", "static", "chain", "incoming", "to", "a", "nested", "function", ".", "This", "is", "a", "register", ",", "unless", "all", "free", "registers", "are", "used", "by", "arguments", "."], "TS_V_token": ["i386", "0", "0", "3", "8"], "File": "i3864", "Func": "ix86_static_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38408, "Length": 188}
{"ground_truth": ["", "static", "void", "ix86_store_bounds", "(", "rtx", "ptr", ",", "rtx", "slot", ",", "rtx", "bounds", ",", "rtx", "slot_no", ")", "{", "rtx", "addr", ";", "addr", "=", "ix86_get_arg_address_for_bt", "(", "slot", ",", "slot_no", ",", "stack_pointer_rtx", ")", ";", "if", "(", "!", "ptr", ")", "{", "gcc_assert", "(", "MEM_P", "(", "slot", ")", ")", ";", "ptr", "=", "copy_addr_to_reg", "(", "slot", ")", ";", "}", "gcc_assert", "(", "POINTER_BOUNDS_MODE_P", "(", "GET_MODE", "(", "bounds", ")", ")", ")", ";", "if", "(", "!", "register_operand", "(", "bounds", ",", "BNDmode", ")", ")", "bounds", "=", "copy_to_mode_reg", "(", "BNDmode", ",", "bounds", ")", ";", "emit_insn", "(", "BNDmode", "==", "BND64mode", "?", "gen_bnd64_stx", "(", "addr", ",", "ptr", ",", "bounds", ")", ":", "gen_bnd32_stx", "(", "addr", ",", "ptr", ",", "bounds", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "pass", "uses", "this", "hook", "to", "store", "BOUNDS", "for", "call", "argument", "PTR", "passed", "in", "SLOT", "in", "case", "BOUNDS", "are", "not", "passed", "in", "a", "register", ".", "If", "SLOT", "is", "a", "memory", ",", "then", "BOUNDS", "are", "stored", "as", "for", "regular", "pointer", "stored", "in", "memory", ".", "PTR", "may", "be", "NULL", "in", "case", "SLOT", "is", "a", "memory", ".", "In", "such", "case", "value", "of", "PTR", "(", "if", "required", ")", "may", "be", "loaded", "from", "SLOT", ".", "If", "SLOT", "is", "NULL", "or", "a", "register", "then", "SLOT_NO", "is", "an", "integer", "constant", "holding", "number", "of", "the", "target", "dependent", "special", "slot", "which", "should", "be", "used", "to", "store", "BOUNDS", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_store_bounds", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38409, "Length": 109}
{"ground_truth": ["", "static", "void", "ix86_store_returned_bounds", "(", "rtx", "slot", ",", "rtx", "bounds", ")", "{", "gcc_assert", "(", "REG_P", "(", "slot", ")", ")", ";", "emit_move_insn", "(", "slot", ",", "bounds", ")", ";", "}", ""], "natrual_language": ["Store", "BOUNDS", "returned", "by", "function", "into", "SLOT", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_store_returned_bounds", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38410, "Length": 27}
{"ground_truth": ["", "static", "bool", "ix86_swap_binary_operands_p", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src1", "=", "operands", "[", "1", "]", ";", "rtx", "src2", "=", "operands", "[", "2", "]", ";", "if", "(", "GET_RTX_CLASS", "(", "code", ")", "!=", "RTX_COMM_ARITH", ")", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "dst", ",", "src1", ")", ")", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "dst", ",", "src2", ")", ")", "return", "true", ";", "if", "(", "immediate_operand", "(", "src2", ",", "mode", ")", ")", "return", "false", ";", "if", "(", "immediate_operand", "(", "src1", ",", "mode", ")", ")", "return", "true", ";", "if", "(", "MEM_P", "(", "src2", ")", ")", "return", "false", ";", "if", "(", "MEM_P", "(", "src1", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Helper", "function", "of", "ix86_fixup_binary_operands", "to", "canonicalize", "operand", "order", ".", "Returns", "true", "if", "the", "operands", "should", "be", "swapped", "."], "TS_V_token": ["i386", "0", "1", "2"], "File": "i3864", "Func": "ix86_swap_binary_operands_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38411, "Length": 125}
{"ground_truth": ["", "static", "bool", "ix86_tieable_integer_mode_p", "(", "machine_mode", "mode", ")", "{", "switch", "(", "mode", ")", "{", "case", "HImode", ":", "case", "SImode", ":", "return", "true", ";", "case", "QImode", ":", "return", "TARGET_64BIT", "||", "!", "TARGET_PARTIAL_REG_STALL", ";", "case", "DImode", ":", "return", "TARGET_64BIT", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_modes_tieable_p", ".", "Return", "true", "if", "MODE", "is", "a", "tieable", "integer", "mode", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_tieable_integer_mode_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38412, "Length": 44}
{"ground_truth": ["", "static", "void", "ix86_trampoline_init", "(", "rtx", "m_tramp", ",", "tree", "fndecl", ",", "rtx", "chain_value", ")", "{", "rtx", "mem", ",", "fnaddr", ";", "int", "opcode", ";", "int", "offset", "=", "0", ";", "fnaddr", "=", "XEXP", "(", "DECL_RTL", "(", "fndecl", ")", ",", "0", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "int", "size", ";", "if", "(", "ptr_mode", "==", "SImode", "||", "x86_64_zext_immediate_operand", "(", "fnaddr", ",", "VOIDmode", ")", ")", "{", "fnaddr", "=", "copy_addr_to_reg", "(", "fnaddr", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "HImode", ",", "offset", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_int_mode", "(", "0xbb41", ",", "HImode", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "SImode", ",", "offset", "+", "2", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_lowpart", "(", "SImode", ",", "fnaddr", ")", ")", ";", "offset", "+=", "6", ";", "}", "else", "{", "mem", "=", "adjust_address", "(", "m_tramp", ",", "HImode", ",", "offset", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_int_mode", "(", "0xbb49", ",", "HImode", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "DImode", ",", "offset", "+", "2", ")", ";", "emit_move_insn", "(", "mem", ",", "fnaddr", ")", ";", "offset", "+=", "10", ";", "}", "if", "(", "ptr_mode", "==", "SImode", ")", "{", "opcode", "=", "0xba41", ";", "size", "=", "6", ";", "}", "else", "{", "opcode", "=", "0xba49", ";", "size", "=", "10", ";", "}", "mem", "=", "adjust_address", "(", "m_tramp", ",", "HImode", ",", "offset", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_int_mode", "(", "opcode", ",", "HImode", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "ptr_mode", ",", "offset", "+", "2", ")", ";", "emit_move_insn", "(", "mem", ",", "chain_value", ")", ";", "offset", "+=", "size", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "SImode", ",", "offset", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_int_mode", "(", "0x90e3ff49", ",", "SImode", ")", ")", ";", "offset", "+=", "4", ";", "}", "else", "{", "rtx", "disp", ",", "chain", ";", "chain", "=", "ix86_static_chain", "(", "fndecl", ",", "true", ")", ";", "if", "(", "REG_P", "(", "chain", ")", ")", "{", "switch", "(", "REGNO", "(", "chain", ")", ")", "{", "case", "AX_REG", ":", "opcode", "=", "0xb8", ";", "break", ";", "case", "CX_REG", ":", "opcode", "=", "0xb9", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "opcode", "=", "0x68", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "QImode", ",", "offset", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_int_mode", "(", "opcode", ",", "QImode", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "SImode", ",", "offset", "+", "1", ")", ";", "emit_move_insn", "(", "mem", ",", "chain_value", ")", ";", "offset", "+=", "5", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "QImode", ",", "offset", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_int_mode", "(", "0xe9", ",", "QImode", ")", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "SImode", ",", "offset", "+", "1", ")", ";", "offset", "+=", "5", ";", "disp", "=", "expand_binop", "(", "SImode", ",", "sub_optab", ",", "fnaddr", ",", "plus_constant", "(", "Pmode", ",", "XEXP", "(", "m_tramp", ",", "0", ")", ",", "offset", "-", "(", "MEM_P", "(", "chain", ")", "?", "1", ":", "0", ")", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "emit_move_insn", "(", "mem", ",", "disp", ")", ";", "}", "gcc_assert", "(", "offset", "<=", "TRAMPOLINE_SIZE", ")", ";", "if", "(", "CHECK_EXECUTE_STACK_ENABLED", ")", "emit_library_call", "(", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "\"__enable_execute_stack\"", ")", ",", "LCT_NORMAL", ",", "VOIDmode", ",", "1", ",", "XEXP", "(", "m_tramp", ",", "0", ")", ",", "Pmode", ")", ";", "}", ""], "natrual_language": ["Emit", "RTL", "insns", "to", "initialize", "the", "variable", "parts", "of", "a", "trampoline", ".", "FNDECL", "is", "the", "decl", "of", "the", "target", "address", ";", "M_TRAMP", "is", "a", "MEM", "for", "the", "trampoline", ",", "and", "CHAIN_VALUE", "is", "an", "RTX", "for", "the", "static", "chain", "to", "be", "passed", "to", "the", "target", "function", "."], "TS_V_token": ["i386", "0", "0", "0xbb41", "2", "6", "0xbb49", "2", "10", "0xba41", "6", "0xba49", "10", "2", "0x90e3ff49", "4", "0xb8", "0xb9", "0x68", "1", "5", "0xe9", "1", "5", "0", "1", "0", "1", "\"__enable_execute_stack\"", "1", "0"], "File": "i3864", "Func": "ix86_trampoline_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38413, "Length": 510}
{"ground_truth": ["", "static", "void", "ix86_update_stack_boundary", "(", "void", ")", "{", "ix86_incoming_stack_boundary", "=", "ix86_minimum_incoming_stack_boundary", "(", "false", ")", ";", "if", "(", "TARGET_64BIT", "&&", "cfun", "->", "stdarg", "&&", "crtl", "->", "stack_alignment_estimated", "<", "128", ")", "crtl", "->", "stack_alignment_estimated", "=", "128", ";", "}", ""], "natrual_language": ["Update", "incoming", "stack", "boundary", "and", "estimated", "stack", "alignment", "."], "TS_V_token": ["i386", "128", "128"], "File": "i3864", "Func": "ix86_update_stack_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38414, "Length": 35}
{"ground_truth": ["", "static", "inline", "bool", "ix86_using_red_zone", "(", "void", ")", "{", "return", "TARGET_RED_ZONE", "&&", "!", "TARGET_64BIT_MS_ABI", ";", "}", ""], "natrual_language": ["Return", "true", "if", "a", "red-zone", "is", "in", "use", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_using_red_zone", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38415, "Length": 15}
{"ground_truth": ["", "static", "rtx", "ix86_validate_address_register", "(", "rtx", "op", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "op", ")", ";", "if", "(", "mode", "!=", "SImode", "&&", "mode", "!=", "DImode", ")", "return", "NULL_RTX", ";", "if", "(", "REG_P", "(", "op", ")", ")", "return", "op", ";", "else", "if", "(", "GET_CODE", "(", "op", ")", "==", "SUBREG", ")", "{", "rtx", "reg", "=", "SUBREG_REG", "(", "op", ")", ";", "if", "(", "!", "REG_P", "(", "reg", ")", ")", "return", "NULL_RTX", ";", "mode", "=", "GET_MODE", "(", "reg", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "return", "NULL_RTX", ";", "if", "(", "register_no_elim_operand", "(", "reg", ",", "mode", ")", ")", "return", "reg", ";", "}", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["Determine", "if", "op", "is", "suitable", "RTX", "for", "an", "address", "register", ".", "Return", "naked", "register", "if", "a", "register", "or", "a", "register", "subreg", "is", "found", ",", "otherwise", "return", "NULL_RTX", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_validate_address_register", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38416, "Length": 105}
{"ground_truth": ["", "static", "bool", "ix86_valid_target_attribute_p", "(", "tree", "fndecl", ",", "tree", "ARG_UNUSED", "(", "name", ")", ",", "tree", "args", ",", "int", "ARG_UNUSED", "(", "flags", ")", ")", "{", "struct", "gcc_options", "func_options", ";", "tree", "new_target", ",", "new_optimize", ";", "bool", "ret", "=", "true", ";", "if", "(", "TREE_VALUE", "(", "args", ")", "&&", "TREE_CODE", "(", "TREE_VALUE", "(", "args", ")", ")", "==", "STRING_CST", "&&", "TREE_CHAIN", "(", "args", ")", "==", "NULL_TREE", "&&", "strcmp", "(", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "args", ")", ")", ",", "\"default\"", ")", "==", "0", ")", "return", "true", ";", "tree", "old_optimize", "=", "build_optimization_node", "(", "&", "global_options", ")", ";", "tree", "func_optimize", "=", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", ";", "if", "(", "!", "func_optimize", ")", "func_optimize", "=", "old_optimize", ";", "memset", "(", "&", "func_options", ",", "0", ",", "sizeof", "(", "func_options", ")", ")", ";", "init_options_struct", "(", "&", "func_options", ",", "NULL", ")", ";", "lang_hooks", ".", "init_options_struct", "(", "&", "func_options", ")", ";", "cl_optimization_restore", "(", "&", "func_options", ",", "TREE_OPTIMIZATION", "(", "func_optimize", ")", ")", ";", "cl_target_option_restore", "(", "&", "func_options", ",", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ")", ";", "new_target", "=", "ix86_valid_target_attribute_tree", "(", "args", ",", "&", "func_options", ",", "&", "global_options_set", ")", ";", "new_optimize", "=", "build_optimization_node", "(", "&", "func_options", ")", ";", "if", "(", "new_target", "==", "error_mark_node", ")", "ret", "=", "false", ";", "else", "if", "(", "fndecl", "&&", "new_target", ")", "{", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "=", "new_target", ";", "if", "(", "old_optimize", "!=", "new_optimize", ")", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", "=", "new_optimize", ";", "}", "return", "ret", ";", "}", ""], "natrual_language": ["Hook", "to", "validate", "attribute", "(", "(", "target", "(", "``", "string", "''", ")", ")", ")", "."], "TS_V_token": ["i386", "\"default\"", "0", "0"], "File": "i3864", "Func": "ix86_valid_target_attribute_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38417, "Length": 220}
{"ground_truth": ["", "tree", "ix86_valid_target_attribute_tree", "(", "tree", "args", ",", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", "opts_set", ")", "{", "const", "char", "*", "orig_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "const", "char", "*", "orig_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "enum", "fpmath_unit", "orig_fpmath_set", "=", "opts_set", "->", "x_ix86_fpmath", ";", "int", "orig_tune_defaulted", "=", "ix86_tune_defaulted", ";", "int", "orig_arch_specified", "=", "ix86_arch_specified", ";", "char", "*", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_MAX", "]", "=", "{", "NULL", ",", "NULL", "}", ";", "tree", "t", "=", "NULL_TREE", ";", "int", "i", ";", "struct", "cl_target_option", "*", "def", "=", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ";", "struct", "gcc_options", "enum_opts_set", ";", "memset", "(", "&", "enum_opts_set", ",", "0", ",", "sizeof", "(", "enum_opts_set", ")", ")", ";", "if", "(", "!", "ix86_valid_target_attribute_inner_p", "(", "args", ",", "option_strings", ",", "opts", ",", "opts_set", ",", "&", "enum_opts_set", ")", ")", "return", "error_mark_node", ";", "if", "(", "opts", "->", "x_ix86_isa_flags", "!=", "def", "->", "x_ix86_isa_flags", "||", "opts", "->", "x_target_flags", "!=", "def", "->", "x_target_flags", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", "||", "enum_opts_set", ".", "x_ix86_fpmath", ")", "{", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", "opts", "->", "x_ix86_arch_string", "=", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ";", "else", "if", "(", "!", "orig_arch_specified", ")", "opts", "->", "x_ix86_arch_string", "=", "NULL", ";", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", "opts", "->", "x_ix86_tune_string", "=", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ";", "else", "if", "(", "orig_tune_defaulted", ")", "opts", "->", "x_ix86_tune_string", "=", "NULL", ";", "if", "(", "enum_opts_set", ".", "x_ix86_fpmath", ")", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "else", "if", "(", "!", "TARGET_64BIT_P", "(", "opts", "->", "x_ix86_isa_flags", ")", "&&", "TARGET_SSE_P", "(", "opts", "->", "x_ix86_isa_flags", ")", ")", "{", "opts", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "(", "FPMATH_SSE", "|", "FPMATH_387", ")", ";", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "}", "ix86_option_override_internal", "(", "false", ",", "opts", ",", "opts_set", ")", ";", "ix86_add_new_builtins", "(", "opts", "->", "x_ix86_isa_flags", ")", ";", "t", "=", "build_target_option_node", "(", "opts", ")", ";", "opts", "->", "x_ix86_arch_string", "=", "orig_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "orig_tune_string", ";", "opts_set", "->", "x_ix86_fpmath", "=", "orig_fpmath_set", ";", "for", "(", "i", "=", "0", ";", "i", "<", "IX86_FUNCTION_SPECIFIC_MAX", ";", "i", "++", ")", "free", "(", "option_strings", "[", "i", "]", ")", ";", "}", "return", "t", ";", "}", ""], "natrual_language": ["Return", "a", "TARGET_OPTION_NODE", "tree", "of", "the", "target", "options", "listed", "or", "NULL", "."], "TS_V_token": ["i386", "0", "1", "1", "0"], "File": "i3864", "Func": "ix86_valid_target_attribute_tree", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38418, "Length": 336}
{"ground_truth": ["", "static", "tree", "ix86_veclibabi_acml", "(", "enum", "built_in_function", "fn", ",", "tree", "type_out", ",", "tree", "type_in", ")", "{", "char", "name", "[", "20", "]", "=", "\"__vr.._\"", ";", "tree", "fntype", ",", "new_fndecl", ",", "args", ";", "unsigned", "arity", ";", "const", "char", "*", "bname", ";", "machine_mode", "el_mode", ",", "in_mode", ";", "int", "n", ",", "in_n", ";", "if", "(", "!", "TARGET_64BIT", "||", "!", "flag_unsafe_math_optimizations", ")", "return", "NULL_TREE", ";", "el_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_out", ")", ")", ";", "n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_out", ")", ";", "in_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_in", ")", ")", ";", "in_n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_in", ")", ";", "if", "(", "el_mode", "!=", "in_mode", "||", "n", "!=", "in_n", ")", "return", "NULL_TREE", ";", "switch", "(", "fn", ")", "{", "case", "BUILT_IN_SIN", ":", "case", "BUILT_IN_COS", ":", "case", "BUILT_IN_EXP", ":", "case", "BUILT_IN_LOG", ":", "case", "BUILT_IN_LOG2", ":", "case", "BUILT_IN_LOG10", ":", "name", "[", "4", "]", "=", "'d'", ";", "name", "[", "5", "]", "=", "'2'", ";", "if", "(", "el_mode", "!=", "DFmode", "||", "n", "!=", "2", ")", "return", "NULL_TREE", ";", "break", ";", "case", "BUILT_IN_SINF", ":", "case", "BUILT_IN_COSF", ":", "case", "BUILT_IN_EXPF", ":", "case", "BUILT_IN_POWF", ":", "case", "BUILT_IN_LOGF", ":", "case", "BUILT_IN_LOG2F", ":", "case", "BUILT_IN_LOG10F", ":", "name", "[", "4", "]", "=", "'s'", ";", "name", "[", "5", "]", "=", "'4'", ";", "if", "(", "el_mode", "!=", "SFmode", "||", "n", "!=", "4", ")", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "bname", "=", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "builtin_decl_implicit", "(", "fn", ")", ")", ")", ";", "sprintf", "(", "name", "+", "7", ",", "\"%s\"", ",", "bname", "+", "10", ")", ";", "arity", "=", "0", ";", "for", "(", "args", "=", "DECL_ARGUMENTS", "(", "builtin_decl_implicit", "(", "fn", ")", ")", ";", "args", ";", "args", "=", "TREE_CHAIN", "(", "args", ")", ")", "arity", "++", ";", "if", "(", "arity", "==", "1", ")", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "NULL", ")", ";", "else", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "type_in", ",", "NULL", ")", ";", "new_fndecl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "fntype", ")", ";", "TREE_PUBLIC", "(", "new_fndecl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "new_fndecl", ")", "=", "1", ";", "DECL_IS_NOVOPS", "(", "new_fndecl", ")", "=", "1", ";", "TREE_READONLY", "(", "new_fndecl", ")", "=", "1", ";", "return", "new_fndecl", ";", "}", ""], "natrual_language": ["Handler", "for", "an", "ACML-style", "interface", "to", "a", "library", "with", "vectorized", "intrinsics", "."], "TS_V_token": ["i386", "20", "\"__vr.._\"", "4", "5", "2", "4", "5", "4", "7", "\"%s\"", "10", "0", "1", "1", "1", "1", "1"], "File": "i3864", "Func": "ix86_veclibabi_acml", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38419, "Length": 347}
{"ground_truth": ["", "static", "tree", "ix86_veclibabi_svml", "(", "enum", "built_in_function", "fn", ",", "tree", "type_out", ",", "tree", "type_in", ")", "{", "char", "name", "[", "20", "]", ";", "tree", "fntype", ",", "new_fndecl", ",", "args", ";", "unsigned", "arity", ";", "const", "char", "*", "bname", ";", "machine_mode", "el_mode", ",", "in_mode", ";", "int", "n", ",", "in_n", ";", "if", "(", "!", "flag_unsafe_math_optimizations", ")", "return", "NULL_TREE", ";", "el_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_out", ")", ")", ";", "n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_out", ")", ";", "in_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_in", ")", ")", ";", "in_n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_in", ")", ";", "if", "(", "el_mode", "!=", "in_mode", "||", "n", "!=", "in_n", ")", "return", "NULL_TREE", ";", "switch", "(", "fn", ")", "{", "case", "BUILT_IN_EXP", ":", "case", "BUILT_IN_LOG", ":", "case", "BUILT_IN_LOG10", ":", "case", "BUILT_IN_POW", ":", "case", "BUILT_IN_TANH", ":", "case", "BUILT_IN_TAN", ":", "case", "BUILT_IN_ATAN", ":", "case", "BUILT_IN_ATAN2", ":", "case", "BUILT_IN_ATANH", ":", "case", "BUILT_IN_CBRT", ":", "case", "BUILT_IN_SINH", ":", "case", "BUILT_IN_SIN", ":", "case", "BUILT_IN_ASINH", ":", "case", "BUILT_IN_ASIN", ":", "case", "BUILT_IN_COSH", ":", "case", "BUILT_IN_COS", ":", "case", "BUILT_IN_ACOSH", ":", "case", "BUILT_IN_ACOS", ":", "if", "(", "el_mode", "!=", "DFmode", "||", "n", "!=", "2", ")", "return", "NULL_TREE", ";", "break", ";", "case", "BUILT_IN_EXPF", ":", "case", "BUILT_IN_LOGF", ":", "case", "BUILT_IN_LOG10F", ":", "case", "BUILT_IN_POWF", ":", "case", "BUILT_IN_TANHF", ":", "case", "BUILT_IN_TANF", ":", "case", "BUILT_IN_ATANF", ":", "case", "BUILT_IN_ATAN2F", ":", "case", "BUILT_IN_ATANHF", ":", "case", "BUILT_IN_CBRTF", ":", "case", "BUILT_IN_SINHF", ":", "case", "BUILT_IN_SINF", ":", "case", "BUILT_IN_ASINHF", ":", "case", "BUILT_IN_ASINF", ":", "case", "BUILT_IN_COSHF", ":", "case", "BUILT_IN_COSF", ":", "case", "BUILT_IN_ACOSHF", ":", "case", "BUILT_IN_ACOSF", ":", "if", "(", "el_mode", "!=", "SFmode", "||", "n", "!=", "4", ")", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "bname", "=", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "builtin_decl_implicit", "(", "fn", ")", ")", ")", ";", "if", "(", "fn", "==", "BUILT_IN_LOGF", ")", "strcpy", "(", "name", ",", "\"vmlsLn4\"", ")", ";", "else", "if", "(", "fn", "==", "BUILT_IN_LOG", ")", "strcpy", "(", "name", ",", "\"vmldLn2\"", ")", ";", "else", "if", "(", "n", "==", "4", ")", "{", "sprintf", "(", "name", ",", "\"vmls%s\"", ",", "bname", "+", "10", ")", ";", "name", "[", "strlen", "(", "name", ")", "-", "1", "]", "=", "'4'", ";", "}", "else", "sprintf", "(", "name", ",", "\"vmld%s2\"", ",", "bname", "+", "10", ")", ";", "name", "[", "4", "]", "&=", "~", "0x20", ";", "arity", "=", "0", ";", "for", "(", "args", "=", "DECL_ARGUMENTS", "(", "builtin_decl_implicit", "(", "fn", ")", ")", ";", "args", ";", "args", "=", "TREE_CHAIN", "(", "args", ")", ")", "arity", "++", ";", "if", "(", "arity", "==", "1", ")", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "NULL", ")", ";", "else", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "type_in", ",", "NULL", ")", ";", "new_fndecl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "fntype", ")", ";", "TREE_PUBLIC", "(", "new_fndecl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "new_fndecl", ")", "=", "1", ";", "DECL_IS_NOVOPS", "(", "new_fndecl", ")", "=", "1", ";", "TREE_READONLY", "(", "new_fndecl", ")", "=", "1", ";", "return", "new_fndecl", ";", "}", ""], "natrual_language": ["Handler", "for", "an", "SVML-style", "interface", "to", "a", "library", "with", "vectorized", "intrinsics", "."], "TS_V_token": ["i386", "20", "2", "4", "\"vmlsLn4\"", "\"vmldLn2\"", "4", "\"vmls%s\"", "10", "1", "\"vmld%s2\"", "10", "4", "0x20", "0", "1", "1", "1", "1", "1"], "File": "i3864", "Func": "ix86_veclibabi_svml", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38420, "Length": 449}
{"ground_truth": ["", "static", "tree", "ix86_vectorize_builtin_gather", "(", "const_tree", "mem_vectype", ",", "const_tree", "index_type", ",", "int", "scale", ")", "{", "bool", "si", ";", "enum", "ix86_builtins", "code", ";", "if", "(", "!", "TARGET_AVX2", ")", "return", "NULL_TREE", ";", "if", "(", "(", "TREE_CODE", "(", "index_type", ")", "!=", "INTEGER_TYPE", "&&", "!", "POINTER_TYPE_P", "(", "index_type", ")", ")", "||", "(", "TYPE_MODE", "(", "index_type", ")", "!=", "SImode", "&&", "TYPE_MODE", "(", "index_type", ")", "!=", "DImode", ")", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", ">", "POINTER_SIZE", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", "<", "POINTER_SIZE", "&&", "TYPE_UNSIGNED", "(", "index_type", ")", ")", "return", "NULL_TREE", ";", "if", "(", "scale", "<=", "0", "||", "scale", ">", "8", "||", "(", "scale", "&", "(", "scale", "-", "1", ")", ")", "!=", "0", ")", "return", "NULL_TREE", ";", "si", "=", "TYPE_MODE", "(", "index_type", ")", "==", "SImode", ";", "switch", "(", "TYPE_MODE", "(", "mem_vectype", ")", ")", "{", "case", "V2DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV2DF", ":", "IX86_BUILTIN_GATHER3DIV2DF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV2DF", ":", "IX86_BUILTIN_GATHERDIV2DF", ";", "break", ";", "case", "V4DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV4DF", ":", "IX86_BUILTIN_GATHER3DIV4DF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERALTSIV4DF", ":", "IX86_BUILTIN_GATHERDIV4DF", ";", "break", ";", "case", "V2DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV2DI", ":", "IX86_BUILTIN_GATHER3DIV2DI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV2DI", ":", "IX86_BUILTIN_GATHERDIV2DI", ";", "break", ";", "case", "V4DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV4DI", ":", "IX86_BUILTIN_GATHER3DIV4DI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERALTSIV4DI", ":", "IX86_BUILTIN_GATHERDIV4DI", ";", "break", ";", "case", "V4SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV4SF", ":", "IX86_BUILTIN_GATHER3DIV4SF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV4SF", ":", "IX86_BUILTIN_GATHERDIV4SF", ";", "break", ";", "case", "V8SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV8SF", ":", "IX86_BUILTIN_GATHER3ALTDIV8SF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV8SF", ":", "IX86_BUILTIN_GATHERALTDIV8SF", ";", "break", ";", "case", "V4SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV4SI", ":", "IX86_BUILTIN_GATHER3DIV4SI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV4SI", ":", "IX86_BUILTIN_GATHERDIV4SI", ";", "break", ";", "case", "V8SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV8SI", ":", "IX86_BUILTIN_GATHER3ALTDIV8SI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV8SI", ":", "IX86_BUILTIN_GATHERALTDIV8SI", ";", "break", ";", "case", "V8DFmode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV8DF", ":", "IX86_BUILTIN_GATHER3DIV8DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "V8DImode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV8DI", ":", "IX86_BUILTIN_GATHER3DIV8DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "V16SFmode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV16SF", ":", "IX86_BUILTIN_GATHER3ALTDIV16SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "V16SImode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV16SI", ":", "IX86_BUILTIN_GATHER3ALTDIV16SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "return", "ix86_get_builtin", "(", "code", ")", ";", "}", ""], "natrual_language": ["Returns", "a", "decl", "of", "a", "function", "that", "implements", "gather", "load", "with", "memory", "type", "MEM_VECTYPE", "and", "index", "type", "INDEX_VECTYPE", "and", "SCALE", ".", "Return", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "0", "8", "1", "0"], "File": "i3864", "Func": "ix86_vectorize_builtin_gather", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38421, "Length": 441}
{"ground_truth": ["", "static", "bool", "ix86_vectorize_vec_perm_const_ok", "(", "machine_mode", "vmode", ",", "const", "unsigned", "char", "*", "sel", ")", "{", "struct", "expand_vec_perm_d", "d", ";", "unsigned", "int", "i", ",", "nelt", ",", "which", ";", "bool", "ret", ";", "d", ".", "vmode", "=", "vmode", ";", "d", ".", "nelt", "=", "nelt", "=", "GET_MODE_NUNITS", "(", "d", ".", "vmode", ")", ";", "d", ".", "testing_p", "=", "true", ";", "switch", "(", "d", ".", "vmode", ")", "{", "case", "V16SFmode", ":", "case", "V16SImode", ":", "case", "V8DImode", ":", "case", "V8DFmode", ":", "if", "(", "TARGET_AVX512F", ")", "return", "true", ";", "break", ";", "case", "V32HImode", ":", "if", "(", "TARGET_AVX512BW", ")", "return", "true", ";", "break", ";", "case", "V64QImode", ":", "if", "(", "TARGET_AVX512BW", ")", "return", "true", ";", "break", ";", "case", "V8SImode", ":", "case", "V8SFmode", ":", "case", "V4DFmode", ":", "case", "V4DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "return", "true", ";", "break", ";", "case", "V16HImode", ":", "if", "(", "TARGET_AVX2", ")", "return", "true", ";", "break", ";", "case", "V32QImode", ":", "if", "(", "TARGET_AVX2", ")", "return", "true", ";", "break", ";", "case", "V4SImode", ":", "case", "V4SFmode", ":", "case", "V8HImode", ":", "case", "V16QImode", ":", "if", "(", "TARGET_XOP", ")", "return", "true", ";", "if", "(", "TARGET_SSSE3", ")", "return", "true", ";", "break", ";", "case", "V2DImode", ":", "case", "V2DFmode", ":", "return", "true", ";", "default", ":", "return", "false", ";", "}", "memcpy", "(", "d", ".", "perm", ",", "sel", ",", "nelt", ")", ";", "for", "(", "i", "=", "which", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "unsigned", "char", "e", "=", "d", ".", "perm", "[", "i", "]", ";", "gcc_assert", "(", "e", "<", "2", "*", "nelt", ")", ";", "which", "|=", "(", "e", "<", "nelt", "?", "1", ":", "2", ")", ";", "}", "if", "(", "which", "==", "2", ")", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "d", ".", "perm", "[", "i", "]", "-=", "nelt", ";", "d", ".", "one_operand_p", "=", "(", "which", "!=", "3", ")", ";", "if", "(", "d", ".", "one_operand_p", "&&", "(", "d", ".", "vmode", "==", "V4SFmode", "||", "d", ".", "vmode", "==", "V4SImode", ")", ")", "return", "true", ";", "d", ".", "target", "=", "gen_raw_REG", "(", "d", ".", "vmode", ",", "LAST_VIRTUAL_REGISTER", "+", "1", ")", ";", "d", ".", "op1", "=", "d", ".", "op0", "=", "gen_raw_REG", "(", "d", ".", "vmode", ",", "LAST_VIRTUAL_REGISTER", "+", "2", ")", ";", "if", "(", "!", "d", ".", "one_operand_p", ")", "d", ".", "op1", "=", "gen_raw_REG", "(", "d", ".", "vmode", ",", "LAST_VIRTUAL_REGISTER", "+", "3", ")", ";", "start_sequence", "(", ")", ";", "ret", "=", "ix86_expand_vec_perm_const_1", "(", "&", "d", ")", ";", "end_sequence", "(", ")", ";", "return", "ret", ";", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.vec_perm_const_ok", "."], "TS_V_token": ["i386", "0", "2", "1", "2", "2", "0", "3", "1", "2", "3"], "File": "i3864", "Func": "ix86_vectorize_vec_perm_const_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38422, "Length": 391}
{"ground_truth": ["", "static", "bool", "ix86_vector_duplicate_value", "(", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "val", ")", "{", "bool", "ok", ";", "rtx_insn", "*", "insn", ";", "rtx", "dup", ";", "dup", "=", "gen_rtx_VEC_DUPLICATE", "(", "mode", ",", "val", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "target", ",", "dup", ")", ")", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "{", "rtx_insn", "*", "seq", ";", "start_sequence", "(", ")", ";", "XEXP", "(", "dup", ",", "0", ")", "=", "force_reg", "(", "GET_MODE_INNER", "(", "mode", ")", ",", "val", ")", ";", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "if", "(", "seq", ")", "emit_insn_before", "(", "seq", ",", "insn", ")", ";", "ok", "=", "recog_memoized", "(", "insn", ")", ">=", "0", ";", "gcc_assert", "(", "ok", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init_duplicate", ".", "Tries", "to", "fill", "target", "with", "val", "via", "vec_duplicate", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3864", "Func": "ix86_vector_duplicate_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38423, "Length": 122}
{"ground_truth": ["", "static", "bool", "ix86_vector_mode_supported_p", "(", "machine_mode", "mode", ")", "{", "if", "(", "TARGET_SSE", "&&", "VALID_SSE_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_SSE2", "&&", "VALID_SSE2_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX512F", "&&", "VALID_AVX512F_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_MMX", "&&", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_3DNOW", "&&", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Implements", "target", "hook", "vector_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "ix86_vector_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38424, "Length": 84}
{"ground_truth": ["", "static", "rtx", "legitimize_pe_coff_symbol", "(", "rtx", "addr", ",", "bool", "inreg", ")", "{", "if", "(", "!", "TARGET_PECOFF", ")", "return", "NULL_RTX", ";", "if", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", ")", "{", "if", "(", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "addr", ")", ")", "return", "legitimize_dllimport_symbol", "(", "addr", ",", "inreg", ")", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", "&&", "GET_CODE", "(", "XEXP", "(", "addr", ",", "0", ")", ")", "==", "PLUS", "&&", "GET_CODE", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", ")", "{", "rtx", "t", "=", "legitimize_dllimport_symbol", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ",", "inreg", ")", ";", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "t", ",", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "1", ")", ")", ";", "}", "}", "if", "(", "ix86_cmodel", "!=", "CM_LARGE_PIC", "&&", "ix86_cmodel", "!=", "CM_MEDIUM_PIC", ")", "return", "NULL_RTX", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", "&&", "!", "is_imported_p", "(", "addr", ")", "&&", "SYMBOL_REF_EXTERNAL_P", "(", "addr", ")", "&&", "SYMBOL_REF_DECL", "(", "addr", ")", ")", "return", "legitimize_pe_coff_extern_decl", "(", "addr", ",", "inreg", ")", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", "&&", "GET_CODE", "(", "XEXP", "(", "addr", ",", "0", ")", ")", "==", "PLUS", "&&", "GET_CODE", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", "==", "SYMBOL_REF", "&&", "!", "is_imported_p", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", "&&", "SYMBOL_REF_EXTERNAL_P", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", "&&", "SYMBOL_REF_DECL", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", ")", "{", "rtx", "t", "=", "legitimize_pe_coff_extern_decl", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ",", "inreg", ")", ";", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "t", ",", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "1", ")", ")", ";", "}", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["Expand", "SYMBOL", "into", "its", "corresponding", "dllimport", "or", "refptr", "symbol", ".", "WANT_REG", "is", "true", "if", "we", "require", "the", "result", "be", "a", "register", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i3864", "Func": "legitimize_pe_coff_symbol", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38425, "Length": 318}
{"ground_truth": ["", "static", "tree", "make_attribute", "(", "const", "char", "*", "name", ",", "const", "char", "*", "arg_name", ",", "tree", "chain", ")", "{", "tree", "attr_name", ";", "tree", "attr_arg_name", ";", "tree", "attr_args", ";", "tree", "attr", ";", "attr_name", "=", "get_identifier", "(", "name", ")", ";", "attr_arg_name", "=", "build_string", "(", "strlen", "(", "arg_name", ")", ",", "arg_name", ")", ";", "attr_args", "=", "tree_cons", "(", "NULL_TREE", ",", "attr_arg_name", ",", "NULL_TREE", ")", ";", "attr", "=", "tree_cons", "(", "attr_name", ",", "attr_args", ",", "chain", ")", ";", "return", "attr", ";", "}", ""], "natrual_language": ["Makes", "a", "function", "attribute", "of", "the", "form", "NAME", "(", "ARG_NAME", ")", "and", "chains", "it", "to", "CHAIN", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "make_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38426, "Length": 75}
{"ground_truth": ["", "static", "tree", "make_dispatcher_decl", "(", "const", "tree", "decl", ")", "{", "tree", "func_decl", ";", "char", "*", "func_name", ";", "tree", "fn_type", ",", "func_type", ";", "bool", "is_uniq", "=", "false", ";", "if", "(", "TREE_PUBLIC", "(", "decl", ")", "==", "0", ")", "is_uniq", "=", "true", ";", "func_name", "=", "make_name", "(", "decl", ",", "\"ifunc\"", ",", "is_uniq", ")", ";", "fn_type", "=", "TREE_TYPE", "(", "decl", ")", ";", "func_type", "=", "build_function_type", "(", "TREE_TYPE", "(", "fn_type", ")", ",", "TYPE_ARG_TYPES", "(", "fn_type", ")", ")", ";", "func_decl", "=", "build_fn_decl", "(", "func_name", ",", "func_type", ")", ";", "XDELETEVEC", "(", "func_name", ")", ";", "TREE_USED", "(", "func_decl", ")", "=", "1", ";", "DECL_CONTEXT", "(", "func_decl", ")", "=", "NULL_TREE", ";", "DECL_INITIAL", "(", "func_decl", ")", "=", "error_mark_node", ";", "DECL_ARTIFICIAL", "(", "func_decl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "func_decl", ")", "=", "1", ";", "TREE_PUBLIC", "(", "func_decl", ")", "=", "1", ";", "return", "func_decl", ";", "}", ""], "natrual_language": ["Make", "a", "dispatcher", "declaration", "for", "the", "multi-versioned", "function", "DECL", ".", "Calls", "to", "DECL", "function", "will", "be", "replaced", "with", "calls", "to", "the", "dispatcher", "by", "the", "front-end", ".", "Return", "the", "decl", "created", "."], "TS_V_token": ["i386", "0", "\"ifunc\"", "1", "1", "1", "1"], "File": "i3864", "Func": "make_dispatcher_decl", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38427, "Length": 132}
{"ground_truth": ["", "static", "char", "*", "make_name", "(", "tree", "decl", ",", "const", "char", "*", "suffix", ",", "bool", "make_unique", ")", "{", "char", "*", "global_var_name", ";", "int", "name_len", ";", "const", "char", "*", "name", ";", "const", "char", "*", "unique_name", "=", "NULL", ";", "name", "=", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "if", "(", "make_unique", ")", "unique_name", "=", "IDENTIFIER_POINTER", "(", "get_file_function_name", "(", "\"\\0\"", ")", ")", ";", "name_len", "=", "strlen", "(", "name", ")", "+", "strlen", "(", "suffix", ")", "+", "2", ";", "if", "(", "make_unique", ")", "name_len", "+=", "strlen", "(", "unique_name", ")", "+", "1", ";", "global_var_name", "=", "XNEWVEC", "(", "char", ",", "name_len", ")", ";", "if", "(", "make_unique", ")", "snprintf", "(", "global_var_name", ",", "name_len", ",", "\"%s.%s.%s\"", ",", "name", ",", "unique_name", ",", "suffix", ")", ";", "else", "snprintf", "(", "global_var_name", ",", "name_len", ",", "\"%s.%s\"", ",", "name", ",", "suffix", ")", ";", "return", "global_var_name", ";", "}", ""], "natrual_language": ["Return", "a", "new", "name", "by", "appending", "SUFFIX", "to", "the", "DECL", "name", ".", "If", "make_unique", "is", "true", ",", "append", "the", "full", "path", "name", "of", "the", "source", "file", "."], "TS_V_token": ["i386", "\"\\0\"", "2", "1", "\"%s.%s.%s\"", "\"%s.%s\""], "File": "i3864", "Func": "make_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38428, "Length": 133}
{"ground_truth": ["", "static", "tree", "make_resolver_func", "(", "const", "tree", "default_decl", ",", "const", "tree", "dispatch_decl", ",", "basic_block", "*", "empty_bb", ")", "{", "char", "*", "resolver_name", ";", "tree", "decl", ",", "type", ",", "decl_name", ",", "t", ";", "bool", "is_uniq", "=", "false", ";", "if", "(", "TREE_PUBLIC", "(", "default_decl", ")", "==", "0", ")", "is_uniq", "=", "true", ";", "resolver_name", "=", "make_name", "(", "default_decl", ",", "\"resolver\"", ",", "is_uniq", ")", ";", "type", "=", "build_function_type_list", "(", "ptr_type_node", ",", "NULL_TREE", ")", ";", "decl", "=", "build_fn_decl", "(", "resolver_name", ",", "type", ")", ";", "decl_name", "=", "get_identifier", "(", "resolver_name", ")", ";", "SET_DECL_ASSEMBLER_NAME", "(", "decl", ",", "decl_name", ")", ";", "DECL_NAME", "(", "decl", ")", "=", "decl_name", ";", "TREE_USED", "(", "decl", ")", "=", "1", ";", "DECL_ARTIFICIAL", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "0", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "1", ";", "DECL_UNINLINABLE", "(", "decl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "decl", ")", "=", "0", ";", "DECL_EXTERNAL", "(", "dispatch_decl", ")", "=", "0", ";", "DECL_CONTEXT", "(", "decl", ")", "=", "NULL_TREE", ";", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "DECL_STATIC_CONSTRUCTOR", "(", "decl", ")", "=", "0", ";", "if", "(", "DECL_COMDAT_GROUP", "(", "default_decl", ")", "||", "TREE_PUBLIC", "(", "default_decl", ")", ")", "{", "DECL_COMDAT", "(", "decl", ")", "=", "1", ";", "make_decl_one_only", "(", "decl", ",", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "}", "t", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "ptr_type_node", ")", ";", "DECL_ARTIFICIAL", "(", "t", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "t", ")", "=", "1", ";", "DECL_RESULT", "(", "decl", ")", "=", "t", ";", "gimplify_function_tree", "(", "decl", ")", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "decl", ")", ")", ";", "*", "empty_bb", "=", "init_lowered_empty_function", "(", "decl", ",", "false", ",", "0", ")", ";", "cgraph_node", "::", "add_new_function", "(", "decl", ",", "true", ")", ";", "symtab", "->", "call_cgraph_insertion_hooks", "(", "cgraph_node", "::", "get_create", "(", "decl", ")", ")", ";", "pop_cfun", "(", ")", ";", "gcc_assert", "(", "dispatch_decl", "!=", "NULL", ")", ";", "DECL_ATTRIBUTES", "(", "dispatch_decl", ")", "=", "make_attribute", "(", "\"ifunc\"", ",", "resolver_name", ",", "DECL_ATTRIBUTES", "(", "dispatch_decl", ")", ")", ";", "cgraph_node", "::", "create_same_body_alias", "(", "dispatch_decl", ",", "decl", ")", ";", "XDELETEVEC", "(", "resolver_name", ")", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Make", "the", "resolver", "function", "decl", "to", "dispatch", "the", "versions", "of", "a", "multi-", "versioned", "function", ",", "DEFAULT_DECL", ".", "Create", "an", "empty", "basic", "block", "in", "the", "resolver", "and", "store", "the", "pointer", "in", "EMPTY_BB", ".", "Return", "the", "decl", "of", "the", "resolver", "function", "."], "TS_V_token": ["i386", "0", "\"resolver\"", "1", "1", "0", "1", "1", "0", "0", "0", "1", "1", "1", "0", "\"ifunc\""], "File": "i3864", "Func": "make_resolver_func", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38429, "Length": 328}
{"ground_truth": ["", "int", "memory_address_length", "(", "rtx", "addr", ",", "bool", "lea", ")", "{", "struct", "ix86_address", "parts", ";", "rtx", "base", ",", "index", ",", "disp", ";", "int", "len", ";", "int", "ok", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PRE_DEC", "||", "GET_CODE", "(", "addr", ")", "==", "POST_INC", "||", "GET_CODE", "(", "addr", ")", "==", "PRE_MODIFY", "||", "GET_CODE", "(", "addr", ")", "==", "POST_MODIFY", ")", "return", "0", ";", "ok", "=", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "len", "=", "(", "parts", ".", "seg", "==", "SEG_DEFAULT", ")", "?", "0", ":", "1", ";", "if", "(", "TARGET_64BIT", "&&", "!", "lea", "&&", "(", "SImode_address_operand", "(", "addr", ",", "VOIDmode", ")", "||", "(", "parts", ".", "base", "&&", "GET_MODE", "(", "parts", ".", "base", ")", "==", "SImode", ")", "||", "(", "parts", ".", "index", "&&", "GET_MODE", "(", "parts", ".", "index", ")", "==", "SImode", ")", ")", ")", "len", "++", ";", "base", "=", "parts", ".", "base", ";", "index", "=", "parts", ".", "index", ";", "disp", "=", "parts", ".", "disp", ";", "if", "(", "base", "&&", "GET_CODE", "(", "base", ")", "==", "SUBREG", ")", "base", "=", "SUBREG_REG", "(", "base", ")", ";", "if", "(", "index", "&&", "GET_CODE", "(", "index", ")", "==", "SUBREG", ")", "index", "=", "SUBREG_REG", "(", "index", ")", ";", "gcc_assert", "(", "base", "==", "NULL_RTX", "||", "REG_P", "(", "base", ")", ")", ";", "gcc_assert", "(", "index", "==", "NULL_RTX", "||", "REG_P", "(", "index", ")", ")", ";", "if", "(", "base", "&&", "!", "index", "&&", "!", "disp", ")", "{", "if", "(", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", "||", "REGNO", "(", "base", ")", "==", "SP_REG", "||", "REGNO", "(", "base", ")", "==", "BP_REG", "||", "REGNO", "(", "base", ")", "==", "R12_REG", "||", "REGNO", "(", "base", ")", "==", "R13_REG", ")", "len", "++", ";", "}", "else", "if", "(", "disp", "&&", "!", "base", "&&", "!", "index", ")", "{", "len", "+=", "4", ";", "if", "(", "rip_relative_addr_p", "(", "&", "parts", ")", ")", "len", "++", ";", "}", "else", "{", "if", "(", "disp", ")", "{", "if", "(", "base", "&&", "satisfies_constraint_K", "(", "disp", ")", ")", "len", "+=", "1", ";", "else", "len", "+=", "4", ";", "}", "else", "if", "(", "base", "&&", "(", "REGNO", "(", "base", ")", "==", "BP_REG", "||", "REGNO", "(", "base", ")", "==", "R13_REG", ")", ")", "len", "++", ";", "if", "(", "index", "||", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", "||", "(", "base", "&&", "(", "REGNO", "(", "base", ")", "==", "SP_REG", "||", "REGNO", "(", "base", ")", "==", "R12_REG", ")", ")", ")", "len", "++", ";", "}", "return", "len", ";", "}", ""], "natrual_language": ["Calculate", "the", "length", "of", "the", "memory", "address", "in", "the", "instruction", "encoding", ".", "Does", "not", "include", "the", "one-byte", "modrm", ",", "opcode", ",", "or", "prefix", "."], "TS_V_token": ["i386", "0", "0", "1", "4", "1", "4"], "File": "i3864", "Func": "memory_address_length", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38430, "Length": 387}
{"ground_truth": ["", "static", "int", "min_insn_size", "(", "rtx_insn", "*", "insn", ")", "{", "int", "l", "=", "0", ",", "len", ";", "if", "(", "!", "INSN_P", "(", "insn", ")", "||", "!", "active_insn_p", "(", "insn", ")", ")", "return", "0", ";", "if", "(", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "UNSPEC_VOLATILE", "&&", "XINT", "(", "PATTERN", "(", "insn", ")", ",", "1", ")", "==", "UNSPECV_ALIGN", ")", "return", "0", ";", "if", "(", "CALL_P", "(", "insn", ")", "&&", "symbolic_reference_mentioned_p", "(", "PATTERN", "(", "insn", ")", ")", "&&", "!", "SIBLING_CALL_P", "(", "insn", ")", ")", "return", "5", ";", "len", "=", "get_attr_length", "(", "insn", ")", ";", "if", "(", "len", "<=", "1", ")", "return", "1", ";", "if", "(", "!", "JUMP_P", "(", "insn", ")", ")", "{", "enum", "attr_type", "type", "=", "get_attr_type", "(", "insn", ")", ";", "switch", "(", "type", ")", "{", "case", "TYPE_MULTI", ":", "if", "(", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "ASM_INPUT", "||", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", ">=", "0", ")", "return", "0", ";", "break", ";", "case", "TYPE_OTHER", ":", "case", "TYPE_FCMP", ":", "break", ";", "default", ":", "return", "len", ";", "}", "l", "=", "get_attr_length_address", "(", "insn", ")", ";", "if", "(", "l", "<", "4", "&&", "symbolic_reference_mentioned_p", "(", "PATTERN", "(", "insn", ")", ")", ")", "l", "=", "4", ";", "}", "if", "(", "l", ")", "return", "1", "+", "l", ";", "else", "return", "2", ";", "}", ""], "natrual_language": ["We", "do", "n't", "have", "exact", "information", "about", "the", "insn", "sizes", ",", "but", "we", "may", "assume", "quite", "safely", "that", "we", "are", "informed", "about", "all", "1", "byte", "insns", "and", "memory", "address", "sizes", ".", "This", "is", "enough", "to", "eliminate", "unnecessary", "padding", "in", "99", "%", "of", "cases", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "5", "1", "1", "0", "0", "4", "4", "1", "2"], "File": "i3864", "Func": "min_insn_size", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38431, "Length": 207}
{"ground_truth": ["", "const", "char", "*", "output_387_reg_move", "(", "rtx", "insn", ",", "rtx", "*", "operands", ")", "{", "if", "(", "REG_P", "(", "operands", "[", "0", "]", ")", ")", "{", "if", "(", "REG_P", "(", "operands", "[", "1", "]", ")", "&&", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "REGNO", "(", "operands", "[", "1", "]", ")", ")", ")", "{", "if", "(", "REGNO", "(", "operands", "[", "0", "]", ")", "==", "FIRST_STACK_REG", ")", "return", "output_387_ffreep", "(", "operands", ",", "0", ")", ";", "return", "\"fstp\\t%y0\"", ";", "}", "if", "(", "STACK_TOP_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"fld%Z1\\t%y1\"", ";", "return", "\"fst\\t%y0\"", ";", "}", "else", "if", "(", "MEM_P", "(", "operands", "[", "0", "]", ")", ")", "{", "gcc_assert", "(", "REG_P", "(", "operands", "[", "1", "]", ")", ")", ";", "if", "(", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "REGNO", "(", "operands", "[", "1", "]", ")", ")", ")", "return", "\"fstp%Z0\\t%y0\"", ";", "else", "{", "if", "(", "GET_MODE", "(", "operands", "[", "0", "]", ")", "==", "XFmode", ")", "return", "\"fstp%Z0\\t%y0\\n\\tfld%Z0\\t%y0\"", ";", "else", "return", "\"fst%Z0\\t%y0\"", ";", "}", "}", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "x87", "FP", "register", "move", ",", "from", "OPERANDS", "[", "1", "]", "to", "OPERANDS", "[", "0", "]", "."], "TS_V_token": ["i386", "0", "1", "1", "0", "0", "\"fstp\\t%y0\"", "0", "\"fld%Z1\\t%y1\"", "\"fst\\t%y0\"", "0", "1", "1", "\"fstp%Z0\\t%y0\"", "0", "\"fstp%Z0\\t%y0\\n\\tfld%Z0\\t%y0\"", "\"fst%Z0\\t%y0\""], "File": "i3864", "Func": "output_387_reg_move", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38432, "Length": 163}
{"ground_truth": ["", "const", "char", "*", "output_adjust_stack_and_probe", "(", "rtx", "reg", ")", "{", "static", "int", "labelno", "=", "0", ";", "char", "loop_lab", "[", "32", "]", ",", "end_lab", "[", "32", "]", ";", "rtx", "xops", "[", "2", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "loop_lab", ",", "\"LPSRL\"", ",", "labelno", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "end_lab", ",", "\"LPSRE\"", ",", "labelno", "++", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "loop_lab", ")", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "reg", ";", "output_asm_insn", "(", "\"cmp%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "fputs", "(", "\"\\tje\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "end_lab", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "xops", "[", "1", "]", "=", "GEN_INT", "(", "PROBE_INTERVAL", ")", ";", "output_asm_insn", "(", "\"sub%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "xops", "[", "1", "]", "=", "const0_rtx", ";", "output_asm_insn", "(", "\"or%z0\\t{%1, (%0)|DWORD PTR [%0], %1}\"", ",", "xops", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t\"", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "loop_lab", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "end_lab", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Adjust", "the", "stack", "pointer", "up", "to", "REG", "while", "probing", "it", "."], "TS_V_token": ["i386", "0", "32", "32", "2", "\"LPSRL\"", "\"LPSRE\"", "0", "1", "\"cmp%z0\\t{%1, %0|%0, %1}\"", "\"\\tje\\t\"", "1", "\"sub%z0\\t{%1, %0|%0, %1}\"", "1", "\"or%z0\\t{%1, (%0)|DWORD PTR [%0], %1}\"", "\"\\tjmp\\t\"", "\"\""], "File": "i3864", "Func": "output_adjust_stack_and_probe", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38433, "Length": 163}
{"ground_truth": ["", "const", "char", "*", "output_fix_trunc", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ",", "bool", "fisttp", ")", "{", "int", "stack_top_dies", "=", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "FIRST_STACK_REG", ")", "!=", "0", ";", "int", "dimode_p", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", "==", "DImode", ";", "int", "round_mode", "=", "get_attr_i387_cw", "(", "insn", ")", ";", "if", "(", "(", "dimode_p", "||", "fisttp", ")", "&&", "!", "stack_top_dies", ")", "output_asm_insn", "(", "\"fld\\t%y1\"", ",", "operands", ")", ";", "gcc_assert", "(", "STACK_TOP_P", "(", "operands", "[", "1", "]", ")", ")", ";", "gcc_assert", "(", "MEM_P", "(", "operands", "[", "0", "]", ")", ")", ";", "gcc_assert", "(", "GET_MODE", "(", "operands", "[", "1", "]", ")", "!=", "TFmode", ")", ";", "if", "(", "fisttp", ")", "output_asm_insn", "(", "\"fisttp%Z0\\t%0\"", ",", "operands", ")", ";", "else", "{", "if", "(", "round_mode", "!=", "I387_CW_ANY", ")", "output_asm_insn", "(", "\"fldcw\\t%3\"", ",", "operands", ")", ";", "if", "(", "stack_top_dies", "||", "dimode_p", ")", "output_asm_insn", "(", "\"fistp%Z0\\t%0\"", ",", "operands", ")", ";", "else", "output_asm_insn", "(", "\"fist%Z0\\t%0\"", ",", "operands", ")", ";", "if", "(", "round_mode", "!=", "I387_CW_ANY", ")", "output_asm_insn", "(", "\"fldcw\\t%2\"", ",", "operands", ")", ";", "}", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "code", "for", "INSN", "to", "convert", "a", "float", "to", "a", "signed", "int", ".", "OPERANDS", "are", "the", "insn", "operands", ".", "The", "output", "may", "be", "[", "HSD", "]", "Imode", "and", "the", "input", "operand", "may", "be", "[", "SDX", "]", "Fmode", "."], "TS_V_token": ["i386", "0", "0", "\"fld\\t%y1\"", "1", "0", "1", "\"fisttp%Z0\\t%0\"", "\"fldcw\\t%3\"", "\"fistp%Z0\\t%0\"", "\"fist%Z0\\t%0\"", "\"fldcw\\t%2\"", "\"\""], "File": "i3864", "Func": "output_fix_trunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38434, "Length": 170}
{"ground_truth": ["", "const", "char", "*", "output_fp_compare", "(", "rtx", "insn", ",", "rtx", "*", "operands", ",", "bool", "eflags_p", ",", "bool", "unordered_p", ")", "{", "int", "stack_top_dies", ";", "rtx", "cmp_op0", ",", "cmp_op1", ";", "int", "is_sse", "=", "SSE_REG_P", "(", "operands", "[", "0", "]", ")", "||", "SSE_REG_P", "(", "operands", "[", "1", "]", ")", ";", "if", "(", "eflags_p", ")", "{", "cmp_op0", "=", "operands", "[", "0", "]", ";", "cmp_op1", "=", "operands", "[", "1", "]", ";", "}", "else", "{", "cmp_op0", "=", "operands", "[", "1", "]", ";", "cmp_op1", "=", "operands", "[", "2", "]", ";", "}", "if", "(", "is_sse", ")", "{", "if", "(", "GET_MODE", "(", "operands", "[", "0", "]", ")", "==", "SFmode", ")", "if", "(", "unordered_p", ")", "return", "\"%vucomiss\\t{%1, %0|%0, %1}\"", ";", "else", "return", "\"%vcomiss\\t{%1, %0|%0, %1}\"", ";", "else", "if", "(", "unordered_p", ")", "return", "\"%vucomisd\\t{%1, %0|%0, %1}\"", ";", "else", "return", "\"%vcomisd\\t{%1, %0|%0, %1}\"", ";", "}", "gcc_assert", "(", "STACK_TOP_P", "(", "cmp_op0", ")", ")", ";", "stack_top_dies", "=", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "FIRST_STACK_REG", ")", "!=", "0", ";", "if", "(", "cmp_op1", "==", "CONST0_RTX", "(", "GET_MODE", "(", "cmp_op1", ")", ")", ")", "{", "if", "(", "stack_top_dies", ")", "{", "output_asm_insn", "(", "\"ftst\\n\\tfnstsw\\t%0\"", ",", "operands", ")", ";", "return", "output_387_ffreep", "(", "operands", ",", "1", ")", ";", "}", "else", "return", "\"ftst\\n\\tfnstsw\\t%0\"", ";", "}", "if", "(", "STACK_REG_P", "(", "cmp_op1", ")", "&&", "stack_top_dies", "&&", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "REGNO", "(", "cmp_op1", ")", ")", "&&", "REGNO", "(", "cmp_op1", ")", "!=", "FIRST_STACK_REG", ")", "{", "if", "(", "eflags_p", ")", "{", "if", "(", "unordered_p", ")", "output_asm_insn", "(", "\"fucomip\\t{%y1, %0|%0, %y1}\"", ",", "operands", ")", ";", "else", "output_asm_insn", "(", "\"fcomip\\t{%y1, %0|%0, %y1}\"", ",", "operands", ")", ";", "return", "output_387_ffreep", "(", "operands", ",", "0", ")", ";", "}", "else", "{", "if", "(", "unordered_p", ")", "return", "\"fucompp\\n\\tfnstsw\\t%0\"", ";", "else", "return", "\"fcompp\\n\\tfnstsw\\t%0\"", ";", "}", "}", "else", "{", "static", "const", "char", "*", "const", "alt", "[", "16", "]", "=", "{", "\"fcom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fcomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fucom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fucomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"ficom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"ficomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "NULL", ",", "NULL", ",", "\"fcomi\\t{%y1, %0|%0, %y1}\"", ",", "\"fcomip\\t{%y1, %0|%0, %y1}\"", ",", "\"fucomi\\t{%y1, %0|%0, %y1}\"", ",", "\"fucomip\\t{%y1, %0|%0, %y1}\"", ",", "NULL", ",", "NULL", ",", "NULL", ",", "NULL", "}", ";", "int", "mask", ";", "const", "char", "*", "ret", ";", "mask", "=", "eflags_p", "<<", "3", ";", "mask", "|=", "(", "GET_MODE_CLASS", "(", "GET_MODE", "(", "cmp_op1", ")", ")", "==", "MODE_INT", ")", "<<", "2", ";", "mask", "|=", "unordered_p", "<<", "1", ";", "mask", "|=", "stack_top_dies", ";", "gcc_assert", "(", "mask", "<", "16", ")", ";", "ret", "=", "alt", "[", "mask", "]", ";", "gcc_assert", "(", "ret", ")", ";", "return", "ret", ";", "}", "}", ""], "natrual_language": ["Output", "code", "for", "INSN", "to", "compare", "OPERANDS", ".", "EFLAGS_P", "is", "1", "when", "fcomi", "should", "be", "used", "and", "2", "when", "fnstsw", "should", "be", "used", ".", "UNORDERED_P", "is", "true", "when", "fucom", "should", "be", "used", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "1", "2", "0", "\"%vucomiss\\t{%1, %0|%0, %1}\"", "\"%vcomiss\\t{%1, %0|%0, %1}\"", "\"%vucomisd\\t{%1, %0|%0, %1}\"", "\"%vcomisd\\t{%1, %0|%0, %1}\"", "0", "\"ftst\\n\\tfnstsw\\t%0\"", "1", "\"ftst\\n\\tfnstsw\\t%0\"", "\"fucomip\\t{%y1, %0|%0, %y1}\"", "\"fcomip\\t{%y1, %0|%0, %y1}\"", "0", "\"fucompp\\n\\tfnstsw\\t%0\"", "\"fcompp\\n\\tfnstsw\\t%0\"", "16", "\"fcom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fcomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fucom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fucomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"ficom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"ficomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fcomi\\t{%y1, %0|%0, %y1}\"", "\"fcomip\\t{%y1, %0|%0, %y1}\"", "\"fucomi\\t{%y1, %0|%0, %y1}\"", "\"fucomip\\t{%y1, %0|%0, %y1}\"", "3", "2", "1", "16"], "File": "i3864", "Func": "output_fp_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38435, "Length": 371}
{"ground_truth": ["", "const", "char", "*", "output_probe_stack_range", "(", "rtx", "reg", ",", "rtx", "end", ")", "{", "static", "int", "labelno", "=", "0", ";", "char", "loop_lab", "[", "32", "]", ",", "end_lab", "[", "32", "]", ";", "rtx", "xops", "[", "3", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "loop_lab", ",", "\"LPSRL\"", ",", "labelno", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "end_lab", ",", "\"LPSRE\"", ",", "labelno", "++", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "loop_lab", ")", ";", "xops", "[", "0", "]", "=", "reg", ";", "xops", "[", "1", "]", "=", "end", ";", "output_asm_insn", "(", "\"cmp%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "fputs", "(", "\"\\tje\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "end_lab", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "xops", "[", "1", "]", "=", "GEN_INT", "(", "PROBE_INTERVAL", ")", ";", "output_asm_insn", "(", "\"sub%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "reg", ";", "xops", "[", "2", "]", "=", "const0_rtx", ";", "output_asm_insn", "(", "\"or%z0\\t{%2, (%0,%1)|DWORD PTR [%0+%1], %2}\"", ",", "xops", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t\"", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "loop_lab", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "end_lab", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Wrapper", "around", "the", "output_probe_stack_range", "routines", "."], "TS_V_token": ["i386", "0", "32", "32", "3", "\"LPSRL\"", "\"LPSRE\"", "0", "1", "\"cmp%z0\\t{%1, %0|%0, %1}\"", "\"\\tje\\t\"", "1", "\"sub%z0\\t{%1, %0|%0, %1}\"", "0", "1", "2", "\"or%z0\\t{%2, (%0,%1)|DWORD PTR [%0+%1], %2}\"", "\"\\tjmp\\t\"", "\"\""], "File": "i3864", "Func": "output_probe_stack_range", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38436, "Length": 180}
{"ground_truth": ["", "const", "char", "*", "output_set_got", "(", "rtx", "dest", ",", "rtx", "label", ")", "{", "rtx", "xops", "[", "3", "]", ";", "xops", "[", "0", "]", "=", "dest", ";", "if", "(", "TARGET_VXWORKS_RTP", "&&", "flag_pic", ")", "{", "xops", "[", "2", "]", "=", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "VXWORKS_GOTT_BASE", ")", ")", ";", "output_asm_insn", "(", "\"mov{l}\\t{%2, %0|%0, %2}\"", ",", "xops", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "VXWORKS_GOTT_INDEX", ")", ";", "SYMBOL_REF_FLAGS", "(", "xops", "[", "2", "]", ")", "|=", "SYMBOL_FLAG_LOCAL", ";", "output_asm_insn", "(", "\"mov{l}\\t{%P2(%0), %0|%0, DWORD PTR %P2[%0]}\"", ",", "xops", ")", ";", "return", "\"\"", ";", "}", "xops", "[", "1", "]", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "GOT_SYMBOL_NAME", ")", ";", "if", "(", "!", "flag_pic", ")", "{", "if", "(", "TARGET_MACHO", ")", "gcc_unreachable", "(", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_LABEL_REF", "(", "Pmode", ",", "label", "?", "label", ":", "gen_label_rtx", "(", ")", ")", ";", "output_asm_insn", "(", "\"mov%z0\\t{%2, %0|%0, %2}\"", ",", "xops", ")", ";", "targetm", ".", "asm_out", ".", "internal_label", "(", "asm_out_file", ",", "\"L\"", ",", "CODE_LABEL_NUMBER", "(", "XEXP", "(", "xops", "[", "2", "]", ",", "0", ")", ")", ")", ";", "}", "else", "{", "char", "name", "[", "32", "]", ";", "get_pc_thunk_name", "(", "name", ",", "REGNO", "(", "dest", ")", ")", ";", "pic_labels_used", "|=", "1", "<<", "REGNO", "(", "dest", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "ggc_strdup", "(", "name", ")", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_MEM", "(", "QImode", ",", "xops", "[", "2", "]", ")", ";", "output_asm_insn", "(", "\"%!call\\t%X2\"", ",", "xops", ")", ";", "if", "(", "machopic_should_output_picbase_label", "(", ")", "||", "!", "label", ")", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "MACHOPIC_FUNCTION_BASE_NAME", ")", ";", "if", "(", "label", ")", "targetm", ".", "asm_out", ".", "internal_label", "(", "asm_out_file", ",", "\"L\"", ",", "CODE_LABEL_NUMBER", "(", "label", ")", ")", ";", "}", "if", "(", "!", "TARGET_MACHO", ")", "output_asm_insn", "(", "\"add%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Emit", "code", "for", "the", "SET_GOT", "patterns", "."], "TS_V_token": ["i386", "3", "0", "2", "\"mov{l}\\t{%2, %0|%0, %2}\"", "2", "2", "\"mov{l}\\t{%P2(%0), %0|%0, DWORD PTR %P2[%0]}\"", "\"\"", "1", "2", "\"mov%z0\\t{%2, %0|%0, %2}\"", "\"L\"", "2", "0", "32", "1", "2", "2", "2", "\"%!call\\t%X2\"", "\"L\"", "\"add%z0\\t{%1, %0|%0, %1}\"", "\"\""], "File": "i3864", "Func": "output_set_got", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38437, "Length": 282}
{"ground_truth": ["", "static", "void", "parse_mtune_ctrl_str", "(", "bool", "dump", ")", "{", "if", "(", "!", "ix86_tune_ctrl_string", ")", "return", ";", "char", "*", "next_feature_string", "=", "NULL", ";", "char", "*", "curr_feature_string", "=", "xstrdup", "(", "ix86_tune_ctrl_string", ")", ";", "char", "*", "orig", "=", "curr_feature_string", ";", "int", "i", ";", "do", "{", "bool", "clear", "=", "false", ";", "next_feature_string", "=", "strchr", "(", "curr_feature_string", ",", "','", ")", ";", "if", "(", "next_feature_string", ")", "*", "next_feature_string", "++", "=", "'\\0'", ";", "if", "(", "*", "curr_feature_string", "==", "'^'", ")", "{", "curr_feature_string", "++", ";", "clear", "=", "true", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "i", "++", ")", "{", "if", "(", "!", "strcmp", "(", "curr_feature_string", ",", "ix86_tune_feature_names", "[", "i", "]", ")", ")", "{", "ix86_tune_features", "[", "i", "]", "=", "!", "clear", ";", "if", "(", "dump", ")", "fprintf", "(", "stderr", ",", "\"Explicitly %s feature %s\\n\"", ",", "clear", "?", "\"clear\"", ":", "\"set\"", ",", "ix86_tune_feature_names", "[", "i", "]", ")", ";", "break", ";", "}", "}", "if", "(", "i", "==", "X86_TUNE_LAST", ")", "error", "(", "\"Unknown parameter to option -mtune-ctrl: %s\"", ",", "clear", "?", "curr_feature_string", "-", "1", ":", "curr_feature_string", ")", ";", "curr_feature_string", "=", "next_feature_string", ";", "}", "while", "(", "curr_feature_string", ")", ";", "free", "(", "orig", ")", ";", "}", ""], "natrual_language": ["parse", "-mtune-ctrl=", "option", ".", "When", "DUMP", "is", "true", ",", "print", "the", "features", "that", "are", "explicitly", "set", "."], "TS_V_token": ["i386", "0", "\"Explicitly %s feature %s\\n\"", "\"clear\"", "\"set\"", "\"Unknown parameter to option -mtune-ctrl: %s\"", "1"], "File": "i3864", "Func": "parse_mtune_ctrl_str", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38438, "Length": 178}
{"ground_truth": ["", "static", "void", "predict_jump", "(", "int", "prob", ")", "{", "rtx", "insn", "=", "get_last_insn", "(", ")", ";", "gcc_assert", "(", "JUMP_P", "(", "insn", ")", ")", ";", "add_int_reg_note", "(", "insn", ",", "REG_BR_PROB", ",", "prob", ")", ";", "}", ""], "natrual_language": ["Predict", "just", "emitted", "jump", "instruction", "to", "be", "taken", "with", "probability", "PROB", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "predict_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38439, "Length": 33}
{"ground_truth": ["", "static", "void", "process_end_window", "(", "void", ")", "{", "gcc_assert", "(", "dispatch_window_list", "->", "num_insn", "<=", "MAX_INSN", ")", ";", "if", "(", "dispatch_window_list", "->", "next", ")", "{", "gcc_assert", "(", "dispatch_window_list1", "->", "num_insn", "<=", "MAX_INSN", ")", ";", "gcc_assert", "(", "dispatch_window_list", "->", "window_size", "+", "dispatch_window_list1", "->", "window_size", "<=", "48", ")", ";", "init_window", "(", "1", ")", ";", "}", "init_window", "(", "0", ")", ";", "}", ""], "natrual_language": ["This", "function", "is", "called", "when", "the", "end", "of", "a", "window", "processing", "is", "reached", "."], "TS_V_token": ["i386", "48", "1", "0"], "File": "i3864", "Func": "process_end_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38440, "Length": 57}
{"ground_truth": ["", "static", "rtx", "promote_duplicated_reg", "(", "machine_mode", "mode", ",", "rtx", "val", ")", "{", "machine_mode", "valmode", "=", "GET_MODE", "(", "val", ")", ";", "rtx", "tmp", ";", "int", "nops", "=", "mode", "==", "DImode", "?", "3", ":", "2", ";", "gcc_assert", "(", "mode", "==", "SImode", "||", "mode", "==", "DImode", "||", "val", "==", "const0_rtx", ")", ";", "if", "(", "val", "==", "const0_rtx", ")", "return", "copy_to_mode_reg", "(", "mode", ",", "CONST0_RTX", "(", "mode", ")", ")", ";", "if", "(", "CONST_INT_P", "(", "val", ")", ")", "{", "HOST_WIDE_INT", "v", "=", "INTVAL", "(", "val", ")", "&", "255", ";", "v", "|=", "v", "<<", "8", ";", "v", "|=", "v", "<<", "16", ";", "if", "(", "mode", "==", "DImode", ")", "v", "|=", "(", "v", "<<", "16", ")", "<<", "16", ";", "return", "copy_to_mode_reg", "(", "mode", ",", "gen_int_mode", "(", "v", ",", "mode", ")", ")", ";", "}", "if", "(", "valmode", "==", "VOIDmode", ")", "valmode", "=", "QImode", ";", "if", "(", "valmode", "!=", "QImode", ")", "val", "=", "gen_lowpart", "(", "QImode", ",", "val", ")", ";", "if", "(", "mode", "==", "QImode", ")", "return", "val", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "nops", "--", ";", "if", "(", "ix86_cost", "->", "mult_init", "[", "mode", "==", "DImode", "?", "3", ":", "2", "]", "+", "ix86_cost", "->", "mult_bit", "*", "(", "mode", "==", "DImode", "?", "8", ":", "4", ")", "<=", "(", "ix86_cost", "->", "shift_const", "+", "ix86_cost", "->", "add", ")", "*", "nops", "+", "(", "COSTS_N_INSNS", "(", "TARGET_PARTIAL_REG_STALL", "==", "0", ")", ")", ")", "{", "rtx", "reg", "=", "convert_modes", "(", "mode", ",", "QImode", ",", "val", ",", "true", ")", ";", "tmp", "=", "promote_duplicated_reg", "(", "mode", ",", "const1_rtx", ")", ";", "return", "expand_simple_binop", "(", "mode", ",", "MULT", ",", "reg", ",", "tmp", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "}", "else", "{", "rtx", "reg", "=", "convert_modes", "(", "mode", ",", "QImode", ",", "val", ",", "true", ")", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "if", "(", "mode", "==", "SImode", ")", "emit_insn", "(", "gen_movsi_insv_1", "(", "reg", ",", "reg", ")", ")", ";", "else", "emit_insn", "(", "gen_movdi_insv_1", "(", "reg", ",", "reg", ")", ")", ";", "else", "{", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFT", ",", "reg", ",", "GEN_INT", "(", "8", ")", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "reg", "=", "expand_simple_binop", "(", "mode", ",", "IOR", ",", "reg", ",", "tmp", ",", "reg", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "}", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFT", ",", "reg", ",", "GEN_INT", "(", "16", ")", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "reg", "=", "expand_simple_binop", "(", "mode", ",", "IOR", ",", "reg", ",", "tmp", ",", "reg", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "mode", "==", "SImode", ")", "return", "reg", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFT", ",", "reg", ",", "GEN_INT", "(", "32", ")", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "reg", "=", "expand_simple_binop", "(", "mode", ",", "IOR", ",", "reg", ",", "tmp", ",", "reg", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "return", "reg", ";", "}", "}", ""], "natrual_language": ["Helper", "function", "for", "memcpy", ".", "For", "QImode", "value", "0xXY", "produce", "0xXYXYXYXY", "of", "wide", "specified", "by", "MODE", ".", "This", "is", "essentially", "a", "*", "0x10101010", ",", "but", "we", "can", "do", "slightly", "better", "than", "synth_mult", "by", "unwinding", "the", "sequence", "by", "hand", "on", "CPUs", "with", "slow", "multiply", "."], "TS_V_token": ["i386", "3", "2", "255", "8", "16", "16", "16", "3", "2", "8", "4", "0", "1", "8", "1", "1", "16", "1", "1", "32", "1", "1"], "File": "i3864", "Func": "promote_duplicated_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38441, "Length": 448}
{"ground_truth": ["", "static", "void", "pro_epilogue_adjust_stack", "(", "rtx", "dest", ",", "rtx", "src", ",", "rtx", "offset", ",", "int", "style", ",", "bool", "set_cfa", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "insn", ";", "bool", "add_frame_related_expr", "=", "false", ";", "if", "(", "Pmode", "==", "SImode", ")", "insn", "=", "gen_pro_epilogue_adjust_stack_si_add", "(", "dest", ",", "src", ",", "offset", ")", ";", "else", "if", "(", "x86_64_immediate_operand", "(", "offset", ",", "DImode", ")", ")", "insn", "=", "gen_pro_epilogue_adjust_stack_di_add", "(", "dest", ",", "src", ",", "offset", ")", ";", "else", "{", "rtx", "tmp", ";", "if", "(", "style", ")", "tmp", "=", "gen_rtx_REG", "(", "DImode", ",", "R11_REG", ")", ";", "else", "{", "gcc_assert", "(", "src", "!=", "hard_frame_pointer_rtx", "&&", "dest", "!=", "hard_frame_pointer_rtx", ")", ";", "tmp", "=", "hard_frame_pointer_rtx", ";", "}", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "DImode", ",", "tmp", ",", "offset", ")", ")", ";", "if", "(", "style", "<", "0", ")", "add_frame_related_expr", "=", "true", ";", "insn", "=", "gen_pro_epilogue_adjust_stack_di_add", "(", "dest", ",", "src", ",", "tmp", ")", ";", "}", "insn", "=", "emit_insn", "(", "insn", ")", ";", "if", "(", "style", ">=", "0", ")", "ix86_add_queued_cfa_restore_notes", "(", "insn", ")", ";", "if", "(", "set_cfa", ")", "{", "rtx", "r", ";", "gcc_assert", "(", "m", "->", "fs", ".", "cfa_reg", "==", "src", ")", ";", "m", "->", "fs", ".", "cfa_offset", "+=", "INTVAL", "(", "offset", ")", ";", "m", "->", "fs", ".", "cfa_reg", "=", "dest", ";", "r", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "src", ",", "offset", ")", ";", "r", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "r", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_ADJUST_CFA", ",", "r", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "else", "if", "(", "style", "<", "0", ")", "{", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "add_frame_related_expr", ")", "{", "rtx", "r", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "src", ",", "offset", ")", ";", "r", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "dest", ",", "r", ")", ";", "add_reg_note", "(", "insn", ",", "REG_FRAME_RELATED_EXPR", ",", "r", ")", ";", "}", "}", "if", "(", "dest", "==", "stack_pointer_rtx", ")", "{", "HOST_WIDE_INT", "ooffset", "=", "m", "->", "fs", ".", "sp_offset", ";", "bool", "valid", "=", "m", "->", "fs", ".", "sp_valid", ";", "if", "(", "src", "==", "hard_frame_pointer_rtx", ")", "{", "valid", "=", "m", "->", "fs", ".", "fp_valid", ";", "ooffset", "=", "m", "->", "fs", ".", "fp_offset", ";", "}", "else", "if", "(", "src", "==", "crtl", "->", "drap_reg", ")", "{", "valid", "=", "m", "->", "fs", ".", "drap_valid", ";", "ooffset", "=", "0", ";", "}", "else", "{", "gcc_checking_assert", "(", "src", "==", "stack_pointer_rtx", "||", "offset", "==", "const0_rtx", ")", ";", "}", "m", "->", "fs", ".", "sp_offset", "=", "ooffset", "-", "INTVAL", "(", "offset", ")", ";", "m", "->", "fs", ".", "sp_valid", "=", "valid", ";", "}", "}", ""], "natrual_language": ["Expand", "prologue", "or", "epilogue", "stack", "adjustment", ".", "The", "pattern", "exist", "to", "put", "a", "dependency", "on", "all", "ebp-based", "memory", "accesses", ".", "STYLE", "should", "be", "negative", "if", "instructions", "should", "be", "marked", "as", "frame", "related", ",", "zero", "if", "%", "r11", "register", "is", "live", "and", "can", "not", "be", "freely", "used", "and", "positive", "otherwise", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "0"], "File": "i3864", "Func": "pro_epilogue_adjust_stack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38442, "Length": 405}
{"ground_truth": ["", "static", "void", "release_scratch_register_on_entry", "(", "struct", "scratch_reg", "*", "sr", ")", "{", "if", "(", "sr", "->", "saved", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "x", ",", "insn", "=", "emit_insn", "(", "gen_pop", "(", "sr", "->", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "x", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "UNITS_PER_WORD", ")", ")", ";", "x", "=", "gen_rtx_SET", "(", "VOIDmode", ",", "stack_pointer_rtx", ",", "x", ")", ";", "add_reg_note", "(", "insn", ",", "REG_FRAME_RELATED_EXPR", ",", "x", ")", ";", "m", "->", "fs", ".", "sp_offset", "-=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Release", "a", "scratch", "register", "obtained", "from", "the", "preceding", "function", ".", "If", "RELEASE_VIA_POP", "is", "true", ",", "we", "just", "pop", "the", "register", "off", "the", "stack", "to", "release", "it", ".", "This", "is", "what", "non-Linux", "systems", "use", "with", "-fstack-check", ".", "Otherwise", "we", "use", "OFFSET", "to", "locate", "the", "saved", "register", "and", "the", "allocated", "stack", "space", "becomes", "part", "of", "the", "local", "frame", "and", "is", "deallocated", "by", "the", "epilogue", "."], "TS_V_token": ["i386", "1"], "File": "i3864", "Func": "release_scratch_register_on_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38443, "Length": 92}
{"ground_truth": ["", "static", "bool", "rip_relative_addr_p", "(", "struct", "ix86_address", "*", "parts", ")", "{", "rtx", "base", ",", "index", ",", "disp", ";", "base", "=", "parts", "->", "base", ";", "index", "=", "parts", "->", "index", ";", "disp", "=", "parts", "->", "disp", ";", "if", "(", "disp", "&&", "!", "base", "&&", "!", "index", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "rtx", "symbol", "=", "disp", ";", "if", "(", "GET_CODE", "(", "disp", ")", "==", "CONST", ")", "symbol", "=", "XEXP", "(", "disp", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "symbol", ")", "==", "PLUS", "&&", "CONST_INT_P", "(", "XEXP", "(", "symbol", ",", "1", ")", ")", ")", "symbol", "=", "XEXP", "(", "symbol", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "symbol", ")", "==", "LABEL_REF", "||", "(", "GET_CODE", "(", "symbol", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "symbol", ")", "==", "0", ")", "||", "(", "GET_CODE", "(", "symbol", ")", "==", "UNSPEC", "&&", "(", "XINT", "(", "symbol", ",", "1", ")", "==", "UNSPEC_GOTPCREL", "||", "XINT", "(", "symbol", ",", "1", ")", "==", "UNSPEC_PCREL", "||", "XINT", "(", "symbol", ",", "1", ")", "==", "UNSPEC_GOTNTPOFF", ")", ")", ")", "return", "true", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Check", "whether", "x86", "address", "PARTS", "is", "a", "pc-relative", "address", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "1", "1", "1"], "File": "i3864", "Func": "rip_relative_addr_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38444, "Length": 174}
{"ground_truth": ["", "static", "void", "setup_incoming_varargs_64", "(", "CUMULATIVE_ARGS", "*", "cum", ")", "{", "rtx", "save_area", ",", "mem", ";", "alias_set_type", "set", ";", "int", "i", ",", "max", ";", "if", "(", "cfun", "->", "va_list_gpr_size", ")", "ix86_varargs_gpr_size", "=", "X86_64_REGPARM_MAX", "*", "UNITS_PER_WORD", ";", "else", "ix86_varargs_gpr_size", "=", "0", ";", "if", "(", "TARGET_SSE", "&&", "cfun", "->", "va_list_fpr_size", ")", "ix86_varargs_fpr_size", "=", "X86_64_SSE_REGPARM_MAX", "*", "16", ";", "else", "ix86_varargs_fpr_size", "=", "0", ";", "if", "(", "!", "ix86_varargs_gpr_size", "&&", "!", "ix86_varargs_fpr_size", ")", "return", ";", "save_area", "=", "frame_pointer_rtx", ";", "set", "=", "get_varargs_alias_set", "(", ")", ";", "max", "=", "cum", "->", "regno", "+", "cfun", "->", "va_list_gpr_size", "/", "UNITS_PER_WORD", ";", "if", "(", "max", ">", "X86_64_REGPARM_MAX", ")", "max", "=", "X86_64_REGPARM_MAX", ";", "for", "(", "i", "=", "cum", "->", "regno", ";", "i", "<", "max", ";", "i", "++", ")", "{", "mem", "=", "gen_rtx_MEM", "(", "word_mode", ",", "plus_constant", "(", "Pmode", ",", "save_area", ",", "i", "*", "UNITS_PER_WORD", ")", ")", ";", "MEM_NOTRAP_P", "(", "mem", ")", "=", "1", ";", "set_mem_alias_set", "(", "mem", ",", "set", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_rtx_REG", "(", "word_mode", ",", "x86_64_int_parameter_registers", "[", "i", "]", ")", ")", ";", "}", "if", "(", "ix86_varargs_fpr_size", ")", "{", "machine_mode", "smode", ";", "rtx_code_label", "*", "label", ";", "rtx", "test", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "test", "=", "gen_rtx_EQ", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "QImode", ",", "AX_REG", ")", ",", "const0_rtx", ")", ";", "emit_jump_insn", "(", "gen_cbranchqi4", "(", "test", ",", "XEXP", "(", "test", ",", "0", ")", ",", "XEXP", "(", "test", ",", "1", ")", ",", "label", ")", ")", ";", "smode", "=", "V4SFmode", ";", "if", "(", "crtl", "->", "stack_alignment_needed", "<", "GET_MODE_ALIGNMENT", "(", "smode", ")", ")", "crtl", "->", "stack_alignment_needed", "=", "GET_MODE_ALIGNMENT", "(", "smode", ")", ";", "max", "=", "cum", "->", "sse_regno", "+", "cfun", "->", "va_list_fpr_size", "/", "16", ";", "if", "(", "max", ">", "X86_64_SSE_REGPARM_MAX", ")", "max", "=", "X86_64_SSE_REGPARM_MAX", ";", "for", "(", "i", "=", "cum", "->", "sse_regno", ";", "i", "<", "max", ";", "++", "i", ")", "{", "mem", "=", "plus_constant", "(", "Pmode", ",", "save_area", ",", "i", "*", "16", "+", "ix86_varargs_gpr_size", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "smode", ",", "mem", ")", ";", "MEM_NOTRAP_P", "(", "mem", ")", "=", "1", ";", "set_mem_alias_set", "(", "mem", ",", "set", ")", ";", "set_mem_align", "(", "mem", ",", "GET_MODE_ALIGNMENT", "(", "smode", ")", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_rtx_REG", "(", "smode", ",", "SSE_REGNO", "(", "i", ")", ")", ")", ";", "}", "emit_label", "(", "label", ")", ";", "}", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_SETUP_INCOMING_VARARGS", "."], "TS_V_token": ["i386", "0", "16", "0", "1", "0", "1", "16", "16", "1"], "File": "i3864", "Func": "setup_incoming_varargs_64", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38445, "Length": 358}
{"ground_truth": ["", "static", "void", "set_ix86_tune_features", "(", "enum", "processor_type", "ix86_tune", ",", "bool", "dump", ")", "{", "unsigned", "int", "ix86_tune_mask", "=", "1u", "<<", "ix86_tune", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "++", "i", ")", "{", "if", "(", "ix86_tune_no_default", ")", "ix86_tune_features", "[", "i", "]", "=", "0", ";", "else", "ix86_tune_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_tune_features", "[", "i", "]", "&", "ix86_tune_mask", ")", ";", "}", "if", "(", "dump", ")", "{", "fprintf", "(", "stderr", ",", "\"List of x86 specific tuning parameter names:\\n\"", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "i", "++", ")", "fprintf", "(", "stderr", ",", "\"%s : %s\\n\"", ",", "ix86_tune_feature_names", "[", "i", "]", ",", "ix86_tune_features", "[", "i", "]", "?", "\"on\"", ":", "\"off\"", ")", ";", "}", "parse_mtune_ctrl_str", "(", "dump", ")", ";", "}", ""], "natrual_language": ["Helper", "function", "to", "set", "ix86_tune_features", ".", "IX86_TUNE", "is", "the", "processor", "type", "."], "TS_V_token": ["i386", "1u", "0", "0", "\"List of x86 specific tuning parameter names:\\n\"", "0", "\"%s : %s\\n\"", "\"on\"", "\"off\""], "File": "i3864", "Func": "set_ix86_tune_features", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38446, "Length": 119}
{"ground_truth": ["", "static", "void", "set_pic_reg_ever_live", "(", ")", "{", "if", "(", "reload_in_progress", ")", "df_set_regs_ever_live", "(", "REGNO", "(", "pic_offset_table_rtx", ")", ",", "true", ")", ";", "}", ""], "natrual_language": ["Set", "regs_ever_live", "for", "PIC", "base", "address", "register", "to", "true", "if", "required", "."], "TS_V_token": ["i386"], "File": "i3864", "Func": "set_pic_reg_ever_live", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38447, "Length": 21}
{"ground_truth": ["", "static", "char", "*", "sorted_attr_string", "(", "tree", "arglist", ")", "{", "tree", "arg", ";", "size_t", "str_len_sum", "=", "0", ";", "char", "*", "*", "args", "=", "NULL", ";", "char", "*", "attr_str", ",", "*", "ret_str", ";", "char", "*", "attr", "=", "NULL", ";", "unsigned", "int", "argnum", "=", "1", ";", "unsigned", "int", "i", ";", "for", "(", "arg", "=", "arglist", ";", "arg", ";", "arg", "=", "TREE_CHAIN", "(", "arg", ")", ")", "{", "const", "char", "*", "str", "=", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "arg", ")", ")", ";", "size_t", "len", "=", "strlen", "(", "str", ")", ";", "str_len_sum", "+=", "len", "+", "1", ";", "if", "(", "arg", "!=", "arglist", ")", "argnum", "++", ";", "for", "(", "i", "=", "0", ";", "i", "<", "strlen", "(", "str", ")", ";", "i", "++", ")", "if", "(", "str", "[", "i", "]", "==", "','", ")", "argnum", "++", ";", "}", "attr_str", "=", "XNEWVEC", "(", "char", ",", "str_len_sum", ")", ";", "str_len_sum", "=", "0", ";", "for", "(", "arg", "=", "arglist", ";", "arg", ";", "arg", "=", "TREE_CHAIN", "(", "arg", ")", ")", "{", "const", "char", "*", "str", "=", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "arg", ")", ")", ";", "size_t", "len", "=", "strlen", "(", "str", ")", ";", "memcpy", "(", "attr_str", "+", "str_len_sum", ",", "str", ",", "len", ")", ";", "attr_str", "[", "str_len_sum", "+", "len", "]", "=", "TREE_CHAIN", "(", "arg", ")", "?", "','", ":", "'\\0'", ";", "str_len_sum", "+=", "len", "+", "1", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "strlen", "(", "attr_str", ")", ";", "i", "++", ")", "if", "(", "attr_str", "[", "i", "]", "==", "'='", "||", "attr_str", "[", "i", "]", "==", "'-'", ")", "attr_str", "[", "i", "]", "=", "'_'", ";", "if", "(", "argnum", "==", "1", ")", "return", "attr_str", ";", "args", "=", "XNEWVEC", "(", "char", "*", ",", "argnum", ")", ";", "i", "=", "0", ";", "attr", "=", "strtok", "(", "attr_str", ",", "\",\"", ")", ";", "while", "(", "attr", "!=", "NULL", ")", "{", "args", "[", "i", "]", "=", "attr", ";", "i", "++", ";", "attr", "=", "strtok", "(", "NULL", ",", "\",\"", ")", ";", "}", "qsort", "(", "args", ",", "argnum", ",", "sizeof", "(", "char", "*", ")", ",", "attr_strcmp", ")", ";", "ret_str", "=", "XNEWVEC", "(", "char", ",", "str_len_sum", ")", ";", "str_len_sum", "=", "0", ";", "for", "(", "i", "=", "0", ";", "i", "<", "argnum", ";", "i", "++", ")", "{", "size_t", "len", "=", "strlen", "(", "args", "[", "i", "]", ")", ";", "memcpy", "(", "ret_str", "+", "str_len_sum", ",", "args", "[", "i", "]", ",", "len", ")", ";", "ret_str", "[", "str_len_sum", "+", "len", "]", "=", "i", "<", "argnum", "-", "1", "?", "'_'", ":", "'\\0'", ";", "str_len_sum", "+=", "len", "+", "1", ";", "}", "XDELETEVEC", "(", "args", ")", ";", "XDELETEVEC", "(", "attr_str", ")", ";", "return", "ret_str", ";", "}", ""], "natrual_language": ["ARGLIST", "is", "the", "argument", "to", "target", "attribute", ".", "This", "function", "tokenizes", "the", "comma", "separated", "arguments", ",", "sorts", "them", "and", "returns", "a", "string", "which", "is", "a", "unique", "identifier", "for", "the", "comma", "separated", "arguments", ".", "It", "also", "replaces", "non-identifier", "characters", "``", "=", ",", "-", "''", "with", "``", "_", "''", "."], "TS_V_token": ["i386", "0", "1", "1", "0", "0", "1", "0", "1", "0", "\",\"", "\",\"", "0", "0", "1", "1"], "File": "i3864", "Func": "sorted_attr_string", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38448, "Length": 415}
{"ground_truth": ["", "void", "split_double_mode", "(", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ",", "int", "num", ",", "rtx", "lo_half", "[", "]", ",", "rtx", "hi_half", "[", "]", ")", "{", "machine_mode", "half_mode", ";", "unsigned", "int", "byte", ";", "switch", "(", "mode", ")", "{", "case", "TImode", ":", "half_mode", "=", "DImode", ";", "break", ";", "case", "DImode", ":", "half_mode", "=", "SImode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "byte", "=", "GET_MODE_SIZE", "(", "half_mode", ")", ";", "while", "(", "num", "--", ")", "{", "rtx", "op", "=", "operands", "[", "num", "]", ";", "if", "(", "MEM_P", "(", "op", ")", ")", "{", "lo_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "half_mode", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "half_mode", ",", "byte", ")", ";", "}", "else", "{", "lo_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "half_mode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "mode", ":", "GET_MODE", "(", "op", ")", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "half_mode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "mode", ":", "GET_MODE", "(", "op", ")", ",", "byte", ")", ";", "}", "}", "}", ""], "natrual_language": ["Split", "one", "or", "more", "double-mode", "RTL", "references", "into", "pairs", "of", "half-mode", "references", ".", "The", "RTL", "can", "be", "REG", ",", "offsettable", "MEM", ",", "integer", "constant", ",", "or", "CONST_DOUBLE", ".", "``", "operands", "''", "is", "a", "pointer", "to", "an", "array", "of", "double-mode", "RTLs", "to", "split", "and", "``", "num", "''", "is", "its", "length", ".", "lo_half", "and", "hi_half", "are", "output", "arrays", "that", "parallel", "``", "operands", "''", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3864", "Func": "split_double_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38449, "Length": 181}
{"ground_truth": ["", "static", "unsigned", "int", "split_stack_prologue_scratch_regno", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "return", "R11_REG", ";", "else", "{", "bool", "is_fastcall", ",", "is_thiscall", ";", "int", "regparm", ";", "is_fastcall", "=", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "cfun", "->", "decl", ")", ")", ")", "!=", "NULL", ")", ";", "is_thiscall", "=", "(", "lookup_attribute", "(", "\"thiscall\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "cfun", "->", "decl", ")", ")", ")", "!=", "NULL", ")", ";", "regparm", "=", "ix86_function_regparm", "(", "TREE_TYPE", "(", "cfun", "->", "decl", ")", ",", "cfun", "->", "decl", ")", ";", "if", "(", "is_fastcall", ")", "{", "if", "(", "DECL_STATIC_CHAIN", "(", "cfun", "->", "decl", ")", ")", "{", "sorry", "(", "\"-fsplit-stack does not support fastcall with \"", "\"nested function\"", ")", ";", "return", "INVALID_REGNUM", ";", "}", "return", "AX_REG", ";", "}", "else", "if", "(", "is_thiscall", ")", "{", "if", "(", "!", "DECL_STATIC_CHAIN", "(", "cfun", "->", "decl", ")", ")", "return", "DX_REG", ";", "return", "AX_REG", ";", "}", "else", "if", "(", "regparm", "<", "3", ")", "{", "if", "(", "!", "DECL_STATIC_CHAIN", "(", "cfun", "->", "decl", ")", ")", "return", "CX_REG", ";", "else", "{", "if", "(", "regparm", ">=", "2", ")", "{", "sorry", "(", "\"-fsplit-stack does not support 2 register \"", "\"parameters for a nested function\"", ")", ";", "return", "INVALID_REGNUM", ";", "}", "return", "DX_REG", ";", "}", "}", "else", "{", "sorry", "(", "\"-fsplit-stack does not support 3 register parameters\"", ")", ";", "return", "INVALID_REGNUM", ";", "}", "}", "}", ""], "natrual_language": ["Return", "a", "scratch", "register", "to", "use", "in", "the", "split", "stack", "prologue", ".", "The", "split", "stack", "prologue", "is", "used", "for", "-fsplit-stack", ".", "It", "is", "the", "first", "instructions", "in", "the", "function", ",", "even", "before", "the", "regular", "prologue", ".", "The", "scratch", "register", "can", "be", "any", "caller-saved", "register", "which", "is", "not", "used", "for", "parameters", "or", "for", "the", "static", "chain", "."], "TS_V_token": ["i386", "\"fastcall\"", "\"thiscall\"", "\"-fsplit-stack does not support fastcall with \"", "\"nested function\"", "3", "2", "\"-fsplit-stack does not support 2 register \"", "\"parameters for a nested function\"", "\"-fsplit-stack does not support 3 register parameters\""], "File": "i3864", "Func": "split_stack_prologue_scratch_regno", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38450, "Length": 193}
{"ground_truth": ["", "int", "standard_80387_constant_p", "(", "rtx", "x", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "REAL_VALUE_TYPE", "r", ";", "if", "(", "!", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", "&&", "(", "GET_CODE", "(", "x", ")", "==", "CONST_DOUBLE", ")", ")", ")", "return", "-", "1", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "mode", ")", ")", "return", "1", ";", "if", "(", "x", "==", "CONST1_RTX", "(", "mode", ")", ")", "return", "2", ";", "REAL_VALUE_FROM_CONST_DOUBLE", "(", "r", ",", "x", ")", ";", "if", "(", "mode", "==", "XFmode", "&&", "(", "optimize_function_for_size_p", "(", "cfun", ")", "||", "TARGET_EXT_80387_CONSTANTS", ")", ")", "{", "int", "i", ";", "if", "(", "!", "ext_80387_constants_init", ")", "init_ext_80387_constants", "(", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "5", ";", "i", "++", ")", "if", "(", "real_identical", "(", "&", "r", ",", "&", "ext_80387_constants_table", "[", "i", "]", ")", ")", "return", "i", "+", "3", ";", "}", "if", "(", "real_isnegzero", "(", "&", "r", ")", ")", "return", "8", ";", "if", "(", "real_identical", "(", "&", "r", ",", "&", "dconstm1", ")", ")", "return", "9", ";", "return", "0", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "constant", "is", "something", "that", "can", "be", "loaded", "with", "a", "special", "instruction", "."], "TS_V_token": ["i386", "1", "1", "2", "0", "5", "3", "8", "9", "0"], "File": "i3864", "Func": "standard_80387_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38451, "Length": 162}
{"ground_truth": ["", "const", "char", "*", "standard_sse_constant_opcode", "(", "rtx_insn", "*", "insn", ",", "rtx", "x", ")", "{", "switch", "(", "standard_sse_constant_p", "(", "x", ")", ")", "{", "case", "1", ":", "switch", "(", "get_attr_mode", "(", "insn", ")", ")", "{", "case", "MODE_XI", ":", "return", "\"vpxord\\t%g0, %g0, %g0\"", ";", "case", "MODE_V16SF", ":", "return", "TARGET_AVX512DQ", "?", "\"vxorps\\t%g0, %g0, %g0\"", ":", "\"vpxord\\t%g0, %g0, %g0\"", ";", "case", "MODE_V8DF", ":", "return", "TARGET_AVX512DQ", "?", "\"vxorpd\\t%g0, %g0, %g0\"", ":", "\"vpxorq\\t%g0, %g0, %g0\"", ";", "case", "MODE_TI", ":", "return", "TARGET_AVX512VL", "?", "\"vpxord\\t%t0, %t0, %t0\"", ":", "\"%vpxor\\t%0, %d0\"", ";", "case", "MODE_V2DF", ":", "return", "\"%vxorpd\\t%0, %d0\"", ";", "case", "MODE_V4SF", ":", "return", "\"%vxorps\\t%0, %d0\"", ";", "case", "MODE_OI", ":", "return", "TARGET_AVX512VL", "?", "\"vpxord\\t%x0, %x0, %x0\"", ":", "\"vpxor\\t%x0, %x0, %x0\"", ";", "case", "MODE_V4DF", ":", "return", "\"vxorpd\\t%x0, %x0, %x0\"", ";", "case", "MODE_V8SF", ":", "return", "\"vxorps\\t%x0, %x0, %x0\"", ";", "default", ":", "break", ";", "}", "case", "2", ":", "if", "(", "TARGET_AVX512VL", "||", "get_attr_mode", "(", "insn", ")", "==", "MODE_XI", "||", "get_attr_mode", "(", "insn", ")", "==", "MODE_V8DF", "||", "get_attr_mode", "(", "insn", ")", "==", "MODE_V16SF", ")", "return", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", ";", "if", "(", "TARGET_AVX", ")", "return", "\"vpcmpeqd\\t%0, %0, %0\"", ";", "else", "return", "\"pcmpeqd\\t%0, %0\"", ";", "default", ":", "break", ";", "}", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "opcode", "of", "the", "special", "instruction", "to", "be", "used", "to", "load", "the", "constant", "X", "."], "TS_V_token": ["i386", "1", "\"vpxord\\t%g0, %g0, %g0\"", "\"vxorps\\t%g0, %g0, %g0\"", "\"vpxord\\t%g0, %g0, %g0\"", "\"vxorpd\\t%g0, %g0, %g0\"", "\"vpxorq\\t%g0, %g0, %g0\"", "\"vpxord\\t%t0, %t0, %t0\"", "\"%vpxor\\t%0, %d0\"", "\"%vxorpd\\t%0, %d0\"", "\"%vxorps\\t%0, %d0\"", "\"vpxord\\t%x0, %x0, %x0\"", "\"vpxor\\t%x0, %x0, %x0\"", "\"vxorpd\\t%x0, %x0, %x0\"", "\"vxorps\\t%x0, %x0, %x0\"", "2", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", "\"vpcmpeqd\\t%0, %0, %0\"", "\"pcmpeqd\\t%0, %0\""], "File": "i3864", "Func": "standard_sse_constant_opcode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38452, "Length": 159}
{"ground_truth": ["", "int", "standard_sse_constant_p", "(", "rtx", "x", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "x", "==", "const0_rtx", "||", "x", "==", "CONST0_RTX", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "1", ";", "if", "(", "vector_all_ones_operand", "(", "x", ",", "mode", ")", ")", "switch", "(", "mode", ")", "{", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "if", "(", "TARGET_SSE2", ")", "return", "2", ";", "case", "V32QImode", ":", "case", "V16HImode", ":", "case", "V8SImode", ":", "case", "V4DImode", ":", "if", "(", "TARGET_AVX2", ")", "return", "2", ";", "case", "V64QImode", ":", "case", "V32HImode", ":", "case", "V16SImode", ":", "case", "V8DImode", ":", "if", "(", "TARGET_AVX512F", ")", "return", "2", ";", "default", ":", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "1", "if", "X", "is", "all", "0s", "and", "2", "if", "x", "is", "all", "1s", "in", "supported", "SSE/AVX", "vector", "mode", "."], "TS_V_token": ["i386", "1", "2", "2", "2", "0"], "File": "i3864", "Func": "standard_sse_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38453, "Length": 114}
{"ground_truth": ["", "static", "bool", "swap_top_of_ready_list", "(", "rtx_insn", "*", "*", "ready", ",", "int", "n_ready", ")", "{", "rtx_insn", "*", "top", "=", "ready", "[", "n_ready", "-", "1", "]", ";", "rtx_insn", "*", "next", "=", "ready", "[", "n_ready", "-", "2", "]", ";", "rtx", "set", ";", "sd_iterator_def", "sd_it", ";", "dep_t", "dep", ";", "int", "clock1", "=", "-", "1", ";", "int", "clock2", "=", "-", "1", ";", "if", "(", "!", "TARGET_SILVERMONT", "&&", "!", "TARGET_INTEL", ")", "return", "false", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "top", ")", ")", "return", "false", ";", "if", "(", "!", "NONJUMP_INSN_P", "(", "top", ")", ")", "return", "false", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "next", ")", ")", "return", "false", ";", "if", "(", "!", "NONJUMP_INSN_P", "(", "next", ")", ")", "return", "false", ";", "set", "=", "single_set", "(", "top", ")", ";", "if", "(", "!", "set", ")", "return", "false", ";", "set", "=", "single_set", "(", "next", ")", ";", "if", "(", "!", "set", ")", "return", "false", ";", "if", "(", "INSN_PRIORITY_KNOWN", "(", "top", ")", "&&", "INSN_PRIORITY_KNOWN", "(", "next", ")", ")", "{", "if", "(", "INSN_PRIORITY", "(", "top", ")", "!=", "INSN_PRIORITY", "(", "next", ")", ")", "return", "false", ";", "FOR_EACH_DEP", "(", "top", ",", "SD_LIST_RES_BACK", ",", "sd_it", ",", "dep", ")", "{", "rtx", "pro", ";", "pro", "=", "DEP_PRO", "(", "dep", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "pro", ")", ")", "continue", ";", "if", "(", "INSN_TICK", "(", "pro", ")", ">", "clock1", ")", "clock1", "=", "INSN_TICK", "(", "pro", ")", ";", "}", "FOR_EACH_DEP", "(", "next", ",", "SD_LIST_RES_BACK", ",", "sd_it", ",", "dep", ")", "{", "rtx", "pro", ";", "pro", "=", "DEP_PRO", "(", "dep", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "pro", ")", ")", "continue", ";", "if", "(", "INSN_TICK", "(", "pro", ")", ">", "clock2", ")", "clock2", "=", "INSN_TICK", "(", "pro", ")", ";", "}", "if", "(", "clock1", "==", "clock2", ")", "{", "enum", "attr_memory", "memory1", ",", "memory2", ";", "memory1", "=", "get_attr_memory", "(", "top", ")", ";", "memory2", "=", "get_attr_memory", "(", "next", ")", ";", "if", "(", "memory2", "==", "MEMORY_LOAD", "&&", "memory1", "!=", "MEMORY_LOAD", ")", "return", "true", ";", "}", "return", "(", "bool", ")", "(", "clock2", "<", "clock1", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Try", "to", "find", "the", "best", "candidate", "on", "the", "top", "of", "ready", "list", "if", "two", "insns", "have", "the", "same", "priority", "-", "candidate", "is", "best", "if", "its", "dependees", "were", "scheduled", "earlier", ".", "Applied", "for", "Silvermont", "only", ".", "Return", "true", "if", "top", "2", "insns", "must", "be", "interchanged", "."], "TS_V_token": ["i386", "1", "2", "1", "1"], "File": "i3864", "Func": "swap_top_of_ready_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38454, "Length": 321}
{"ground_truth": ["", "static", "machine_mode", "type_natural_mode", "(", "const_tree", "type", ",", "const", "CUMULATIVE_ARGS", "*", "cum", ",", "bool", "in_return", ")", "{", "machine_mode", "mode", "=", "TYPE_MODE", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "&&", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "HOST_WIDE_INT", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "(", "size", "==", "8", "||", "size", "==", "16", "||", "size", "==", "32", "||", "size", "==", "64", ")", "&&", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", ">", "1", ")", "{", "machine_mode", "innermode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ";", "if", "(", "TREE_CODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "REAL_TYPE", ")", "mode", "=", "MIN_MODE_VECTOR_FLOAT", ";", "else", "mode", "=", "MIN_MODE_VECTOR_INT", ";", "for", "(", ";", "mode", "!=", "VOIDmode", ";", "mode", "=", "GET_MODE_WIDER_MODE", "(", "mode", ")", ")", "if", "(", "GET_MODE_NUNITS", "(", "mode", ")", "==", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", "&&", "GET_MODE_INNER", "(", "mode", ")", "==", "innermode", ")", "{", "if", "(", "size", "==", "64", "&&", "!", "TARGET_AVX512F", ")", "{", "static", "bool", "warnedavx512f", ";", "static", "bool", "warnedavx512f_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_avx512f", "&&", "!", "warnedavx512f", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX512F vector argument \"", "\"without AVX512F enabled changes the ABI\"", ")", ")", "warnedavx512f", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedavx512f_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX512F vector return \"", "\"without AVX512F enabled changes the ABI\"", ")", ")", "warnedavx512f_ret", "=", "true", ";", "}", "return", "TYPE_MODE", "(", "type", ")", ";", "}", "else", "if", "(", "size", "==", "32", "&&", "!", "TARGET_AVX", ")", "{", "static", "bool", "warnedavx", ";", "static", "bool", "warnedavx_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_avx", "&&", "!", "warnedavx", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX vector argument \"", "\"without AVX enabled changes the ABI\"", ")", ")", "warnedavx", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedavx_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX vector return \"", "\"without AVX enabled changes the ABI\"", ")", ")", "warnedavx_ret", "=", "true", ";", "}", "return", "TYPE_MODE", "(", "type", ")", ";", "}", "else", "if", "(", "(", "(", "size", "==", "8", "&&", "TARGET_64BIT", ")", "||", "size", "==", "16", ")", "&&", "!", "TARGET_SSE", ")", "{", "static", "bool", "warnedsse", ";", "static", "bool", "warnedsse_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_sse", "&&", "!", "warnedsse", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"SSE vector argument \"", "\"without SSE enabled changes the ABI\"", ")", ")", "warnedsse", "=", "true", ";", "}", "else", "if", "(", "!", "TARGET_64BIT", "&&", "in_return", "&&", "!", "warnedsse_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"SSE vector return \"", "\"without SSE enabled changes the ABI\"", ")", ")", "warnedsse_ret", "=", "true", ";", "}", "}", "else", "if", "(", "(", "size", "==", "8", "&&", "!", "TARGET_64BIT", ")", "&&", "!", "TARGET_MMX", ")", "{", "static", "bool", "warnedmmx", ";", "static", "bool", "warnedmmx_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_mmx", "&&", "!", "warnedmmx", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"MMX vector argument \"", "\"without MMX enabled changes the ABI\"", ")", ")", "warnedmmx", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedmmx_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"MMX vector return \"", "\"without MMX enabled changes the ABI\"", ")", ")", "warnedmmx_ret", "=", "true", ";", "}", "}", "return", "mode", ";", "}", "gcc_unreachable", "(", ")", ";", "}", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Return", "the", "``", "natural", "''", "mode", "for", "TYPE", ".", "In", "most", "cases", ",", "this", "is", "just", "TYPE_MODE", ".", "But", "in", "the", "case", "of", "vector", "types", ",", "it", "is", "some", "vector", "mode", ".", "When", "we", "have", "only", "some", "of", "our", "vector", "isa", "extensions", "enabled", ",", "then", "there", "are", "some", "modes", "for", "which", "vector_mode_supported_p", "is", "false", ".", "For", "these", "modes", ",", "the", "generic", "vector", "support", "in", "gcc", "will", "choose", "some", "non-vector", "mode", "in", "order", "to", "implement", "the", "type", ".", "By", "computing", "the", "natural", "mode", ",", "we", "'ll", "select", "the", "proper", "ABI", "location", "for", "the", "operand", "and", "not", "depend", "on", "whatever", "the", "middle-end", "decides", "to", "do", "with", "these", "vector", "types", "."], "TS_V_token": ["i386", "8", "16", "32", "64", "1", "64", "\"AVX512F vector argument \"", "\"without AVX512F enabled changes the ABI\"", "\"AVX512F vector return \"", "\"without AVX512F enabled changes the ABI\"", "32", "\"AVX vector argument \"", "\"without AVX enabled changes the ABI\"", "\"AVX vector return \"", "\"without AVX enabled changes the ABI\"", "8", "16", "\"SSE vector argument \"", "\"without SSE enabled changes the ABI\"", "\"SSE vector return \"", "\"without SSE enabled changes the ABI\"", "8", "\"MMX vector argument \"", "\"without MMX enabled changes the ABI\"", "\"MMX vector return \"", "\"without MMX enabled changes the ABI\""], "File": "i3864", "Func": "type_natural_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38455, "Length": 469}
{"ground_truth": ["", "static", "unsigned", "int", "ATTRIBUTE_UNUSED", "x86_64_elf_section_type_flags", "(", "tree", "decl", ",", "const", "char", "*", "name", ",", "int", "reloc", ")", "{", "unsigned", "int", "flags", "=", "default_section_type_flags", "(", "decl", ",", "name", ",", "reloc", ")", ";", "if", "(", "decl", "==", "NULL_TREE", "&&", "(", "strcmp", "(", "name", ",", "\".ldata.rel.ro\"", ")", "==", "0", "||", "strcmp", "(", "name", ",", "\".ldata.rel.ro.local\"", ")", "==", "0", ")", ")", "flags", "|=", "SECTION_RELRO", ";", "if", "(", "strcmp", "(", "name", ",", "\".lbss\"", ")", "==", "0", "||", "strncmp", "(", "name", ",", "\".lbss.\"", ",", "5", ")", "==", "0", "||", "strncmp", "(", "name", ",", "\".gnu.linkonce.lb.\"", ",", "16", ")", "==", "0", ")", "flags", "|=", "SECTION_BSS", ";", "return", "flags", ";", "}", ""], "natrual_language": ["Select", "a", "set", "of", "attributes", "for", "section", "NAME", "based", "on", "the", "properties", "of", "DECL", "and", "whether", "or", "not", "RELOC", "indicates", "that", "DECL", "'s", "initializer", "might", "contain", "runtime", "relocations", "."], "TS_V_token": ["i386", "\".ldata.rel.ro\"", "0", "\".ldata.rel.ro.local\"", "0", "\".lbss\"", "0", "\".lbss.\"", "5", "0", "\".gnu.linkonce.lb.\"", "16", "0"], "File": "i3864", "Func": "x86_64_elf_section_type_flags", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38456, "Length": 102}
{"ground_truth": ["", "ATTRIBUTE_UNUSED", "static", "section", "*", "x86_64_elf_select_section", "(", "tree", "decl", ",", "int", "reloc", ",", "unsigned", "HOST_WIDE_INT", "align", ")", "{", "if", "(", "ix86_in_large_data_p", "(", "decl", ")", ")", "{", "const", "char", "*", "sname", "=", "NULL", ";", "unsigned", "int", "flags", "=", "SECTION_WRITE", ";", "switch", "(", "categorize_decl_for_section", "(", "decl", ",", "reloc", ")", ")", "{", "case", "SECCAT_DATA", ":", "sname", "=", "\".ldata\"", ";", "break", ";", "case", "SECCAT_DATA_REL", ":", "sname", "=", "\".ldata.rel\"", ";", "break", ";", "case", "SECCAT_DATA_REL_LOCAL", ":", "sname", "=", "\".ldata.rel.local\"", ";", "break", ";", "case", "SECCAT_DATA_REL_RO", ":", "sname", "=", "\".ldata.rel.ro\"", ";", "break", ";", "case", "SECCAT_DATA_REL_RO_LOCAL", ":", "sname", "=", "\".ldata.rel.ro.local\"", ";", "break", ";", "case", "SECCAT_BSS", ":", "sname", "=", "\".lbss\"", ";", "flags", "|=", "SECTION_BSS", ";", "break", ";", "case", "SECCAT_RODATA", ":", "case", "SECCAT_RODATA_MERGE_STR", ":", "case", "SECCAT_RODATA_MERGE_STR_INIT", ":", "case", "SECCAT_RODATA_MERGE_CONST", ":", "sname", "=", "\".lrodata\"", ";", "flags", "=", "0", ";", "break", ";", "case", "SECCAT_SRODATA", ":", "case", "SECCAT_SDATA", ":", "case", "SECCAT_SBSS", ":", "gcc_unreachable", "(", ")", ";", "case", "SECCAT_TEXT", ":", "case", "SECCAT_TDATA", ":", "case", "SECCAT_TBSS", ":", "break", ";", "}", "if", "(", "sname", ")", "{", "if", "(", "!", "DECL_P", "(", "decl", ")", ")", "return", "get_section", "(", "sname", ",", "flags", ",", "NULL", ")", ";", "return", "get_named_section", "(", "decl", ",", "sname", ",", "reloc", ")", ";", "}", "}", "return", "default_elf_select_section", "(", "decl", ",", "reloc", ",", "align", ")", ";", "}", ""], "natrual_language": ["switch", "to", "the", "appropriate", "section", "for", "output", "of", "DECL", ".", "DECL", "is", "either", "a", "`", "VAR_DECL", "'", "node", "or", "a", "constant", "of", "some", "sort", ".", "RELOC", "indicates", "whether", "forming", "the", "initial", "value", "of", "DECL", "requires", "link-time", "relocations", "."], "TS_V_token": ["i386", "\".ldata\"", "\".ldata.rel\"", "\".ldata.rel.local\"", "\".ldata.rel.ro\"", "\".ldata.rel.ro.local\"", "\".lbss\"", "\".lrodata\"", "0"], "File": "i3864", "Func": "x86_64_elf_select_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38457, "Length": 199}
{"ground_truth": ["", "void", "x86_elf_aligned_common", "(", "FILE", "*", "file", ",", "const", "char", "*", "name", ",", "unsigned", "HOST_WIDE_INT", "size", ",", "int", "align", ")", "{", "if", "(", "(", "ix86_cmodel", "==", "CM_MEDIUM", "||", "ix86_cmodel", "==", "CM_MEDIUM_PIC", ")", "&&", "size", ">", "(", "unsigned", "int", ")", "ix86_section_threshold", ")", "fputs", "(", "\"\\t.largecomm\\t\"", ",", "file", ")", ";", "else", "fputs", "(", "COMMON_ASM_OP", ",", "file", ")", ";", "assemble_name", "(", "file", ",", "name", ")", ";", "fprintf", "(", "file", ",", "\",\"", "HOST_WIDE_INT_PRINT_UNSIGNED", "\",%u\\n\"", ",", "size", ",", "align", "/", "BITS_PER_UNIT", ")", ";", "}", ""], "natrual_language": ["This", "says", "how", "to", "output", "assembler", "code", "to", "declare", "an", "uninitialized", "external", "linkage", "data", "object", ".", "For", "medium", "model", "x86-64", "we", "need", "to", "use", ".largecomm", "opcode", "for", "large", "objects", "."], "TS_V_token": ["i386", "\"\\t.largecomm\\t\"", "\",\"", "\",%u\\n\""], "File": "i3864", "Func": "x86_elf_aligned_common", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38458, "Length": 78}
{"ground_truth": ["", "void", "x86_emit_floatuns", "(", "rtx", "operands", "[", "2", "]", ")", "{", "rtx_code_label", "*", "neglab", ",", "*", "donelab", ";", "rtx", "i0", ",", "i1", ",", "f0", ",", "in", ",", "out", ";", "machine_mode", "mode", ",", "inmode", ";", "inmode", "=", "GET_MODE", "(", "operands", "[", "1", "]", ")", ";", "gcc_assert", "(", "inmode", "==", "SImode", "||", "inmode", "==", "DImode", ")", ";", "out", "=", "operands", "[", "0", "]", ";", "in", "=", "force_reg", "(", "inmode", ",", "operands", "[", "1", "]", ")", ";", "mode", "=", "GET_MODE", "(", "out", ")", ";", "neglab", "=", "gen_label_rtx", "(", ")", ";", "donelab", "=", "gen_label_rtx", "(", ")", ";", "f0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_cmp_and_jump_insns", "(", "in", ",", "const0_rtx", ",", "LT", ",", "const0_rtx", ",", "inmode", ",", "0", ",", "neglab", ")", ";", "expand_float", "(", "out", ",", "in", ",", "0", ")", ";", "emit_jump_insn", "(", "gen_jump", "(", "donelab", ")", ")", ";", "emit_barrier", "(", ")", ";", "emit_label", "(", "neglab", ")", ";", "i0", "=", "expand_simple_binop", "(", "inmode", ",", "LSHIFTRT", ",", "in", ",", "const1_rtx", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "i1", "=", "expand_simple_binop", "(", "inmode", ",", "AND", ",", "in", ",", "const1_rtx", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "i0", "=", "expand_simple_binop", "(", "inmode", ",", "IOR", ",", "i0", ",", "i1", ",", "i0", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "expand_float", "(", "f0", ",", "i0", ",", "0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "VOIDmode", ",", "out", ",", "gen_rtx_PLUS", "(", "mode", ",", "f0", ",", "f0", ")", ")", ")", ";", "emit_label", "(", "donelab", ")", ";", "}", ""], "natrual_language": ["Generate", "an", "unsigned", "DImode/SImode", "to", "FP", "conversion", ".", "This", "is", "the", "same", "code", "optabs", "would", "emit", "if", "we", "did", "n't", "have", "TFmode", "patterns", "."], "TS_V_token": ["i386", "2", "1", "0", "1", "0", "0", "1", "1", "1", "0"], "File": "i3864", "Func": "x86_emit_floatuns", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38459, "Length": 233}
{"ground_truth": ["", "void", "x86_function_profiler", "(", "FILE", "*", "file", ",", "int", "labelno", "ATTRIBUTE_UNUSED", ")", "{", "const", "char", "*", "mcount_name", "=", "(", "flag_fentry", "?", "MCOUNT_NAME_BEFORE_PROLOGUE", ":", "MCOUNT_NAME", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "fprintf", "(", "file", ",", "\"\\tleaq\\t%sP%d(%%rip),%%r11\\n\"", ",", "LPREFIX", ",", "labelno", ")", ";", "if", "(", "!", "TARGET_PECOFF", "&&", "flag_pic", ")", "fprintf", "(", "file", ",", "\"1:\\tcall\\t*%s@GOTPCREL(%%rip)\\n\"", ",", "mcount_name", ")", ";", "else", "x86_print_call_or_nop", "(", "file", ",", "mcount_name", ")", ";", "}", "else", "if", "(", "flag_pic", ")", "{", "fprintf", "(", "file", ",", "\"\\tleal\\t%sP%d@GOTOFF(%%ebx),%%\"", "PROFILE_COUNT_REGISTER", "\"\\n\"", ",", "LPREFIX", ",", "labelno", ")", ";", "fprintf", "(", "file", ",", "\"1:\\tcall\\t*%s@GOT(%%ebx)\\n\"", ",", "mcount_name", ")", ";", "}", "else", "{", "fprintf", "(", "file", ",", "\"\\tmovl\\t$%sP%d,%%\"", "PROFILE_COUNT_REGISTER", "\"\\n\"", ",", "LPREFIX", ",", "labelno", ")", ";", "x86_print_call_or_nop", "(", "file", ",", "mcount_name", ")", ";", "}", "if", "(", "flag_record_mcount", ")", "{", "fprintf", "(", "file", ",", "\"\\t.section __mcount_loc, \\\"a\\\",@progbits\\n\"", ")", ";", "fprintf", "(", "file", ",", "\"\\t.%s 1b\\n\"", ",", "TARGET_64BIT", "?", "\"quad\"", ":", "\"long\"", ")", ";", "fprintf", "(", "file", ",", "\"\\t.previous\\n\"", ")", ";", "}", "}", ""], "natrual_language": ["Output", "assembler", "code", "to", "FILE", "to", "increment", "profiler", "label", "#", "LABELNO", "for", "profiling", "a", "function", "entry", "."], "TS_V_token": ["i386", "\"\\tleaq\\t%sP%d(%%rip),%%r11\\n\"", "\"1:\\tcall\\t*%s@GOTPCREL(%%rip)\\n\"", "\"\\tleal\\t%sP%d@GOTOFF(%%ebx),%%\"", "\"\\n\"", "\"1:\\tcall\\t*%s@GOT(%%ebx)\\n\"", "\"\\tmovl\\t$%sP%d,%%\"", "\"\\n\"", "\"\\t.section __mcount_loc, \\\"a\\\",@progbits\\n\"", "\"\\t.%s 1b\\n\"", "\"quad\"", "\"long\"", "\"\\t.previous\\n\""], "File": "i3864", "Func": "x86_function_profiler", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38460, "Length": 152}
{"ground_truth": ["", "bool", "x86_maybe_negate_const_int", "(", "rtx", "*", "loc", ",", "machine_mode", "mode", ")", "{", "HOST_WIDE_INT", "val", ";", "if", "(", "!", "CONST_INT_P", "(", "*", "loc", ")", ")", "return", "false", ";", "switch", "(", "mode", ")", "{", "case", "DImode", ":", "gcc_assert", "(", "x86_64_immediate_operand", "(", "*", "loc", ",", "mode", ")", ")", ";", "mode", "=", "SImode", ";", "break", ";", "case", "SImode", ":", "case", "HImode", ":", "case", "QImode", ":", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "mode_signbit_p", "(", "mode", ",", "*", "loc", ")", ")", "return", "false", ";", "val", "=", "INTVAL", "(", "*", "loc", ")", ";", "if", "(", "(", "val", "<", "0", "&&", "val", "!=", "-", "128", ")", "||", "val", "==", "128", ")", "{", "*", "loc", "=", "GEN_INT", "(", "-", "val", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["If", "profitable", ",", "negate", "(", "without", "causing", "overflow", ")", "integer", "constant", "of", "mode", "MODE", "at", "location", "LOC", ".", "Return", "true", "in", "this", "case", "."], "TS_V_token": ["i386", "0", "128", "128"], "File": "i3864", "Func": "x86_maybe_negate_const_int", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38461, "Length": 125}
{"ground_truth": ["", "void", "x86_order_regs_for_local_alloc", "(", "void", ")", "{", "int", "pos", "=", "0", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "i", ")", "&&", "call_used_regs", "[", "i", "]", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "i", ")", "&&", "!", "call_used_regs", "[", "i", "]", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "if", "(", "!", "TARGET_SSE_MATH", ")", "for", "(", "i", "=", "FIRST_STACK_REG", ";", "i", "<=", "LAST_STACK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_SSE_REG", ";", "i", "<=", "LAST_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_MASK_REG", ";", "i", "<=", "LAST_MASK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_BND_REG", ";", "i", "<=", "LAST_BND_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "if", "(", "TARGET_SSE_MATH", ")", "for", "(", "i", "=", "FIRST_STACK_REG", ";", "i", "<=", "LAST_STACK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_MMX_REG", ";", "i", "<=", "LAST_MMX_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "while", "(", "pos", "<", "FIRST_PSEUDO_REGISTER", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "0", ";", "}", ""], "natrual_language": ["Order", "the", "registers", "for", "register", "allocator", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i3864", "Func": "x86_order_regs_for_local_alloc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38462, "Length": 273}
{"ground_truth": ["", "static", "void", "x86_print_call_or_nop", "(", "FILE", "*", "file", ",", "const", "char", "*", "target", ")", "{", "if", "(", "flag_nop_mcount", ")", "fprintf", "(", "file", ",", "\"1:\\tnopl 0x00(%%eax,%%eax,1)\\n\"", ")", ";", "else", "fprintf", "(", "file", ",", "\"1:\\tcall\\t%s\\n\"", ",", "target", ")", ";", "}", ""], "natrual_language": ["Print", "call", "to", "TARGET", "to", "FILE", "."], "TS_V_token": ["i386", "\"1:\\tnopl 0x00(%%eax,%%eax,1)\\n\"", "\"1:\\tcall\\t%s\\n\""], "File": "i3864", "Func": "x86_print_call_or_nop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38463, "Length": 36}
{"ground_truth": ["", "void", "scalar_chain", "::", "add_insn", "(", "bitmap", "candidates", ",", "unsigned", "int", "insn_uid", ")", "{", "if", "(", "bitmap_bit_p", "(", "insns", ",", "insn_uid", ")", ")", "return", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Adding insn %d to chain #%d\\n\"", ",", "insn_uid", ",", "chain_id", ")", ";", "bitmap_set_bit", "(", "insns", ",", "insn_uid", ")", ";", "rtx_insn", "*", "insn", "=", "DF_INSN_UID_GET", "(", "insn_uid", ")", "->", "insn", ";", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "def_set", "&&", "REG_P", "(", "SET_DEST", "(", "def_set", ")", ")", "&&", "!", "HARD_REGISTER_P", "(", "SET_DEST", "(", "def_set", ")", ")", ")", "bitmap_set_bit", "(", "defs", ",", "REGNO", "(", "SET_DEST", "(", "def_set", ")", ")", ")", ";", "df_ref", "ref", ";", "df_ref", "def", ";", "for", "(", "ref", "=", "DF_INSN_UID_DEFS", "(", "insn_uid", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "!", "HARD_REGISTER_P", "(", "DF_REF_REG", "(", "ref", ")", ")", ")", "for", "(", "def", "=", "DF_REG_DEF_CHAIN", "(", "DF_REF_REGNO", "(", "ref", ")", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "analyze_register_chain", "(", "candidates", ",", "def", ")", ";", "for", "(", "ref", "=", "DF_INSN_UID_USES", "(", "insn_uid", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_LOC", "(", "ref", ")", ")", "if", "(", "!", "DF_REF_REG_MEM_P", "(", "ref", ")", ")", "analyze_register_chain", "(", "candidates", ",", "ref", ")", ";", "}", ""], "natrual_language": ["Add", "instruction", "into", "a", "chain", ".", "Return", "true", "if", "OK", ",", "false", "if", "the", "search", "was", "aborted", "."], "TS_V_token": ["i386", "\" Adding insn %d to chain #%d\\n\""], "File": "i3865", "Func": "add_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38464, "Length": 196}
{"ground_truth": ["", "static", "bool", "canonicalize_vector_int_perm", "(", "const", "struct", "expand_vec_perm_d", "*", "d", ",", "struct", "expand_vec_perm_d", "*", "nd", ")", "{", "int", "i", ";", "enum", "machine_mode", "mode", "=", "VOIDmode", ";", "switch", "(", "d", "->", "vmode", ")", "{", "case", "V16QImode", ":", "mode", "=", "V8HImode", ";", "break", ";", "case", "V32QImode", ":", "mode", "=", "V16HImode", ";", "break", ";", "case", "V64QImode", ":", "mode", "=", "V32HImode", ";", "break", ";", "case", "V8HImode", ":", "mode", "=", "V4SImode", ";", "break", ";", "case", "V16HImode", ":", "mode", "=", "V8SImode", ";", "break", ";", "case", "V32HImode", ":", "mode", "=", "V16SImode", ";", "break", ";", "case", "V4SImode", ":", "mode", "=", "V2DImode", ";", "break", ";", "case", "V8SImode", ":", "mode", "=", "V4DImode", ";", "break", ";", "case", "V16SImode", ":", "mode", "=", "V8DImode", ";", "break", ";", "default", ":", "return", "false", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "d", "->", "nelt", ";", "i", "+=", "2", ")", "if", "(", "(", "d", "->", "perm", "[", "i", "]", "&", "1", ")", "||", "d", "->", "perm", "[", "i", "+", "1", "]", "!=", "d", "->", "perm", "[", "i", "]", "+", "1", ")", "return", "false", ";", "nd", "->", "vmode", "=", "mode", ";", "nd", "->", "nelt", "=", "d", "->", "nelt", "/", "2", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nd", "->", "nelt", ";", "i", "++", ")", "nd", "->", "perm", "[", "i", "]", "=", "d", "->", "perm", "[", "2", "*", "i", "]", "/", "2", ";", "if", "(", "GET_MODE_INNER", "(", "mode", ")", "!=", "DImode", ")", "canonicalize_vector_int_perm", "(", "nd", ",", "nd", ")", ";", "if", "(", "nd", "!=", "d", ")", "{", "nd", "->", "one_operand_p", "=", "d", "->", "one_operand_p", ";", "nd", "->", "testing_p", "=", "d", "->", "testing_p", ";", "if", "(", "d", "->", "op0", "==", "d", "->", "op1", ")", "nd", "->", "op0", "=", "nd", "->", "op1", "=", "gen_lowpart", "(", "nd", "->", "vmode", ",", "d", "->", "op0", ")", ";", "else", "{", "nd", "->", "op0", "=", "gen_lowpart", "(", "nd", "->", "vmode", ",", "d", "->", "op0", ")", ";", "nd", "->", "op1", "=", "gen_lowpart", "(", "nd", "->", "vmode", ",", "d", "->", "op1", ")", ";", "}", "if", "(", "d", "->", "testing_p", ")", "nd", "->", "target", "=", "gen_raw_REG", "(", "nd", "->", "vmode", ",", "LAST_VIRTUAL_REGISTER", "+", "1", ")", ";", "else", "nd", "->", "target", "=", "gen_reg_rtx", "(", "nd", "->", "vmode", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["For", "V", "*", "[", "QHS", "]", "Imode", "permutations", ",", "check", "if", "the", "same", "permutation", "ca", "n't", "be", "performed", "in", "a", "2x", ",", "4x", "or", "8x", "wider", "inner", "mode", "."], "TS_V_token": ["i386", "0", "2", "1", "1", "1", "2", "0", "2", "2", "1"], "File": "i3865", "Func": "canonicalize_vector_int_perm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38465, "Length": 357}
{"ground_truth": ["", "int", "scalar_chain", "::", "compute_convert_gain", "(", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "insn_uid", ";", "int", "gain", "=", "0", ";", "int", "cost", "=", "0", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Computing gain for chain #%d...\\n\"", ",", "chain_id", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "insns", ",", "0", ",", "insn_uid", ",", "bi", ")", "{", "rtx_insn", "*", "insn", "=", "DF_INSN_UID_GET", "(", "insn_uid", ")", "->", "insn", ";", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "REG_P", "(", "src", ")", "&&", "REG_P", "(", "dst", ")", ")", "gain", "+=", "COSTS_N_INSNS", "(", "2", ")", "-", "ix86_cost", "->", "sse_move", ";", "else", "if", "(", "REG_P", "(", "src", ")", "&&", "MEM_P", "(", "dst", ")", ")", "gain", "+=", "2", "*", "ix86_cost", "->", "int_store", "[", "2", "]", "-", "ix86_cost", "->", "sse_store", "[", "1", "]", ";", "else", "if", "(", "MEM_P", "(", "src", ")", "&&", "REG_P", "(", "dst", ")", ")", "gain", "+=", "2", "*", "ix86_cost", "->", "int_load", "[", "2", "]", "-", "ix86_cost", "->", "sse_load", "[", "1", "]", ";", "else", "if", "(", "GET_CODE", "(", "src", ")", "==", "PLUS", "||", "GET_CODE", "(", "src", ")", "==", "MINUS", "||", "GET_CODE", "(", "src", ")", "==", "IOR", "||", "GET_CODE", "(", "src", ")", "==", "XOR", "||", "GET_CODE", "(", "src", ")", "==", "AND", ")", "gain", "+=", "ix86_cost", "->", "add", ";", "else", "if", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", "{", "}", "else", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Instruction conversion gain: %d\\n\"", ",", "gain", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "defs_conv", ",", "0", ",", "insn_uid", ",", "bi", ")", "cost", "+=", "DF_REG_DEF_COUNT", "(", "insn_uid", ")", "*", "ix86_cost", "->", "mmxsse_to_integer", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Registers conversion cost: %d\\n\"", ",", "cost", ")", ";", "gain", "-=", "cost", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Total gain: %d\\n\"", ",", "gain", ")", ";", "return", "gain", ";", "}", ""], "natrual_language": ["Compute", "a", "gain", "for", "chain", "conversion", "."], "TS_V_token": ["i386", "0", "0", "\"Computing gain for chain #%d...\\n\"", "0", "2", "2", "2", "1", "2", "2", "1", "\" Instruction conversion gain: %d\\n\"", "0", "\" Registers conversion cost: %d\\n\"", "\" Total gain: %d\\n\""], "File": "i3865", "Func": "compute_convert_gain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38466, "Length": 297}
{"ground_truth": ["", "int", "scalar_chain", "::", "convert", "(", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "int", "converted_insns", "=", "0", ";", "if", "(", "!", "dbg_cnt", "(", "stv_conversion", ")", ")", "return", "0", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Converting chain #%d...\\n\"", ",", "chain_id", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "defs", ",", "0", ",", "id", ",", "bi", ")", "convert_reg", "(", "id", ")", ";", "EXECUTE_IF_AND_COMPL_IN_BITMAP", "(", "defs_conv", ",", "defs", ",", "0", ",", "id", ",", "bi", ")", "make_vector_copies", "(", "id", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "insns", ",", "0", ",", "id", ",", "bi", ")", "{", "convert_insn", "(", "DF_INSN_UID_GET", "(", "id", ")", "->", "insn", ")", ";", "converted_insns", "++", ";", "}", "return", "converted_insns", ";", "}", ""], "natrual_language": ["Convert", "whole", "chain", "creating", "required", "register", "conversions", "and", "copies", "."], "TS_V_token": ["i386", "0", "0", "\"Converting chain #%d...\\n\"", "0", "0", "0"], "File": "i3865", "Func": "convert", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38467, "Length": 103}
{"ground_truth": ["", "static", "bool", "convertible_comparison_p", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "gcc_assert", "(", "def_set", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", ";", "if", "(", "GET_CODE", "(", "dst", ")", "!=", "REG", "||", "REGNO", "(", "dst", ")", "!=", "FLAGS_REG", "||", "GET_MODE", "(", "dst", ")", "!=", "CCZmode", ")", "return", "false", ";", "rtx", "op1", "=", "XEXP", "(", "src", ",", "0", ")", ";", "rtx", "op2", "=", "XEXP", "(", "src", ",", "1", ")", ";", "if", "(", "op2", "!=", "CONST0_RTX", "(", "GET_MODE", "(", "op2", ")", ")", ")", "return", "false", ";", "if", "(", "GET_CODE", "(", "op1", ")", "!=", "IOR", ")", "return", "false", ";", "op2", "=", "XEXP", "(", "op1", ",", "1", ")", ";", "op1", "=", "XEXP", "(", "op1", ",", "0", ")", ";", "if", "(", "!", "SUBREG_P", "(", "op1", ")", "||", "!", "SUBREG_P", "(", "op2", ")", "||", "GET_MODE", "(", "op1", ")", "!=", "SImode", "||", "GET_MODE", "(", "op2", ")", "!=", "SImode", "||", "(", "(", "SUBREG_BYTE", "(", "op1", ")", "!=", "0", "||", "SUBREG_BYTE", "(", "op2", ")", "!=", "GET_MODE_SIZE", "(", "SImode", ")", ")", "&&", "(", "SUBREG_BYTE", "(", "op2", ")", "!=", "0", "||", "SUBREG_BYTE", "(", "op1", ")", "!=", "GET_MODE_SIZE", "(", "SImode", ")", ")", ")", ")", "return", "false", ";", "op1", "=", "SUBREG_REG", "(", "op1", ")", ";", "op2", "=", "SUBREG_REG", "(", "op2", ")", ";", "if", "(", "op1", "!=", "op2", "||", "!", "REG_P", "(", "op1", ")", "||", "GET_MODE", "(", "op1", ")", "!=", "DImode", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Check", "if", "comparison", "INSN", "may", "be", "transformed", "into", "vector", "comparison", ".", "Currently", "we", "transform", "equality/inequality", "checks", "which", "look", "like", ":", "(", "set", "(", "reg", ":", "CCZ", "17", "flags", ")", "(", "compare", ":", "CCZ", "(", "reg", ":", "TI", "x", ")", "(", "reg", ":", "TI", "y", ")", ")", ")"], "TS_V_token": ["i386", "0", "1", "1", "0", "0", "0"], "File": "i3865", "Func": "convertible_comparison_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38468, "Length": 258}
{"ground_truth": ["", "void", "scalar_chain", "::", "convert_insn", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "rtx", "subreg", ";", "if", "(", "MEM_P", "(", "dst", ")", "&&", "!", "REG_P", "(", "src", ")", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "emit_conversion_insns", "(", "gen_move_insn", "(", "dst", ",", "tmp", ")", ",", "insn", ")", ";", "dst", "=", "gen_rtx_SUBREG", "(", "V2DImode", ",", "tmp", ",", "0", ")", ";", "}", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "case", "PLUS", ":", "case", "MINUS", ":", "case", "IOR", ":", "case", "XOR", ":", "case", "AND", ":", "convert_op", "(", "&", "XEXP", "(", "src", ",", "0", ")", ",", "insn", ")", ";", "convert_op", "(", "&", "XEXP", "(", "src", ",", "1", ")", ",", "insn", ")", ";", "PUT_MODE", "(", "src", ",", "V2DImode", ")", ";", "break", ";", "case", "MEM", ":", "if", "(", "!", "REG_P", "(", "dst", ")", ")", "convert_op", "(", "&", "src", ",", "insn", ")", ";", "break", ";", "case", "REG", ":", "if", "(", "!", "MEM_P", "(", "dst", ")", ")", "convert_op", "(", "&", "src", ",", "insn", ")", ";", "break", ";", "case", "SUBREG", ":", "gcc_assert", "(", "GET_MODE", "(", "src", ")", "==", "V2DImode", ")", ";", "break", ";", "case", "COMPARE", ":", "src", "=", "SUBREG_REG", "(", "XEXP", "(", "XEXP", "(", "src", ",", "0", ")", ",", "0", ")", ")", ";", "gcc_assert", "(", "(", "REG_P", "(", "src", ")", "&&", "GET_MODE", "(", "src", ")", "==", "DImode", ")", "||", "(", "SUBREG_P", "(", "src", ")", "&&", "GET_MODE", "(", "src", ")", "==", "V2DImode", ")", ")", ";", "if", "(", "REG_P", "(", "src", ")", ")", "subreg", "=", "gen_rtx_SUBREG", "(", "V2DImode", ",", "src", ",", "0", ")", ";", "else", "subreg", "=", "copy_rtx_if_shared", "(", "src", ")", ";", "emit_insn_before", "(", "gen_vec_interleave_lowv2di", "(", "copy_rtx_if_shared", "(", "subreg", ")", ",", "copy_rtx_if_shared", "(", "subreg", ")", ",", "copy_rtx_if_shared", "(", "subreg", ")", ")", ",", "insn", ")", ";", "dst", "=", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ";", "src", "=", "gen_rtx_UNSPEC", "(", "CCmode", ",", "gen_rtvec", "(", "2", ",", "copy_rtx_if_shared", "(", "src", ")", ",", "copy_rtx_if_shared", "(", "src", ")", ")", ",", "UNSPEC_PTEST", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "SET_SRC", "(", "def_set", ")", "=", "src", ";", "SET_DEST", "(", "def_set", ")", "=", "dst", ";", "PATTERN", "(", "insn", ")", "=", "def_set", ";", "INSN_CODE", "(", "insn", ")", "=", "-", "1", ";", "recog_memoized", "(", "insn", ")", ";", "df_insn_rescan", "(", "insn", ")", ";", "}", ""], "natrual_language": ["Convert", "INSN", "to", "vector", "mode", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "0", "0", "2", "1"], "File": "i3865", "Func": "convert_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38469, "Length": 380}
{"ground_truth": ["", "void", "scalar_chain", "::", "convert_op", "(", "rtx", "*", "op", ",", "rtx_insn", "*", "insn", ")", "{", "*", "op", "=", "copy_rtx_if_shared", "(", "*", "op", ")", ";", "if", "(", "GET_CODE", "(", "*", "op", ")", "==", "NOT", ")", "{", "convert_op", "(", "&", "XEXP", "(", "*", "op", ",", "0", ")", ",", "insn", ")", ";", "PUT_MODE", "(", "*", "op", ",", "V2DImode", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "*", "op", ")", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "emit_insn_before", "(", "gen_move_insn", "(", "tmp", ",", "*", "op", ")", ",", "insn", ")", ";", "*", "op", "=", "gen_rtx_SUBREG", "(", "V2DImode", ",", "tmp", ",", "0", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Preloading operand for insn %d into r%d\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "REGNO", "(", "tmp", ")", ")", ";", "}", "else", "if", "(", "REG_P", "(", "*", "op", ")", ")", "{", "df_ref", "ref", ";", "FOR_EACH_INSN_USE", "(", "ref", ",", "insn", ")", "if", "(", "DF_REF_REGNO", "(", "ref", ")", "==", "REGNO", "(", "*", "op", ")", ")", "{", "gcc_assert", "(", "!", "DF_REF_CHAIN", "(", "ref", ")", ")", ";", "break", ";", "}", "*", "op", "=", "gen_rtx_SUBREG", "(", "V2DImode", ",", "*", "op", ",", "0", ")", ";", "}", "else", "{", "gcc_assert", "(", "SUBREG_P", "(", "*", "op", ")", ")", ";", "gcc_assert", "(", "GET_MODE", "(", "*", "op", ")", "==", "V2DImode", ")", ";", "}", "}", ""], "natrual_language": ["Convert", "operand", "OP", "in", "INSN", ".", "We", "should", "handle", "memory", "operands", "and", "uninitialized", "registers", ".", "All", "other", "register", "uses", "are", "converted", "during", "registers", "conversion", "."], "TS_V_token": ["i386", "0", "0", "\" Preloading operand for insn %d into r%d\\n\"", "0"], "File": "i3865", "Func": "convert_op", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38470, "Length": 205}
{"ground_truth": ["", "void", "scalar_chain", "::", "convert_reg", "(", "unsigned", "regno", ")", "{", "bool", "scalar_copy", "=", "bitmap_bit_p", "(", "defs_conv", ",", "regno", ")", ";", "rtx", "reg", "=", "regno_reg_rtx", "[", "regno", "]", ";", "rtx", "scopy", "=", "NULL_RTX", ";", "df_ref", "ref", ";", "bitmap", "conv", ";", "conv", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "bitmap_copy", "(", "conv", ",", "insns", ")", ";", "if", "(", "scalar_copy", ")", "scopy", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "for", "(", "ref", "=", "DF_REG_DEF_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "{", "rtx_insn", "*", "insn", "=", "DF_REF_INSN", "(", "ref", ")", ";", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "reg", "=", "DF_REF_REG", "(", "ref", ")", ";", "if", "(", "!", "MEM_P", "(", "src", ")", ")", "{", "replace_with_subreg_in_insn", "(", "insn", ",", "reg", ",", "reg", ")", ";", "bitmap_clear_bit", "(", "conv", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", "if", "(", "scalar_copy", ")", "{", "rtx", "vcopy", "=", "gen_reg_rtx", "(", "V2DImode", ")", ";", "start_sequence", "(", ")", ";", "if", "(", "TARGET_INTER_UNIT_MOVES_FROM_VEC", ")", "{", "emit_move_insn", "(", "vcopy", ",", "gen_rtx_SUBREG", "(", "V2DImode", ",", "reg", ",", "0", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "scopy", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "vcopy", ",", "0", ")", ")", ";", "emit_move_insn", "(", "vcopy", ",", "gen_rtx_LSHIFTRT", "(", "V2DImode", ",", "vcopy", ",", "GEN_INT", "(", "32", ")", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "scopy", ",", "4", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "vcopy", ",", "0", ")", ")", ";", "}", "else", "{", "rtx", "tmp", "=", "assign_386_stack_local", "(", "DImode", ",", "SLOT_TEMP", ")", ";", "emit_move_insn", "(", "tmp", ",", "reg", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "scopy", ",", "0", ")", ",", "adjust_address", "(", "tmp", ",", "SImode", ",", "0", ")", ")", ";", "emit_move_insn", "(", "gen_rtx_SUBREG", "(", "SImode", ",", "scopy", ",", "4", ")", ",", "adjust_address", "(", "tmp", ",", "SImode", ",", "4", ")", ")", ";", "}", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_conversion_insns", "(", "seq", ",", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Copied r%d to a scalar register r%d for insn %d\\n\"", ",", "regno", ",", "REGNO", "(", "scopy", ")", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", "}", "for", "(", "ref", "=", "DF_REG_USE_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "if", "(", "bitmap_bit_p", "(", "conv", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "rtx", "def_set", "=", "single_set", "(", "DF_REF_INSN", "(", "ref", ")", ")", ";", "if", "(", "!", "MEM_P", "(", "SET_DEST", "(", "def_set", ")", ")", "||", "!", "REG_P", "(", "SET_SRC", "(", "def_set", ")", ")", ")", "replace_with_subreg_in_insn", "(", "DF_REF_INSN", "(", "ref", ")", ",", "reg", ",", "reg", ")", ";", "bitmap_clear_bit", "(", "conv", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "}", "}", "else", "if", "(", "DF_REF_CHAIN", "(", "ref", ")", "&&", "NONDEBUG_INSN_P", "(", "DF_REF_INSN", "(", "ref", ")", ")", ")", "{", "gcc_assert", "(", "scopy", ")", ";", "replace_rtx", "(", "DF_REF_INSN", "(", "ref", ")", ",", "reg", ",", "scopy", ")", ";", "df_insn_rescan", "(", "DF_REF_INSN", "(", "ref", ")", ")", ";", "}", "BITMAP_FREE", "(", "conv", ")", ";", "}", ""], "natrual_language": ["Convert", "all", "definitions", "of", "register", "REGNO", "and", "fix", "its", "uses", ".", "Scalar", "copies", "may", "be", "created", "in", "case", "register", "is", "used", "in", "not", "convertible", "insn", "."], "TS_V_token": ["i386", "0", "0", "0", "32", "4", "0", "0", "0", "4", "4", "\" Copied r%d to a scalar register r%d for insn %d\\n\""], "File": "i3865", "Func": "convert_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38471, "Length": 494}
{"ground_truth": ["", "static", "unsigned", "int", "convert_scalars_to_vector", "(", ")", "{", "basic_block", "bb", ";", "bitmap", "candidates", ";", "int", "converted_insns", "=", "0", ";", "bitmap_obstack_initialize", "(", "NULL", ")", ";", "candidates", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "calculate_dominance_info", "(", "CDI_DOMINATORS", ")", ";", "df_set_flags", "(", "DF_DEFER_INSN_RESCAN", ")", ";", "df_chain_add_problem", "(", "DF_DU_CHAIN", "|", "DF_UD_CHAIN", ")", ";", "df_md_add_problem", "(", ")", ";", "df_analyze", "(", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Searching for mode conversion candidates...\\n\"", ")", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ";", "FOR_BB_INSNS", "(", "bb", ",", "insn", ")", "if", "(", "scalar_to_vector_candidate_p", "(", "insn", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" insn %d is marked as a candidate\\n\"", ",", "INSN_UID", "(", "insn", ")", ")", ";", "bitmap_set_bit", "(", "candidates", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", "}", "remove_non_convertible_regs", "(", "candidates", ")", ";", "if", "(", "bitmap_empty_p", "(", "candidates", ")", ")", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"There are no candidates for optimization.\\n\"", ")", ";", "while", "(", "!", "bitmap_empty_p", "(", "candidates", ")", ")", "{", "unsigned", "uid", "=", "bitmap_first_set_bit", "(", "candidates", ")", ";", "scalar_chain", "chain", ";", "chain", ".", "build", "(", "candidates", ",", "uid", ")", ";", "if", "(", "chain", ".", "compute_convert_gain", "(", ")", ">", "0", ")", "converted_insns", "+=", "chain", ".", "convert", "(", ")", ";", "else", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Chain #%d conversion is not profitable\\n\"", ",", "chain", ".", "chain_id", ")", ";", "}", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Total insns converted: %d\\n\"", ",", "converted_insns", ")", ";", "BITMAP_FREE", "(", "candidates", ")", ";", "bitmap_obstack_release", "(", "NULL", ")", ";", "df_process_deferred_rescans", "(", ")", ";", "if", "(", "converted_insns", ")", "{", "if", "(", "crtl", "->", "stack_alignment_needed", "<", "128", ")", "crtl", "->", "stack_alignment_needed", "=", "128", ";", "if", "(", "crtl", "->", "stack_alignment_estimated", "<", "128", ")", "crtl", "->", "stack_alignment_estimated", "=", "128", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Main", "STV", "pass", "function", ".", "Find", "and", "convert", "scalar", "instructions", "into", "vector", "mode", "when", "profitable", "."], "TS_V_token": ["i386", "0", "\"Searching for mode conversion candidates...\\n\"", "\" insn %d is marked as a candidate\\n\"", "\"There are no candidates for optimization.\\n\"", "0", "\"Chain #%d conversion is not profitable\\n\"", "\"Total insns converted: %d\\n\"", "128", "128", "128", "128", "0"], "File": "i3865", "Func": "convert_scalars_to_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38472, "Length": 271}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "NULL_TREE", ";", "if", "(", "!", "(", "mask", "&", "OPTION_MASK_ISA_64BIT", ")", "||", "TARGET_64BIT", ")", "{", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa", "=", "mask", ";", "if", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512VL", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512VL", ";", "mask", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "mask", "==", "0", "||", "(", "mask", "&", "ix86_isa_flags", ")", "!=", "0", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", "=", "ix86_get_builtin_func_type", "(", "tcode", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "false", ";", "}", "else", "{", "deferred_isa_values", "|=", "mask", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "tcode", "=", "tcode", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "name", "=", "name", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "leaf_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "nothrow_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "true", ";", "}", "}", "return", "decl", ";", "}", ""], "natrual_language": ["Add", "a", "SPARC", "builtin", "function", "with", "NAME", ",", "ICODE", ",", "CODE", "and", "TYPE", ".", "Return", "the", "function", "decl", "or", "NULL_TREE", "if", "the", "builtin", "was", "not", "added", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3865", "Func": "def_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38473, "Length": 236}
{"ground_truth": ["", "static", "int", "dispatch_function_versions", "(", "tree", "dispatch_decl", ",", "void", "*", "fndecls_p", ",", "basic_block", "*", "empty_bb", ")", "{", "tree", "default_decl", ";", "gimple", "*", "ifunc_cpu_init_stmt", ";", "gimple_seq", "gseq", ";", "int", "ix", ";", "tree", "ele", ";", "vec", "<", "tree", ">", "*", "fndecls", ";", "unsigned", "int", "num_versions", "=", "0", ";", "unsigned", "int", "actual_versions", "=", "0", ";", "unsigned", "int", "i", ";", "struct", "_function_version_info", "{", "tree", "version_decl", ";", "tree", "predicate_chain", ";", "unsigned", "int", "dispatch_priority", ";", "}", "*", "function_version_info", ";", "gcc_assert", "(", "dispatch_decl", "!=", "NULL", "&&", "fndecls_p", "!=", "NULL", "&&", "empty_bb", "!=", "NULL", ")", ";", "fndecls", "=", "static_cast", "<", "vec", "<", "tree", ">", "*", ">", "(", "fndecls_p", ")", ";", "num_versions", "=", "fndecls", "->", "length", "(", ")", ";", "gcc_assert", "(", "num_versions", ">=", "2", ")", ";", "function_version_info", "=", "(", "struct", "_function_version_info", "*", ")", "XNEWVEC", "(", "struct", "_function_version_info", ",", "(", "num_versions", "-", "1", ")", ")", ";", "default_decl", "=", "(", "*", "fndecls", ")", "[", "0", "]", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "dispatch_decl", ")", ")", ";", "gseq", "=", "bb_seq", "(", "*", "empty_bb", ")", ";", "ifunc_cpu_init_stmt", "=", "gimple_build_call_vec", "(", "ix86_builtins", "[", "(", "int", ")", "IX86_BUILTIN_CPU_INIT", "]", ",", "vNULL", ")", ";", "gimple_seq_add_stmt", "(", "&", "gseq", ",", "ifunc_cpu_init_stmt", ")", ";", "gimple_set_bb", "(", "ifunc_cpu_init_stmt", ",", "*", "empty_bb", ")", ";", "set_bb_seq", "(", "*", "empty_bb", ",", "gseq", ")", ";", "pop_cfun", "(", ")", ";", "for", "(", "ix", "=", "1", ";", "fndecls", "->", "iterate", "(", "ix", ",", "&", "ele", ")", ";", "++", "ix", ")", "{", "tree", "version_decl", "=", "ele", ";", "tree", "predicate_chain", "=", "NULL_TREE", ";", "unsigned", "int", "priority", ";", "priority", "=", "get_builtin_code_for_version", "(", "version_decl", ",", "&", "predicate_chain", ")", ";", "if", "(", "predicate_chain", "==", "NULL_TREE", ")", "continue", ";", "function_version_info", "[", "actual_versions", "]", ".", "version_decl", "=", "version_decl", ";", "function_version_info", "[", "actual_versions", "]", ".", "predicate_chain", "=", "predicate_chain", ";", "function_version_info", "[", "actual_versions", "]", ".", "dispatch_priority", "=", "priority", ";", "actual_versions", "++", ";", "}", "qsort", "(", "function_version_info", ",", "actual_versions", ",", "sizeof", "(", "struct", "_function_version_info", ")", ",", "feature_compare", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "actual_versions", ";", "++", "i", ")", "*", "empty_bb", "=", "add_condition_to_bb", "(", "dispatch_decl", ",", "function_version_info", "[", "i", "]", ".", "version_decl", ",", "function_version_info", "[", "i", "]", ".", "predicate_chain", ",", "*", "empty_bb", ")", ";", "*", "empty_bb", "=", "add_condition_to_bb", "(", "dispatch_decl", ",", "default_decl", ",", "NULL", ",", "*", "empty_bb", ")", ";", "free", "(", "function_version_info", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["This", "function", "generates", "the", "dispatch", "function", "for", "multi-versioned", "functions", ".", "DISPATCH_DECL", "is", "the", "function", "which", "will", "contain", "the", "dispatch", "logic", ".", "FNDECLS", "are", "the", "function", "choices", "for", "dispatch", ",", "and", "is", "a", "tree", "chain", ".", "EMPTY_BB", "is", "the", "basic", "block", "pointer", "in", "DISPATCH_DECL", "in", "which", "the", "dispatch", "code", "is", "generated", "."], "TS_V_token": ["i386", "0", "0", "2", "1", "0", "1", "0", "0"], "File": "i3865", "Func": "dispatch_function_versions", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38474, "Length": 364}
{"ground_truth": ["", "virtual", "unsigned", "int", "execute", "(", "function", "*", ")", "{", "return", "convert_scalars_to_vector", "(", ")", ";", "}", ""], "natrual_language": ["Main", "entry", "point", "for", "this", "pass", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "execute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38475, "Length": 15}
{"ground_truth": ["", "static", "void", "expand_set_or_movmem_via_rep", "(", "rtx", "destmem", ",", "rtx", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "rtx", "value", ",", "rtx", "orig_value", ",", "rtx", "count", ",", "machine_mode", "mode", ",", "bool", "issetmem", ")", "{", "rtx", "destexp", ";", "rtx", "srcexp", ";", "rtx", "countreg", ";", "HOST_WIDE_INT", "rounded_count", ";", "if", "(", "mode", "==", "QImode", "&&", "CONST_INT_P", "(", "count", ")", "&&", "!", "(", "INTVAL", "(", "count", ")", "&", "3", ")", "&&", "(", "!", "issetmem", "||", "orig_value", "==", "const0_rtx", ")", ")", "mode", "=", "SImode", ";", "if", "(", "destptr", "!=", "XEXP", "(", "destmem", ",", "0", ")", "||", "GET_MODE", "(", "destmem", ")", "!=", "BLKmode", ")", "destmem", "=", "adjust_automodify_address_nv", "(", "destmem", ",", "BLKmode", ",", "destptr", ",", "0", ")", ";", "countreg", "=", "ix86_zero_extend_to_Pmode", "(", "scale_counter", "(", "count", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ";", "if", "(", "mode", "!=", "QImode", ")", "{", "destexp", "=", "gen_rtx_ASHIFT", "(", "Pmode", ",", "countreg", ",", "GEN_INT", "(", "exact_log2", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ")", ";", "destexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "destexp", ",", "destptr", ")", ";", "}", "else", "destexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "destptr", ",", "countreg", ")", ";", "if", "(", "(", "!", "issetmem", "||", "orig_value", "==", "const0_rtx", ")", "&&", "CONST_INT_P", "(", "count", ")", ")", "{", "rounded_count", "=", "ROUND_DOWN", "(", "INTVAL", "(", "count", ")", ",", "(", "HOST_WIDE_INT", ")", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "destmem", "=", "shallow_copy_rtx", "(", "destmem", ")", ";", "set_mem_size", "(", "destmem", ",", "rounded_count", ")", ";", "}", "else", "if", "(", "MEM_SIZE_KNOWN_P", "(", "destmem", ")", ")", "clear_mem_size", "(", "destmem", ")", ";", "if", "(", "issetmem", ")", "{", "value", "=", "force_reg", "(", "mode", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "emit_insn", "(", "gen_rep_stos", "(", "destptr", ",", "countreg", ",", "destmem", ",", "value", ",", "destexp", ")", ")", ";", "}", "else", "{", "if", "(", "srcptr", "!=", "XEXP", "(", "srcmem", ",", "0", ")", "||", "GET_MODE", "(", "srcmem", ")", "!=", "BLKmode", ")", "srcmem", "=", "adjust_automodify_address_nv", "(", "srcmem", ",", "BLKmode", ",", "srcptr", ",", "0", ")", ";", "if", "(", "mode", "!=", "QImode", ")", "{", "srcexp", "=", "gen_rtx_ASHIFT", "(", "Pmode", ",", "countreg", ",", "GEN_INT", "(", "exact_log2", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ")", ")", ";", "srcexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "srcexp", ",", "srcptr", ")", ";", "}", "else", "srcexp", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "srcptr", ",", "countreg", ")", ";", "if", "(", "CONST_INT_P", "(", "count", ")", ")", "{", "rounded_count", "=", "ROUND_DOWN", "(", "INTVAL", "(", "count", ")", ",", "(", "HOST_WIDE_INT", ")", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "srcmem", "=", "shallow_copy_rtx", "(", "srcmem", ")", ";", "set_mem_size", "(", "srcmem", ",", "rounded_count", ")", ";", "}", "else", "{", "if", "(", "MEM_SIZE_KNOWN_P", "(", "srcmem", ")", ")", "clear_mem_size", "(", "srcmem", ")", ";", "}", "emit_insn", "(", "gen_rep_mov", "(", "destptr", ",", "destmem", ",", "srcptr", ",", "srcmem", ",", "countreg", ",", "destexp", ",", "srcexp", ")", ")", ";", "}", "}", ""], "natrual_language": ["Output", "``", "rep", ";", "mov", "''", "or", "``", "rep", ";", "stos", "''", "instruction", "depending", "on", "ISSETMEM", "argument", ".", "When", "ISSETMEM", "is", "true", ",", "arguments", "SRCMEM", "and", "SRCPTR", "are", "ignored", ".", "When", "ISSETMEM", "is", "false", ",", "arguments", "VALUE", "and", "ORIG_VALUE", "are", "ignored", ".", "For", "setmem", "case", ",", "VALUE", "is", "a", "promoted", "to", "a", "wider", "size", "ORIG_VALUE", ".", "ORIG_VALUE", "is", "the", "original", "value", "passed", "to", "memset", "to", "fill", "the", "memory", "with", ".", "Other", "arguments", "have", "same", "meaning", "as", "for", "previous", "function", "."], "TS_V_token": ["i386", "3", "0", "0", "0", "0"], "File": "i3865", "Func": "expand_set_or_movmem_via_rep", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38476, "Length": 436}
{"ground_truth": ["", "static", "void", "find_constant", "(", "rtx", "in_rtx", ",", "imm_info", "*", "imm_values", ")", "{", "if", "(", "INSN_P", "(", "in_rtx", ")", ")", "in_rtx", "=", "PATTERN", "(", "in_rtx", ")", ";", "subrtx_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "in_rtx", ",", "ALL", ")", "if", "(", "const_rtx", "x", "=", "*", "iter", ")", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "case", "SYMBOL_REF", ":", "case", "CONST_INT", ":", "(", "imm_values", "->", "imm", ")", "++", ";", "if", "(", "x86_64_immediate_operand", "(", "CONST_CAST_RTX", "(", "x", ")", ",", "SImode", ")", ")", "(", "imm_values", "->", "imm32", ")", "++", ";", "else", "(", "imm_values", "->", "imm64", ")", "++", ";", "break", ";", "case", "CONST_DOUBLE", ":", "case", "CONST_WIDE_INT", ":", "(", "imm_values", "->", "imm", ")", "++", ";", "(", "imm_values", "->", "imm64", ")", "++", ";", "break", ";", "case", "CODE_LABEL", ":", "if", "(", "LABEL_KIND", "(", "x", ")", "==", "LABEL_NORMAL", ")", "{", "(", "imm_values", "->", "imm", ")", "++", ";", "(", "imm_values", "->", "imm32", ")", "++", ";", "}", "break", ";", "default", ":", "break", ";", "}", "}", ""], "natrual_language": ["Compute", "number", "of", "immediate", "operands", "of", "an", "instruction", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "find_constant", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38477, "Length": 160}
{"ground_truth": ["", "static", "rtx", "function_arg_32", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "machine_mode", "mode", ",", "machine_mode", "orig_mode", ",", "const_tree", "type", ",", "HOST_WIDE_INT", "bytes", ",", "HOST_WIDE_INT", "words", ")", "{", "bool", "error_p", "=", "false", ";", "if", "(", "mode", "==", "VOIDmode", ")", "return", "constm1_rtx", ";", "if", "(", "TARGET_IAMCU", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", "&&", "bytes", "<=", "8", ")", "goto", "pass_in_reg", ";", "return", "NULL_RTX", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "break", ";", "case", "BLKmode", ":", "if", "(", "bytes", "<", "0", ")", "break", ";", "case", "DImode", ":", "case", "SImode", ":", "case", "HImode", ":", "case", "QImode", ":", "pass_in_reg", ":", "if", "(", "words", "<=", "cum", "->", "nregs", ")", "{", "int", "regno", "=", "cum", "->", "regno", ";", "if", "(", "cum", "->", "fastcall", ")", "{", "if", "(", "mode", "==", "BLKmode", "||", "mode", "==", "DImode", "||", "(", "type", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", ")", ")", "break", ";", "if", "(", "regno", "==", "AX_REG", ")", "regno", "=", "CX_REG", ";", "}", "return", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "}", "break", ";", "case", "DFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "1", ";", "if", "(", "cum", "->", "float_in_sse", "<", "2", ")", "break", ";", "case", "SFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "1", ";", "if", "(", "cum", "->", "float_in_sse", "<", "1", ")", "break", ";", "case", "TImode", ":", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "case", "V4SFmode", ":", "case", "V2DFmode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "sse_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "sse_regno", "+", "FIRST_SSE_REG", ")", ";", "}", "break", ";", "case", "OImode", ":", "case", "XImode", ":", "gcc_unreachable", "(", ")", ";", "case", "V64QImode", ":", "case", "V32HImode", ":", "case", "V16SImode", ":", "case", "V8DImode", ":", "case", "V16SFmode", ":", "case", "V8DFmode", ":", "case", "V8SFmode", ":", "case", "V8SImode", ":", "case", "V32QImode", ":", "case", "V16HImode", ":", "case", "V4DFmode", ":", "case", "V4DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "sse_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "sse_regno", "+", "FIRST_SSE_REG", ")", ";", "}", "break", ";", "case", "V8QImode", ":", "case", "V4HImode", ":", "case", "V2SImode", ":", "case", "V2SFmode", ":", "case", "V1TImode", ":", "case", "V1DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "mmx_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "mmx_regno", "+", "FIRST_MMX_REG", ")", ";", "}", "break", ";", "}", "if", "(", "error_p", ")", "{", "cum", "->", "float_in_sse", "=", "0", ";", "error", "(", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", ",", "cum", "->", "decl", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "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": ["i386", "8", "0", "1", "1", "2", "1", "1", "1", "0", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\""], "File": "i3865", "Func": "function_arg_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38478, "Length": 437}
{"ground_truth": ["", "static", "int", "function_arg_advance_32", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "HOST_WIDE_INT", "bytes", ",", "HOST_WIDE_INT", "words", ")", "{", "int", "res", "=", "0", ";", "bool", "error_p", "=", "NULL", ";", "if", "(", "TARGET_IAMCU", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", "&&", "bytes", "<=", "8", ")", "goto", "pass_in_reg", ";", "return", "res", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "break", ";", "case", "BLKmode", ":", "if", "(", "bytes", "<", "0", ")", "break", ";", "case", "DImode", ":", "case", "SImode", ":", "case", "HImode", ":", "case", "QImode", ":", "pass_in_reg", ":", "cum", "->", "words", "+=", "words", ";", "cum", "->", "nregs", "-=", "words", ";", "cum", "->", "regno", "+=", "words", ";", "if", "(", "cum", "->", "nregs", ">=", "0", ")", "res", "=", "words", ";", "if", "(", "cum", "->", "nregs", "<=", "0", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cfun", "->", "machine", "->", "arg_reg_available", "=", "false", ";", "cum", "->", "regno", "=", "0", ";", "}", "break", ";", "case", "OImode", ":", "gcc_unreachable", "(", ")", ";", "case", "DFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "1", ";", "if", "(", "cum", "->", "float_in_sse", "<", "2", ")", "break", ";", "case", "SFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "1", ";", "if", "(", "cum", "->", "float_in_sse", "<", "1", ")", "break", ";", "case", "V8SFmode", ":", "case", "V8SImode", ":", "case", "V64QImode", ":", "case", "V32HImode", ":", "case", "V16SImode", ":", "case", "V8DImode", ":", "case", "V16SFmode", ":", "case", "V8DFmode", ":", "case", "V32QImode", ":", "case", "V16HImode", ":", "case", "V4DFmode", ":", "case", "V4DImode", ":", "case", "TImode", ":", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "case", "V4SFmode", ":", "case", "V2DFmode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "cum", "->", "sse_words", "+=", "words", ";", "cum", "->", "sse_nregs", "-=", "1", ";", "cum", "->", "sse_regno", "+=", "1", ";", "if", "(", "cum", "->", "sse_nregs", "<=", "0", ")", "{", "cum", "->", "sse_nregs", "=", "0", ";", "cum", "->", "sse_regno", "=", "0", ";", "}", "}", "break", ";", "case", "V8QImode", ":", "case", "V4HImode", ":", "case", "V2SImode", ":", "case", "V2SFmode", ":", "case", "V1TImode", ":", "case", "V1DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "cum", "->", "mmx_words", "+=", "words", ";", "cum", "->", "mmx_nregs", "-=", "1", ";", "cum", "->", "mmx_regno", "+=", "1", ";", "if", "(", "cum", "->", "mmx_nregs", "<=", "0", ")", "{", "cum", "->", "mmx_nregs", "=", "0", ";", "cum", "->", "mmx_regno", "=", "0", ";", "}", "}", "break", ";", "}", "if", "(", "error_p", ")", "{", "cum", "->", "float_in_sse", "=", "0", ";", "error", "(", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", ",", "cum", "->", "decl", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "return", "res", ";", "}", ""], "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", ".", ")", "Return", "a", "number", "of", "integer", "regsiters", "advanced", "over", "."], "TS_V_token": ["i386", "0", "8", "0", "0", "0", "0", "0", "1", "1", "2", "1", "1", "1", "1", "1", "0", "0", "0", "1", "1", "0", "0", "0", "0", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\""], "File": "i3865", "Func": "function_arg_advance_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38479, "Length": 428}
{"ground_truth": ["", "static", "rtx", "function_value_32", "(", "machine_mode", "orig_mode", ",", "machine_mode", "mode", ",", "const_tree", "fntype", ",", "const_tree", "fn", ")", "{", "unsigned", "int", "regno", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "8", ")", "regno", "=", "FIRST_MMX_REG", ";", "else", "if", "(", "mode", "==", "TImode", "||", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", ")", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_FLOAT_RETURNS_IN_80387", ")", "regno", "=", "FIRST_FLOAT_REG", ";", "else", "regno", "=", "AX_REG", ";", "if", "(", "(", "fn", "||", "fntype", ")", "&&", "(", "mode", "==", "SFmode", "||", "mode", "==", "DFmode", ")", ")", "{", "int", "sse_level", "=", "ix86_function_sseregparm", "(", "fntype", ",", "fn", ",", "false", ")", ";", "if", "(", "sse_level", "==", "-", "1", ")", "{", "error", "(", "\"calling %qD with SSE caling convention without \"", "\"SSE/SSE2 enabled\"", ",", "fn", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "else", "if", "(", "(", "sse_level", ">=", "1", "&&", "mode", "==", "SFmode", ")", "||", "(", "sse_level", "==", "2", "&&", "mode", "==", "DFmode", ")", ")", "regno", "=", "FIRST_SSE_REG", ";", "}", "gcc_assert", "(", "mode", "!=", "OImode", ")", ";", "return", "gen_rtx_REG", "(", "orig_mode", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Define", "how", "to", "find", "the", "value", "returned", "by", "a", "function", ".", "VALTYPE", "is", "the", "data", "type", "of", "the", "value", "(", "as", "a", "tree", ")", ".", "If", "the", "precise", "function", "being", "called", "is", "known", ",", "FUNC", "is", "its", "FUNCTION_DECL", ";", "otherwise", ",", "FUNC", "is", "0", "."], "TS_V_token": ["i386", "8", "16", "32", "64", "1", "\"calling %qD with SSE caling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", "1", "2"], "File": "i3865", "Func": "function_value_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38480, "Length": 219}
{"ground_truth": ["", "static", "rtx", "gen_pop", "(", "rtx", "arg", ")", "{", "if", "(", "REG_P", "(", "arg", ")", "&&", "GET_MODE", "(", "arg", ")", "!=", "word_mode", ")", "arg", "=", "gen_rtx_REG", "(", "word_mode", ",", "REGNO", "(", "arg", ")", ")", ";", "return", "gen_rtx_SET", "(", "arg", ",", "gen_rtx_MEM", "(", "word_mode", ",", "gen_rtx_POST_INC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "an", "``", "pop", "''", "pattern", "for", "input", "ARG", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "gen_pop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38481, "Length": 53}
{"ground_truth": ["", "static", "rtx", "gen_push", "(", "rtx", "arg", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "stack_pointer_rtx", ")", "m", "->", "fs", ".", "cfa_offset", "+=", "UNITS_PER_WORD", ";", "m", "->", "fs", ".", "sp_offset", "+=", "UNITS_PER_WORD", ";", "if", "(", "REG_P", "(", "arg", ")", "&&", "GET_MODE", "(", "arg", ")", "!=", "word_mode", ")", "arg", "=", "gen_rtx_REG", "(", "word_mode", ",", "REGNO", "(", "arg", ")", ")", ";", "return", "gen_rtx_SET", "(", "gen_rtx_MEM", "(", "word_mode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ",", "arg", ")", ";", "}", ""], "natrual_language": ["Code", "to", "generate", "prologue", "and", "epilogue", "sequences"], "TS_V_token": ["i386"], "File": "i3865", "Func": "gen_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38482, "Length": 88}
{"ground_truth": ["", "static", "int", "get_num_immediates", "(", "rtx_insn", "*", "insn", ",", "int", "*", "imm", ",", "int", "*", "imm32", ",", "int", "*", "imm64", ")", "{", "imm_info", "imm_values", "=", "{", "0", ",", "0", ",", "0", "}", ";", "find_constant", "(", "insn", ",", "&", "imm_values", ")", ";", "*", "imm", "=", "imm_values", ".", "imm", ";", "*", "imm32", "=", "imm_values", ".", "imm32", ";", "*", "imm64", "=", "imm_values", ".", "imm64", ";", "return", "imm_values", ".", "imm32", "*", "4", "+", "imm_values", ".", "imm64", "*", "8", ";", "}", ""], "natrual_language": ["Return", "total", "size", "of", "immediate", "operands", "of", "an", "instruction", "along", "with", "number", "of", "corresponding", "immediate-operands", ".", "It", "initializes", "its", "parameters", "to", "zero", "befor", "calling", "FIND_CONSTANT", ".", "INSN", "is", "the", "input", "instruction", ".", "IMM", "is", "the", "total", "of", "immediates", ".", "IMM32", "is", "the", "number", "of", "32", "bit", "immediates", ".", "IMM64", "is", "the", "number", "of", "64", "bit", "immediates", "."], "TS_V_token": ["i386", "0", "0", "0", "4", "8"], "File": "i3865", "Func": "get_num_immediates", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38483, "Length": 75}
{"ground_truth": ["", "static", "void", "get_scratch_register_on_entry", "(", "struct", "scratch_reg", "*", "sr", ")", "{", "int", "regno", ";", "sr", "->", "saved", "=", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "regno", "=", "R11_REG", ";", "}", "else", "{", "tree", "decl", "=", "current_function_decl", ",", "fntype", "=", "TREE_TYPE", "(", "decl", ")", ";", "bool", "fastcall_p", "=", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", "!=", "NULL_TREE", ";", "bool", "thiscall_p", "=", "lookup_attribute", "(", "\"thiscall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", "!=", "NULL_TREE", ";", "bool", "static_chain_p", "=", "DECL_STATIC_CHAIN", "(", "decl", ")", ";", "int", "regparm", "=", "ix86_function_regparm", "(", "fntype", ",", "decl", ")", ";", "int", "drap_regno", "=", "crtl", "->", "drap_reg", "?", "REGNO", "(", "crtl", "->", "drap_reg", ")", ":", "INVALID_REGNUM", ";", "if", "(", "(", "regparm", "<", "1", "||", "(", "fastcall_p", "&&", "!", "static_chain_p", ")", ")", "&&", "drap_regno", "!=", "AX_REG", ")", "regno", "=", "AX_REG", ";", "else", "if", "(", "thiscall_p", "&&", "!", "static_chain_p", "&&", "drap_regno", "!=", "AX_REG", ")", "regno", "=", "AX_REG", ";", "else", "if", "(", "regparm", "<", "2", "&&", "!", "thiscall_p", "&&", "drap_regno", "!=", "DX_REG", ")", "regno", "=", "DX_REG", ";", "else", "if", "(", "regparm", "<", "3", "&&", "!", "fastcall_p", "&&", "!", "thiscall_p", "&&", "!", "static_chain_p", "&&", "drap_regno", "!=", "CX_REG", ")", "regno", "=", "CX_REG", ";", "else", "if", "(", "ix86_save_reg", "(", "BX_REG", ",", "true", ")", ")", "regno", "=", "BX_REG", ";", "else", "if", "(", "!", "(", "regparm", "==", "3", "&&", "static_chain_p", ")", "&&", "ix86_save_reg", "(", "SI_REG", ",", "true", ")", ")", "regno", "=", "SI_REG", ";", "else", "if", "(", "ix86_save_reg", "(", "DI_REG", ",", "true", ")", ")", "regno", "=", "DI_REG", ";", "else", "{", "regno", "=", "(", "drap_regno", "==", "AX_REG", "?", "DX_REG", ":", "AX_REG", ")", ";", "sr", "->", "saved", "=", "true", ";", "}", "}", "sr", "->", "reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "if", "(", "sr", "->", "saved", ")", "{", "rtx_insn", "*", "insn", "=", "emit_insn", "(", "gen_push", "(", "sr", "->", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Return", "a", "short-lived", "scratch", "register", "for", "use", "on", "function", "entry", ".", "In", "32-bit", "mode", ",", "it", "is", "valid", "only", "after", "the", "registers", "are", "saved", "in", "the", "prologue", ".", "This", "register", "must", "be", "released", "by", "means", "of", "release_scratch_register_on_entry", "once", "it", "is", "dead", "."], "TS_V_token": ["i386", "\"fastcall\"", "\"thiscall\"", "1", "2", "3", "3", "1"], "File": "i3865", "Func": "get_scratch_register_on_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38484, "Length": 302}
{"ground_truth": ["", "static", "bool", "has_dispatch", "(", "rtx_insn", "*", "insn", ",", "int", "action", ")", "{", "if", "(", "(", "TARGET_BDVER1", "||", "TARGET_BDVER2", "||", "TARGET_BDVER3", "||", "TARGET_BDVER4", "||", "TARGET_ZNVER1", ")", "&&", "flag_dispatch_scheduler", ")", "switch", "(", "action", ")", "{", "default", ":", "return", "false", ";", "case", "IS_DISPATCH_ON", ":", "return", "true", ";", "break", ";", "case", "IS_CMP", ":", "return", "is_cmp", "(", "insn", ")", ";", "case", "DISPATCH_VIOLATION", ":", "return", "dispatch_violation", "(", ")", ";", "case", "FITS_DISPATCH_WINDOW", ":", "return", "fits_dispatch_window", "(", "insn", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "Dispatch", "Scheduling", "is", "supported", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "has_dispatch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38485, "Length": 77}
{"ground_truth": ["", "static", "bool", "has_immediate", "(", "rtx_insn", "*", "insn", ")", "{", "int", "num_imm_operand", ";", "int", "num_imm32_operand", ";", "int", "num_imm64_operand", ";", "if", "(", "insn", ")", "return", "get_num_immediates", "(", "insn", ",", "&", "num_imm_operand", ",", "&", "num_imm32_operand", ",", "&", "num_imm64_operand", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["This", "function", "indicates", "if", "an", "operand", "of", "an", "instruction", "is", "an", "immediate", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "has_immediate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38486, "Length": 41}
{"ground_truth": ["", "static", "int", "ia32_multipass_dfa_lookahead", "(", "void", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "case", "PROCESSOR_LAKEMONT", ":", "return", "2", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "case", "PROCESSOR_K6", ":", "return", "1", ";", "case", "PROCESSOR_BDVER1", ":", "case", "PROCESSOR_BDVER2", ":", "case", "PROCESSOR_BDVER3", ":", "case", "PROCESSOR_BDVER4", ":", "return", "4", ";", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "case", "PROCESSOR_BONNELL", ":", "case", "PROCESSOR_SILVERMONT", ":", "case", "PROCESSOR_KNL", ":", "case", "PROCESSOR_INTEL", ":", "if", "(", "reload_completed", ")", "return", "ix86_issue_rate", "(", ")", ";", "return", "0", ";", "default", ":", "return", "0", ";", "}", "}", ""], "natrual_language": ["How", "many", "alternative", "schedules", "to", "try", ".", "This", "should", "be", "as", "wide", "as", "the", "scheduling", "freedom", "in", "the", "DFA", ",", "but", "no", "wider", ".", "Making", "this", "value", "too", "large", "results", "extra", "work", "for", "the", "scheduler", "."], "TS_V_token": ["i386", "2", "1", "4", "0", "0"], "File": "i3865", "Func": "ia32_multipass_dfa_lookahead", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38487, "Length": 88}
{"ground_truth": ["", "static", "int", "iamcu_alignment", "(", "tree", "type", ",", "int", "align", ")", "{", "enum", "machine_mode", "mode", ";", "if", "(", "align", "<", "32", "||", "TYPE_USER_ALIGN", "(", "type", ")", ")", "return", "align", ";", "mode", "=", "TYPE_MODE", "(", "strip_array_types", "(", "type", ")", ")", ";", "switch", "(", "GET_MODE_CLASS", "(", "mode", ")", ")", "{", "case", "MODE_INT", ":", "case", "MODE_COMPLEX_INT", ":", "case", "MODE_COMPLEX_FLOAT", ":", "case", "MODE_FLOAT", ":", "case", "MODE_DECIMAL_FLOAT", ":", "return", "32", ";", "default", ":", "return", "align", ";", "}", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "variable", "for", "Intel", "MCU", "psABI", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", "."], "TS_V_token": ["i386", "32", "32"], "File": "i3865", "Func": "iamcu_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38488, "Length": 72}
{"ground_truth": ["", "void", "init_cumulative_args", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "tree", "fntype", ",", "rtx", "libname", ",", "tree", "fndecl", ",", "int", "caller", ")", "{", "struct", "cgraph_local_info", "*", "i", "=", "NULL", ";", "struct", "cgraph_node", "*", "target", "=", "NULL", ";", "memset", "(", "cum", ",", "0", ",", "sizeof", "(", "*", "cum", ")", ")", ";", "if", "(", "fndecl", ")", "{", "target", "=", "cgraph_node", "::", "get", "(", "fndecl", ")", ";", "if", "(", "target", ")", "{", "target", "=", "target", "->", "function_symbol", "(", ")", ";", "i", "=", "cgraph_node", "::", "local_info", "(", "target", "->", "decl", ")", ";", "cum", "->", "call_abi", "=", "ix86_function_abi", "(", "target", "->", "decl", ")", ";", "}", "else", "cum", "->", "call_abi", "=", "ix86_function_abi", "(", "fndecl", ")", ";", "}", "else", "cum", "->", "call_abi", "=", "ix86_function_type_abi", "(", "fntype", ")", ";", "cum", "->", "caller", "=", "caller", ";", "cum", "->", "nregs", "=", "ix86_regparm", ";", "if", "(", "TARGET_64BIT", ")", "{", "cum", "->", "nregs", "=", "(", "cum", "->", "call_abi", "==", "SYSV_ABI", "?", "X86_64_REGPARM_MAX", ":", "X86_64_MS_REGPARM_MAX", ")", ";", "}", "if", "(", "TARGET_SSE", ")", "{", "cum", "->", "sse_nregs", "=", "SSE_REGPARM_MAX", ";", "if", "(", "TARGET_64BIT", ")", "{", "cum", "->", "sse_nregs", "=", "(", "cum", "->", "call_abi", "==", "SYSV_ABI", "?", "X86_64_SSE_REGPARM_MAX", ":", "X86_64_MS_SSE_REGPARM_MAX", ")", ";", "}", "}", "if", "(", "TARGET_MMX", ")", "cum", "->", "mmx_nregs", "=", "MMX_REGPARM_MAX", ";", "cum", "->", "warn_avx512f", "=", "true", ";", "cum", "->", "warn_avx", "=", "true", ";", "cum", "->", "warn_sse", "=", "true", ";", "cum", "->", "warn_mmx", "=", "true", ";", "if", "(", "i", "&&", "i", "->", "local", "&&", "i", "->", "can_change_signature", ")", "fntype", "=", "TREE_TYPE", "(", "target", "->", "decl", ")", ";", "cum", "->", "stdarg", "=", "stdarg_p", "(", "fntype", ")", ";", "cum", "->", "maybe_vaarg", "=", "(", "fntype", "?", "(", "!", "prototype_p", "(", "fntype", ")", "||", "stdarg_p", "(", "fntype", ")", ")", ":", "!", "libname", ")", ";", "cum", "->", "bnd_regno", "=", "FIRST_BND_REG", ";", "cum", "->", "bnds_in_bt", "=", "0", ";", "cum", "->", "force_bnd_pass", "=", "0", ";", "cum", "->", "decl", "=", "fndecl", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "if", "(", "stdarg_p", "(", "fntype", ")", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cfun", "->", "machine", "->", "arg_reg_available", "=", "true", ";", "cum", "->", "sse_nregs", "=", "0", ";", "cum", "->", "mmx_nregs", "=", "0", ";", "cum", "->", "warn_avx512f", "=", "false", ";", "cum", "->", "warn_avx", "=", "false", ";", "cum", "->", "warn_sse", "=", "false", ";", "cum", "->", "warn_mmx", "=", "false", ";", "return", ";", "}", "if", "(", "fntype", ")", "{", "unsigned", "int", "ccvt", "=", "ix86_get_callcvt", "(", "fntype", ")", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_THISCALL", ")", "!=", "0", ")", "{", "cum", "->", "nregs", "=", "1", ";", "cum", "->", "fastcall", "=", "1", ";", "}", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "{", "cum", "->", "nregs", "=", "2", ";", "cum", "->", "fastcall", "=", "1", ";", "}", "else", "cum", "->", "nregs", "=", "ix86_function_regparm", "(", "fntype", ",", "fndecl", ")", ";", "}", "cum", "->", "float_in_sse", "=", "ix86_function_sseregparm", "(", "fntype", ",", "fndecl", ",", "true", ")", ";", "}", "cfun", "->", "machine", "->", "arg_reg_available", "=", "(", "cum", "->", "nregs", ">", "0", ")", ";", "}", ""], "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": ["i386", "0", "0", "0", "0", "0", "0", "0", "1", "1", "0", "2", "1", "0"], "File": "i3865", "Func": "init_cumulative_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38489, "Length": 470}
{"ground_truth": ["", "static", "bool", "insn_defines_reg", "(", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "rtx_insn", "*", "insn", ")", "{", "df_ref", "def", ";", "FOR_EACH_INSN_DEF", "(", "def", ",", "insn", ")", "if", "(", "DF_REF_REG_DEF_P", "(", "def", ")", "&&", "!", "DF_REF_IS_ARTIFICIAL", "(", "def", ")", "&&", "(", "regno1", "==", "DF_REF_REGNO", "(", "def", ")", "||", "regno2", "==", "DF_REF_REGNO", "(", "def", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Function", "checks", "if", "instruction", "INSN", "defines", "register", "number", "REGNO1", "or", "REGNO2", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "insn_defines_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38490, "Length": 62}
{"ground_truth": ["", "static", "bool", "is_branch", "(", "rtx_insn", "*", "insn", ")", "{", "return", "(", "CALL_P", "(", "insn", ")", "||", "JUMP_P", "(", "insn", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "insn", "is", "a", "branch", "instruction", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "is_branch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38491, "Length": 23}
{"ground_truth": ["", "static", "bool", "is_prefetch", "(", "rtx_insn", "*", "insn", ")", "{", "return", "NONJUMP_INSN_P", "(", "insn", ")", "&&", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "PREFETCH", ";", "}", ""], "natrual_language": ["Return", "true", "if", "insn", "is", "a", "prefetch", "instruction", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "is_prefetch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38492, "Length": 26}
{"ground_truth": ["", "static", "void", "ix86_adjust_stack_and_probe", "(", "const", "HOST_WIDE_INT", "size", ")", "{", "const", "int", "dope", "=", "4", "*", "UNITS_PER_WORD", ";", "rtx", "size_rtx", "=", "GEN_INT", "(", "size", ")", ",", "last", ";", "if", "(", "size", "<=", "4", "*", "PROBE_INTERVAL", ")", "{", "HOST_WIDE_INT", "i", ",", "adjust", ";", "bool", "first_probe", "=", "true", ";", "for", "(", "i", "=", "PROBE_INTERVAL", ";", "i", "<", "size", ";", "i", "+=", "PROBE_INTERVAL", ")", "{", "if", "(", "first_probe", ")", "{", "adjust", "=", "2", "*", "PROBE_INTERVAL", "+", "dope", ";", "first_probe", "=", "false", ";", "}", "else", "adjust", "=", "PROBE_INTERVAL", ";", "emit_insn", "(", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "adjust", ")", ")", ")", ";", "emit_stack_probe", "(", "stack_pointer_rtx", ")", ";", "}", "if", "(", "first_probe", ")", "adjust", "=", "size", "+", "PROBE_INTERVAL", "+", "dope", ";", "else", "adjust", "=", "size", "+", "PROBE_INTERVAL", "-", "i", ";", "emit_insn", "(", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "adjust", ")", ")", ")", ";", "emit_stack_probe", "(", "stack_pointer_rtx", ")", ";", "last", "=", "emit_insn", "(", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "PROBE_INTERVAL", "+", "dope", ")", ")", ")", ";", "}", "else", "{", "HOST_WIDE_INT", "rounded_size", ";", "struct", "scratch_reg", "sr", ";", "get_scratch_register_on_entry", "(", "&", "sr", ")", ";", "rounded_size", "=", "ROUND_DOWN", "(", "size", ",", "PROBE_INTERVAL", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "PROBE_INTERVAL", "+", "dope", ")", ")", ")", ")", ";", "if", "(", "rounded_size", "<=", "(", "HOST_WIDE_INT_1", "<<", "31", ")", ")", "emit_insn", "(", "gen_rtx_SET", "(", "sr", ".", "reg", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "rounded_size", ")", ")", ")", ";", "else", "{", "emit_move_insn", "(", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "rounded_size", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "sr", ".", "reg", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "sr", ".", "reg", ",", "stack_pointer_rtx", ")", ")", ")", ";", "}", "emit_insn", "(", "ix86_gen_adjust_stack_and_probe", "(", "sr", ".", "reg", ",", "sr", ".", "reg", ",", "size_rtx", ")", ")", ";", "if", "(", "size", "!=", "rounded_size", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "rounded_size", "-", "size", ")", ")", ")", ";", "emit_stack_probe", "(", "stack_pointer_rtx", ")", ";", "}", "last", "=", "emit_insn", "(", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "PROBE_INTERVAL", "+", "dope", ")", ")", ")", ";", "release_scratch_register_on_entry", "(", "&", "sr", ")", ";", "}", "if", "(", "size", ">", "0", ")", "{", "rtx", "expr", "=", "gen_rtx_SEQUENCE", "(", "VOIDmode", ",", "rtvec_alloc", "(", "2", ")", ")", ";", "XVECEXP", "(", "expr", ",", "0", ",", "0", ")", "=", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "size", ")", ")", ";", "XVECEXP", "(", "expr", ",", "0", ",", "1", ")", "=", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "PROBE_INTERVAL", "+", "dope", "+", "size", ")", ")", ";", "add_reg_note", "(", "last", ",", "REG_FRAME_RELATED_EXPR", ",", "expr", ")", ";", "RTX_FRAME_RELATED_P", "(", "last", ")", "=", "1", ";", "cfun", "->", "machine", "->", "fs", ".", "sp_offset", "+=", "size", ";", "}", "emit_insn", "(", "gen_blockage", "(", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "adjust", "the", "stack", "pointer", "by", "SIZE", "bytes", "while", "probing", "it", "."], "TS_V_token": ["i386", "4", "4", "2", "31", "0", "2", "0", "0", "0", "1", "1"], "File": "i3865", "Func": "ix86_adjust_stack_and_probe", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38493, "Length": 469}
{"ground_truth": ["", "static", "void", "ix86_avx256_split_vector_move_misalign", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "m", ";", "rtx", "(", "*", "extract", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "load_unaligned", ")", "(", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "store_unaligned", ")", "(", "rtx", ",", "rtx", ")", ";", "machine_mode", "mode", ";", "switch", "(", "GET_MODE", "(", "op0", ")", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "V32QImode", ":", "extract", "=", "gen_avx_vextractf128v32qi", ";", "load_unaligned", "=", "gen_avx_loaddquv32qi", ";", "store_unaligned", "=", "gen_avx_storedquv32qi", ";", "mode", "=", "V16QImode", ";", "break", ";", "case", "V8SFmode", ":", "extract", "=", "gen_avx_vextractf128v8sf", ";", "load_unaligned", "=", "gen_avx_loadups256", ";", "store_unaligned", "=", "gen_avx_storeups256", ";", "mode", "=", "V4SFmode", ";", "break", ";", "case", "V4DFmode", ":", "extract", "=", "gen_avx_vextractf128v4df", ";", "load_unaligned", "=", "gen_avx_loadupd256", ";", "store_unaligned", "=", "gen_avx_storeupd256", ";", "mode", "=", "V2DFmode", ";", "break", ";", "}", "if", "(", "MEM_P", "(", "op1", ")", ")", "{", "if", "(", "TARGET_AVX256_SPLIT_UNALIGNED_LOAD", "&&", "optimize_insn_for_speed_p", "(", ")", ")", "{", "rtx", "r", "=", "gen_reg_rtx", "(", "mode", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "0", ")", ";", "emit_move_insn", "(", "r", ",", "m", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "16", ")", ";", "r", "=", "gen_rtx_VEC_CONCAT", "(", "GET_MODE", "(", "op0", ")", ",", "r", ",", "m", ")", ";", "emit_move_insn", "(", "op0", ",", "r", ")", ";", "}", "else", "if", "(", "misaligned_operand", "(", "op1", ",", "GET_MODE", "(", "op1", ")", ")", ")", "emit_insn", "(", "gen_rtx_SET", "(", "op0", ",", "op1", ")", ")", ";", "else", "emit_insn", "(", "load_unaligned", "(", "op0", ",", "op1", ")", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "op0", ")", ")", "{", "if", "(", "TARGET_AVX256_SPLIT_UNALIGNED_STORE", "&&", "optimize_insn_for_speed_p", "(", ")", ")", "{", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "0", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "op1", ",", "const0_rtx", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "16", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "op1", ",", "const1_rtx", ")", ")", ";", "}", "else", "emit_insn", "(", "store_unaligned", "(", "op0", ",", "op1", ")", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Split", "32-byte", "AVX", "unaligned", "load", "and", "store", "if", "needed", "."], "TS_V_token": ["i386", "0", "16", "0", "16"], "File": "i3865", "Func": "ix86_avx256_split_vector_move_misalign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38494, "Length": 324}
{"ground_truth": ["", "static", "tree", "ix86_build_builtin_va_list", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "tree", "sysv_va_list", ",", "ms_va_list", ";", "sysv_va_list", "=", "ix86_build_builtin_va_list_64", "(", ")", ";", "sysv_va_list_type_node", "=", "build_variant_type_copy", "(", "sysv_va_list", ")", ";", "ms_va_list", "=", "build_pointer_type", "(", "char_type_node", ")", ";", "ms_va_list_type_node", "=", "build_variant_type_copy", "(", "ms_va_list", ")", ";", "return", "(", "ix86_abi", "==", "MS_ABI", ")", "?", "ms_va_list", ":", "sysv_va_list", ";", "}", "else", "{", "return", "build_pointer_type", "(", "char_type_node", ")", ";", "}", "}", ""], "natrual_language": ["Create", "the", "va_list", "data", "type", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_build_builtin_va_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38495, "Length": 66}
{"ground_truth": ["", "static", "tree", "ix86_build_builtin_va_list_64", "(", "void", ")", "{", "tree", "f_gpr", ",", "f_fpr", ",", "f_ovf", ",", "f_sav", ",", "record", ",", "type_decl", ";", "record", "=", "lang_hooks", ".", "types", ".", "make_type", "(", "RECORD_TYPE", ")", ";", "type_decl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "TYPE_DECL", ",", "get_identifier", "(", "\"__va_list_tag\"", ")", ",", "record", ")", ";", "f_gpr", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"gp_offset\"", ")", ",", "unsigned_type_node", ")", ";", "f_fpr", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"fp_offset\"", ")", ",", "unsigned_type_node", ")", ";", "f_ovf", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"overflow_arg_area\"", ")", ",", "ptr_type_node", ")", ";", "f_sav", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"reg_save_area\"", ")", ",", "ptr_type_node", ")", ";", "va_list_gpr_counter_field", "=", "f_gpr", ";", "va_list_fpr_counter_field", "=", "f_fpr", ";", "DECL_FIELD_CONTEXT", "(", "f_gpr", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_fpr", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_ovf", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_sav", ")", "=", "record", ";", "TYPE_STUB_DECL", "(", "record", ")", "=", "type_decl", ";", "TYPE_NAME", "(", "record", ")", "=", "type_decl", ";", "TYPE_FIELDS", "(", "record", ")", "=", "f_gpr", ";", "DECL_CHAIN", "(", "f_gpr", ")", "=", "f_fpr", ";", "DECL_CHAIN", "(", "f_fpr", ")", "=", "f_ovf", ";", "DECL_CHAIN", "(", "f_ovf", ")", "=", "f_sav", ";", "layout_type", "(", "record", ")", ";", "return", "build_array_type", "(", "record", ",", "build_index_type", "(", "size_zero_node", ")", ")", ";", "}", ""], "natrual_language": ["Create", "the", "va_list", "data", "type", "."], "TS_V_token": ["i386", "\"__va_list_tag\"", "\"gp_offset\"", "\"fp_offset\"", "\"overflow_arg_area\"", "\"reg_save_area\""], "File": "i3865", "Func": "ix86_build_builtin_va_list_64", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38496, "Length": 206}
{"ground_truth": ["", "rtx", "ix86_build_signbit_mask", "(", "machine_mode", "mode", ",", "bool", "vect", ",", "bool", "invert", ")", "{", "machine_mode", "vec_mode", ",", "imode", ";", "wide_int", "w", ";", "rtx", "mask", ",", "v", ";", "switch", "(", "mode", ")", "{", "case", "V16SImode", ":", "case", "V16SFmode", ":", "case", "V8SImode", ":", "case", "V4SImode", ":", "case", "V8SFmode", ":", "case", "V4SFmode", ":", "vec_mode", "=", "mode", ";", "imode", "=", "SImode", ";", "break", ";", "case", "V8DImode", ":", "case", "V4DImode", ":", "case", "V2DImode", ":", "case", "V8DFmode", ":", "case", "V4DFmode", ":", "case", "V2DFmode", ":", "vec_mode", "=", "mode", ";", "imode", "=", "DImode", ";", "break", ";", "case", "TImode", ":", "case", "TFmode", ":", "vec_mode", "=", "VOIDmode", ";", "imode", "=", "TImode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "w", "=", "wi", "::", "set_bit_in_zero", "(", "GET_MODE_BITSIZE", "(", "inner_mode", ")", "-", "1", ",", "GET_MODE_BITSIZE", "(", "inner_mode", ")", ")", ";", "if", "(", "invert", ")", "w", "=", "wi", "::", "bit_not", "(", "w", ")", ";", "mask", "=", "immed_wide_int_const", "(", "w", ",", "imode", ")", ";", "mask", "=", "gen_lowpart", "(", "inner_mode", ",", "mask", ")", ";", "if", "(", "vec_mode", "==", "VOIDmode", ")", "return", "force_reg", "(", "inner_mode", ",", "mask", ")", ";", "v", "=", "ix86_build_const_vector", "(", "vec_mode", ",", "vect", ",", "mask", ")", ";", "return", "force_reg", "(", "vec_mode", ",", "v", ")", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_fp_absneg_operator", "and", "copysign", "expanders", ".", "Create", "a", "mask", "for", "the", "sign", "bit", "in", "MODE", "for", "an", "SSE", "register", ".", "If", "VECT", "is", "true", ",", "then", "replicate", "the", "mask", "for", "all", "elements", "of", "the", "vector", "register", ".", "If", "INVERT", "is", "true", ",", "then", "create", "a", "mask", "excluding", "the", "sign", "bit", "."], "TS_V_token": ["i386", "1"], "File": "i3865", "Func": "ix86_build_signbit_mask", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38497, "Length": 202}
{"ground_truth": ["", "static", "tree", "ix86_builtin_reciprocal", "(", "tree", "fndecl", ")", "{", "switch", "(", "DECL_FUNCTION_CODE", "(", "fndecl", ")", ")", "{", "case", "IX86_BUILTIN_SQRTPS_NR", ":", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_RSQRTPS_NR", ")", ";", "case", "IX86_BUILTIN_SQRTPS_NR256", ":", "return", "ix86_get_builtin", "(", "IX86_BUILTIN_RSQRTPS_NR256", ")", ";", "default", ":", "return", "NULL_TREE", ";", "}", "}", ""], "natrual_language": ["Returns", "a", "code", "for", "a", "target-specific", "builtin", "that", "implements", "reciprocal", "of", "the", "function", ",", "or", "NULL_TREE", "if", "not", "available", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_builtin_reciprocal", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38498, "Length": 41}
{"ground_truth": ["", "static", "int", "ix86_builtin_vectorization_cost", "(", "enum", "vect_cost_for_stmt", "type_of_cost", ",", "tree", "vectype", ",", "int", ")", "{", "unsigned", "elements", ";", "switch", "(", "type_of_cost", ")", "{", "case", "scalar_stmt", ":", "return", "ix86_cost", "->", "scalar_stmt_cost", ";", "case", "scalar_load", ":", "return", "ix86_cost", "->", "scalar_load_cost", ";", "case", "scalar_store", ":", "return", "ix86_cost", "->", "scalar_store_cost", ";", "case", "vector_stmt", ":", "return", "ix86_cost", "->", "vec_stmt_cost", ";", "case", "vector_load", ":", "return", "ix86_cost", "->", "vec_align_load_cost", ";", "case", "vector_store", ":", "return", "ix86_cost", "->", "vec_store_cost", ";", "case", "vec_to_scalar", ":", "return", "ix86_cost", "->", "vec_to_scalar_cost", ";", "case", "scalar_to_vec", ":", "return", "ix86_cost", "->", "scalar_to_vec_cost", ";", "case", "unaligned_load", ":", "case", "unaligned_store", ":", "return", "ix86_cost", "->", "vec_unalign_load_cost", ";", "case", "cond_branch_taken", ":", "return", "ix86_cost", "->", "cond_taken_branch_cost", ";", "case", "cond_branch_not_taken", ":", "return", "ix86_cost", "->", "cond_not_taken_branch_cost", ";", "case", "vec_perm", ":", "case", "vec_promote_demote", ":", "return", "ix86_cost", "->", "vec_stmt_cost", ";", "case", "vec_construct", ":", "elements", "=", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ";", "return", "ix86_cost", "->", "vec_stmt_cost", "*", "(", "elements", "/", "2", "+", "1", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.builtin_vectorization_cost", "."], "TS_V_token": ["i386", "2", "1"], "File": "i3865", "Func": "ix86_builtin_vectorization_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38499, "Length": 155}
{"ground_truth": ["", "static", "bool", "ix86_cannot_force_const_mem", "(", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST_INT", ":", "case", "CONST_WIDE_INT", ":", "case", "CONST_DOUBLE", ":", "case", "CONST_VECTOR", ":", "return", "false", ";", "default", ":", "break", ";", "}", "return", "!", "ix86_legitimate_constant_p", "(", "mode", ",", "x", ")", ";", "}", ""], "natrual_language": ["Determine", "if", "it", "'s", "legal", "to", "put", "X", "into", "the", "constant", "pool", ".", "This", "is", "not", "possible", "for", "the", "address", "of", "thread-local", "symbols", ",", "which", "is", "checked", "above", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_cannot_force_const_mem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38500, "Length": 49}
{"ground_truth": ["", "static", "machine_mode", "ix86_cc_modes_compatible", "(", "machine_mode", "m1", ",", "machine_mode", "m2", ")", "{", "if", "(", "m1", "==", "m2", ")", "return", "m1", ";", "if", "(", "GET_MODE_CLASS", "(", "m1", ")", "!=", "MODE_CC", "||", "GET_MODE_CLASS", "(", "m2", ")", "!=", "MODE_CC", ")", "return", "VOIDmode", ";", "if", "(", "(", "m1", "==", "CCGCmode", "&&", "m2", "==", "CCGOCmode", ")", "||", "(", "m1", "==", "CCGOCmode", "&&", "m2", "==", "CCGCmode", ")", ")", "return", "CCGCmode", ";", "if", "(", "m1", "==", "CCZmode", "&&", "(", "m2", "==", "CCGCmode", "||", "m2", "==", "CCGOCmode", ")", ")", "return", "m2", ";", "else", "if", "(", "m2", "==", "CCZmode", "&&", "(", "m1", "==", "CCGCmode", "||", "m1", "==", "CCGOCmode", ")", ")", "return", "m1", ";", "switch", "(", "m1", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "CCmode", ":", "case", "CCGCmode", ":", "case", "CCGOCmode", ":", "case", "CCNOmode", ":", "case", "CCAmode", ":", "case", "CCCmode", ":", "case", "CCOmode", ":", "case", "CCPmode", ":", "case", "CCSmode", ":", "case", "CCZmode", ":", "switch", "(", "m2", ")", "{", "default", ":", "return", "VOIDmode", ";", "case", "CCmode", ":", "case", "CCGCmode", ":", "case", "CCGOCmode", ":", "case", "CCNOmode", ":", "case", "CCAmode", ":", "case", "CCCmode", ":", "case", "CCOmode", ":", "case", "CCPmode", ":", "case", "CCSmode", ":", "case", "CCZmode", ":", "return", "CCmode", ";", "}", "case", "CCFPmode", ":", "case", "CCFPUmode", ":", "return", "VOIDmode", ";", "}", "}", ""], "natrual_language": ["If", "two", "condition", "code", "modes", "are", "compatible", ",", "return", "a", "condition", "code", "mode", "which", "is", "compatible", "with", "both", ".", "Otherwise", ",", "return", "VOIDmode", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_cc_modes_compatible", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38501, "Length": 199}
{"ground_truth": ["", "static", "bool", "ix86_check_avx256_register", "(", "const_rtx", "exp", ")", "{", "if", "(", "SUBREG_P", "(", "exp", ")", ")", "exp", "=", "SUBREG_REG", "(", "exp", ")", ";", "return", "(", "REG_P", "(", "exp", ")", "&&", "VALID_AVX256_REG_OR_OI_MODE", "(", "GET_MODE", "(", "exp", ")", ")", ")", ";", "}", ""], "natrual_language": ["Check", "if", "a", "256bit", "AVX", "register", "is", "referenced", "inside", "of", "EXP", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_check_avx256_register", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38502, "Length": 39}
{"ground_truth": ["", "static", "void", "ix86_code_end", "(", "void", ")", "{", "rtx", "xops", "[", "2", "]", ";", "int", "regno", ";", "for", "(", "regno", "=", "AX_REG", ";", "regno", "<=", "SP_REG", ";", "regno", "++", ")", "{", "char", "name", "[", "32", "]", ";", "tree", "decl", ";", "if", "(", "!", "(", "pic_labels_used", "&", "(", "1", "<<", "regno", ")", ")", ")", "continue", ";", "get_pc_thunk_name", "(", "name", ",", "regno", ")", ";", "decl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "build_function_type_list", "(", "void_type_node", ",", "NULL_TREE", ")", ")", ";", "DECL_RESULT", "(", "decl", ")", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "void_type_node", ")", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "1", ";", "TREE_STATIC", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "1", ";", "if", "(", "TARGET_MACHO", ")", "{", "switch_to_section", "(", "darwin_sections", "[", "text_coal_section", "]", ")", ";", "fputs", "(", "\"\\t.weak_definition\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\n\\t.private_extern\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "DECL_WEAK", "(", "decl", ")", "=", "1", ";", "}", "else", "if", "(", "USE_HIDDEN_LINKONCE", ")", "{", "cgraph_node", "::", "create", "(", "decl", ")", "->", "set_comdat_group", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "targetm", ".", "asm_out", ".", "unique_section", "(", "decl", ",", "0", ")", ";", "switch_to_section", "(", "get_named_section", "(", "decl", ",", "NULL", ",", "0", ")", ")", ";", "targetm", ".", "asm_out", ".", "globalize_label", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\t.hidden\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_DECLARE_FUNCTION_NAME", "(", "asm_out_file", ",", "name", ",", "decl", ")", ";", "}", "else", "{", "switch_to_section", "(", "text_section", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "}", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "current_function_decl", "=", "decl", ";", "allocate_struct_function", "(", "decl", ",", "false", ")", ";", "init_function_start", "(", "decl", ")", ";", "first_function_block_is_cold", "=", "false", ";", "final_start_function", "(", "emit_barrier", "(", ")", ",", "asm_out_file", ",", "1", ")", ";", "if", "(", "TARGET_PAD_SHORT_FUNCTION", ")", "{", "int", "i", "=", "8", ";", "while", "(", "i", "--", ")", "fputs", "(", "\"\\tnop\\n\"", ",", "asm_out_file", ")", ";", "}", "xops", "[", "0", "]", "=", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "xops", "[", "1", "]", "=", "gen_rtx_MEM", "(", "Pmode", ",", "stack_pointer_rtx", ")", ";", "output_asm_insn", "(", "\"mov%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "output_asm_insn", "(", "\"%!ret\"", ",", "NULL", ")", ";", "final_end_function", "(", ")", ";", "init_insn_lengths", "(", ")", ";", "free_after_compilation", "(", "cfun", ")", ";", "set_cfun", "(", "NULL", ")", ";", "current_function_decl", "=", "NULL", ";", "}", "if", "(", "flag_split_stack", ")", "file_end_indicate_split_stack", "(", ")", ";", "}", ""], "natrual_language": ["This", "function", "generates", "code", "for", "-fpic", "that", "loads", "%", "ebx", "with", "the", "return", "address", "of", "the", "caller", "and", "then", "returns", "."], "TS_V_token": ["i386", "2", "32", "1", "1", "1", "1", "\"\\t.weak_definition\\t\"", "\"\\n\\t.private_extern\\t\"", "1", "0", "0", "\"\\t.hidden\\t\"", "1", "8", "\"\\tnop\\n\"", "0", "1", "\"mov%z0\\t{%1, %0|%0, %1}\"", "\"%!ret\""], "File": "i3865", "Func": "ix86_code_end", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38503, "Length": 417}
{"ground_truth": ["", "static", "void", "ix86_conditional_register_usage", "(", "void", ")", "{", "int", "i", ",", "c_mask", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "for", "(", "i", "=", "FIRST_REX_INT_REG", ";", "i", "<=", "LAST_REX_INT_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "}", "c_mask", "=", "CALL_USED_REGISTERS_MASK", "(", "TARGET_64BIT_MS_ABI", ")", ";", "CLEAR_HARD_REG_SET", "(", "reg_class_contents", "[", "(", "int", ")", "CLOBBERED_REGS", "]", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "{", "if", "(", "call_used_regs", "[", "i", "]", ">", "1", ")", "call_used_regs", "[", "i", "]", "=", "!", "!", "(", "call_used_regs", "[", "i", "]", "&", "c_mask", ")", ";", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "GENERAL_REGS", "]", ",", "i", ")", "&&", "call_used_regs", "[", "i", "]", ")", "SET_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "CLOBBERED_REGS", "]", ",", "i", ")", ";", "}", "if", "(", "!", "TARGET_MMX", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "MMX_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "TARGET_SSE", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "SSE_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "(", "TARGET_80387", "||", "TARGET_FLOAT_RETURNS_IN_80387", ")", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "FLOAT_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "TARGET_AVX512F", ")", "{", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_MASK_REG", ";", "i", "<=", "LAST_MASK_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "}", "if", "(", "!", "TARGET_MPX", ")", "for", "(", "i", "=", "FIRST_BND_REG", ";", "i", "<=", "LAST_BND_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "}", ""], "natrual_language": ["Update", "register", "usage", "after", "having", "seen", "the", "compiler", "flags", "."], "TS_V_token": ["i386", "1", "\"\"", "1", "\"\"", "1", "\"\"", "0", "1", "0", "1", "\"\"", "0", "1", "\"\"", "0", "1", "\"\"", "1", "\"\"", "1", "\"\"", "1", "\"\""], "File": "i3865", "Func": "ix86_conditional_register_usage", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38504, "Length": 475}
{"ground_truth": ["", "int", "ix86_data_alignment", "(", "tree", "type", ",", "int", "align", ",", "bool", "opt", ")", "{", "int", "max_align_compat", "=", "MIN", "(", "256", ",", "MAX_OFILE_ALIGNMENT", ")", ";", "int", "max_align", "=", "MIN", "(", "(", "unsigned", ")", "ix86_tune_cost", "->", "prefetch_block", "*", "8", ",", "MAX_OFILE_ALIGNMENT", ")", ";", "if", "(", "max_align", "<", "BITS_PER_WORD", ")", "max_align", "=", "BITS_PER_WORD", ";", "switch", "(", "ix86_align_data_type", ")", "{", "case", "ix86_align_data_type_abi", ":", "opt", "=", "false", ";", "break", ";", "case", "ix86_align_data_type_compat", ":", "max_align", "=", "BITS_PER_WORD", ";", "break", ";", "case", "ix86_align_data_type_cacheline", ":", "break", ";", "}", "if", "(", "TARGET_IAMCU", ")", "align", "=", "iamcu_alignment", "(", "type", ",", "align", ")", ";", "if", "(", "opt", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", ")", "{", "if", "(", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "max_align_compat", ")", "&&", "align", "<", "max_align_compat", ")", "align", "=", "max_align_compat", ";", "if", "(", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "max_align", ")", "&&", "align", "<", "max_align", ")", "align", "=", "max_align", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "(", "opt", "?", "AGGREGATE_TYPE_P", "(", "type", ")", ":", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "128", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "!", "opt", ")", "return", "align", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "||", "TYPE_MODE", "(", "type", ")", "==", "TCmode", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "static", "variable", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "function", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["i386", "256", "8", "128", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i3865", "Func": "ix86_data_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38505, "Length": 466}
{"ground_truth": ["", "static", "void", "ix86_default_align", "(", "struct", "gcc_options", "*", "opts", ")", "{", "if", "(", "opts", "->", "x_align_loops", "==", "0", ")", "{", "opts", "->", "x_align_loops", "=", "processor_target_table", "[", "ix86_tune", "]", ".", "align_loop", ";", "align_loops_max_skip", "=", "processor_target_table", "[", "ix86_tune", "]", ".", "align_loop_max_skip", ";", "}", "if", "(", "opts", "->", "x_align_jumps", "==", "0", ")", "{", "opts", "->", "x_align_jumps", "=", "processor_target_table", "[", "ix86_tune", "]", ".", "align_jump", ";", "align_jumps_max_skip", "=", "processor_target_table", "[", "ix86_tune", "]", ".", "align_jump_max_skip", ";", "}", "if", "(", "opts", "->", "x_align_functions", "==", "0", ")", "{", "opts", "->", "x_align_functions", "=", "processor_target_table", "[", "ix86_tune", "]", ".", "align_func", ";", "}", "}", ""], "natrual_language": ["Default", "align_", "*", "from", "the", "processor", "table", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3865", "Func": "ix86_default_align", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38506, "Length": 92}
{"ground_truth": ["", "static", "void", "ix86_emit_binop", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "dst", ",", "rtx", "src", ")", "{", "rtx", "op", ",", "clob", ";", "op", "=", "gen_rtx_SET", "(", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "dst", ",", "src", ")", ")", ";", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "2", ",", "op", ",", "clob", ")", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "x86", "binary", "operand", "CODE", "in", "mode", "MODE", ",", "where", "the", "first", "operand", "matches", "destination", ".", "RTX", "includes", "clobber", "of", "FLAGS_REG", "."], "TS_V_token": ["i386", "2"], "File": "i3865", "Func": "ix86_emit_binop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38507, "Length": 73}
{"ground_truth": ["", "static", "void", "ix86_emit_cmove", "(", "rtx", "dst", ",", "rtx", "src", ",", "enum", "rtx_code", "code", ",", "rtx", "op1", ",", "rtx", "op2", ")", "{", "rtx", "t", ";", "if", "(", "TARGET_CMOVE", ")", "{", "t", "=", "ix86_expand_compare", "(", "code", ",", "op1", ",", "op2", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dst", ",", "gen_rtx_IF_THEN_ELSE", "(", "GET_MODE", "(", "dst", ")", ",", "t", ",", "src", ",", "dst", ")", ")", ")", ";", "}", "else", "{", "rtx_code_label", "*", "nomove", "=", "gen_label_rtx", "(", ")", ";", "emit_cmp_and_jump_insns", "(", "op1", ",", "op2", ",", "reverse_condition", "(", "code", ")", ",", "const0_rtx", ",", "GET_MODE", "(", "op1", ")", ",", "1", ",", "nomove", ")", ";", "emit_move_insn", "(", "dst", ",", "src", ")", ";", "emit_label", "(", "nomove", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "conditional", "move", "of", "SRC", "to", "DST", "with", "condition", "OP1", "CODE", "OP2", "."], "TS_V_token": ["i386", "1"], "File": "i3865", "Func": "ix86_emit_cmove", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38508, "Length": 110}
{"ground_truth": ["", "void", "ix86_emit_fp_unordered_jump", "(", "rtx", "label", ")", "{", "rtx", "reg", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "temp", ";", "emit_insn", "(", "gen_x86_fnstsw_1", "(", "reg", ")", ")", ";", "if", "(", "TARGET_SAHF", "&&", "(", "TARGET_USE_SAHF", "||", "optimize_insn_for_size_p", "(", ")", ")", ")", "{", "emit_insn", "(", "gen_x86_sahf_1", "(", "reg", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_UNORDERED", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "else", "{", "emit_insn", "(", "gen_testqi_ext_ccno_0", "(", "reg", ",", "GEN_INT", "(", "0x04", ")", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_NE", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "temp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "temp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "temp", "=", "gen_rtx_SET", "(", "pc_rtx", ",", "temp", ")", ";", "emit_jump_insn", "(", "temp", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "10", "/", "100", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "conditional", "jump", "to", "LABEL", ",", "if", "C2", "flag", "in", "FP", "status", "register", "is", "set", "."], "TS_V_token": ["i386", "0x04", "10", "100"], "File": "i3865", "Func": "ix86_emit_fp_unordered_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38509, "Length": 146}
{"ground_truth": ["", "void", "ix86_emit_i387_log1p", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx_code_label", "*", "label1", "=", "gen_label_rtx", "(", ")", ";", "rtx_code_label", "*", "label2", "=", "gen_label_rtx", "(", ")", ";", "rtx", "tmp", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "tmp2", "=", "gen_reg_rtx", "(", "XFmode", ")", ";", "rtx", "test", ";", "emit_insn", "(", "gen_absxf2", "(", "tmp", ",", "op1", ")", ")", ";", "test", "=", "gen_rtx_GE", "(", "VOIDmode", ",", "tmp", ",", "const_double_from_real_value", "(", "REAL_VALUE_ATOF", "(", "\"0.29289321881345247561810596348408353\"", ",", "XFmode", ")", ",", "XFmode", ")", ")", ";", "emit_jump_insn", "(", "gen_cbranchxf4", "(", "test", ",", "XEXP", "(", "test", ",", "0", ")", ",", "XEXP", "(", "test", ",", "1", ")", ",", "label1", ")", ")", ";", "emit_move_insn", "(", "tmp2", ",", "standard_80387_constant_rtx", "(", "4", ")", ")", ";", "emit_insn", "(", "gen_fyl2xp1xf3_i387", "(", "op0", ",", "op1", ",", "tmp2", ")", ")", ";", "emit_jump", "(", "label2", ")", ";", "emit_label", "(", "label1", ")", ";", "emit_move_insn", "(", "tmp", ",", "CONST1_RTX", "(", "XFmode", ")", ")", ";", "emit_insn", "(", "gen_addxf3", "(", "tmp", ",", "op1", ",", "tmp", ")", ")", ";", "emit_move_insn", "(", "tmp2", ",", "standard_80387_constant_rtx", "(", "4", ")", ")", ";", "emit_insn", "(", "gen_fyl2xxf3_i387", "(", "op0", ",", "tmp", ",", "tmp2", ")", ")", ";", "emit_label", "(", "label2", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "log1p", "XFmode", "calculation", "."], "TS_V_token": ["i386", "\"0.29289321881345247561810596348408353\"", "0", "1", "4", "4"], "File": "i3865", "Func": "ix86_emit_i387_log1p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38510, "Length": 182}
{"ground_truth": ["", "static", "void", "ix86_emit_leave", "(", "void", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx_insn", "*", "insn", "=", "emit_insn", "(", "ix86_gen_leave", "(", ")", ")", ";", "ix86_add_queued_cfa_restore_notes", "(", "insn", ")", ";", "gcc_assert", "(", "m", "->", "fs", ".", "fp_valid", ")", ";", "m", "->", "fs", ".", "sp_valid", "=", "true", ";", "m", "->", "fs", ".", "sp_offset", "=", "m", "->", "fs", ".", "fp_offset", "-", "UNITS_PER_WORD", ";", "m", "->", "fs", ".", "fp_valid", "=", "false", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "hard_frame_pointer_rtx", ")", "{", "m", "->", "fs", ".", "cfa_reg", "=", "stack_pointer_rtx", ";", "m", "->", "fs", ".", "cfa_offset", "=", "m", "->", "fs", ".", "sp_offset", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "m", "->", "fs", ".", "sp_offset", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "ix86_add_cfa_restore_note", "(", "insn", ",", "hard_frame_pointer_rtx", ",", "m", "->", "fs", ".", "fp_offset", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "and", "notes", "for", "the", "LEAVE", "instruction", "."], "TS_V_token": ["i386", "1"], "File": "i3865", "Func": "ix86_emit_leave", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38511, "Length": 144}
{"ground_truth": ["", "static", "void", "ix86_emit_probe_stack_range", "(", "HOST_WIDE_INT", "first", ",", "HOST_WIDE_INT", "size", ")", "{", "if", "(", "size", "<=", "6", "*", "PROBE_INTERVAL", ")", "{", "HOST_WIDE_INT", "i", ";", "for", "(", "i", "=", "PROBE_INTERVAL", ";", "i", "<", "size", ";", "i", "+=", "PROBE_INTERVAL", ")", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "first", "+", "i", ")", ")", ")", ";", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "first", "+", "size", ")", ")", ")", ";", "}", "else", "{", "HOST_WIDE_INT", "rounded_size", ",", "last", ";", "struct", "scratch_reg", "sr", ";", "get_scratch_register_on_entry", "(", "&", "sr", ")", ";", "rounded_size", "=", "ROUND_DOWN", "(", "size", ",", "PROBE_INTERVAL", ")", ";", "emit_move_insn", "(", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "first", ")", ")", ";", "last", "=", "first", "+", "rounded_size", ";", "emit_insn", "(", "ix86_gen_probe_stack_range", "(", "sr", ".", "reg", ",", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "last", ")", ")", ")", ";", "if", "(", "size", "!=", "rounded_size", ")", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "sr", ".", "reg", ")", ",", "rounded_size", "-", "size", ")", ")", ";", "release_scratch_register_on_entry", "(", "&", "sr", ")", ";", "}", "emit_insn", "(", "gen_blockage", "(", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "probe", "a", "range", "of", "stack", "addresses", "from", "FIRST", "to", "FIRST+SIZE", ",", "inclusive", ".", "These", "are", "offsets", "from", "the", "current", "stack", "pointer", "."], "TS_V_token": ["i386", "6"], "File": "i3865", "Func": "ix86_emit_probe_stack_range", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38512, "Length": 181}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ",", "bool", "maybe_eh_return", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "maybe_eh_return", ")", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ";", "rtx", "mem", ";", "rtx_insn", "*", "insn", ";", "mem", "=", "choose_baseaddr", "(", "cfa_offset", ")", ";", "mem", "=", "gen_frame_mem", "(", "word_mode", ",", "mem", ")", ";", "insn", "=", "emit_move_insn", "(", "reg", ",", "mem", ")", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "crtl", "->", "drap_reg", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "reg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "m", "->", "fs", ".", "drap_valid", "=", "true", ";", "}", "else", "ix86_add_cfa_restore_note", "(", "NULL", ",", "reg", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "POINTER", "+", "OFFSET", "."], "TS_V_token": ["i386", "0", "1"], "File": "i3865", "Func": "ix86_emit_restore_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38513, "Length": 157}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_regs_using_pop", "(", "void", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "false", ")", ")", "ix86_emit_restore_reg_using_pop", "(", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "POP", "insns", "."], "TS_V_token": ["i386", "0"], "File": "i3865", "Func": "ix86_emit_restore_regs_using_pop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38514, "Length": 49}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_sse_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ",", "bool", "maybe_eh_return", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "maybe_eh_return", ")", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "V4SFmode", ",", "regno", ")", ";", "rtx", "mem", ";", "unsigned", "int", "align", ";", "mem", "=", "choose_baseaddr", "(", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "V4SFmode", ",", "mem", ")", ";", "align", "=", "MIN", "(", "GET_MODE_ALIGNMENT", "(", "V4SFmode", ")", ",", "INCOMING_STACK_BOUNDARY", ")", ";", "set_mem_align", "(", "mem", ",", "align", ")", ";", "if", "(", "align", "<", "128", ")", "{", "rtx", "unspec", "=", "gen_rtx_UNSPEC", "(", "V4SFmode", ",", "gen_rtvec", "(", "1", ",", "mem", ")", ",", "UNSPEC_LOADU", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "reg", ",", "unspec", ")", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "reg", ",", "mem", ")", ")", ";", "ix86_add_cfa_restore_note", "(", "NULL", ",", "reg", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "GET_MODE_SIZE", "(", "V4SFmode", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "0", "128", "1"], "File": "i3865", "Func": "ix86_emit_restore_sse_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38515, "Length": 159}
{"ground_truth": ["", "static", "void", "ix86_emit_save_regs", "(", "void", ")", "{", "unsigned", "int", "regno", ";", "rtx_insn", "*", "insn", ";", "for", "(", "regno", "=", "FIRST_PSEUDO_REGISTER", "-", "1", ";", "regno", "--", ">", "0", ";", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "{", "insn", "=", "emit_insn", "(", "gen_push", "(", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "in", "the", "prologue", "."], "TS_V_token": ["i386", "1", "0", "1"], "File": "i3865", "Func": "ix86_emit_save_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38516, "Length": 68}
{"ground_truth": ["", "static", "void", "ix86_emit_save_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "{", "ix86_emit_save_reg_using_mov", "(", "word_mode", ",", "regno", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "POINTER", "+", "OFFSET", "."], "TS_V_token": ["i386", "0"], "File": "i3865", "Func": "ix86_emit_save_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38517, "Length": 55}
{"ground_truth": ["", "static", "void", "ix86_emit_save_reg_using_mov", "(", "machine_mode", "mode", ",", "unsigned", "int", "regno", ",", "HOST_WIDE_INT", "cfa_offset", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "reg", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "rtx", "unspec", "=", "NULL_RTX", ";", "rtx", "mem", ",", "addr", ",", "base", ",", "insn", ";", "unsigned", "int", "align", ";", "addr", "=", "choose_baseaddr", "(", "cfa_offset", ")", ";", "mem", "=", "gen_frame_mem", "(", "mode", ",", "addr", ")", ";", "align", "=", "MIN", "(", "GET_MODE_ALIGNMENT", "(", "mode", ")", ",", "INCOMING_STACK_BOUNDARY", ")", ";", "set_mem_align", "(", "mem", ",", "align", ")", ";", "if", "(", "mode", "==", "V4SFmode", "&&", "align", "<", "128", ")", "unspec", "=", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "reg", ")", ",", "UNSPEC_STOREU", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "mem", ",", "unspec", "?", "unspec", ":", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "base", "=", "addr", ";", "if", "(", "GET_CODE", "(", "base", ")", "==", "PLUS", ")", "base", "=", "XEXP", "(", "base", ",", "0", ")", ";", "gcc_checking_assert", "(", "REG_P", "(", "base", ")", ")", ";", "if", "(", "m", "->", "fs", ".", "realigned", ")", "{", "gcc_checking_assert", "(", "stack_realign_drap", ")", ";", "if", "(", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "gcc_checking_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "fp_valid", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "hard_frame_pointer_rtx", ",", "cfun", "->", "machine", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "mem", ")", ";", "}", "else", "{", "gcc_checking_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "fp_valid", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "hard_frame_pointer_rtx", ",", "cfun", "->", "machine", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_EXPRESSION", ",", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "}", "}", "else", "if", "(", "base", "!=", "m", "->", "fs", ".", "cfa_reg", ")", "{", "addr", "=", "plus_constant", "(", "Pmode", ",", "m", "->", "fs", ".", "cfa_reg", ",", "m", "->", "fs", ".", "cfa_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_OFFSET", ",", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "}", "else", "if", "(", "unspec", ")", "add_reg_note", "(", "insn", ",", "REG_CFA_EXPRESSION", ",", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "a", "single", "register", "save", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "128", "1", "1", "0"], "File": "i3865", "Func": "ix86_emit_save_reg_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38518, "Length": 375}
{"ground_truth": ["", "static", "void", "ix86_emit_save_sse_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "{", "ix86_emit_save_reg_using_mov", "(", "V4SFmode", ",", "regno", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "GET_MODE_SIZE", "(", "V4SFmode", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "SSE", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "stored", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "0"], "File": "i3865", "Func": "ix86_emit_save_sse_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38519, "Length": 58}
{"ground_truth": ["", "void", "ix86_emit_swdivsf", "(", "rtx", "res", ",", "rtx", "a", ",", "rtx", "b", ",", "machine_mode", "mode", ")", "{", "rtx", "x0", ",", "x1", ",", "e0", ",", "e1", ";", "x0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "x1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "b", "=", "force_reg", "(", "mode", ",", "b", ")", ";", "if", "(", "mode", "==", "V16SFmode", "||", "mode", "==", "V8DFmode", ")", "emit_insn", "(", "gen_rtx_SET", "(", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "b", ")", ",", "UNSPEC_RCP14", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_rtx_SET", "(", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "b", ")", ",", "UNSPEC_RCP", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e0", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "b", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e0", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "e0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e1", ",", "gen_rtx_PLUS", "(", "mode", ",", "x0", ",", "x0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "x1", ",", "gen_rtx_MINUS", "(", "mode", ",", "e1", ",", "e0", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "res", ",", "gen_rtx_MULT", "(", "mode", ",", "a", ",", "x1", ")", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "Newton-Rhapson", "approximation", "of", "a", "single", "precision", "floating", "point", "divide", "[", "http", ":", "//en.wikipedia.org/wiki/N-th_root_algorithm", "]", "."], "TS_V_token": ["i386", "1", "1"], "File": "i3865", "Func": "ix86_emit_swdivsf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38520, "Length": 203}
{"ground_truth": ["", "void", "ix86_emit_swsqrtsf", "(", "rtx", "res", ",", "rtx", "a", ",", "machine_mode", "mode", ",", "bool", "recip", ")", "{", "rtx", "x0", ",", "e0", ",", "e1", ",", "e2", ",", "e3", ",", "mthree", ",", "mhalf", ";", "REAL_VALUE_TYPE", "r", ";", "int", "unspec", ";", "x0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e2", "=", "gen_reg_rtx", "(", "mode", ")", ";", "e3", "=", "gen_reg_rtx", "(", "mode", ")", ";", "real_from_integer", "(", "&", "r", ",", "VOIDmode", ",", "-", "3", ",", "SIGNED", ")", ";", "mthree", "=", "const_double_from_real_value", "(", "r", ",", "SFmode", ")", ";", "real_arithmetic", "(", "&", "r", ",", "NEGATE_EXPR", ",", "&", "dconsthalf", ",", "NULL", ")", ";", "mhalf", "=", "const_double_from_real_value", "(", "r", ",", "SFmode", ")", ";", "unspec", "=", "UNSPEC_RSQRT", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "mthree", "=", "ix86_build_const_vector", "(", "mode", ",", "true", ",", "mthree", ")", ";", "mhalf", "=", "ix86_build_const_vector", "(", "mode", ",", "true", ",", "mhalf", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "unspec", "=", "UNSPEC_RSQRT14", ";", "}", "a", "=", "force_reg", "(", "mode", ",", "a", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "x0", ",", "gen_rtx_UNSPEC", "(", "mode", ",", "gen_rtvec", "(", "1", ",", "a", ")", ",", "unspec", ")", ")", ")", ";", "if", "(", "!", "recip", ")", "{", "rtx", "zero", "=", "force_reg", "(", "mode", ",", "CONST0_RTX", "(", "mode", ")", ")", ";", "rtx", "mask", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "{", "mask", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "emit_insn", "(", "gen_avx512f_cmpv16sf3", "(", "mask", ",", "zero", ",", "a", ",", "GEN_INT", "(", "0x4", ")", ")", ")", ";", "emit_insn", "(", "gen_avx512f_blendmv16sf", "(", "x0", ",", "zero", ",", "x0", ",", "mask", ")", ")", ";", "}", "else", "{", "mask", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "mask", ",", "gen_rtx_NE", "(", "mode", ",", "zero", ",", "a", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "x0", ",", "gen_rtx_AND", "(", "mode", ",", "x0", ",", "mask", ")", ")", ")", ";", "}", "}", "emit_insn", "(", "gen_rtx_SET", "(", "e0", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "a", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e1", ",", "gen_rtx_MULT", "(", "mode", ",", "e0", ",", "x0", ")", ")", ")", ";", "mthree", "=", "force_reg", "(", "mode", ",", "mthree", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "e2", ",", "gen_rtx_PLUS", "(", "mode", ",", "e1", ",", "mthree", ")", ")", ")", ";", "mhalf", "=", "force_reg", "(", "mode", ",", "mhalf", ")", ";", "if", "(", "recip", ")", "emit_insn", "(", "gen_rtx_SET", "(", "e3", ",", "gen_rtx_MULT", "(", "mode", ",", "x0", ",", "mhalf", ")", ")", ")", ";", "else", "emit_insn", "(", "gen_rtx_SET", "(", "e3", ",", "gen_rtx_MULT", "(", "mode", ",", "e0", ",", "mhalf", ")", ")", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "res", ",", "gen_rtx_MULT", "(", "mode", ",", "e2", ",", "e3", ")", ")", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "Newton-Rhapson", "approximation", "of", "a", "single", "precision", "floating", "point", "[", "reciprocal", "]", "square", "root", "."], "TS_V_token": ["i386", "3", "64", "1", "64", "0x4"], "File": "i3865", "Func": "ix86_emit_swsqrtsf", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38521, "Length": 442}
{"ground_truth": ["", "rtx", "ix86_expand_adjust_ufix_to_sfix_si", "(", "rtx", "val", ",", "rtx", "*", "xorp", ")", "{", "REAL_VALUE_TYPE", "TWO31r", ";", "rtx", "two31r", ",", "tmp", "[", "4", "]", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "val", ")", ";", "machine_mode", "scalarmode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "machine_mode", "intmode", "=", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", "?", "V8SImode", ":", "V4SImode", ";", "rtx", "(", "*", "cmp", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "3", ";", "i", "++", ")", "tmp", "[", "i", "]", "=", "gen_reg_rtx", "(", "mode", ")", ";", "real_ldexp", "(", "&", "TWO31r", ",", "&", "dconst1", ",", "31", ")", ";", "two31r", "=", "const_double_from_real_value", "(", "TWO31r", ",", "scalarmode", ")", ";", "two31r", "=", "ix86_build_const_vector", "(", "mode", ",", "1", ",", "two31r", ")", ";", "two31r", "=", "force_reg", "(", "mode", ",", "two31r", ")", ";", "switch", "(", "mode", ")", "{", "case", "V8SFmode", ":", "cmp", "=", "gen_avx_maskcmpv8sf3", ";", "break", ";", "case", "V4SFmode", ":", "cmp", "=", "gen_sse_maskcmpv4sf3", ";", "break", ";", "case", "V4DFmode", ":", "cmp", "=", "gen_avx_maskcmpv4df3", ";", "break", ";", "case", "V2DFmode", ":", "cmp", "=", "gen_sse2_maskcmpv2df3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "tmp", "[", "3", "]", "=", "gen_rtx_LE", "(", "mode", ",", "two31r", ",", "val", ")", ";", "emit_insn", "(", "cmp", "(", "tmp", "[", "0", "]", ",", "two31r", ",", "val", ",", "tmp", "[", "3", "]", ")", ")", ";", "tmp", "[", "1", "]", "=", "expand_simple_binop", "(", "mode", ",", "AND", ",", "tmp", "[", "0", "]", ",", "two31r", ",", "tmp", "[", "1", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "intmode", "==", "V4SImode", "||", "TARGET_AVX2", ")", "*", "xorp", "=", "expand_simple_binop", "(", "intmode", ",", "ASHIFT", ",", "gen_lowpart", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ",", "GEN_INT", "(", "31", ")", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "else", "{", "rtx", "two31", "=", "GEN_INT", "(", "HOST_WIDE_INT_1U", "<<", "31", ")", ";", "two31", "=", "ix86_build_const_vector", "(", "intmode", ",", "1", ",", "two31", ")", ";", "*", "xorp", "=", "expand_simple_binop", "(", "intmode", ",", "AND", ",", "gen_lowpart", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ",", "two31", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "}", "return", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "val", ",", "tmp", "[", "1", "]", ",", "tmp", "[", "2", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "}", ""], "natrual_language": ["Adjust", "a", "V", "*", "SFmode/V", "*", "DFmode", "value", "VAL", "so", "that", "*", "sfix_trunc", "*", "resp", ".", "fix_trunc", "*", "pattern", "can", "be", "used", "on", "it", "instead", "of", "fixuns_trunc", "*", ".", "This", "is", "done", "by", "doing", "just", "signed", "conversion", "if", "<", "0x1p31", ",", "and", "otherwise", "by", "subtracting", "0x1p31", "first", "and", "xoring", "in", "0x80000000", "from", "*", "XORP", "afterwards", "."], "TS_V_token": ["i386", "4", "32", "0", "3", "31", "1", "3", "0", "3", "1", "0", "1", "0", "0", "31", "0", "31", "1", "0", "0", "1", "2", "0"], "File": "i3865", "Func": "ix86_expand_adjust_ufix_to_sfix_si", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38522, "Length": 359}
{"ground_truth": ["", "void", "ix86_expand_copysign", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "op1", ",", "mask", ",", "nmask", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "op1", "=", "operands", "[", "2", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "else", "vmode", "=", "mode", ";", "if", "(", "CONST_DOUBLE_P", "(", "op0", ")", ")", "{", "rtx", "(", "*", "copysign_insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "if", "(", "real_isneg", "(", "CONST_DOUBLE_REAL_VALUE", "(", "op0", ")", ")", ")", "op0", "=", "simplify_unary_operation", "(", "ABS", ",", "mode", ",", "op0", ",", "mode", ")", ";", "if", "(", "mode", "==", "SFmode", "||", "mode", "==", "DFmode", ")", "{", "if", "(", "op0", "==", "CONST0_RTX", "(", "mode", ")", ")", "op0", "=", "CONST0_RTX", "(", "vmode", ")", ";", "else", "{", "rtx", "v", "=", "ix86_build_const_vector", "(", "vmode", ",", "false", ",", "op0", ")", ";", "op0", "=", "force_reg", "(", "vmode", ",", "v", ")", ";", "}", "}", "else", "if", "(", "op0", "!=", "CONST0_RTX", "(", "mode", ")", ")", "op0", "=", "force_reg", "(", "mode", ",", "op0", ")", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "0", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "copysign_insn", "=", "gen_copysignsf3_const", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "copysign_insn", "=", "gen_copysigndf3_const", ";", "else", "copysign_insn", "=", "gen_copysigntf3_const", ";", "emit_insn", "(", "copysign_insn", "(", "dest", ",", "op0", ",", "op1", ",", "mask", ")", ")", ";", "}", "else", "{", "rtx", "(", "*", "copysign_insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "nmask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "1", ")", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "0", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "copysign_insn", "=", "gen_copysignsf3_var", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "copysign_insn", "=", "gen_copysigndf3_var", ";", "else", "copysign_insn", "=", "gen_copysigntf3_var", ";", "emit_insn", "(", "copysign_insn", "(", "dest", ",", "NULL_RTX", ",", "op0", ",", "op1", ",", "nmask", ",", "mask", ")", ")", ";", "}", "}", ""], "natrual_language": ["Expand", "a", "copysign", "operation", ".", "Special", "case", "operand", "0", "being", "a", "constant", "."], "TS_V_token": ["i386", "0", "1", "2", "0", "0", "0", "1", "0", "0"], "File": "i3865", "Func": "ix86_expand_copysign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38523, "Length": 337}
{"ground_truth": ["", "void", "ix86_expand_floorceildf_32", "(", "rtx", "operand0", ",", "rtx", "operand1", ",", "bool", "do_floor", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "TWO52", ",", "tmp", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "res", ",", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa", ",", "TWO52", ",", "xa", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "ix86_sse_copysign_to_positive", "(", "xa", ",", "xa", ",", "res", ",", "mask", ")", ";", "one", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "do_floor", "?", "dconst1", ":", "dconstm1", ",", "mode", ")", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "xa", ",", "res", ",", "!", "do_floor", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "tmp", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "emit_move_insn", "(", "res", ",", "tmp", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE2", "sequence", "for", "computing", "floor", "or", "ceil", "from", "OPERAND1", "storing", "into", "OPERAND0", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i3865", "Func": "ix86_expand_floorceildf_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38524, "Length": 226}
{"ground_truth": ["", "void", "ix86_expand_fp_absneg_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "mask", ",", "set", ",", "dst", ",", "src", ";", "bool", "use_sse", "=", "false", ";", "bool", "vector_mode", "=", "VECTOR_MODE_P", "(", "mode", ")", ";", "machine_mode", "vmode", "=", "mode", ";", "if", "(", "vector_mode", ")", "use_sse", "=", "true", ";", "else", "if", "(", "mode", "==", "TFmode", ")", "use_sse", "=", "true", ";", "else", "if", "(", "TARGET_SSE_MATH", ")", "{", "use_sse", "=", "SSE_FLOAT_MODE_P", "(", "mode", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "vmode", "=", "V4SFmode", ";", "else", "if", "(", "mode", "==", "DFmode", ")", "vmode", "=", "V2DFmode", ";", "}", "if", "(", "use_sse", ")", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "vector_mode", ",", "code", "==", "ABS", ")", ";", "else", "mask", "=", "NULL_RTX", ";", "dst", "=", "operands", "[", "0", "]", ";", "src", "=", "operands", "[", "1", "]", ";", "set", "=", "gen_rtx_fmt_e", "(", "code", ",", "mode", ",", "src", ")", ";", "set", "=", "gen_rtx_SET", "(", "dst", ",", "set", ")", ";", "if", "(", "mask", ")", "{", "rtx", "use", ",", "clob", ";", "rtvec", "par", ";", "use", "=", "gen_rtx_USE", "(", "VOIDmode", ",", "mask", ")", ";", "if", "(", "vector_mode", ")", "par", "=", "gen_rtvec", "(", "2", ",", "set", ",", "use", ")", ";", "else", "{", "clob", "=", "gen_rtx_CLOBBER", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ")", ";", "par", "=", "gen_rtvec", "(", "3", ",", "set", ",", "use", ",", "clob", ")", ";", "}", "emit_insn", "(", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "par", ")", ")", ";", "}", "else", "emit_insn", "(", "set", ")", ";", "}", ""], "natrual_language": ["Generate", "code", "for", "floating", "point", "ABS", "or", "NEG", "."], "TS_V_token": ["i386", "0", "1", "2", "3"], "File": "i3865", "Func": "ix86_expand_fp_absneg_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38525, "Length": 238}
{"ground_truth": ["", "bool", "ix86_expand_pextr", "(", "rtx", "*", "operands", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src", "=", "operands", "[", "1", "]", ";", "unsigned", "int", "size", "=", "INTVAL", "(", "operands", "[", "2", "]", ")", ";", "unsigned", "int", "pos", "=", "INTVAL", "(", "operands", "[", "3", "]", ")", ";", "if", "(", "SUBREG_P", "(", "dst", ")", ")", "{", "if", "(", "SUBREG_BYTE", "(", "dst", ")", ">", "0", ")", "return", "false", ";", "dst", "=", "SUBREG_REG", "(", "dst", ")", ";", "}", "if", "(", "SUBREG_P", "(", "src", ")", ")", "{", "pos", "+=", "SUBREG_BYTE", "(", "src", ")", "*", "BITS_PER_UNIT", ";", "src", "=", "SUBREG_REG", "(", "src", ")", ";", "}", "switch", "(", "GET_MODE", "(", "src", ")", ")", "{", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "case", "V1TImode", ":", "case", "TImode", ":", "{", "machine_mode", "srcmode", ",", "dstmode", ";", "rtx", "d", ",", "pat", ";", "dstmode", "=", "mode_for_size", "(", "size", ",", "MODE_INT", ",", "0", ")", ";", "switch", "(", "dstmode", ")", "{", "case", "QImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "srcmode", "=", "V16QImode", ";", "break", ";", "case", "HImode", ":", "if", "(", "!", "TARGET_SSE2", ")", "return", "false", ";", "srcmode", "=", "V8HImode", ";", "break", ";", "case", "SImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "srcmode", "=", "V4SImode", ";", "break", ";", "case", "DImode", ":", "gcc_assert", "(", "TARGET_64BIT", ")", ";", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "srcmode", "=", "V2DImode", ";", "break", ";", "default", ":", "return", "false", ";", "}", "if", "(", "pos", "&", "(", "size", "-", "1", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "dst", ")", "==", "dstmode", ")", "d", "=", "dst", ";", "else", "d", "=", "gen_reg_rtx", "(", "dstmode", ")", ";", "pat", "=", "gen_rtx_PARALLEL", "(", "VOIDmode", ",", "gen_rtvec", "(", "1", ",", "GEN_INT", "(", "pos", "/", "size", ")", ")", ")", ";", "pat", "=", "gen_rtx_VEC_SELECT", "(", "dstmode", ",", "gen_lowpart", "(", "srcmode", ",", "src", ")", ",", "pat", ")", ";", "if", "(", "dstmode", "==", "QImode", "||", "dstmode", "==", "HImode", ")", "{", "pat", "=", "gen_rtx_ZERO_EXTEND", "(", "SImode", ",", "pat", ")", ";", "d", "=", "gen_lowpart", "(", "SImode", ",", "d", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "d", ",", "pat", ")", ")", ";", "if", "(", "d", "!=", "dst", ")", "emit_move_insn", "(", "dst", ",", "gen_lowpart", "(", "GET_MODE", "(", "dst", ")", ",", "d", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["Expand", "an", "extract", "from", "a", "vector", "register", "through", "pextr", "insn", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "0", "0", "1", "1"], "File": "i3865", "Func": "ix86_expand_pextr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38526, "Length": 374}
{"ground_truth": ["", "bool", "ix86_expand_pinsr", "(", "rtx", "*", "operands", ")", "{", "rtx", "dst", "=", "operands", "[", "0", "]", ";", "rtx", "src", "=", "operands", "[", "3", "]", ";", "unsigned", "int", "size", "=", "INTVAL", "(", "operands", "[", "1", "]", ")", ";", "unsigned", "int", "pos", "=", "INTVAL", "(", "operands", "[", "2", "]", ")", ";", "if", "(", "SUBREG_P", "(", "dst", ")", ")", "{", "pos", "+=", "SUBREG_BYTE", "(", "dst", ")", "*", "BITS_PER_UNIT", ";", "dst", "=", "SUBREG_REG", "(", "dst", ")", ";", "}", "switch", "(", "GET_MODE", "(", "dst", ")", ")", "{", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "case", "V1TImode", ":", "case", "TImode", ":", "{", "machine_mode", "srcmode", ",", "dstmode", ";", "rtx", "(", "*", "pinsr", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "d", ";", "srcmode", "=", "mode_for_size", "(", "size", ",", "MODE_INT", ",", "0", ")", ";", "switch", "(", "srcmode", ")", "{", "case", "QImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V16QImode", ";", "pinsr", "=", "gen_sse4_1_pinsrb", ";", "break", ";", "case", "HImode", ":", "if", "(", "!", "TARGET_SSE2", ")", "return", "false", ";", "dstmode", "=", "V8HImode", ";", "pinsr", "=", "gen_sse2_pinsrw", ";", "break", ";", "case", "SImode", ":", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V4SImode", ";", "pinsr", "=", "gen_sse4_1_pinsrd", ";", "break", ";", "case", "DImode", ":", "gcc_assert", "(", "TARGET_64BIT", ")", ";", "if", "(", "!", "TARGET_SSE4_1", ")", "return", "false", ";", "dstmode", "=", "V2DImode", ";", "pinsr", "=", "gen_sse4_1_pinsrq", ";", "break", ";", "default", ":", "return", "false", ";", "}", "if", "(", "pos", "&", "(", "size", "-", "1", ")", ")", "return", "false", ";", "if", "(", "SUBREG_P", "(", "src", ")", ")", "{", "unsigned", "int", "srcpos", "=", "SUBREG_BYTE", "(", "src", ")", ";", "if", "(", "srcpos", ">", "0", ")", "{", "rtx", "extr_ops", "[", "4", "]", ";", "extr_ops", "[", "0", "]", "=", "gen_reg_rtx", "(", "srcmode", ")", ";", "extr_ops", "[", "1", "]", "=", "gen_lowpart", "(", "srcmode", ",", "SUBREG_REG", "(", "src", ")", ")", ";", "extr_ops", "[", "2", "]", "=", "GEN_INT", "(", "size", ")", ";", "extr_ops", "[", "3", "]", "=", "GEN_INT", "(", "srcpos", "*", "BITS_PER_UNIT", ")", ";", "if", "(", "!", "ix86_expand_pextr", "(", "extr_ops", ")", ")", "return", "false", ";", "src", "=", "extr_ops", "[", "0", "]", ";", "}", "else", "src", "=", "gen_lowpart", "(", "srcmode", ",", "SUBREG_REG", "(", "src", ")", ")", ";", "}", "if", "(", "GET_MODE", "(", "dst", ")", "==", "dstmode", ")", "d", "=", "dst", ";", "else", "d", "=", "gen_reg_rtx", "(", "dstmode", ")", ";", "emit_insn", "(", "pinsr", "(", "d", ",", "gen_lowpart", "(", "dstmode", ",", "dst", ")", ",", "gen_lowpart", "(", "srcmode", ",", "src", ")", ",", "GEN_INT", "(", "1", "<<", "(", "pos", "/", "size", ")", ")", ")", ")", ";", "if", "(", "d", "!=", "dst", ")", "emit_move_insn", "(", "dst", ",", "gen_lowpart", "(", "GET_MODE", "(", "dst", ")", ",", "d", ")", ")", ";", "return", "true", ";", "}", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["Expand", "an", "insert", "into", "a", "vector", "register", "through", "pinsr", "insn", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "3", "1", "2", "0", "1", "0", "4", "0", "1", "2", "3", "0", "1"], "File": "i3865", "Func": "ix86_expand_pinsr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38527, "Length": 443}
{"ground_truth": ["", "void", "ix86_expand_rounddf_32", "(", "rtx", "operand0", ",", "rtx", "operand1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operand0", ")", ";", "rtx", "xa", ",", "xa2", ",", "dxa", ",", "TWO52", ",", "tmp", ",", "half", ",", "mhalf", ",", "one", ",", "res", ",", "mask", ";", "rtx_code_label", "*", "label", ";", "TWO52", "=", "ix86_gen_TWO52", "(", "mode", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_move_insn", "(", "res", ",", "operand1", ")", ";", "xa", "=", "ix86_expand_sse_fabs", "(", "res", ",", "&", "mask", ")", ";", "label", "=", "ix86_expand_sse_compare_and_jump", "(", "UNLE", ",", "TWO52", ",", "xa", ",", "false", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa", ",", "TWO52", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "TWO52", ",", "xa2", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "dxa", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "xa", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "half", "=", "force_reg", "(", "mode", ",", "const_double_from_real_value", "(", "dconsthalf", ",", "mode", ")", ")", ";", "one", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "half", ",", "half", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "mhalf", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "half", ",", "one", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp", "=", "gen_reg_rtx", "(", "mode", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGT", ",", "dxa", ",", "half", ",", "false", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "xa2", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp", "=", "ix86_expand_sse_compare_mask", "(", "UNGE", ",", "mhalf", ",", "dxa", ",", "false", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_AND", "(", "mode", ",", "one", ",", "tmp", ")", ")", ")", ";", "xa2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "xa2", ",", "tmp", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "ix86_sse_copysign_to_positive", "(", "res", ",", "xa2", ",", "force_reg", "(", "mode", ",", "operand1", ")", ",", "mask", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "emit_move_insn", "(", "operand0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "round", "from", "OPERAND1", "storing", "into", "OPERAND0", ".", "Sequence", "that", "works", "without", "relying", "on", "DImode", "truncation", "via", "cvttsd2siq", "that", "is", "only", "available", "on", "64bit", "targets", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i3865", "Func": "ix86_expand_rounddf_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38528, "Length": 337}
{"ground_truth": ["", "void", "ix86_expand_round_sse4", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "rtx", "e1", ",", "e2", ",", "res", ",", "half", ";", "const", "struct", "real_format", "*", "fmt", ";", "REAL_VALUE_TYPE", "pred_half", ",", "half_minus_pred_half", ";", "rtx", "(", "*", "gen_copysign", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "(", "*", "gen_round", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "switch", "(", "mode", ")", "{", "case", "SFmode", ":", "gen_copysign", "=", "gen_copysignsf3", ";", "gen_round", "=", "gen_sse4_1_roundsf2", ";", "break", ";", "case", "DFmode", ":", "gen_copysign", "=", "gen_copysigndf3", ";", "gen_round", "=", "gen_sse4_1_rounddf2", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "fmt", "=", "REAL_MODE_FORMAT", "(", "mode", ")", ";", "real_2expN", "(", "&", "half_minus_pred_half", ",", "-", "(", "fmt", "->", "p", ")", "-", "1", ",", "mode", ")", ";", "real_arithmetic", "(", "&", "pred_half", ",", "MINUS_EXPR", ",", "&", "dconsthalf", ",", "&", "half_minus_pred_half", ")", ";", "half", "=", "const_double_from_real_value", "(", "pred_half", ",", "mode", ")", ";", "e1", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_copysign", "(", "e1", ",", "half", ",", "op1", ")", ")", ";", "e2", "=", "expand_simple_binop", "(", "mode", ",", "PLUS", ",", "op1", ",", "e1", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "res", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_insn", "(", "gen_round", "(", "res", ",", "e2", ",", "GEN_INT", "(", "ROUND_TRUNC", ")", ")", ")", ";", "emit_move_insn", "(", "op0", ",", "res", ")", ";", "}", ""], "natrual_language": ["Expand", "SSE", "sequence", "for", "computing", "round", "from", "OP1", "storing", "into", "OP0", "using", "sse4", "round", "insn", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3865", "Func": "ix86_expand_round_sse4", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38529, "Length": 217}
{"ground_truth": ["", "void", "ix86_expand_sse2_abs", "(", "rtx", "target", ",", "rtx", "input", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "rtx", "tmp0", ",", "tmp1", ",", "x", ";", "switch", "(", "mode", ")", "{", "case", "V4SImode", ":", "tmp0", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFTRT", ",", "input", ",", "GEN_INT", "(", "GET_MODE_UNIT_BITSIZE", "(", "mode", ")", "-", "1", ")", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp1", "=", "expand_simple_binop", "(", "mode", ",", "XOR", ",", "tmp0", ",", "input", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "tmp1", ",", "tmp0", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "V8HImode", ":", "tmp0", "=", "expand_unop", "(", "mode", ",", "neg_optab", ",", "input", ",", "NULL_RTX", ",", "0", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "SMAX", ",", "tmp0", ",", "input", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "V16QImode", ":", "tmp0", "=", "expand_unop", "(", "mode", ",", "neg_optab", ",", "input", ",", "NULL_RTX", ",", "0", ")", ";", "x", "=", "expand_simple_binop", "(", "V16QImode", ",", "UMIN", ",", "tmp0", ",", "input", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "x", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "x", ")", ";", "}", ""], "natrual_language": ["Calculate", "integer", "abs", "(", ")", "using", "only", "SSE2", "instructions", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0", "0", "0", "0"], "File": "i3865", "Func": "ix86_expand_sse2_abs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38530, "Length": 199}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "machine_mode", "cmp_ops_mode", "=", "GET_MODE", "(", "cmp_op0", ")", ";", "machine_mode", "cmp_mode", ";", "bool", "maskcmp", "=", "false", ";", "rtx", "x", ";", "if", "(", "GET_MODE_SIZE", "(", "cmp_ops_mode", ")", "==", "64", ")", "{", "cmp_mode", "=", "mode_for_size", "(", "GET_MODE_NUNITS", "(", "cmp_ops_mode", ")", ",", "MODE_INT", ",", "0", ")", ";", "gcc_assert", "(", "cmp_mode", "!=", "BLKmode", ")", ";", "maskcmp", "=", "true", ";", "}", "else", "cmp_mode", "=", "cmp_ops_mode", ";", "cmp_op0", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op0", ")", ";", "if", "(", "!", "nonimmediate_operand", "(", "cmp_op1", ",", "cmp_ops_mode", ")", ")", "cmp_op1", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op1", ")", ";", "if", "(", "optimize", "||", "(", "op_true", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_true", ")", ")", "||", "(", "op_false", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_false", ")", ")", ")", "dest", "=", "gen_reg_rtx", "(", "maskcmp", "?", "cmp_mode", ":", "mode", ")", ";", "if", "(", "maskcmp", "&&", "(", "code", "==", "GT", "||", "code", "==", "EQ", ")", ")", "{", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "switch", "(", "cmp_ops_mode", ")", "{", "case", "V64QImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv64qi3", ":", "gen_avx512bw_eqv64qi3_1", ";", "break", ";", "case", "V32HImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv32hi3", ":", "gen_avx512bw_eqv32hi3_1", ";", "break", ";", "case", "V16SImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv16si3", ":", "gen_avx512f_eqv16si3_1", ";", "break", ";", "case", "V8DImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv8di3", ":", "gen_avx512f_eqv8di3_1", ";", "break", ";", "default", ":", "gen", "=", "NULL", ";", "}", "if", "(", "gen", ")", "{", "emit_insn", "(", "gen", "(", "dest", ",", "cmp_op0", ",", "cmp_op1", ")", ")", ";", "return", "dest", ";", "}", "}", "x", "=", "gen_rtx_fmt_ee", "(", "code", ",", "cmp_mode", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "if", "(", "cmp_mode", "!=", "mode", "&&", "!", "maskcmp", ")", "{", "x", "=", "force_reg", "(", "cmp_ops_mode", ",", "x", ")", ";", "convert_move", "(", "dest", ",", "x", ",", "false", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Expand", "an", "sse", "vector", "comparison", ".", "Return", "the", "register", "with", "the", "result", "."], "TS_V_token": ["i386", "64", "0"], "File": "i3865", "Func": "ix86_expand_sse_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38531, "Length": 346}
{"ground_truth": ["", "static", "rtx_code_label", "*", "ix86_expand_sse_compare_and_jump", "(", "enum", "rtx_code", "code", ",", "rtx", "op0", ",", "rtx", "op1", ",", "bool", "swap_operands", ")", "{", "machine_mode", "fpcmp_mode", "=", "ix86_fp_compare_mode", "(", "code", ")", ";", "rtx_code_label", "*", "label", ";", "rtx", "tmp", ";", "if", "(", "swap_operands", ")", "std", "::", "swap", "(", "op0", ",", "op1", ")", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "tmp", "=", "gen_rtx_REG", "(", "fpcmp_mode", ",", "FLAGS_REG", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "gen_rtx_COMPARE", "(", "fpcmp_mode", ",", "op0", ",", "op1", ")", ")", ")", ";", "tmp", "=", "gen_rtx_fmt_ee", "(", "code", ",", "VOIDmode", ",", "tmp", ",", "const0_rtx", ")", ";", "tmp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "tmp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "tmp", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "tmp", ")", ")", ";", "JUMP_LABEL", "(", "tmp", ")", "=", "label", ";", "return", "label", ";", "}", ""], "natrual_language": ["Expands", "a", "comparison", "of", "OP0", "with", "OP1", "using", "comparison", "code", "CODE", ",", "swapping", "the", "operands", "if", "SWAP_OPERANDS", "is", "true", ".", "The", "expanded", "code", "is", "a", "forward", "jump", "to", "a", "newly", "created", "label", "in", "case", "the", "comparison", "is", "true", ".", "The", "generated", "label", "rtx", "is", "returned", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_expand_sse_compare_and_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38532, "Length": 133}
{"ground_truth": ["", "static", "bool", "ix86_expand_sse_fp_minmax", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "if_true", ",", "rtx", "if_false", ")", "{", "machine_mode", "mode", ";", "bool", "is_min", ";", "rtx", "tmp", ";", "if", "(", "code", "==", "LT", ")", ";", "else", "if", "(", "code", "==", "UNGE", ")", "std", "::", "swap", "(", "if_true", ",", "if_false", ")", ";", "else", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "cmp_op0", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op1", ",", "if_false", ")", ")", "is_min", "=", "true", ";", "else", "if", "(", "rtx_equal_p", "(", "cmp_op1", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op0", ",", "if_false", ")", ")", "is_min", "=", "false", ";", "else", "return", "false", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "!", "flag_finite_math_only", "||", "!", "flag_unsafe_math_optimizations", ")", "{", "int", "u", "=", "is_min", "?", "UNSPEC_IEEE_MIN", ":", "UNSPEC_IEEE_MAX", ";", "rtvec", "v", ";", "if_true", "=", "force_reg", "(", "mode", ",", "if_true", ")", ";", "v", "=", "gen_rtvec", "(", "2", ",", "if_true", ",", "if_false", ")", ";", "tmp", "=", "gen_rtx_UNSPEC", "(", "mode", ",", "v", ",", "u", ")", ";", "}", "else", "{", "code", "=", "is_min", "?", "SMIN", ":", "SMAX", ";", "tmp", "=", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "if_true", ",", "if_false", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "tmp", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Detect", "conditional", "moves", "that", "exactly", "match", "min/max", "operational", "semantics", ".", "Note", "that", "this", "is", "IEEE", "safe", ",", "as", "long", "as", "we", "do", "n't", "interchange", "the", "operands", ".", "Returns", "FALSE", "if", "this", "conditional", "move", "does", "n't", "match", "a", "MIN/MAX", ",", "and", "TRUE", "if", "the", "operation", "is", "successful", "and", "instructions", "are", "emitted", "."], "TS_V_token": ["i386", "2"], "File": "i3865", "Func": "ix86_expand_sse_fp_minmax", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38533, "Length": 203}
{"ground_truth": ["", "bool", "ix86_expand_strlen", "(", "rtx", "out", ",", "rtx", "src", ",", "rtx", "eoschar", ",", "rtx", "align", ")", "{", "rtx", "addr", ",", "scratch1", ",", "scratch2", ",", "scratch3", ",", "scratch4", ";", "if", "(", "TARGET_UNROLL_STRLEN", "&&", "eoschar", "==", "const0_rtx", "&&", "optimize", ">", "1", "&&", "!", "TARGET_INLINE_ALL_STRINGOPS", "&&", "!", "optimize_insn_for_size_p", "(", ")", "&&", "(", "!", "CONST_INT_P", "(", "align", ")", "||", "INTVAL", "(", "align", ")", "<", "4", ")", ")", "return", "false", ";", "addr", "=", "force_reg", "(", "Pmode", ",", "XEXP", "(", "src", ",", "0", ")", ")", ";", "scratch1", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "if", "(", "TARGET_UNROLL_STRLEN", "&&", "eoschar", "==", "const0_rtx", "&&", "optimize", ">", "1", "&&", "!", "optimize_insn_for_size_p", "(", ")", ")", "{", "emit_move_insn", "(", "out", ",", "addr", ")", ";", "ix86_expand_strlensi_unroll_1", "(", "out", ",", "src", ",", "align", ")", ";", "emit_insn", "(", "ix86_gen_sub3", "(", "out", ",", "out", ",", "addr", ")", ")", ";", "}", "else", "{", "rtx", "unspec", ";", "if", "(", "fixed_regs", "[", "AX_REG", "]", "||", "fixed_regs", "[", "CX_REG", "]", "||", "fixed_regs", "[", "DI_REG", "]", ")", "return", "false", ";", "if", "(", "!", "ADDR_SPACE_GENERIC_P", "(", "MEM_ADDR_SPACE", "(", "src", ")", ")", ")", "return", "false", ";", "scratch2", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "scratch3", "=", "gen_reg_rtx", "(", "Pmode", ")", ";", "scratch4", "=", "force_reg", "(", "Pmode", ",", "constm1_rtx", ")", ";", "emit_move_insn", "(", "scratch3", ",", "addr", ")", ";", "eoschar", "=", "force_reg", "(", "QImode", ",", "eoschar", ")", ";", "src", "=", "replace_equiv_address_nv", "(", "src", ",", "scratch3", ")", ";", "unspec", "=", "gen_rtx_UNSPEC", "(", "Pmode", ",", "gen_rtvec", "(", "4", ",", "src", ",", "eoschar", ",", "align", ",", "scratch4", ")", ",", "UNSPEC_SCAS", ")", ";", "emit_insn", "(", "gen_strlenqi_1", "(", "scratch1", ",", "scratch3", ",", "unspec", ")", ")", ";", "emit_insn", "(", "ix86_gen_one_cmpl2", "(", "scratch2", ",", "scratch1", ")", ")", ";", "emit_insn", "(", "ix86_gen_add3", "(", "out", ",", "scratch2", ",", "constm1_rtx", ")", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "strlen", "."], "TS_V_token": ["i386", "1", "4", "0", "1", "4"], "File": "i3865", "Func": "ix86_expand_strlen", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38534, "Length": 281}
{"ground_truth": ["", "void", "ix86_expand_vector_init", "(", "bool", "mmx_ok", ",", "rtx", "target", ",", "rtx", "vals", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "int", "n_elts", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "int", "n_var", "=", "0", ",", "one_var", "=", "-", "1", ";", "bool", "all_same", "=", "true", ",", "all_const_zero", "=", "true", ";", "int", "i", ";", "rtx", "x", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_elts", ";", "++", "i", ")", "{", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "i", ")", ";", "if", "(", "!", "(", "CONST_SCALAR_INT_P", "(", "x", ")", "||", "CONST_DOUBLE_P", "(", "x", ")", "||", "CONST_FIXED_P", "(", "x", ")", ")", ")", "n_var", "++", ",", "one_var", "=", "i", ";", "else", "if", "(", "x", "!=", "CONST0_RTX", "(", "inner_mode", ")", ")", "all_const_zero", "=", "false", ";", "if", "(", "i", ">", "0", "&&", "!", "rtx_equal_p", "(", "x", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "all_same", "=", "false", ";", "}", "if", "(", "n_var", "==", "0", ")", "{", "emit_move_insn", "(", "target", ",", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "vals", ",", "0", ")", ")", ")", ";", "return", ";", "}", "if", "(", "all_same", "&&", "ix86_expand_vector_init_duplicate", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "0", ")", ")", ")", "return", ";", "if", "(", "n_var", "==", "1", ")", "{", "if", "(", "all_const_zero", "&&", "ix86_expand_vector_init_one_nonzero", "(", "mmx_ok", ",", "mode", ",", "target", ",", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ",", "one_var", ")", ")", "return", ";", "if", "(", "ix86_expand_vector_init_one_var", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ",", "one_var", ")", ")", "return", ";", "}", "ix86_expand_vector_init_general", "(", "mmx_ok", ",", "mode", ",", "target", ",", "vals", ")", ";", "}", ""], "natrual_language": ["Initialize", "vector", "TARGET", "via", "VALS", ".", "Suppress", "the", "use", "of", "MMX", "instructions", "unless", "MMX_OK", "is", "true", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0"], "File": "i3865", "Func": "ix86_expand_vector_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38535, "Length": 268}
{"ground_truth": ["", "void", "ix86_expand_vector_logical_operator", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ")", "{", "rtx", "op1", "=", "NULL_RTX", ",", "op2", "=", "NULL_RTX", ";", "if", "(", "SUBREG_P", "(", "operands", "[", "1", "]", ")", ")", "{", "op1", "=", "operands", "[", "1", "]", ";", "op2", "=", "operands", "[", "2", "]", ";", "}", "else", "if", "(", "SUBREG_P", "(", "operands", "[", "2", "]", ")", ")", "{", "op1", "=", "operands", "[", "2", "]", ";", "op2", "=", "operands", "[", "1", "]", ";", "}", "if", "(", "op1", "&&", "!", "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL", "&&", "(", "SUBREG_P", "(", "op2", ")", "||", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", ")", "&&", "GET_MODE_CLASS", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "==", "MODE_VECTOR_FLOAT", "&&", "GET_MODE_SIZE", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "==", "GET_MODE_SIZE", "(", "mode", ")", "&&", "SUBREG_BYTE", "(", "op1", ")", "==", "0", "&&", "(", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", "||", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", "==", "GET_MODE", "(", "SUBREG_REG", "(", "op2", ")", ")", "&&", "SUBREG_BYTE", "(", "op2", ")", "==", "0", ")", ")", "&&", "can_create_pseudo_p", "(", ")", ")", "{", "rtx", "dst", ";", "switch", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", "{", "case", "V4SFmode", ":", "case", "V8SFmode", ":", "case", "V16SFmode", ":", "case", "V2DFmode", ":", "case", "V4DFmode", ":", "case", "V8DFmode", ":", "dst", "=", "gen_reg_rtx", "(", "GET_MODE", "(", "SUBREG_REG", "(", "op1", ")", ")", ")", ";", "if", "(", "GET_CODE", "(", "op2", ")", "==", "CONST_VECTOR", ")", "{", "op2", "=", "gen_lowpart", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "op2", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "}", "else", "{", "op1", "=", "operands", "[", "1", "]", ";", "op2", "=", "SUBREG_REG", "(", "operands", "[", "2", "]", ")", ";", "if", "(", "!", "vector_operand", "(", "op2", ",", "GET_MODE", "(", "dst", ")", ")", ")", "op2", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op2", ")", ";", "}", "op1", "=", "SUBREG_REG", "(", "op1", ")", ";", "if", "(", "!", "vector_operand", "(", "op1", ",", "GET_MODE", "(", "dst", ")", ")", ")", "op1", "=", "force_reg", "(", "GET_MODE", "(", "dst", ")", ",", "op1", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dst", ",", "gen_rtx_fmt_ee", "(", "code", ",", "GET_MODE", "(", "dst", ")", ",", "op1", ",", "op2", ")", ")", ")", ";", "emit_move_insn", "(", "operands", "[", "0", "]", ",", "gen_lowpart", "(", "mode", ",", "dst", ")", ")", ";", "return", ";", "default", ":", "break", ";", "}", "}", "if", "(", "!", "vector_operand", "(", "operands", "[", "1", "]", ",", "mode", ")", ")", "operands", "[", "1", "]", "=", "force_reg", "(", "mode", ",", "operands", "[", "1", "]", ")", ";", "if", "(", "!", "vector_operand", "(", "operands", "[", "2", "]", ",", "mode", ")", ")", "operands", "[", "2", "]", "=", "force_reg", "(", "mode", ",", "operands", "[", "2", "]", ")", ";", "ix86_fixup_binary_operands_no_copy", "(", "code", ",", "mode", ",", "operands", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "operands", "[", "0", "]", ",", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "vector", "logical", "operation", "CODE", "(", "AND", ",", "IOR", ",", "XOR", ")", "in", "MODE", "with", "the", "given", "OPERANDS", "."], "TS_V_token": ["i386", "1", "1", "2", "2", "2", "1", "0", "0", "1", "2", "0", "1", "1", "1", "2", "2", "2", "0", "1", "2"], "File": "i3865", "Func": "ix86_expand_vector_logical_operator", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38536, "Length": 470}
{"ground_truth": ["", "static", "bool", "ix86_expand_vec_perm_const_1", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "if", "(", "expand_vec_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshuflw_pshufhw", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_palignr", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_broadcast", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermq_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pblendv", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_pack", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2vperm2f128_vshuf", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshufb2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave3", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128_vblend", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_trunc", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermi2_vpshub2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb4_vpermq2", "(", "d", ")", ")", "return", "true", ";", "struct", "expand_vec_perm_d", "nd", ";", "if", "(", "canonicalize_vector_int_perm", "(", "d", ",", "&", "nd", ")", "&&", "expand_vec_perm_1", "(", "&", "nd", ")", ")", "{", "if", "(", "!", "d", "->", "testing_p", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "nd", ".", "target", ")", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["The", "guts", "of", "ix86_expand_vec_perm_const", ",", "also", "used", "by", "the", "ok", "hook", ".", "With", "all", "of", "the", "interface", "bits", "taken", "care", "of", ",", "perform", "the", "expansion", "in", "D", "and", "return", "true", "on", "success", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_expand_vec_perm_const_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38537, "Length": 256}
{"ground_truth": ["", "static", "void", "ix86_finalize_stack_realign_flags", "(", "void", ")", "{", "unsigned", "int", "incoming_stack_boundary", "=", "(", "crtl", "->", "parm_stack_boundary", ">", "ix86_incoming_stack_boundary", "?", "crtl", "->", "parm_stack_boundary", ":", "ix86_incoming_stack_boundary", ")", ";", "unsigned", "int", "stack_realign", "=", "(", "incoming_stack_boundary", "<", "(", "crtl", "->", "is_leaf", "&&", "!", "ix86_current_function_calls_tls_descriptor", "?", "crtl", "->", "max_used_stack_slot_alignment", ":", "crtl", "->", "stack_alignment_needed", ")", ")", ";", "if", "(", "crtl", "->", "stack_realign_finalized", ")", "{", "gcc_assert", "(", "crtl", "->", "stack_realign_needed", "==", "stack_realign", ")", ";", "return", ";", "}", "if", "(", "stack_realign", "&&", "frame_pointer_needed", "&&", "crtl", "->", "is_leaf", "&&", "flag_omit_frame_pointer", "&&", "crtl", "->", "sp_is_unchanging", "&&", "!", "ix86_current_function_calls_tls_descriptor", "&&", "!", "crtl", "->", "accesses_prior_frames", "&&", "!", "cfun", "->", "calls_alloca", "&&", "!", "crtl", "->", "calls_eh_return", "&&", "!", "(", "STACK_CHECK_MOVING_SP", "&&", "flag_stack_check", "&&", "flag_exceptions", "&&", "cfun", "->", "can_throw_non_call_exceptions", ")", "&&", "!", "ix86_frame_pointer_required", "(", ")", "&&", "get_frame_size", "(", ")", "==", "0", "&&", "ix86_nsaved_sseregs", "(", ")", "==", "0", "&&", "ix86_varargs_gpr_size", "+", "ix86_varargs_fpr_size", "==", "0", ")", "{", "HARD_REG_SET", "set_up_by_prologue", ",", "prologue_used", ";", "basic_block", "bb", ";", "CLEAR_HARD_REG_SET", "(", "prologue_used", ")", ";", "CLEAR_HARD_REG_SET", "(", "set_up_by_prologue", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "STACK_POINTER_REGNUM", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "ARG_POINTER_REGNUM", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "HARD_FRAME_POINTER_REGNUM", ")", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ";", "FOR_BB_INSNS", "(", "bb", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", "&&", "requires_stack_frame_p", "(", "insn", ",", "prologue_used", ",", "set_up_by_prologue", ")", ")", "{", "crtl", "->", "stack_realign_needed", "=", "stack_realign", ";", "crtl", "->", "stack_realign_finalized", "=", "true", ";", "return", ";", "}", "}", "if", "(", "crtl", "->", "drap_reg", ")", "{", "basic_block", "bb", "=", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", "->", "next_bb", ";", "if", "(", "!", "REGNO_REG_SET_P", "(", "DF_LR_IN", "(", "bb", ")", ",", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", ")", "{", "crtl", "->", "drap_reg", "=", "NULL_RTX", ";", "crtl", "->", "need_drap", "=", "false", ";", "}", "}", "else", "cfun", "->", "machine", "->", "no_drap_save_restore", "=", "true", ";", "frame_pointer_needed", "=", "false", ";", "stack_realign", "=", "false", ";", "crtl", "->", "max_used_stack_slot_alignment", "=", "incoming_stack_boundary", ";", "crtl", "->", "stack_alignment_needed", "=", "incoming_stack_boundary", ";", "crtl", "->", "stack_alignment_estimated", "=", "incoming_stack_boundary", ";", "if", "(", "crtl", "->", "preferred_stack_boundary", ">", "incoming_stack_boundary", ")", "crtl", "->", "preferred_stack_boundary", "=", "incoming_stack_boundary", ";", "df_finish_pass", "(", "true", ")", ";", "df_scan_alloc", "(", "NULL", ")", ";", "df_scan_blocks", "(", ")", ";", "df_compute_regs_ever_live", "(", "true", ")", ";", "df_analyze", "(", ")", ";", "}", "crtl", "->", "stack_realign_needed", "=", "stack_realign", ";", "crtl", "->", "stack_realign_finalized", "=", "true", ";", "}", ""], "natrual_language": ["Finalize", "stack_realign_needed", "flag", ",", "which", "will", "guide", "prologue/epilogue", "to", "be", "generated", "in", "correct", "form", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3865", "Func": "ix86_finalize_stack_realign_flags", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38538, "Length": 374}
{"ground_truth": ["", "rtx", "ix86_find_base_term", "(", "rtx", "x", ")", "{", "rtx", "term", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "!=", "CONST", ")", "return", "x", ";", "term", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "==", "PLUS", "&&", "CONST_INT_P", "(", "XEXP", "(", "term", ",", "1", ")", ")", ")", "term", "=", "XEXP", "(", "term", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "!=", "UNSPEC", "||", "(", "XINT", "(", "term", ",", "1", ")", "!=", "UNSPEC_GOTPCREL", "&&", "XINT", "(", "term", ",", "1", ")", "!=", "UNSPEC_PCREL", ")", ")", "return", "x", ";", "return", "XVECEXP", "(", "term", ",", "0", ",", "0", ")", ";", "}", "return", "ix86_delegitimize_address", "(", "x", ")", ";", "}", ""], "natrual_language": ["If", "X", "is", "a", "machine", "specific", "address", "(", "i.e", ".", "a", "symbol", "or", "label", "being", "referenced", "as", "a", "displacement", "from", "the", "GOT", "implemented", "using", "an", "UNSPEC", ")", ",", "then", "return", "the", "base", "term", ".", "Otherwise", "return", "X", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "1", "0", "0"], "File": "i3865", "Func": "ix86_find_base_term", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38539, "Length": 114}
{"ground_truth": ["", "static", "int", "ix86_fp_cmp_code_to_pcmp_immediate", "(", "enum", "rtx_code", "code", ")", "{", "switch", "(", "code", ")", "{", "case", "EQ", ":", "return", "0x08", ";", "case", "NE", ":", "return", "0x04", ";", "case", "GT", ":", "return", "0x16", ";", "case", "LE", ":", "return", "0x1a", ";", "case", "GE", ":", "return", "0x15", ";", "case", "LT", ":", "return", "0x19", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Helper", "for", "ix86_cmp_code_to_pcmp_immediate", "for", "fp", "modes", "."], "TS_V_token": ["i386", "0x08", "0x04", "0x16", "0x1a", "0x15", "0x19"], "File": "i3865", "Func": "ix86_fp_cmp_code_to_pcmp_immediate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38540, "Length": 58}
{"ground_truth": ["", "static", "bool", "ix86_frame_pointer_required", "(", "void", ")", "{", "if", "(", "cfun", "->", "machine", "->", "accesses_prev_frame", ")", "return", "true", ";", "if", "(", "SUBTARGET_FRAME_POINTER_REQUIRED", ")", "return", "true", ";", "if", "(", "TARGET_32BIT_MS_ABI", "&&", "cfun", "->", "calls_setjmp", ")", "return", "true", ";", "if", "(", "TARGET_64BIT_MS_ABI", "&&", "get_frame_size", "(", ")", ">", "SEH_MAX_FRAME_SIZE", ")", "return", "true", ";", "if", "(", "TARGET_64BIT_MS_ABI", "&&", "ix86_incoming_stack_boundary", "<", "128", ")", "return", "true", ";", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", "&&", "(", "!", "crtl", "->", "is_leaf", "||", "ix86_current_function_calls_tls_descriptor", ")", ")", "return", "true", ";", "if", "(", "crtl", "->", "profile", "&&", "!", "flag_fentry", ")", "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": ["i386", "128"], "File": "i3865", "Func": "ix86_frame_pointer_required", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38541, "Length": 92}
{"ground_truth": ["", "static", "rtx", "ix86_function_arg", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "omode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "machine_mode", "mode", "=", "omode", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "rtx", "arg", ";", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "cum", "->", "bnds_in_bt", ")", "arg", "=", "NULL", ";", "else", "if", "(", "cum", "->", "bnd_regno", "<=", "LAST_BND_REG", ")", "arg", "=", "gen_rtx_REG", "(", "BNDmode", ",", "cum", "->", "bnd_regno", ")", ";", "else", "arg", "=", "GEN_INT", "(", "cum", "->", "bnd_regno", "-", "LAST_BND_REG", "-", "1", ")", ";", "return", "arg", ";", "}", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "type", "&&", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "cum", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "arg", "=", "function_arg_ms_64", "(", "cum", ",", "mode", ",", "omode", ",", "named", ",", "bytes", ")", ";", "else", "arg", "=", "function_arg_64", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "named", ")", ";", "}", "else", "arg", "=", "function_arg_32", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "bytes", ",", "words", ")", ";", "return", "arg", ";", "}", ""], "natrual_language": ["Return", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Return", "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", ".", "It", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "gives", "information", "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": ["i386", "1"], "File": "i3865", "Func": "ix86_function_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38542, "Length": 233}
{"ground_truth": ["", "static", "void", "ix86_function_arg_advance", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "int", "nregs", ";", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "type", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "NULL", ",", "false", ")", ";", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "cum", "->", "bnds_in_bt", ")", "{", "cum", "->", "bnds_in_bt", "--", ";", "return", ";", "}", "if", "(", "cum", "->", "force_bnd_pass", ")", "cum", "->", "force_bnd_pass", "--", ";", "cum", "->", "bnd_regno", "++", ";", "return", ";", "}", "cum", "->", "bnds_in_bt", "=", "0", ";", "if", "(", "cum", "->", "force_bnd_pass", ")", "{", "cum", "->", "bnd_regno", "+=", "cum", "->", "force_bnd_pass", ";", "cum", "->", "force_bnd_pass", "=", "0", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "nregs", "=", "function_arg_advance_ms_64", "(", "cum", ",", "bytes", ",", "words", ")", ";", "else", "nregs", "=", "function_arg_advance_64", "(", "cum", ",", "mode", ",", "type", ",", "words", ",", "named", ")", ";", "}", "else", "nregs", "=", "function_arg_advance_32", "(", "cum", ",", "mode", ",", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "cum", "->", "stdarg", ")", "cum", "->", "force_bnd_pass", "=", "nregs", ";", "if", "(", "!", "nregs", ")", "cum", "->", "bnds_in_bt", "=", "chkp_type_bounds_count", "(", "type", ")", ";", "}", ""], "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": ["i386", "0", "0"], "File": "i3865", "Func": "ix86_function_arg_advance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38543, "Length": 252}
{"ground_truth": ["", "bool", "ix86_function_arg_regno_p", "(", "int", "regno", ")", "{", "int", "i", ";", "enum", "calling_abi", "call_abi", ";", "const", "int", "*", "parm_regs", ";", "if", "(", "TARGET_MPX", "&&", "BND_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "if", "(", "TARGET_MACHO", ")", "return", "(", "regno", "<", "REGPARM_MAX", "||", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", ")", ")", ";", "else", "return", "(", "regno", "<", "REGPARM_MAX", "||", "(", "TARGET_MMX", "&&", "MMX_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_MMX_REG", "+", "MMX_REGPARM_MAX", ")", ")", "||", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_SSE_REG", "+", "SSE_REGPARM_MAX", ")", ")", ")", ";", "}", "if", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "<", "FIRST_SSE_REG", "+", "SSE_REGPARM_MAX", ")", ")", "return", "true", ";", "call_abi", "=", "ix86_cfun_abi", "(", ")", ";", "if", "(", "call_abi", "==", "SYSV_ABI", "&&", "regno", "==", "AX_REG", ")", "return", "true", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "parm_regs", "=", "x86_64_ms_abi_int_parameter_registers", ";", "else", "parm_regs", "=", "x86_64_int_parameter_registers", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "call_abi", "==", "MS_ABI", "?", "X86_64_MS_REGPARM_MAX", ":", "X86_64_REGPARM_MAX", ")", ";", "i", "++", ")", "if", "(", "regno", "==", "parm_regs", "[", "i", "]", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "when", "register", "may", "be", "used", "to", "pass", "function", "parameters", "."], "TS_V_token": ["i386", "0"], "File": "i3865", "Func": "ix86_function_arg_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38544, "Length": 197}
{"ground_truth": ["", "static", "bool", "ix86_function_ok_for_sibcall", "(", "tree", "decl", ",", "tree", "exp", ")", "{", "tree", "type", ",", "decl_or_type", ";", "rtx", "a", ",", "b", ";", "bool", "bind_global", "=", "decl", "&&", "!", "targetm", ".", "binds_local_p", "(", "decl", ")", ";", "if", "(", "!", "TARGET_MACHO", "&&", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "flag_plt", "&&", "bind_global", ")", "return", "false", ";", "if", "(", "ix86_minimum_incoming_stack_boundary", "(", "true", ")", "<", "PREFERRED_STACK_BOUNDARY", ")", "return", "false", ";", "if", "(", "decl", ")", "{", "decl_or_type", "=", "decl", ";", "type", "=", "TREE_TYPE", "(", "decl", ")", ";", "}", "else", "{", "type", "=", "CALL_EXPR_FN", "(", "exp", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "decl_or_type", "=", "type", ";", "}", "a", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "exp", ")", ",", "decl_or_type", ",", "false", ")", ";", "b", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ",", "cfun", "->", "decl", ",", "false", ")", ";", "if", "(", "STACK_REG_P", "(", "a", ")", "||", "STACK_REG_P", "(", "b", ")", ")", "{", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "}", "else", "if", "(", "VOID_TYPE_P", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ")", ")", ";", "else", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", "&&", "ix86_function_type_abi", "(", "type", ")", "==", "SYSV_ABI", ")", "return", "false", ";", "}", "else", "{", "if", "(", "!", "decl", "||", "(", "bind_global", "&&", "flag_pic", "&&", "!", "flag_plt", ")", "||", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "DECL_DLLIMPORT_P", "(", "decl", ")", ")", ")", "{", "if", "(", "ix86_function_regparm", "(", "type", ",", "NULL", ")", ">=", "3", "&&", "!", "cfun", "->", "machine", "->", "arg_reg_available", ")", "return", "false", ";", "}", "}", "return", "true", ";", "}", ""], "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": ["i386", "3"], "File": "i3865", "Func": "ix86_function_ok_for_sibcall", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38545, "Length": 280}
{"ground_truth": ["", "static", "int", "ix86_function_sseregparm", "(", "const_tree", "type", ",", "const_tree", "decl", ",", "bool", "warn", ")", "{", "gcc_assert", "(", "!", "TARGET_64BIT", ")", ";", "if", "(", "TARGET_SSEREGPARM", "||", "(", "type", "&&", "lookup_attribute", "(", "\"sseregparm\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ")", ")", "{", "if", "(", "!", "TARGET_SSE", ")", "{", "if", "(", "warn", ")", "{", "if", "(", "decl", ")", "error", "(", "\"calling %qD with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", ",", "decl", ")", ";", "else", "error", "(", "\"calling %qT with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", ",", "type", ")", ";", "}", "return", "0", ";", "}", "return", "2", ";", "}", "if", "(", "!", "decl", ")", "return", "0", ";", "cgraph_node", "*", "target", "=", "cgraph_node", "::", "get", "(", "decl", ")", ";", "if", "(", "target", ")", "target", "=", "target", "->", "function_symbol", "(", ")", ";", "if", "(", "target", "&&", "(", "target_opts_for_fn", "(", "target", "->", "decl", ")", "->", "x_ix86_fpmath", "&", "FPMATH_SSE", ")", "&&", "opt_for_fn", "(", "target", "->", "decl", ",", "optimize", ")", "&&", "!", "(", "profile_flag", "&&", "!", "flag_fentry", ")", ")", "{", "cgraph_local_info", "*", "i", "=", "&", "target", "->", "local", ";", "if", "(", "i", "&&", "i", "->", "local", "&&", "i", "->", "can_change_signature", ")", "{", "if", "(", "!", "TARGET_SSE", "&&", "warn", ")", "return", "-", "1", ";", "return", "TARGET_SSE2_P", "(", "target_opts_for_fn", "(", "target", "->", "decl", ")", "->", "x_ix86_isa_flags", ")", "?", "2", ":", "1", ";", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "1", "or", "2", ",", "if", "we", "can", "pass", "up", "to", "SSE_REGPARM_MAX", "SFmode", "(", "1", ")", "and", "DFmode", "(", "2", ")", "arguments", "in", "SSE", "registers", "for", "a", "function", "with", "the", "indicated", "TYPE", "and", "DECL", ".", "DECL", "may", "be", "NULL", "when", "calling", "function", "indirectly", "or", "considering", "a", "libcall", ".", "Otherwise", "return", "0", "."], "TS_V_token": ["i386", "\"sseregparm\"", "\"calling %qD with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", "\"calling %qT with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", "0", "2", "0", "1", "2", "1", "0"], "File": "i3865", "Func": "ix86_function_sseregparm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38546, "Length": 202}
{"ground_truth": ["", "enum", "calling_abi", "ix86_function_type_abi", "(", "const_tree", "fntype", ")", "{", "enum", "calling_abi", "abi", "=", "ix86_abi", ";", "if", "(", "fntype", "==", "NULL_TREE", "||", "TYPE_ATTRIBUTES", "(", "fntype", ")", "==", "NULL_TREE", ")", "return", "abi", ";", "if", "(", "abi", "==", "SYSV_ABI", "&&", "lookup_attribute", "(", "\"ms_abi\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "{", "if", "(", "TARGET_X32", ")", "error", "(", "\"X32 does not support ms_abi attribute\"", ")", ";", "abi", "=", "MS_ABI", ";", "}", "else", "if", "(", "abi", "==", "MS_ABI", "&&", "lookup_attribute", "(", "\"sysv_abi\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "abi", "=", "SYSV_ABI", ";", "return", "abi", ";", "}", ""], "natrual_language": ["Returns", "value", "SYSV_ABI", ",", "MS_ABI", "dependent", "on", "fntype", ",", "specifying", "the", "call", "abi", "used", "."], "TS_V_token": ["i386", "\"ms_abi\"", "\"X32 does not support ms_abi attribute\"", "\"sysv_abi\""], "File": "i3865", "Func": "ix86_function_type_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38547, "Length": 86}
{"ground_truth": ["", "static", "bool", "ix86_function_value_regno_p", "(", "const", "unsigned", "int", "regno", ")", "{", "switch", "(", "regno", ")", "{", "case", "AX_REG", ":", "return", "true", ";", "case", "DX_REG", ":", "return", "(", "!", "TARGET_64BIT", "||", "ix86_cfun_abi", "(", ")", "!=", "MS_ABI", ")", ";", "case", "DI_REG", ":", "case", "SI_REG", ":", "return", "TARGET_64BIT", "&&", "ix86_cfun_abi", "(", ")", "!=", "MS_ABI", ";", "case", "BND0_REG", ":", "case", "BND1_REG", ":", "return", "chkp_function_instrumented_p", "(", "current_function_decl", ")", ";", "case", "ST0_REG", ":", "case", "ST1_REG", ":", "if", "(", "TARGET_64BIT", "&&", "ix86_cfun_abi", "(", ")", "==", "MS_ABI", ")", "return", "false", ";", "return", "TARGET_FLOAT_RETURNS_IN_80387", ";", "case", "XMM0_REG", ":", "case", "XMM1_REG", ":", "return", "TARGET_SSE", ";", "case", "MM0_REG", ":", "if", "(", "TARGET_MACHO", "||", "TARGET_64BIT", ")", "return", "false", ";", "return", "TARGET_MMX", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "N", "is", "a", "possible", "register", "number", "of", "function", "value", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_function_value_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38548, "Length": 114}
{"ground_truth": ["", "static", "bool", "ix86_function_versions", "(", "tree", "fn1", ",", "tree", "fn2", ")", "{", "tree", "attr1", ",", "attr2", ";", "char", "*", "target1", ",", "*", "target2", ";", "bool", "result", ";", "if", "(", "TREE_CODE", "(", "fn1", ")", "!=", "FUNCTION_DECL", "||", "TREE_CODE", "(", "fn2", ")", "!=", "FUNCTION_DECL", ")", "return", "false", ";", "attr1", "=", "lookup_attribute", "(", "\"target\"", ",", "DECL_ATTRIBUTES", "(", "fn1", ")", ")", ";", "attr2", "=", "lookup_attribute", "(", "\"target\"", ",", "DECL_ATTRIBUTES", "(", "fn2", ")", ")", ";", "if", "(", "attr1", "==", "NULL_TREE", "&&", "attr2", "==", "NULL_TREE", ")", "return", "false", ";", "if", "(", "attr1", "==", "NULL_TREE", "||", "attr2", "==", "NULL_TREE", ")", "{", "if", "(", "DECL_FUNCTION_VERSIONED", "(", "fn1", ")", "||", "DECL_FUNCTION_VERSIONED", "(", "fn2", ")", ")", "{", "if", "(", "attr2", "!=", "NULL_TREE", ")", "{", "std", "::", "swap", "(", "fn1", ",", "fn2", ")", ";", "attr1", "=", "attr2", ";", "}", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "fn2", ")", ",", "\"missing % attribute for multi-versioned %D\"", ",", "fn2", ")", ";", "inform", "(", "DECL_SOURCE_LOCATION", "(", "fn1", ")", ",", "\"previous declaration of %D\"", ",", "fn1", ")", ";", "DECL_ATTRIBUTES", "(", "fn2", ")", "=", "tree_cons", "(", "get_identifier", "(", "\"target\"", ")", ",", "copy_node", "(", "TREE_VALUE", "(", "attr1", ")", ")", ",", "DECL_ATTRIBUTES", "(", "fn2", ")", ")", ";", "}", "return", "false", ";", "}", "target1", "=", "sorted_attr_string", "(", "TREE_VALUE", "(", "attr1", ")", ")", ";", "target2", "=", "sorted_attr_string", "(", "TREE_VALUE", "(", "attr2", ")", ")", ";", "if", "(", "strcmp", "(", "target1", ",", "target2", ")", "==", "0", ")", "result", "=", "false", ";", "else", "result", "=", "true", ";", "XDELETEVEC", "(", "target1", ")", ";", "XDELETEVEC", "(", "target2", ")", ";", "return", "result", ";", "}", ""], "natrual_language": ["This", "function", "returns", "true", "if", "FN1", "and", "FN2", "are", "versions", "of", "the", "same", "function", ",", "that", "is", ",", "the", "target", "strings", "of", "the", "function", "decls", "are", "different", ".", "This", "assumes", "that", "FN1", "and", "FN2", "have", "the", "same", "signature", "."], "TS_V_token": ["i386", "\"target\"", "\"target\"", "\"missing % attribute for multi-versioned %D\"", "\"previous declaration of %D\"", "\"target\"", "0"], "File": "i3865", "Func": "ix86_function_versions", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38549, "Length": 236}
{"ground_truth": ["", "static", "machine_mode", "ix86_get_mask_mode", "(", "unsigned", "nunits", ",", "unsigned", "vector_size", ")", "{", "unsigned", "elem_size", "=", "vector_size", "/", "nunits", ";", "if", "(", "(", "TARGET_AVX512F", "&&", "vector_size", "==", "64", ")", "||", "(", "TARGET_AVX512VL", "&&", "(", "vector_size", "==", "32", "||", "vector_size", "==", "16", ")", ")", ")", "{", "if", "(", "elem_size", "==", "4", "||", "elem_size", "==", "8", "||", "TARGET_AVX512BW", ")", "return", "smallest_mode_for_size", "(", "nunits", ",", "MODE_INT", ")", ";", "}", "machine_mode", "elem_mode", "=", "smallest_mode_for_size", "(", "elem_size", "*", "BITS_PER_UNIT", ",", "MODE_INT", ")", ";", "gcc_assert", "(", "elem_size", "*", "nunits", "==", "vector_size", ")", ";", "return", "mode_for_vector", "(", "elem_mode", ",", "nunits", ")", ";", "}", ""], "natrual_language": ["Implemenation", "of", "targetm.vectorize.get_mask_mode", "."], "TS_V_token": ["i386", "64", "32", "16", "4", "8"], "File": "i3865", "Func": "ix86_get_mask_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38550, "Length": 94}
{"ground_truth": ["", "static", "int", "ix86_get_modrm_for_rop", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ",", "int", "noperands", ",", "int", "*", "popno0", "=", "0", ",", "int", "*", "popno1", "=", "0", ")", "{", "if", "(", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", ">=", "0", ")", "return", "-", "1", ";", "int", "has_modrm", "=", "get_attr_modrm", "(", "insn", ")", ";", "if", "(", "!", "has_modrm", ")", "return", "-", "1", ";", "enum", "attr_modrm_class", "cls", "=", "get_attr_modrm_class", "(", "insn", ")", ";", "rtx", "op0", ",", "op1", ";", "switch", "(", "cls", ")", "{", "case", "MODRM_CLASS_OP02", ":", "gcc_assert", "(", "noperands", ">=", "3", ")", ";", "if", "(", "popno0", ")", "{", "*", "popno0", "=", "0", ";", "*", "popno1", "=", "2", ";", "}", "op0", "=", "operands", "[", "0", "]", ";", "op1", "=", "operands", "[", "2", "]", ";", "break", ";", "case", "MODRM_CLASS_OP01", ":", "gcc_assert", "(", "noperands", ">=", "2", ")", ";", "if", "(", "popno0", ")", "{", "*", "popno0", "=", "0", ";", "*", "popno1", "=", "1", ";", "}", "op0", "=", "operands", "[", "0", "]", ";", "op1", "=", "operands", "[", "1", "]", ";", "break", ";", "default", ":", "return", "-", "1", ";", "}", "if", "(", "REG_P", "(", "op0", ")", "&&", "REG_P", "(", "op1", ")", ")", "{", "int", "enc0", "=", "reg_encoded_number", "(", "op0", ")", ";", "int", "enc1", "=", "reg_encoded_number", "(", "op1", ")", ";", "return", "0xc0", "+", "(", "enc1", "<<", "3", ")", "+", "enc0", ";", "}", "return", "-", "1", ";", "}", ""], "natrual_language": ["Given", "an", "insn", "INSN", "with", "NOPERANDS", "OPERANDS", ",", "return", "the", "modr/m", "byte", "used", "in", "its", "encoding", "if", "it", "could", "be", "relevant", "for", "ROP", "mitigation", ",", "otherwise", "return", "-1", ".", "If", "POPNO0", "and", "POPNO1", "are", "nonnull", ",", "store", "the", "operand", "numbers", "used", "for", "calculating", "it", "into", "them", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "1", "3", "0", "2", "0", "2", "2", "0", "1", "0", "1", "1", "0xc0", "3", "1"], "File": "i3865", "Func": "ix86_get_modrm_for_rop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38551, "Length": 217}
{"ground_truth": ["", "static", "int", "ix86_issue_rate", "(", "void", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "case", "PROCESSOR_LAKEMONT", ":", "case", "PROCESSOR_BONNELL", ":", "case", "PROCESSOR_SILVERMONT", ":", "case", "PROCESSOR_KNL", ":", "case", "PROCESSOR_INTEL", ":", "case", "PROCESSOR_K6", ":", "case", "PROCESSOR_BTVER2", ":", "case", "PROCESSOR_PENTIUM4", ":", "case", "PROCESSOR_NOCONA", ":", "return", "2", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "case", "PROCESSOR_ATHLON", ":", "case", "PROCESSOR_K8", ":", "case", "PROCESSOR_AMDFAM10", ":", "case", "PROCESSOR_GENERIC", ":", "case", "PROCESSOR_BTVER1", ":", "return", "3", ";", "case", "PROCESSOR_BDVER1", ":", "case", "PROCESSOR_BDVER2", ":", "case", "PROCESSOR_BDVER3", ":", "case", "PROCESSOR_BDVER4", ":", "case", "PROCESSOR_ZNVER1", ":", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "return", "4", ";", "default", ":", "return", "1", ";", "}", "}", ""], "natrual_language": ["Return", "the", "maximum", "number", "of", "instructions", "a", "cpu", "can", "issue", "."], "TS_V_token": ["i386", "2", "3", "4", "1"], "File": "i3865", "Func": "ix86_issue_rate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38552, "Length": 103}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_combined_insn", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "(", "INSN_CODE", "(", "insn", ")", "=", "recog", "(", "PATTERN", "(", "insn", ")", ",", "insn", ",", "0", ")", ")", ">=", "0", ")", "{", "int", "i", ";", "extract_insn", "(", "insn", ")", ";", "preprocess_constraints", "(", "insn", ")", ";", "int", "n_operands", "=", "recog_data", ".", "n_operands", ";", "int", "n_alternatives", "=", "recog_data", ".", "n_alternatives", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_operands", ";", "i", "++", ")", "{", "rtx", "op", "=", "recog_data", ".", "operand", "[", "i", "]", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "op", ")", ";", "const", "operand_alternative", "*", "op_alt", ";", "int", "offset", "=", "0", ";", "bool", "win", ";", "int", "j", ";", "if", "(", "!", "TARGET_AVX", "&&", "VECTOR_MODE_P", "(", "mode", ")", "&&", "misaligned_operand", "(", "op", ",", "mode", ")", ")", "{", "unsigned", "int", "min_align", "=", "get_attr_ssememalign", "(", "insn", ")", ";", "if", "(", "min_align", "==", "0", "||", "MEM_ALIGN", "(", "op", ")", "<", "min_align", ")", "return", "false", ";", "}", "if", "(", "UNARY_P", "(", "op", ")", ")", "op", "=", "XEXP", "(", "op", ",", "0", ")", ";", "if", "(", "SUBREG_P", "(", "op", ")", ")", "{", "if", "(", "REG_P", "(", "SUBREG_REG", "(", "op", ")", ")", "&&", "REGNO", "(", "SUBREG_REG", "(", "op", ")", ")", "<", "FIRST_PSEUDO_REGISTER", ")", "offset", "=", "subreg_regno_offset", "(", "REGNO", "(", "SUBREG_REG", "(", "op", ")", ")", ",", "GET_MODE", "(", "SUBREG_REG", "(", "op", ")", ")", ",", "SUBREG_BYTE", "(", "op", ")", ",", "GET_MODE", "(", "op", ")", ")", ";", "op", "=", "SUBREG_REG", "(", "op", ")", ";", "}", "if", "(", "!", "(", "REG_P", "(", "op", ")", "&&", "HARD_REGISTER_P", "(", "op", ")", ")", ")", "continue", ";", "op_alt", "=", "recog_op_alt", ";", "win", "=", "!", "n_alternatives", ";", "alternative_mask", "preferred", "=", "get_preferred_alternatives", "(", "insn", ")", ";", "for", "(", "j", "=", "0", ";", "j", "<", "n_alternatives", ";", "j", "++", ",", "op_alt", "+=", "n_operands", ")", "{", "if", "(", "!", "TEST_BIT", "(", "preferred", ",", "j", ")", ")", "continue", ";", "if", "(", "op_alt", "[", "i", "]", ".", "anything_ok", "||", "(", "op_alt", "[", "i", "]", ".", "matches", "!=", "-", "1", "&&", "operands_match_p", "(", "recog_data", ".", "operand", "[", "i", "]", ",", "recog_data", ".", "operand", "[", "op_alt", "[", "i", "]", ".", "matches", "]", ")", ")", "||", "reg_fits_class_p", "(", "op", ",", "op_alt", "[", "i", "]", ".", "cl", ",", "offset", ",", "mode", ")", ")", "{", "win", "=", "true", ";", "break", ";", "}", "}", "if", "(", "!", "win", ")", "return", "false", ";", "}", "}", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_LEGITIMATE_COMBINED_INSN", "hook", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i3865", "Func": "ix86_legitimate_combined_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38553, "Length": 381}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_constant_p", "(", "machine_mode", ",", "rtx", "x", ")", "{", "if", "(", "POINTER_BOUNDS_MODE_P", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "{", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", "return", "false", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "}", "if", "(", "TARGET_MACHO", "&&", "darwin_local_data_pic", "(", "x", ")", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOT", ":", "case", "UNSPEC_GOTOFF", ":", "case", "UNSPEC_PLTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "case", "UNSPEC_NTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "case", "UNSPEC_DTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_DYNAMIC", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "LABEL_REF", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "SYMBOL_REF", ")", "return", "false", ";", "case", "SYMBOL_REF", ":", "if", "(", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", ")", "return", "false", ";", "if", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "x", ")", ")", "return", "false", ";", "if", "(", "MACHO_DYNAMIC_NO_PIC_P", ")", "return", "machopic_symbol_defined_p", "(", "x", ")", ";", "break", ";", "case", "CONST_WIDE_INT", ":", "if", "(", "!", "TARGET_64BIT", "&&", "!", "standard_sse_constant_p", "(", "x", ")", ")", "return", "false", ";", "break", ";", "case", "CONST_VECTOR", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Determine", "if", "a", "given", "RTX", "is", "a", "valid", "constant", ".", "We", "already", "know", "this", "satisfies", "CONSTANT_P", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "0", "0"], "File": "i3865", "Func": "ix86_legitimate_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38554, "Length": 296}
{"ground_truth": ["", "static", "rtx", "ix86_load_bounds", "(", "rtx", "slot", ",", "rtx", "ptr", ",", "rtx", "slot_no", ")", "{", "rtx", "reg", "=", "gen_reg_rtx", "(", "BNDmode", ")", ";", "rtx", "addr", ";", "addr", "=", "ix86_get_arg_address_for_bt", "(", "slot", ",", "slot_no", ",", "arg_pointer_rtx", ")", ";", "if", "(", "!", "ptr", ")", "{", "gcc_assert", "(", "MEM_P", "(", "slot", ")", ")", ";", "ptr", "=", "copy_addr_to_reg", "(", "slot", ")", ";", "}", "if", "(", "!", "register_operand", "(", "ptr", ",", "Pmode", ")", ")", "ptr", "=", "ix86_zero_extend_to_Pmode", "(", "ptr", ")", ";", "emit_insn", "(", "BNDmode", "==", "BND64mode", "?", "gen_bnd64_ldx", "(", "reg", ",", "addr", ",", "ptr", ")", ":", "gen_bnd32_ldx", "(", "reg", ",", "addr", ",", "ptr", ")", ")", ";", "return", "reg", ";", "}", ""], "natrual_language": ["Expand", "pass", "uses", "this", "hook", "to", "load", "bounds", "for", "function", "parameter", "PTR", "passed", "in", "SLOT", "in", "case", "its", "bounds", "are", "not", "passed", "in", "a", "register", ".", "If", "SLOT", "is", "a", "memory", ",", "then", "bounds", "are", "loaded", "as", "for", "regular", "pointer", "loaded", "from", "memory", ".", "PTR", "may", "be", "NULL", "in", "case", "SLOT", "is", "a", "memory", ".", "In", "such", "case", "value", "of", "PTR", "(", "if", "required", ")", "may", "be", "loaded", "from", "SLOT", ".", "If", "SLOT", "is", "NULL", "or", "a", "register", "then", "SLOT_NO", "is", "an", "integer", "constant", "holding", "number", "of", "the", "target", "dependent", "special", "slot", "which", "should", "be", "used", "to", "obtain", "bounds", ".", "Return", "loaded", "bounds", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_load_bounds", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38555, "Length": 104}
{"ground_truth": ["", "unsigned", "int", "ix86_local_alignment", "(", "tree", "exp", ",", "machine_mode", "mode", ",", "unsigned", "int", "align", ")", "{", "tree", "type", ",", "decl", ";", "if", "(", "exp", "&&", "DECL_P", "(", "exp", ")", ")", "{", "type", "=", "TREE_TYPE", "(", "exp", ")", ";", "decl", "=", "exp", ";", "}", "else", "{", "type", "=", "exp", ";", "decl", "=", "NULL", ";", "}", "if", "(", "!", "TARGET_64BIT", "&&", "align", "==", "64", "&&", "ix86_preferred_stack_boundary", "<", "64", "&&", "(", "mode", "==", "DImode", "||", "(", "type", "&&", "TYPE_MODE", "(", "type", ")", "==", "DImode", ")", ")", "&&", "(", "!", "type", "||", "!", "TYPE_USER_ALIGN", "(", "type", ")", ")", "&&", "(", "!", "decl", "||", "!", "DECL_USER_ALIGN", "(", "decl", ")", ")", ")", "align", "=", "32", ";", "if", "(", "!", "type", ")", "{", "if", "(", "mode", "==", "XFmode", "&&", "align", "<", "GET_MODE_ALIGNMENT", "(", "DFmode", ")", ")", "align", "=", "GET_MODE_ALIGNMENT", "(", "DFmode", ")", ";", "return", "align", ";", "}", "if", "(", "TARGET_IAMCU", ")", "return", "align", ";", "if", "(", "TARGET_64BIT", "&&", "optimize_function_for_speed_p", "(", "cfun", ")", "&&", "TARGET_SSE", ")", "{", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "(", "va_list_type_node", "==", "NULL_TREE", "||", "(", "TYPE_MAIN_VARIANT", "(", "type", ")", "!=", "TYPE_MAIN_VARIANT", "(", "va_list_type_node", ")", ")", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "16", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "||", "TYPE_MODE", "(", "type", ")", "==", "TCmode", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "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": ["i386", "64", "64", "32", "16", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i3865", "Func": "ix86_local_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38556, "Length": 456}
{"ground_truth": ["", "static", "unsigned", "ix86_loop_unroll_adjust", "(", "unsigned", "nunroll", ",", "struct", "loop", "*", "loop", ")", "{", "basic_block", "*", "bbs", ";", "rtx_insn", "*", "insn", ";", "unsigned", "i", ";", "unsigned", "mem_count", "=", "0", ";", "if", "(", "!", "TARGET_ADJUST_UNROLL", ")", "return", "nunroll", ";", "subrtx_iterator", "::", "array_type", "array", ";", "bbs", "=", "get_loop_body", "(", "loop", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "loop", "->", "num_nodes", ";", "i", "++", ")", "FOR_BB_INSNS", "(", "bbs", "[", "i", "]", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "NONCONST", ")", "if", "(", "const_rtx", "x", "=", "*", "iter", ")", "if", "(", "MEM_P", "(", "x", ")", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "unsigned", "int", "n_words", "=", "GET_MODE_SIZE", "(", "mode", ")", "/", "UNITS_PER_WORD", ";", "if", "(", "n_words", ">", "4", ")", "mem_count", "+=", "2", ";", "else", "mem_count", "+=", "1", ";", "}", "free", "(", "bbs", ")", ";", "if", "(", "mem_count", "&&", "mem_count", "<=", "32", ")", "return", "32", "/", "mem_count", ";", "return", "nunroll", ";", "}", ""], "natrual_language": ["This", "function", "adjusts", "the", "unroll", "factor", "based", "on", "the", "hardware", "capabilities", ".", "For", "ex", ",", "bdver3", "has", "a", "loop", "buffer", "which", "makes", "unrolling", "of", "smaller", "loops", "less", "important", ".", "This", "function", "decides", "the", "unroll", "factor", "using", "number", "of", "memory", "references", "(", "value", "32", "is", "used", ")", "as", "a", "heuristic", "."], "TS_V_token": ["i386", "0", "0", "4", "2", "1", "32", "32"], "File": "i3865", "Func": "ix86_loop_unroll_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38557, "Length": 166}
{"ground_truth": ["", "bool", "ix86_match_ccmode", "(", "rtx", "insn", ",", "machine_mode", "req_mode", ")", "{", "rtx", "set", ";", "machine_mode", "set_mode", ";", "set", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "COMPARE", ")", ";", "set_mode", "=", "GET_MODE", "(", "SET_DEST", "(", "set", ")", ")", ";", "switch", "(", "set_mode", ")", "{", "case", "CCNOmode", ":", "if", "(", "req_mode", "!=", "CCNOmode", "&&", "(", "req_mode", "!=", "CCmode", "||", "XEXP", "(", "SET_SRC", "(", "set", ")", ",", "1", ")", "!=", "const0_rtx", ")", ")", "return", "false", ";", "break", ";", "case", "CCmode", ":", "if", "(", "req_mode", "==", "CCGCmode", ")", "return", "false", ";", "case", "CCGCmode", ":", "if", "(", "req_mode", "==", "CCGOCmode", "||", "req_mode", "==", "CCNOmode", ")", "return", "false", ";", "case", "CCGOCmode", ":", "if", "(", "req_mode", "==", "CCZmode", ")", "return", "false", ";", "case", "CCZmode", ":", "break", ";", "case", "CCAmode", ":", "case", "CCCmode", ":", "case", "CCOmode", ":", "case", "CCPmode", ":", "case", "CCSmode", ":", "if", "(", "set_mode", "!=", "req_mode", ")", "return", "false", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "GET_MODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "set_mode", ";", "}", ""], "natrual_language": ["Return", "TRUE", "or", "FALSE", "depending", "on", "whether", "the", "first", "SET", "in", "INSN", "has", "source", "and", "destination", "with", "matching", "CC", "modes", ",", "and", "that", "the", "CC", "mode", "is", "at", "least", "as", "constrained", "as", "REQ_MODE", "."], "TS_V_token": ["i386", "0", "0", "1"], "File": "i3865", "Func": "ix86_match_ccmode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38558, "Length": 203}
{"ground_truth": ["", "static", "unsigned", "HOST_WIDE_INT", "ix86_memmodel_check", "(", "unsigned", "HOST_WIDE_INT", "val", ")", "{", "enum", "memmodel", "model", "=", "memmodel_from_int", "(", "val", ")", ";", "bool", "strong", ";", "if", "(", "val", "&", "~", "(", "unsigned", "HOST_WIDE_INT", ")", "(", "IX86_HLE_ACQUIRE", "|", "IX86_HLE_RELEASE", "|", "MEMMODEL_MASK", ")", "||", "(", "(", "val", "&", "IX86_HLE_ACQUIRE", ")", "&&", "(", "val", "&", "IX86_HLE_RELEASE", ")", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"Unknown architecture specific memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", ";", "}", "strong", "=", "(", "is_mm_acq_rel", "(", "model", ")", "||", "is_mm_seq_cst", "(", "model", ")", ")", ";", "if", "(", "val", "&", "IX86_HLE_ACQUIRE", "&&", "!", "(", "is_mm_acquire", "(", "model", ")", "||", "strong", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"HLE_ACQUIRE not used with ACQUIRE or stronger memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", "|", "IX86_HLE_ACQUIRE", ";", "}", "if", "(", "val", "&", "IX86_HLE_RELEASE", "&&", "!", "(", "is_mm_release", "(", "model", ")", "||", "strong", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"HLE_RELEASE not used with RELEASE or stronger memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", "|", "IX86_HLE_RELEASE", ";", "}", "return", "val", ";", "}", ""], "natrual_language": ["Validate", "target", "specific", "memory", "model", "bits", "in", "VAL", "."], "TS_V_token": ["i386", "\"Unknown architecture specific memory model\"", "\"HLE_ACQUIRE not used with ACQUIRE or stronger memory model\"", "\"HLE_RELEASE not used with RELEASE or stronger memory model\""], "File": "i3865", "Func": "ix86_memmodel_check", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38559, "Length": 143}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_minimum_incoming_stack_boundary", "(", "bool", "sibcall", ")", "{", "unsigned", "int", "incoming_stack_boundary", ";", "if", "(", "ix86_user_incoming_stack_boundary", ")", "incoming_stack_boundary", "=", "ix86_user_incoming_stack_boundary", ";", "else", "if", "(", "!", "sibcall", "&&", "ix86_force_align_arg_pointer", "&&", "crtl", "->", "stack_alignment_estimated", "==", "128", ")", "incoming_stack_boundary", "=", "MIN_STACK_BOUNDARY", ";", "else", "incoming_stack_boundary", "=", "ix86_default_incoming_stack_boundary", ";", "if", "(", "incoming_stack_boundary", ">", "MIN_STACK_BOUNDARY", "&&", "lookup_attribute", "(", "ix86_force_align_arg_pointer_string", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ")", ")", "incoming_stack_boundary", "=", "MIN_STACK_BOUNDARY", ";", "if", "(", "incoming_stack_boundary", "<", "crtl", "->", "parm_stack_boundary", ")", "incoming_stack_boundary", "=", "crtl", "->", "parm_stack_boundary", ";", "if", "(", "incoming_stack_boundary", ">", "MAIN_STACK_BOUNDARY", "&&", "DECL_NAME", "(", "current_function_decl", ")", "&&", "MAIN_NAME_P", "(", "DECL_NAME", "(", "current_function_decl", ")", ")", "&&", "DECL_FILE_SCOPE_P", "(", "current_function_decl", ")", ")", "incoming_stack_boundary", "=", "MAIN_STACK_BOUNDARY", ";", "return", "incoming_stack_boundary", ";", "}", ""], "natrual_language": ["Return", "minimum", "incoming", "stack", "alignment", "."], "TS_V_token": ["i386", "128"], "File": "i3865", "Func": "ix86_minimum_incoming_stack_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38560, "Length": 113}
{"ground_truth": ["", "static", "bool", "ix86_nopic_noplt_attribute_p", "(", "rtx", "call_op", ")", "{", "if", "(", "flag_pic", "||", "ix86_cmodel", "==", "CM_LARGE", "||", "!", "TARGET_64BIT", "||", "TARGET_MACHO", "||", "TARGET_SEH", "||", "TARGET_PECOFF", "||", "SYMBOL_REF_LOCAL_P", "(", "call_op", ")", ")", "return", "false", ";", "tree", "symbol_decl", "=", "SYMBOL_REF_DECL", "(", "call_op", ")", ";", "if", "(", "!", "flag_plt", "||", "(", "symbol_decl", "!=", "NULL_TREE", "&&", "lookup_attribute", "(", "\"noplt\"", ",", "DECL_ATTRIBUTES", "(", "symbol_decl", ")", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "function", "being", "called", "was", "marked", "with", "attribute", "``", "noplt", "''", "or", "using", "-fno-plt", "and", "we", "are", "compiling", "for", "non-PIC", "and", "x86_64", ".", "We", "need", "to", "handle", "the", "non-PIC", "case", "in", "the", "backend", "because", "there", "is", "no", "easy", "interface", "for", "the", "front-end", "to", "force", "non-PLT", "calls", "to", "use", "the", "GOT", ".", "This", "is", "currently", "used", "only", "with", "64-bit", "ELF", "targets", "to", "call", "the", "function", "marked", "``", "noplt", "''", "indirectly", "."], "TS_V_token": ["i386", "\"noplt\""], "File": "i3865", "Func": "ix86_nopic_noplt_attribute_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38561, "Length": 69}
{"ground_truth": ["", "static", "int", "ix86_nsaved_regs", "(", "void", ")", "{", "int", "nregs", "=", "0", ";", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ")", ")", "nregs", "++", ";", "return", "nregs", ";", "}", ""], "natrual_language": ["Return", "number", "of", "registers", "to", "be", "saved", "on", "the", "stack", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3865", "Func": "ix86_nsaved_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38562, "Length": 49}
{"ground_truth": ["", "bool", "ix86_operands_ok_for_move_multiple", "(", "rtx", "*", "operands", ",", "bool", "load", ",", "enum", "machine_mode", "mode", ")", "{", "HOST_WIDE_INT", "offval_1", ",", "offval_2", ",", "msize", ";", "rtx", "mem_1", ",", "mem_2", ",", "reg_1", ",", "reg_2", ",", "base_1", ",", "base_2", ",", "offset_1", ",", "offset_2", ";", "if", "(", "load", ")", "{", "mem_1", "=", "operands", "[", "1", "]", ";", "mem_2", "=", "operands", "[", "3", "]", ";", "reg_1", "=", "operands", "[", "0", "]", ";", "reg_2", "=", "operands", "[", "2", "]", ";", "}", "else", "{", "mem_1", "=", "operands", "[", "0", "]", ";", "mem_2", "=", "operands", "[", "2", "]", ";", "reg_1", "=", "operands", "[", "1", "]", ";", "reg_2", "=", "operands", "[", "3", "]", ";", "}", "gcc_assert", "(", "REG_P", "(", "reg_1", ")", "&&", "REG_P", "(", "reg_2", ")", ")", ";", "if", "(", "REGNO", "(", "reg_1", ")", "!=", "REGNO", "(", "reg_2", ")", ")", "return", "false", ";", "if", "(", "!", "extract_base_offset_in_addr", "(", "mem_1", ",", "&", "base_1", ",", "&", "offset_1", ")", ")", "return", "false", ";", "if", "(", "!", "extract_base_offset_in_addr", "(", "mem_2", ",", "&", "base_2", ",", "&", "offset_2", ")", ")", "return", "false", ";", "if", "(", "!", "rtx_equal_p", "(", "base_1", ",", "base_2", ")", ")", "return", "false", ";", "offval_1", "=", "INTVAL", "(", "offset_1", ")", ";", "offval_2", "=", "INTVAL", "(", "offset_2", ")", ";", "msize", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "offval_1", "+", "msize", "!=", "offval_2", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "OPERANDS", "of", "consecutive", "load/store", ",", "check", "if", "we", "can", "merge", "them", "into", "move", "multiple", ".", "LOAD", "is", "true", "if", "they", "are", "load", "instructions", ".", "MODE", "is", "the", "mode", "of", "memory", "operands", "."], "TS_V_token": ["i386", "1", "3", "0", "2", "0", "2", "1", "3"], "File": "i3865", "Func": "ix86_operands_ok_for_move_multiple", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38563, "Length": 215}
{"ground_truth": ["", "static", "bool", "ix86_optab_supported_p", "(", "int", "op", ",", "machine_mode", "mode1", ",", "machine_mode", ",", "optimization_type", "opt_type", ")", "{", "switch", "(", "op", ")", "{", "case", "asin_optab", ":", "case", "acos_optab", ":", "case", "log1p_optab", ":", "case", "exp_optab", ":", "case", "exp10_optab", ":", "case", "exp2_optab", ":", "case", "expm1_optab", ":", "case", "ldexp_optab", ":", "case", "scalb_optab", ":", "case", "round_optab", ":", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "case", "rint_optab", ":", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode1", ")", "&&", "TARGET_SSE_MATH", "&&", "!", "flag_trapping_math", "&&", "!", "TARGET_ROUND", ")", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "return", "true", ";", "case", "floor_optab", ":", "case", "ceil_optab", ":", "case", "btrunc_optab", ":", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode1", ")", "&&", "TARGET_SSE_MATH", "&&", "!", "flag_trapping_math", "&&", "TARGET_ROUND", ")", "return", "true", ";", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "case", "rsqrt_optab", ":", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", "&&", "use_rsqrt_p", "(", ")", ";", "default", ":", "return", "true", ";", "}", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTAB_SUPPORTED_P", "hook", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_optab_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38564, "Length": 132}
{"ground_truth": ["", "static", "void", "ix86_option_override", "(", "void", ")", "{", "opt_pass", "*", "pass_insert_vzeroupper", "=", "make_pass_insert_vzeroupper", "(", "g", ")", ";", "struct", "register_pass_info", "insert_vzeroupper_info", "=", "{", "pass_insert_vzeroupper", ",", "\"reload\"", ",", "1", ",", "PASS_POS_INSERT_AFTER", "}", ";", "opt_pass", "*", "pass_stv", "=", "make_pass_stv", "(", "g", ")", ";", "struct", "register_pass_info", "stv_info", "=", "{", "pass_stv", ",", "\"combine\"", ",", "1", ",", "PASS_POS_INSERT_AFTER", "}", ";", "ix86_option_override_internal", "(", "true", ",", "&", "global_options", ",", "&", "global_options_set", ")", ";", "register_pass", "(", "&", "insert_vzeroupper_info", ")", ";", "register_pass", "(", "&", "stv_info", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTION_OVERRIDE", "hook", "."], "TS_V_token": ["i386", "\"reload\"", "1", "\"combine\"", "1"], "File": "i3865", "Func": "ix86_option_override", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38565, "Length": 77}
{"ground_truth": ["", "const", "char", "*", "ix86_output_call_insn", "(", "rtx_insn", "*", "insn", ",", "rtx", "call_op", ")", "{", "bool", "direct_p", "=", "constant_call_address_operand", "(", "call_op", ",", "VOIDmode", ")", ";", "bool", "seh_nop_p", "=", "false", ";", "const", "char", "*", "xasm", ";", "if", "(", "SIBLING_CALL_P", "(", "insn", ")", ")", "{", "if", "(", "direct_p", ")", "{", "if", "(", "ix86_nopic_noplt_attribute_p", "(", "call_op", ")", ")", "xasm", "=", "\"%!jmp\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "else", "xasm", "=", "\"%!jmp\\t%P0\"", ";", "}", "else", "if", "(", "TARGET_SEH", ")", "xasm", "=", "\"%!rex.W jmp\\t%A0\"", ";", "else", "xasm", "=", "\"%!jmp\\t%A0\"", ";", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "return", "\"\"", ";", "}", "if", "(", "TARGET_SEH", ")", "{", "rtx_insn", "*", "i", ";", "for", "(", "i", "=", "NEXT_INSN", "(", "insn", ")", ";", "i", ";", "i", "=", "NEXT_INSN", "(", "i", ")", ")", "{", "if", "(", "INSN_P", "(", "i", ")", ")", "break", ";", "if", "(", "NOTE_P", "(", "i", ")", "&&", "NOTE_KIND", "(", "i", ")", "==", "NOTE_INSN_EPILOGUE_BEG", "&&", "!", "flag_non_call_exceptions", "&&", "!", "can_throw_internal", "(", "insn", ")", ")", "{", "seh_nop_p", "=", "true", ";", "break", ";", "}", "}", "if", "(", "i", "==", "NULL", ")", "seh_nop_p", "=", "true", ";", "}", "if", "(", "direct_p", ")", "{", "if", "(", "ix86_nopic_noplt_attribute_p", "(", "call_op", ")", ")", "xasm", "=", "\"%!call\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "else", "xasm", "=", "\"%!call\\t%P0\"", ";", "}", "else", "xasm", "=", "\"%!call\\t%A0\"", ";", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "if", "(", "seh_nop_p", ")", "return", "\"nop\"", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "the", "assembly", "for", "a", "call", "instruction", "."], "TS_V_token": ["i386", "\"%!jmp\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"%!jmp\\t%P0\"", "\"%!rex.W jmp\\t%A0\"", "\"%!jmp\\t%A0\"", "\"\"", "\"%!call\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"%!call\\t%P0\"", "\"%!call\\t%A0\"", "\"nop\"", "\"\""], "File": "i3865", "Func": "ix86_output_call_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38566, "Length": 215}
{"ground_truth": ["", "static", "void", "ix86_override_options_after_change", "(", "void", ")", "{", "ix86_default_align", "(", "&", "global_options", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE", "hook", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_override_options_after_change", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38567, "Length": 14}
{"ground_truth": ["", "static", "bool", "ix86_pass_by_reference", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "{", "HOST_WIDE_INT", "msize", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "type", ")", "{", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "return", "true", ";", "if", "(", "RECORD_OR_UNION_TYPE_P", "(", "type", ")", ")", "{", "msize", "=", "int_size_in_bytes", "(", "type", ")", ";", "}", "}", "return", "msize", "!=", "1", "&&", "msize", "!=", "2", "&&", "msize", "!=", "4", "&&", "msize", "!=", "8", ";", "}", "else", "if", "(", "type", "&&", "int_size_in_bytes", "(", "type", ")", "==", "-", "1", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["A", "C", "expression", "that", "indicates", "when", "an", "argument", "must", "be", "passed", "by", "reference", ".", "If", "nonzero", "for", "an", "argument", ",", "a", "copy", "of", "that", "argument", "is", "made", "in", "memory", "and", "a", "pointer", "to", "the", "argument", "is", "passed", "instead", "of", "the", "argument", "itself", ".", "The", "pointer", "is", "passed", "in", "whatever", "way", "is", "appropriate", "for", "passing", "a", "pointer", "to", "that", "type", "."], "TS_V_token": ["i386", "1", "2", "4", "8", "1"], "File": "i3865", "Func": "ix86_pass_by_reference", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38568, "Length": 149}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "regclass", "==", "NO_REGS", ")", "return", "NO_REGS", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "mode", ")", ")", "return", "regclass", ";", "if", "(", "CONSTANT_P", "(", "x", ")", "&&", "(", "MAYBE_MMX_CLASS_P", "(", "regclass", ")", "||", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "||", "MAYBE_MASK_CLASS_P", "(", "regclass", ")", ")", ")", "return", "NO_REGS", ";", "if", "(", "TARGET_SSE_MATH", "&&", "!", "TARGET_MIX_SSE_I387", "&&", "SSE_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "SSE_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "CONST_DOUBLE_P", "(", "x", ")", ")", "{", "if", "(", "reg_class_subset_p", "(", "regclass", ",", "GENERAL_REGS", ")", ")", "return", "regclass", ";", "if", "(", "TARGET_80387", "&&", "standard_80387_constant_p", "(", "x", ")", ">", "0", ")", "{", "if", "(", "regclass", "==", "FLOAT_SSE_REGS", ")", "return", "FLOAT_REGS", ";", "if", "(", "regclass", "==", "FP_TOP_SSE_REGS", ")", "return", "FP_TOP_REG", ";", "if", "(", "regclass", "==", "FP_SECOND_SSE_REGS", ")", "return", "FP_SECOND_REG", ";", "if", "(", "regclass", "==", "FLOAT_INT_REGS", "||", "regclass", "==", "FLOAT_REGS", ")", "return", "regclass", ";", "}", "return", "NO_REGS", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "return", "reg_class_subset_p", "(", "regclass", ",", "GENERAL_REGS", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "GET_MODE", "(", "x", ")", "==", "QImode", "&&", "!", "CONSTANT_P", "(", "x", ")", ")", "{", "if", "(", "reg_class_subset_p", "(", "regclass", ",", "Q_REGS", ")", ")", "return", "regclass", ";", "if", "(", "reg_class_subset_p", "(", "Q_REGS", ",", "regclass", ")", ")", "return", "Q_REGS", ";", "return", "NO_REGS", ";", "}", "return", "regclass", ";", "}", ""], "natrual_language": ["Put", "float", "CONST_DOUBLE", "in", "the", "constant", "pool", "instead", "of", "fp", "regs", ".", "QImode", "must", "go", "into", "class", "Q_REGS", ".", "Narrow", "ALL_REGS", "to", "GENERAL_REGS", ".", "This", "supports", "allowing", "movsf", "and", "movdf", "to", "do", "mem-to-mem", "moves", "through", "integer", "regs", "."], "TS_V_token": ["i386", "0"], "File": "i3865", "Func": "ix86_preferred_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38569, "Length": 235}
{"ground_truth": ["", "static", "int", "ix86_reassociation_width", "(", "unsigned", "int", ",", "machine_mode", "mode", ")", "{", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "TARGET_VECTOR_PARALLEL_EXECUTION", ")", "return", "2", ";", "else", "return", "1", ";", "}", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", "&&", "TARGET_REASSOC_INT_TO_PARALLEL", ")", "return", "2", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_REASSOC_FP_TO_PARALLEL", ")", "return", "(", "(", "TARGET_64BIT", "&&", "ix86_tune", "==", "PROCESSOR_HASWELL", ")", "?", "4", ":", "2", ")", ";", "else", "return", "1", ";", "}", ""], "natrual_language": ["Implementation", "of", "reassociation_width", "target", "hook", "used", "by", "reassoc", "phase", "to", "identify", "parallelism", "level", "in", "reassociated", "tree", ".", "Statements", "tree_code", "is", "passed", "in", "OPC", ".", "Arguments", "type", "is", "passed", "in", "MODE", ".", "Currently", "parallel", "reassociation", "is", "enabled", "for", "Atom", "processors", "only", "and", "we", "set", "reassociation", "width", "to", "be", "2", "because", "Atom", "may", "issue", "up", "to", "2", "instructions", "per", "cycle", ".", "Return", "value", "should", "be", "fixed", "if", "parallel", "reassociation", "is", "enabled", "for", "other", "processors", "."], "TS_V_token": ["i386", "2", "1", "2", "4", "2", "1"], "File": "i3865", "Func": "ix86_reassociation_width", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38570, "Length": 73}
{"ground_truth": ["", "static", "void", "ix86_reorg", "(", "void", ")", "{", "compute_bb_for_insn", "(", ")", ";", "if", "(", "flag_mitigate_rop", ")", "ix86_mitigate_rop", "(", ")", ";", "if", "(", "TARGET_SEH", "&&", "current_function_has_exception_handlers", "(", ")", ")", "ix86_seh_fixup_eh_fallthru", "(", ")", ";", "if", "(", "optimize", "&&", "optimize_function_for_speed_p", "(", "cfun", ")", ")", "{", "if", "(", "TARGET_PAD_SHORT_FUNCTION", ")", "ix86_pad_short_function", "(", ")", ";", "else", "if", "(", "TARGET_PAD_RETURNS", ")", "ix86_pad_returns", "(", ")", ";", "if", "(", "TARGET_FOUR_JUMP_LIMIT", ")", "ix86_avoid_jump_mispredicts", "(", ")", ";", "}", "}", ""], "natrual_language": ["Implement", "machine", "specific", "optimizations", ".", "We", "implement", "padding", "of", "returns", "for", "K8", "CPUs", "and", "pass", "to", "avoid", "4", "jumps", "in", "the", "single", "16", "byte", "window", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_reorg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38571, "Length": 68}
{"ground_truth": ["", "static", "bool", "ix86_return_in_memory", "(", "const_tree", "type", ",", "const_tree", "fntype", "ATTRIBUTE_UNUSED", ")", "{", "return", "SUBTARGET_RETURN_IN_MEMORY", "(", "type", ",", "fntype", ")", ";", "const", "machine_mode", "mode", "=", "type_natural_mode", "(", "type", ",", "NULL", ",", "true", ")", ";", "HOST_WIDE_INT", "size", ";", "if", "(", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "ix86_function_type_abi", "(", "fntype", ")", "==", "MS_ABI", ")", "{", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "(", "!", "type", "||", "VECTOR_INTEGER_TYPE_P", "(", "type", ")", "||", "INTEGRAL_TYPE_P", "(", "type", ")", "||", "VECTOR_FLOAT_TYPE_P", "(", "type", ")", ")", "&&", "(", "SCALAR_INT_MODE_P", "(", "mode", ")", "||", "VECTOR_MODE_P", "(", "mode", ")", ")", "&&", "!", "COMPLEX_MODE_P", "(", "mode", ")", "&&", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", "||", "size", "==", "16", ")", ")", "return", "false", ";", "return", "size", "!=", "1", "&&", "size", "!=", "2", "&&", "size", "!=", "4", "&&", "size", "!=", "8", ";", "}", "else", "{", "int", "needed_intregs", ",", "needed_sseregs", ";", "return", "examine_argument", "(", "mode", ",", "type", ",", "1", ",", "&", "needed_intregs", ",", "&", "needed_sseregs", ")", ";", "}", "}", "else", "{", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "TARGET_IAMCU", ")", "return", "VECTOR_MODE_P", "(", "mode", ")", "||", "size", "<", "0", "||", "size", ">", "8", ";", "if", "(", "mode", "==", "BLKmode", ")", "return", "true", ";", "if", "(", "MS_AGGREGATE_RETURN", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "size", "<=", "8", ")", "return", "false", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "||", "mode", "==", "TImode", ")", "{", "if", "(", "size", "<", "8", ")", "return", "false", ";", "if", "(", "size", "==", "8", ")", "return", "TARGET_VECT8_RETURNS", "||", "!", "TARGET_MMX", ";", "if", "(", "size", "==", "16", ")", "return", "!", "TARGET_SSE", ";", "if", "(", "size", "==", "32", ")", "return", "!", "TARGET_AVX", ";", "if", "(", "size", "==", "64", ")", "return", "!", "TARGET_AVX512F", ";", "}", "if", "(", "mode", "==", "XFmode", ")", "return", "false", ";", "if", "(", "size", ">", "12", ")", "return", "true", ";", "gcc_assert", "(", "mode", "!=", "OImode", ")", ";", "return", "false", ";", "}", "}", ""], "natrual_language": ["Return", "false", "iff", "type", "is", "returned", "in", "memory", "."], "TS_V_token": ["i386", "16", "16", "1", "2", "4", "8", "1", "0", "8", "8", "8", "8", "16", "32", "64", "12"], "File": "i3865", "Func": "ix86_return_in_memory", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38572, "Length": 313}
{"ground_truth": ["", "static", "bool", "ix86_rop_should_change_byte_p", "(", "int", "t", ")", "{", "return", "t", "==", "0xc2", "||", "t", "==", "0xc3", "||", "t", "==", "0xca", "||", "t", "==", "0xcb", ";", "}", ""], "natrual_language": ["Return", "true", "if", "T", "is", "one", "of", "the", "bytes", "we", "should", "avoid", "with", "-mmitigate-rop", "."], "TS_V_token": ["i386", "0xc2", "0xc3", "0xca", "0xcb"], "File": "i3865", "Func": "ix86_rop_should_change_byte_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38573, "Length": 26}
{"ground_truth": ["", "static", "void", "ix86_set_current_function", "(", "tree", "fndecl", ")", "{", "if", "(", "fndecl", "==", "ix86_previous_fndecl", ")", "return", ";", "tree", "old_tree", ";", "if", "(", "ix86_previous_fndecl", "==", "NULL_TREE", ")", "old_tree", "=", "target_option_current_node", ";", "else", "if", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ")", "old_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ";", "else", "old_tree", "=", "target_option_default_node", ";", "if", "(", "fndecl", "==", "NULL_TREE", ")", "{", "if", "(", "old_tree", "!=", "target_option_current_node", ")", "ix86_reset_previous_fndecl", "(", ")", ";", "return", ";", "}", "tree", "new_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", ";", "if", "(", "new_tree", "==", "NULL_TREE", ")", "new_tree", "=", "target_option_default_node", ";", "if", "(", "old_tree", "!=", "new_tree", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "}", "ix86_previous_fndecl", "=", "fndecl", ";", "if", "(", "TARGET_64BIT", "&&", "(", "call_used_regs", "[", "SI_REG", "]", "==", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", ")", ")", ")", "reinit_regs", "(", ")", ";", "}", ""], "natrual_language": ["Establish", "appropriate", "back-end", "context", "for", "processing", "the", "function", "FNDECL", ".", "The", "argument", "might", "be", "NULL", "to", "indicate", "processing", "at", "top", "level", ",", "outside", "of", "any", "function", "scope", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_set_current_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38574, "Length": 174}
{"ground_truth": ["", "static", "int", "ix86_set_reg_reg_cost", "(", "machine_mode", "mode", ")", "{", "unsigned", "int", "units", "=", "UNITS_PER_WORD", ";", "switch", "(", "GET_MODE_CLASS", "(", "mode", ")", ")", "{", "default", ":", "break", ";", "case", "MODE_CC", ":", "units", "=", "GET_MODE_SIZE", "(", "CCmode", ")", ";", "break", ";", "case", "MODE_FLOAT", ":", "if", "(", "(", "TARGET_SSE", "&&", "mode", "==", "TFmode", ")", "||", "(", "TARGET_80387", "&&", "mode", "==", "XFmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE2", ")", "&&", "mode", "==", "DFmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE", ")", "&&", "mode", "==", "SFmode", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "break", ";", "case", "MODE_COMPLEX_FLOAT", ":", "if", "(", "(", "TARGET_SSE", "&&", "mode", "==", "TCmode", ")", "||", "(", "TARGET_80387", "&&", "mode", "==", "XCmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE2", ")", "&&", "mode", "==", "DCmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE", ")", "&&", "mode", "==", "SCmode", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "break", ";", "case", "MODE_VECTOR_INT", ":", "case", "MODE_VECTOR_FLOAT", ":", "if", "(", "(", "TARGET_AVX512F", "&&", "VALID_AVX512F_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_SSE2", "&&", "VALID_SSE2_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_SSE", "&&", "VALID_SSE_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_MMX", "&&", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "}", "return", "COSTS_N_INSNS", "(", "CEIL", "(", "GET_MODE_SIZE", "(", "mode", ")", ",", "units", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "between", "two", "registers", "of", "mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_set_reg_reg_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38575, "Length": 222}
{"ground_truth": ["", "static", "void", "ix86_simd_clone_adjust", "(", "struct", "cgraph_node", "*", "node", ")", "{", "const", "char", "*", "str", "=", "NULL", ";", "gcc_assert", "(", "node", "->", "decl", "==", "cfun", "->", "decl", ")", ";", "switch", "(", "node", "->", "simdclone", "->", "vecsize_mangle", ")", "{", "case", "'b'", ":", "if", "(", "!", "TARGET_SSE2", ")", "str", "=", "\"sse2\"", ";", "break", ";", "case", "'c'", ":", "if", "(", "!", "TARGET_AVX", ")", "str", "=", "\"avx\"", ";", "break", ";", "case", "'d'", ":", "if", "(", "!", "TARGET_AVX2", ")", "str", "=", "\"avx2\"", ";", "break", ";", "case", "'e'", ":", "if", "(", "!", "TARGET_AVX512F", ")", "str", "=", "\"avx512f\"", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "str", "==", "NULL", ")", "return", ";", "push_cfun", "(", "NULL", ")", ";", "tree", "args", "=", "build_tree_list", "(", "NULL_TREE", ",", "build_string", "(", "strlen", "(", "str", ")", ",", "str", ")", ")", ";", "bool", "ok", "=", "ix86_valid_target_attribute_p", "(", "node", "->", "decl", ",", "NULL", ",", "args", ",", "0", ")", ";", "gcc_assert", "(", "ok", ")", ";", "pop_cfun", "(", ")", ";", "ix86_reset_previous_fndecl", "(", ")", ";", "ix86_set_current_function", "(", "node", "->", "decl", ")", ";", "}", ""], "natrual_language": ["Add", "target", "attribute", "to", "SIMD", "clone", "NODE", "if", "needed", "."], "TS_V_token": ["i386", "\"sse2\"", "\"avx\"", "\"avx2\"", "\"avx512f\"", "0"], "File": "i3865", "Func": "ix86_simd_clone_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38576, "Length": 168}
{"ground_truth": ["", "static", "int", "ix86_simd_clone_usable", "(", "struct", "cgraph_node", "*", "node", ")", "{", "switch", "(", "node", "->", "simdclone", "->", "vecsize_mangle", ")", "{", "case", "'b'", ":", "if", "(", "!", "TARGET_SSE2", ")", "return", "-", "1", ";", "if", "(", "!", "TARGET_AVX", ")", "return", "0", ";", "return", "TARGET_AVX2", "?", "2", ":", "1", ";", "case", "'c'", ":", "if", "(", "!", "TARGET_AVX", ")", "return", "-", "1", ";", "return", "TARGET_AVX2", "?", "1", ":", "0", ";", "break", ";", "case", "'d'", ":", "if", "(", "!", "TARGET_AVX2", ")", "return", "-", "1", ";", "return", "0", ";", "case", "'e'", ":", "if", "(", "!", "TARGET_AVX512F", ")", "return", "-", "1", ";", "return", "0", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["If", "SIMD", "clone", "NODE", "ca", "n't", "be", "used", "in", "a", "vectorized", "loop", "in", "current", "function", ",", "return", "-1", ",", "otherwise", "return", "a", "badness", "of", "using", "it", "(", "0", "if", "it", "is", "most", "desirable", "from", "vecsize_mangle", "point", "of", "view", ",", "1", "slightly", "less", "desirable", ",", "etc", ".", ")", "."], "TS_V_token": ["i386", "1", "0", "2", "1", "1", "1", "0", "1", "0", "1", "0"], "File": "i3865", "Func": "ix86_simd_clone_usable", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38577, "Length": 105}
{"ground_truth": ["", "void", "ix86_split_copysign_const", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "mask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "mask", "=", "operands", "[", "3", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "dest", "=", "simplify_gen_subreg", "(", "vmode", ",", "dest", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "if", "(", "op0", "!=", "CONST0_RTX", "(", "vmode", ")", ")", "{", "x", "=", "gen_rtx_IOR", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", "}", ""], "natrual_language": ["Deconstruct", "a", "copysign", "operation", "into", "bit", "masks", ".", "Operand", "0", "is", "known", "to", "be", "a", "constant", ",", "and", "so", "has", "already", "been", "expanded", "into", "a", "vector", "constant", "."], "TS_V_token": ["i386", "0", "1", "3", "0"], "File": "i3865", "Func": "ix86_split_copysign_const", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38578, "Length": 125}
{"ground_truth": ["", "void", "ix86_split_copysign_var", "(", "rtx", "operands", "[", "]", ")", "{", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "scratch", ",", "op0", ",", "op1", ",", "mask", ",", "nmask", ",", "x", ";", "dest", "=", "operands", "[", "0", "]", ";", "scratch", "=", "operands", "[", "1", "]", ";", "op0", "=", "operands", "[", "2", "]", ";", "op1", "=", "operands", "[", "3", "]", ";", "nmask", "=", "operands", "[", "4", "]", ";", "mask", "=", "operands", "[", "5", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "vmode", "=", "GET_MODE", "(", "mask", ")", ";", "if", "(", "rtx_equal_p", "(", "op0", ",", "op1", ")", ")", "{", "emit_move_insn", "(", "dest", ",", "op0", ")", ";", "return", ";", "}", "if", "(", "REG_P", "(", "mask", ")", "&&", "REGNO", "(", "dest", ")", "==", "REGNO", "(", "mask", ")", ")", "{", "gcc_assert", "(", "REGNO", "(", "op1", ")", "==", "REGNO", "(", "scratch", ")", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "mask", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "scratch", ",", "x", ")", ")", ";", "dest", "=", "mask", ";", "op0", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_NOT", "(", "vmode", ",", "dest", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "x", ",", "op0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", "else", "{", "if", "(", "REGNO", "(", "op1", ")", "==", "REGNO", "(", "scratch", ")", ")", "{", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "mask", ")", ";", "}", "else", "{", "gcc_assert", "(", "REGNO", "(", "mask", ")", "==", "REGNO", "(", "scratch", ")", ")", ";", "op1", "=", "simplify_gen_subreg", "(", "vmode", ",", "op1", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "scratch", ",", "op1", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "scratch", ",", "x", ")", ")", ";", "if", "(", "REGNO", "(", "op0", ")", "==", "REGNO", "(", "dest", ")", ")", "{", "dest", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "nmask", ")", ";", "}", "else", "{", "gcc_assert", "(", "REGNO", "(", "nmask", ")", "==", "REGNO", "(", "dest", ")", ")", ";", "dest", "=", "nmask", ";", "op0", "=", "simplify_gen_subreg", "(", "vmode", ",", "op0", ",", "mode", ",", "0", ")", ";", "x", "=", "gen_rtx_AND", "(", "vmode", ",", "dest", ",", "op0", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", "x", "=", "gen_rtx_IOR", "(", "vmode", ",", "dest", ",", "scratch", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "}", ""], "natrual_language": ["Deconstruct", "a", "copysign", "operation", "into", "bit", "masks", ".", "Operand", "0", "is", "variable", ",", "so", "we", "have", "to", "do", "two", "masks", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "4", "5", "0", "0", "0", "0"], "File": "i3865", "Func": "ix86_split_copysign_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38579, "Length": 397}
{"ground_truth": ["", "void", "ix86_split_fp_branch", "(", "enum", "rtx_code", "code", ",", "rtx", "op1", ",", "rtx", "op2", ",", "rtx", "target1", ",", "rtx", "target2", ",", "rtx", "tmp", ")", "{", "rtx", "condition", ";", "rtx", "i", ";", "if", "(", "target2", "!=", "pc_rtx", ")", "{", "std", "::", "swap", "(", "target1", ",", "target2", ")", ";", "code", "=", "reverse_condition_maybe_unordered", "(", "code", ")", ";", "}", "condition", "=", "ix86_expand_fp_compare", "(", "code", ",", "op1", ",", "op2", ",", "tmp", ")", ";", "i", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "condition", ",", "target1", ",", "target2", ")", ")", ")", ";", "if", "(", "split_branch_probability", ">=", "0", ")", "add_int_reg_note", "(", "i", ",", "REG_BR_PROB", ",", "split_branch_probability", ")", ";", "}", ""], "natrual_language": ["Split", "branch", "based", "on", "floating", "point", "condition", "."], "TS_V_token": ["i386", "0"], "File": "i3865", "Func": "ix86_split_fp_branch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38580, "Length": 103}
{"ground_truth": ["", "static", "void", "ix86_store_bounds", "(", "rtx", "ptr", ",", "rtx", "slot", ",", "rtx", "bounds", ",", "rtx", "slot_no", ")", "{", "rtx", "addr", ";", "addr", "=", "ix86_get_arg_address_for_bt", "(", "slot", ",", "slot_no", ",", "stack_pointer_rtx", ")", ";", "if", "(", "!", "ptr", ")", "{", "gcc_assert", "(", "MEM_P", "(", "slot", ")", ")", ";", "ptr", "=", "copy_addr_to_reg", "(", "slot", ")", ";", "}", "if", "(", "!", "register_operand", "(", "ptr", ",", "Pmode", ")", ")", "ptr", "=", "ix86_zero_extend_to_Pmode", "(", "ptr", ")", ";", "gcc_assert", "(", "POINTER_BOUNDS_MODE_P", "(", "GET_MODE", "(", "bounds", ")", ")", ")", ";", "if", "(", "!", "register_operand", "(", "bounds", ",", "BNDmode", ")", ")", "bounds", "=", "copy_to_mode_reg", "(", "BNDmode", ",", "bounds", ")", ";", "emit_insn", "(", "BNDmode", "==", "BND64mode", "?", "gen_bnd64_stx", "(", "addr", ",", "ptr", ",", "bounds", ")", ":", "gen_bnd32_stx", "(", "addr", ",", "ptr", ",", "bounds", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "pass", "uses", "this", "hook", "to", "store", "BOUNDS", "for", "call", "argument", "PTR", "passed", "in", "SLOT", "in", "case", "BOUNDS", "are", "not", "passed", "in", "a", "register", ".", "If", "SLOT", "is", "a", "memory", ",", "then", "BOUNDS", "are", "stored", "as", "for", "regular", "pointer", "stored", "in", "memory", ".", "PTR", "may", "be", "NULL", "in", "case", "SLOT", "is", "a", "memory", ".", "In", "such", "case", "value", "of", "PTR", "(", "if", "required", ")", "may", "be", "loaded", "from", "SLOT", ".", "If", "SLOT", "is", "NULL", "or", "a", "register", "then", "SLOT_NO", "is", "an", "integer", "constant", "holding", "number", "of", "the", "target", "dependent", "special", "slot", "which", "should", "be", "used", "to", "store", "BOUNDS", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_store_bounds", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38581, "Length": 126}
{"ground_truth": ["", "bool", "ix86_using_red_zone", "(", "void", ")", "{", "return", "TARGET_RED_ZONE", "&&", "!", "TARGET_64BIT_MS_ABI", ";", "}", ""], "natrual_language": ["Return", "true", "if", "a", "red-zone", "is", "in", "use", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "ix86_using_red_zone", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38582, "Length": 13}
{"ground_truth": ["", "static", "bool", "ix86_valid_target_attribute_p", "(", "tree", "fndecl", ",", "tree", "ARG_UNUSED", "(", "name", ")", ",", "tree", "args", ",", "int", "ARG_UNUSED", "(", "flags", ")", ")", "{", "struct", "gcc_options", "func_options", ";", "tree", "new_target", ",", "new_optimize", ";", "bool", "ret", "=", "true", ";", "if", "(", "TREE_VALUE", "(", "args", ")", "&&", "TREE_CODE", "(", "TREE_VALUE", "(", "args", ")", ")", "==", "STRING_CST", "&&", "TREE_CHAIN", "(", "args", ")", "==", "NULL_TREE", "&&", "strcmp", "(", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "args", ")", ")", ",", "\"default\"", ")", "==", "0", ")", "return", "true", ";", "tree", "old_optimize", "=", "build_optimization_node", "(", "&", "global_options", ")", ";", "tree", "func_optimize", "=", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", ";", "if", "(", "!", "func_optimize", ")", "func_optimize", "=", "old_optimize", ";", "memset", "(", "&", "func_options", ",", "0", ",", "sizeof", "(", "func_options", ")", ")", ";", "init_options_struct", "(", "&", "func_options", ",", "NULL", ")", ";", "lang_hooks", ".", "init_options_struct", "(", "&", "func_options", ")", ";", "cl_optimization_restore", "(", "&", "func_options", ",", "TREE_OPTIMIZATION", "(", "func_optimize", ")", ")", ";", "cl_target_option_restore", "(", "&", "func_options", ",", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ")", ";", "new_target", "=", "ix86_valid_target_attribute_tree", "(", "args", ",", "&", "func_options", ",", "&", "global_options_set", ")", ";", "new_optimize", "=", "build_optimization_node", "(", "&", "func_options", ")", ";", "if", "(", "new_target", "==", "error_mark_node", ")", "ret", "=", "false", ";", "else", "if", "(", "fndecl", "&&", "new_target", ")", "{", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", "=", "new_target", ";", "if", "(", "old_optimize", "!=", "new_optimize", ")", "DECL_FUNCTION_SPECIFIC_OPTIMIZATION", "(", "fndecl", ")", "=", "new_optimize", ";", "}", "finalize_options_struct", "(", "&", "func_options", ")", ";", "return", "ret", ";", "}", ""], "natrual_language": ["Hook", "to", "validate", "attribute", "(", "(", "target", "(", "``", "string", "''", ")", ")", ")", "."], "TS_V_token": ["i386", "\"default\"", "0", "0"], "File": "i3865", "Func": "ix86_valid_target_attribute_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38583, "Length": 226}
{"ground_truth": ["", "tree", "ix86_valid_target_attribute_tree", "(", "tree", "args", ",", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", "opts_set", ")", "{", "const", "char", "*", "orig_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "const", "char", "*", "orig_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "enum", "fpmath_unit", "orig_fpmath_set", "=", "opts_set", "->", "x_ix86_fpmath", ";", "int", "orig_tune_defaulted", "=", "ix86_tune_defaulted", ";", "int", "orig_arch_specified", "=", "ix86_arch_specified", ";", "char", "*", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_MAX", "]", "=", "{", "NULL", ",", "NULL", "}", ";", "tree", "t", "=", "NULL_TREE", ";", "int", "i", ";", "struct", "cl_target_option", "*", "def", "=", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ";", "struct", "gcc_options", "enum_opts_set", ";", "memset", "(", "&", "enum_opts_set", ",", "0", ",", "sizeof", "(", "enum_opts_set", ")", ")", ";", "if", "(", "!", "ix86_valid_target_attribute_inner_p", "(", "args", ",", "option_strings", ",", "opts", ",", "opts_set", ",", "&", "enum_opts_set", ")", ")", "return", "error_mark_node", ";", "if", "(", "opts", "->", "x_ix86_isa_flags", "!=", "def", "->", "x_ix86_isa_flags", "||", "opts", "->", "x_target_flags", "!=", "def", "->", "x_target_flags", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", "||", "enum_opts_set", ".", "x_ix86_fpmath", ")", "{", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", "{", "opts", "->", "x_ix86_arch_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", ";", "opts", "->", "x_ix86_isa_flags", "&=", "(", "OPTION_MASK_ISA_64BIT", "|", "OPTION_MASK_ABI_64", "|", "OPTION_MASK_ABI_X32", "|", "OPTION_MASK_CODE16", ")", ";", "}", "else", "if", "(", "!", "orig_arch_specified", ")", "opts", "->", "x_ix86_arch_string", "=", "NULL", ";", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", "opts", "->", "x_ix86_tune_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", ";", "else", "if", "(", "orig_tune_defaulted", ")", "opts", "->", "x_ix86_tune_string", "=", "NULL", ";", "if", "(", "enum_opts_set", ".", "x_ix86_fpmath", ")", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "else", "if", "(", "!", "TARGET_64BIT_P", "(", "opts", "->", "x_ix86_isa_flags", ")", "&&", "TARGET_SSE_P", "(", "opts", "->", "x_ix86_isa_flags", ")", ")", "{", "if", "(", "TARGET_80387_P", "(", "opts", "->", "x_target_flags", ")", ")", "opts", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "(", "FPMATH_SSE", "|", "FPMATH_387", ")", ";", "else", "opts", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "FPMATH_SSE", ";", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "}", "ix86_option_override_internal", "(", "false", ",", "opts", ",", "opts_set", ")", ";", "ix86_add_new_builtins", "(", "opts", "->", "x_ix86_isa_flags", ")", ";", "t", "=", "build_target_option_node", "(", "opts", ")", ";", "opts", "->", "x_ix86_arch_string", "=", "orig_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "orig_tune_string", ";", "opts_set", "->", "x_ix86_fpmath", "=", "orig_fpmath_set", ";", "for", "(", "i", "=", "0", ";", "i", "<", "IX86_FUNCTION_SPECIFIC_MAX", ";", "i", "++", ")", "free", "(", "option_strings", "[", "i", "]", ")", ";", "}", "return", "t", ";", "}", ""], "natrual_language": ["Return", "a", "TARGET_OPTION_NODE", "tree", "of", "the", "target", "options", "listed", "or", "NULL", "."], "TS_V_token": ["i386", "0", "1", "1", "0"], "File": "i3865", "Func": "ix86_valid_target_attribute_tree", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38584, "Length": 378}
{"ground_truth": ["", "static", "tree", "ix86_veclibabi_acml", "(", "combined_fn", "fn", ",", "tree", "type_out", ",", "tree", "type_in", ")", "{", "char", "name", "[", "20", "]", "=", "\"__vr.._\"", ";", "tree", "fntype", ",", "new_fndecl", ",", "args", ";", "unsigned", "arity", ";", "const", "char", "*", "bname", ";", "machine_mode", "el_mode", ",", "in_mode", ";", "int", "n", ",", "in_n", ";", "if", "(", "!", "TARGET_64BIT", "||", "!", "flag_unsafe_math_optimizations", ")", "return", "NULL_TREE", ";", "el_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_out", ")", ")", ";", "n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_out", ")", ";", "in_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_in", ")", ")", ";", "in_n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_in", ")", ";", "if", "(", "el_mode", "!=", "in_mode", "||", "n", "!=", "in_n", ")", "return", "NULL_TREE", ";", "switch", "(", "fn", ")", "{", "CASE_CFN_SIN", ":", "CASE_CFN_COS", ":", "CASE_CFN_EXP", ":", "CASE_CFN_LOG", ":", "CASE_CFN_LOG2", ":", "CASE_CFN_LOG10", ":", "if", "(", "el_mode", "==", "DFmode", "&&", "n", "==", "2", ")", "{", "name", "[", "4", "]", "=", "'d'", ";", "name", "[", "5", "]", "=", "'2'", ";", "}", "else", "if", "(", "el_mode", "==", "SFmode", "&&", "n", "==", "4", ")", "{", "name", "[", "4", "]", "=", "'s'", ";", "name", "[", "5", "]", "=", "'4'", ";", "}", "else", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "tree", "fndecl", "=", "mathfn_built_in", "(", "TREE_TYPE", "(", "type_in", ")", ",", "fn", ")", ";", "bname", "=", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "fndecl", ")", ")", ";", "sprintf", "(", "name", "+", "7", ",", "\"%s\"", ",", "bname", "+", "10", ")", ";", "arity", "=", "0", ";", "for", "(", "args", "=", "DECL_ARGUMENTS", "(", "fndecl", ")", ";", "args", ";", "args", "=", "TREE_CHAIN", "(", "args", ")", ")", "arity", "++", ";", "if", "(", "arity", "==", "1", ")", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "NULL", ")", ";", "else", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "type_in", ",", "NULL", ")", ";", "new_fndecl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "fntype", ")", ";", "TREE_PUBLIC", "(", "new_fndecl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "new_fndecl", ")", "=", "1", ";", "DECL_IS_NOVOPS", "(", "new_fndecl", ")", "=", "1", ";", "TREE_READONLY", "(", "new_fndecl", ")", "=", "1", ";", "return", "new_fndecl", ";", "}", ""], "natrual_language": ["Handler", "for", "an", "ACML-style", "interface", "to", "a", "library", "with", "vectorized", "intrinsics", "."], "TS_V_token": ["i386", "20", "\"__vr.._\"", "2", "4", "5", "4", "4", "5", "7", "\"%s\"", "10", "0", "1", "1", "1", "1", "1"], "File": "i3865", "Func": "ix86_veclibabi_acml", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38585, "Length": 327}
{"ground_truth": ["", "static", "tree", "ix86_veclibabi_svml", "(", "combined_fn", "fn", ",", "tree", "type_out", ",", "tree", "type_in", ")", "{", "char", "name", "[", "20", "]", ";", "tree", "fntype", ",", "new_fndecl", ",", "args", ";", "unsigned", "arity", ";", "const", "char", "*", "bname", ";", "machine_mode", "el_mode", ",", "in_mode", ";", "int", "n", ",", "in_n", ";", "if", "(", "!", "flag_unsafe_math_optimizations", ")", "return", "NULL_TREE", ";", "el_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_out", ")", ")", ";", "n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_out", ")", ";", "in_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_in", ")", ")", ";", "in_n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_in", ")", ";", "if", "(", "el_mode", "!=", "in_mode", "||", "n", "!=", "in_n", ")", "return", "NULL_TREE", ";", "switch", "(", "fn", ")", "{", "CASE_CFN_EXP", ":", "CASE_CFN_LOG", ":", "CASE_CFN_LOG10", ":", "CASE_CFN_POW", ":", "CASE_CFN_TANH", ":", "CASE_CFN_TAN", ":", "CASE_CFN_ATAN", ":", "CASE_CFN_ATAN2", ":", "CASE_CFN_ATANH", ":", "CASE_CFN_CBRT", ":", "CASE_CFN_SINH", ":", "CASE_CFN_SIN", ":", "CASE_CFN_ASINH", ":", "CASE_CFN_ASIN", ":", "CASE_CFN_COSH", ":", "CASE_CFN_COS", ":", "CASE_CFN_ACOSH", ":", "CASE_CFN_ACOS", ":", "if", "(", "(", "el_mode", "!=", "DFmode", "||", "n", "!=", "2", ")", "&&", "(", "el_mode", "!=", "SFmode", "||", "n", "!=", "4", ")", ")", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "tree", "fndecl", "=", "mathfn_built_in", "(", "TREE_TYPE", "(", "type_in", ")", ",", "fn", ")", ";", "bname", "=", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "fndecl", ")", ")", ";", "if", "(", "DECL_FUNCTION_CODE", "(", "fndecl", ")", "==", "BUILT_IN_LOGF", ")", "strcpy", "(", "name", ",", "\"vmlsLn4\"", ")", ";", "else", "if", "(", "DECL_FUNCTION_CODE", "(", "fndecl", ")", "==", "BUILT_IN_LOG", ")", "strcpy", "(", "name", ",", "\"vmldLn2\"", ")", ";", "else", "if", "(", "n", "==", "4", ")", "{", "sprintf", "(", "name", ",", "\"vmls%s\"", ",", "bname", "+", "10", ")", ";", "name", "[", "strlen", "(", "name", ")", "-", "1", "]", "=", "'4'", ";", "}", "else", "sprintf", "(", "name", ",", "\"vmld%s2\"", ",", "bname", "+", "10", ")", ";", "name", "[", "4", "]", "&=", "~", "0x20", ";", "arity", "=", "0", ";", "for", "(", "args", "=", "DECL_ARGUMENTS", "(", "fndecl", ")", ";", "args", ";", "args", "=", "TREE_CHAIN", "(", "args", ")", ")", "arity", "++", ";", "if", "(", "arity", "==", "1", ")", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "NULL", ")", ";", "else", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "type_in", ",", "NULL", ")", ";", "new_fndecl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "fntype", ")", ";", "TREE_PUBLIC", "(", "new_fndecl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "new_fndecl", ")", "=", "1", ";", "DECL_IS_NOVOPS", "(", "new_fndecl", ")", "=", "1", ";", "TREE_READONLY", "(", "new_fndecl", ")", "=", "1", ";", "return", "new_fndecl", ";", "}", ""], "natrual_language": ["Handler", "for", "an", "SVML-style", "interface", "to", "a", "library", "with", "vectorized", "intrinsics", "."], "TS_V_token": ["i386", "20", "2", "4", "\"vmlsLn4\"", "\"vmldLn2\"", "4", "\"vmls%s\"", "10", "1", "\"vmld%s2\"", "10", "4", "0x20", "0", "1", "1", "1", "1", "1"], "File": "i3865", "Func": "ix86_veclibabi_svml", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38586, "Length": 386}
{"ground_truth": ["", "static", "tree", "ix86_vectorize_builtin_scatter", "(", "const_tree", "vectype", ",", "const_tree", "index_type", ",", "int", "scale", ")", "{", "bool", "si", ";", "enum", "ix86_builtins", "code", ";", "if", "(", "!", "TARGET_AVX512F", ")", "return", "NULL_TREE", ";", "if", "(", "(", "TREE_CODE", "(", "index_type", ")", "!=", "INTEGER_TYPE", "&&", "!", "POINTER_TYPE_P", "(", "index_type", ")", ")", "||", "(", "TYPE_MODE", "(", "index_type", ")", "!=", "SImode", "&&", "TYPE_MODE", "(", "index_type", ")", "!=", "DImode", ")", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", ">", "POINTER_SIZE", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", "<", "POINTER_SIZE", "&&", "TYPE_UNSIGNED", "(", "index_type", ")", ")", "return", "NULL_TREE", ";", "if", "(", "scale", "<=", "0", "||", "scale", ">", "8", "||", "(", "scale", "&", "(", "scale", "-", "1", ")", ")", "!=", "0", ")", "return", "NULL_TREE", ";", "si", "=", "TYPE_MODE", "(", "index_type", ")", "==", "SImode", ";", "switch", "(", "TYPE_MODE", "(", "vectype", ")", ")", "{", "case", "V8DFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DF", ":", "IX86_BUILTIN_SCATTERDIV8DF", ";", "break", ";", "case", "V8DImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DI", ":", "IX86_BUILTIN_SCATTERDIV8DI", ";", "break", ";", "case", "V16SFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SF", ":", "IX86_BUILTIN_SCATTERALTDIV16SF", ";", "break", ";", "case", "V16SImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SI", ":", "IX86_BUILTIN_SCATTERALTDIV16SI", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "return", "ix86_builtins", "[", "code", "]", ";", "}", ""], "natrual_language": ["Returns", "a", "decl", "of", "a", "function", "that", "implements", "scatter", "store", "with", "register", "type", "VECTYPE", "and", "index", "type", "INDEX_TYPE", "and", "SCALE", ".", "Return", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "0", "8", "1", "0"], "File": "i3865", "Func": "ix86_vectorize_builtin_scatter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38587, "Length": 201}
{"ground_truth": ["", "static", "bool", "ix86_vector_duplicate_value", "(", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "val", ")", "{", "bool", "ok", ";", "rtx_insn", "*", "insn", ";", "rtx", "dup", ";", "dup", "=", "gen_rtx_VEC_DUPLICATE", "(", "mode", ",", "val", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "target", ",", "dup", ")", ")", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "{", "rtx_insn", "*", "seq", ";", "start_sequence", "(", ")", ";", "XEXP", "(", "dup", ",", "0", ")", "=", "force_reg", "(", "GET_MODE_INNER", "(", "mode", ")", ",", "val", ")", ";", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "if", "(", "seq", ")", "emit_insn_before", "(", "seq", ",", "insn", ")", ";", "ok", "=", "recog_memoized", "(", "insn", ")", ">=", "0", ";", "gcc_assert", "(", "ok", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init_duplicate", ".", "Tries", "to", "fill", "target", "with", "val", "via", "vec_duplicate", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3865", "Func": "ix86_vector_duplicate_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38588, "Length": 120}
{"ground_truth": ["", "void", "scalar_chain", "::", "make_vector_copies", "(", "unsigned", "regno", ")", "{", "rtx", "reg", "=", "regno_reg_rtx", "[", "regno", "]", ";", "rtx", "vreg", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "df_ref", "ref", ";", "for", "(", "ref", "=", "DF_REG_DEF_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "!", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "rtx_insn", "*", "insn", "=", "DF_REF_INSN", "(", "ref", ")", ";", "start_sequence", "(", ")", ";", "if", "(", "TARGET_SSE4_1", ")", "{", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse4_1_pinsrd", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ",", "GEN_INT", "(", "2", ")", ")", ")", ";", "}", "else", "if", "(", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ")", ";", "emit_insn", "(", "gen_vec_interleave_lowv4si", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ")", ")", ";", "}", "else", "{", "rtx", "tmp", "=", "assign_386_stack_local", "(", "DImode", ",", "SLOT_TEMP", ")", ";", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ";", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "4", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ";", "emit_move_insn", "(", "vreg", ",", "tmp", ")", ";", "}", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_conversion_insns", "(", "seq", ",", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Copied r%d to a vector register r%d for insn %d\\n\"", ",", "regno", ",", "REGNO", "(", "vreg", ")", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "}", "for", "(", "ref", "=", "DF_REG_USE_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "replace_with_subreg_in_insn", "(", "DF_REF_INSN", "(", "ref", ")", ",", "reg", ",", "vreg", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Replaced r%d with r%d in insn %d\\n\"", ",", "regno", ",", "REGNO", "(", "vreg", ")", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "}", "}", ""], "natrual_language": ["Make", "vector", "copies", "for", "all", "register", "REGNO", "definitions", "and", "replace", "its", "uses", "in", "a", "chain", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "4", "2", "0", "0", "0", "4", "0", "0", "0", "0", "0", "4", "4", "\" Copied r%d to a vector register r%d for insn %d\\n\"", "\" Replaced r%d with r%d in insn %d\\n\""], "File": "i3865", "Func": "make_vector_copies", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38589, "Length": 425}
{"ground_truth": ["", "void", "scalar_chain", "::", "mark_dual_mode_def", "(", "df_ref", "def", ")", "{", "gcc_assert", "(", "DF_REF_REG_DEF_P", "(", "def", ")", ")", ";", "if", "(", "bitmap_bit_p", "(", "defs_conv", ",", "DF_REF_REGNO", "(", "def", ")", ")", ")", "return", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Mark r%d def in insn %d as requiring both modes in chain #%d\\n\"", ",", "DF_REF_REGNO", "(", "def", ")", ",", "DF_REF_INSN_UID", "(", "def", ")", ",", "chain_id", ")", ";", "bitmap_set_bit", "(", "defs_conv", ",", "DF_REF_REGNO", "(", "def", ")", ")", ";", "}", ""], "natrual_language": ["For", "DImode", "conversion", ",", "mark", "register", "defined", "by", "DEF", "as", "requiring", "conversion", "."], "TS_V_token": ["i386", "\" Mark r%d def in insn %d as requiring both modes in chain #%d\\n\""], "File": "i3865", "Func": "mark_dual_mode_def", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38590, "Length": 65}
{"ground_truth": ["", "int", "memory_address_length", "(", "rtx", "addr", ",", "bool", "lea", ")", "{", "struct", "ix86_address", "parts", ";", "rtx", "base", ",", "index", ",", "disp", ";", "int", "len", ";", "int", "ok", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PRE_DEC", "||", "GET_CODE", "(", "addr", ")", "==", "POST_INC", "||", "GET_CODE", "(", "addr", ")", "==", "PRE_MODIFY", "||", "GET_CODE", "(", "addr", ")", "==", "POST_MODIFY", ")", "return", "0", ";", "ok", "=", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "len", "=", "(", "parts", ".", "seg", "==", "ADDR_SPACE_GENERIC", ")", "?", "0", ":", "1", ";", "if", "(", "TARGET_64BIT", "&&", "!", "lea", "&&", "(", "SImode_address_operand", "(", "addr", ",", "VOIDmode", ")", "||", "(", "parts", ".", "base", "&&", "GET_MODE", "(", "parts", ".", "base", ")", "==", "SImode", ")", "||", "(", "parts", ".", "index", "&&", "GET_MODE", "(", "parts", ".", "index", ")", "==", "SImode", ")", ")", ")", "len", "++", ";", "base", "=", "parts", ".", "base", ";", "index", "=", "parts", ".", "index", ";", "disp", "=", "parts", ".", "disp", ";", "if", "(", "base", "&&", "SUBREG_P", "(", "base", ")", ")", "base", "=", "SUBREG_REG", "(", "base", ")", ";", "if", "(", "index", "&&", "SUBREG_P", "(", "index", ")", ")", "index", "=", "SUBREG_REG", "(", "index", ")", ";", "gcc_assert", "(", "base", "==", "NULL_RTX", "||", "REG_P", "(", "base", ")", ")", ";", "gcc_assert", "(", "index", "==", "NULL_RTX", "||", "REG_P", "(", "index", ")", ")", ";", "if", "(", "base", "&&", "!", "index", "&&", "!", "disp", ")", "{", "if", "(", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", "||", "REGNO", "(", "base", ")", "==", "SP_REG", "||", "REGNO", "(", "base", ")", "==", "BP_REG", "||", "REGNO", "(", "base", ")", "==", "R12_REG", "||", "REGNO", "(", "base", ")", "==", "R13_REG", ")", "len", "++", ";", "}", "else", "if", "(", "disp", "&&", "!", "base", "&&", "!", "index", ")", "{", "len", "+=", "4", ";", "if", "(", "rip_relative_addr_p", "(", "&", "parts", ")", ")", "len", "++", ";", "}", "else", "{", "if", "(", "disp", ")", "{", "if", "(", "base", "&&", "satisfies_constraint_K", "(", "disp", ")", ")", "len", "+=", "1", ";", "else", "len", "+=", "4", ";", "}", "else", "if", "(", "base", "&&", "(", "REGNO", "(", "base", ")", "==", "BP_REG", "||", "REGNO", "(", "base", ")", "==", "R13_REG", ")", ")", "len", "++", ";", "if", "(", "index", "||", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", "||", "(", "base", "&&", "(", "REGNO", "(", "base", ")", "==", "SP_REG", "||", "REGNO", "(", "base", ")", "==", "R12_REG", ")", ")", ")", "len", "++", ";", "}", "return", "len", ";", "}", ""], "natrual_language": ["Calculate", "the", "length", "of", "the", "memory", "address", "in", "the", "instruction", "encoding", ".", "Does", "not", "include", "the", "one-byte", "modrm", ",", "opcode", ",", "or", "prefix", "."], "TS_V_token": ["i386", "0", "0", "1", "4", "1", "4"], "File": "i3865", "Func": "memory_address_length", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38591, "Length": 383}
{"ground_truth": ["", "const", "char", "*", "output_adjust_stack_and_probe", "(", "rtx", "reg", ")", "{", "static", "int", "labelno", "=", "0", ";", "char", "loop_lab", "[", "32", "]", ";", "rtx", "xops", "[", "2", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "loop_lab", ",", "\"LPSRL\"", ",", "labelno", "++", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "loop_lab", ")", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "GEN_INT", "(", "PROBE_INTERVAL", ")", ";", "output_asm_insn", "(", "\"sub%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "xops", "[", "1", "]", "=", "const0_rtx", ";", "output_asm_insn", "(", "\"or%z0\\t{%1, (%0)|DWORD PTR [%0], %1}\"", ",", "xops", ")", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "reg", ";", "output_asm_insn", "(", "\"cmp%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "fputs", "(", "\"\\tjne\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "loop_lab", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Adjust", "the", "stack", "pointer", "up", "to", "REG", "while", "probing", "it", "."], "TS_V_token": ["i386", "0", "32", "2", "\"LPSRL\"", "0", "1", "\"sub%z0\\t{%1, %0|%0, %1}\"", "1", "\"or%z0\\t{%1, (%0)|DWORD PTR [%0], %1}\"", "0", "1", "\"cmp%z0\\t{%1, %0|%0, %1}\"", "\"\\tjne\\t\"", "\"\""], "File": "i3865", "Func": "output_adjust_stack_and_probe", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38592, "Length": 128}
{"ground_truth": ["", "const", "char", "*", "output_probe_stack_range", "(", "rtx", "reg", ",", "rtx", "end", ")", "{", "static", "int", "labelno", "=", "0", ";", "char", "loop_lab", "[", "32", "]", ";", "rtx", "xops", "[", "3", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "loop_lab", ",", "\"LPSRL\"", ",", "labelno", "++", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "loop_lab", ")", ";", "xops", "[", "0", "]", "=", "reg", ";", "xops", "[", "1", "]", "=", "GEN_INT", "(", "PROBE_INTERVAL", ")", ";", "output_asm_insn", "(", "\"sub%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "reg", ";", "xops", "[", "2", "]", "=", "const0_rtx", ";", "output_asm_insn", "(", "\"or%z0\\t{%2, (%0,%1)|DWORD PTR [%0+%1], %2}\"", ",", "xops", ")", ";", "xops", "[", "0", "]", "=", "reg", ";", "xops", "[", "1", "]", "=", "end", ";", "output_asm_insn", "(", "\"cmp%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "fputs", "(", "\"\\tjne\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "loop_lab", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Wrapper", "around", "the", "output_probe_stack_range", "routines", "."], "TS_V_token": ["i386", "0", "32", "3", "\"LPSRL\"", "0", "1", "\"sub%z0\\t{%1, %0|%0, %1}\"", "0", "1", "2", "\"or%z0\\t{%2, (%0,%1)|DWORD PTR [%0+%1], %2}\"", "0", "1", "\"cmp%z0\\t{%1, %0|%0, %1}\"", "\"\\tjne\\t\"", "\"\""], "File": "i3865", "Func": "output_probe_stack_range", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38593, "Length": 145}
{"ground_truth": ["", "void", "print_reg", "(", "rtx", "x", ",", "int", "code", ",", "FILE", "*", "file", ")", "{", "const", "char", "*", "reg", ";", "int", "msize", ";", "unsigned", "int", "regno", ";", "bool", "duplicated", ";", "if", "(", "ASSEMBLER_DIALECT", "==", "ASM_ATT", ")", "putc", "(", "'%'", ",", "file", ")", ";", "if", "(", "x", "==", "pc_rtx", ")", "{", "gcc_assert", "(", "TARGET_64BIT", ")", ";", "fputs", "(", "\"rip\"", ",", "file", ")", ";", "return", ";", "}", "if", "(", "code", "==", "'y'", "&&", "STACK_TOP_P", "(", "x", ")", ")", "{", "fputs", "(", "\"st(0)\"", ",", "file", ")", ";", "return", ";", "}", "if", "(", "code", "==", "'w'", ")", "msize", "=", "2", ";", "else", "if", "(", "code", "==", "'b'", ")", "msize", "=", "1", ";", "else", "if", "(", "code", "==", "'k'", ")", "msize", "=", "4", ";", "else", "if", "(", "code", "==", "'q'", ")", "msize", "=", "8", ";", "else", "if", "(", "code", "==", "'h'", ")", "msize", "=", "0", ";", "else", "if", "(", "code", "==", "'x'", ")", "msize", "=", "16", ";", "else", "if", "(", "code", "==", "'t'", ")", "msize", "=", "32", ";", "else", "if", "(", "code", "==", "'g'", ")", "msize", "=", "64", ";", "else", "msize", "=", "GET_MODE_SIZE", "(", "GET_MODE", "(", "x", ")", ")", ";", "regno", "=", "true_regnum", "(", "x", ")", ";", "gcc_assert", "(", "regno", "!=", "ARG_POINTER_REGNUM", "&&", "regno", "!=", "FRAME_POINTER_REGNUM", "&&", "regno", "!=", "FLAGS_REG", "&&", "regno", "!=", "FPSR_REG", "&&", "regno", "!=", "FPCR_REG", ")", ";", "duplicated", "=", "code", "==", "'d'", "&&", "TARGET_AVX", ";", "switch", "(", "msize", ")", "{", "case", "8", ":", "case", "4", ":", "if", "(", "LEGACY_INT_REGNO_P", "(", "regno", ")", ")", "putc", "(", "msize", "==", "8", "&&", "TARGET_64BIT", "?", "'r'", ":", "'e'", ",", "file", ")", ";", "case", "16", ":", "case", "12", ":", "case", "2", ":", "normal", ":", "reg", "=", "hi_reg_name", "[", "regno", "]", ";", "break", ";", "case", "1", ":", "if", "(", "regno", ">=", "ARRAY_SIZE", "(", "qi_reg_name", ")", ")", "goto", "normal", ";", "reg", "=", "qi_reg_name", "[", "regno", "]", ";", "break", ";", "case", "0", ":", "if", "(", "regno", ">=", "ARRAY_SIZE", "(", "qi_high_reg_name", ")", ")", "goto", "normal", ";", "reg", "=", "qi_high_reg_name", "[", "regno", "]", ";", "break", ";", "case", "32", ":", "case", "64", ":", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "gcc_assert", "(", "!", "duplicated", ")", ";", "putc", "(", "msize", "==", "32", "?", "'y'", ":", "'z'", ",", "file", ")", ";", "reg", "=", "hi_reg_name", "[", "regno", "]", "+", "1", ";", "break", ";", "}", "goto", "normal", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "fputs", "(", "reg", ",", "file", ")", ";", "if", "(", "REX_INT_REGNO_P", "(", "regno", ")", ")", "{", "gcc_assert", "(", "TARGET_64BIT", ")", ";", "switch", "(", "msize", ")", "{", "case", "0", ":", "error", "(", "\"extended registers have no high halves\"", ")", ";", "break", ";", "case", "1", ":", "putc", "(", "'b'", ",", "file", ")", ";", "break", ";", "case", "2", ":", "putc", "(", "'w'", ",", "file", ")", ";", "break", ";", "case", "4", ":", "putc", "(", "'d'", ",", "file", ")", ";", "break", ";", "case", "8", ":", "break", ";", "default", ":", "error", "(", "\"unsupported operand size for extended register\"", ")", ";", "break", ";", "}", "return", ";", "}", "if", "(", "duplicated", ")", "{", "if", "(", "ASSEMBLER_DIALECT", "==", "ASM_ATT", ")", "fprintf", "(", "file", ",", "\", %%%s\"", ",", "reg", ")", ";", "else", "fprintf", "(", "file", ",", "\", %s\"", ",", "reg", ")", ";", "}", "}", ""], "natrual_language": ["Print", "a", "register", "."], "TS_V_token": ["i386", "\"rip\"", "\"st(0)\"", "2", "1", "4", "8", "0", "16", "32", "64", "8", "4", "8", "16", "12", "2", "1", "0", "32", "64", "32", "1", "0", "\"extended registers have no high halves\"", "1", "2", "4", "8", "\"unsupported operand size for extended register\"", "\", %%%s\"", "\", %s\""], "File": "i3865", "Func": "print_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38594, "Length": 499}
{"ground_truth": ["", "static", "void", "pro_epilogue_adjust_stack", "(", "rtx", "dest", ",", "rtx", "src", ",", "rtx", "offset", ",", "int", "style", ",", "bool", "set_cfa", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "insn", ";", "bool", "add_frame_related_expr", "=", "false", ";", "if", "(", "Pmode", "==", "SImode", ")", "insn", "=", "gen_pro_epilogue_adjust_stack_si_add", "(", "dest", ",", "src", ",", "offset", ")", ";", "else", "if", "(", "x86_64_immediate_operand", "(", "offset", ",", "DImode", ")", ")", "insn", "=", "gen_pro_epilogue_adjust_stack_di_add", "(", "dest", ",", "src", ",", "offset", ")", ";", "else", "{", "rtx", "tmp", ";", "if", "(", "style", ")", "tmp", "=", "gen_rtx_REG", "(", "DImode", ",", "R11_REG", ")", ";", "else", "{", "gcc_assert", "(", "src", "!=", "hard_frame_pointer_rtx", "&&", "dest", "!=", "hard_frame_pointer_rtx", ")", ";", "tmp", "=", "hard_frame_pointer_rtx", ";", "}", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "offset", ")", ")", ";", "if", "(", "style", "<", "0", ")", "add_frame_related_expr", "=", "true", ";", "insn", "=", "gen_pro_epilogue_adjust_stack_di_add", "(", "dest", ",", "src", ",", "tmp", ")", ";", "}", "insn", "=", "emit_insn", "(", "insn", ")", ";", "if", "(", "style", ">=", "0", ")", "ix86_add_queued_cfa_restore_notes", "(", "insn", ")", ";", "if", "(", "set_cfa", ")", "{", "rtx", "r", ";", "gcc_assert", "(", "m", "->", "fs", ".", "cfa_reg", "==", "src", ")", ";", "m", "->", "fs", ".", "cfa_offset", "+=", "INTVAL", "(", "offset", ")", ";", "m", "->", "fs", ".", "cfa_reg", "=", "dest", ";", "r", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "src", ",", "offset", ")", ";", "r", "=", "gen_rtx_SET", "(", "dest", ",", "r", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_ADJUST_CFA", ",", "r", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "else", "if", "(", "style", "<", "0", ")", "{", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "add_frame_related_expr", ")", "{", "rtx", "r", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "src", ",", "offset", ")", ";", "r", "=", "gen_rtx_SET", "(", "dest", ",", "r", ")", ";", "add_reg_note", "(", "insn", ",", "REG_FRAME_RELATED_EXPR", ",", "r", ")", ";", "}", "}", "if", "(", "dest", "==", "stack_pointer_rtx", ")", "{", "HOST_WIDE_INT", "ooffset", "=", "m", "->", "fs", ".", "sp_offset", ";", "bool", "valid", "=", "m", "->", "fs", ".", "sp_valid", ";", "if", "(", "src", "==", "hard_frame_pointer_rtx", ")", "{", "valid", "=", "m", "->", "fs", ".", "fp_valid", ";", "ooffset", "=", "m", "->", "fs", ".", "fp_offset", ";", "}", "else", "if", "(", "src", "==", "crtl", "->", "drap_reg", ")", "{", "valid", "=", "m", "->", "fs", ".", "drap_valid", ";", "ooffset", "=", "0", ";", "}", "else", "{", "gcc_checking_assert", "(", "src", "==", "stack_pointer_rtx", "||", "offset", "==", "const0_rtx", ")", ";", "}", "m", "->", "fs", ".", "sp_offset", "=", "ooffset", "-", "INTVAL", "(", "offset", ")", ";", "m", "->", "fs", ".", "sp_valid", "=", "valid", ";", "}", "}", ""], "natrual_language": ["Expand", "prologue", "or", "epilogue", "stack", "adjustment", ".", "The", "pattern", "exist", "to", "put", "a", "dependency", "on", "all", "ebp-based", "memory", "accesses", ".", "STYLE", "should", "be", "negative", "if", "instructions", "should", "be", "marked", "as", "frame", "related", ",", "zero", "if", "%", "r11", "register", "is", "live", "and", "can", "not", "be", "freely", "used", "and", "positive", "otherwise", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "0"], "File": "i3865", "Func": "pro_epilogue_adjust_stack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38595, "Length": 399}
{"ground_truth": ["", "static", "int", "reg_encoded_number", "(", "rtx", "reg", ")", "{", "unsigned", "regno", "=", "REGNO", "(", "reg", ")", ";", "switch", "(", "regno", ")", "{", "case", "AX_REG", ":", "return", "0", ";", "case", "CX_REG", ":", "return", "1", ";", "case", "DX_REG", ":", "return", "2", ";", "case", "BX_REG", ":", "return", "3", ";", "case", "SP_REG", ":", "return", "4", ";", "case", "BP_REG", ":", "return", "5", ";", "case", "SI_REG", ":", "return", "6", ";", "case", "DI_REG", ":", "return", "7", ";", "default", ":", "break", ";", "}", "if", "(", "IN_RANGE", "(", "regno", ",", "FIRST_STACK_REG", ",", "LAST_STACK_REG", ")", ")", "return", "regno", "-", "FIRST_STACK_REG", ";", "if", "(", "IN_RANGE", "(", "regno", ",", "FIRST_SSE_REG", ",", "LAST_SSE_REG", ")", ")", "return", "regno", "-", "FIRST_SSE_REG", ";", "if", "(", "IN_RANGE", "(", "regno", ",", "FIRST_MMX_REG", ",", "LAST_MMX_REG", ")", ")", "return", "regno", "-", "FIRST_MMX_REG", ";", "if", "(", "IN_RANGE", "(", "regno", ",", "FIRST_REX_SSE_REG", ",", "LAST_REX_SSE_REG", ")", ")", "return", "regno", "-", "FIRST_REX_SSE_REG", ";", "if", "(", "IN_RANGE", "(", "regno", ",", "FIRST_REX_INT_REG", ",", "LAST_REX_INT_REG", ")", ")", "return", "regno", "-", "FIRST_REX_INT_REG", ";", "if", "(", "IN_RANGE", "(", "regno", ",", "FIRST_MASK_REG", ",", "LAST_MASK_REG", ")", ")", "return", "regno", "-", "FIRST_MASK_REG", ";", "if", "(", "IN_RANGE", "(", "regno", ",", "FIRST_BND_REG", ",", "LAST_BND_REG", ")", ")", "return", "regno", "-", "FIRST_BND_REG", ";", "return", "-", "1", ";", "}", ""], "natrual_language": ["Return", "the", "number", "used", "for", "encoding", "REG", ",", "in", "the", "range", "0", "..", "7", "."], "TS_V_token": ["i386", "0", "1", "2", "3", "4", "5", "6", "7", "1"], "File": "i3865", "Func": "reg_encoded_number", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38596, "Length": 191}
{"ground_truth": ["", "static", "void", "release_scratch_register_on_entry", "(", "struct", "scratch_reg", "*", "sr", ")", "{", "if", "(", "sr", "->", "saved", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "x", ",", "insn", "=", "emit_insn", "(", "gen_pop", "(", "sr", "->", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "x", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "UNITS_PER_WORD", ")", ")", ";", "x", "=", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "x", ")", ";", "add_reg_note", "(", "insn", ",", "REG_FRAME_RELATED_EXPR", ",", "x", ")", ";", "m", "->", "fs", ".", "sp_offset", "-=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Release", "a", "scratch", "register", "obtained", "from", "the", "preceding", "function", ".", "If", "RELEASE_VIA_POP", "is", "true", ",", "we", "just", "pop", "the", "register", "off", "the", "stack", "to", "release", "it", ".", "This", "is", "what", "non-Linux", "systems", "use", "with", "-fstack-check", ".", "Otherwise", "we", "use", "OFFSET", "to", "locate", "the", "saved", "register", "and", "the", "allocated", "stack", "space", "becomes", "part", "of", "the", "local", "frame", "and", "is", "deallocated", "by", "the", "epilogue", "."], "TS_V_token": ["i386", "1"], "File": "i3865", "Func": "release_scratch_register_on_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38597, "Length": 90}
{"ground_truth": ["", "static", "void", "remove_non_convertible_regs", "(", "bitmap", "candidates", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "bitmap", "regs", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "candidates", ",", "0", ",", "id", ",", "bi", ")", "{", "rtx", "def_set", "=", "single_set", "(", "DF_INSN_UID_GET", "(", "id", ")", "->", "insn", ")", ";", "rtx", "reg", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "!", "REG_P", "(", "reg", ")", "||", "bitmap_bit_p", "(", "regs", ",", "REGNO", "(", "reg", ")", ")", "||", "HARD_REGISTER_P", "(", "reg", ")", ")", "continue", ";", "for", "(", "df_ref", "def", "=", "DF_REG_DEF_CHAIN", "(", "REGNO", "(", "reg", ")", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "{", "if", "(", "!", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"r%d has non convertible definition in insn %d\\n\"", ",", "REGNO", "(", "reg", ")", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "bitmap_set_bit", "(", "regs", ",", "REGNO", "(", "reg", ")", ")", ";", "break", ";", "}", "}", "}", "EXECUTE_IF_SET_IN_BITMAP", "(", "regs", ",", "0", ",", "id", ",", "bi", ")", "{", "for", "(", "df_ref", "def", "=", "DF_REG_DEF_CHAIN", "(", "id", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "if", "(", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Removing insn %d from candidates list\\n\"", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "bitmap_clear_bit", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "}", "}", "BITMAP_FREE", "(", "regs", ")", ";", "}", ""], "natrual_language": ["For", "a", "given", "bitmap", "of", "insn", "UIDs", "scans", "all", "instruction", "and", "remove", "insn", "from", "CANDIDATES", "in", "case", "it", "has", "both", "convertible", "and", "not", "convertible", "definitions", ".", "All", "insns", "in", "a", "bitmap", "are", "conversion", "candidates", "according", "to", "scalar_to_vector_candidate_p", ".", "Currently", "it", "implies", "all", "insns", "are", "single_set", "."], "TS_V_token": ["i386", "0", "\"r%d has non convertible definition in insn %d\\n\"", "0", "\"Removing insn %d from candidates list\\n\""], "File": "i3865", "Func": "remove_non_convertible_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38598, "Length": 229}
{"ground_truth": ["", "rtx", "scalar_chain", "::", "replace_with_subreg", "(", "rtx", "x", ",", "rtx", "reg", ",", "rtx", "new_reg", ")", "{", "if", "(", "x", "==", "reg", ")", "return", "gen_rtx_SUBREG", "(", "V2DImode", ",", "new_reg", ",", "0", ")", ";", "const", "char", "*", "fmt", "=", "GET_RTX_FORMAT", "(", "GET_CODE", "(", "x", ")", ")", ";", "int", "i", ",", "j", ";", "for", "(", "i", "=", "GET_RTX_LENGTH", "(", "GET_CODE", "(", "x", ")", ")", "-", "1", ";", "i", ">=", "0", ";", "i", "--", ")", "{", "if", "(", "fmt", "[", "i", "]", "==", "'e'", ")", "XEXP", "(", "x", ",", "i", ")", "=", "replace_with_subreg", "(", "XEXP", "(", "x", ",", "i", ")", ",", "reg", ",", "new_reg", ")", ";", "else", "if", "(", "fmt", "[", "i", "]", "==", "'E'", ")", "for", "(", "j", "=", "XVECLEN", "(", "x", ",", "i", ")", "-", "1", ";", "j", ">=", "0", ";", "j", "--", ")", "XVECEXP", "(", "x", ",", "i", ",", "j", ")", "=", "replace_with_subreg", "(", "XVECEXP", "(", "x", ",", "i", ",", "j", ")", ",", "reg", ",", "new_reg", ")", ";", "}", "return", "x", ";", "}", ""], "natrual_language": ["Replace", "REG", "in", "X", "with", "a", "V2DI", "subreg", "of", "NEW_REG", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0"], "File": "i3865", "Func": "replace_with_subreg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38599, "Length": 161}
{"ground_truth": ["", "void", "scalar_chain", "::", "replace_with_subreg_in_insn", "(", "rtx_insn", "*", "insn", ",", "rtx", "reg", ",", "rtx", "new_reg", ")", "{", "replace_with_subreg", "(", "single_set", "(", "insn", ")", ",", "reg", ",", "new_reg", ")", ";", "}", ""], "natrual_language": ["Replace", "REG", "in", "INSN", "with", "a", "V2DI", "subreg", "of", "NEW_REG", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "replace_with_subreg_in_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38600, "Length": 29}
{"ground_truth": ["", "scalar_chain", "::", "scalar_chain", "(", ")", "{", "chain_id", "=", "++", "max_id", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Created a new instruction chain #%d\\n\"", ",", "chain_id", ")", ";", "bitmap_obstack_initialize", "(", "NULL", ")", ";", "insns", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "defs", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "defs_conv", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "queue", "=", "NULL", ";", "}", ""], "natrual_language": ["Initialize", "new", "chain", "."], "TS_V_token": ["i386", "\"Created a new instruction chain #%d\\n\""], "File": "i3865", "Func": "scalar_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38601, "Length": 55}
{"ground_truth": ["", "static", "bool", "scalar_to_vector_candidate_p", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "def_set", ")", "return", "false", ";", "if", "(", "has_non_address_hard_reg", "(", "insn", ")", ")", "return", "false", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", "return", "convertible_comparison_p", "(", "insn", ")", ";", "if", "(", "GET_MODE", "(", "src", ")", "!=", "DImode", "||", "GET_MODE", "(", "dst", ")", "!=", "DImode", ")", "return", "false", ";", "if", "(", "!", "REG_P", "(", "dst", ")", "&&", "!", "MEM_P", "(", "dst", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "case", "PLUS", ":", "case", "MINUS", ":", "case", "IOR", ":", "case", "XOR", ":", "case", "AND", ":", "break", ";", "case", "REG", ":", "return", "true", ";", "case", "MEM", ":", "return", "REG_P", "(", "dst", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "(", "GET_CODE", "(", "src", ")", "!=", "AND", "||", "GET_CODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "NOT", "||", "!", "REG_P", "(", "XEXP", "(", "XEXP", "(", "src", ",", "0", ")", ",", "0", ")", ")", ")", ")", "return", "false", ";", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "DImode", "||", "GET_MODE", "(", "XEXP", "(", "src", ",", "1", ")", ")", "!=", "DImode", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "1", "if", "INSN", "may", "be", "converted", "into", "vector", "instruction", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "1", "1", "0", "1"], "File": "i3865", "Func": "scalar_to_vector_candidate_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38602, "Length": 272}
{"ground_truth": ["", "static", "void", "set_rop_modrm_reg_bits", "(", "int", "base", ",", "HARD_REG_SET", "&", "in", ",", "HARD_REG_SET", "&", "out", ")", "{", "SET_HARD_REG_BIT", "(", "out", ",", "base", ")", ";", "SET_HARD_REG_BIT", "(", "out", ",", "base", "+", "1", ")", ";", "SET_HARD_REG_BIT", "(", "in", ",", "base", "+", "2", ")", ";", "SET_HARD_REG_BIT", "(", "in", ",", "base", "+", "3", ")", ";", "}", ""], "natrual_language": ["Given", "a", "register", "number", "BASE", ",", "the", "lowest", "of", "a", "group", "of", "registers", ",", "update", "regsets", "IN", "and", "OUT", "with", "the", "registers", "that", "should", "be", "avoided", "in", "input", "and", "output", "operands", "respectively", "when", "trying", "to", "avoid", "generating", "a", "modr/m", "byte", "for", "-mmitigate-rop", "."], "TS_V_token": ["i386", "1", "2", "3"], "File": "i3865", "Func": "set_rop_modrm_reg_bits", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38603, "Length": 51}
{"ground_truth": ["", "int", "standard_sse_constant_p", "(", "rtx", "x", ")", "{", "machine_mode", "mode", ";", "if", "(", "!", "TARGET_SSE", ")", "return", "0", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "x", "==", "const0_rtx", "||", "x", "==", "CONST0_RTX", "(", "mode", ")", ")", "return", "1", ";", "if", "(", "vector_all_ones_operand", "(", "x", ",", "mode", ")", ")", "switch", "(", "mode", ")", "{", "case", "V16QImode", ":", "case", "V8HImode", ":", "case", "V4SImode", ":", "case", "V2DImode", ":", "if", "(", "TARGET_SSE2", ")", "return", "2", ";", "case", "V32QImode", ":", "case", "V16HImode", ":", "case", "V8SImode", ":", "case", "V4DImode", ":", "if", "(", "TARGET_AVX2", ")", "return", "2", ";", "case", "V64QImode", ":", "case", "V32HImode", ":", "case", "V16SImode", ":", "case", "V8DImode", ":", "if", "(", "TARGET_AVX512F", ")", "return", "2", ";", "default", ":", "break", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "1", "if", "X", "is", "all", "0s", "and", "2", "if", "x", "is", "all", "1s", "in", "supported", "SSE/AVX", "vector", "mode", "."], "TS_V_token": ["i386", "0", "1", "2", "2", "2", "0"], "File": "i3865", "Func": "standard_sse_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38604, "Length": 121}
{"ground_truth": ["", "static", "machine_mode", "type_natural_mode", "(", "const_tree", "type", ",", "const", "CUMULATIVE_ARGS", "*", "cum", ",", "bool", "in_return", ")", "{", "machine_mode", "mode", "=", "TYPE_MODE", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "&&", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "HOST_WIDE_INT", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "(", "size", "==", "8", "||", "size", "==", "16", "||", "size", "==", "32", "||", "size", "==", "64", ")", "&&", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", ">", "1", ")", "{", "machine_mode", "innermode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ";", "if", "(", "innermode", "==", "XFmode", ")", "return", "mode", ";", "if", "(", "TREE_CODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "REAL_TYPE", ")", "mode", "=", "MIN_MODE_VECTOR_FLOAT", ";", "else", "mode", "=", "MIN_MODE_VECTOR_INT", ";", "for", "(", ";", "mode", "!=", "VOIDmode", ";", "mode", "=", "GET_MODE_WIDER_MODE", "(", "mode", ")", ")", "if", "(", "GET_MODE_NUNITS", "(", "mode", ")", "==", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", "&&", "GET_MODE_INNER", "(", "mode", ")", "==", "innermode", ")", "{", "if", "(", "size", "==", "64", "&&", "!", "TARGET_AVX512F", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedavx512f", ";", "static", "bool", "warnedavx512f_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_avx512f", "&&", "!", "warnedavx512f", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX512F vector argument \"", "\"without AVX512F enabled changes the ABI\"", ")", ")", "warnedavx512f", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedavx512f_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX512F vector return \"", "\"without AVX512F enabled changes the ABI\"", ")", ")", "warnedavx512f_ret", "=", "true", ";", "}", "return", "TYPE_MODE", "(", "type", ")", ";", "}", "else", "if", "(", "size", "==", "32", "&&", "!", "TARGET_AVX", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedavx", ";", "static", "bool", "warnedavx_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_avx", "&&", "!", "warnedavx", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX vector argument \"", "\"without AVX enabled changes the ABI\"", ")", ")", "warnedavx", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedavx_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX vector return \"", "\"without AVX enabled changes the ABI\"", ")", ")", "warnedavx_ret", "=", "true", ";", "}", "return", "TYPE_MODE", "(", "type", ")", ";", "}", "else", "if", "(", "(", "(", "size", "==", "8", "&&", "TARGET_64BIT", ")", "||", "size", "==", "16", ")", "&&", "!", "TARGET_SSE", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedsse", ";", "static", "bool", "warnedsse_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_sse", "&&", "!", "warnedsse", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"SSE vector argument \"", "\"without SSE enabled changes the ABI\"", ")", ")", "warnedsse", "=", "true", ";", "}", "else", "if", "(", "!", "TARGET_64BIT", "&&", "in_return", "&&", "!", "warnedsse_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"SSE vector return \"", "\"without SSE enabled changes the ABI\"", ")", ")", "warnedsse_ret", "=", "true", ";", "}", "}", "else", "if", "(", "(", "size", "==", "8", "&&", "!", "TARGET_64BIT", ")", "&&", "!", "TARGET_MMX", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedmmx", ";", "static", "bool", "warnedmmx_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_mmx", "&&", "!", "warnedmmx", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"MMX vector argument \"", "\"without MMX enabled changes the ABI\"", ")", ")", "warnedmmx", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedmmx_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"MMX vector return \"", "\"without MMX enabled changes the ABI\"", ")", ")", "warnedmmx_ret", "=", "true", ";", "}", "}", "return", "mode", ";", "}", "gcc_unreachable", "(", ")", ";", "}", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Return", "the", "``", "natural", "''", "mode", "for", "TYPE", ".", "In", "most", "cases", ",", "this", "is", "just", "TYPE_MODE", ".", "But", "in", "the", "case", "of", "vector", "types", ",", "it", "is", "some", "vector", "mode", ".", "When", "we", "have", "only", "some", "of", "our", "vector", "isa", "extensions", "enabled", ",", "then", "there", "are", "some", "modes", "for", "which", "vector_mode_supported_p", "is", "false", ".", "For", "these", "modes", ",", "the", "generic", "vector", "support", "in", "gcc", "will", "choose", "some", "non-vector", "mode", "in", "order", "to", "implement", "the", "type", ".", "By", "computing", "the", "natural", "mode", ",", "we", "'ll", "select", "the", "proper", "ABI", "location", "for", "the", "operand", "and", "not", "depend", "on", "whatever", "the", "middle-end", "decides", "to", "do", "with", "these", "vector", "types", "."], "TS_V_token": ["i386", "8", "16", "32", "64", "1", "64", "\"AVX512F vector argument \"", "\"without AVX512F enabled changes the ABI\"", "\"AVX512F vector return \"", "\"without AVX512F enabled changes the ABI\"", "32", "\"AVX vector argument \"", "\"without AVX enabled changes the ABI\"", "\"AVX vector return \"", "\"without AVX enabled changes the ABI\"", "8", "16", "\"SSE vector argument \"", "\"without SSE enabled changes the ABI\"", "\"SSE vector return \"", "\"without SSE enabled changes the ABI\"", "8", "\"MMX vector argument \"", "\"without MMX enabled changes the ABI\"", "\"MMX vector return \"", "\"without MMX enabled changes the ABI\""], "File": "i3865", "Func": "type_natural_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38605, "Length": 490}
{"ground_truth": ["", "static", "bool", "use_rsqrt_p", "(", ")", "{", "return", "(", "TARGET_SSE_MATH", "&&", "flag_finite_math_only", "&&", "!", "flag_trapping_math", "&&", "flag_unsafe_math_optimizations", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "safe", "to", "use", "the", "rsqrt", "optabs", "to", "optimize", "1.0/sqrt", "."], "TS_V_token": ["i386"], "File": "i3865", "Func": "use_rsqrt_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38606, "Length": 19}
{"ground_truth": ["", "void", "dimode_scalar_chain", "::", "convert_op", "(", "rtx", "*", "op", ",", "rtx_insn", "*", "insn", ")", "{", "*", "op", "=", "copy_rtx_if_shared", "(", "*", "op", ")", ";", "if", "(", "GET_CODE", "(", "*", "op", ")", "==", "NOT", ")", "{", "convert_op", "(", "&", "XEXP", "(", "*", "op", ",", "0", ")", ",", "insn", ")", ";", "PUT_MODE", "(", "*", "op", ",", "V2DImode", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "*", "op", ")", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "emit_insn_before", "(", "gen_move_insn", "(", "tmp", ",", "*", "op", ")", ",", "insn", ")", ";", "*", "op", "=", "gen_rtx_SUBREG", "(", "V2DImode", ",", "tmp", ",", "0", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Preloading operand for insn %d into r%d\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "REGNO", "(", "tmp", ")", ")", ";", "}", "else", "if", "(", "REG_P", "(", "*", "op", ")", ")", "{", "df_ref", "ref", ";", "FOR_EACH_INSN_USE", "(", "ref", ",", "insn", ")", "if", "(", "DF_REF_REGNO", "(", "ref", ")", "==", "REGNO", "(", "*", "op", ")", ")", "{", "gcc_assert", "(", "!", "DF_REF_CHAIN", "(", "ref", ")", ")", ";", "break", ";", "}", "*", "op", "=", "gen_rtx_SUBREG", "(", "V2DImode", ",", "*", "op", ",", "0", ")", ";", "}", "else", "if", "(", "CONST_INT_P", "(", "*", "op", ")", ")", "{", "rtx", "vec_cst", ";", "rtx", "tmp", "=", "gen_rtx_SUBREG", "(", "V2DImode", ",", "gen_reg_rtx", "(", "DImode", ")", ",", "0", ")", ";", "if", "(", "constm1_operand", "(", "*", "op", ",", "GET_MODE", "(", "*", "op", ")", ")", ")", "vec_cst", "=", "CONSTM1_RTX", "(", "V2DImode", ")", ";", "else", "vec_cst", "=", "gen_rtx_CONST_VECTOR", "(", "V2DImode", ",", "gen_rtvec", "(", "2", ",", "*", "op", ",", "const0_rtx", ")", ")", ";", "if", "(", "!", "standard_sse_constant_p", "(", "vec_cst", ",", "V2DImode", ")", ")", "{", "start_sequence", "(", ")", ";", "vec_cst", "=", "validize_mem", "(", "force_const_mem", "(", "V2DImode", ",", "vec_cst", ")", ")", ";", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_insn_before", "(", "seq", ",", "insn", ")", ";", "}", "emit_insn_before", "(", "gen_move_insn", "(", "copy_rtx", "(", "tmp", ")", ",", "vec_cst", ")", ",", "insn", ")", ";", "*", "op", "=", "tmp", ";", "}", "else", "{", "gcc_assert", "(", "SUBREG_P", "(", "*", "op", ")", ")", ";", "gcc_assert", "(", "GET_MODE", "(", "*", "op", ")", "==", "V2DImode", ")", ";", "}", "}", ""], "natrual_language": ["Convert", "operand", "OP", "in", "INSN", ".", "We", "should", "handle", "memory", "operands", "and", "uninitialized", "registers", ".", "All", "other", "register", "uses", "are", "converted", "during", "registers", "conversion", "."], "TS_V_token": ["i386", "0", "0", "\" Preloading operand for insn %d into r%d\\n\"", "0", "0", "2"], "File": "i3866", "Func": "convert_op", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38607, "Length": 340}
{"ground_truth": ["", "void", "dimode_scalar_chain", "::", "convert_registers", "(", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "defs", ",", "0", ",", "id", ",", "bi", ")", "convert_reg", "(", "id", ")", ";", "EXECUTE_IF_AND_COMPL_IN_BITMAP", "(", "defs_conv", ",", "defs", ",", "0", ",", "id", ",", "bi", ")", "make_vector_copies", "(", "id", ")", ";", "}", ""], "natrual_language": ["Generate", "copies", "from", "defs", "used", "by", "the", "chain", "but", "not", "defined", "therein", ".", "Also", "populates", "defs_map", "which", "is", "used", "later", "by", "convert_insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3866", "Func": "convert_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38608, "Length": 46}
{"ground_truth": ["", "static", "unsigned", "int", "convert_scalars_to_vector", "(", ")", "{", "basic_block", "bb", ";", "bitmap", "candidates", ";", "int", "converted_insns", "=", "0", ";", "bitmap_obstack_initialize", "(", "NULL", ")", ";", "candidates", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "calculate_dominance_info", "(", "CDI_DOMINATORS", ")", ";", "df_set_flags", "(", "DF_DEFER_INSN_RESCAN", ")", ";", "df_chain_add_problem", "(", "DF_DU_CHAIN", "|", "DF_UD_CHAIN", ")", ";", "df_md_add_problem", "(", ")", ";", "df_analyze", "(", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Searching for mode conversion candidates...\\n\"", ")", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ";", "FOR_BB_INSNS", "(", "bb", ",", "insn", ")", "if", "(", "scalar_to_vector_candidate_p", "(", "insn", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" insn %d is marked as a candidate\\n\"", ",", "INSN_UID", "(", "insn", ")", ")", ";", "bitmap_set_bit", "(", "candidates", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", "}", "remove_non_convertible_regs", "(", "candidates", ")", ";", "if", "(", "bitmap_empty_p", "(", "candidates", ")", ")", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"There are no candidates for optimization.\\n\"", ")", ";", "while", "(", "!", "bitmap_empty_p", "(", "candidates", ")", ")", "{", "unsigned", "uid", "=", "bitmap_first_set_bit", "(", "candidates", ")", ";", "scalar_chain", "*", "chain", ";", "if", "(", "TARGET_64BIT", ")", "chain", "=", "new", "timode_scalar_chain", ";", "else", "chain", "=", "new", "dimode_scalar_chain", ";", "chain", "->", "build", "(", "candidates", ",", "uid", ")", ";", "if", "(", "chain", "->", "compute_convert_gain", "(", ")", ">", "0", ")", "converted_insns", "+=", "chain", "->", "convert", "(", ")", ";", "else", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Chain #%d conversion is not profitable\\n\"", ",", "chain", "->", "chain_id", ")", ";", "delete", "chain", ";", "}", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Total insns converted: %d\\n\"", ",", "converted_insns", ")", ";", "BITMAP_FREE", "(", "candidates", ")", ";", "bitmap_obstack_release", "(", "NULL", ")", ";", "df_process_deferred_rescans", "(", ")", ";", "if", "(", "converted_insns", ")", "{", "if", "(", "crtl", "->", "stack_alignment_needed", "<", "128", ")", "crtl", "->", "stack_alignment_needed", "=", "128", ";", "if", "(", "crtl", "->", "stack_alignment_estimated", "<", "128", ")", "crtl", "->", "stack_alignment_estimated", "=", "128", ";", "if", "(", "TARGET_64BIT", ")", "for", "(", "tree", "parm", "=", "DECL_ARGUMENTS", "(", "current_function_decl", ")", ";", "parm", ";", "parm", "=", "DECL_CHAIN", "(", "parm", ")", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "parm", ")", ")", "!=", "TImode", ")", "continue", ";", "if", "(", "DECL_RTL_SET_P", "(", "parm", ")", "&&", "GET_MODE", "(", "DECL_RTL", "(", "parm", ")", ")", "==", "V1TImode", ")", "{", "rtx", "r", "=", "DECL_RTL", "(", "parm", ")", ";", "if", "(", "REG_P", "(", "r", ")", ")", "SET_DECL_RTL", "(", "parm", ",", "gen_rtx_SUBREG", "(", "TImode", ",", "r", ",", "0", ")", ")", ";", "}", "if", "(", "DECL_INCOMING_RTL", "(", "parm", ")", "&&", "GET_MODE", "(", "DECL_INCOMING_RTL", "(", "parm", ")", ")", "==", "V1TImode", ")", "{", "rtx", "r", "=", "DECL_INCOMING_RTL", "(", "parm", ")", ";", "if", "(", "REG_P", "(", "r", ")", ")", "DECL_INCOMING_RTL", "(", "parm", ")", "=", "gen_rtx_SUBREG", "(", "TImode", ",", "r", ",", "0", ")", ";", "}", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["Main", "STV", "pass", "function", ".", "Find", "and", "convert", "scalar", "instructions", "into", "vector", "mode", "when", "profitable", "."], "TS_V_token": ["i386", "0", "\"Searching for mode conversion candidates...\\n\"", "\" insn %d is marked as a candidate\\n\"", "\"There are no candidates for optimization.\\n\"", "0", "\"Chain #%d conversion is not profitable\\n\"", "\"Total insns converted: %d\\n\"", "128", "128", "128", "128", "0", "0", "0"], "File": "i3866", "Func": "convert_scalars_to_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38609, "Length": 425}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin2", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa2", "=", "mask", ";", "if", "(", "mask", "==", "0", "||", "(", "mask", "&", "ix86_isa_flags2", ")", "!=", "0", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", "=", "ix86_get_builtin_func_type", "(", "tcode", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "false", ";", "}", "else", "{", "deferred_isa_values2", "|=", "mask", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "tcode", "=", "tcode", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "name", "=", "name", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "leaf_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "nothrow_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "true", ";", "}", "return", "decl", ";", "}", ""], "natrual_language": ["Like", "def_builtin", ",", "but", "for", "additional", "isa2", "flags", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3866", "Func": "def_builtin2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38610, "Length": 205}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin_const2", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "def_builtin2", "(", "mask", ",", "name", ",", "tcode", ",", "code", ")", ";", "if", "(", "decl", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "else", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "true", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Like", "def_builtin", ",", "but", "also", "marks", "the", "function", "decl", "``", "const", "''", "."], "TS_V_token": ["i386", "1"], "File": "i3866", "Func": "def_builtin_const2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38611, "Length": 64}
{"ground_truth": ["", "static", "void", "dimode_remove_non_convertible_regs", "(", "bitmap", "candidates", ")", "{", "bitmap_iterator", "bi", ";", "unsigned", "id", ";", "bitmap", "regs", "=", "BITMAP_ALLOC", "(", "NULL", ")", ";", "EXECUTE_IF_SET_IN_BITMAP", "(", "candidates", ",", "0", ",", "id", ",", "bi", ")", "{", "rtx", "def_set", "=", "single_set", "(", "DF_INSN_UID_GET", "(", "id", ")", "->", "insn", ")", ";", "rtx", "reg", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "!", "REG_P", "(", "reg", ")", "||", "bitmap_bit_p", "(", "regs", ",", "REGNO", "(", "reg", ")", ")", "||", "HARD_REGISTER_P", "(", "reg", ")", ")", "continue", ";", "for", "(", "df_ref", "def", "=", "DF_REG_DEF_CHAIN", "(", "REGNO", "(", "reg", ")", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "{", "if", "(", "!", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"r%d has non convertible definition in insn %d\\n\"", ",", "REGNO", "(", "reg", ")", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "bitmap_set_bit", "(", "regs", ",", "REGNO", "(", "reg", ")", ")", ";", "break", ";", "}", "}", "}", "EXECUTE_IF_SET_IN_BITMAP", "(", "regs", ",", "0", ",", "id", ",", "bi", ")", "{", "for", "(", "df_ref", "def", "=", "DF_REG_DEF_CHAIN", "(", "id", ")", ";", "def", ";", "def", "=", "DF_REF_NEXT_REG", "(", "def", ")", ")", "if", "(", "bitmap_bit_p", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ")", "{", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Removing insn %d from candidates list\\n\"", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "bitmap_clear_bit", "(", "candidates", ",", "DF_REF_INSN_UID", "(", "def", ")", ")", ";", "}", "}", "BITMAP_FREE", "(", "regs", ")", ";", "}", ""], "natrual_language": ["The", "DImode", "version", "of", "remove_non_convertible_regs", "."], "TS_V_token": ["i386", "0", "\"r%d has non convertible definition in insn %d\\n\"", "0", "\"Removing insn %d from candidates list\\n\""], "File": "i3866", "Func": "dimode_remove_non_convertible_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38612, "Length": 229}
{"ground_truth": ["", "static", "bool", "dimode_scalar_to_vector_candidate_p", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "def_set", ")", "return", "false", ";", "if", "(", "has_non_address_hard_reg", "(", "insn", ")", ")", "return", "false", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", "return", "convertible_comparison_p", "(", "insn", ")", ";", "if", "(", "(", "GET_MODE", "(", "src", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "src", ")", ")", "||", "GET_MODE", "(", "dst", ")", "!=", "DImode", ")", "return", "false", ";", "if", "(", "!", "REG_P", "(", "dst", ")", "&&", "!", "MEM_P", "(", "dst", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "case", "ASHIFT", ":", "case", "LSHIFTRT", ":", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "!", "IN_RANGE", "(", "INTVAL", "(", "XEXP", "(", "src", ",", "1", ")", ")", ",", "0", ",", "63", ")", ")", "return", "false", ";", "break", ";", "case", "PLUS", ":", "case", "MINUS", ":", "case", "IOR", ":", "case", "XOR", ":", "case", "AND", ":", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "break", ";", "case", "NEG", ":", "case", "NOT", ":", "break", ";", "case", "REG", ":", "return", "true", ";", "case", "MEM", ":", "case", "CONST_INT", ":", "return", "REG_P", "(", "dst", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "(", "GET_CODE", "(", "src", ")", "!=", "AND", "||", "GET_CODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "NOT", "||", "!", "REG_P", "(", "XEXP", "(", "XEXP", "(", "src", ",", "0", ")", ",", "0", ")", ")", ")", ")", "return", "false", ";", "if", "(", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", ")", "||", "(", "GET_CODE", "(", "src", ")", "!=", "NEG", "&&", "GET_CODE", "(", "src", ")", "!=", "NOT", "&&", "GET_MODE", "(", "XEXP", "(", "src", ",", "1", ")", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["The", "DImode", "version", "of", "scalar_to_vector_candidate_p", "."], "TS_V_token": ["i386", "1", "1", "0", "63", "1", "1", "1", "0", "0", "0", "0", "0", "0", "0", "0", "1", "1"], "File": "i3866", "Func": "dimode_scalar_to_vector_candidate_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38613, "Length": 395}
{"ground_truth": ["", "static", "bool", "has_dispatch", "(", "rtx_insn", "*", "insn", ",", "int", "action", ")", "{", "if", "(", "(", "TARGET_BDVER1", "||", "TARGET_BDVER2", "||", "TARGET_BDVER3", "||", "TARGET_BDVER4", "||", "TARGET_ZNVER1", ")", "&&", "flag_dispatch_scheduler", ")", "switch", "(", "action", ")", "{", "default", ":", "return", "false", ";", "case", "IS_DISPATCH_ON", ":", "return", "true", ";", "case", "IS_CMP", ":", "return", "is_cmp", "(", "insn", ")", ";", "case", "DISPATCH_VIOLATION", ":", "return", "dispatch_violation", "(", ")", ";", "case", "FITS_DISPATCH_WINDOW", ":", "return", "fits_dispatch_window", "(", "insn", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "Dispatch", "Scheduling", "is", "supported", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "has_dispatch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38614, "Length": 75}
{"ground_truth": ["", "static", "inline", "bool", "inline_secondary_memory_needed", "(", "enum", "reg_class", "class1", ",", "enum", "reg_class", "class2", ",", "machine_mode", "mode", ",", "int", "strict", ")", "{", "if", "(", "lra_in_progress", "&&", "(", "class1", "==", "NO_REGS", "||", "class2", "==", "NO_REGS", ")", ")", "return", "false", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class1", ")", "||", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class1", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class2", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class1", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class2", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", "||", "MAYBE_MASK_CLASS_P", "(", "class1", ")", "!=", "MASK_CLASS_P", "(", "class1", ")", "||", "MAYBE_MASK_CLASS_P", "(", "class2", ")", "!=", "MASK_CLASS_P", "(", "class2", ")", ")", "{", "gcc_assert", "(", "!", "strict", "||", "lra_in_progress", ")", ";", "return", "true", ";", "}", "if", "(", "FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "(", "MASK_CLASS_P", "(", "class1", ")", "!=", "MASK_CLASS_P", "(", "class2", ")", ")", "&&", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", ")", "return", "true", ";", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "{", "if", "(", "!", "TARGET_SSE2", ")", "return", "true", ";", "if", "(", "(", "SSE_CLASS_P", "(", "class1", ")", "&&", "!", "TARGET_INTER_UNIT_MOVES_FROM_VEC", ")", "||", "(", "SSE_CLASS_P", "(", "class2", ")", "&&", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", ")", "return", "true", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["If", "we", "are", "copying", "between", "general", "and", "FP", "registers", ",", "we", "need", "a", "memory", "location", ".", "The", "same", "is", "true", "for", "SSE", "and", "MMX", "registers", ".", "To", "optimize", "register_move_cost", "performance", ",", "allow", "inline", "variant", ".", "The", "macro", "ca", "n't", "work", "reliably", "when", "one", "of", "the", "CLASSES", "is", "class", "containing", "registers", "from", "multiple", "units", "(", "SSE", ",", "MMX", ",", "integer", ")", ".", "We", "avoid", "this", "by", "never", "combining", "those", "units", "in", "single", "alternative", "in", "the", "machine", "description", ".", "Ensure", "that", "this", "constraint", "holds", "to", "avoid", "unexpected", "surprises", ".", "When", "STRICT", "is", "false", ",", "we", "are", "being", "called", "from", "REGISTER_MOVE_COST", ",", "so", "do", "not", "enforce", "these", "sanity", "checks", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "inline_secondary_memory_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38615, "Length": 251}
{"ground_truth": ["", "static", "bool", "ix86_additional_allocno_class_p", "(", "reg_class_t", "cl", ")", "{", "return", "cl", "==", "MOD4_SSE_REGS", ";", "}", ""], "natrual_language": ["Return", "true", "if", "register", "class", "CL", "should", "be", "an", "additional", "allocno", "class", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_additional_allocno_class_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38616, "Length": 14}
{"ground_truth": ["", "static", "void", "ix86_add_new_builtins", "(", "HOST_WIDE_INT", "isa", ",", "HOST_WIDE_INT", "isa2", ")", "{", "if", "(", "(", "isa", "&", "deferred_isa_values", ")", "==", "0", "&&", "(", "isa2", "&", "deferred_isa_values2", ")", "==", "0", ")", "return", ";", "deferred_isa_values", "&=", "~", "isa", ";", "deferred_isa_values2", "&=", "~", "isa2", ";", "int", "i", ";", "tree", "saved_current_target_pragma", "=", "current_target_pragma", ";", "current_target_pragma", "=", "NULL_TREE", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "int", ")", "IX86_BUILTIN_MAX", ";", "i", "++", ")", "{", "if", "(", "(", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa", "&", "isa", ")", "!=", "0", "||", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa2", "&", "isa2", ")", "!=", "0", ")", "&&", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", ")", "{", "tree", "decl", ",", "type", ";", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", "=", "false", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ix86_builtins_isa", "[", "i", "]", ".", "tcode", ")", ";", "decl", "=", "add_builtin_function_ext_scope", "(", "ix86_builtins_isa", "[", "i", "]", ".", "name", ",", "type", ",", "i", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "i", "]", "=", "decl", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "const_p", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "leaf_p", ")", "DECL_ATTRIBUTES", "(", "decl", ")", "=", "build_tree_list", "(", "get_identifier", "(", "\"leaf\"", ")", ",", "NULL_TREE", ")", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "nothrow_p", ")", "TREE_NOTHROW", "(", "decl", ")", "=", "1", ";", "}", "}", "current_target_pragma", "=", "saved_current_target_pragma", ";", "}", ""], "natrual_language": ["Add", "any", "new", "builtin", "functions", "for", "a", "given", "ISA", "that", "may", "not", "have", "been", "declared", ".", "This", "saves", "a", "bit", "of", "space", "compared", "to", "adding", "all", "of", "the", "declarations", "to", "the", "tree", ",", "even", "if", "we", "did", "n't", "use", "them", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "1", "\"leaf\"", "1"], "File": "i3866", "Func": "ix86_add_new_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38617, "Length": 226}
{"ground_truth": ["", "static", "unsigned", "ix86_add_stmt_cost", "(", "void", "*", "data", ",", "int", "count", ",", "enum", "vect_cost_for_stmt", "kind", ",", "struct", "_stmt_vec_info", "*", "stmt_info", ",", "int", "misalign", ",", "enum", "vect_cost_model_location", "where", ")", "{", "unsigned", "*", "cost", "=", "(", "unsigned", "*", ")", "data", ";", "unsigned", "retval", "=", "0", ";", "tree", "vectype", "=", "stmt_info", "?", "stmt_vectype", "(", "stmt_info", ")", ":", "NULL_TREE", ";", "int", "stmt_cost", "=", "ix86_builtin_vectorization_cost", "(", "kind", ",", "vectype", ",", "misalign", ")", ";", "if", "(", "TARGET_BONNELL", "&&", "kind", "==", "vector_stmt", "&&", "vectype", "&&", "GET_MODE_INNER", "(", "TYPE_MODE", "(", "vectype", ")", ")", "==", "DFmode", ")", "stmt_cost", "*=", "5", ";", "if", "(", "where", "==", "vect_body", "&&", "stmt_info", "&&", "stmt_in_inner_loop_p", "(", "stmt_info", ")", ")", "count", "*=", "50", ";", "retval", "=", "(", "unsigned", ")", "(", "count", "*", "stmt_cost", ")", ";", "if", "(", "(", "TARGET_SILVERMONT", "||", "TARGET_INTEL", ")", "&&", "stmt_info", "&&", "stmt_info", "->", "stmt", ")", "{", "tree", "lhs_op", "=", "gimple_get_lhs", "(", "stmt_info", "->", "stmt", ")", ";", "if", "(", "lhs_op", "&&", "TREE_CODE", "(", "TREE_TYPE", "(", "lhs_op", ")", ")", "==", "INTEGER_TYPE", ")", "retval", "=", "(", "retval", "*", "17", ")", "/", "10", ";", "}", "cost", "[", "where", "]", "+=", "retval", ";", "return", "retval", ";", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.add_stmt_cost", "."], "TS_V_token": ["i386", "0", "5", "50", "17", "10"], "File": "i3866", "Func": "ix86_add_stmt_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38618, "Length": 180}
{"ground_truth": ["", "static", "void", "ix86_avx256_split_vector_move_misalign", "(", "rtx", "op0", ",", "rtx", "op1", ")", "{", "rtx", "m", ";", "rtx", "(", "*", "extract", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "machine_mode", "mode", ";", "if", "(", "(", "MEM_P", "(", "op1", ")", "&&", "!", "TARGET_AVX256_SPLIT_UNALIGNED_LOAD", ")", "||", "(", "MEM_P", "(", "op0", ")", "&&", "!", "TARGET_AVX256_SPLIT_UNALIGNED_STORE", ")", ")", "{", "emit_insn", "(", "gen_rtx_SET", "(", "op0", ",", "op1", ")", ")", ";", "return", ";", "}", "rtx", "orig_op0", "=", "NULL_RTX", ";", "mode", "=", "GET_MODE", "(", "op0", ")", ";", "switch", "(", "GET_MODE_CLASS", "(", "mode", ")", ")", "{", "case", "MODE_VECTOR_INT", ":", "case", "MODE_INT", ":", "if", "(", "mode", "!=", "V32QImode", ")", "{", "if", "(", "!", "MEM_P", "(", "op0", ")", ")", "{", "orig_op0", "=", "op0", ";", "op0", "=", "gen_reg_rtx", "(", "V32QImode", ")", ";", "}", "else", "op0", "=", "gen_lowpart", "(", "V32QImode", ",", "op0", ")", ";", "op1", "=", "gen_lowpart", "(", "V32QImode", ",", "op1", ")", ";", "mode", "=", "V32QImode", ";", "}", "break", ";", "case", "MODE_VECTOR_FLOAT", ":", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "V32QImode", ":", "extract", "=", "gen_avx_vextractf128v32qi", ";", "mode", "=", "V16QImode", ";", "break", ";", "case", "V8SFmode", ":", "extract", "=", "gen_avx_vextractf128v8sf", ";", "mode", "=", "V4SFmode", ";", "break", ";", "case", "V4DFmode", ":", "extract", "=", "gen_avx_vextractf128v4df", ";", "mode", "=", "V2DFmode", ";", "break", ";", "}", "if", "(", "MEM_P", "(", "op1", ")", ")", "{", "rtx", "r", "=", "gen_reg_rtx", "(", "mode", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "0", ")", ";", "emit_move_insn", "(", "r", ",", "m", ")", ";", "m", "=", "adjust_address", "(", "op1", ",", "mode", ",", "16", ")", ";", "r", "=", "gen_rtx_VEC_CONCAT", "(", "GET_MODE", "(", "op0", ")", ",", "r", ",", "m", ")", ";", "emit_move_insn", "(", "op0", ",", "r", ")", ";", "}", "else", "if", "(", "MEM_P", "(", "op0", ")", ")", "{", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "0", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "op1", ",", "const0_rtx", ")", ")", ";", "m", "=", "adjust_address", "(", "op0", ",", "mode", ",", "16", ")", ";", "emit_insn", "(", "extract", "(", "m", ",", "copy_rtx", "(", "op1", ")", ",", "const1_rtx", ")", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "if", "(", "orig_op0", ")", "emit_move_insn", "(", "orig_op0", ",", "gen_lowpart", "(", "GET_MODE", "(", "orig_op0", ")", ",", "op0", ")", ")", ";", "}", ""], "natrual_language": ["Split", "32-byte", "AVX", "unaligned", "load", "and", "store", "if", "needed", "."], "TS_V_token": ["i386", "0", "16", "0", "16"], "File": "i3866", "Func": "ix86_avx256_split_vector_move_misalign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38619, "Length": 360}
{"ground_truth": ["", "static", "int", "ix86_builtin_vectorization_cost", "(", "enum", "vect_cost_for_stmt", "type_of_cost", ",", "tree", "vectype", ",", "int", ")", "{", "switch", "(", "type_of_cost", ")", "{", "case", "scalar_stmt", ":", "return", "ix86_cost", "->", "scalar_stmt_cost", ";", "case", "scalar_load", ":", "return", "ix86_cost", "->", "scalar_load_cost", ";", "case", "scalar_store", ":", "return", "ix86_cost", "->", "scalar_store_cost", ";", "case", "vector_stmt", ":", "return", "ix86_cost", "->", "vec_stmt_cost", ";", "case", "vector_load", ":", "return", "ix86_cost", "->", "vec_align_load_cost", ";", "case", "vector_store", ":", "return", "ix86_cost", "->", "vec_store_cost", ";", "case", "vec_to_scalar", ":", "return", "ix86_cost", "->", "vec_to_scalar_cost", ";", "case", "scalar_to_vec", ":", "return", "ix86_cost", "->", "scalar_to_vec_cost", ";", "case", "unaligned_load", ":", "case", "unaligned_store", ":", "return", "ix86_cost", "->", "vec_unalign_load_cost", ";", "case", "cond_branch_taken", ":", "return", "ix86_cost", "->", "cond_taken_branch_cost", ";", "case", "cond_branch_not_taken", ":", "return", "ix86_cost", "->", "cond_not_taken_branch_cost", ";", "case", "vec_perm", ":", "case", "vec_promote_demote", ":", "return", "ix86_cost", "->", "vec_stmt_cost", ";", "case", "vec_construct", ":", "return", "ix86_cost", "->", "vec_stmt_cost", "*", "(", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", "-", "1", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.builtin_vectorization_cost", "."], "TS_V_token": ["i386", "1"], "File": "i3866", "Func": "ix86_builtin_vectorization_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38620, "Length": 146}
{"ground_truth": ["", "static", "bool", "ix86_can_inline_p", "(", "tree", "caller", ",", "tree", "callee", ")", "{", "bool", "ret", "=", "false", ";", "tree", "caller_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "caller", ")", ";", "tree", "callee_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "callee", ")", ";", "if", "(", "!", "callee_tree", ")", "ret", "=", "true", ";", "else", "if", "(", "!", "caller_tree", ")", "ret", "=", "false", ";", "else", "{", "struct", "cl_target_option", "*", "caller_opts", "=", "TREE_TARGET_OPTION", "(", "caller_tree", ")", ";", "struct", "cl_target_option", "*", "callee_opts", "=", "TREE_TARGET_OPTION", "(", "callee_tree", ")", ";", "if", "(", "(", "(", "caller_opts", "->", "x_ix86_isa_flags", "&", "callee_opts", "->", "x_ix86_isa_flags", ")", "!=", "callee_opts", "->", "x_ix86_isa_flags", ")", "||", "(", "(", "caller_opts", "->", "x_ix86_isa_flags2", "&", "callee_opts", "->", "x_ix86_isa_flags2", ")", "!=", "callee_opts", "->", "x_ix86_isa_flags2", ")", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "x_target_flags", "!=", "callee_opts", "->", "x_target_flags", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "arch", "!=", "callee_opts", "->", "arch", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "tune", "!=", "callee_opts", "->", "tune", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "x_ix86_fpmath", "!=", "callee_opts", "->", "x_ix86_fpmath", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "branch_cost", "!=", "callee_opts", "->", "branch_cost", ")", "ret", "=", "false", ";", "else", "ret", "=", "true", ";", "}", "return", "ret", ";", "}", ""], "natrual_language": ["Hook", "to", "determine", "if", "one", "function", "can", "safely", "inline", "another", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_can_inline_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38621, "Length": 196}
{"ground_truth": ["", "bool", "ix86_can_use_return_insn_p", "(", "void", ")", "{", "struct", "ix86_frame", "frame", ";", "if", "(", "!", "reload_completed", "||", "frame_pointer_needed", "||", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "return", "0", ";", "if", "(", "crtl", "->", "args", ".", "pops_args", "&&", "crtl", "->", "args", ".", "size", ">=", "32768", ")", "return", "0", ";", "ix86_compute_frame_layout", "(", "&", "frame", ")", ";", "return", "(", "frame", ".", "stack_pointer_offset", "==", "UNITS_PER_WORD", "&&", "(", "frame", ".", "nregs", "+", "frame", ".", "nsseregs", ")", "==", "0", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "it", "is", "appropriate", "to", "emit", "`", "ret", "'", "instructions", "in", "the", "body", "of", "a", "function", ".", "Do", "this", "only", "if", "the", "epilogue", "is", "simple", ",", "needing", "a", "couple", "of", "insns", ".", "Prior", "to", "reloading", ",", "we", "ca", "n't", "tell", "how", "many", "registers", "must", "be", "saved", ",", "so", "return", "0", "then", ".", "Return", "0", "if", "there", "is", "no", "frame", "marker", "to", "de-allocate", "."], "TS_V_token": ["i386", "0", "32768", "0", "0"], "File": "i3866", "Func": "ix86_can_use_return_insn_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38622, "Length": 75}
{"ground_truth": ["", "static", "void", "ix86_code_end", "(", "void", ")", "{", "rtx", "xops", "[", "2", "]", ";", "int", "regno", ";", "for", "(", "regno", "=", "AX_REG", ";", "regno", "<=", "SP_REG", ";", "regno", "++", ")", "{", "char", "name", "[", "32", "]", ";", "tree", "decl", ";", "if", "(", "!", "(", "pic_labels_used", "&", "(", "1", "<<", "regno", ")", ")", ")", "continue", ";", "get_pc_thunk_name", "(", "name", ",", "regno", ")", ";", "decl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "build_function_type_list", "(", "void_type_node", ",", "NULL_TREE", ")", ")", ";", "DECL_RESULT", "(", "decl", ")", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "void_type_node", ")", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "1", ";", "TREE_STATIC", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "1", ";", "if", "(", "TARGET_MACHO", ")", "{", "switch_to_section", "(", "darwin_sections", "[", "picbase_thunk_section", "]", ")", ";", "fputs", "(", "\"\\t.weak_definition\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\n\\t.private_extern\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "DECL_WEAK", "(", "decl", ")", "=", "1", ";", "}", "else", "if", "(", "USE_HIDDEN_LINKONCE", ")", "{", "cgraph_node", "::", "create", "(", "decl", ")", "->", "set_comdat_group", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "targetm", ".", "asm_out", ".", "unique_section", "(", "decl", ",", "0", ")", ";", "switch_to_section", "(", "get_named_section", "(", "decl", ",", "NULL", ",", "0", ")", ")", ";", "targetm", ".", "asm_out", ".", "globalize_label", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\t.hidden\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_DECLARE_FUNCTION_NAME", "(", "asm_out_file", ",", "name", ",", "decl", ")", ";", "}", "else", "{", "switch_to_section", "(", "text_section", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "}", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "current_function_decl", "=", "decl", ";", "allocate_struct_function", "(", "decl", ",", "false", ")", ";", "init_function_start", "(", "decl", ")", ";", "cfun", "->", "is_thunk", "=", "true", ";", "first_function_block_is_cold", "=", "false", ";", "final_start_function", "(", "emit_barrier", "(", ")", ",", "asm_out_file", ",", "1", ")", ";", "if", "(", "TARGET_PAD_SHORT_FUNCTION", ")", "{", "int", "i", "=", "8", ";", "while", "(", "i", "--", ")", "fputs", "(", "\"\\tnop\\n\"", ",", "asm_out_file", ")", ";", "}", "xops", "[", "0", "]", "=", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "xops", "[", "1", "]", "=", "gen_rtx_MEM", "(", "Pmode", ",", "stack_pointer_rtx", ")", ";", "output_asm_insn", "(", "\"mov%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "output_asm_insn", "(", "\"%!ret\"", ",", "NULL", ")", ";", "final_end_function", "(", ")", ";", "init_insn_lengths", "(", ")", ";", "free_after_compilation", "(", "cfun", ")", ";", "set_cfun", "(", "NULL", ")", ";", "current_function_decl", "=", "NULL", ";", "}", "if", "(", "flag_split_stack", ")", "file_end_indicate_split_stack", "(", ")", ";", "}", ""], "natrual_language": ["This", "function", "generates", "code", "for", "-fpic", "that", "loads", "%", "ebx", "with", "the", "return", "address", "of", "the", "caller", "and", "then", "returns", "."], "TS_V_token": ["i386", "2", "32", "1", "1", "1", "1", "\"\\t.weak_definition\\t\"", "\"\\n\\t.private_extern\\t\"", "1", "0", "0", "\"\\t.hidden\\t\"", "1", "8", "\"\\tnop\\n\"", "0", "1", "\"mov%z0\\t{%1, %0|%0, %1}\"", "\"%!ret\""], "File": "i3866", "Func": "ix86_code_end", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38623, "Length": 423}
{"ground_truth": ["", "void", "ATTRIBUTE_UNUSED", "ix86_debug_options", "(", "void", ")", "{", "char", "*", "opts", "=", "ix86_target_string", "(", "ix86_isa_flags", ",", "ix86_isa_flags2", ",", "target_flags", ",", "ix86_target_flags", ",", "ix86_arch_string", ",", "ix86_tune_string", ",", "ix86_fpmath", ",", "true", ")", ";", "if", "(", "opts", ")", "{", "fprintf", "(", "stderr", ",", "\"%s\\n\\n\"", ",", "opts", ")", ";", "free", "(", "opts", ")", ";", "}", "else", "fputs", "(", "\"\\n\\n\"", ",", "stderr", ")", ";", "return", ";", "}", ""], "natrual_language": ["Function", "that", "is", "callable", "from", "the", "debugger", "to", "print", "the", "current", "options", "."], "TS_V_token": ["i386", "\"%s\\n\\n\"", "\"\\n\\n\""], "File": "i3866", "Func": "ix86_debug_options", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38624, "Length": 61}
{"ground_truth": ["", "void", "ix86_emit_fp_unordered_jump", "(", "rtx", "label", ")", "{", "rtx", "reg", "=", "gen_reg_rtx", "(", "HImode", ")", ";", "rtx", "temp", ";", "emit_insn", "(", "gen_x86_fnstsw_1", "(", "reg", ")", ")", ";", "if", "(", "TARGET_SAHF", "&&", "(", "TARGET_USE_SAHF", "||", "optimize_insn_for_size_p", "(", ")", ")", ")", "{", "emit_insn", "(", "gen_x86_sahf_1", "(", "reg", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_UNORDERED", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "else", "{", "emit_insn", "(", "gen_testqi_ext_1_ccno", "(", "reg", ",", "GEN_INT", "(", "0x04", ")", ")", ")", ";", "temp", "=", "gen_rtx_REG", "(", "CCNOmode", ",", "FLAGS_REG", ")", ";", "temp", "=", "gen_rtx_NE", "(", "VOIDmode", ",", "temp", ",", "const0_rtx", ")", ";", "}", "temp", "=", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "temp", ",", "gen_rtx_LABEL_REF", "(", "VOIDmode", ",", "label", ")", ",", "pc_rtx", ")", ";", "temp", "=", "gen_rtx_SET", "(", "pc_rtx", ",", "temp", ")", ";", "emit_jump_insn", "(", "temp", ")", ";", "predict_jump", "(", "REG_BR_PROB_BASE", "*", "10", "/", "100", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "a", "conditional", "jump", "to", "LABEL", ",", "if", "C2", "flag", "in", "FP", "status", "register", "is", "set", "."], "TS_V_token": ["i386", "0x04", "10", "100"], "File": "i3866", "Func": "ix86_emit_fp_unordered_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38625, "Length": 146}
{"ground_truth": ["", "static", "void", "ix86_emit_mode_set", "(", "int", "entity", ",", "int", "mode", ",", "int", "prev_mode", "ATTRIBUTE_UNUSED", ",", "HARD_REG_SET", "regs_live", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "if", "(", "mode", "==", "X86_DIRFLAG_RESET", ")", "emit_insn", "(", "gen_cld", "(", ")", ")", ";", "break", ";", "case", "AVX_U128", ":", "if", "(", "mode", "==", "AVX_U128_CLEAN", ")", "ix86_avx_emit_vzeroupper", "(", "regs_live", ")", ";", "break", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "if", "(", "mode", "!=", "I387_CW_ANY", "&&", "mode", "!=", "I387_CW_UNINITIALIZED", ")", "emit_i387_cw_initialization", "(", "mode", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Generate", "one", "or", "more", "insns", "to", "set", "ENTITY", "to", "MODE", ".", "HARD_REG_LIVE", "is", "the", "set", "of", "hard", "registers", "live", "at", "the", "point", "where", "the", "insn", "(", "s", ")", "are", "to", "be", "inserted", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_emit_mode_set", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38626, "Length": 94}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_sse_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ",", "bool", "maybe_eh_return", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "maybe_eh_return", ")", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "V4SFmode", ",", "regno", ")", ";", "rtx", "mem", ";", "unsigned", "int", "align", ";", "mem", "=", "choose_baseaddr", "(", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "V4SFmode", ",", "mem", ")", ";", "align", "=", "MIN", "(", "GET_MODE_ALIGNMENT", "(", "V4SFmode", ")", ",", "INCOMING_STACK_BOUNDARY", ")", ";", "set_mem_align", "(", "mem", ",", "align", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "reg", ",", "mem", ")", ")", ";", "ix86_add_cfa_restore_note", "(", "NULL", ",", "reg", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "GET_MODE_SIZE", "(", "V4SFmode", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "0"], "File": "i3866", "Func": "ix86_emit_restore_sse_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38627, "Length": 123}
{"ground_truth": ["", "static", "void", "ix86_emit_save_reg_using_mov", "(", "machine_mode", "mode", ",", "unsigned", "int", "regno", ",", "HOST_WIDE_INT", "cfa_offset", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "reg", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "rtx", "mem", ",", "addr", ",", "base", ",", "insn", ";", "unsigned", "int", "align", ";", "addr", "=", "choose_baseaddr", "(", "cfa_offset", ")", ";", "mem", "=", "gen_frame_mem", "(", "mode", ",", "addr", ")", ";", "align", "=", "MIN", "(", "GET_MODE_ALIGNMENT", "(", "mode", ")", ",", "INCOMING_STACK_BOUNDARY", ")", ";", "set_mem_align", "(", "mem", ",", "align", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "base", "=", "addr", ";", "if", "(", "GET_CODE", "(", "base", ")", "==", "PLUS", ")", "base", "=", "XEXP", "(", "base", ",", "0", ")", ";", "gcc_checking_assert", "(", "REG_P", "(", "base", ")", ")", ";", "if", "(", "m", "->", "fs", ".", "realigned", ")", "{", "gcc_checking_assert", "(", "stack_realign_drap", ")", ";", "if", "(", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "gcc_checking_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "fp_valid", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "hard_frame_pointer_rtx", ",", "cfun", "->", "machine", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "mem", ")", ";", "}", "else", "{", "gcc_checking_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "fp_valid", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "hard_frame_pointer_rtx", ",", "cfun", "->", "machine", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_EXPRESSION", ",", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "}", "}", "else", "if", "(", "base", "!=", "m", "->", "fs", ".", "cfa_reg", ")", "{", "addr", "=", "plus_constant", "(", "Pmode", ",", "m", "->", "fs", ".", "cfa_reg", ",", "m", "->", "fs", ".", "cfa_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_OFFSET", ",", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "a", "single", "register", "save", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "1", "0"], "File": "i3866", "Func": "ix86_emit_save_reg_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38628, "Length": 321}
{"ground_truth": ["", "static", "enum", "flt_eval_method", "ix86_excess_precision", "(", "enum", "excess_precision_type", "type", ")", "{", "switch", "(", "type", ")", "{", "case", "EXCESS_PRECISION_TYPE_FAST", ":", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "case", "EXCESS_PRECISION_TYPE_STANDARD", ":", "case", "EXCESS_PRECISION_TYPE_IMPLICIT", ":", "if", "(", "!", "TARGET_80387", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "else", "if", "(", "!", "TARGET_MIX_SSE_I387", ")", "{", "if", "(", "!", "TARGET_SSE_MATH", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE", ";", "else", "if", "(", "TARGET_SSE2", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "}", "return", "(", "type", "==", "EXCESS_PRECISION_TYPE_STANDARD", "?", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ":", "FLT_EVAL_METHOD_UNPREDICTABLE", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "FLT_EVAL_METHOD_UNPREDICTABLE", ";", "}", ""], "natrual_language": ["Set", "the", "value", "of", "FLT_EVAL_METHOD", "in", "float.h", ".", "When", "using", "only", "the", "FPU", ",", "assume", "that", "the", "fpcw", "is", "set", "to", "extended", "precision", ";", "when", "using", "only", "SSE", ",", "rounding", "is", "correct", ";", "when", "using", "both", "SSE", "and", "the", "FPU", ",", "the", "rounding", "precision", "is", "indeterminate", ",", "since", "either", "may", "be", "chosen", "apparently", "at", "random", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_excess_precision", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38629, "Length": 81}
{"ground_truth": ["", "static", "void", "ix86_expand_divmod_libfunc", "(", "rtx", "libfunc", ",", "machine_mode", "mode", ",", "rtx", "op0", ",", "rtx", "op1", ",", "rtx", "*", "quot_p", ",", "rtx", "*", "rem_p", ")", "{", "rtx", "rem", "=", "assign_386_stack_local", "(", "mode", ",", "SLOT_TEMP", ")", ";", "rtx", "quot", "=", "emit_library_call_value", "(", "libfunc", ",", "NULL_RTX", ",", "LCT_NORMAL", ",", "mode", ",", "3", ",", "op0", ",", "GET_MODE", "(", "op0", ")", ",", "op1", ",", "GET_MODE", "(", "op1", ")", ",", "XEXP", "(", "rem", ",", "0", ")", ",", "Pmode", ")", ";", "*", "quot_p", "=", "quot", ";", "*", "rem_p", "=", "rem", ";", "}", ""], "natrual_language": ["Generate", "call", "to", "__divmoddi4", "."], "TS_V_token": ["i386", "3", "0"], "File": "i3866", "Func": "ix86_expand_divmod_libfunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38630, "Length": 85}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "machine_mode", "cmp_ops_mode", "=", "GET_MODE", "(", "cmp_op0", ")", ";", "machine_mode", "cmp_mode", ";", "bool", "maskcmp", "=", "false", ";", "rtx", "x", ";", "if", "(", "GET_MODE_SIZE", "(", "cmp_ops_mode", ")", "==", "64", ")", "{", "cmp_mode", "=", "mode_for_size", "(", "GET_MODE_NUNITS", "(", "cmp_ops_mode", ")", ",", "MODE_INT", ",", "0", ")", ";", "gcc_assert", "(", "cmp_mode", "!=", "BLKmode", ")", ";", "maskcmp", "=", "true", ";", "}", "else", "cmp_mode", "=", "cmp_ops_mode", ";", "cmp_op0", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op0", ")", ";", "if", "(", "!", "nonimmediate_operand", "(", "cmp_op1", ",", "cmp_ops_mode", ")", ")", "cmp_op1", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op1", ")", ";", "if", "(", "optimize", "||", "(", "maskcmp", "&&", "cmp_mode", "!=", "mode", ")", "||", "(", "op_true", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_true", ")", ")", "||", "(", "op_false", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_false", ")", ")", ")", "dest", "=", "gen_reg_rtx", "(", "maskcmp", "?", "cmp_mode", ":", "mode", ")", ";", "if", "(", "maskcmp", "&&", "(", "code", "==", "GT", "||", "code", "==", "EQ", ")", ")", "{", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "switch", "(", "cmp_ops_mode", ")", "{", "case", "V64QImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv64qi3", ":", "gen_avx512bw_eqv64qi3_1", ";", "break", ";", "case", "V32HImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv32hi3", ":", "gen_avx512bw_eqv32hi3_1", ";", "break", ";", "case", "V16SImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv16si3", ":", "gen_avx512f_eqv16si3_1", ";", "break", ";", "case", "V8DImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv8di3", ":", "gen_avx512f_eqv8di3_1", ";", "break", ";", "default", ":", "gen", "=", "NULL", ";", "}", "if", "(", "gen", ")", "{", "emit_insn", "(", "gen", "(", "dest", ",", "cmp_op0", ",", "cmp_op1", ")", ")", ";", "return", "dest", ";", "}", "}", "x", "=", "gen_rtx_fmt_ee", "(", "code", ",", "cmp_mode", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "if", "(", "cmp_mode", "!=", "mode", "&&", "!", "maskcmp", ")", "{", "x", "=", "force_reg", "(", "cmp_ops_mode", ",", "x", ")", ";", "convert_move", "(", "dest", ",", "x", ",", "false", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Expand", "an", "sse", "vector", "comparison", ".", "Return", "the", "register", "with", "the", "result", "."], "TS_V_token": ["i386", "64", "0"], "File": "i3866", "Func": "ix86_expand_sse_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38631, "Length": 354}
{"ground_truth": ["", "static", "bool", "ix86_expand_sse_fp_minmax", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "if_true", ",", "rtx", "if_false", ")", "{", "machine_mode", "mode", ";", "bool", "is_min", ";", "rtx", "tmp", ";", "if", "(", "code", "==", "LT", ")", ";", "else", "if", "(", "code", "==", "UNGE", ")", "std", "::", "swap", "(", "if_true", ",", "if_false", ")", ";", "else", "return", "false", ";", "if", "(", "rtx_equal_p", "(", "cmp_op0", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op1", ",", "if_false", ")", ")", "is_min", "=", "true", ";", "else", "if", "(", "rtx_equal_p", "(", "cmp_op1", ",", "if_true", ")", "&&", "rtx_equal_p", "(", "cmp_op0", ",", "if_false", ")", ")", "is_min", "=", "false", ";", "else", "return", "false", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "!", "flag_finite_math_only", "||", "flag_signed_zeros", ")", "{", "int", "u", "=", "is_min", "?", "UNSPEC_IEEE_MIN", ":", "UNSPEC_IEEE_MAX", ";", "rtvec", "v", ";", "if_true", "=", "force_reg", "(", "mode", ",", "if_true", ")", ";", "v", "=", "gen_rtvec", "(", "2", ",", "if_true", ",", "if_false", ")", ";", "tmp", "=", "gen_rtx_UNSPEC", "(", "mode", ",", "v", ",", "u", ")", ";", "}", "else", "{", "code", "=", "is_min", "?", "SMIN", ":", "SMAX", ";", "tmp", "=", "gen_rtx_fmt_ee", "(", "code", ",", "mode", ",", "if_true", ",", "if_false", ")", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "tmp", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Detect", "conditional", "moves", "that", "exactly", "match", "min/max", "operational", "semantics", ".", "Note", "that", "this", "is", "IEEE", "safe", ",", "as", "long", "as", "we", "do", "n't", "interchange", "the", "operands", ".", "Returns", "FALSE", "if", "this", "conditional", "move", "does", "n't", "match", "a", "MIN/MAX", ",", "and", "TRUE", "if", "the", "operation", "is", "successful", "and", "instructions", "are", "emitted", "."], "TS_V_token": ["i386", "2"], "File": "i3866", "Func": "ix86_expand_sse_fp_minmax", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38632, "Length": 202}
{"ground_truth": ["", "static", "bool", "ix86_expand_vec_one_operand_perm_avx512", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "d", "->", "op0", ")", ";", "machine_mode", "maskmode", "=", "mode", ";", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", "=", "NULL", ";", "rtx", "target", ",", "op0", ",", "mask", ";", "rtx", "vec", "[", "64", "]", ";", "if", "(", "!", "rtx_equal_p", "(", "d", "->", "op0", ",", "d", "->", "op1", ")", ")", "return", "false", ";", "if", "(", "!", "TARGET_AVX512F", ")", "return", "false", ";", "switch", "(", "mode", ")", "{", "case", "V16SImode", ":", "gen", "=", "gen_avx512f_permvarv16si", ";", "break", ";", "case", "V16SFmode", ":", "gen", "=", "gen_avx512f_permvarv16sf", ";", "maskmode", "=", "V16SImode", ";", "break", ";", "case", "V8DImode", ":", "gen", "=", "gen_avx512f_permvarv8di", ";", "break", ";", "case", "V8DFmode", ":", "gen", "=", "gen_avx512f_permvarv8df", ";", "maskmode", "=", "V8DImode", ";", "break", ";", "default", ":", "return", "false", ";", "}", "target", "=", "d", "->", "target", ";", "op0", "=", "d", "->", "op0", ";", "for", "(", "int", "i", "=", "0", ";", "i", "<", "d", "->", "nelt", ";", "++", "i", ")", "vec", "[", "i", "]", "=", "GEN_INT", "(", "d", "->", "perm", "[", "i", "]", ")", ";", "mask", "=", "gen_rtx_CONST_VECTOR", "(", "maskmode", ",", "gen_rtvec_v", "(", "d", "->", "nelt", ",", "vec", ")", ")", ";", "emit_insn", "(", "gen", "(", "target", ",", "op0", ",", "force_reg", "(", "maskmode", ",", "mask", ")", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Try", "to", "expand", "one-operand", "permutation", "with", "constant", "mask", "."], "TS_V_token": ["i386", "64", "0"], "File": "i3866", "Func": "ix86_expand_vec_one_operand_perm_avx512", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38633, "Length": 213}
{"ground_truth": ["", "bool", "ix86_force_load_from_GOT_p", "(", "rtx", "x", ")", "{", "return", "(", "(", "TARGET_64BIT", "||", "HAVE_AS_IX86_GOT32X", ")", "&&", "!", "TARGET_PECOFF", "&&", "!", "TARGET_MACHO", "&&", "!", "flag_plt", "&&", "!", "flag_pic", "&&", "ix86_cmodel", "!=", "CM_LARGE", "&&", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_FUNCTION_P", "(", "x", ")", "&&", "!", "SYMBOL_REF_LOCAL_P", "(", "x", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "function", "symbol", "operand", "X", "should", "be", "loaded", "from", "GOT", ".", "NB", ":", "In", "32-bit", "mode", ",", "only", "non-PIC", "is", "allowed", "in", "inline", "assembly", "statements", ",", "since", "a", "PIC", "register", "could", "not", "be", "available", "at", "the", "call", "site", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_force_load_from_GOT_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38634, "Length": 51}
{"ground_truth": ["", "static", "rtx", "ix86_function_arg", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "omode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "machine_mode", "mode", "=", "omode", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "rtx", "arg", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "{", "gcc_assert", "(", "type", "!=", "NULL_TREE", ")", ";", "if", "(", "POINTER_TYPE_P", "(", "type", ")", ")", "{", "gcc_assert", "(", "TYPE_MODE", "(", "type", ")", "==", "Pmode", ")", ";", "if", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_INTERRUPT", ")", "arg", "=", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "UNITS_PER_WORD", ")", ";", "else", "arg", "=", "arg_pointer_rtx", ";", "}", "else", "{", "gcc_assert", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "&&", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", "&&", "TYPE_MODE", "(", "type", ")", "==", "word_mode", ")", ";", "arg", "=", "gen_rtx_MEM", "(", "word_mode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "UNITS_PER_WORD", ")", ")", ";", "}", "return", "arg", ";", "}", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "cum", "->", "bnds_in_bt", ")", "arg", "=", "NULL", ";", "else", "if", "(", "cum", "->", "bnd_regno", "<=", "LAST_BND_REG", ")", "arg", "=", "gen_rtx_REG", "(", "BNDmode", ",", "cum", "->", "bnd_regno", ")", ";", "else", "arg", "=", "GEN_INT", "(", "cum", "->", "bnd_regno", "-", "LAST_BND_REG", "-", "1", ")", ";", "return", "arg", ";", "}", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "type", "&&", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "cum", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "arg", "=", "function_arg_ms_64", "(", "cum", ",", "mode", ",", "omode", ",", "named", ",", "bytes", ")", ";", "else", "arg", "=", "function_arg_64", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "named", ")", ";", "}", "else", "arg", "=", "function_arg_32", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "bytes", ",", "words", ")", ";", "return", "arg", ";", "}", ""], "natrual_language": ["Return", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Return", "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", ".", "It", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "gives", "information", "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": ["i386", "1"], "File": "i3866", "Func": "ix86_function_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38635, "Length": 351}
{"ground_truth": ["", "static", "void", "ix86_function_arg_advance", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "int", "nregs", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "return", ";", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "type", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "NULL", ",", "false", ")", ";", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "cum", "->", "bnds_in_bt", ")", "{", "cum", "->", "bnds_in_bt", "--", ";", "return", ";", "}", "if", "(", "cum", "->", "force_bnd_pass", ")", "cum", "->", "force_bnd_pass", "--", ";", "cum", "->", "bnd_regno", "++", ";", "return", ";", "}", "cum", "->", "bnds_in_bt", "=", "0", ";", "if", "(", "cum", "->", "force_bnd_pass", ")", "{", "cum", "->", "bnd_regno", "+=", "cum", "->", "force_bnd_pass", ";", "cum", "->", "force_bnd_pass", "=", "0", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "nregs", "=", "function_arg_advance_ms_64", "(", "cum", ",", "bytes", ",", "words", ")", ";", "else", "nregs", "=", "function_arg_advance_64", "(", "cum", ",", "mode", ",", "type", ",", "words", ",", "named", ")", ";", "}", "else", "nregs", "=", "function_arg_advance_32", "(", "cum", ",", "mode", ",", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "cum", "->", "stdarg", ")", "cum", "->", "force_bnd_pass", "=", "nregs", ";", "if", "(", "!", "nregs", ")", "cum", "->", "bnds_in_bt", "=", "chkp_type_bounds_count", "(", "type", ")", ";", "}", ""], "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": ["i386", "0", "0"], "File": "i3866", "Func": "ix86_function_arg_advance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38636, "Length": 269}
{"ground_truth": ["", "static", "bool", "ix86_function_ok_for_sibcall", "(", "tree", "decl", ",", "tree", "exp", ")", "{", "tree", "type", ",", "decl_or_type", ";", "rtx", "a", ",", "b", ";", "bool", "bind_global", "=", "decl", "&&", "!", "targetm", ".", "binds_local_p", "(", "decl", ")", ";", "if", "(", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "return", "false", ";", "if", "(", "!", "TARGET_MACHO", "&&", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "flag_plt", "&&", "bind_global", ")", "return", "false", ";", "if", "(", "ix86_minimum_incoming_stack_boundary", "(", "true", ")", "<", "PREFERRED_STACK_BOUNDARY", ")", "return", "false", ";", "if", "(", "decl", ")", "{", "decl_or_type", "=", "decl", ";", "type", "=", "TREE_TYPE", "(", "decl", ")", ";", "}", "else", "{", "type", "=", "CALL_EXPR_FN", "(", "exp", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "decl_or_type", "=", "type", ";", "}", "a", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "exp", ")", ",", "decl_or_type", ",", "false", ")", ";", "b", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ",", "cfun", "->", "decl", ",", "false", ")", ";", "if", "(", "STACK_REG_P", "(", "a", ")", "||", "STACK_REG_P", "(", "b", ")", ")", "{", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "}", "else", "if", "(", "VOID_TYPE_P", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ")", ")", ";", "else", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", "&&", "ix86_function_type_abi", "(", "type", ")", "==", "SYSV_ABI", ")", "return", "false", ";", "}", "else", "{", "if", "(", "!", "decl", "||", "(", "bind_global", "&&", "flag_pic", "&&", "!", "flag_plt", ")", "||", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "DECL_DLLIMPORT_P", "(", "decl", ")", ")", ")", "{", "if", "(", "ix86_function_regparm", "(", "type", ",", "NULL", ")", ">=", "3", "&&", "!", "cfun", "->", "machine", "->", "arg_reg_available", ")", "return", "false", ";", "}", "}", "return", "true", ";", "}", ""], "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": ["i386", "3"], "File": "i3866", "Func": "ix86_function_ok_for_sibcall", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38637, "Length": 291}
{"ground_truth": ["", "static", "int", "ix86_function_regparm", "(", "const_tree", "type", ",", "const_tree", "decl", ")", "{", "tree", "attr", ";", "int", "regparm", ";", "unsigned", "int", "ccvt", ";", "if", "(", "TARGET_64BIT", ")", "return", "(", "ix86_function_type_abi", "(", "type", ")", "==", "SYSV_ABI", "?", "X86_64_REGPARM_MAX", ":", "X86_64_MS_REGPARM_MAX", ")", ";", "ccvt", "=", "ix86_get_callcvt", "(", "type", ")", ";", "regparm", "=", "ix86_regparm", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_REGPARM", ")", "!=", "0", ")", "{", "attr", "=", "lookup_attribute", "(", "\"regparm\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ";", "if", "(", "attr", ")", "{", "regparm", "=", "TREE_INT_CST_LOW", "(", "TREE_VALUE", "(", "TREE_VALUE", "(", "attr", ")", ")", ")", ";", "return", "regparm", ";", "}", "}", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "return", "2", ";", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_THISCALL", ")", "!=", "0", ")", "return", "1", ";", "if", "(", "decl", "&&", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "{", "cgraph_node", "*", "target", "=", "cgraph_node", "::", "get", "(", "decl", ")", ";", "if", "(", "target", ")", "target", "=", "target", "->", "function_symbol", "(", ")", ";", "if", "(", "target", "&&", "opt_for_fn", "(", "target", "->", "decl", ",", "optimize", ")", "&&", "!", "(", "profile_flag", "&&", "!", "flag_fentry", ")", ")", "{", "cgraph_local_info", "*", "i", "=", "&", "target", "->", "local", ";", "if", "(", "i", "&&", "i", "->", "local", "&&", "i", "->", "can_change_signature", ")", "{", "int", "local_regparm", ",", "globals", "=", "0", ",", "regno", ";", "for", "(", "local_regparm", "=", "0", ";", "local_regparm", "<", "REGPARM_MAX", ";", "local_regparm", "++", ")", "if", "(", "fixed_regs", "[", "local_regparm", "]", ")", "break", ";", "if", "(", "local_regparm", "==", "3", "&&", "DECL_STATIC_CHAIN", "(", "target", "->", "decl", ")", ")", "local_regparm", "=", "2", ";", "if", "(", "flag_split_stack", ")", "{", "if", "(", "local_regparm", "==", "3", ")", "local_regparm", "=", "2", ";", "else", "if", "(", "local_regparm", "==", "2", "&&", "DECL_STATIC_CHAIN", "(", "target", "->", "decl", ")", ")", "local_regparm", "=", "1", ";", "}", "for", "(", "regno", "=", "AX_REG", ";", "regno", "<=", "DI_REG", ";", "regno", "++", ")", "if", "(", "fixed_regs", "[", "regno", "]", ")", "globals", "++", ";", "local_regparm", "=", "globals", "<", "local_regparm", "?", "local_regparm", "-", "globals", ":", "0", ";", "if", "(", "local_regparm", ">", "regparm", ")", "regparm", "=", "local_regparm", ";", "}", "}", "}", "return", "regparm", ";", "}", ""], "natrual_language": ["Return", "the", "regparm", "value", "for", "a", "function", "with", "the", "indicated", "TYPE", "and", "DECL", ".", "DECL", "may", "be", "NULL", "when", "calling", "function", "indirectly", "or", "considering", "a", "libcall", "."], "TS_V_token": ["i386", "0", "\"regparm\"", "0", "2", "0", "1", "0", "0", "3", "2", "3", "2", "2", "1", "0"], "File": "i3866", "Func": "ix86_function_regparm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38638, "Length": 337}
{"ground_truth": ["", "static", "void", "ix86_function_specific_print", "(", "FILE", "*", "file", ",", "int", "indent", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "char", "*", "target_string", "=", "ix86_target_string", "(", "ptr", "->", "x_ix86_isa_flags", ",", "ptr", "->", "x_ix86_isa_flags2", ",", "ptr", "->", "x_target_flags", ",", "ptr", "->", "x_ix86_target_flags", ",", "NULL", ",", "NULL", ",", "ptr", "->", "x_ix86_fpmath", ",", "false", ")", ";", "gcc_assert", "(", "ptr", "->", "arch", "<", "PROCESSOR_max", ")", ";", "fprintf", "(", "file", ",", "\"%*sarch = %d (%s)\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "arch", ",", "processor_target_table", "[", "ptr", "->", "arch", "]", ".", "name", ")", ";", "gcc_assert", "(", "ptr", "->", "tune", "<", "PROCESSOR_max", ")", ";", "fprintf", "(", "file", ",", "\"%*stune = %d (%s)\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "tune", ",", "processor_target_table", "[", "ptr", "->", "tune", "]", ".", "name", ")", ";", "fprintf", "(", "file", ",", "\"%*sbranch_cost = %d\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "branch_cost", ")", ";", "if", "(", "target_string", ")", "{", "fprintf", "(", "file", ",", "\"%*s%s\\n\"", ",", "indent", ",", "\"\"", ",", "target_string", ")", ";", "free", "(", "target_string", ")", ";", "}", "}", ""], "natrual_language": ["Print", "the", "current", "options"], "TS_V_token": ["i386", "\"%*sarch = %d (%s)\\n\"", "\"\"", "\"%*stune = %d (%s)\\n\"", "\"\"", "\"%*sbranch_cost = %d\\n\"", "\"\"", "\"%*s%s\\n\"", "\"\""], "File": "i3866", "Func": "ix86_function_specific_print", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38639, "Length": 156}
{"ground_truth": ["", "static", "void", "ix86_function_specific_restore", "(", "struct", "gcc_options", "*", "opts", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "enum", "processor_type", "old_tune", "=", "ix86_tune", ";", "enum", "processor_type", "old_arch", "=", "ix86_arch", ";", "unsigned", "int", "ix86_arch_mask", ";", "int", "i", ";", "opts", "->", "x_flag_pic", "=", "flag_pic", ";", "ix86_arch", "=", "(", "enum", "processor_type", ")", "ptr", "->", "arch", ";", "ix86_schedule", "=", "(", "enum", "attr_cpu", ")", "ptr", "->", "schedule", ";", "ix86_tune", "=", "(", "enum", "processor_type", ")", "ptr", "->", "tune", ";", "x86_prefetch_sse", "=", "ptr", "->", "prefetch_sse", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "branch_cost", ";", "ix86_tune_defaulted", "=", "ptr", "->", "tune_defaulted", ";", "ix86_arch_specified", "=", "ptr", "->", "arch_specified", ";", "opts", "->", "x_ix86_isa_flags_explicit", "=", "ptr", "->", "x_ix86_isa_flags_explicit", ";", "opts", "->", "x_ix86_isa_flags2_explicit", "=", "ptr", "->", "x_ix86_isa_flags2_explicit", ";", "opts", "->", "x_recip_mask_explicit", "=", "ptr", "->", "x_recip_mask_explicit", ";", "opts", "->", "x_ix86_arch_string", "=", "ptr", "->", "x_ix86_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "ptr", "->", "x_ix86_tune_string", ";", "opts", "->", "x_ix86_cmodel", "=", "ptr", "->", "x_ix86_cmodel", ";", "opts", "->", "x_ix86_abi", "=", "ptr", "->", "x_ix86_abi", ";", "opts", "->", "x_ix86_asm_dialect", "=", "ptr", "->", "x_ix86_asm_dialect", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "x_ix86_branch_cost", ";", "opts", "->", "x_ix86_dump_tunes", "=", "ptr", "->", "x_ix86_dump_tunes", ";", "opts", "->", "x_ix86_force_align_arg_pointer", "=", "ptr", "->", "x_ix86_force_align_arg_pointer", ";", "opts", "->", "x_ix86_force_drap", "=", "ptr", "->", "x_ix86_force_drap", ";", "opts", "->", "x_ix86_incoming_stack_boundary_arg", "=", "ptr", "->", "x_ix86_incoming_stack_boundary_arg", ";", "opts", "->", "x_ix86_pmode", "=", "ptr", "->", "x_ix86_pmode", ";", "opts", "->", "x_ix86_preferred_stack_boundary_arg", "=", "ptr", "->", "x_ix86_preferred_stack_boundary_arg", ";", "opts", "->", "x_ix86_recip_name", "=", "ptr", "->", "x_ix86_recip_name", ";", "opts", "->", "x_ix86_regparm", "=", "ptr", "->", "x_ix86_regparm", ";", "opts", "->", "x_ix86_section_threshold", "=", "ptr", "->", "x_ix86_section_threshold", ";", "opts", "->", "x_ix86_sse2avx", "=", "ptr", "->", "x_ix86_sse2avx", ";", "opts", "->", "x_ix86_stack_protector_guard", "=", "ptr", "->", "x_ix86_stack_protector_guard", ";", "opts", "->", "x_ix86_stringop_alg", "=", "ptr", "->", "x_ix86_stringop_alg", ";", "opts", "->", "x_ix86_tls_dialect", "=", "ptr", "->", "x_ix86_tls_dialect", ";", "opts", "->", "x_ix86_tune_ctrl_string", "=", "ptr", "->", "x_ix86_tune_ctrl_string", ";", "opts", "->", "x_ix86_tune_memcpy_strategy", "=", "ptr", "->", "x_ix86_tune_memcpy_strategy", ";", "opts", "->", "x_ix86_tune_memset_strategy", "=", "ptr", "->", "x_ix86_tune_memset_strategy", ";", "opts", "->", "x_ix86_tune_no_default", "=", "ptr", "->", "x_ix86_tune_no_default", ";", "opts", "->", "x_ix86_veclibabi_type", "=", "ptr", "->", "x_ix86_veclibabi_type", ";", "ix86_tune_cost", "=", "processor_target_table", "[", "ix86_tune", "]", ".", "cost", ";", "if", "(", "opts", "->", "x_optimize_size", ")", "ix86_cost", "=", "&", "ix86_size_cost", ";", "else", "ix86_cost", "=", "ix86_tune_cost", ";", "if", "(", "old_arch", "!=", "ix86_arch", ")", "{", "ix86_arch_mask", "=", "1u", "<<", "ix86_arch", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_ARCH_LAST", ";", "++", "i", ")", "ix86_arch_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_arch_features", "[", "i", "]", "&", "ix86_arch_mask", ")", ";", "}", "if", "(", "old_tune", "!=", "ix86_tune", ")", "set_ix86_tune_features", "(", "ix86_tune", ",", "false", ")", ";", "}", ""], "natrual_language": ["Restore", "the", "current", "options"], "TS_V_token": ["i386", "1u", "0"], "File": "i3866", "Func": "ix86_function_specific_restore", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38640, "Length": 394}
{"ground_truth": ["", "static", "void", "ix86_function_specific_save", "(", "struct", "cl_target_option", "*", "ptr", ",", "struct", "gcc_options", "*", "opts", ")", "{", "ptr", "->", "arch", "=", "ix86_arch", ";", "ptr", "->", "schedule", "=", "ix86_schedule", ";", "ptr", "->", "prefetch_sse", "=", "x86_prefetch_sse", ";", "ptr", "->", "tune", "=", "ix86_tune", ";", "ptr", "->", "branch_cost", "=", "ix86_branch_cost", ";", "ptr", "->", "tune_defaulted", "=", "ix86_tune_defaulted", ";", "ptr", "->", "arch_specified", "=", "ix86_arch_specified", ";", "ptr", "->", "x_ix86_isa_flags_explicit", "=", "opts", "->", "x_ix86_isa_flags_explicit", ";", "ptr", "->", "x_ix86_isa_flags2_explicit", "=", "opts", "->", "x_ix86_isa_flags2_explicit", ";", "ptr", "->", "x_recip_mask_explicit", "=", "opts", "->", "x_recip_mask_explicit", ";", "ptr", "->", "x_ix86_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "ptr", "->", "x_ix86_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "ptr", "->", "x_ix86_cmodel", "=", "opts", "->", "x_ix86_cmodel", ";", "ptr", "->", "x_ix86_abi", "=", "opts", "->", "x_ix86_abi", ";", "ptr", "->", "x_ix86_asm_dialect", "=", "opts", "->", "x_ix86_asm_dialect", ";", "ptr", "->", "x_ix86_branch_cost", "=", "opts", "->", "x_ix86_branch_cost", ";", "ptr", "->", "x_ix86_dump_tunes", "=", "opts", "->", "x_ix86_dump_tunes", ";", "ptr", "->", "x_ix86_force_align_arg_pointer", "=", "opts", "->", "x_ix86_force_align_arg_pointer", ";", "ptr", "->", "x_ix86_force_drap", "=", "opts", "->", "x_ix86_force_drap", ";", "ptr", "->", "x_ix86_incoming_stack_boundary_arg", "=", "opts", "->", "x_ix86_incoming_stack_boundary_arg", ";", "ptr", "->", "x_ix86_pmode", "=", "opts", "->", "x_ix86_pmode", ";", "ptr", "->", "x_ix86_preferred_stack_boundary_arg", "=", "opts", "->", "x_ix86_preferred_stack_boundary_arg", ";", "ptr", "->", "x_ix86_recip_name", "=", "opts", "->", "x_ix86_recip_name", ";", "ptr", "->", "x_ix86_regparm", "=", "opts", "->", "x_ix86_regparm", ";", "ptr", "->", "x_ix86_section_threshold", "=", "opts", "->", "x_ix86_section_threshold", ";", "ptr", "->", "x_ix86_sse2avx", "=", "opts", "->", "x_ix86_sse2avx", ";", "ptr", "->", "x_ix86_stack_protector_guard", "=", "opts", "->", "x_ix86_stack_protector_guard", ";", "ptr", "->", "x_ix86_stringop_alg", "=", "opts", "->", "x_ix86_stringop_alg", ";", "ptr", "->", "x_ix86_tls_dialect", "=", "opts", "->", "x_ix86_tls_dialect", ";", "ptr", "->", "x_ix86_tune_ctrl_string", "=", "opts", "->", "x_ix86_tune_ctrl_string", ";", "ptr", "->", "x_ix86_tune_memcpy_strategy", "=", "opts", "->", "x_ix86_tune_memcpy_strategy", ";", "ptr", "->", "x_ix86_tune_memset_strategy", "=", "opts", "->", "x_ix86_tune_memset_strategy", ";", "ptr", "->", "x_ix86_tune_no_default", "=", "opts", "->", "x_ix86_tune_no_default", ";", "ptr", "->", "x_ix86_veclibabi_type", "=", "opts", "->", "x_ix86_veclibabi_type", ";", "gcc_assert", "(", "ptr", "->", "arch", "==", "ix86_arch", ")", ";", "gcc_assert", "(", "ptr", "->", "schedule", "==", "ix86_schedule", ")", ";", "gcc_assert", "(", "ptr", "->", "tune", "==", "ix86_tune", ")", ";", "gcc_assert", "(", "ptr", "->", "branch_cost", "==", "ix86_branch_cost", ")", ";", "}", ""], "natrual_language": ["Save", "the", "current", "options"], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_function_specific_save", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38641, "Length": 310}
{"ground_truth": ["", "bool", "ix86_gimple_fold_builtin", "(", "gimple_stmt_iterator", "*", "gsi", ")", "{", "gimple", "*", "stmt", "=", "gsi_stmt", "(", "*", "gsi", ")", ";", "tree", "fndecl", "=", "gimple_call_fndecl", "(", "stmt", ")", ";", "gcc_checking_assert", "(", "fndecl", "&&", "DECL_BUILT_IN_CLASS", "(", "fndecl", ")", "==", "BUILT_IN_MD", ")", ";", "int", "n_args", "=", "gimple_call_num_args", "(", "stmt", ")", ";", "enum", "ix86_builtins", "fn_code", "=", "(", "enum", "ix86_builtins", ")", "DECL_FUNCTION_CODE", "(", "fndecl", ")", ";", "tree", "decl", "=", "NULL_TREE", ";", "tree", "arg0", ",", "arg1", ";", "switch", "(", "fn_code", ")", "{", "case", "IX86_BUILTIN_TZCNT32", ":", "decl", "=", "builtin_decl_implicit", "(", "BUILT_IN_CTZ", ")", ";", "goto", "fold_tzcnt_lzcnt", ";", "case", "IX86_BUILTIN_TZCNT64", ":", "decl", "=", "builtin_decl_implicit", "(", "BUILT_IN_CTZLL", ")", ";", "goto", "fold_tzcnt_lzcnt", ";", "case", "IX86_BUILTIN_LZCNT32", ":", "decl", "=", "builtin_decl_implicit", "(", "BUILT_IN_CLZ", ")", ";", "goto", "fold_tzcnt_lzcnt", ";", "case", "IX86_BUILTIN_LZCNT64", ":", "decl", "=", "builtin_decl_implicit", "(", "BUILT_IN_CLZLL", ")", ";", "goto", "fold_tzcnt_lzcnt", ";", "fold_tzcnt_lzcnt", ":", "gcc_assert", "(", "n_args", "==", "1", ")", ";", "arg0", "=", "gimple_call_arg", "(", "stmt", ",", "0", ")", ";", "if", "(", "TREE_CODE", "(", "arg0", ")", "==", "SSA_NAME", "&&", "decl", "&&", "gimple_call_lhs", "(", "stmt", ")", ")", "{", "int", "prec", "=", "TYPE_PRECISION", "(", "TREE_TYPE", "(", "arg0", ")", ")", ";", "if", "(", "!", "expr_not_equal_to", "(", "arg0", ",", "wi", "::", "zero", "(", "prec", ")", ")", ")", "return", "false", ";", "location_t", "loc", "=", "gimple_location", "(", "stmt", ")", ";", "gimple", "*", "g", "=", "gimple_build_call", "(", "decl", ",", "1", ",", "arg0", ")", ";", "gimple_set_location", "(", "g", ",", "loc", ")", ";", "tree", "lhs", "=", "make_ssa_name", "(", "integer_type_node", ")", ";", "gimple_call_set_lhs", "(", "g", ",", "lhs", ")", ";", "gsi_insert_before", "(", "gsi", ",", "g", ",", "GSI_SAME_STMT", ")", ";", "g", "=", "gimple_build_assign", "(", "gimple_call_lhs", "(", "stmt", ")", ",", "NOP_EXPR", ",", "lhs", ")", ";", "gimple_set_location", "(", "g", ",", "loc", ")", ";", "gsi_replace", "(", "gsi", ",", "g", ",", "false", ")", ";", "return", "true", ";", "}", "break", ";", "case", "IX86_BUILTIN_BZHI32", ":", "case", "IX86_BUILTIN_BZHI64", ":", "gcc_assert", "(", "n_args", "==", "2", ")", ";", "arg1", "=", "gimple_call_arg", "(", "stmt", ",", "1", ")", ";", "if", "(", "tree_fits_uhwi_p", "(", "arg1", ")", "&&", "gimple_call_lhs", "(", "stmt", ")", ")", "{", "unsigned", "int", "idx", "=", "tree_to_uhwi", "(", "arg1", ")", "&", "0xff", ";", "arg0", "=", "gimple_call_arg", "(", "stmt", ",", "0", ")", ";", "if", "(", "idx", "<", "TYPE_PRECISION", "(", "TREE_TYPE", "(", "arg0", ")", ")", ")", "break", ";", "location_t", "loc", "=", "gimple_location", "(", "stmt", ")", ";", "gimple", "*", "g", "=", "gimple_build_assign", "(", "gimple_call_lhs", "(", "stmt", ")", ",", "arg0", ")", ";", "gimple_set_location", "(", "g", ",", "loc", ")", ";", "gsi_replace", "(", "gsi", ",", "g", ",", "false", ")", ";", "return", "true", ";", "}", "break", ";", "case", "IX86_BUILTIN_PDEP32", ":", "case", "IX86_BUILTIN_PDEP64", ":", "case", "IX86_BUILTIN_PEXT32", ":", "case", "IX86_BUILTIN_PEXT64", ":", "gcc_assert", "(", "n_args", "==", "2", ")", ";", "arg1", "=", "gimple_call_arg", "(", "stmt", ",", "1", ")", ";", "if", "(", "integer_all_onesp", "(", "arg1", ")", "&&", "gimple_call_lhs", "(", "stmt", ")", ")", "{", "location_t", "loc", "=", "gimple_location", "(", "stmt", ")", ";", "arg0", "=", "gimple_call_arg", "(", "stmt", ",", "0", ")", ";", "gimple", "*", "g", "=", "gimple_build_assign", "(", "gimple_call_lhs", "(", "stmt", ")", ",", "arg0", ")", ";", "gimple_set_location", "(", "g", ",", "loc", ")", ";", "gsi_replace", "(", "gsi", ",", "g", ",", "false", ")", ";", "return", "true", ";", "}", "break", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Fold", "a", "MD", "builtin", "(", "use", "ix86_fold_builtin", "for", "folding", "into", "constant", ")", "in", "GIMPLE", "."], "TS_V_token": ["i386", "1", "0", "1", "2", "1", "0xff", "0", "2", "1", "0"], "File": "i3866", "Func": "ix86_gimple_fold_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38642, "Length": 494}
{"ground_truth": ["", "bool", "ix86_hard_regno_mode_ok", "(", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "CC_REGNO_P", "(", "regno", ")", ")", "return", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_RANDOM", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_PARTIAL_INT", ")", "return", "false", ";", "if", "(", "STACK_REGNO_P", "(", "regno", ")", ")", "return", "VALID_FP_MODE_P", "(", "mode", ")", ";", "if", "(", "MASK_REGNO_P", "(", "regno", ")", ")", "return", "(", "VALID_MASK_REG_MODE", "(", "mode", ")", "||", "(", "TARGET_AVX512BW", "&&", "VALID_MASK_AVX512BW_MODE", "(", "mode", ")", ")", ")", ";", "if", "(", "BND_REGNO_P", "(", "regno", ")", ")", "return", "VALID_BND_REG_MODE", "(", "mode", ")", ";", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "TARGET_AVX512F", "&&", "(", "mode", "==", "XImode", "||", "VALID_AVX512F_REG_MODE", "(", "mode", ")", "||", "VALID_AVX512F_SCALAR_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_AVX5124FMAPS", "||", "TARGET_AVX5124VNNIW", ")", "&&", "MOD4_SSE_REGNO_P", "(", "regno", ")", "&&", "mode", "==", "V64SFmode", ")", "return", "true", ";", "if", "(", "(", "TARGET_AVX5124FMAPS", "||", "TARGET_AVX5124VNNIW", ")", "&&", "MOD4_SSE_REGNO_P", "(", "regno", ")", "&&", "mode", "==", "V64SImode", ")", "return", "true", ";", "if", "(", "TARGET_AVX512VL", "&&", "(", "mode", "==", "OImode", "||", "mode", "==", "TImode", "||", "VALID_AVX256_REG_MODE", "(", "mode", ")", "||", "VALID_AVX512VL_128_REG_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "EXT_REX_SSE_REGNO_P", "(", "regno", ")", ")", "return", "false", ";", "return", "(", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_OR_OI_MODE", "(", "mode", ")", ")", "||", "VALID_SSE_REG_MODE", "(", "mode", ")", "||", "VALID_SSE2_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "mode", "==", "QImode", ")", "{", "if", "(", "ANY_QI_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "return", "true", ";", "if", "(", "lra_in_progress", ")", "return", "true", ";", "return", "!", "can_create_pseudo_p", "(", ")", ";", "}", "else", "if", "(", "VALID_INT_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_FP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_DFP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_hard_regno_mode_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38643, "Length": 356}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_constant_p", "(", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "if", "(", "POINTER_BOUNDS_MODE_P", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "{", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", "return", "false", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "}", "if", "(", "TARGET_MACHO", "&&", "darwin_local_data_pic", "(", "x", ")", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOT", ":", "case", "UNSPEC_GOTOFF", ":", "case", "UNSPEC_PLTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "case", "UNSPEC_NTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "case", "UNSPEC_DTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_DYNAMIC", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "LABEL_REF", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "SYMBOL_REF", ")", "return", "false", ";", "case", "SYMBOL_REF", ":", "if", "(", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", ")", "return", "false", ";", "if", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "x", ")", ")", "return", "false", ";", "if", "(", "MACHO_DYNAMIC_NO_PIC_P", ")", "return", "machopic_symbol_defined_p", "(", "x", ")", ";", "if", "(", "ix86_force_load_from_GOT_p", "(", "x", ")", ")", "return", "false", ";", "break", ";", "CASE_CONST_SCALAR_INT", ":", "switch", "(", "mode", ")", "{", "case", "TImode", ":", "if", "(", "TARGET_64BIT", ")", "return", "true", ";", "case", "OImode", ":", "case", "XImode", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ",", "mode", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "break", ";", "case", "CONST_VECTOR", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ",", "mode", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Determine", "if", "a", "given", "RTX", "is", "a", "valid", "constant", ".", "We", "already", "know", "this", "satisfies", "CONSTANT_P", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "0", "0"], "File": "i3866", "Func": "ix86_legitimate_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38644, "Length": 333}
{"ground_truth": ["", "unsigned", "int", "ix86_local_alignment", "(", "tree", "exp", ",", "machine_mode", "mode", ",", "unsigned", "int", "align", ")", "{", "tree", "type", ",", "decl", ";", "if", "(", "exp", "&&", "DECL_P", "(", "exp", ")", ")", "{", "type", "=", "TREE_TYPE", "(", "exp", ")", ";", "decl", "=", "exp", ";", "}", "else", "{", "type", "=", "exp", ";", "decl", "=", "NULL", ";", "}", "if", "(", "!", "TARGET_64BIT", "&&", "align", "==", "64", "&&", "ix86_preferred_stack_boundary", "<", "64", "&&", "(", "mode", "==", "DImode", "||", "(", "type", "&&", "TYPE_MODE", "(", "type", ")", "==", "DImode", ")", ")", "&&", "(", "!", "type", "||", "!", "TYPE_USER_ALIGN", "(", "type", ")", ")", "&&", "(", "!", "decl", "||", "!", "DECL_USER_ALIGN", "(", "decl", ")", ")", ")", "align", "=", "32", ";", "if", "(", "!", "type", ")", "{", "if", "(", "mode", "==", "XFmode", "&&", "align", "<", "GET_MODE_ALIGNMENT", "(", "DFmode", ")", ")", "align", "=", "GET_MODE_ALIGNMENT", "(", "DFmode", ")", ";", "return", "align", ";", "}", "if", "(", "TARGET_IAMCU", ")", "return", "align", ";", "if", "(", "TARGET_64BIT", "&&", "optimize_function_for_speed_p", "(", "cfun", ")", "&&", "TARGET_SSE", ")", "{", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "(", "va_list_type_node", "==", "NULL_TREE", "||", "(", "TYPE_MAIN_VARIANT", "(", "type", ")", "!=", "TYPE_MAIN_VARIANT", "(", "va_list_type_node", ")", ")", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "geu_p", "(", "TYPE_SIZE", "(", "type", ")", ",", "128", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "||", "TYPE_MODE", "(", "type", ")", "==", "TCmode", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "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": ["i386", "64", "64", "32", "128", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i3866", "Func": "ix86_local_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38645, "Length": 456}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_max_noce_ifcvt_seq_cost", "(", "edge", "e", ")", "{", "bool", "predictable_p", "=", "predictable_edge_p", "(", "e", ")", ";", "enum", "compiler_param", "param", "=", "(", "predictable_p", "?", "PARAM_MAX_RTL_IF_CONVERSION_PREDICTABLE_COST", ":", "PARAM_MAX_RTL_IF_CONVERSION_UNPREDICTABLE_COST", ")", ";", "if", "(", "global_options_set", ".", "x_param_values", "[", "param", "]", ")", "return", "PARAM_VALUE", "(", "param", ")", ";", "else", "return", "BRANCH_COST", "(", "true", ",", "predictable_p", ")", "*", "COSTS_N_INSNS", "(", "2", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_MAX_NOCE_IFCVT_SEQ_COST", ".", "Like", "the", "default", "implementation", ",", "but", "returns", "a", "lower", "bound", "."], "TS_V_token": ["i386", "2"], "File": "i3866", "Func": "ix86_max_noce_ifcvt_seq_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38646, "Length": 59}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_minimum_incoming_stack_boundary", "(", "bool", "sibcall", ")", "{", "unsigned", "int", "incoming_stack_boundary", ";", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "incoming_stack_boundary", "=", "TARGET_64BIT", "?", "128", ":", "MIN_STACK_BOUNDARY", ";", "else", "if", "(", "ix86_user_incoming_stack_boundary", ")", "incoming_stack_boundary", "=", "ix86_user_incoming_stack_boundary", ";", "else", "if", "(", "!", "sibcall", "&&", "ix86_force_align_arg_pointer", "&&", "crtl", "->", "stack_alignment_estimated", "==", "128", ")", "incoming_stack_boundary", "=", "MIN_STACK_BOUNDARY", ";", "else", "incoming_stack_boundary", "=", "ix86_default_incoming_stack_boundary", ";", "if", "(", "incoming_stack_boundary", ">", "MIN_STACK_BOUNDARY", "&&", "lookup_attribute", "(", "ix86_force_align_arg_pointer_string", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ")", ")", "incoming_stack_boundary", "=", "MIN_STACK_BOUNDARY", ";", "if", "(", "incoming_stack_boundary", "<", "crtl", "->", "parm_stack_boundary", ")", "incoming_stack_boundary", "=", "crtl", "->", "parm_stack_boundary", ";", "if", "(", "incoming_stack_boundary", ">", "MAIN_STACK_BOUNDARY", "&&", "DECL_NAME", "(", "current_function_decl", ")", "&&", "MAIN_NAME_P", "(", "DECL_NAME", "(", "current_function_decl", ")", ")", "&&", "DECL_FILE_SCOPE_P", "(", "current_function_decl", ")", ")", "incoming_stack_boundary", "=", "MAIN_STACK_BOUNDARY", ";", "return", "incoming_stack_boundary", ";", "}", ""], "natrual_language": ["Return", "minimum", "incoming", "stack", "alignment", "."], "TS_V_token": ["i386", "128", "128"], "File": "i3866", "Func": "ix86_minimum_incoming_stack_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38647, "Length": 132}
{"ground_truth": ["", "static", "int", "ix86_mode_after", "(", "int", "entity", ",", "int", "mode", ",", "rtx_insn", "*", "insn", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "mode", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_after", "(", "mode", ",", "insn", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "return", "mode", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "mode", "that", "an", "insn", "results", "in", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_mode_after", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38648, "Length": 60}
{"ground_truth": ["", "static", "int", "ix86_mode_entry", "(", "int", "entity", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "ix86_dirflag_mode_entry", "(", ")", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_entry", "(", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "return", "I387_CW_ANY", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "mode", "that", "ENTITY", "is", "assumed", "to", "be", "switched", "to", "at", "function", "entry", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_mode_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38649, "Length": 52}
{"ground_truth": ["", "static", "int", "ix86_mode_exit", "(", "int", "entity", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "X86_DIRFLAG_ANY", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_exit", "(", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "return", "I387_CW_ANY", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "mode", "that", "ENTITY", "is", "assumed", "to", "be", "switched", "to", "at", "function", "exit", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_mode_exit", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38650, "Length": 50}
{"ground_truth": ["", "static", "int", "ix86_mode_needed", "(", "int", "entity", ",", "rtx_insn", "*", "insn", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "ix86_dirflag_mode_needed", "(", "insn", ")", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_needed", "(", "insn", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "case", "I387_MASK_PM", ":", "return", "ix86_i387_mode_needed", "(", "entity", ",", "insn", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "0"], "File": "i3866", "Func": "ix86_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38651, "Length": 66}
{"ground_truth": ["", "static", "bool", "ix86_noce_conversion_profitable_p", "(", "rtx_insn", "*", "seq", ",", "struct", "noce_if_info", "*", "if_info", ")", "{", "if", "(", "TARGET_ONE_IF_CONV_INSN", "&&", "if_info", "->", "speed_p", ")", "{", "int", "cmov_cnt", "=", "0", ";", "for", "(", "rtx_insn", "*", "insn", "=", "seq", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "rtx", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "set", ")", "continue", ";", "if", "(", "GET_CODE", "(", "SET_SRC", "(", "set", ")", ")", "!=", "IF_THEN_ELSE", ")", "continue", ";", "rtx", "src", "=", "SET_SRC", "(", "set", ")", ";", "enum", "machine_mode", "mode", "=", "GET_MODE", "(", "src", ")", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "!=", "MODE_INT", "&&", "GET_MODE_CLASS", "(", "mode", ")", "!=", "MODE_FLOAT", ")", "continue", ";", "if", "(", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "||", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "2", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "2", ")", ")", ")", ")", "continue", ";", "if", "(", "++", "cmov_cnt", ">", "1", ")", "return", "false", ";", "}", "}", "return", "default_noce_conversion_profitable_p", "(", "seq", ",", "if_info", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "SEQ", "is", "a", "good", "candidate", "as", "a", "replacement", "for", "the", "if-convertible", "sequence", "described", "in", "IF_INFO", "."], "TS_V_token": ["i386", "0", "1", "1", "2", "2", "1"], "File": "i3866", "Func": "ix86_noce_conversion_profitable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38652, "Length": 183}
{"ground_truth": ["", "static", "void", "ix86_option_override", "(", "void", ")", "{", "ix86_option_override_internal", "(", "true", ",", "&", "global_options", ",", "&", "global_options_set", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTION_OVERRIDE", "hook", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_option_override", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38653, "Length": 19}
{"ground_truth": ["", "const", "char", "*", "ix86_output_call_insn", "(", "rtx_insn", "*", "insn", ",", "rtx", "call_op", ")", "{", "bool", "direct_p", "=", "constant_call_address_operand", "(", "call_op", ",", "VOIDmode", ")", ";", "bool", "seh_nop_p", "=", "false", ";", "const", "char", "*", "xasm", ";", "if", "(", "SIBLING_CALL_P", "(", "insn", ")", ")", "{", "if", "(", "direct_p", ")", "{", "if", "(", "ix86_nopic_noplt_attribute_p", "(", "call_op", ")", ")", "{", "if", "(", "TARGET_64BIT", ")", "xasm", "=", "\"%!jmp\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "else", "xasm", "=", "\"%!jmp\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "}", "else", "xasm", "=", "\"%!jmp\\t%P0\"", ";", "}", "else", "if", "(", "TARGET_SEH", ")", "xasm", "=", "\"%!rex.W jmp\\t%A0\"", ";", "else", "xasm", "=", "\"%!jmp\\t%A0\"", ";", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "return", "\"\"", ";", "}", "if", "(", "TARGET_SEH", ")", "{", "rtx_insn", "*", "i", ";", "for", "(", "i", "=", "NEXT_INSN", "(", "insn", ")", ";", "i", ";", "i", "=", "NEXT_INSN", "(", "i", ")", ")", "{", "if", "(", "INSN_P", "(", "i", ")", ")", "break", ";", "if", "(", "NOTE_P", "(", "i", ")", "&&", "NOTE_KIND", "(", "i", ")", "==", "NOTE_INSN_EPILOGUE_BEG", "&&", "!", "flag_non_call_exceptions", "&&", "!", "can_throw_internal", "(", "insn", ")", ")", "{", "seh_nop_p", "=", "true", ";", "break", ";", "}", "}", "if", "(", "i", "==", "NULL", ")", "seh_nop_p", "=", "true", ";", "}", "if", "(", "direct_p", ")", "{", "if", "(", "ix86_nopic_noplt_attribute_p", "(", "call_op", ")", ")", "{", "if", "(", "TARGET_64BIT", ")", "xasm", "=", "\"%!call\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "else", "xasm", "=", "\"%!call\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "}", "else", "xasm", "=", "\"%!call\\t%P0\"", ";", "}", "else", "xasm", "=", "\"%!call\\t%A0\"", ";", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "if", "(", "seh_nop_p", ")", "return", "\"nop\"", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "the", "assembly", "for", "a", "call", "instruction", "."], "TS_V_token": ["i386", "\"%!jmp\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"%!jmp\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!jmp\\t%P0\"", "\"%!rex.W jmp\\t%A0\"", "\"%!jmp\\t%A0\"", "\"\"", "\"%!call\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"%!call\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!call\\t%P0\"", "\"%!call\\t%A0\"", "\"nop\"", "\"\""], "File": "i3866", "Func": "ix86_output_call_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38654, "Length": 237}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_output_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_SSE_MATH", ")", "return", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "?", "ALL_SSE_REGS", ":", "NO_REGS", ";", "if", "(", "IS_STACK_MODE", "(", "mode", ")", ")", "{", "if", "(", "regclass", "==", "FP_TOP_SSE_REGS", ")", "return", "FP_TOP_REG", ";", "else", "if", "(", "regclass", "==", "FP_SECOND_SSE_REGS", ")", "return", "FP_SECOND_REG", ";", "else", "return", "FLOAT_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "}", "return", "regclass", ";", "}", ""], "natrual_language": ["Discourage", "putting", "floating-point", "values", "in", "SSE", "registers", "unless", "SSE", "math", "is", "being", "used", ",", "and", "likewise", "for", "the", "387", "registers", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_preferred_output_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38655, "Length": 88}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "regclass", "==", "NO_REGS", ")", "return", "NO_REGS", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "mode", ")", ")", "return", "regclass", ";", "if", "(", "CONSTANT_P", "(", "x", ")", "&&", "(", "MAYBE_MMX_CLASS_P", "(", "regclass", ")", "||", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "||", "MAYBE_MASK_CLASS_P", "(", "regclass", ")", ")", ")", "return", "NO_REGS", ";", "if", "(", "CONST_DOUBLE_P", "(", "x", ")", ")", "{", "if", "(", "INTEGER_CLASS_P", "(", "regclass", ")", ")", "return", "regclass", ";", "if", "(", "IS_STACK_MODE", "(", "mode", ")", "&&", "standard_80387_constant_p", "(", "x", ")", ">", "0", ")", "{", "if", "(", "FLOAT_CLASS_P", "(", "regclass", ")", ")", "return", "FLOAT_REGS", ";", "else", "if", "(", "regclass", "==", "FP_TOP_SSE_REGS", ")", "return", "FP_TOP_REG", ";", "else", "if", "(", "regclass", "==", "FP_SECOND_SSE_REGS", ")", "return", "FP_SECOND_REG", ";", "}", "return", "NO_REGS", ";", "}", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_SSE_MATH", ")", "return", "SSE_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "return", "INTEGER_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "GET_MODE", "(", "x", ")", "==", "QImode", "&&", "!", "CONSTANT_P", "(", "x", ")", ")", "{", "if", "(", "Q_CLASS_P", "(", "regclass", ")", ")", "return", "regclass", ";", "else", "if", "(", "reg_class_subset_p", "(", "Q_REGS", ",", "regclass", ")", ")", "return", "Q_REGS", ";", "else", "return", "NO_REGS", ";", "}", "return", "regclass", ";", "}", ""], "natrual_language": ["Put", "float", "CONST_DOUBLE", "in", "the", "constant", "pool", "instead", "of", "fp", "regs", ".", "QImode", "must", "go", "into", "class", "Q_REGS", ".", "Narrow", "ALL_REGS", "to", "GENERAL_REGS", ".", "This", "supports", "allowing", "movsf", "and", "movdf", "to", "do", "mem-to-mem", "moves", "through", "integer", "regs", "."], "TS_V_token": ["i386", "0"], "File": "i3866", "Func": "ix86_preferred_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38656, "Length": 221}
{"ground_truth": ["", "static", "bool", "ix86_save_reg", "(", "unsigned", "int", "regno", ",", "bool", "maybe_eh_return", ")", "{", "if", "(", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "rtx", "reg", "=", "crtl", "->", "return_rtx", ";", "if", "(", "reg", ")", "{", "unsigned", "int", "i", "=", "REGNO", "(", "reg", ")", ";", "unsigned", "int", "nregs", "=", "hard_regno_nregs", "[", "i", "]", "[", "GET_MODE", "(", "reg", ")", "]", ";", "while", "(", "nregs", "--", ">", "0", ")", "if", "(", "(", "i", "+", "nregs", ")", "==", "regno", ")", "return", "false", ";", "reg", "=", "crtl", "->", "return_bnd", ";", "if", "(", "reg", ")", "{", "i", "=", "REGNO", "(", "reg", ")", ";", "nregs", "=", "hard_regno_nregs", "[", "i", "]", "[", "GET_MODE", "(", "reg", ")", "]", ";", "while", "(", "nregs", "--", ">", "0", ")", "if", "(", "(", "i", "+", "nregs", ")", "==", "regno", ")", "return", "false", ";", "}", "}", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "!", "STACK_REGNO_P", "(", "regno", ")", "&&", "!", "MMX_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", "if", "(", "regno", "==", "REAL_PIC_OFFSET_TABLE_REGNUM", "&&", "pic_offset_table_rtx", ")", "{", "if", "(", "ix86_use_pseudo_pic_reg", "(", ")", ")", "{", "if", "(", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "crtl", "->", "profile", ")", "return", "true", ";", "}", "else", "if", "(", "df_regs_ever_live_p", "(", "REAL_PIC_OFFSET_TABLE_REGNUM", ")", "||", "crtl", "->", "profile", "||", "crtl", "->", "calls_eh_return", "||", "crtl", "->", "uses_const_pool", "||", "cfun", "->", "has_nonlocal_label", ")", "return", "ix86_select_alt_pic_regnum", "(", ")", "==", "INVALID_REGNUM", ";", "}", "if", "(", "crtl", "->", "calls_eh_return", "&&", "maybe_eh_return", ")", "{", "unsigned", "i", ";", "for", "(", "i", "=", "0", ";", ";", "i", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "i", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "regno", ")", "return", "true", ";", "}", "}", "if", "(", "crtl", "->", "drap_reg", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", "&&", "!", "cfun", "->", "machine", "->", "no_drap_save_restore", ")", "return", "true", ";", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "call_used_regs", "[", "regno", "]", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "we", "need", "to", "save", "REGNO", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3866", "Func": "ix86_save_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38657, "Length": 334}
{"ground_truth": ["", "static", "void", "ix86_set_current_function", "(", "tree", "fndecl", ")", "{", "if", "(", "fndecl", "==", "ix86_previous_fndecl", ")", "{", "if", "(", "fndecl", "!=", "NULL_TREE", ")", "ix86_set_func_type", "(", "fndecl", ")", ";", "return", ";", "}", "tree", "old_tree", ";", "if", "(", "ix86_previous_fndecl", "==", "NULL_TREE", ")", "old_tree", "=", "target_option_current_node", ";", "else", "if", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ")", "old_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ";", "else", "old_tree", "=", "target_option_default_node", ";", "if", "(", "fndecl", "==", "NULL_TREE", ")", "{", "if", "(", "old_tree", "!=", "target_option_current_node", ")", "ix86_reset_previous_fndecl", "(", ")", ";", "return", ";", "}", "ix86_set_func_type", "(", "fndecl", ")", ";", "tree", "new_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", ";", "if", "(", "new_tree", "==", "NULL_TREE", ")", "new_tree", "=", "target_option_default_node", ";", "if", "(", "old_tree", "!=", "new_tree", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "}", "ix86_previous_fndecl", "=", "fndecl", ";", "static", "bool", "prev_no_caller_saved_registers", ";", "if", "(", "TARGET_64BIT", "&&", "(", "call_used_regs", "[", "SI_REG", "]", "==", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", ")", ")", ")", "reinit_regs", "(", ")", ";", "else", "if", "(", "prev_no_caller_saved_registers", "!=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "reinit_regs", "(", ")", ";", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", "||", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "const", "char", "*", "isa", ";", "if", "(", "TARGET_MPX", ")", "isa", "=", "\"MPX\"", ";", "else", "if", "(", "TARGET_SSE", ")", "isa", "=", "\"SSE\"", ";", "else", "if", "(", "TARGET_MMX", ")", "isa", "=", "\"MMX/3Dnow\"", ";", "else", "if", "(", "TARGET_80387", ")", "isa", "=", "\"80387\"", ";", "else", "isa", "=", "NULL", ";", "if", "(", "isa", "!=", "NULL", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "sorry", "(", "\"%s instructions aren't allowed in %s service routine\"", ",", "isa", ",", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "?", "\"exception\"", ":", "\"interrupt\"", ")", ")", ";", "else", "sorry", "(", "\"%s instructions aren't allowed in function with \"", "\"no_caller_saved_registers attribute\"", ",", "isa", ")", ";", "cfun", "->", "machine", "->", "func_type", "=", "TYPE_NORMAL", ";", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "false", ";", "}", "}", "prev_no_caller_saved_registers", "=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ";", "}", ""], "natrual_language": ["Establish", "appropriate", "back-end", "context", "for", "processing", "the", "function", "FNDECL", ".", "The", "argument", "might", "be", "NULL", "to", "indicate", "processing", "at", "top", "level", ",", "outside", "of", "any", "function", "scope", "."], "TS_V_token": ["i386", "\"MPX\"", "\"SSE\"", "\"MMX/3Dnow\"", "\"80387\"", "\"%s instructions aren't allowed in %s service routine\"", "\"exception\"", "\"interrupt\"", "\"%s instructions aren't allowed in function with \"", "\"no_caller_saved_registers attribute\""], "File": "i3866", "Func": "ix86_set_current_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38658, "Length": 346}
{"ground_truth": ["", "static", "void", "ix86_set_func_type", "(", "tree", "fndecl", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_UNKNOWN", ")", "{", "if", "(", "lookup_attribute", "(", "\"interrupt\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "fndecl", ")", ")", ")", ")", "{", "int", "nargs", "=", "0", ";", "for", "(", "tree", "arg", "=", "DECL_ARGUMENTS", "(", "fndecl", ")", ";", "arg", ";", "arg", "=", "TREE_CHAIN", "(", "arg", ")", ")", "nargs", "++", ";", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "true", ";", "cfun", "->", "machine", "->", "func_type", "=", "nargs", "==", "2", "?", "TYPE_EXCEPTION", ":", "TYPE_INTERRUPT", ";", "ix86_optimize_mode_switching", "[", "X86_DIRFLAG", "]", "=", "1", ";", "if", "(", "write_symbols", "!=", "NO_DEBUG", "&&", "write_symbols", "!=", "DWARF2_DEBUG", ")", "sorry", "(", "\"Only DWARF debug format is supported for interrupt \"", "\"service routine.\"", ")", ";", "}", "else", "{", "cfun", "->", "machine", "->", "func_type", "=", "TYPE_NORMAL", ";", "if", "(", "lookup_attribute", "(", "\"no_caller_saved_registers\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "fndecl", ")", ")", ")", ")", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "true", ";", "}", "}", "}", ""], "natrual_language": ["Set", "the", "func_type", "field", "from", "the", "function", "FNDECL", "."], "TS_V_token": ["i386", "\"interrupt\"", "0", "2", "1", "\"Only DWARF debug format is supported for interrupt \"", "\"service routine.\"", "\"no_caller_saved_registers\""], "File": "i3866", "Func": "ix86_set_func_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38659, "Length": 144}
{"ground_truth": ["", "void", "ix86_split_fp_branch", "(", "enum", "rtx_code", "code", ",", "rtx", "op1", ",", "rtx", "op2", ",", "rtx", "target1", ",", "rtx", "target2", ",", "rtx", "tmp", ")", "{", "rtx", "condition", ";", "rtx_insn", "*", "i", ";", "if", "(", "target2", "!=", "pc_rtx", ")", "{", "std", "::", "swap", "(", "target1", ",", "target2", ")", ";", "code", "=", "reverse_condition_maybe_unordered", "(", "code", ")", ";", "}", "condition", "=", "ix86_expand_fp_compare", "(", "code", ",", "op1", ",", "op2", ",", "tmp", ")", ";", "i", "=", "emit_jump_insn", "(", "gen_rtx_SET", "(", "pc_rtx", ",", "gen_rtx_IF_THEN_ELSE", "(", "VOIDmode", ",", "condition", ",", "target1", ",", "target2", ")", ")", ")", ";", "if", "(", "split_branch_probability", ">=", "0", ")", "add_int_reg_note", "(", "i", ",", "REG_BR_PROB", ",", "split_branch_probability", ")", ";", "}", ""], "natrual_language": ["Split", "branch", "based", "on", "floating", "point", "condition", "."], "TS_V_token": ["i386", "0"], "File": "i3866", "Func": "ix86_split_fp_branch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38660, "Length": 104}
{"ground_truth": ["", "static", "tree", "ix86_stack_protect_guard", "(", "void", ")", "{", "if", "(", "TARGET_SSP_TLS_GUARD", ")", "return", "NULL_TREE", ";", "return", "default_stack_protect_guard", "(", ")", ";", "}", ""], "natrual_language": ["If", "using", "TLS", "guards", ",", "do", "n't", "waste", "time", "creating", "and", "expanding", "__stack_chk_guard", "decl", "and", "MEM", "as", "we", "are", "going", "to", "ignore", "it", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "ix86_stack_protect_guard", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38661, "Length": 20}
{"ground_truth": ["", "tree", "ix86_valid_target_attribute_tree", "(", "tree", "args", ",", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", "opts_set", ")", "{", "const", "char", "*", "orig_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "const", "char", "*", "orig_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "enum", "fpmath_unit", "orig_fpmath_set", "=", "opts_set", "->", "x_ix86_fpmath", ";", "int", "orig_tune_defaulted", "=", "ix86_tune_defaulted", ";", "int", "orig_arch_specified", "=", "ix86_arch_specified", ";", "char", "*", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_MAX", "]", "=", "{", "NULL", ",", "NULL", "}", ";", "tree", "t", "=", "NULL_TREE", ";", "struct", "cl_target_option", "*", "def", "=", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ";", "struct", "gcc_options", "enum_opts_set", ";", "memset", "(", "&", "enum_opts_set", ",", "0", ",", "sizeof", "(", "enum_opts_set", ")", ")", ";", "if", "(", "!", "ix86_valid_target_attribute_inner_p", "(", "args", ",", "option_strings", ",", "opts", ",", "opts_set", ",", "&", "enum_opts_set", ")", ")", "return", "error_mark_node", ";", "if", "(", "opts", "->", "x_ix86_isa_flags", "!=", "def", "->", "x_ix86_isa_flags", "||", "opts", "->", "x_ix86_isa_flags2", "!=", "def", "->", "x_ix86_isa_flags2", "||", "opts", "->", "x_target_flags", "!=", "def", "->", "x_target_flags", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", "||", "enum_opts_set", ".", "x_ix86_fpmath", ")", "{", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", "{", "opts", "->", "x_ix86_arch_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", ";", "opts", "->", "x_ix86_isa_flags", "&=", "(", "OPTION_MASK_ISA_64BIT", "|", "OPTION_MASK_ABI_64", "|", "OPTION_MASK_ABI_X32", "|", "OPTION_MASK_CODE16", ")", ";", "opts", "->", "x_ix86_isa_flags2", "=", "0", ";", "}", "else", "if", "(", "!", "orig_arch_specified", ")", "opts", "->", "x_ix86_arch_string", "=", "NULL", ";", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", "opts", "->", "x_ix86_tune_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", ";", "else", "if", "(", "orig_tune_defaulted", ")", "opts", "->", "x_ix86_tune_string", "=", "NULL", ";", "if", "(", "enum_opts_set", ".", "x_ix86_fpmath", ")", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "else", "if", "(", "!", "TARGET_64BIT_P", "(", "opts", "->", "x_ix86_isa_flags", ")", "&&", "TARGET_SSE_P", "(", "opts", "->", "x_ix86_isa_flags", ")", ")", "{", "if", "(", "TARGET_80387_P", "(", "opts", "->", "x_target_flags", ")", ")", "opts", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "(", "FPMATH_SSE", "|", "FPMATH_387", ")", ";", "else", "opts", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "FPMATH_SSE", ";", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "}", "bool", "r", "=", "ix86_option_override_internal", "(", "false", ",", "opts", ",", "opts_set", ")", ";", "if", "(", "!", "r", ")", "{", "release_options_strings", "(", "option_strings", ")", ";", "return", "error_mark_node", ";", "}", "ix86_add_new_builtins", "(", "opts", "->", "x_ix86_isa_flags", ",", "opts", "->", "x_ix86_isa_flags2", ")", ";", "t", "=", "build_target_option_node", "(", "opts", ")", ";", "opts", "->", "x_ix86_arch_string", "=", "orig_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "orig_tune_string", ";", "opts_set", "->", "x_ix86_fpmath", "=", "orig_fpmath_set", ";", "release_options_strings", "(", "option_strings", ")", ";", "}", "return", "t", ";", "}", ""], "natrual_language": ["Return", "a", "TARGET_OPTION_NODE", "tree", "of", "the", "target", "options", "listed", "or", "NULL", "."], "TS_V_token": ["i386", "0", "0", "1", "1"], "File": "i3866", "Func": "ix86_valid_target_attribute_tree", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38662, "Length": 395}
{"ground_truth": ["", "static", "bool", "ix86_vector_duplicate_value", "(", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "val", ")", "{", "bool", "ok", ";", "rtx_insn", "*", "insn", ";", "rtx", "dup", ";", "dup", "=", "gen_rtx_VEC_DUPLICATE", "(", "mode", ",", "val", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "target", ",", "dup", ")", ")", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "{", "rtx_insn", "*", "seq", ";", "machine_mode", "innermode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "rtx", "reg", ";", "start_sequence", "(", ")", ";", "reg", "=", "force_reg", "(", "innermode", ",", "val", ")", ";", "if", "(", "GET_MODE", "(", "reg", ")", "!=", "innermode", ")", "reg", "=", "gen_lowpart", "(", "innermode", ",", "reg", ")", ";", "XEXP", "(", "dup", ",", "0", ")", "=", "reg", ";", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "if", "(", "seq", ")", "emit_insn_before", "(", "seq", ",", "insn", ")", ";", "ok", "=", "recog_memoized", "(", "insn", ")", ">=", "0", ";", "gcc_assert", "(", "ok", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init_duplicate", ".", "Tries", "to", "fill", "target", "with", "val", "via", "vec_duplicate", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3866", "Func": "ix86_vector_duplicate_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38663, "Length": 150}
{"ground_truth": ["", "void", "dimode_scalar_chain", "::", "make_vector_copies", "(", "unsigned", "regno", ")", "{", "rtx", "reg", "=", "regno_reg_rtx", "[", "regno", "]", ";", "rtx", "vreg", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "df_ref", "ref", ";", "for", "(", "ref", "=", "DF_REG_DEF_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "!", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "rtx_insn", "*", "insn", "=", "DF_REF_INSN", "(", "ref", ")", ";", "start_sequence", "(", ")", ";", "if", "(", "TARGET_SSE4_1", ")", "{", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse4_1_pinsrd", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ",", "GEN_INT", "(", "2", ")", ")", ")", ";", "}", "else", "if", "(", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ")", ";", "emit_insn", "(", "gen_vec_interleave_lowv4si", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ")", ")", ";", "}", "else", "{", "rtx", "tmp", "=", "assign_386_stack_local", "(", "DImode", ",", "SLOT_STV_TEMP", ")", ";", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ";", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "4", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ";", "emit_move_insn", "(", "vreg", ",", "tmp", ")", ";", "}", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "emit_conversion_insns", "(", "seq", ",", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Copied r%d to a vector register r%d for insn %d\\n\"", ",", "regno", ",", "REGNO", "(", "vreg", ")", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "}", "for", "(", "ref", "=", "DF_REG_USE_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "replace_with_subreg_in_insn", "(", "DF_REF_INSN", "(", "ref", ")", ",", "reg", ",", "vreg", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Replaced r%d with r%d in insn %d\\n\"", ",", "regno", ",", "REGNO", "(", "vreg", ")", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ";", "}", "}", ""], "natrual_language": ["Make", "vector", "copies", "for", "all", "register", "REGNO", "definitions", "and", "replace", "its", "uses", "in", "a", "chain", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "4", "2", "0", "0", "0", "4", "0", "0", "0", "0", "0", "4", "4", "\" Copied r%d to a vector register r%d for insn %d\\n\"", "\" Replaced r%d with r%d in insn %d\\n\""], "File": "i3866", "Func": "make_vector_copies", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38664, "Length": 425}
{"ground_truth": ["", "void", "dimode_scalar_chain", "::", "mark_dual_mode_def", "(", "df_ref", "def", ")", "{", "gcc_assert", "(", "DF_REF_REG_DEF_P", "(", "def", ")", ")", ";", "if", "(", "bitmap_bit_p", "(", "defs_conv", ",", "DF_REF_REGNO", "(", "def", ")", ")", ")", "return", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Mark r%d def in insn %d as requiring both modes in chain #%d\\n\"", ",", "DF_REF_REGNO", "(", "def", ")", ",", "DF_REF_INSN_UID", "(", "def", ")", ",", "chain_id", ")", ";", "bitmap_set_bit", "(", "defs_conv", ",", "DF_REF_REGNO", "(", "def", ")", ")", ";", "}", ""], "natrual_language": ["For", "DImode", "conversion", ",", "mark", "register", "defined", "by", "DEF", "as", "requiring", "conversion", "."], "TS_V_token": ["i386", "\" Mark r%d def in insn %d as requiring both modes in chain #%d\\n\""], "File": "i3866", "Func": "mark_dual_mode_def", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38665, "Length": 65}
{"ground_truth": ["", "int", "memory_address_length", "(", "rtx", "addr", ",", "bool", "lea", ")", "{", "struct", "ix86_address", "parts", ";", "rtx", "base", ",", "index", ",", "disp", ";", "int", "len", ";", "int", "ok", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PRE_DEC", "||", "GET_CODE", "(", "addr", ")", "==", "POST_INC", "||", "GET_CODE", "(", "addr", ")", "==", "PRE_MODIFY", "||", "GET_CODE", "(", "addr", ")", "==", "POST_MODIFY", ")", "return", "0", ";", "ok", "=", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "len", "=", "(", "parts", ".", "seg", "==", "ADDR_SPACE_GENERIC", ")", "?", "0", ":", "1", ";", "if", "(", "TARGET_64BIT", "&&", "!", "lea", "&&", "(", "SImode_address_operand", "(", "addr", ",", "VOIDmode", ")", "||", "(", "parts", ".", "base", "&&", "GET_MODE", "(", "parts", ".", "base", ")", "==", "SImode", ")", "||", "(", "parts", ".", "index", "&&", "GET_MODE", "(", "parts", ".", "index", ")", "==", "SImode", ")", ")", ")", "len", "++", ";", "base", "=", "parts", ".", "base", ";", "index", "=", "parts", ".", "index", ";", "disp", "=", "parts", ".", "disp", ";", "if", "(", "base", "&&", "SUBREG_P", "(", "base", ")", ")", "base", "=", "SUBREG_REG", "(", "base", ")", ";", "if", "(", "index", "&&", "SUBREG_P", "(", "index", ")", ")", "index", "=", "SUBREG_REG", "(", "index", ")", ";", "gcc_assert", "(", "base", "==", "NULL_RTX", "||", "REG_P", "(", "base", ")", ")", ";", "gcc_assert", "(", "index", "==", "NULL_RTX", "||", "REG_P", "(", "index", ")", ")", ";", "if", "(", "base", "&&", "!", "index", "&&", "!", "disp", ")", "{", "if", "(", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", "||", "REGNO", "(", "base", ")", "==", "SP_REG", "||", "REGNO", "(", "base", ")", "==", "BP_REG", "||", "REGNO", "(", "base", ")", "==", "R12_REG", "||", "REGNO", "(", "base", ")", "==", "R13_REG", ")", "len", "++", ";", "}", "else", "if", "(", "disp", "&&", "!", "base", "&&", "!", "index", ")", "{", "len", "+=", "4", ";", "if", "(", "!", "rip_relative_addr_p", "(", "&", "parts", ")", ")", "len", "++", ";", "}", "else", "{", "if", "(", "disp", ")", "{", "if", "(", "base", "&&", "satisfies_constraint_K", "(", "disp", ")", ")", "len", "+=", "1", ";", "else", "len", "+=", "4", ";", "}", "else", "if", "(", "base", "&&", "(", "REGNO", "(", "base", ")", "==", "BP_REG", "||", "REGNO", "(", "base", ")", "==", "R13_REG", ")", ")", "len", "++", ";", "if", "(", "index", "||", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", "||", "(", "base", "&&", "(", "REGNO", "(", "base", ")", "==", "SP_REG", "||", "REGNO", "(", "base", ")", "==", "R12_REG", ")", ")", ")", "len", "++", ";", "}", "return", "len", ";", "}", ""], "natrual_language": ["Calculate", "the", "length", "of", "the", "memory", "address", "in", "the", "instruction", "encoding", ".", "Does", "not", "include", "the", "one-byte", "modrm", ",", "opcode", ",", "or", "prefix", "."], "TS_V_token": ["i386", "0", "0", "1", "4", "1", "4"], "File": "i3866", "Func": "memory_address_length", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38666, "Length": 384}
{"ground_truth": ["", "const", "char", "*", "output_fp_compare", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ",", "bool", "eflags_p", ",", "bool", "unordered_p", ")", "{", "int", "stack_top_dies", ";", "rtx", "cmp_op0", ",", "cmp_op1", ";", "int", "is_sse", "=", "SSE_REG_P", "(", "operands", "[", "0", "]", ")", "||", "SSE_REG_P", "(", "operands", "[", "1", "]", ")", ";", "if", "(", "eflags_p", ")", "{", "cmp_op0", "=", "operands", "[", "0", "]", ";", "cmp_op1", "=", "operands", "[", "1", "]", ";", "}", "else", "{", "cmp_op0", "=", "operands", "[", "1", "]", ";", "cmp_op1", "=", "operands", "[", "2", "]", ";", "}", "if", "(", "is_sse", ")", "{", "if", "(", "GET_MODE", "(", "operands", "[", "0", "]", ")", "==", "SFmode", ")", "if", "(", "unordered_p", ")", "return", "\"%vucomiss\\t{%1, %0|%0, %1}\"", ";", "else", "return", "\"%vcomiss\\t{%1, %0|%0, %1}\"", ";", "else", "if", "(", "unordered_p", ")", "return", "\"%vucomisd\\t{%1, %0|%0, %1}\"", ";", "else", "return", "\"%vcomisd\\t{%1, %0|%0, %1}\"", ";", "}", "gcc_assert", "(", "STACK_TOP_P", "(", "cmp_op0", ")", ")", ";", "stack_top_dies", "=", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "FIRST_STACK_REG", ")", "!=", "0", ";", "if", "(", "cmp_op1", "==", "CONST0_RTX", "(", "GET_MODE", "(", "cmp_op1", ")", ")", ")", "{", "if", "(", "stack_top_dies", ")", "{", "output_asm_insn", "(", "\"ftst\\n\\tfnstsw\\t%0\"", ",", "operands", ")", ";", "return", "output_387_ffreep", "(", "operands", ",", "1", ")", ";", "}", "else", "return", "\"ftst\\n\\tfnstsw\\t%0\"", ";", "}", "if", "(", "STACK_REG_P", "(", "cmp_op1", ")", "&&", "stack_top_dies", "&&", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "REGNO", "(", "cmp_op1", ")", ")", "&&", "REGNO", "(", "cmp_op1", ")", "!=", "FIRST_STACK_REG", ")", "{", "if", "(", "eflags_p", ")", "{", "if", "(", "unordered_p", ")", "output_asm_insn", "(", "\"fucomip\\t{%y1, %0|%0, %y1}\"", ",", "operands", ")", ";", "else", "output_asm_insn", "(", "\"fcomip\\t{%y1, %0|%0, %y1}\"", ",", "operands", ")", ";", "return", "output_387_ffreep", "(", "operands", ",", "0", ")", ";", "}", "else", "{", "if", "(", "unordered_p", ")", "return", "\"fucompp\\n\\tfnstsw\\t%0\"", ";", "else", "return", "\"fcompp\\n\\tfnstsw\\t%0\"", ";", "}", "}", "else", "{", "static", "const", "char", "*", "const", "alt", "[", "16", "]", "=", "{", "\"fcom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fcomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fucom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"fucomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"ficom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "\"ficomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", ",", "NULL", ",", "NULL", ",", "\"fcomi\\t{%y1, %0|%0, %y1}\"", ",", "\"fcomip\\t{%y1, %0|%0, %y1}\"", ",", "\"fucomi\\t{%y1, %0|%0, %y1}\"", ",", "\"fucomip\\t{%y1, %0|%0, %y1}\"", ",", "NULL", ",", "NULL", ",", "NULL", ",", "NULL", "}", ";", "int", "mask", ";", "const", "char", "*", "ret", ";", "mask", "=", "eflags_p", "<<", "3", ";", "mask", "|=", "(", "GET_MODE_CLASS", "(", "GET_MODE", "(", "cmp_op1", ")", ")", "==", "MODE_INT", ")", "<<", "2", ";", "mask", "|=", "unordered_p", "<<", "1", ";", "mask", "|=", "stack_top_dies", ";", "gcc_assert", "(", "mask", "<", "16", ")", ";", "ret", "=", "alt", "[", "mask", "]", ";", "gcc_assert", "(", "ret", ")", ";", "return", "ret", ";", "}", "}", ""], "natrual_language": ["Output", "code", "for", "INSN", "to", "compare", "OPERANDS", ".", "EFLAGS_P", "is", "1", "when", "fcomi", "should", "be", "used", "and", "2", "when", "fnstsw", "should", "be", "used", ".", "UNORDERED_P", "is", "true", "when", "fucom", "should", "be", "used", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "1", "2", "0", "\"%vucomiss\\t{%1, %0|%0, %1}\"", "\"%vcomiss\\t{%1, %0|%0, %1}\"", "\"%vucomisd\\t{%1, %0|%0, %1}\"", "\"%vcomisd\\t{%1, %0|%0, %1}\"", "0", "\"ftst\\n\\tfnstsw\\t%0\"", "1", "\"ftst\\n\\tfnstsw\\t%0\"", "\"fucomip\\t{%y1, %0|%0, %y1}\"", "\"fcomip\\t{%y1, %0|%0, %y1}\"", "0", "\"fucompp\\n\\tfnstsw\\t%0\"", "\"fcompp\\n\\tfnstsw\\t%0\"", "16", "\"fcom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fcomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fucom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fucomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"ficom%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"ficomp%Z2\\t%y2\\n\\tfnstsw\\t%0\"", "\"fcomi\\t{%y1, %0|%0, %y1}\"", "\"fcomip\\t{%y1, %0|%0, %y1}\"", "\"fucomi\\t{%y1, %0|%0, %y1}\"", "\"fucomip\\t{%y1, %0|%0, %y1}\"", "3", "2", "1", "16"], "File": "i3866", "Func": "output_fp_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38667, "Length": 372}
{"ground_truth": ["", "static", "void", "predict_jump", "(", "int", "prob", ")", "{", "rtx_insn", "*", "insn", "=", "get_last_insn", "(", ")", ";", "gcc_assert", "(", "JUMP_P", "(", "insn", ")", ")", ";", "add_int_reg_note", "(", "insn", ",", "REG_BR_PROB", ",", "prob", ")", ";", "}", ""], "natrual_language": ["Predict", "just", "emitted", "jump", "instruction", "to", "be", "taken", "with", "probability", "PROB", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "predict_jump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38668, "Length": 34}
{"ground_truth": ["", "static", "void", "remove_non_convertible_regs", "(", "bitmap", "candidates", ")", "{", "if", "(", "TARGET_64BIT", ")", "timode_remove_non_convertible_regs", "(", "candidates", ")", ";", "else", "dimode_remove_non_convertible_regs", "(", "candidates", ")", ";", "}", ""], "natrual_language": ["For", "a", "given", "bitmap", "of", "insn", "UIDs", "scans", "all", "instruction", "and", "remove", "insn", "from", "CANDIDATES", "in", "case", "it", "has", "both", "convertible", "and", "not", "convertible", "definitions", ".", "All", "insns", "in", "a", "bitmap", "are", "conversion", "candidates", "according", "to", "scalar_to_vector_candidate_p", ".", "Currently", "it", "implies", "all", "insns", "are", "single_set", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "remove_non_convertible_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38669, "Length": 24}
{"ground_truth": ["", "rtx", "dimode_scalar_chain", "::", "replace_with_subreg", "(", "rtx", "x", ",", "rtx", "reg", ",", "rtx", "new_reg", ")", "{", "if", "(", "x", "==", "reg", ")", "return", "gen_rtx_SUBREG", "(", "V2DImode", ",", "new_reg", ",", "0", ")", ";", "const", "char", "*", "fmt", "=", "GET_RTX_FORMAT", "(", "GET_CODE", "(", "x", ")", ")", ";", "int", "i", ",", "j", ";", "for", "(", "i", "=", "GET_RTX_LENGTH", "(", "GET_CODE", "(", "x", ")", ")", "-", "1", ";", "i", ">=", "0", ";", "i", "--", ")", "{", "if", "(", "fmt", "[", "i", "]", "==", "'e'", ")", "XEXP", "(", "x", ",", "i", ")", "=", "replace_with_subreg", "(", "XEXP", "(", "x", ",", "i", ")", ",", "reg", ",", "new_reg", ")", ";", "else", "if", "(", "fmt", "[", "i", "]", "==", "'E'", ")", "for", "(", "j", "=", "XVECLEN", "(", "x", ",", "i", ")", "-", "1", ";", "j", ">=", "0", ";", "j", "--", ")", "XVECEXP", "(", "x", ",", "i", ",", "j", ")", "=", "replace_with_subreg", "(", "XVECEXP", "(", "x", ",", "i", ",", "j", ")", ",", "reg", ",", "new_reg", ")", ";", "}", "return", "x", ";", "}", ""], "natrual_language": ["Replace", "REG", "in", "X", "with", "a", "V2DI", "subreg", "of", "NEW_REG", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0"], "File": "i3866", "Func": "replace_with_subreg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38670, "Length": 161}
{"ground_truth": ["", "void", "dimode_scalar_chain", "::", "replace_with_subreg_in_insn", "(", "rtx_insn", "*", "insn", ",", "rtx", "reg", ",", "rtx", "new_reg", ")", "{", "replace_with_subreg", "(", "single_set", "(", "insn", ")", ",", "reg", ",", "new_reg", ")", ";", "}", ""], "natrual_language": ["Replace", "REG", "in", "INSN", "with", "a", "V2DI", "subreg", "of", "NEW_REG", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "replace_with_subreg_in_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38671, "Length": 29}
{"ground_truth": ["", "static", "bool", "scalar_to_vector_candidate_p", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "TARGET_64BIT", ")", "return", "timode_scalar_to_vector_candidate_p", "(", "insn", ")", ";", "else", "return", "dimode_scalar_to_vector_candidate_p", "(", "insn", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "INSN", "may", "be", "converted", "into", "vector", "instruction", "."], "TS_V_token": ["i386"], "File": "i3866", "Func": "scalar_to_vector_candidate_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38672, "Length": 27}
{"ground_truth": ["", "const", "char", "*", "standard_sse_constant_opcode", "(", "rtx_insn", "*", "insn", ",", "rtx", "x", ")", "{", "machine_mode", "mode", ";", "gcc_assert", "(", "TARGET_SSE", ")", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "x", "==", "const0_rtx", "||", "const0_operand", "(", "x", ",", "mode", ")", ")", "{", "switch", "(", "get_attr_mode", "(", "insn", ")", ")", "{", "case", "MODE_XI", ":", "return", "\"vpxord\\t%g0, %g0, %g0\"", ";", "case", "MODE_OI", ":", "return", "(", "TARGET_AVX512VL", "?", "\"vpxord\\t%x0, %x0, %x0\"", ":", "\"vpxor\\t%x0, %x0, %x0\"", ")", ";", "case", "MODE_TI", ":", "return", "(", "TARGET_AVX512VL", "?", "\"vpxord\\t%t0, %t0, %t0\"", ":", "\"%vpxor\\t%0, %d0\"", ")", ";", "case", "MODE_V8DF", ":", "return", "(", "TARGET_AVX512DQ", "?", "\"vxorpd\\t%g0, %g0, %g0\"", ":", "\"vpxorq\\t%g0, %g0, %g0\"", ")", ";", "case", "MODE_V4DF", ":", "return", "\"vxorpd\\t%x0, %x0, %x0\"", ";", "case", "MODE_V2DF", ":", "return", "\"%vxorpd\\t%0, %d0\"", ";", "case", "MODE_V16SF", ":", "return", "(", "TARGET_AVX512DQ", "?", "\"vxorps\\t%g0, %g0, %g0\"", ":", "\"vpxord\\t%g0, %g0, %g0\"", ")", ";", "case", "MODE_V8SF", ":", "return", "\"vxorps\\t%x0, %x0, %x0\"", ";", "case", "MODE_V4SF", ":", "return", "\"%vxorps\\t%0, %d0\"", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "if", "(", "x", "==", "constm1_rtx", "||", "vector_all_ones_operand", "(", "x", ",", "mode", ")", ")", "{", "enum", "attr_mode", "insn_mode", "=", "get_attr_mode", "(", "insn", ")", ";", "switch", "(", "insn_mode", ")", "{", "case", "MODE_XI", ":", "case", "MODE_V8DF", ":", "case", "MODE_V16SF", ":", "gcc_assert", "(", "TARGET_AVX512F", ")", ";", "return", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", ";", "case", "MODE_OI", ":", "case", "MODE_V4DF", ":", "case", "MODE_V8SF", ":", "gcc_assert", "(", "TARGET_AVX2", ")", ";", "case", "MODE_TI", ":", "case", "MODE_V2DF", ":", "case", "MODE_V4SF", ":", "gcc_assert", "(", "TARGET_SSE2", ")", ";", "return", "(", "TARGET_AVX", "?", "\"vpcmpeqd\\t%0, %0, %0\"", ":", "\"pcmpeqd\\t%0, %0\"", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "opcode", "of", "the", "special", "instruction", "to", "be", "used", "to", "load", "the", "constant", "X", "."], "TS_V_token": ["i386", "\"vpxord\\t%g0, %g0, %g0\"", "\"vpxord\\t%x0, %x0, %x0\"", "\"vpxor\\t%x0, %x0, %x0\"", "\"vpxord\\t%t0, %t0, %t0\"", "\"%vpxor\\t%0, %d0\"", "\"vxorpd\\t%g0, %g0, %g0\"", "\"vpxorq\\t%g0, %g0, %g0\"", "\"vxorpd\\t%x0, %x0, %x0\"", "\"%vxorpd\\t%0, %d0\"", "\"vxorps\\t%g0, %g0, %g0\"", "\"vpxord\\t%g0, %g0, %g0\"", "\"vxorps\\t%x0, %x0, %x0\"", "\"%vxorps\\t%0, %d0\"", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", "\"vpcmpeqd\\t%0, %0, %0\"", "\"pcmpeqd\\t%0, %0\""], "File": "i3866", "Func": "standard_sse_constant_opcode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38673, "Length": 232}
{"ground_truth": ["", "static", "machine_mode", "type_natural_mode", "(", "const_tree", "type", ",", "const", "CUMULATIVE_ARGS", "*", "cum", ",", "bool", "in_return", ")", "{", "machine_mode", "mode", "=", "TYPE_MODE", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "&&", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "HOST_WIDE_INT", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "(", "size", "==", "8", "||", "size", "==", "16", "||", "size", "==", "32", "||", "size", "==", "64", ")", "&&", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", ">", "1", ")", "{", "machine_mode", "innermode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ";", "if", "(", "innermode", "==", "XFmode", ")", "return", "mode", ";", "if", "(", "TREE_CODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "REAL_TYPE", ")", "mode", "=", "MIN_MODE_VECTOR_FLOAT", ";", "else", "mode", "=", "MIN_MODE_VECTOR_INT", ";", "for", "(", ";", "mode", "!=", "VOIDmode", ";", "mode", "=", "GET_MODE_WIDER_MODE", "(", "mode", ")", ")", "if", "(", "GET_MODE_NUNITS", "(", "mode", ")", "==", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", "&&", "GET_MODE_INNER", "(", "mode", ")", "==", "innermode", ")", "{", "if", "(", "size", "==", "64", "&&", "!", "TARGET_AVX512F", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedavx512f", ";", "static", "bool", "warnedavx512f_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_avx512f", "&&", "!", "warnedavx512f", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX512F vector argument \"", "\"without AVX512F enabled changes the ABI\"", ")", ")", "warnedavx512f", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedavx512f_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX512F vector return \"", "\"without AVX512F enabled changes the ABI\"", ")", ")", "warnedavx512f_ret", "=", "true", ";", "}", "return", "TYPE_MODE", "(", "type", ")", ";", "}", "else", "if", "(", "size", "==", "32", "&&", "!", "TARGET_AVX", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedavx", ";", "static", "bool", "warnedavx_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_avx", "&&", "!", "warnedavx", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX vector argument \"", "\"without AVX enabled changes the ABI\"", ")", ")", "warnedavx", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedavx_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX vector return \"", "\"without AVX enabled changes the ABI\"", ")", ")", "warnedavx_ret", "=", "true", ";", "}", "return", "TYPE_MODE", "(", "type", ")", ";", "}", "else", "if", "(", "(", "(", "size", "==", "8", "&&", "TARGET_64BIT", ")", "||", "size", "==", "16", ")", "&&", "!", "TARGET_SSE", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedsse", ";", "static", "bool", "warnedsse_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_sse", "&&", "!", "warnedsse", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"SSE vector argument \"", "\"without SSE enabled changes the ABI\"", ")", ")", "warnedsse", "=", "true", ";", "}", "else", "if", "(", "!", "TARGET_64BIT", "&&", "in_return", "&&", "!", "warnedsse_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"SSE vector return \"", "\"without SSE enabled changes the ABI\"", ")", ")", "warnedsse_ret", "=", "true", ";", "}", "}", "else", "if", "(", "(", "size", "==", "8", "&&", "!", "TARGET_64BIT", ")", "&&", "(", "!", "cfun", "||", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_NORMAL", ")", "&&", "!", "TARGET_MMX", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedmmx", ";", "static", "bool", "warnedmmx_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_mmx", "&&", "!", "warnedmmx", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"MMX vector argument \"", "\"without MMX enabled changes the ABI\"", ")", ")", "warnedmmx", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedmmx_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"MMX vector return \"", "\"without MMX enabled changes the ABI\"", ")", ")", "warnedmmx_ret", "=", "true", ";", "}", "}", "return", "mode", ";", "}", "gcc_unreachable", "(", ")", ";", "}", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Return", "the", "``", "natural", "''", "mode", "for", "TYPE", ".", "In", "most", "cases", ",", "this", "is", "just", "TYPE_MODE", ".", "But", "in", "the", "case", "of", "vector", "types", ",", "it", "is", "some", "vector", "mode", ".", "When", "we", "have", "only", "some", "of", "our", "vector", "isa", "extensions", "enabled", ",", "then", "there", "are", "some", "modes", "for", "which", "vector_mode_supported_p", "is", "false", ".", "For", "these", "modes", ",", "the", "generic", "vector", "support", "in", "gcc", "will", "choose", "some", "non-vector", "mode", "in", "order", "to", "implement", "the", "type", ".", "By", "computing", "the", "natural", "mode", ",", "we", "'ll", "select", "the", "proper", "ABI", "location", "for", "the", "operand", "and", "not", "depend", "on", "whatever", "the", "middle-end", "decides", "to", "do", "with", "these", "vector", "types", "."], "TS_V_token": ["i386", "8", "16", "32", "64", "1", "64", "\"AVX512F vector argument \"", "\"without AVX512F enabled changes the ABI\"", "\"AVX512F vector return \"", "\"without AVX512F enabled changes the ABI\"", "32", "\"AVX vector argument \"", "\"without AVX enabled changes the ABI\"", "\"AVX vector return \"", "\"without AVX enabled changes the ABI\"", "8", "16", "\"SSE vector argument \"", "\"without SSE enabled changes the ABI\"", "\"SSE vector return \"", "\"without SSE enabled changes the ABI\"", "8", "\"MMX vector argument \"", "\"without MMX enabled changes the ABI\"", "\"MMX vector return \"", "\"without MMX enabled changes the ABI\""], "File": "i3866", "Func": "type_natural_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38674, "Length": 503}
{"ground_truth": ["", "int", "dimode_scalar_chain", "::", "vector_const_cost", "(", "rtx", "exp", ")", "{", "gcc_assert", "(", "CONST_INT_P", "(", "exp", ")", ")", ";", "if", "(", "standard_sse_constant_p", "(", "exp", ",", "V2DImode", ")", ")", "return", "COSTS_N_INSNS", "(", "1", ")", ";", "return", "ix86_cost", "->", "sse_load", "[", "1", "]", ";", "}", ""], "natrual_language": ["Return", "a", "cost", "of", "building", "a", "vector", "costant", "instead", "of", "using", "a", "scalar", "one", "."], "TS_V_token": ["i386", "1", "1"], "File": "i3866", "Func": "vector_const_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38675, "Length": 41}
{"ground_truth": ["", "static", "unsigned", "int", "ATTRIBUTE_UNUSED", "x86_64_elf_section_type_flags", "(", "tree", "decl", ",", "const", "char", "*", "name", ",", "int", "reloc", ")", "{", "unsigned", "int", "flags", "=", "default_section_type_flags", "(", "decl", ",", "name", ",", "reloc", ")", ";", "if", "(", "ix86_in_large_data_p", "(", "decl", ")", ")", "flags", "|=", "SECTION_LARGE", ";", "if", "(", "decl", "==", "NULL_TREE", "&&", "(", "strcmp", "(", "name", ",", "\".ldata.rel.ro\"", ")", "==", "0", "||", "strcmp", "(", "name", ",", "\".ldata.rel.ro.local\"", ")", "==", "0", ")", ")", "flags", "|=", "SECTION_RELRO", ";", "if", "(", "strcmp", "(", "name", ",", "\".lbss\"", ")", "==", "0", "||", "strncmp", "(", "name", ",", "\".lbss.\"", ",", "5", ")", "==", "0", "||", "strncmp", "(", "name", ",", "\".gnu.linkonce.lb.\"", ",", "16", ")", "==", "0", ")", "flags", "|=", "SECTION_BSS", ";", "return", "flags", ";", "}", ""], "natrual_language": ["Select", "a", "set", "of", "attributes", "for", "section", "NAME", "based", "on", "the", "properties", "of", "DECL", "and", "whether", "or", "not", "RELOC", "indicates", "that", "DECL", "'s", "initializer", "might", "contain", "runtime", "relocations", "."], "TS_V_token": ["i386", "\".ldata.rel.ro\"", "0", "\".ldata.rel.ro.local\"", "0", "\".lbss\"", "0", "\".lbss.\"", "5", "0", "\".gnu.linkonce.lb.\"", "16", "0"], "File": "i3866", "Func": "x86_64_elf_section_type_flags", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38676, "Length": 113}
{"ground_truth": ["", "static", "void", "choose_basereg", "(", "HOST_WIDE_INT", "cfa_offset", ",", "rtx", "&", "base_reg", ",", "HOST_WIDE_INT", "&", "base_offset", ",", "unsigned", "int", "align_reqested", ",", "unsigned", "int", "*", "align", ")", "{", "const", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "unsigned", "int", "hfp_align", ";", "unsigned", "int", "drap_align", ";", "unsigned", "int", "sp_align", ";", "bool", "hfp_ok", "=", "fp_valid_at", "(", "cfa_offset", ")", ";", "bool", "drap_ok", "=", "m", "->", "fs", ".", "drap_valid", ";", "bool", "sp_ok", "=", "sp_valid_at", "(", "cfa_offset", ")", ";", "hfp_align", "=", "drap_align", "=", "sp_align", "=", "INCOMING_STACK_BOUNDARY", ";", "if", "(", "align_reqested", ")", "{", "if", "(", "m", "->", "fs", ".", "realigned", ")", "hfp_align", "=", "drap_align", "=", "sp_align", "=", "crtl", "->", "stack_alignment_needed", ";", "else", "if", "(", "m", "->", "fs", ".", "sp_realigned", ")", "sp_align", "=", "crtl", "->", "stack_alignment_needed", ";", "hfp_ok", "=", "hfp_ok", "&&", "hfp_align", ">=", "align_reqested", ";", "drap_ok", "=", "drap_ok", "&&", "drap_align", ">=", "align_reqested", ";", "sp_ok", "=", "sp_ok", "&&", "sp_align", ">=", "align_reqested", ";", "}", "if", "(", "m", "->", "use_fast_prologue_epilogue", ")", "{", "if", "(", "hfp_ok", ")", "{", "base_reg", "=", "hard_frame_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ";", "}", "else", "if", "(", "drap_ok", ")", "{", "base_reg", "=", "crtl", "->", "drap_reg", ";", "base_offset", "=", "0", "-", "cfa_offset", ";", "}", "else", "if", "(", "sp_ok", ")", "{", "base_reg", "=", "stack_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "sp_offset", "-", "cfa_offset", ";", "}", "}", "else", "{", "HOST_WIDE_INT", "toffset", ";", "int", "len", "=", "16", ",", "tlen", ";", "if", "(", "sp_ok", ")", "{", "base_reg", "=", "stack_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "sp_offset", "-", "cfa_offset", ";", "len", "=", "choose_baseaddr_len", "(", "STACK_POINTER_REGNUM", ",", "base_offset", ")", ";", "}", "if", "(", "drap_ok", ")", "{", "toffset", "=", "0", "-", "cfa_offset", ";", "tlen", "=", "choose_baseaddr_len", "(", "REGNO", "(", "crtl", "->", "drap_reg", ")", ",", "toffset", ")", ";", "if", "(", "tlen", "<=", "len", ")", "{", "base_reg", "=", "crtl", "->", "drap_reg", ";", "base_offset", "=", "toffset", ";", "len", "=", "tlen", ";", "}", "}", "if", "(", "hfp_ok", ")", "{", "toffset", "=", "m", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ";", "tlen", "=", "choose_baseaddr_len", "(", "HARD_FRAME_POINTER_REGNUM", ",", "toffset", ")", ";", "if", "(", "tlen", "<=", "len", ")", "{", "base_reg", "=", "hard_frame_pointer_rtx", ";", "base_offset", "=", "toffset", ";", "len", "=", "tlen", ";", "}", "}", "}", "if", "(", "align", ")", "{", "if", "(", "base_reg", "==", "stack_pointer_rtx", ")", "*", "align", "=", "sp_align", ";", "else", "if", "(", "base_reg", "==", "crtl", "->", "drap_reg", ")", "*", "align", "=", "drap_align", ";", "else", "if", "(", "base_reg", "==", "hard_frame_pointer_rtx", ")", "*", "align", "=", "hfp_align", ";", "}", "}", ""], "natrual_language": ["Choose", "a", "base", "register", "based", "upon", "alignment", "requested", ",", "speed", "and/or", "size", "."], "TS_V_token": ["i386", "0", "16", "0"], "File": "i3867", "Func": "choose_basereg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38677, "Length": 390}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "NULL_TREE", ";", "if", "(", "!", "(", "mask", "&", "OPTION_MASK_ISA_64BIT", ")", "||", "TARGET_64BIT", ")", "{", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa", "=", "mask", ";", "mask", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512VL", ")", "&&", "mask", "!=", "OPTION_MASK_ISA_AVX512VL", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512VL", ";", "if", "(", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512BW", ")", "&&", "mask", "!=", "OPTION_MASK_ISA_AVX512BW", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512BW", ";", "if", "(", "mask", "==", "0", "||", "(", "mask", "&", "ix86_isa_flags", ")", "!=", "0", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", "=", "ix86_get_builtin_func_type", "(", "tcode", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "false", ";", "}", "else", "{", "deferred_isa_values", "|=", "mask", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "tcode", "=", "tcode", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "name", "=", "name", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "leaf_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "nothrow_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "pure_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "true", ";", "}", "}", "return", "decl", ";", "}", ""], "natrual_language": ["Add", "a", "SPARC", "builtin", "function", "with", "NAME", ",", "ICODE", ",", "CODE", "and", "TYPE", ".", "Return", "the", "function", "decl", "or", "NULL_TREE", "if", "the", "builtin", "was", "not", "added", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3867", "Func": "def_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38678, "Length": 273}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin2", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa2", "=", "mask", ";", "if", "(", "mask", "==", "0", "||", "(", "mask", "&", "ix86_isa_flags2", ")", "!=", "0", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", "=", "ix86_get_builtin_func_type", "(", "tcode", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "false", ";", "}", "else", "{", "deferred_isa_values2", "|=", "mask", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "tcode", "=", "tcode", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "name", "=", "name", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "leaf_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "nothrow_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "pure_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "true", ";", "}", "return", "decl", ";", "}", ""], "natrual_language": ["Like", "def_builtin", ",", "but", "for", "additional", "isa2", "flags", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3867", "Func": "def_builtin2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38679, "Length": 217}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin_pure", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "def_builtin", "(", "mask", ",", "name", ",", "tcode", ",", "code", ")", ";", "if", "(", "decl", ")", "DECL_PURE_P", "(", "decl", ")", "=", "1", ";", "else", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "pure_p", "=", "true", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Like", "def_builtin", ",", "but", "also", "marks", "the", "function", "decl", "``", "pure", "''", "."], "TS_V_token": ["i386", "1"], "File": "i3867", "Func": "def_builtin_pure", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38680, "Length": 64}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin_pure2", "(", "HOST_WIDE_INT", "mask", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "def_builtin2", "(", "mask", ",", "name", ",", "tcode", ",", "code", ")", ";", "if", "(", "decl", ")", "DECL_PURE_P", "(", "decl", ")", "=", "1", ";", "else", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "pure_p", "=", "true", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Like", "def_builtin", ",", "but", "also", "marks", "the", "function", "decl", "``", "pure", "''", "."], "TS_V_token": ["i386", "1"], "File": "i3867", "Func": "def_builtin_pure2", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38681, "Length": 64}
{"ground_truth": ["", "static", "bool", "dimode_scalar_to_vector_candidate_p", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "def_set", ")", "return", "false", ";", "if", "(", "has_non_address_hard_reg", "(", "insn", ")", ")", "return", "false", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", "return", "convertible_comparison_p", "(", "insn", ")", ";", "if", "(", "(", "GET_MODE", "(", "src", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "src", ")", ")", "||", "GET_MODE", "(", "dst", ")", "!=", "DImode", ")", "return", "false", ";", "if", "(", "!", "REG_P", "(", "dst", ")", "&&", "!", "MEM_P", "(", "dst", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "case", "ASHIFTRT", ":", "if", "(", "!", "TARGET_AVX512VL", ")", "return", "false", ";", "case", "ASHIFT", ":", "case", "LSHIFTRT", ":", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "(", "!", "SUBREG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "SUBREG_BYTE", "(", "XEXP", "(", "src", ",", "1", ")", ")", "!=", "0", "||", "!", "REG_P", "(", "SUBREG_REG", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", ")", "&&", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "!", "IN_RANGE", "(", "INTVAL", "(", "XEXP", "(", "src", ",", "1", ")", ")", ",", "0", ",", "63", ")", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "1", ")", ")", "!=", "QImode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "break", ";", "case", "PLUS", ":", "case", "MINUS", ":", "case", "IOR", ":", "case", "XOR", ":", "case", "AND", ":", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "1", ")", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "break", ";", "case", "NEG", ":", "case", "NOT", ":", "break", ";", "case", "REG", ":", "return", "true", ";", "case", "MEM", ":", "case", "CONST_INT", ":", "return", "REG_P", "(", "dst", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "(", "GET_CODE", "(", "src", ")", "!=", "AND", "||", "GET_CODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "NOT", "||", "!", "REG_P", "(", "XEXP", "(", "XEXP", "(", "src", ",", "0", ")", ",", "0", ")", ")", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["The", "DImode", "version", "of", "scalar_to_vector_candidate_p", "."], "TS_V_token": ["i386", "1", "1", "1", "0", "1", "1", "1", "0", "63", "1", "1", "1", "1", "1", "1", "1", "0", "0", "0", "0", "0", "0", "0", "0"], "File": "i3867", "Func": "dimode_scalar_to_vector_candidate_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38682, "Length": 473}
{"ground_truth": ["", "static", "void", "expand_small_movmem_or_setmem", "(", "rtx", "destmem", ",", "rtx", "srcmem", ",", "rtx", "destptr", ",", "rtx", "srcptr", ",", "rtx", "value", ",", "rtx", "vec_value", ",", "rtx", "count", ",", "int", "size", ",", "rtx", "done_label", ",", "bool", "issetmem", ")", "{", "rtx_code_label", "*", "label", "=", "ix86_expand_aligntest", "(", "count", ",", "size", ",", "false", ")", ";", "machine_mode", "mode", "=", "int_mode_for_size", "(", "size", "*", "BITS_PER_UNIT", ",", "1", ")", ".", "else_blk", "(", ")", ";", "rtx", "modesize", ";", "int", "n", ";", "if", "(", "issetmem", ")", "{", "if", "(", "!", "vec_value", ")", "{", "if", "(", "GET_MODE", "(", "value", ")", "==", "VOIDmode", "&&", "size", ">", "8", ")", "mode", "=", "Pmode", ";", "else", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "GET_MODE_SIZE", "(", "GET_MODE", "(", "value", ")", ")", ")", "mode", "=", "GET_MODE", "(", "value", ")", ";", "}", "else", "mode", "=", "GET_MODE", "(", "vec_value", ")", ",", "value", "=", "vec_value", ";", "}", "else", "{", "if", "(", "size", ">=", "32", ")", "mode", "=", "TARGET_AVX", "?", "V32QImode", ":", "TARGET_SSE", "?", "V16QImode", ":", "DImode", ";", "else", "if", "(", "size", ">=", "16", ")", "mode", "=", "TARGET_SSE", "?", "V16QImode", ":", "DImode", ";", "srcmem", "=", "change_address", "(", "srcmem", ",", "mode", ",", "srcptr", ")", ";", "}", "destmem", "=", "change_address", "(", "destmem", ",", "mode", ",", "destptr", ")", ";", "modesize", "=", "GEN_INT", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "gcc_assert", "(", "GET_MODE_SIZE", "(", "mode", ")", "<=", "size", ")", ";", "for", "(", "n", "=", "0", ";", "n", "*", "GET_MODE_SIZE", "(", "mode", ")", "<", "size", ";", "n", "++", ")", "{", "if", "(", "issetmem", ")", "emit_move_insn", "(", "destmem", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "else", "{", "emit_move_insn", "(", "destmem", ",", "srcmem", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "count", ",", "1", ")", ";", "destmem", "=", "offset_address", "(", "destmem", ",", "GEN_INT", "(", "-", "2", "*", "size", ")", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "if", "(", "!", "issetmem", ")", "{", "srcmem", "=", "offset_address", "(", "srcmem", ",", "count", ",", "1", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "GEN_INT", "(", "-", "2", "*", "size", ")", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "for", "(", "n", "=", "0", ";", "n", "*", "GET_MODE_SIZE", "(", "mode", ")", "<", "size", ";", "n", "++", ")", "{", "if", "(", "issetmem", ")", "emit_move_insn", "(", "destmem", ",", "gen_lowpart", "(", "mode", ",", "value", ")", ")", ";", "else", "{", "emit_move_insn", "(", "destmem", ",", "srcmem", ")", ";", "srcmem", "=", "offset_address", "(", "srcmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "destmem", "=", "offset_address", "(", "destmem", ",", "modesize", ",", "GET_MODE_SIZE", "(", "mode", ")", ")", ";", "}", "emit_jump_insn", "(", "gen_jump", "(", "done_label", ")", ")", ";", "emit_barrier", "(", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_NUSES", "(", "label", ")", "=", "1", ";", "}", ""], "natrual_language": ["Test", "if", "COUNT", "&", "SIZE", "is", "nonzero", "and", "if", "so", ",", "expand", "movme", "or", "setmem", "sequence", "that", "is", "valid", "for", "SIZE", "..", "2", "*", "SIZE-1", "bytes", "and", "jump", "to", "DONE_LABEL", "."], "TS_V_token": ["i386", "1", "8", "32", "16", "0", "1", "2", "1", "2", "0", "1"], "File": "i3867", "Func": "expand_small_movmem_or_setmem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38683, "Length": 455}
{"ground_truth": ["", "const", "struct", "xlogue_layout", "&", "xlogue_layout", "::", "get_instance", "(", ")", "{", "enum", "xlogue_stub_sets", "stub_set", ";", "bool", "aligned_plus_8", "=", "cfun", "->", "machine", "->", "call_ms2sysv_pad_in", ";", "if", "(", "stack_realign_fp", ")", "stub_set", "=", "XLOGUE_SET_HFP_ALIGNED_OR_REALIGN", ";", "else", "if", "(", "frame_pointer_needed", ")", "stub_set", "=", "aligned_plus_8", "?", "XLOGUE_SET_HFP_ALIGNED_PLUS_8", ":", "XLOGUE_SET_HFP_ALIGNED_OR_REALIGN", ";", "else", "stub_set", "=", "aligned_plus_8", "?", "XLOGUE_SET_ALIGNED_PLUS_8", ":", "XLOGUE_SET_ALIGNED", ";", "return", "s_instances", "[", "stub_set", "]", ";", "}", ""], "natrual_language": ["Return", "an", "appropriate", "const", "instance", "of", "xlogue_layout", "based", "upon", "values", "in", "cfun-", ">", "machine", "and", "crtl", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "get_instance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38684, "Length": 60}
{"ground_truth": ["", "static", "inline", "machine_mode", "get_mode_wider_vector", "(", "machine_mode", "o", ")", "{", "machine_mode", "n", "=", "GET_MODE_WIDER_MODE", "(", "o", ")", ".", "require", "(", ")", ";", "gcc_assert", "(", "GET_MODE_NUNITS", "(", "o", ")", "==", "GET_MODE_NUNITS", "(", "n", ")", "*", "2", ")", ";", "gcc_assert", "(", "GET_MODE_SIZE", "(", "o", ")", "==", "GET_MODE_SIZE", "(", "n", ")", ")", ";", "return", "n", ";", "}", ""], "natrual_language": ["Get", "a", "vector", "mode", "of", "the", "same", "size", "as", "the", "original", "but", "with", "elements", "twice", "as", "wide", ".", "This", "is", "only", "guaranteed", "to", "apply", "to", "integral", "vectors", "."], "TS_V_token": ["i386", "2"], "File": "i3867", "Func": "get_mode_wider_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38685, "Length": 53}
{"ground_truth": ["", "static", "HOST_WIDE_INT", "get_probe_interval", "(", "void", ")", "{", "if", "(", "flag_stack_clash_protection", ")", "return", "(", "HOST_WIDE_INT_1U", "<<", "PARAM_VALUE", "(", "PARAM_STACK_CLASH_PROTECTION_PROBE_INTERVAL", ")", ")", ";", "else", "return", "(", "HOST_WIDE_INT_1U", "<<", "STACK_CHECK_PROBE_INTERVAL_EXP", ")", ";", "}", ""], "natrual_language": ["Return", "the", "probing", "interval", "for", "-fstack-clash-protection", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "get_probe_interval", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38686, "Length": 30}
{"ground_truth": ["", "static", "void", "indirect_thunk_name", "(", "char", "name", "[", "32", "]", ",", "unsigned", "int", "regno", ",", "enum", "indirect_thunk_prefix", "need_prefix", ",", "bool", "ret_p", ")", "{", "if", "(", "regno", "!=", "INVALID_REGNUM", "&&", "regno", "!=", "CX_REG", "&&", "ret_p", ")", "gcc_unreachable", "(", ")", ";", "if", "(", "USE_HIDDEN_LINKONCE", ")", "{", "const", "char", "*", "prefix", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "prefix", "=", "\"_bnd\"", ";", "else", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_nt", "&&", "regno", "!=", "INVALID_REGNUM", ")", "{", "prefix", "=", "\"_nt\"", ";", "}", "else", "prefix", "=", "\"\"", ";", "const", "char", "*", "ret", "=", "ret_p", "?", "\"return\"", ":", "\"indirect\"", ";", "if", "(", "regno", "!=", "INVALID_REGNUM", ")", "{", "const", "char", "*", "reg_prefix", ";", "if", "(", "LEGACY_INT_REGNO_P", "(", "regno", ")", ")", "reg_prefix", "=", "TARGET_64BIT", "?", "\"r\"", ":", "\"e\"", ";", "else", "reg_prefix", "=", "\"\"", ";", "sprintf", "(", "name", ",", "\"__x86_%s_thunk%s_%s%s\"", ",", "ret", ",", "prefix", ",", "reg_prefix", ",", "reg_names", "[", "regno", "]", ")", ";", "}", "else", "sprintf", "(", "name", ",", "\"__x86_%s_thunk%s\"", ",", "ret", ",", "prefix", ")", ";", "}", "else", "{", "if", "(", "regno", "!=", "INVALID_REGNUM", ")", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LITBR\"", ",", "regno", ")", ";", "else", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LITR\"", ",", "regno", ")", ";", "}", "else", "{", "if", "(", "ret_p", ")", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LRTB\"", ",", "0", ")", ";", "else", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LRT\"", ",", "0", ")", ";", "}", "else", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LITB\"", ",", "0", ")", ";", "else", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LIT\"", ",", "0", ")", ";", "}", "}", "}", "}", ""], "natrual_language": ["Fills", "in", "the", "label", "name", "that", "should", "be", "used", "for", "the", "indirect", "thunk", "."], "TS_V_token": ["i386", "32", "\"_bnd\"", "\"_nt\"", "\"\"", "\"return\"", "\"indirect\"", "\"r\"", "\"e\"", "\"\"", "\"__x86_%s_thunk%s_%s%s\"", "\"__x86_%s_thunk%s\"", "\"LITBR\"", "\"LITR\"", "\"LRTB\"", "0", "\"LRT\"", "0", "\"LITB\"", "0", "\"LIT\"", "0"], "File": "i3867", "Func": "indirect_thunk_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38687, "Length": 254}
{"ground_truth": ["", "enum", "indirect_thunk_prefix", "indirect_thunk_need_prefix", "(", "rtx_insn", "*", "insn", ")", "{", "enum", "indirect_thunk_prefix", "need_prefix", ";", "if", "(", "ix86_bnd_prefixed_insn_p", "(", "insn", ")", ")", "need_prefix", "=", "indirect_thunk_prefix_bnd", ";", "else", "if", "(", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk_extern", ")", "&&", "ix86_notrack_prefixed_insn_p", "(", "insn", ")", ")", "{", "need_prefix", "=", "indirect_thunk_prefix_nt", ";", "}", "else", "need_prefix", "=", "indirect_thunk_prefix_none", ";", "return", "need_prefix", ";", "}", ""], "natrual_language": ["Return", "the", "prefix", "needed", "for", "an", "indirect", "branch", "INSN", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "indirect_thunk_need_prefix", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38688, "Length": 57}
{"ground_truth": ["", "static", "inline", "bool", "inline_secondary_memory_needed", "(", "machine_mode", "mode", ",", "reg_class_t", "class1", ",", "reg_class_t", "class2", ",", "int", "strict", ")", "{", "if", "(", "lra_in_progress", "&&", "(", "class1", "==", "NO_REGS", "||", "class2", "==", "NO_REGS", ")", ")", "return", "false", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class1", ")", "||", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class1", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class2", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class1", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class2", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", "||", "MAYBE_MASK_CLASS_P", "(", "class1", ")", "!=", "MASK_CLASS_P", "(", "class1", ")", "||", "MAYBE_MASK_CLASS_P", "(", "class2", ")", "!=", "MASK_CLASS_P", "(", "class2", ")", ")", "{", "gcc_assert", "(", "!", "strict", "||", "lra_in_progress", ")", ";", "return", "true", ";", "}", "if", "(", "FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "(", "MASK_CLASS_P", "(", "class1", ")", "!=", "MASK_CLASS_P", "(", "class2", ")", ")", "&&", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", ")", "return", "true", ";", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "{", "if", "(", "!", "TARGET_SSE2", ")", "return", "true", ";", "if", "(", "(", "SSE_CLASS_P", "(", "class1", ")", "&&", "!", "TARGET_INTER_UNIT_MOVES_FROM_VEC", ")", "||", "(", "SSE_CLASS_P", "(", "class2", ")", "&&", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", ")", "return", "true", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["If", "we", "are", "copying", "between", "general", "and", "FP", "registers", ",", "we", "need", "a", "memory", "location", ".", "The", "same", "is", "true", "for", "SSE", "and", "MMX", "registers", ".", "To", "optimize", "register_move_cost", "performance", ",", "allow", "inline", "variant", ".", "The", "macro", "ca", "n't", "work", "reliably", "when", "one", "of", "the", "CLASSES", "is", "class", "containing", "registers", "from", "multiple", "units", "(", "SSE", ",", "MMX", ",", "integer", ")", ".", "We", "avoid", "this", "by", "never", "combining", "those", "units", "in", "single", "alternative", "in", "the", "machine", "description", ".", "Ensure", "that", "this", "constraint", "holds", "to", "avoid", "unexpected", "surprises", ".", "When", "STRICT", "is", "false", ",", "we", "are", "being", "called", "from", "REGISTER_MOVE_COST", ",", "so", "do", "not", "enforce", "these", "sanity", "checks", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "inline_secondary_memory_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38689, "Length": 249}
{"ground_truth": ["", "static", "void", "ix86_add_new_builtins", "(", "HOST_WIDE_INT", "isa", ",", "HOST_WIDE_INT", "isa2", ")", "{", "isa", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "(", "isa", "&", "deferred_isa_values", ")", "==", "0", "&&", "(", "isa2", "&", "deferred_isa_values2", ")", "==", "0", ")", "return", ";", "deferred_isa_values", "&=", "~", "isa", ";", "deferred_isa_values2", "&=", "~", "isa2", ";", "int", "i", ";", "tree", "saved_current_target_pragma", "=", "current_target_pragma", ";", "current_target_pragma", "=", "NULL_TREE", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "int", ")", "IX86_BUILTIN_MAX", ";", "i", "++", ")", "{", "if", "(", "(", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa", "&", "isa", ")", "!=", "0", "||", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa2", "&", "isa2", ")", "!=", "0", ")", "&&", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", ")", "{", "tree", "decl", ",", "type", ";", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", "=", "false", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ix86_builtins_isa", "[", "i", "]", ".", "tcode", ")", ";", "decl", "=", "add_builtin_function_ext_scope", "(", "ix86_builtins_isa", "[", "i", "]", ".", "name", ",", "type", ",", "i", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "i", "]", "=", "decl", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "const_p", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "pure_p", ")", "DECL_PURE_P", "(", "decl", ")", "=", "1", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "leaf_p", ")", "DECL_ATTRIBUTES", "(", "decl", ")", "=", "build_tree_list", "(", "get_identifier", "(", "\"leaf\"", ")", ",", "NULL_TREE", ")", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "nothrow_p", ")", "TREE_NOTHROW", "(", "decl", ")", "=", "1", ";", "}", "}", "current_target_pragma", "=", "saved_current_target_pragma", ";", "}", ""], "natrual_language": ["Add", "any", "new", "builtin", "functions", "for", "a", "given", "ISA", "that", "may", "not", "have", "been", "declared", ".", "This", "saves", "a", "bit", "of", "space", "compared", "to", "adding", "all", "of", "the", "declarations", "to", "the", "tree", ",", "even", "if", "we", "did", "n't", "use", "them", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "1", "1", "\"leaf\"", "1"], "File": "i3867", "Func": "ix86_add_new_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38690, "Length": 247}
{"ground_truth": ["", "static", "void", "ix86_autovectorize_vector_sizes", "(", "vector_sizes", "*", "sizes", ")", "{", "if", "(", "TARGET_AVX512F", "&&", "!", "TARGET_PREFER_AVX256", ")", "{", "sizes", "->", "safe_push", "(", "64", ")", ";", "sizes", "->", "safe_push", "(", "32", ")", ";", "sizes", "->", "safe_push", "(", "16", ")", ";", "}", "else", "if", "(", "TARGET_AVX", "&&", "!", "TARGET_PREFER_AVX128", ")", "{", "sizes", "->", "safe_push", "(", "32", ")", ";", "sizes", "->", "safe_push", "(", "16", ")", ";", "}", "}", ""], "natrual_language": ["If", "AVX", "is", "enabled", "then", "try", "vectorizing", "with", "both", "256bit", "and", "128bit", "vectors", ".", "If", "AVX512F", "is", "enabled", "then", "try", "vectorizing", "with", "512bit", ",", "256bit", "and", "128bit", "vectors", "."], "TS_V_token": ["i386", "64", "32", "16", "32", "16"], "File": "i3867", "Func": "ix86_autovectorize_vector_sizes", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38691, "Length": 64}
{"ground_truth": ["", "static", "void", "ix86_avoid_jump_mispredicts", "(", "void", ")", "{", "rtx_insn", "*", "insn", ",", "*", "start", "=", "get_insns", "(", ")", ";", "int", "nbytes", "=", "0", ",", "njumps", "=", "0", ";", "bool", "isjump", "=", "false", ";", "for", "(", "insn", "=", "start", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "int", "min_size", ";", "if", "(", "LABEL_P", "(", "insn", ")", ")", "{", "int", "align", "=", "label_to_alignment", "(", "insn", ")", ";", "int", "max_skip", "=", "label_to_max_skip", "(", "insn", ")", ";", "if", "(", "max_skip", ">", "15", ")", "max_skip", "=", "15", ";", "if", "(", "align", "<=", "0", "||", "(", "align", "<=", "3", "&&", "max_skip", "!=", "(", "1", "<<", "align", ")", "-", "1", ")", ")", "max_skip", "=", "0", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Label %i with max_skip %i\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "max_skip", ")", ";", "if", "(", "max_skip", ")", "{", "while", "(", "nbytes", "+", "max_skip", ">=", "16", ")", "{", "start", "=", "NEXT_INSN", "(", "start", ")", ";", "if", "(", "(", "JUMP_P", "(", "start", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "start", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "start", ")", ")", "njumps", "--", ",", "isjump", "=", "true", ";", "else", "isjump", "=", "false", ";", "nbytes", "-=", "ix86_min_insn_size", "(", "start", ")", ";", "}", "}", "continue", ";", "}", "min_size", "=", "ix86_min_insn_size", "(", "insn", ")", ";", "nbytes", "+=", "min_size", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Insn %i estimated to %i bytes\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "min_size", ")", ";", "if", "(", "(", "JUMP_P", "(", "insn", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "insn", ")", ")", "njumps", "++", ";", "else", "continue", ";", "while", "(", "njumps", ">", "3", ")", "{", "start", "=", "NEXT_INSN", "(", "start", ")", ";", "if", "(", "(", "JUMP_P", "(", "start", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "start", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "start", ")", ")", "njumps", "--", ",", "isjump", "=", "true", ";", "else", "isjump", "=", "false", ";", "nbytes", "-=", "ix86_min_insn_size", "(", "start", ")", ";", "}", "gcc_assert", "(", "njumps", ">=", "0", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Interval %i to %i has %i bytes\\n\"", ",", "INSN_UID", "(", "start", ")", ",", "INSN_UID", "(", "insn", ")", ",", "nbytes", ")", ";", "if", "(", "njumps", "==", "3", "&&", "isjump", "&&", "nbytes", "<", "16", ")", "{", "int", "padsize", "=", "15", "-", "nbytes", "+", "ix86_min_insn_size", "(", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Padding insn %i by %i bytes!\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "padsize", ")", ";", "emit_insn_before", "(", "gen_pad", "(", "GEN_INT", "(", "padsize", ")", ")", ",", "insn", ")", ";", "}", "}", "}", ""], "natrual_language": ["AMD", "K8", "core", "mispredicts", "jumps", "when", "there", "are", "more", "than", "3", "jumps", "in", "16", "byte", "window", "."], "TS_V_token": ["i386", "0", "0", "15", "15", "0", "3", "1", "1", "0", "\"Label %i with max_skip %i\\n\"", "16", "0", "\"Insn %i estimated to %i bytes\\n\"", "0", "3", "0", "0", "\"Interval %i to %i has %i bytes\\n\"", "3", "16", "15", "\"Padding insn %i by %i bytes!\\n\""], "File": "i3867", "Func": "ix86_avoid_jump_mispredicts", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38692, "Length": 404}
{"ground_truth": ["", "static", "int", "ix86_avx_u128_mode_after", "(", "int", "mode", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "vzeroupper_operation", "(", "pat", ",", "VOIDmode", ")", "||", "vzeroall_operation", "(", "pat", ",", "VOIDmode", ")", ")", "return", "AVX_U128_CLEAN", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "bool", "avx_upper_reg_found", "=", "false", ";", "note_stores", "(", "pat", ",", "ix86_check_avx_upper_stores", ",", "&", "avx_upper_reg_found", ")", ";", "return", "avx_upper_reg_found", "?", "AVX_U128_DIRTY", ":", "AVX_U128_CLEAN", ";", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Calculate", "mode", "of", "upper", "128bit", "AVX", "registers", "after", "the", "insn", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_avx_u128_mode_after", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38693, "Length": 74}
{"ground_truth": ["", "static", "int", "ix86_avx_u128_mode_needed", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "rtx", "link", ";", "for", "(", "link", "=", "CALL_INSN_FUNCTION_USAGE", "(", "insn", ")", ";", "link", ";", "link", "=", "XEXP", "(", "link", ",", "1", ")", ")", "{", "if", "(", "GET_CODE", "(", "XEXP", "(", "link", ",", "0", ")", ")", "==", "USE", ")", "{", "rtx", "arg", "=", "XEXP", "(", "XEXP", "(", "link", ",", "0", ")", ",", "0", ")", ";", "if", "(", "ix86_check_avx_upper_register", "(", "arg", ")", ")", "return", "AVX_U128_DIRTY", ";", "}", "}", "return", "AVX_U128_CLEAN", ";", "}", "subrtx_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "NONCONST", ")", "if", "(", "ix86_check_avx_upper_register", "(", "*", "iter", ")", ")", "return", "AVX_U128_DIRTY", ";", "return", "AVX_U128_ANY", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "1", "0", "0", "0"], "File": "i3867", "Func": "ix86_avx_u128_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38694, "Length": 120}
{"ground_truth": ["", "static", "int", "ix86_builtin_vectorization_cost", "(", "enum", "vect_cost_for_stmt", "type_of_cost", ",", "tree", "vectype", ",", "int", ")", "{", "bool", "fp", "=", "false", ";", "machine_mode", "mode", "=", "TImode", ";", "int", "index", ";", "if", "(", "vectype", "!=", "NULL", ")", "{", "fp", "=", "FLOAT_TYPE_P", "(", "vectype", ")", ";", "mode", "=", "TYPE_MODE", "(", "vectype", ")", ";", "}", "switch", "(", "type_of_cost", ")", "{", "case", "scalar_stmt", ":", "return", "fp", "?", "ix86_cost", "->", "addss", ":", "COSTS_N_INSNS", "(", "1", ")", ";", "case", "scalar_load", ":", "return", "COSTS_N_INSNS", "(", "fp", "?", "ix86_cost", "->", "sse_load", "[", "0", "]", ":", "ix86_cost", "->", "int_load", "[", "2", "]", ")", "/", "2", ";", "case", "scalar_store", ":", "return", "COSTS_N_INSNS", "(", "fp", "?", "ix86_cost", "->", "sse_store", "[", "0", "]", ":", "ix86_cost", "->", "int_store", "[", "2", "]", ")", "/", "2", ";", "case", "vector_stmt", ":", "return", "ix86_vec_cost", "(", "mode", ",", "fp", "?", "ix86_cost", "->", "addss", ":", "ix86_cost", "->", "sse_op", ",", "true", ")", ";", "case", "vector_load", ":", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "<", "0", ")", "index", "=", "2", ";", "return", "ix86_vec_cost", "(", "mode", ",", "COSTS_N_INSNS", "(", "ix86_cost", "->", "sse_load", "[", "index", "]", ")", "/", "2", ",", "true", ")", ";", "case", "vector_store", ":", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "<", "0", ")", "index", "=", "2", ";", "return", "ix86_vec_cost", "(", "mode", ",", "COSTS_N_INSNS", "(", "ix86_cost", "->", "sse_store", "[", "index", "]", ")", "/", "2", ",", "true", ")", ";", "case", "vec_to_scalar", ":", "case", "scalar_to_vec", ":", "return", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "sse_op", ",", "true", ")", ";", "case", "unaligned_load", ":", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "<", "0", ")", "index", "=", "2", ";", "return", "ix86_vec_cost", "(", "mode", ",", "COSTS_N_INSNS", "(", "ix86_cost", "->", "sse_unaligned_load", "[", "index", "]", ")", "/", "2", ",", "true", ")", ";", "case", "unaligned_store", ":", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "<", "0", ")", "index", "=", "2", ";", "return", "ix86_vec_cost", "(", "mode", ",", "COSTS_N_INSNS", "(", "ix86_cost", "->", "sse_unaligned_store", "[", "index", "]", ")", "/", "2", ",", "true", ")", ";", "case", "vector_gather_load", ":", "return", "ix86_vec_cost", "(", "mode", ",", "COSTS_N_INSNS", "(", "ix86_cost", "->", "gather_static", "+", "ix86_cost", "->", "gather_per_elt", "*", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ")", "/", "2", ",", "true", ")", ";", "case", "vector_scatter_store", ":", "return", "ix86_vec_cost", "(", "mode", ",", "COSTS_N_INSNS", "(", "ix86_cost", "->", "scatter_static", "+", "ix86_cost", "->", "scatter_per_elt", "*", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ")", "/", "2", ",", "true", ")", ";", "case", "cond_branch_taken", ":", "return", "ix86_cost", "->", "cond_taken_branch_cost", ";", "case", "cond_branch_not_taken", ":", "return", "ix86_cost", "->", "cond_not_taken_branch_cost", ";", "case", "vec_perm", ":", "case", "vec_promote_demote", ":", "return", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "sse_op", ",", "true", ")", ";", "case", "vec_construct", ":", "{", "int", "cost", "=", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "sse_op", ",", "false", ")", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "==", "256", ")", "cost", "+=", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "addss", ",", "true", ")", ";", "else", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "==", "512", ")", "cost", "+=", "3", "*", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "addss", ",", "true", ")", ";", "return", "cost", ";", "}", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.builtin_vectorization_cost", "."], "TS_V_token": ["i386", "1", "0", "2", "2", "0", "2", "2", "0", "2", "2", "0", "2", "2", "0", "2", "2", "0", "2", "2", "2", "2", "256", "512", "3"], "File": "i3867", "Func": "ix86_builtin_vectorization_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38695, "Length": 487}
{"ground_truth": ["", "static", "bool", "ix86_can_inline_p", "(", "tree", "caller", ",", "tree", "callee", ")", "{", "tree", "caller_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "caller", ")", ";", "tree", "callee_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "callee", ")", ";", "const", "unsigned", "HOST_WIDE_INT", "always_inline_safe_mask", "=", "(", "MASK_USE_8BIT_IDIV", "|", "MASK_ACCUMULATE_OUTGOING_ARGS", "|", "MASK_NO_ALIGN_STRINGOPS", "|", "MASK_AVX256_SPLIT_UNALIGNED_LOAD", "|", "MASK_AVX256_SPLIT_UNALIGNED_STORE", "|", "MASK_CLD", "|", "MASK_NO_FANCY_MATH_387", "|", "MASK_IEEE_FP", "|", "MASK_INLINE_ALL_STRINGOPS", "|", "MASK_INLINE_STRINGOPS_DYNAMICALLY", "|", "MASK_RECIP", "|", "MASK_STACK_PROBE", "|", "MASK_STV", "|", "MASK_TLS_DIRECT_SEG_REFS", "|", "MASK_VZEROUPPER", "|", "MASK_NO_PUSH_ARGS", "|", "MASK_OMIT_LEAF_FRAME_POINTER", ")", ";", "if", "(", "!", "callee_tree", ")", "callee_tree", "=", "target_option_default_node", ";", "if", "(", "!", "caller_tree", ")", "caller_tree", "=", "target_option_default_node", ";", "if", "(", "callee_tree", "==", "caller_tree", ")", "return", "true", ";", "struct", "cl_target_option", "*", "caller_opts", "=", "TREE_TARGET_OPTION", "(", "caller_tree", ")", ";", "struct", "cl_target_option", "*", "callee_opts", "=", "TREE_TARGET_OPTION", "(", "callee_tree", ")", ";", "bool", "ret", "=", "false", ";", "bool", "always_inline", "=", "(", "DECL_DISREGARD_INLINE_LIMITS", "(", "callee", ")", "&&", "lookup_attribute", "(", "\"always_inline\"", ",", "DECL_ATTRIBUTES", "(", "callee", ")", ")", ")", ";", "if", "(", "(", "(", "caller_opts", "->", "x_ix86_isa_flags", "&", "callee_opts", "->", "x_ix86_isa_flags", ")", "!=", "callee_opts", "->", "x_ix86_isa_flags", ")", "||", "(", "(", "caller_opts", "->", "x_ix86_isa_flags2", "&", "callee_opts", "->", "x_ix86_isa_flags2", ")", "!=", "callee_opts", "->", "x_ix86_isa_flags2", ")", ")", "ret", "=", "false", ";", "else", "if", "(", "(", "!", "always_inline", "&&", "caller_opts", "->", "x_target_flags", "!=", "callee_opts", "->", "x_target_flags", ")", "||", "(", "caller_opts", "->", "x_target_flags", "&", "~", "always_inline_safe_mask", ")", "!=", "(", "callee_opts", "->", "x_target_flags", "&", "~", "always_inline_safe_mask", ")", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "arch", "!=", "callee_opts", "->", "arch", ")", "ret", "=", "false", ";", "else", "if", "(", "!", "always_inline", "&&", "caller_opts", "->", "tune", "!=", "callee_opts", "->", "tune", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "x_ix86_fpmath", "!=", "callee_opts", "->", "x_ix86_fpmath", "&&", "(", "!", "ipa_fn_summaries", "||", "ipa_fn_summaries", "->", "get", "(", "cgraph_node", "::", "get", "(", "callee", ")", ")", "->", "fp_expressions", ")", ")", "ret", "=", "false", ";", "else", "if", "(", "!", "always_inline", "&&", "caller_opts", "->", "branch_cost", "!=", "callee_opts", "->", "branch_cost", ")", "ret", "=", "false", ";", "else", "ret", "=", "true", ";", "return", "ret", ";", "}", ""], "natrual_language": ["Hook", "to", "determine", "if", "one", "function", "can", "safely", "inline", "another", "."], "TS_V_token": ["i386", "\"always_inline\""], "File": "i3867", "Func": "ix86_can_inline_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38696, "Length": 310}
{"ground_truth": ["", "static", "bool", "ix86_check_avx_upper_register", "(", "const_rtx", "exp", ")", "{", "if", "(", "SUBREG_P", "(", "exp", ")", ")", "exp", "=", "SUBREG_REG", "(", "exp", ")", ";", "return", "(", "REG_P", "(", "exp", ")", "&&", "(", "VALID_AVX256_REG_OR_OI_MODE", "(", "GET_MODE", "(", "exp", ")", ")", "||", "VALID_AVX512F_REG_OR_XI_MODE", "(", "GET_MODE", "(", "exp", ")", ")", ")", ")", ";", "}", ""], "natrual_language": ["Check", "if", "a", "256bit", "or", "512", "bit", "AVX", "register", "is", "referenced", "inside", "of", "EXP", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_check_avx_upper_register", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38697, "Length": 49}
{"ground_truth": ["", "int", "ix86_data_alignment", "(", "tree", "type", ",", "int", "align", ",", "bool", "opt", ")", "{", "int", "max_align_compat", "=", "MIN", "(", "256", ",", "MAX_OFILE_ALIGNMENT", ")", ";", "int", "max_align", "=", "MIN", "(", "(", "unsigned", ")", "ix86_tune_cost", "->", "prefetch_block", "*", "8", ",", "MAX_OFILE_ALIGNMENT", ")", ";", "if", "(", "max_align", "<", "BITS_PER_WORD", ")", "max_align", "=", "BITS_PER_WORD", ";", "switch", "(", "ix86_align_data_type", ")", "{", "case", "ix86_align_data_type_abi", ":", "opt", "=", "false", ";", "break", ";", "case", "ix86_align_data_type_compat", ":", "max_align", "=", "BITS_PER_WORD", ";", "break", ";", "case", "ix86_align_data_type_cacheline", ":", "break", ";", "}", "if", "(", "TARGET_IAMCU", ")", "align", "=", "iamcu_alignment", "(", "type", ",", "align", ")", ";", "if", "(", "opt", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", ")", "{", "if", "(", "wi", "::", "geu_p", "(", "wi", "::", "to_wide", "(", "TYPE_SIZE", "(", "type", ")", ")", ",", "max_align_compat", ")", "&&", "align", "<", "max_align_compat", ")", "align", "=", "max_align_compat", ";", "if", "(", "wi", "::", "geu_p", "(", "wi", "::", "to_wide", "(", "TYPE_SIZE", "(", "type", ")", ")", ",", "max_align", ")", "&&", "align", "<", "max_align", ")", "align", "=", "max_align", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "(", "opt", "?", "AGGREGATE_TYPE_P", "(", "type", ")", ":", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "geu_p", "(", "wi", "::", "to_wide", "(", "TYPE_SIZE", "(", "type", ")", ")", ",", "128", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "!", "opt", ")", "return", "align", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "||", "TYPE_MODE", "(", "type", ")", "==", "TCmode", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "static", "variable", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "function", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["i386", "256", "8", "128", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i3867", "Func": "ix86_data_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38698, "Length": 481}
{"ground_truth": ["", "static", "int", "ix86_division_cost", "(", "const", "struct", "processor_costs", "*", "cost", ",", "enum", "machine_mode", "mode", ")", "{", "machine_mode", "inner_mode", "=", "mode", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_SSE_MATH", ")", "return", "inner_mode", "==", "DFmode", "?", "cost", "->", "divsd", ":", "cost", "->", "divss", ";", "else", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "cost", "->", "fdiv", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "return", "ix86_vec_cost", "(", "mode", ",", "inner_mode", "==", "DFmode", "?", "cost", "->", "divsd", ":", "cost", "->", "divss", ",", "true", ")", ";", "else", "return", "cost", "->", "divide", "[", "MODE_INDEX", "(", "mode", ")", "]", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "multiplication", "in", "MODE", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_division_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38699, "Length": 110}
{"ground_truth": ["", "static", "void", "ix86_emit_leave", "(", "rtx_insn", "*", "insn", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "if", "(", "!", "insn", ")", "insn", "=", "emit_insn", "(", "ix86_gen_leave", "(", ")", ")", ";", "ix86_add_queued_cfa_restore_notes", "(", "insn", ")", ";", "gcc_assert", "(", "m", "->", "fs", ".", "fp_valid", ")", ";", "m", "->", "fs", ".", "sp_valid", "=", "true", ";", "m", "->", "fs", ".", "sp_realigned", "=", "false", ";", "m", "->", "fs", ".", "sp_offset", "=", "m", "->", "fs", ".", "fp_offset", "-", "UNITS_PER_WORD", ";", "m", "->", "fs", ".", "fp_valid", "=", "false", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "hard_frame_pointer_rtx", ")", "{", "m", "->", "fs", ".", "cfa_reg", "=", "stack_pointer_rtx", ";", "m", "->", "fs", ".", "cfa_offset", "=", "m", "->", "fs", ".", "sp_offset", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "m", "->", "fs", ".", "sp_offset", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "ix86_add_cfa_restore_note", "(", "insn", ",", "hard_frame_pointer_rtx", ",", "m", "->", "fs", ".", "fp_offset", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "and", "notes", "for", "the", "LEAVE", "instruction", "."], "TS_V_token": ["i386", "1"], "File": "i3867", "Func": "ix86_emit_leave", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38700, "Length": 157}
{"ground_truth": ["", "static", "void", "ix86_emit_probe_stack_range", "(", "HOST_WIDE_INT", "first", ",", "HOST_WIDE_INT", "size", ",", "const", "bool", "int_registers_saved", ")", "{", "if", "(", "size", "<=", "6", "*", "get_probe_interval", "(", ")", ")", "{", "HOST_WIDE_INT", "i", ";", "for", "(", "i", "=", "get_probe_interval", "(", ")", ";", "i", "<", "size", ";", "i", "+=", "get_probe_interval", "(", ")", ")", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "first", "+", "i", ")", ")", ")", ";", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "first", "+", "size", ")", ")", ")", ";", "}", "else", "{", "gcc_assert", "(", "int_registers_saved", ")", ";", "HOST_WIDE_INT", "rounded_size", ",", "last", ";", "struct", "scratch_reg", "sr", ";", "get_scratch_register_on_entry", "(", "&", "sr", ")", ";", "rounded_size", "=", "ROUND_DOWN", "(", "size", ",", "get_probe_interval", "(", ")", ")", ";", "emit_move_insn", "(", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "first", ")", ")", ";", "last", "=", "first", "+", "rounded_size", ";", "emit_insn", "(", "ix86_gen_probe_stack_range", "(", "sr", ".", "reg", ",", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "last", ")", ")", ")", ";", "if", "(", "size", "!=", "rounded_size", ")", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "sr", ".", "reg", ")", ",", "rounded_size", "-", "size", ")", ")", ";", "release_scratch_register_on_entry", "(", "&", "sr", ",", "size", ",", "true", ")", ";", "}", "emit_insn", "(", "gen_blockage", "(", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "probe", "a", "range", "of", "stack", "addresses", "from", "FIRST", "to", "FIRST+SIZE", ",", "inclusive", ".", "These", "are", "offsets", "from", "the", "current", "stack", "pointer", "."], "TS_V_token": ["i386", "6"], "File": "i3867", "Func": "ix86_emit_probe_stack_range", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38701, "Length": 202}
{"ground_truth": ["", "rtx", "ix86_expand_adjust_ufix_to_sfix_si", "(", "rtx", "val", ",", "rtx", "*", "xorp", ")", "{", "REAL_VALUE_TYPE", "TWO31r", ";", "rtx", "two31r", ",", "tmp", "[", "4", "]", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "val", ")", ";", "machine_mode", "scalarmode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "machine_mode", "intmode", "=", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", "?", "V8SImode", ":", "V4SImode", ";", "rtx", "(", "*", "cmp", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "3", ";", "i", "++", ")", "tmp", "[", "i", "]", "=", "gen_reg_rtx", "(", "mode", ")", ";", "real_ldexp", "(", "&", "TWO31r", ",", "&", "dconst1", ",", "31", ")", ";", "two31r", "=", "const_double_from_real_value", "(", "TWO31r", ",", "scalarmode", ")", ";", "two31r", "=", "ix86_build_const_vector", "(", "mode", ",", "1", ",", "two31r", ")", ";", "two31r", "=", "force_reg", "(", "mode", ",", "two31r", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_V8SFmode", ":", "cmp", "=", "gen_avx_maskcmpv8sf3", ";", "break", ";", "case", "E_V4SFmode", ":", "cmp", "=", "gen_sse_maskcmpv4sf3", ";", "break", ";", "case", "E_V4DFmode", ":", "cmp", "=", "gen_avx_maskcmpv4df3", ";", "break", ";", "case", "E_V2DFmode", ":", "cmp", "=", "gen_sse2_maskcmpv2df3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "tmp", "[", "3", "]", "=", "gen_rtx_LE", "(", "mode", ",", "two31r", ",", "val", ")", ";", "emit_insn", "(", "cmp", "(", "tmp", "[", "0", "]", ",", "two31r", ",", "val", ",", "tmp", "[", "3", "]", ")", ")", ";", "tmp", "[", "1", "]", "=", "expand_simple_binop", "(", "mode", ",", "AND", ",", "tmp", "[", "0", "]", ",", "two31r", ",", "tmp", "[", "1", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "if", "(", "intmode", "==", "V4SImode", "||", "TARGET_AVX2", ")", "*", "xorp", "=", "expand_simple_binop", "(", "intmode", ",", "ASHIFT", ",", "gen_lowpart", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ",", "GEN_INT", "(", "31", ")", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "else", "{", "rtx", "two31", "=", "GEN_INT", "(", "HOST_WIDE_INT_1U", "<<", "31", ")", ";", "two31", "=", "ix86_build_const_vector", "(", "intmode", ",", "1", ",", "two31", ")", ";", "*", "xorp", "=", "expand_simple_binop", "(", "intmode", ",", "AND", ",", "gen_lowpart", "(", "intmode", ",", "tmp", "[", "0", "]", ")", ",", "two31", ",", "NULL_RTX", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "}", "return", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "val", ",", "tmp", "[", "1", "]", ",", "tmp", "[", "2", "]", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "}", ""], "natrual_language": ["Adjust", "a", "V", "*", "SFmode/V", "*", "DFmode", "value", "VAL", "so", "that", "*", "sfix_trunc", "*", "resp", ".", "fix_trunc", "*", "pattern", "can", "be", "used", "on", "it", "instead", "of", "fixuns_trunc", "*", ".", "This", "is", "done", "by", "doing", "just", "signed", "conversion", "if", "<", "0x1p31", ",", "and", "otherwise", "by", "subtracting", "0x1p31", "first", "and", "xoring", "in", "0x80000000", "from", "*", "XORP", "afterwards", "."], "TS_V_token": ["i386", "4", "32", "0", "3", "31", "1", "3", "0", "3", "1", "0", "1", "0", "0", "31", "0", "31", "1", "0", "0", "1", "2", "0"], "File": "i3867", "Func": "ix86_expand_adjust_ufix_to_sfix_si", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38702, "Length": 359}
{"ground_truth": ["", "static", "void", "ix86_expand_divmod_libfunc", "(", "rtx", "libfunc", ",", "machine_mode", "mode", ",", "rtx", "op0", ",", "rtx", "op1", ",", "rtx", "*", "quot_p", ",", "rtx", "*", "rem_p", ")", "{", "rtx", "rem", "=", "assign_386_stack_local", "(", "mode", ",", "SLOT_TEMP", ")", ";", "rtx", "quot", "=", "emit_library_call_value", "(", "libfunc", ",", "NULL_RTX", ",", "LCT_NORMAL", ",", "mode", ",", "op0", ",", "GET_MODE", "(", "op0", ")", ",", "op1", ",", "GET_MODE", "(", "op1", ")", ",", "XEXP", "(", "rem", ",", "0", ")", ",", "Pmode", ")", ";", "*", "quot_p", "=", "quot", ";", "*", "rem_p", "=", "rem", ";", "}", ""], "natrual_language": ["Generate", "call", "to", "__divmoddi4", "."], "TS_V_token": ["i386", "0"], "File": "i3867", "Func": "ix86_expand_divmod_libfunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38703, "Length": 83}
{"ground_truth": ["", "bool", "ix86_expand_int_addcc", "(", "rtx", "operands", "[", "]", ")", "{", "enum", "rtx_code", "code", "=", "GET_CODE", "(", "operands", "[", "1", "]", ")", ";", "rtx", "flags", ";", "rtx", "(", "*", "insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "rtx", "compare_op", ";", "rtx", "val", "=", "const0_rtx", ";", "bool", "fpcmp", "=", "false", ";", "machine_mode", "mode", ";", "rtx", "op0", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ";", "rtx", "op1", "=", "XEXP", "(", "operands", "[", "1", "]", ",", "1", ")", ";", "if", "(", "operands", "[", "3", "]", "!=", "const1_rtx", "&&", "operands", "[", "3", "]", "!=", "constm1_rtx", ")", "return", "false", ";", "if", "(", "!", "ix86_expand_carry_flag_compare", "(", "code", ",", "op0", ",", "op1", ",", "&", "compare_op", ")", ")", "return", "false", ";", "code", "=", "GET_CODE", "(", "compare_op", ")", ";", "flags", "=", "XEXP", "(", "compare_op", ",", "0", ")", ";", "if", "(", "GET_MODE", "(", "flags", ")", "==", "CCFPmode", ")", "{", "fpcmp", "=", "true", ";", "code", "=", "ix86_fp_compare_code_to_integer", "(", "code", ")", ";", "}", "if", "(", "code", "!=", "LTU", ")", "{", "val", "=", "constm1_rtx", ";", "if", "(", "fpcmp", ")", "PUT_CODE", "(", "compare_op", ",", "reverse_condition_maybe_unordered", "(", "GET_CODE", "(", "compare_op", ")", ")", ")", ";", "else", "PUT_CODE", "(", "compare_op", ",", "reverse_condition", "(", "GET_CODE", "(", "compare_op", ")", ")", ")", ";", "}", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "if", "(", "(", "code", "==", "LTU", ")", "==", "(", "operands", "[", "3", "]", "==", "constm1_rtx", ")", ")", "{", "switch", "(", "mode", ")", "{", "case", "E_QImode", ":", "insn", "=", "gen_subqi3_carry", ";", "break", ";", "case", "E_HImode", ":", "insn", "=", "gen_subhi3_carry", ";", "break", ";", "case", "E_SImode", ":", "insn", "=", "gen_subsi3_carry", ";", "break", ";", "case", "E_DImode", ":", "insn", "=", "gen_subdi3_carry", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "{", "switch", "(", "mode", ")", "{", "case", "E_QImode", ":", "insn", "=", "gen_addqi3_carry", ";", "break", ";", "case", "E_HImode", ":", "insn", "=", "gen_addhi3_carry", ";", "break", ";", "case", "E_SImode", ":", "insn", "=", "gen_addsi3_carry", ";", "break", ";", "case", "E_DImode", ":", "insn", "=", "gen_adddi3_carry", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "emit_insn", "(", "insn", "(", "operands", "[", "0", "]", ",", "operands", "[", "2", "]", ",", "val", ",", "flags", ",", "compare_op", ")", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Expand", "conditional", "increment", "or", "decrement", "using", "adb/sbb", "instructions", ".", "The", "default", "case", "using", "setcc", "followed", "by", "the", "conditional", "move", "can", "be", "done", "by", "generic", "code", "."], "TS_V_token": ["i386", "1", "1", "0", "1", "1", "3", "3", "0", "0", "3", "0", "2"], "File": "i3867", "Func": "ix86_expand_int_addcc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38704, "Length": 355}
{"ground_truth": ["", "void", "ix86_expand_sse2_abs", "(", "rtx", "target", ",", "rtx", "input", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "target", ")", ";", "rtx", "tmp0", ",", "tmp1", ",", "x", ";", "switch", "(", "mode", ")", "{", "case", "E_V4SImode", ":", "tmp0", "=", "expand_simple_binop", "(", "mode", ",", "ASHIFTRT", ",", "input", ",", "GEN_INT", "(", "GET_MODE_UNIT_BITSIZE", "(", "mode", ")", "-", "1", ")", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "tmp1", "=", "expand_simple_binop", "(", "mode", ",", "XOR", ",", "tmp0", ",", "input", ",", "NULL", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "MINUS", ",", "tmp1", ",", "tmp0", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "E_V8HImode", ":", "tmp0", "=", "expand_unop", "(", "mode", ",", "neg_optab", ",", "input", ",", "NULL_RTX", ",", "0", ")", ";", "x", "=", "expand_simple_binop", "(", "mode", ",", "SMAX", ",", "tmp0", ",", "input", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "case", "E_V16QImode", ":", "tmp0", "=", "expand_unop", "(", "mode", ",", "neg_optab", ",", "input", ",", "NULL_RTX", ",", "0", ")", ";", "x", "=", "expand_simple_binop", "(", "V16QImode", ",", "UMIN", ",", "tmp0", ",", "input", ",", "target", ",", "0", ",", "OPTAB_DIRECT", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "x", "!=", "target", ")", "emit_move_insn", "(", "target", ",", "x", ")", ";", "}", ""], "natrual_language": ["Calculate", "integer", "abs", "(", ")", "using", "only", "SSE2", "instructions", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0", "0", "0", "0"], "File": "i3867", "Func": "ix86_expand_sse2_abs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38705, "Length": 199}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "machine_mode", "cmp_ops_mode", "=", "GET_MODE", "(", "cmp_op0", ")", ";", "machine_mode", "cmp_mode", ";", "bool", "maskcmp", "=", "false", ";", "rtx", "x", ";", "if", "(", "GET_MODE_SIZE", "(", "cmp_ops_mode", ")", "==", "64", ")", "{", "unsigned", "int", "nbits", "=", "GET_MODE_NUNITS", "(", "cmp_ops_mode", ")", ";", "cmp_mode", "=", "int_mode_for_size", "(", "nbits", ",", "0", ")", ".", "require", "(", ")", ";", "maskcmp", "=", "true", ";", "}", "else", "cmp_mode", "=", "cmp_ops_mode", ";", "cmp_op0", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op0", ")", ";", "if", "(", "!", "nonimmediate_operand", "(", "cmp_op1", ",", "cmp_ops_mode", ")", ")", "cmp_op1", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op1", ")", ";", "if", "(", "optimize", "||", "(", "maskcmp", "&&", "cmp_mode", "!=", "mode", ")", "||", "(", "op_true", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_true", ")", ")", "||", "(", "op_false", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_false", ")", ")", ")", "dest", "=", "gen_reg_rtx", "(", "maskcmp", "?", "cmp_mode", ":", "mode", ")", ";", "if", "(", "maskcmp", "&&", "(", "code", "==", "GT", "||", "code", "==", "EQ", ")", ")", "{", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "switch", "(", "cmp_ops_mode", ")", "{", "case", "E_V64QImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv64qi3", ":", "gen_avx512bw_eqv64qi3_1", ";", "break", ";", "case", "E_V32HImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv32hi3", ":", "gen_avx512bw_eqv32hi3_1", ";", "break", ";", "case", "E_V16SImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv16si3", ":", "gen_avx512f_eqv16si3_1", ";", "break", ";", "case", "E_V8DImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv8di3", ":", "gen_avx512f_eqv8di3_1", ";", "break", ";", "default", ":", "gen", "=", "NULL", ";", "}", "if", "(", "gen", ")", "{", "emit_insn", "(", "gen", "(", "dest", ",", "cmp_op0", ",", "cmp_op1", ")", ")", ";", "return", "dest", ";", "}", "}", "x", "=", "gen_rtx_fmt_ee", "(", "code", ",", "cmp_mode", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "if", "(", "cmp_mode", "!=", "mode", "&&", "!", "maskcmp", ")", "{", "x", "=", "force_reg", "(", "cmp_ops_mode", ",", "x", ")", ";", "convert_move", "(", "dest", ",", "x", ",", "false", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Expand", "an", "sse", "vector", "comparison", ".", "Return", "the", "register", "with", "the", "result", "."], "TS_V_token": ["i386", "64", "0"], "File": "i3867", "Func": "ix86_expand_sse_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38706, "Length": 355}
{"ground_truth": ["", "static", "bool", "ix86_expand_vector_init_one_var", "(", "bool", "mmx_ok", ",", "machine_mode", "mode", ",", "rtx", "target", ",", "rtx", "vals", ",", "int", "one_var", ")", "{", "rtx", "var", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", ")", ";", "machine_mode", "wmode", ";", "rtx", "const_vec", ",", "x", ";", "const_vec", "=", "copy_rtx", "(", "vals", ")", ";", "XVECEXP", "(", "const_vec", ",", "0", ",", "one_var", ")", "=", "CONST0_RTX", "(", "GET_MODE_INNER", "(", "mode", ")", ")", ";", "const_vec", "=", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "XVEC", "(", "const_vec", ",", "0", ")", ")", ";", "switch", "(", "mode", ")", "{", "case", "E_V2DFmode", ":", "case", "E_V2DImode", ":", "case", "E_V2SFmode", ":", "case", "E_V2SImode", ":", "return", "false", ";", "case", "E_V4DImode", ":", "if", "(", "!", "TARGET_64BIT", ")", "return", "false", ";", "case", "E_V4DFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V16HImode", ":", "case", "E_V32QImode", ":", "case", "E_V4SFmode", ":", "case", "E_V4SImode", ":", "case", "E_V8HImode", ":", "case", "E_V4HImode", ":", "break", ";", "case", "E_V16QImode", ":", "if", "(", "TARGET_SSE4_1", ")", "break", ";", "wmode", "=", "V8HImode", ";", "goto", "widen", ";", "case", "E_V8QImode", ":", "wmode", "=", "V4HImode", ";", "goto", "widen", ";", "widen", ":", "x", "=", "XVECEXP", "(", "vals", ",", "0", ",", "one_var", "^", "1", ")", ";", "if", "(", "one_var", "&", "1", ")", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "var", "=", "expand_simple_binop", "(", "HImode", ",", "ASHIFT", ",", "var", ",", "GEN_INT", "(", "8", ")", ",", "NULL_RTX", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "GEN_INT", "(", "INTVAL", "(", "x", ")", "&", "0xff", ")", ";", "}", "else", "{", "var", "=", "convert_modes", "(", "HImode", ",", "QImode", ",", "var", ",", "true", ")", ";", "x", "=", "gen_int_mode", "(", "UINTVAL", "(", "x", ")", "<<", "8", ",", "HImode", ")", ";", "}", "if", "(", "x", "!=", "const0_rtx", ")", "var", "=", "expand_simple_binop", "(", "HImode", ",", "IOR", ",", "var", ",", "x", ",", "var", ",", "1", ",", "OPTAB_LIB_WIDEN", ")", ";", "x", "=", "gen_reg_rtx", "(", "wmode", ")", ";", "emit_move_insn", "(", "x", ",", "gen_lowpart", "(", "wmode", ",", "const_vec", ")", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "x", ",", "var", ",", "one_var", ">>", "1", ")", ";", "emit_move_insn", "(", "target", ",", "gen_lowpart", "(", "mode", ",", "x", ")", ")", ";", "return", "true", ";", "default", ":", "return", "false", ";", "}", "emit_move_insn", "(", "target", ",", "const_vec", ")", ";", "ix86_expand_vector_set", "(", "mmx_ok", ",", "target", ",", "var", ",", "one_var", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_vector_init", ".", "Store", "into", "TARGET", "a", "vector", "consisting", "of", "the", "values", "in", "VALS", ".", "It", "is", "known", "that", "all", "elements", "except", "ONE_VAR", "are", "constants", ".", "Return", "true", "if", "successful", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "1", "1", "8", "1", "0xff", "8", "1", "1"], "File": "i3867", "Func": "ix86_expand_vector_init_one_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38707, "Length": 364}
{"ground_truth": ["", "static", "bool", "ix86_expand_vec_perm_const_1", "(", "struct", "expand_vec_perm_d", "*", "d", ")", "{", "if", "(", "expand_vec_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshuflw_pshufhw", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_palignr", "(", "d", ",", "false", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_broadcast", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermq_perm_1", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pblendv", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_pack", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_2vperm2f128_vshuf", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_pshufb2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_interleave3", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vperm2f128_vblend", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd_trunc", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb2_vpermq_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpermt2_vpshub2", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_even_odd", "(", "d", ")", ")", "return", "true", ";", "if", "(", "expand_vec_perm_vpshufb4_vpermq2", "(", "d", ")", ")", "return", "true", ";", "struct", "expand_vec_perm_d", "nd", ";", "if", "(", "canonicalize_vector_int_perm", "(", "d", ",", "&", "nd", ")", "&&", "expand_vec_perm_1", "(", "&", "nd", ")", ")", "{", "if", "(", "!", "d", "->", "testing_p", ")", "emit_move_insn", "(", "d", "->", "target", ",", "gen_lowpart", "(", "d", "->", "vmode", ",", "nd", ".", "target", ")", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["The", "guts", "of", "ix86_expand_vec_perm_const", ",", "also", "used", "by", "the", "ok", "hook", ".", "With", "all", "of", "the", "interface", "bits", "taken", "care", "of", ",", "perform", "the", "expansion", "in", "D", "and", "return", "true", "on", "success", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_expand_vec_perm_const_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38708, "Length": 256}
{"ground_truth": ["", "static", "bool", "ix86_find_max_used_stack_alignment", "(", "unsigned", "int", "&", "stack_alignment", ",", "bool", "check_stack_slot", ")", "{", "HARD_REG_SET", "set_up_by_prologue", ",", "prologue_used", ";", "basic_block", "bb", ";", "CLEAR_HARD_REG_SET", "(", "prologue_used", ")", ";", "CLEAR_HARD_REG_SET", "(", "set_up_by_prologue", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "STACK_POINTER_REGNUM", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "ARG_POINTER_REGNUM", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "HARD_FRAME_POINTER_REGNUM", ")", ";", "if", "(", "stack_alignment", ">", "crtl", "->", "preferred_stack_boundary", ")", "stack_alignment", "=", "crtl", "->", "preferred_stack_boundary", ";", "bool", "require_stack_frame", "=", "false", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ";", "FOR_BB_INSNS", "(", "bb", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", "&&", "requires_stack_frame_p", "(", "insn", ",", "prologue_used", ",", "set_up_by_prologue", ")", ")", "{", "require_stack_frame", "=", "true", ";", "if", "(", "check_stack_slot", ")", "{", "subrtx_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "ALL", ")", "if", "(", "MEM_P", "(", "*", "iter", ")", "&&", "(", "reg_mentioned_p", "(", "stack_pointer_rtx", ",", "*", "iter", ")", "||", "reg_mentioned_p", "(", "frame_pointer_rtx", ",", "*", "iter", ")", ")", ")", "{", "unsigned", "int", "alignment", "=", "MEM_ALIGN", "(", "*", "iter", ")", ";", "if", "(", "alignment", ">", "stack_alignment", ")", "stack_alignment", "=", "alignment", ";", "}", "}", "}", "}", "return", "require_stack_frame", ";", "}", ""], "natrual_language": ["Return", "true", "if", "stack", "frame", "is", "required", ".", "Update", "STACK_ALIGNMENT", "to", "the", "largest", "alignment", ",", "in", "bits", ",", "of", "stack", "slot", "used", "if", "stack", "frame", "is", "required", "and", "CHECK_STACK_SLOT", "is", "true", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_find_max_used_stack_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38709, "Length": 196}
{"ground_truth": ["", "static", "rtx", "ix86_function_arg", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "omode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "machine_mode", "mode", "=", "omode", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "rtx", "arg", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "{", "gcc_assert", "(", "type", "!=", "NULL_TREE", ")", ";", "if", "(", "POINTER_TYPE_P", "(", "type", ")", ")", "{", "gcc_assert", "(", "TYPE_MODE", "(", "type", ")", "==", "Pmode", ")", ";", "arg", "=", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "UNITS_PER_WORD", ")", ";", "}", "else", "{", "gcc_assert", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "&&", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", "&&", "TYPE_MODE", "(", "type", ")", "==", "word_mode", ")", ";", "arg", "=", "gen_rtx_MEM", "(", "word_mode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "2", "*", "UNITS_PER_WORD", ")", ")", ";", "}", "return", "arg", ";", "}", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "cum", "->", "bnds_in_bt", ")", "arg", "=", "NULL", ";", "else", "if", "(", "cum", "->", "bnd_regno", "<=", "LAST_BND_REG", ")", "arg", "=", "gen_rtx_REG", "(", "BNDmode", ",", "cum", "->", "bnd_regno", ")", ";", "else", "arg", "=", "GEN_INT", "(", "cum", "->", "bnd_regno", "-", "LAST_BND_REG", "-", "1", ")", ";", "return", "arg", ";", "}", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "type", "&&", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "cum", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "arg", "=", "function_arg_ms_64", "(", "cum", ",", "mode", ",", "omode", ",", "named", ",", "bytes", ")", ";", "else", "arg", "=", "function_arg_64", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "named", ")", ";", "}", "else", "arg", "=", "function_arg_32", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "arg", "==", "NULL_RTX", "&&", "cum", "->", "caller", ")", "cfun", "->", "machine", "->", "outgoing_args_on_stack", "=", "true", ";", "return", "arg", ";", "}", ""], "natrual_language": ["Return", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Return", "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", ".", "It", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "gives", "information", "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": ["i386", "2", "1"], "File": "i3867", "Func": "ix86_function_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38710, "Length": 356}
{"ground_truth": ["", "static", "void", "ix86_function_arg_advance", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "int", "nregs", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "return", ";", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "type", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "NULL", ",", "false", ")", ";", "if", "(", "(", "type", "&&", "POINTER_BOUNDS_TYPE_P", "(", "type", ")", ")", "||", "POINTER_BOUNDS_MODE_P", "(", "mode", ")", ")", "{", "if", "(", "cum", "->", "bnds_in_bt", ")", "{", "cum", "->", "bnds_in_bt", "--", ";", "return", ";", "}", "if", "(", "cum", "->", "force_bnd_pass", ")", "cum", "->", "force_bnd_pass", "--", ";", "cum", "->", "bnd_regno", "++", ";", "return", ";", "}", "cum", "->", "bnds_in_bt", "=", "0", ";", "if", "(", "cum", "->", "force_bnd_pass", ")", "{", "cum", "->", "bnd_regno", "+=", "cum", "->", "force_bnd_pass", ";", "cum", "->", "force_bnd_pass", "=", "0", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "nregs", "=", "function_arg_advance_ms_64", "(", "cum", ",", "bytes", ",", "words", ")", ";", "else", "nregs", "=", "function_arg_advance_64", "(", "cum", ",", "mode", ",", "type", ",", "words", ",", "named", ")", ";", "}", "else", "nregs", "=", "function_arg_advance_32", "(", "cum", ",", "mode", ",", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "cum", "->", "stdarg", ")", "cum", "->", "force_bnd_pass", "=", "nregs", ";", "if", "(", "!", "nregs", ")", "{", "if", "(", "cum", "->", "caller", ")", "cfun", "->", "machine", "->", "outgoing_args_on_stack", "=", "true", ";", "if", "(", "flag_check_pointer_bounds", ")", "cum", "->", "bnds_in_bt", "=", "chkp_type_bounds_count", "(", "type", ")", ";", "}", "}", ""], "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": ["i386", "0", "0"], "File": "i3867", "Func": "ix86_function_arg_advance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38711, "Length": 289}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_function_arg_boundary", "(", "machine_mode", "mode", ",", "const_tree", "type", ")", "{", "unsigned", "int", "align", ";", "if", "(", "type", ")", "{", "type", "=", "TYPE_MAIN_VARIANT", "(", "type", ")", ";", "align", "=", "TYPE_ALIGN", "(", "type", ")", ";", "if", "(", "TYPE_EMPTY_P", "(", "type", ")", ")", "return", "PARM_BOUNDARY", ";", "}", "else", "align", "=", "GET_MODE_ALIGNMENT", "(", "mode", ")", ";", "if", "(", "align", "<", "PARM_BOUNDARY", ")", "align", "=", "PARM_BOUNDARY", ";", "else", "{", "static", "bool", "warned", ";", "unsigned", "int", "saved_align", "=", "align", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "if", "(", "!", "type", ")", "{", "if", "(", "mode", "==", "XFmode", "||", "mode", "==", "XCmode", ")", "align", "=", "PARM_BOUNDARY", ";", "}", "else", "if", "(", "!", "ix86_contains_aligned_value_p", "(", "type", ")", ")", "align", "=", "PARM_BOUNDARY", ";", "if", "(", "align", "<", "128", ")", "align", "=", "PARM_BOUNDARY", ";", "}", "if", "(", "warn_psabi", "&&", "!", "warned", "&&", "align", "!=", "ix86_compat_function_arg_boundary", "(", "mode", ",", "type", ",", "saved_align", ")", ")", "{", "warned", "=", "true", ";", "inform", "(", "input_location", ",", "\"The ABI for passing parameters with %d-byte\"", "\" alignment has changed in GCC 4.6\"", ",", "align", "/", "BITS_PER_UNIT", ")", ";", "}", "}", "return", "align", ";", "}", ""], "natrual_language": ["Gives", "the", "alignment", "boundary", ",", "in", "bits", ",", "of", "an", "argument", "with", "the", "specified", "mode", "and", "type", "."], "TS_V_token": ["i386", "128", "\"The ABI for passing parameters with %d-byte\"", "\" alignment has changed in GCC 4.6\""], "File": "i3867", "Func": "ix86_function_arg_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38712, "Length": 168}
{"ground_truth": ["", "static", "void", "ix86_function_specific_restore", "(", "struct", "gcc_options", "*", "opts", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "enum", "processor_type", "old_tune", "=", "ix86_tune", ";", "enum", "processor_type", "old_arch", "=", "ix86_arch", ";", "unsigned", "HOST_WIDE_INT", "ix86_arch_mask", ";", "int", "i", ";", "opts", "->", "x_flag_pic", "=", "flag_pic", ";", "ix86_arch", "=", "(", "enum", "processor_type", ")", "ptr", "->", "arch", ";", "ix86_schedule", "=", "(", "enum", "attr_cpu", ")", "ptr", "->", "schedule", ";", "ix86_tune", "=", "(", "enum", "processor_type", ")", "ptr", "->", "tune", ";", "x86_prefetch_sse", "=", "ptr", "->", "prefetch_sse", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "branch_cost", ";", "ix86_tune_defaulted", "=", "ptr", "->", "tune_defaulted", ";", "ix86_arch_specified", "=", "ptr", "->", "arch_specified", ";", "opts", "->", "x_ix86_isa_flags_explicit", "=", "ptr", "->", "x_ix86_isa_flags_explicit", ";", "opts", "->", "x_ix86_isa_flags2_explicit", "=", "ptr", "->", "x_ix86_isa_flags2_explicit", ";", "opts", "->", "x_recip_mask_explicit", "=", "ptr", "->", "x_recip_mask_explicit", ";", "opts", "->", "x_ix86_arch_string", "=", "ptr", "->", "x_ix86_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "ptr", "->", "x_ix86_tune_string", ";", "opts", "->", "x_ix86_cmodel", "=", "ptr", "->", "x_ix86_cmodel", ";", "opts", "->", "x_ix86_abi", "=", "ptr", "->", "x_ix86_abi", ";", "opts", "->", "x_ix86_asm_dialect", "=", "ptr", "->", "x_ix86_asm_dialect", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "x_ix86_branch_cost", ";", "opts", "->", "x_ix86_dump_tunes", "=", "ptr", "->", "x_ix86_dump_tunes", ";", "opts", "->", "x_ix86_force_align_arg_pointer", "=", "ptr", "->", "x_ix86_force_align_arg_pointer", ";", "opts", "->", "x_ix86_force_drap", "=", "ptr", "->", "x_ix86_force_drap", ";", "opts", "->", "x_ix86_incoming_stack_boundary_arg", "=", "ptr", "->", "x_ix86_incoming_stack_boundary_arg", ";", "opts", "->", "x_ix86_pmode", "=", "ptr", "->", "x_ix86_pmode", ";", "opts", "->", "x_ix86_preferred_stack_boundary_arg", "=", "ptr", "->", "x_ix86_preferred_stack_boundary_arg", ";", "opts", "->", "x_ix86_recip_name", "=", "ptr", "->", "x_ix86_recip_name", ";", "opts", "->", "x_ix86_regparm", "=", "ptr", "->", "x_ix86_regparm", ";", "opts", "->", "x_ix86_section_threshold", "=", "ptr", "->", "x_ix86_section_threshold", ";", "opts", "->", "x_ix86_sse2avx", "=", "ptr", "->", "x_ix86_sse2avx", ";", "opts", "->", "x_ix86_stack_protector_guard", "=", "ptr", "->", "x_ix86_stack_protector_guard", ";", "opts", "->", "x_ix86_stringop_alg", "=", "ptr", "->", "x_ix86_stringop_alg", ";", "opts", "->", "x_ix86_tls_dialect", "=", "ptr", "->", "x_ix86_tls_dialect", ";", "opts", "->", "x_ix86_tune_ctrl_string", "=", "ptr", "->", "x_ix86_tune_ctrl_string", ";", "opts", "->", "x_ix86_tune_memcpy_strategy", "=", "ptr", "->", "x_ix86_tune_memcpy_strategy", ";", "opts", "->", "x_ix86_tune_memset_strategy", "=", "ptr", "->", "x_ix86_tune_memset_strategy", ";", "opts", "->", "x_ix86_tune_no_default", "=", "ptr", "->", "x_ix86_tune_no_default", ";", "opts", "->", "x_ix86_veclibabi_type", "=", "ptr", "->", "x_ix86_veclibabi_type", ";", "ix86_tune_cost", "=", "processor_target_table", "[", "ix86_tune", "]", ".", "cost", ";", "if", "(", "opts", "->", "x_optimize_size", ")", "ix86_cost", "=", "&", "ix86_size_cost", ";", "else", "ix86_cost", "=", "ix86_tune_cost", ";", "if", "(", "old_arch", "!=", "ix86_arch", ")", "{", "ix86_arch_mask", "=", "HOST_WIDE_INT_1U", "<<", "ix86_arch", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_ARCH_LAST", ";", "++", "i", ")", "ix86_arch_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_arch_features", "[", "i", "]", "&", "ix86_arch_mask", ")", ";", "}", "if", "(", "old_tune", "!=", "ix86_tune", ")", "set_ix86_tune_features", "(", "ix86_tune", ",", "false", ")", ";", "}", ""], "natrual_language": ["Restore", "the", "current", "options"], "TS_V_token": ["i386", "0"], "File": "i3867", "Func": "ix86_function_specific_restore", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38713, "Length": 394}
{"ground_truth": ["", "enum", "calling_abi", "ix86_function_type_abi", "(", "const_tree", "fntype", ")", "{", "enum", "calling_abi", "abi", "=", "ix86_abi", ";", "if", "(", "fntype", "==", "NULL_TREE", "||", "TYPE_ATTRIBUTES", "(", "fntype", ")", "==", "NULL_TREE", ")", "return", "abi", ";", "if", "(", "abi", "==", "SYSV_ABI", "&&", "lookup_attribute", "(", "\"ms_abi\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "{", "static", "int", "warned", ";", "if", "(", "TARGET_X32", "&&", "!", "warned", ")", "{", "error", "(", "\"X32 does not support ms_abi attribute\"", ")", ";", "warned", "=", "1", ";", "}", "abi", "=", "MS_ABI", ";", "}", "else", "if", "(", "abi", "==", "MS_ABI", "&&", "lookup_attribute", "(", "\"sysv_abi\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "abi", "=", "SYSV_ABI", ";", "return", "abi", ";", "}", ""], "natrual_language": ["Returns", "value", "SYSV_ABI", ",", "MS_ABI", "dependent", "on", "fntype", ",", "specifying", "the", "call", "abi", "used", "."], "TS_V_token": ["i386", "\"ms_abi\"", "\"X32 does not support ms_abi attribute\"", "1", "\"sysv_abi\""], "File": "i3867", "Func": "ix86_function_type_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38714, "Length": 99}
{"ground_truth": ["", "static", "opt_machine_mode", "ix86_get_mask_mode", "(", "poly_uint64", "nunits", ",", "poly_uint64", "vector_size", ")", "{", "unsigned", "elem_size", "=", "vector_size", "/", "nunits", ";", "if", "(", "(", "TARGET_AVX512F", "&&", "vector_size", "==", "64", ")", "||", "(", "TARGET_AVX512VL", "&&", "(", "vector_size", "==", "32", "||", "vector_size", "==", "16", ")", ")", ")", "{", "if", "(", "elem_size", "==", "4", "||", "elem_size", "==", "8", "||", "TARGET_AVX512BW", ")", "return", "smallest_int_mode_for_size", "(", "nunits", ")", ";", "}", "scalar_int_mode", "elem_mode", "=", "smallest_int_mode_for_size", "(", "elem_size", "*", "BITS_PER_UNIT", ")", ";", "gcc_assert", "(", "elem_size", "*", "nunits", "==", "vector_size", ")", ";", "return", "mode_for_vector", "(", "elem_mode", ",", "nunits", ")", ";", "}", ""], "natrual_language": ["Implemenation", "of", "targetm.vectorize.get_mask_mode", "."], "TS_V_token": ["i386", "64", "32", "16", "4", "8"], "File": "i3867", "Func": "ix86_get_mask_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38715, "Length": 90}
{"ground_truth": ["", "static", "bool", "ix86_hard_regno_call_part_clobbered", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "return", "SSE_REGNO_P", "(", "regno", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", ">", "16", ";", "}", ""], "natrual_language": ["Implement", "TARGET_HARD_REGNO_CALL_PART_CLOBBERED", ".", "The", "only", "ABI", "that", "saves", "SSE", "registers", "across", "calls", "is", "Win64", "(", "thus", "no", "need", "to", "check", "the", "current", "ABI", "here", ")", ",", "and", "with", "AVX", "enabled", "Win64", "only", "guarantees", "that", "the", "low", "16", "bytes", "are", "saved", "."], "TS_V_token": ["i386", "16"], "File": "i3867", "Func": "ix86_hard_regno_call_part_clobbered", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38716, "Length": 26}
{"ground_truth": ["", "static", "bool", "ix86_hard_regno_mode_ok", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "CC_REGNO_P", "(", "regno", ")", ")", "return", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_RANDOM", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_PARTIAL_INT", ")", "return", "false", ";", "if", "(", "STACK_REGNO_P", "(", "regno", ")", ")", "return", "VALID_FP_MODE_P", "(", "mode", ")", ";", "if", "(", "MASK_REGNO_P", "(", "regno", ")", ")", "return", "(", "VALID_MASK_REG_MODE", "(", "mode", ")", "||", "(", "TARGET_AVX512BW", "&&", "VALID_MASK_AVX512BW_MODE", "(", "mode", ")", ")", ")", ";", "if", "(", "BND_REGNO_P", "(", "regno", ")", ")", "return", "VALID_BND_REG_MODE", "(", "mode", ")", ";", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "TARGET_AVX512F", "&&", "(", "mode", "==", "XImode", "||", "VALID_AVX512F_REG_MODE", "(", "mode", ")", "||", "VALID_AVX512F_SCALAR_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_AVX5124FMAPS", "||", "TARGET_AVX5124VNNIW", ")", "&&", "MOD4_SSE_REGNO_P", "(", "regno", ")", "&&", "mode", "==", "V64SFmode", ")", "return", "true", ";", "if", "(", "(", "TARGET_AVX5124FMAPS", "||", "TARGET_AVX5124VNNIW", ")", "&&", "MOD4_SSE_REGNO_P", "(", "regno", ")", "&&", "mode", "==", "V64SImode", ")", "return", "true", ";", "if", "(", "TARGET_AVX512VL", "&&", "(", "mode", "==", "OImode", "||", "mode", "==", "TImode", "||", "VALID_AVX256_REG_MODE", "(", "mode", ")", "||", "VALID_AVX512VL_128_REG_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "EXT_REX_SSE_REGNO_P", "(", "regno", ")", ")", "return", "false", ";", "return", "(", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_OR_OI_MODE", "(", "mode", ")", ")", "||", "VALID_SSE_REG_MODE", "(", "mode", ")", "||", "VALID_SSE2_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "mode", "==", "QImode", ")", "{", "if", "(", "ANY_QI_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "return", "true", ";", "if", "(", "lra_in_progress", ")", "return", "true", ";", "return", "!", "can_create_pseudo_p", "(", ")", ";", "}", "else", "if", "(", "VALID_INT_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_FP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_DFP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_hard_regno_mode_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38717, "Length": 358}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_hard_regno_nregs", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "mode", "==", "XFmode", ")", "return", "TARGET_64BIT", "?", "2", ":", "3", ";", "if", "(", "mode", "==", "XCmode", ")", "return", "TARGET_64BIT", "?", "4", ":", "6", ";", "return", "CEIL", "(", "GET_MODE_SIZE", "(", "mode", ")", ",", "UNITS_PER_WORD", ")", ";", "}", "if", "(", "COMPLEX_MODE_P", "(", "mode", ")", ")", "return", "2", ";", "if", "(", "mode", "==", "V64SFmode", "||", "mode", "==", "V64SImode", ")", "return", "4", ";", "return", "1", ";", "}", ""], "natrual_language": ["Implement", "TARGET_HARD_REGNO_NREGS", ".", "This", "is", "ordinarily", "the", "length", "in", "words", "of", "a", "value", "of", "mode", "MODE", "but", "can", "be", "less", "for", "certain", "modes", "in", "special", "long", "registers", ".", "Actually", "there", "are", "no", "two", "word", "move", "instructions", "for", "consecutive", "registers", ".", "And", "only", "registers", "0-3", "may", "have", "mov", "byte", "instructions", "applied", "to", "them", "."], "TS_V_token": ["i386", "2", "3", "4", "6", "2", "4", "1"], "File": "i3867", "Func": "ix86_hard_regno_nregs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38718, "Length": 86}
{"ground_truth": ["", "static", "void", "ix86_init_large_pic_reg", "(", "unsigned", "int", "tmp_regno", ")", "{", "rtx_code_label", "*", "label", ";", "rtx", "tmp_reg", ";", "gcc_assert", "(", "Pmode", "==", "DImode", ")", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_PRESERVE_P", "(", "label", ")", "=", "1", ";", "tmp_reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "tmp_regno", ")", ";", "gcc_assert", "(", "REGNO", "(", "pic_offset_table_rtx", ")", "!=", "tmp_regno", ")", ";", "emit_insn", "(", "gen_set_rip_rex64", "(", "pic_offset_table_rtx", ",", "label", ")", ")", ";", "emit_insn", "(", "gen_set_got_offset_rex64", "(", "tmp_reg", ",", "label", ")", ")", ";", "emit_insn", "(", "ix86_gen_add3", "(", "pic_offset_table_rtx", ",", "pic_offset_table_rtx", ",", "tmp_reg", ")", ")", ";", "const", "char", "*", "name", "=", "LABEL_NAME", "(", "label", ")", ";", "PUT_CODE", "(", "label", ",", "NOTE", ")", ";", "NOTE_KIND", "(", "label", ")", "=", "NOTE_INSN_DELETED_LABEL", ";", "NOTE_DELETED_LABEL_NAME", "(", "label", ")", "=", "name", ";", "}", ""], "natrual_language": ["Initialize", "large", "model", "PIC", "register", "."], "TS_V_token": ["i386", "1"], "File": "i3867", "Func": "ix86_init_large_pic_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38719, "Length": 124}
{"ground_truth": ["", "static", "struct", "machine_function", "*", "ix86_init_machine_status", "(", "void", ")", "{", "struct", "machine_function", "*", "f", ";", "f", "=", "ggc_cleared_alloc", "<", "machine_function", ">", "(", ")", ";", "f", "->", "call_abi", "=", "ix86_abi", ";", "return", "f", ";", "}", ""], "natrual_language": ["Clear", "stack", "slot", "assignments", "remembered", "from", "previous", "functions", ".", "This", "is", "called", "from", "INIT_EXPANDERS", "once", "before", "RTL", "is", "emitted", "for", "each", "function", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_init_machine_status", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38720, "Length": 33}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_constant_p", "(", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "if", "(", "POINTER_BOUNDS_MODE_P", "(", "GET_MODE", "(", "x", ")", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "{", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", "return", "false", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "}", "if", "(", "TARGET_MACHO", "&&", "darwin_local_data_pic", "(", "x", ")", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOT", ":", "case", "UNSPEC_GOTOFF", ":", "case", "UNSPEC_PLTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "case", "UNSPEC_NTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "case", "UNSPEC_DTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_DYNAMIC", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "LABEL_REF", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "SYMBOL_REF", ")", "return", "false", ";", "case", "SYMBOL_REF", ":", "if", "(", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", ")", "return", "false", ";", "if", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "x", ")", ")", "return", "false", ";", "if", "(", "MACHO_DYNAMIC_NO_PIC_P", ")", "return", "machopic_symbol_defined_p", "(", "x", ")", ";", "if", "(", "ix86_force_load_from_GOT_p", "(", "x", ")", ")", "return", "false", ";", "break", ";", "CASE_CONST_SCALAR_INT", ":", "switch", "(", "mode", ")", "{", "case", "E_TImode", ":", "if", "(", "TARGET_64BIT", ")", "return", "true", ";", "case", "E_OImode", ":", "case", "E_XImode", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ",", "mode", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "break", ";", "case", "CONST_VECTOR", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ",", "mode", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Determine", "if", "a", "given", "RTX", "is", "a", "valid", "constant", ".", "We", "already", "know", "this", "satisfies", "CONSTANT_P", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "0", "0"], "File": "i3867", "Func": "ix86_legitimate_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38721, "Length": 333}
{"ground_truth": ["", "static", "unsigned", "ix86_loop_unroll_adjust", "(", "unsigned", "nunroll", ",", "struct", "loop", "*", "loop", ")", "{", "basic_block", "*", "bbs", ";", "rtx_insn", "*", "insn", ";", "unsigned", "i", ";", "unsigned", "mem_count", "=", "0", ";", "if", "(", "!", "TARGET_ADJUST_UNROLL", ")", "return", "nunroll", ";", "subrtx_iterator", "::", "array_type", "array", ";", "bbs", "=", "get_loop_body", "(", "loop", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "loop", "->", "num_nodes", ";", "i", "++", ")", "FOR_BB_INSNS", "(", "bbs", "[", "i", "]", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "NONCONST", ")", "if", "(", "const_rtx", "x", "=", "*", "iter", ")", "if", "(", "MEM_P", "(", "x", ")", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "unsigned", "int", "n_words", "=", "GET_MODE_SIZE", "(", "mode", ")", "/", "UNITS_PER_WORD", ";", "if", "(", "n_words", ">", "4", ")", "mem_count", "+=", "2", ";", "else", "mem_count", "+=", "1", ";", "}", "free", "(", "bbs", ")", ";", "if", "(", "mem_count", "&&", "mem_count", "<=", "32", ")", "return", "MIN", "(", "nunroll", ",", "32", "/", "mem_count", ")", ";", "return", "nunroll", ";", "}", ""], "natrual_language": ["This", "function", "adjusts", "the", "unroll", "factor", "based", "on", "the", "hardware", "capabilities", ".", "For", "ex", ",", "bdver3", "has", "a", "loop", "buffer", "which", "makes", "unrolling", "of", "smaller", "loops", "less", "important", ".", "This", "function", "decides", "the", "unroll", "factor", "using", "number", "of", "memory", "references", "(", "value", "32", "is", "used", ")", "as", "a", "heuristic", "."], "TS_V_token": ["i386", "0", "0", "4", "2", "1", "32", "32"], "File": "i3867", "Func": "ix86_loop_unroll_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38722, "Length": 171}
{"ground_truth": ["", "static", "unsigned", "HOST_WIDE_INT", "ix86_memmodel_check", "(", "unsigned", "HOST_WIDE_INT", "val", ")", "{", "enum", "memmodel", "model", "=", "memmodel_from_int", "(", "val", ")", ";", "bool", "strong", ";", "if", "(", "val", "&", "~", "(", "unsigned", "HOST_WIDE_INT", ")", "(", "IX86_HLE_ACQUIRE", "|", "IX86_HLE_RELEASE", "|", "MEMMODEL_MASK", ")", "||", "(", "(", "val", "&", "IX86_HLE_ACQUIRE", ")", "&&", "(", "val", "&", "IX86_HLE_RELEASE", ")", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"unknown architecture specific memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", ";", "}", "strong", "=", "(", "is_mm_acq_rel", "(", "model", ")", "||", "is_mm_seq_cst", "(", "model", ")", ")", ";", "if", "(", "val", "&", "IX86_HLE_ACQUIRE", "&&", "!", "(", "is_mm_acquire", "(", "model", ")", "||", "strong", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"HLE_ACQUIRE not used with ACQUIRE or stronger memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", "|", "IX86_HLE_ACQUIRE", ";", "}", "if", "(", "val", "&", "IX86_HLE_RELEASE", "&&", "!", "(", "is_mm_release", "(", "model", ")", "||", "strong", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"HLE_RELEASE not used with RELEASE or stronger memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", "|", "IX86_HLE_RELEASE", ";", "}", "return", "val", ";", "}", ""], "natrual_language": ["Validate", "target", "specific", "memory", "model", "bits", "in", "VAL", "."], "TS_V_token": ["i386", "\"unknown architecture specific memory model\"", "\"HLE_ACQUIRE not used with ACQUIRE or stronger memory model\"", "\"HLE_RELEASE not used with RELEASE or stronger memory model\""], "File": "i3867", "Func": "ix86_memmodel_check", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38723, "Length": 143}
{"ground_truth": ["", "static", "bool", "ix86_modes_tieable_p", "(", "machine_mode", "mode1", ",", "machine_mode", "mode2", ")", "{", "if", "(", "mode1", "==", "mode2", ")", "return", "true", ";", "if", "(", "ix86_tieable_integer_mode_p", "(", "mode1", ")", "&&", "ix86_tieable_integer_mode_p", "(", "mode2", ")", ")", "return", "true", ";", "if", "(", "mode2", "==", "XFmode", ")", "return", "mode1", "==", "SFmode", "||", "mode1", "==", "DFmode", ";", "if", "(", "mode2", "==", "DFmode", ")", "return", "mode1", "==", "SFmode", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "32", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "32", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "16", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "16", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode1", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "MODE1", "is", "accessible", "in", "a", "register", "that", "can", "hold", "MODE2", "without", "copying", ".", "That", "is", ",", "all", "register", "classes", "that", "can", "hold", "MODE2", "can", "also", "hold", "MODE1", "."], "TS_V_token": ["i386", "32", "32", "16", "16", "8", "8"], "File": "i3867", "Func": "ix86_modes_tieable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38724, "Length": 164}
{"ground_truth": ["", "static", "machine_mode", "ix86_mpx_bound_mode", "(", ")", "{", "if", "(", "!", "TARGET_MPX", ")", "{", "if", "(", "flag_check_pointer_bounds", ")", "warning", "(", "0", ",", "\"Pointer Checker requires MPX support on this target.\"", "\" Use -mmpx options to enable MPX.\"", ")", ";", "return", "VOIDmode", ";", "}", "return", "BNDmode", ";", "}", ""], "natrual_language": ["Return", "mode", "to", "be", "used", "for", "bounds", "or", "VOIDmode", "if", "bounds", "are", "not", "supported", "."], "TS_V_token": ["i386", "0", "\"Pointer Checker requires MPX support on this target.\"", "\" Use -mmpx options to enable MPX.\""], "File": "i3867", "Func": "ix86_mpx_bound_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38725, "Length": 32}
{"ground_truth": ["", "static", "int", "ix86_multiplication_cost", "(", "const", "struct", "processor_costs", "*", "cost", ",", "enum", "machine_mode", "mode", ")", "{", "machine_mode", "inner_mode", "=", "mode", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_SSE_MATH", ")", "return", "inner_mode", "==", "DFmode", "?", "cost", "->", "mulsd", ":", "cost", "->", "mulss", ";", "else", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "cost", "->", "fmul", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "return", "ix86_vec_cost", "(", "mode", ",", "inner_mode", "==", "DFmode", "?", "cost", "->", "mulsd", ":", "cost", "->", "mulss", ",", "true", ")", ";", "else", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", "{", "if", "(", "TARGET_AVX512DQ", ")", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", ",", "true", ")", ";", "if", "(", "mode", "==", "V16QImode", "||", "mode", "==", "V32QImode", ")", "{", "int", "extra", "=", "11", ";", "if", "(", "TARGET_XOP", "&&", "mode", "==", "V16QImode", ")", "extra", "=", "5", ";", "else", "if", "(", "TARGET_SSSE3", ")", "extra", "=", "6", ";", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "extra", ",", "true", ")", ";", "}", "else", "if", "(", "mode", "==", "V2DImode", "||", "mode", "==", "V4DImode", ")", "{", "if", "(", "TARGET_XOP", "&&", "mode", "==", "V2DImode", ")", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "3", ",", "true", ")", ";", "else", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", "*", "3", "+", "cost", "->", "sse_op", "*", "5", ",", "true", ")", ";", "}", "else", "if", "(", "mode", "==", "V4SImode", "&&", "!", "(", "TARGET_SSE4_1", "||", "TARGET_AVX", ")", ")", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "5", ",", "true", ")", ";", "else", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", ",", "true", ")", ";", "}", "else", "return", "(", "cost", "->", "mult_init", "[", "MODE_INDEX", "(", "mode", ")", "]", "+", "cost", "->", "mult_bit", "*", "7", ")", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "multiplication", "in", "MODE", "."], "TS_V_token": ["i386", "11", "5", "6", "2", "2", "3", "3", "5", "2", "5", "7"], "File": "i3867", "Func": "ix86_multiplication_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38726, "Length": 313}
{"ground_truth": ["", "static", "bool", "ix86_notrack_prefixed_insn_p", "(", "rtx", "insn", ")", "{", "if", "(", "!", "insn", "||", "!", "(", "(", "flag_cf_protection", "&", "CF_BRANCH", ")", ")", ")", "return", "false", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "rtx", "call", "=", "get_call_rtx_from", "(", "insn", ")", ";", "gcc_assert", "(", "call", "!=", "NULL_RTX", ")", ";", "rtx", "addr", "=", "XEXP", "(", "call", ",", "0", ")", ";", "if", "(", "MEM_P", "(", "addr", ")", "&&", "GET_CODE", "(", "XEXP", "(", "addr", ",", "0", ")", ")", "==", "SYMBOL_REF", ")", "return", "false", ";", "else", "return", "find_reg_note", "(", "insn", ",", "REG_CALL_NOCF_CHECK", ",", "0", ")", ";", "}", "if", "(", "JUMP_P", "(", "insn", ")", "&&", "!", "flag_cet_switch", ")", "{", "rtx", "target", "=", "JUMP_LABEL", "(", "insn", ")", ";", "if", "(", "target", "==", "NULL_RTX", "||", "ANY_RETURN_P", "(", "target", ")", ")", "return", "false", ";", "rtx_insn", "*", "label", "=", "as_a", "<", "rtx_insn", "*", ">", "(", "target", ")", ";", "rtx_insn", "*", "table", "=", "next_insn", "(", "label", ")", ";", "if", "(", "table", "==", "NULL_RTX", "||", "!", "JUMP_TABLE_DATA_P", "(", "table", ")", ")", "return", "false", ";", "else", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "1", "if", "control", "tansfer", "instruction", "INSN", "should", "be", "encoded", "with", "notrack", "prefix", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3867", "Func": "ix86_notrack_prefixed_insn_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38727, "Length": 171}
{"ground_truth": ["", "const", "char", "*", "ix86_output_call_insn", "(", "rtx_insn", "*", "insn", ",", "rtx", "call_op", ")", "{", "bool", "direct_p", "=", "constant_call_address_operand", "(", "call_op", ",", "VOIDmode", ")", ";", "bool", "output_indirect_p", "=", "(", "!", "TARGET_SEH", "&&", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_keep", ")", ";", "bool", "seh_nop_p", "=", "false", ";", "const", "char", "*", "xasm", ";", "if", "(", "SIBLING_CALL_P", "(", "insn", ")", ")", "{", "if", "(", "direct_p", ")", "{", "if", "(", "ix86_nopic_noplt_attribute_p", "(", "call_op", ")", ")", "{", "direct_p", "=", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "else", "xasm", "=", "\"%!jmp\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "}", "else", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"{%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "else", "xasm", "=", "\"%!jmp\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "}", "}", "else", "xasm", "=", "\"%!jmp\\t%P0\"", ";", "}", "else", "if", "(", "TARGET_SEH", ")", "xasm", "=", "\"%!rex.W jmp\\t%A0\"", ";", "else", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"%0\"", ";", "else", "xasm", "=", "\"%!jmp\\t%A0\"", ";", "}", "if", "(", "output_indirect_p", "&&", "!", "direct_p", ")", "ix86_output_indirect_branch", "(", "call_op", ",", "xasm", ",", "true", ")", ";", "else", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "return", "\"\"", ";", "}", "if", "(", "TARGET_SEH", ")", "{", "rtx_insn", "*", "i", ";", "for", "(", "i", "=", "NEXT_INSN", "(", "insn", ")", ";", "i", ";", "i", "=", "NEXT_INSN", "(", "i", ")", ")", "{", "if", "(", "JUMP_P", "(", "i", ")", "&&", "CROSSING_JUMP_P", "(", "i", ")", ")", "{", "seh_nop_p", "=", "true", ";", "break", ";", "}", "if", "(", "INSN_P", "(", "i", ")", ")", "break", ";", "if", "(", "NOTE_P", "(", "i", ")", "&&", "NOTE_KIND", "(", "i", ")", "==", "NOTE_INSN_EPILOGUE_BEG", "&&", "!", "flag_non_call_exceptions", "&&", "!", "can_throw_internal", "(", "insn", ")", ")", "{", "seh_nop_p", "=", "true", ";", "break", ";", "}", "}", "if", "(", "i", "==", "NULL", ")", "seh_nop_p", "=", "true", ";", "}", "if", "(", "direct_p", ")", "{", "if", "(", "ix86_nopic_noplt_attribute_p", "(", "call_op", ")", ")", "{", "direct_p", "=", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "else", "xasm", "=", "\"%!call\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "}", "else", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"{%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "else", "xasm", "=", "\"%!call\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "}", "}", "else", "xasm", "=", "\"%!call\\t%P0\"", ";", "}", "else", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"%0\"", ";", "else", "xasm", "=", "\"%!call\\t%A0\"", ";", "}", "if", "(", "output_indirect_p", "&&", "!", "direct_p", ")", "ix86_output_indirect_branch", "(", "call_op", ",", "xasm", ",", "false", ")", ";", "else", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "if", "(", "seh_nop_p", ")", "return", "\"nop\"", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "the", "assembly", "for", "a", "call", "instruction", "."], "TS_V_token": ["i386", "\"{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"%!jmp\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"{%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!jmp\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!jmp\\t%P0\"", "\"%!rex.W jmp\\t%A0\"", "\"%0\"", "\"%!jmp\\t%A0\"", "\"\"", "\"{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"%!call\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"{%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!call\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!call\\t%P0\"", "\"%0\"", "\"%!call\\t%A0\"", "\"nop\"", "\"\""], "File": "i3867", "Func": "ix86_output_call_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38728, "Length": 381}
{"ground_truth": ["", "const", "char", "*", "ix86_output_function_return", "(", "bool", "long_p", ")", "{", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_keep", ")", "{", "char", "thunk_name", "[", "32", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_thunk_inline", ")", "{", "bool", "need_thunk", "=", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk", ")", ";", "indirect_thunk_name", "(", "thunk_name", ",", "INVALID_REGNUM", ",", "need_prefix", ",", "true", ")", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "{", "indirect_return_bnd_needed", "|=", "need_thunk", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tbnd jmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "else", "{", "indirect_return_needed", "|=", "need_thunk", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "}", "else", "output_indirect_thunk", "(", "need_prefix", ",", "INVALID_REGNUM", ")", ";", "return", "\"\"", ";", "}", "if", "(", "!", "long_p", "||", "ix86_bnd_prefixed_insn_p", "(", "current_output_insn", ")", ")", "return", "\"%!ret\"", ";", "return", "\"rep%; ret\"", ";", "}", ""], "natrual_language": ["Output", "function", "return", ".", "CALL_OP", "is", "the", "jump", "target", ".", "Add", "a", "REP", "prefix", "to", "RET", "if", "LONG_P", "is", "true", "and", "function", "return", "is", "kept", "."], "TS_V_token": ["i386", "32", "\"\\tbnd jmp\\t%s\\n\"", "\"\\tjmp\\t%s\\n\"", "\"\"", "\"%!ret\"", "\"rep%; ret\""], "File": "i3867", "Func": "ix86_output_function_return", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38729, "Length": 137}
{"ground_truth": ["", "static", "void", "ix86_output_indirect_branch_via_push", "(", "rtx", "call_op", ",", "const", "char", "*", "xasm", ",", "bool", "sibcall_p", ")", "{", "char", "thunk_name_buf", "[", "32", "]", ";", "char", "*", "thunk_name", ";", "char", "push_buf", "[", "64", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "int", "regno", "=", "-", "1", ";", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_thunk_inline", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk", ")", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "indirect_thunk_bnd_needed", "=", "true", ";", "else", "indirect_thunk_needed", "=", "true", ";", "}", "indirect_thunk_name", "(", "thunk_name_buf", ",", "regno", ",", "need_prefix", ",", "false", ")", ";", "thunk_name", "=", "thunk_name_buf", ";", "}", "else", "thunk_name", "=", "NULL", ";", "snprintf", "(", "push_buf", ",", "sizeof", "(", "push_buf", ")", ",", "\"push{%c}\\t%s\"", ",", "TARGET_64BIT", "?", "'q'", ":", "'l'", ",", "xasm", ")", ";", "if", "(", "sibcall_p", ")", "{", "output_asm_insn", "(", "push_buf", ",", "&", "call_op", ")", ";", "if", "(", "thunk_name", "!=", "NULL", ")", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tbnd jmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "else", "output_indirect_thunk", "(", "need_prefix", ",", "regno", ")", ";", "}", "else", "{", "char", "indirectlabel1", "[", "32", "]", ";", "char", "indirectlabel2", "[", "32", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel1", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel2", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fputs", "(", "\"\\tbnd jmp\\t\"", ",", "asm_out_file", ")", ";", "else", "fputs", "(", "\"\\tjmp\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "if", "(", "MEM_P", "(", "call_op", ")", ")", "{", "struct", "ix86_address", "parts", ";", "rtx", "addr", "=", "XEXP", "(", "call_op", ",", "0", ")", ";", "if", "(", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", "&&", "parts", ".", "base", "==", "stack_pointer_rtx", ")", "{", "if", "(", "parts", ".", "index", ")", "{", "addr", "=", "gen_rtx_MULT", "(", "Pmode", ",", "parts", ".", "index", ",", "GEN_INT", "(", "parts", ".", "scale", ")", ")", ";", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "addr", ")", ";", "}", "else", "addr", "=", "stack_pointer_rtx", ";", "rtx", "disp", ";", "if", "(", "parts", ".", "disp", "!=", "NULL_RTX", ")", "disp", "=", "plus_constant", "(", "Pmode", ",", "parts", ".", "disp", ",", "UNITS_PER_WORD", ")", ";", "else", "disp", "=", "GEN_INT", "(", "UNITS_PER_WORD", ")", ";", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "addr", ",", "disp", ")", ";", "call_op", "=", "gen_rtx_MEM", "(", "GET_MODE", "(", "call_op", ")", ",", "addr", ")", ";", "}", "}", "output_asm_insn", "(", "push_buf", ",", "&", "call_op", ")", ";", "if", "(", "thunk_name", "!=", "NULL", ")", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tbnd jmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "else", "output_indirect_thunk", "(", "need_prefix", ",", "regno", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fputs", "(", "\"\\tbnd call\\t\"", ",", "asm_out_file", ")", ";", "else", "fputs", "(", "\"\\tcall\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "}", "}", ""], "natrual_language": ["Output", "indirect", "branch", "via", "a", "call", "and", "return", "thunk", ".", "CALL_OP", "is", "the", "branch", "target", ".", "XASM", "is", "the", "assembly", "template", "for", "CALL_OP", ".", "Branch", "is", "a", "tail", "call", "if", "SIBCALL_P", "is", "true", ".", "A", "normal", "call", "is", "converted", "to", ":", "jmp", "L2", "L1", ":", "push", "CALL_OP", "jmp", "__x86_indirect_thunk", "L2", ":", "call", "L1", "and", "a", "tail", "call", "is", "converted", "to", ":", "push", "CALL_OP", "jmp", "__x86_indirect_thunk"], "TS_V_token": ["i386", "32", "64", "1", "\"push{%c}\\t%s\"", "\"\\tbnd jmp\\t%s\\n\"", "\"\\tjmp\\t%s\\n\"", "32", "32", "\"\\tbnd jmp\\t\"", "\"\\tjmp\\t\"", "0", "\"\\tbnd jmp\\t%s\\n\"", "\"\\tjmp\\t%s\\n\"", "\"\\tbnd call\\t\"", "\"\\tcall\\t\""], "File": "i3867", "Func": "ix86_output_indirect_branch_via_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38730, "Length": 488}
{"ground_truth": ["", "static", "void", "ix86_output_indirect_branch_via_reg", "(", "rtx", "call_op", ",", "bool", "sibcall_p", ")", "{", "char", "thunk_name_buf", "[", "32", "]", ";", "char", "*", "thunk_name", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "int", "regno", "=", "REGNO", "(", "call_op", ")", ";", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_thunk_inline", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk", ")", "{", "int", "i", "=", "regno", ";", "if", "(", "i", ">=", "FIRST_REX_INT_REG", ")", "i", "-=", "(", "FIRST_REX_INT_REG", "-", "LAST_INT_REG", "-", "1", ")", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "indirect_thunks_bnd_used", "|=", "1", "<<", "i", ";", "else", "indirect_thunks_used", "|=", "1", "<<", "i", ";", "}", "indirect_thunk_name", "(", "thunk_name_buf", ",", "regno", ",", "need_prefix", ",", "false", ")", ";", "thunk_name", "=", "thunk_name_buf", ";", "}", "else", "thunk_name", "=", "NULL", ";", "if", "(", "sibcall_p", ")", "{", "if", "(", "thunk_name", "!=", "NULL", ")", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tbnd jmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "else", "output_indirect_thunk", "(", "need_prefix", ",", "regno", ")", ";", "}", "else", "{", "if", "(", "thunk_name", "!=", "NULL", ")", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tbnd call\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "fprintf", "(", "asm_out_file", ",", "\"\\tcall\\t%s\\n\"", ",", "thunk_name", ")", ";", "return", ";", "}", "char", "indirectlabel1", "[", "32", "]", ";", "char", "indirectlabel2", "[", "32", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel1", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel2", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fputs", "(", "\"\\tbnd jmp\\t\"", ",", "asm_out_file", ")", ";", "else", "fputs", "(", "\"\\tjmp\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "if", "(", "thunk_name", "!=", "NULL", ")", "{", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tbnd jmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "else", "output_indirect_thunk", "(", "need_prefix", ",", "regno", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fputs", "(", "\"\\tbnd call\\t\"", ",", "asm_out_file", ")", ";", "else", "fputs", "(", "\"\\tcall\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "}", "}", ""], "natrual_language": ["Output", "indirect", "branch", "via", "a", "call", "and", "return", "thunk", ".", "CALL_OP", "is", "a", "register", "which", "contains", "the", "branch", "target", ".", "XASM", "is", "the", "assembly", "template", "for", "CALL_OP", ".", "Branch", "is", "a", "tail", "call", "if", "SIBCALL_P", "is", "true", ".", "A", "normal", "call", "is", "converted", "to", ":", "call", "__x86_indirect_thunk_reg", "and", "a", "tail", "call", "is", "converted", "to", ":", "jmp", "__x86_indirect_thunk_reg"], "TS_V_token": ["i386", "32", "1", "1", "1", "\"\\tbnd jmp\\t%s\\n\"", "\"\\tjmp\\t%s\\n\"", "\"\\tbnd call\\t%s\\n\"", "\"\\tcall\\t%s\\n\"", "32", "32", "\"\\tbnd jmp\\t\"", "\"\\tjmp\\t\"", "\"\\tbnd jmp\\t%s\\n\"", "\"\\tjmp\\t%s\\n\"", "\"\\tbnd call\\t\"", "\"\\tcall\\t\""], "File": "i3867", "Func": "ix86_output_indirect_branch_via_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38731, "Length": 365}
{"ground_truth": ["", "const", "char", "*", "ix86_output_indirect_function_return", "(", "rtx", "ret_op", ")", "{", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_keep", ")", "{", "char", "thunk_name", "[", "32", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "unsigned", "int", "regno", "=", "REGNO", "(", "ret_op", ")", ";", "gcc_assert", "(", "regno", "==", "CX_REG", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_thunk_inline", ")", "{", "bool", "need_thunk", "=", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk", ")", ";", "indirect_thunk_name", "(", "thunk_name", ",", "regno", ",", "need_prefix", ",", "true", ")", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "{", "if", "(", "need_thunk", ")", "{", "indirect_return_via_cx_bnd", "=", "true", ";", "indirect_thunks_bnd_used", "|=", "1", "<<", "CX_REG", ";", "}", "fprintf", "(", "asm_out_file", ",", "\"\\tbnd jmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "else", "{", "if", "(", "need_thunk", ")", "{", "indirect_return_via_cx", "=", "true", ";", "indirect_thunks_used", "|=", "1", "<<", "CX_REG", ";", "}", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "}", "else", "output_indirect_thunk", "(", "need_prefix", ",", "regno", ")", ";", "return", "\"\"", ";", "}", "else", "return", "\"%!jmp\\t%A0\"", ";", "}", ""], "natrual_language": ["Output", "indirect", "function", "return", ".", "RET_OP", "is", "the", "function", "return", "target", "."], "TS_V_token": ["i386", "32", "1", "\"\\tbnd jmp\\t%s\\n\"", "1", "\"\\tjmp\\t%s\\n\"", "\"\"", "\"%!jmp\\t%A0\""], "File": "i3867", "Func": "ix86_output_indirect_function_return", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38732, "Length": 165}
{"ground_truth": ["", "ix86_dependencies_evaluation_hook", "static", "int", "ix86_reassociation_width", "(", "unsigned", "int", "op", ",", "machine_mode", "mode", ")", "{", "int", "width", "=", "1", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "int", "div", "=", "1", ";", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_vec_int", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_vec_fp", ";", "if", "(", "width", "==", "1", ")", "return", "1", ";", "if", "(", "ix86_tune", "==", "PROCESSOR_ZNVER1", "&&", "INTEGRAL_MODE_P", "(", "mode", ")", "&&", "op", "!=", "PLUS", "&&", "op", "!=", "MINUS", ")", "return", "1", ";", "if", "(", "TARGET_AVX128_OPTIMAL", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "128", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "128", ";", "else", "if", "(", "TARGET_SSE_SPLIT_REGS", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "64", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "64", ";", "width", "=", "(", "width", "+", "div", "-", "1", ")", "/", "div", ";", "}", "else", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_int", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_fp", ";", "if", "(", "!", "TARGET_64BIT", "&&", "width", ">", "2", ")", "width", "=", "2", ";", "return", "width", ";", "}", ""], "natrual_language": ["Implementation", "of", "reassociation_width", "target", "hook", "used", "by", "reassoc", "phase", "to", "identify", "parallelism", "level", "in", "reassociated", "tree", ".", "Statements", "tree_code", "is", "passed", "in", "OPC", ".", "Arguments", "type", "is", "passed", "in", "MODE", ".", "Currently", "parallel", "reassociation", "is", "enabled", "for", "Atom", "processors", "only", "and", "we", "set", "reassociation", "width", "to", "be", "2", "because", "Atom", "may", "issue", "up", "to", "2", "instructions", "per", "cycle", ".", "Return", "value", "should", "be", "fixed", "if", "parallel", "reassociation", "is", "enabled", "for", "other", "processors", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "1", "128", "128", "64", "64", "1", "2", "2"], "File": "i3867", "Func": "ix86_reassociation_width", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38733, "Length": 188}
{"ground_truth": ["", "static", "int", "ix86_register_move_cost", "(", "machine_mode", "mode", ",", "reg_class_t", "class1_i", ",", "reg_class_t", "class2_i", ")", "{", "enum", "reg_class", "class1", "=", "(", "enum", "reg_class", ")", "class1_i", ";", "enum", "reg_class", "class2", "=", "(", "enum", "reg_class", ")", "class2_i", ";", "if", "(", "inline_secondary_memory_needed", "(", "mode", ",", "class1", ",", "class2", ",", "false", ")", ")", "{", "int", "cost", "=", "1", ";", "cost", "+=", "inline_memory_move_cost", "(", "mode", ",", "class1", ",", "2", ")", ";", "cost", "+=", "inline_memory_move_cost", "(", "mode", ",", "class2", ",", "2", ")", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "BITS_PER_WORD", "&&", "TARGET_MEMORY_MISMATCH_STALL", "&&", "targetm", ".", "class_max_nregs", "(", "class1", ",", "mode", ")", ">", "targetm", ".", "class_max_nregs", "(", "class2", ",", "mode", ")", ")", "cost", "+=", "20", ";", "if", "(", "(", "MMX_CLASS_P", "(", "class1", ")", "&&", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", ")", "||", "(", "MMX_CLASS_P", "(", "class2", ")", "&&", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", ")", ")", "cost", "+=", "20", ";", "return", "cost", ";", "}", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", "||", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "return", "MAX", "(", "8", ",", "MMX_CLASS_P", "(", "class1", ")", "||", "MMX_CLASS_P", "(", "class2", ")", "?", "ix86_cost", "->", "mmxsse_to_integer", ":", "ix86_cost", "->", "ssemmx_to_integer", ")", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "fp_move", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "class1", ")", ")", "{", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "<=", "128", ")", "return", "ix86_cost", "->", "xmm_move", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "<=", "256", ")", "return", "ix86_cost", "->", "ymm_move", ";", "return", "ix86_cost", "->", "zmm_move", ";", "}", "if", "(", "MAYBE_MMX_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "mmx_move", ";", "return", "2", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "from", "a", "register", "in", "class", "CLASS1", "to", "one", "in", "class", "CLASS2", ".", "It", "is", "not", "required", "that", "the", "cost", "always", "equal", "2", "when", "FROM", "is", "the", "same", "as", "TO", ";", "on", "some", "machines", "it", "is", "expensive", "to", "move", "between", "registers", "if", "they", "are", "not", "general", "registers", "."], "TS_V_token": ["i386", "1", "2", "2", "20", "20", "8", "128", "256", "2"], "File": "i3867", "Func": "ix86_register_move_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38734, "Length": 258}
{"ground_truth": ["", "static", "bool", "ix86_save_reg", "(", "unsigned", "int", "regno", ",", "bool", "maybe_eh_return", ",", "bool", "ignore_outlined", ")", "{", "if", "(", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "rtx", "reg", "=", "crtl", "->", "return_rtx", ";", "if", "(", "reg", ")", "{", "unsigned", "int", "i", "=", "REGNO", "(", "reg", ")", ";", "unsigned", "int", "nregs", "=", "REG_NREGS", "(", "reg", ")", ";", "while", "(", "nregs", "--", ">", "0", ")", "if", "(", "(", "i", "+", "nregs", ")", "==", "regno", ")", "return", "false", ";", "reg", "=", "crtl", "->", "return_bnd", ";", "if", "(", "reg", ")", "{", "i", "=", "REGNO", "(", "reg", ")", ";", "nregs", "=", "REG_NREGS", "(", "reg", ")", ";", "while", "(", "nregs", "--", ">", "0", ")", "if", "(", "(", "i", "+", "nregs", ")", "==", "regno", ")", "return", "false", ";", "}", "}", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "!", "STACK_REGNO_P", "(", "regno", ")", "&&", "!", "MMX_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", "if", "(", "regno", "==", "REAL_PIC_OFFSET_TABLE_REGNUM", "&&", "pic_offset_table_rtx", ")", "{", "if", "(", "ix86_use_pseudo_pic_reg", "(", ")", ")", "{", "if", "(", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "crtl", "->", "profile", ")", "return", "true", ";", "}", "else", "if", "(", "df_regs_ever_live_p", "(", "REAL_PIC_OFFSET_TABLE_REGNUM", ")", "||", "crtl", "->", "profile", "||", "crtl", "->", "calls_eh_return", "||", "crtl", "->", "uses_const_pool", "||", "cfun", "->", "has_nonlocal_label", ")", "return", "ix86_select_alt_pic_regnum", "(", ")", "==", "INVALID_REGNUM", ";", "}", "if", "(", "crtl", "->", "calls_eh_return", "&&", "maybe_eh_return", ")", "{", "unsigned", "i", ";", "for", "(", "i", "=", "0", ";", ";", "i", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "i", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "regno", ")", "return", "true", ";", "}", "}", "if", "(", "ignore_outlined", "&&", "cfun", "->", "machine", "->", "call_ms2sysv", ")", "{", "unsigned", "count", "=", "cfun", "->", "machine", "->", "call_ms2sysv_extra_regs", "+", "xlogue_layout", "::", "MIN_REGS", ";", "if", "(", "xlogue_layout", "::", "is_stub_managed_reg", "(", "regno", ",", "count", ")", ")", "return", "false", ";", "}", "if", "(", "crtl", "->", "drap_reg", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", "&&", "!", "cfun", "->", "machine", "->", "no_drap_save_restore", ")", "return", "true", ";", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "call_used_regs", "[", "regno", "]", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "we", "need", "to", "save", "REGNO", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i3867", "Func": "ix86_save_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38735, "Length": 364}
{"ground_truth": ["", "static", "void", "ix86_set_current_function", "(", "tree", "fndecl", ")", "{", "if", "(", "fndecl", "==", "ix86_previous_fndecl", ")", "{", "if", "(", "fndecl", "!=", "NULL_TREE", ")", "{", "ix86_set_func_type", "(", "fndecl", ")", ";", "ix86_set_indirect_branch_type", "(", "fndecl", ")", ";", "}", "return", ";", "}", "tree", "old_tree", ";", "if", "(", "ix86_previous_fndecl", "==", "NULL_TREE", ")", "old_tree", "=", "target_option_current_node", ";", "else", "if", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ")", "old_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ";", "else", "old_tree", "=", "target_option_default_node", ";", "if", "(", "fndecl", "==", "NULL_TREE", ")", "{", "if", "(", "old_tree", "!=", "target_option_current_node", ")", "ix86_reset_previous_fndecl", "(", ")", ";", "return", ";", "}", "ix86_set_func_type", "(", "fndecl", ")", ";", "ix86_set_indirect_branch_type", "(", "fndecl", ")", ";", "tree", "new_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", ";", "if", "(", "new_tree", "==", "NULL_TREE", ")", "new_tree", "=", "target_option_default_node", ";", "if", "(", "old_tree", "!=", "new_tree", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "}", "ix86_previous_fndecl", "=", "fndecl", ";", "static", "bool", "prev_no_caller_saved_registers", ";", "if", "(", "TARGET_64BIT", "&&", "(", "call_used_regs", "[", "SI_REG", "]", "==", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", ")", ")", ")", "reinit_regs", "(", ")", ";", "else", "if", "(", "prev_no_caller_saved_registers", "!=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "reinit_regs", "(", ")", ";", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", "||", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "const", "char", "*", "isa", ";", "if", "(", "TARGET_MPX", ")", "isa", "=", "\"MPX\"", ";", "else", "if", "(", "TARGET_SSE", ")", "isa", "=", "\"SSE\"", ";", "else", "if", "(", "TARGET_MMX", ")", "isa", "=", "\"MMX/3Dnow\"", ";", "else", "if", "(", "TARGET_80387", ")", "isa", "=", "\"80387\"", ";", "else", "isa", "=", "NULL", ";", "if", "(", "isa", "!=", "NULL", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "sorry", "(", "\"%s instructions aren't allowed in %s service routine\"", ",", "isa", ",", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "?", "\"exception\"", ":", "\"interrupt\"", ")", ")", ";", "else", "sorry", "(", "\"%s instructions aren't allowed in function with \"", "\"no_caller_saved_registers attribute\"", ",", "isa", ")", ";", "cfun", "->", "machine", "->", "func_type", "=", "TYPE_NORMAL", ";", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "false", ";", "}", "}", "prev_no_caller_saved_registers", "=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ";", "}", ""], "natrual_language": ["Establish", "appropriate", "back-end", "context", "for", "processing", "the", "function", "FNDECL", ".", "The", "argument", "might", "be", "NULL", "to", "indicate", "processing", "at", "top", "level", ",", "outside", "of", "any", "function", "scope", "."], "TS_V_token": ["i386", "\"MPX\"", "\"SSE\"", "\"MMX/3Dnow\"", "\"80387\"", "\"%s instructions aren't allowed in %s service routine\"", "\"exception\"", "\"interrupt\"", "\"%s instructions aren't allowed in function with \"", "\"no_caller_saved_registers attribute\""], "File": "i3867", "Func": "ix86_set_current_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38736, "Length": 358}
{"ground_truth": ["", "static", "void", "ix86_set_func_type", "(", "tree", "fndecl", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_UNKNOWN", ")", "{", "if", "(", "lookup_attribute", "(", "\"interrupt\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "fndecl", ")", ")", ")", ")", "{", "if", "(", "ix86_function_naked", "(", "fndecl", ")", ")", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "fndecl", ")", ",", "\"interrupt and naked attributes are not compatible\"", ")", ";", "int", "nargs", "=", "0", ";", "for", "(", "tree", "arg", "=", "DECL_ARGUMENTS", "(", "fndecl", ")", ";", "arg", ";", "arg", "=", "TREE_CHAIN", "(", "arg", ")", ")", "nargs", "++", ";", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "true", ";", "cfun", "->", "machine", "->", "func_type", "=", "nargs", "==", "2", "?", "TYPE_EXCEPTION", ":", "TYPE_INTERRUPT", ";", "ix86_optimize_mode_switching", "[", "X86_DIRFLAG", "]", "=", "1", ";", "if", "(", "write_symbols", "!=", "NO_DEBUG", "&&", "write_symbols", "!=", "DWARF2_DEBUG", ")", "sorry", "(", "\"Only DWARF debug format is supported for interrupt \"", "\"service routine.\"", ")", ";", "}", "else", "{", "cfun", "->", "machine", "->", "func_type", "=", "TYPE_NORMAL", ";", "if", "(", "lookup_attribute", "(", "\"no_caller_saved_registers\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "fndecl", ")", ")", ")", ")", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "true", ";", "}", "}", "}", ""], "natrual_language": ["Set", "the", "func_type", "field", "from", "the", "function", "FNDECL", "."], "TS_V_token": ["i386", "\"interrupt\"", "\"interrupt and naked attributes are not compatible\"", "0", "2", "1", "\"Only DWARF debug format is supported for interrupt \"", "\"service routine.\"", "\"no_caller_saved_registers\""], "File": "i3867", "Func": "ix86_set_func_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38737, "Length": 161}
{"ground_truth": ["", "static", "void", "ix86_set_indirect_branch_type", "(", "tree", "fndecl", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_unset", ")", "{", "tree", "attr", "=", "lookup_attribute", "(", "\"indirect_branch\"", ",", "DECL_ATTRIBUTES", "(", "fndecl", ")", ")", ";", "if", "(", "attr", "!=", "NULL", ")", "{", "tree", "args", "=", "TREE_VALUE", "(", "attr", ")", ";", "if", "(", "args", "==", "NULL", ")", "gcc_unreachable", "(", ")", ";", "tree", "cst", "=", "TREE_VALUE", "(", "args", ")", ";", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"keep\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "indirect_branch_keep", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "indirect_branch_thunk", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk-inline\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "indirect_branch_thunk_inline", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk-extern\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "indirect_branch_thunk_extern", ";", "else", "gcc_unreachable", "(", ")", ";", "}", "else", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "ix86_indirect_branch", ";", "if", "(", "(", "ix86_cmodel", "==", "CM_LARGE", "||", "ix86_cmodel", "==", "CM_LARGE_PIC", ")", "&&", "(", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk_extern", ")", "||", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk", ")", ")", ")", "error", "(", "\"%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not \"", "\"compatible\"", ",", "(", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk_extern", ")", "?", "\"thunk-extern\"", ":", "\"thunk\"", ")", ")", ";", "if", "(", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk_extern", ")", "&&", "flag_check_pointer_bounds", "&&", "(", "flag_cf_protection", "&", "CF_BRANCH", ")", "!=", "0", ")", "error", "(", "\"%<-mindirect-branch=thunk-extern%>, \"", "\"%<-fcf-protection=branch%> and \"", "\"%<-fcheck-pointer-bounds%> are not compatible\"", ")", ";", "}", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_unset", ")", "{", "tree", "attr", "=", "lookup_attribute", "(", "\"function_return\"", ",", "DECL_ATTRIBUTES", "(", "fndecl", ")", ")", ";", "if", "(", "attr", "!=", "NULL", ")", "{", "tree", "args", "=", "TREE_VALUE", "(", "attr", ")", ";", "if", "(", "args", "==", "NULL", ")", "gcc_unreachable", "(", ")", ";", "tree", "cst", "=", "TREE_VALUE", "(", "args", ")", ";", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"keep\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "function_return_type", "=", "indirect_branch_keep", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "function_return_type", "=", "indirect_branch_thunk", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk-inline\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "function_return_type", "=", "indirect_branch_thunk_inline", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk-extern\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "function_return_type", "=", "indirect_branch_thunk_extern", ";", "else", "gcc_unreachable", "(", ")", ";", "}", "else", "cfun", "->", "machine", "->", "function_return_type", "=", "ix86_function_return", ";", "if", "(", "(", "ix86_cmodel", "==", "CM_LARGE", "||", "ix86_cmodel", "==", "CM_LARGE_PIC", ")", "&&", "(", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk_extern", ")", "||", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk", ")", ")", ")", "error", "(", "\"%<-mfunction-return=%s%> and %<-mcmodel=large%> are not \"", "\"compatible\"", ",", "(", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk_extern", ")", "?", "\"thunk-extern\"", ":", "\"thunk\"", ")", ")", ";", "}", "}", ""], "natrual_language": ["Set", "the", "indirect_branch_type", "field", "from", "the", "function", "FNDECL", "."], "TS_V_token": ["i386", "\"indirect_branch\"", "\"keep\"", "0", "\"thunk\"", "0", "\"thunk-inline\"", "0", "\"thunk-extern\"", "0", "\"%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not \"", "\"compatible\"", "\"thunk-extern\"", "\"thunk\"", "0", "\"%<-mindirect-branch=thunk-extern%>, \"", "\"%<-fcf-protection=branch%> and \"", "\"%<-fcheck-pointer-bounds%> are not compatible\"", "\"function_return\"", "\"keep\"", "0", "\"thunk\"", "0", "\"thunk-inline\"", "0", "\"thunk-extern\"", "0", "\"%<-mfunction-return=%s%> and %<-mcmodel=large%> are not \"", "\"compatible\"", "\"thunk-extern\"", "\"thunk\""], "File": "i3867", "Func": "ix86_set_indirect_branch_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38738, "Length": 478}
{"ground_truth": ["", "static", "int", "ix86_shift_rotate_cost", "(", "const", "struct", "processor_costs", "*", "cost", ",", "enum", "machine_mode", "mode", ",", "bool", "constant_op1", ",", "HOST_WIDE_INT", "op1_val", ",", "bool", "speed", ",", "bool", "and_in_op1", ",", "bool", "shift_and_truncate", ",", "bool", "*", "skip_op0", ",", "bool", "*", "skip_op1", ")", "{", "if", "(", "skip_op0", ")", "*", "skip_op0", "=", "*", "skip_op1", "=", "false", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", "{", "if", "(", "mode", "==", "V16QImode", "||", "mode", "==", "V32QImode", ")", "{", "int", "count", "=", "11", ";", "if", "(", "TARGET_XOP", "&&", "mode", "==", "V16QImode", ")", "{", "if", "(", "constant_op1", ")", "{", "if", "(", "skip_op1", ")", "*", "skip_op1", "=", "true", ";", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "sse_op", "+", "(", "speed", "?", "2", ":", "COSTS_N_BYTES", "(", "GET_MODE_UNIT_SIZE", "(", "mode", ")", ")", ")", ",", "true", ")", ";", "}", "count", "=", "3", ";", "}", "else", "if", "(", "TARGET_SSSE3", ")", "count", "=", "7", ";", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "sse_op", "*", "count", ",", "true", ")", ";", "}", "else", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "sse_op", ",", "true", ")", ";", "}", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "{", "if", "(", "constant_op1", ")", "{", "if", "(", "op1_val", ">", "32", ")", "return", "cost", "->", "shift_const", "+", "COSTS_N_INSNS", "(", "2", ")", ";", "else", "return", "cost", "->", "shift_const", "*", "2", ";", "}", "else", "{", "if", "(", "and_in_op1", ")", "return", "cost", "->", "shift_var", "*", "2", ";", "else", "return", "cost", "->", "shift_var", "*", "6", "+", "COSTS_N_INSNS", "(", "2", ")", ";", "}", "}", "else", "{", "if", "(", "constant_op1", ")", "return", "cost", "->", "shift_const", ";", "else", "if", "(", "shift_and_truncate", ")", "{", "if", "(", "skip_op0", ")", "*", "skip_op0", "=", "*", "skip_op1", "=", "true", ";", "return", "cost", "->", "shift_var", ";", "}", "else", "return", "cost", "->", "shift_var", ";", "}", "return", "cost", "->", "shift_const", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "shift", "in", "MODE", ".", "If", "CONSTANT_OP1", "is", "true", ",", "the", "op1", "value", "is", "known", "and", "set", "in", "OP1_VAL", ".", "AND_IN_OP1", "specify", "in", "op1", "is", "result", "of", "AND", "and", "SHIFT_AND_TRUNCATE", "if", "op1", "is", "a", "result", "of", "subreg", ".", "SKIP_OP0/1", "is", "set", "to", "true", "if", "cost", "of", "OP0/1", "should", "be", "ignored", "."], "TS_V_token": ["i386", "11", "2", "3", "7", "32", "2", "2", "2", "6", "2"], "File": "i3867", "Func": "ix86_shift_rotate_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38739, "Length": 285}
{"ground_truth": ["", "static", "machine_mode", "ix86_split_reduction", "(", "machine_mode", "mode", ")", "{", "switch", "(", "mode", ")", "{", "case", "E_V8DImode", ":", "case", "E_V4DImode", ":", "return", "V2DImode", ";", "case", "E_V16SImode", ":", "case", "E_V8SImode", ":", "return", "V4SImode", ";", "case", "E_V32HImode", ":", "case", "E_V16HImode", ":", "return", "V8HImode", ";", "case", "E_V64QImode", ":", "case", "E_V32QImode", ":", "return", "V16QImode", ";", "case", "E_V16SFmode", ":", "case", "E_V8SFmode", ":", "return", "V4SFmode", ";", "case", "E_V8DFmode", ":", "case", "E_V4DFmode", ":", "return", "V2DFmode", ";", "default", ":", "return", "mode", ";", "}", "}", ""], "natrual_language": ["All", "CPUs", "prefer", "to", "avoid", "cross-lane", "operations", "so", "perform", "reductions", "upper", "against", "lower", "halves", "up", "to", "SSE", "reg", "size", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_split_reduction", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38740, "Length": 74}
{"ground_truth": ["", "static", "tree", "ix86_stack_protect_guard", "(", "void", ")", "{", "if", "(", "TARGET_SSP_TLS_GUARD", ")", "{", "tree", "type_node", "=", "lang_hooks", ".", "types", ".", "type_for_mode", "(", "ptr_mode", ",", "1", ")", ";", "int", "qual", "=", "ENCODE_QUAL_ADDR_SPACE", "(", "ix86_stack_protector_guard_reg", ")", ";", "tree", "type", "=", "build_qualified_type", "(", "type_node", ",", "qual", ")", ";", "tree", "t", ";", "if", "(", "global_options_set", ".", "x_ix86_stack_protector_guard_symbol_str", ")", "{", "t", "=", "ix86_tls_stack_chk_guard_decl", ";", "if", "(", "t", "==", "NULL", ")", "{", "rtx", "x", ";", "t", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "VAR_DECL", ",", "get_identifier", "(", "ix86_stack_protector_guard_symbol_str", ")", ",", "type", ")", ";", "TREE_STATIC", "(", "t", ")", "=", "1", ";", "TREE_PUBLIC", "(", "t", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "t", ")", "=", "1", ";", "TREE_USED", "(", "t", ")", "=", "1", ";", "TREE_THIS_VOLATILE", "(", "t", ")", "=", "1", ";", "DECL_ARTIFICIAL", "(", "t", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "t", ")", "=", "1", ";", "x", "=", "DECL_RTL", "(", "t", ")", ";", "RTX_FLAG", "(", "x", ",", "used", ")", "=", "1", ";", "ix86_tls_stack_chk_guard_decl", "=", "t", ";", "}", "}", "else", "{", "tree", "asptrtype", "=", "build_pointer_type", "(", "type", ")", ";", "t", "=", "build_int_cst", "(", "asptrtype", ",", "ix86_stack_protector_guard_offset", ")", ";", "t", "=", "build2", "(", "MEM_REF", ",", "asptrtype", ",", "t", ",", "build_int_cst", "(", "asptrtype", ",", "0", ")", ")", ";", "}", "return", "t", ";", "}", "return", "default_stack_protect_guard", "(", ")", ";", "}", ""], "natrual_language": ["If", "using", "TLS", "guards", ",", "do", "n't", "waste", "time", "creating", "and", "expanding", "__stack_chk_guard", "decl", "and", "MEM", "as", "we", "are", "going", "to", "ignore", "it", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "1", "1", "1", "1", "1", "0"], "File": "i3867", "Func": "ix86_stack_protect_guard", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38741, "Length": 203}
{"ground_truth": ["", "static", "bool", "ix86_unordered_fp_compare", "(", "enum", "rtx_code", "code", ")", "{", "if", "(", "!", "TARGET_IEEE_FP", ")", "return", "false", ";", "switch", "(", "code", ")", "{", "case", "GT", ":", "case", "GE", ":", "case", "LT", ":", "case", "LE", ":", "return", "false", ";", "case", "EQ", ":", "case", "NE", ":", "case", "LTGT", ":", "case", "UNORDERED", ":", "case", "ORDERED", ":", "case", "UNLT", ":", "case", "UNLE", ":", "case", "UNGT", ":", "case", "UNGE", ":", "case", "UNEQ", ":", "return", "true", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Figure", "out", "whether", "to", "use", "unordered", "fp", "comparisons", "."], "TS_V_token": ["i386"], "File": "i3867", "Func": "ix86_unordered_fp_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38742, "Length": 78}
{"ground_truth": ["", "tree", "ix86_valid_target_attribute_tree", "(", "tree", "args", ",", "struct", "gcc_options", "*", "opts", ",", "struct", "gcc_options", "*", "opts_set", ")", "{", "const", "char", "*", "orig_arch_string", "=", "opts", "->", "x_ix86_arch_string", ";", "const", "char", "*", "orig_tune_string", "=", "opts", "->", "x_ix86_tune_string", ";", "enum", "fpmath_unit", "orig_fpmath_set", "=", "opts_set", "->", "x_ix86_fpmath", ";", "int", "orig_tune_defaulted", "=", "ix86_tune_defaulted", ";", "int", "orig_arch_specified", "=", "ix86_arch_specified", ";", "char", "*", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_MAX", "]", "=", "{", "NULL", ",", "NULL", "}", ";", "tree", "t", "=", "NULL_TREE", ";", "struct", "cl_target_option", "*", "def", "=", "TREE_TARGET_OPTION", "(", "target_option_default_node", ")", ";", "struct", "gcc_options", "enum_opts_set", ";", "memset", "(", "&", "enum_opts_set", ",", "0", ",", "sizeof", "(", "enum_opts_set", ")", ")", ";", "if", "(", "!", "ix86_valid_target_attribute_inner_p", "(", "args", ",", "option_strings", ",", "opts", ",", "opts_set", ",", "&", "enum_opts_set", ")", ")", "return", "error_mark_node", ";", "if", "(", "opts", "->", "x_ix86_isa_flags", "!=", "def", "->", "x_ix86_isa_flags", "||", "opts", "->", "x_ix86_isa_flags2", "!=", "def", "->", "x_ix86_isa_flags2", "||", "opts", "->", "x_target_flags", "!=", "def", "->", "x_target_flags", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", "||", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", "||", "enum_opts_set", ".", "x_ix86_fpmath", ")", "{", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", "{", "opts", "->", "x_ix86_arch_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_ARCH", "]", ")", ";", "opts", "->", "x_ix86_isa_flags", "&=", "(", "OPTION_MASK_ISA_64BIT", "|", "OPTION_MASK_ABI_64", "|", "OPTION_MASK_ABI_X32", "|", "OPTION_MASK_CODE16", ")", ";", "opts", "->", "x_ix86_isa_flags2", "=", "0", ";", "}", "else", "if", "(", "!", "orig_arch_specified", ")", "opts", "->", "x_ix86_arch_string", "=", "NULL", ";", "if", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", "opts", "->", "x_ix86_tune_string", "=", "ggc_strdup", "(", "option_strings", "[", "IX86_FUNCTION_SPECIFIC_TUNE", "]", ")", ";", "else", "if", "(", "orig_tune_defaulted", ")", "opts", "->", "x_ix86_tune_string", "=", "NULL", ";", "if", "(", "enum_opts_set", ".", "x_ix86_fpmath", ")", "opts_set", "->", "x_ix86_fpmath", "=", "(", "enum", "fpmath_unit", ")", "1", ";", "bool", "r", "=", "ix86_option_override_internal", "(", "false", ",", "opts", ",", "opts_set", ")", ";", "if", "(", "!", "r", ")", "{", "release_options_strings", "(", "option_strings", ")", ";", "return", "error_mark_node", ";", "}", "ix86_add_new_builtins", "(", "opts", "->", "x_ix86_isa_flags", ",", "opts", "->", "x_ix86_isa_flags2", ")", ";", "t", "=", "build_target_option_node", "(", "opts", ")", ";", "opts", "->", "x_ix86_arch_string", "=", "orig_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "orig_tune_string", ";", "opts_set", "->", "x_ix86_fpmath", "=", "orig_fpmath_set", ";", "release_options_strings", "(", "option_strings", ")", ";", "}", "return", "t", ";", "}", ""], "natrual_language": ["Return", "a", "TARGET_OPTION_NODE", "tree", "of", "the", "target", "options", "listed", "or", "NULL", "."], "TS_V_token": ["i386", "0", "0", "1"], "File": "i3867", "Func": "ix86_valid_target_attribute_tree", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38743, "Length": 331}
{"ground_truth": ["", "static", "tree", "ix86_vectorize_builtin_gather", "(", "const_tree", "mem_vectype", ",", "const_tree", "index_type", ",", "int", "scale", ")", "{", "bool", "si", ";", "enum", "ix86_builtins", "code", ";", "if", "(", "!", "TARGET_AVX2", "||", "!", "TARGET_USE_GATHER", ")", "return", "NULL_TREE", ";", "if", "(", "(", "TREE_CODE", "(", "index_type", ")", "!=", "INTEGER_TYPE", "&&", "!", "POINTER_TYPE_P", "(", "index_type", ")", ")", "||", "(", "TYPE_MODE", "(", "index_type", ")", "!=", "SImode", "&&", "TYPE_MODE", "(", "index_type", ")", "!=", "DImode", ")", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", ">", "POINTER_SIZE", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", "<", "POINTER_SIZE", "&&", "TYPE_UNSIGNED", "(", "index_type", ")", ")", "return", "NULL_TREE", ";", "if", "(", "scale", "<=", "0", "||", "scale", ">", "8", "||", "(", "scale", "&", "(", "scale", "-", "1", ")", ")", "!=", "0", ")", "return", "NULL_TREE", ";", "si", "=", "TYPE_MODE", "(", "index_type", ")", "==", "SImode", ";", "switch", "(", "TYPE_MODE", "(", "mem_vectype", ")", ")", "{", "case", "E_V2DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV2DF", ":", "IX86_BUILTIN_GATHER3DIV2DF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV2DF", ":", "IX86_BUILTIN_GATHERDIV2DF", ";", "break", ";", "case", "E_V4DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV4DF", ":", "IX86_BUILTIN_GATHER3DIV4DF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERALTSIV4DF", ":", "IX86_BUILTIN_GATHERDIV4DF", ";", "break", ";", "case", "E_V2DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV2DI", ":", "IX86_BUILTIN_GATHER3DIV2DI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV2DI", ":", "IX86_BUILTIN_GATHERDIV2DI", ";", "break", ";", "case", "E_V4DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV4DI", ":", "IX86_BUILTIN_GATHER3DIV4DI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERALTSIV4DI", ":", "IX86_BUILTIN_GATHERDIV4DI", ";", "break", ";", "case", "E_V4SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV4SF", ":", "IX86_BUILTIN_GATHER3DIV4SF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV4SF", ":", "IX86_BUILTIN_GATHERDIV4SF", ";", "break", ";", "case", "E_V8SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV8SF", ":", "IX86_BUILTIN_GATHER3ALTDIV8SF", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV8SF", ":", "IX86_BUILTIN_GATHERALTDIV8SF", ";", "break", ";", "case", "E_V4SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV4SI", ":", "IX86_BUILTIN_GATHER3DIV4SI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV4SI", ":", "IX86_BUILTIN_GATHERDIV4SI", ";", "break", ";", "case", "E_V8SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV8SI", ":", "IX86_BUILTIN_GATHER3ALTDIV8SI", ";", "else", "code", "=", "si", "?", "IX86_BUILTIN_GATHERSIV8SI", ":", "IX86_BUILTIN_GATHERALTDIV8SI", ";", "break", ";", "case", "E_V8DFmode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV8DF", ":", "IX86_BUILTIN_GATHER3DIV8DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V8DImode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3ALTSIV8DI", ":", "IX86_BUILTIN_GATHER3DIV8DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V16SFmode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV16SF", ":", "IX86_BUILTIN_GATHER3ALTDIV16SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V16SImode", ":", "if", "(", "TARGET_AVX512F", ")", "code", "=", "si", "?", "IX86_BUILTIN_GATHER3SIV16SI", ":", "IX86_BUILTIN_GATHER3ALTDIV16SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "return", "ix86_get_builtin", "(", "code", ")", ";", "}", ""], "natrual_language": ["Returns", "a", "decl", "of", "a", "function", "that", "implements", "gather", "load", "with", "memory", "type", "MEM_VECTYPE", "and", "index", "type", "INDEX_VECTYPE", "and", "SCALE", ".", "Return", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "0", "8", "1", "0"], "File": "i3867", "Func": "ix86_vectorize_builtin_gather", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38744, "Length": 444}
{"ground_truth": ["", "static", "tree", "ix86_vectorize_builtin_scatter", "(", "const_tree", "vectype", ",", "const_tree", "index_type", ",", "int", "scale", ")", "{", "bool", "si", ";", "enum", "ix86_builtins", "code", ";", "if", "(", "!", "TARGET_AVX512F", ")", "return", "NULL_TREE", ";", "if", "(", "(", "TREE_CODE", "(", "index_type", ")", "!=", "INTEGER_TYPE", "&&", "!", "POINTER_TYPE_P", "(", "index_type", ")", ")", "||", "(", "TYPE_MODE", "(", "index_type", ")", "!=", "SImode", "&&", "TYPE_MODE", "(", "index_type", ")", "!=", "DImode", ")", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", ">", "POINTER_SIZE", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", "<", "POINTER_SIZE", "&&", "TYPE_UNSIGNED", "(", "index_type", ")", ")", "return", "NULL_TREE", ";", "if", "(", "scale", "<=", "0", "||", "scale", ">", "8", "||", "(", "scale", "&", "(", "scale", "-", "1", ")", ")", "!=", "0", ")", "return", "NULL_TREE", ";", "si", "=", "TYPE_MODE", "(", "index_type", ")", "==", "SImode", ";", "switch", "(", "TYPE_MODE", "(", "vectype", ")", ")", "{", "case", "E_V8DFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DF", ":", "IX86_BUILTIN_SCATTERDIV8DF", ";", "break", ";", "case", "E_V8DImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DI", ":", "IX86_BUILTIN_SCATTERDIV8DI", ";", "break", ";", "case", "E_V16SFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SF", ":", "IX86_BUILTIN_SCATTERALTDIV16SF", ";", "break", ";", "case", "E_V16SImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SI", ":", "IX86_BUILTIN_SCATTERALTDIV16SI", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "return", "ix86_builtins", "[", "code", "]", ";", "}", ""], "natrual_language": ["Returns", "a", "decl", "of", "a", "function", "that", "implements", "scatter", "store", "with", "register", "type", "VECTYPE", "and", "index", "type", "INDEX_TYPE", "and", "SCALE", ".", "Return", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "0", "8", "1", "0"], "File": "i3867", "Func": "ix86_vectorize_builtin_scatter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38745, "Length": 201}
{"ground_truth": ["", "static", "int", "ix86_vec_cost", "(", "machine_mode", "mode", ",", "int", "cost", ",", "bool", "parallel", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "return", "cost", ";", "if", "(", "!", "parallel", ")", "return", "cost", "*", "GET_MODE_NUNITS", "(", "mode", ")", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "==", "128", "&&", "TARGET_SSE_SPLIT_REGS", ")", "return", "cost", "*", "2", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "128", "&&", "TARGET_AVX128_OPTIMAL", ")", "return", "cost", "*", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "128", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "vector", "operation", "in", "MODE", "given", "that", "scalar", "version", "has", "COST", ".", "If", "PARALLEL", "is", "true", "assume", "that", "CPU", "has", "more", "than", "one", "unit", "performing", "the", "operation", "."], "TS_V_token": ["i386", "128", "2", "128", "128"], "File": "i3867", "Func": "ix86_vec_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38746, "Length": 79}
{"ground_truth": ["", "static", "void", "ix86_warn_parameter_passing_abi", "(", "cumulative_args_t", "cum_v", ",", "tree", "type", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "if", "(", "!", "cum", "->", "warn_empty", ")", "return", ";", "if", "(", "!", "TYPE_EMPTY_P", "(", "type", ")", ")", "return", ";", "const_tree", "ctx", "=", "get_ultimate_context", "(", "cum", "->", "decl", ")", ";", "if", "(", "ctx", "!=", "NULL_TREE", "&&", "!", "TRANSLATION_UNIT_WARN_EMPTY_P", "(", "ctx", ")", ")", "return", ";", "if", "(", "int_size_in_bytes", "(", "type", ")", "==", "0", ")", "return", ";", "warning", "(", "OPT_Wabi", ",", "\"empty class %qT parameter passing ABI \"", "\"changes in -fabi-version=12 (GCC 8)\"", ",", "type", ")", ";", "cum", "->", "warn_empty", "=", "false", ";", "}", ""], "natrual_language": ["Implement", "TARGET_WARN_PARAMETER_PASSING_ABI", "."], "TS_V_token": ["i386", "0", "\"empty class %qT parameter passing ABI \"", "\"changes in -fabi-version=12 (GCC 8)\""], "File": "i3867", "Func": "ix86_warn_parameter_passing_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38747, "Length": 91}
{"ground_truth": ["", "static", "tree", "make_resolver_func", "(", "const", "tree", "default_decl", ",", "const", "tree", "ifunc_alias_decl", ",", "basic_block", "*", "empty_bb", ")", "{", "char", "*", "resolver_name", ";", "tree", "decl", ",", "type", ",", "decl_name", ",", "t", ";", "if", "(", "TREE_PUBLIC", "(", "default_decl", ")", "==", "0", ")", "{", "char", "*", "ifunc_name", "=", "make_unique_name", "(", "default_decl", ",", "\"ifunc\"", ",", "true", ")", ";", "symtab", "->", "change_decl_assembler_name", "(", "ifunc_alias_decl", ",", "get_identifier", "(", "ifunc_name", ")", ")", ";", "XDELETEVEC", "(", "ifunc_name", ")", ";", "}", "resolver_name", "=", "make_unique_name", "(", "default_decl", ",", "\"resolver\"", ",", "false", ")", ";", "type", "=", "build_function_type_list", "(", "ptr_type_node", ",", "NULL_TREE", ")", ";", "decl", "=", "build_fn_decl", "(", "resolver_name", ",", "type", ")", ";", "decl_name", "=", "get_identifier", "(", "resolver_name", ")", ";", "SET_DECL_ASSEMBLER_NAME", "(", "decl", ",", "decl_name", ")", ";", "DECL_NAME", "(", "decl", ")", "=", "decl_name", ";", "TREE_USED", "(", "decl", ")", "=", "1", ";", "DECL_ARTIFICIAL", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "1", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "0", ";", "DECL_UNINLINABLE", "(", "decl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "decl", ")", "=", "0", ";", "DECL_EXTERNAL", "(", "ifunc_alias_decl", ")", "=", "0", ";", "DECL_CONTEXT", "(", "decl", ")", "=", "NULL_TREE", ";", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "DECL_STATIC_CONSTRUCTOR", "(", "decl", ")", "=", "0", ";", "if", "(", "DECL_COMDAT_GROUP", "(", "default_decl", ")", "||", "TREE_PUBLIC", "(", "default_decl", ")", ")", "{", "DECL_COMDAT", "(", "decl", ")", "=", "1", ";", "make_decl_one_only", "(", "decl", ",", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "}", "t", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "ptr_type_node", ")", ";", "DECL_ARTIFICIAL", "(", "t", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "t", ")", "=", "1", ";", "DECL_RESULT", "(", "decl", ")", "=", "t", ";", "gimplify_function_tree", "(", "decl", ")", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "decl", ")", ")", ";", "*", "empty_bb", "=", "init_lowered_empty_function", "(", "decl", ",", "false", ",", "profile_count", "::", "uninitialized", "(", ")", ")", ";", "cgraph_node", "::", "add_new_function", "(", "decl", ",", "true", ")", ";", "symtab", "->", "call_cgraph_insertion_hooks", "(", "cgraph_node", "::", "get_create", "(", "decl", ")", ")", ";", "pop_cfun", "(", ")", ";", "gcc_assert", "(", "ifunc_alias_decl", "!=", "NULL", ")", ";", "DECL_ATTRIBUTES", "(", "ifunc_alias_decl", ")", "=", "make_attribute", "(", "\"ifunc\"", ",", "resolver_name", ",", "DECL_ATTRIBUTES", "(", "ifunc_alias_decl", ")", ")", ";", "cgraph_node", "::", "create_same_body_alias", "(", "ifunc_alias_decl", ",", "decl", ")", ";", "XDELETEVEC", "(", "resolver_name", ")", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Make", "the", "resolver", "function", "decl", "to", "dispatch", "the", "versions", "of", "a", "multi-", "versioned", "function", ",", "DEFAULT_DECL", ".", "Create", "an", "empty", "basic", "block", "in", "the", "resolver", "and", "store", "the", "pointer", "in", "EMPTY_BB", ".", "Return", "the", "decl", "of", "the", "resolver", "function", "."], "TS_V_token": ["i386", "0", "\"ifunc\"", "\"resolver\"", "1", "1", "1", "0", "1", "0", "0", "0", "1", "1", "1", "\"ifunc\""], "File": "i3867", "Func": "make_resolver_func", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38748, "Length": 355}
{"ground_truth": ["", "static", "void", "output_indirect_thunk", "(", "enum", "indirect_thunk_prefix", "need_prefix", ",", "unsigned", "int", "regno", ")", "{", "char", "indirectlabel1", "[", "32", "]", ";", "char", "indirectlabel2", "[", "32", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel1", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel2", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fputs", "(", "\"\\tbnd call\\t\"", ",", "asm_out_file", ")", ";", "else", "fputs", "(", "\"\\tcall\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tpause\\n\\tlfence\\n\"", ")", ";", "fputs", "(", "\"\\tjmp\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "if", "(", "regno", "!=", "INVALID_REGNUM", ")", "{", "rtx", "xops", "[", "2", "]", ";", "xops", "[", "0", "]", "=", "gen_rtx_MEM", "(", "word_mode", ",", "stack_pointer_rtx", ")", ";", "xops", "[", "1", "]", "=", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ";", "output_asm_insn", "(", "\"mov\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "}", "else", "{", "rtx", "xops", "[", "2", "]", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "UNITS_PER_WORD", ")", ";", "output_asm_insn", "(", "\"lea\\t{%E1, %0|%0, %E1}\"", ",", "xops", ")", ";", "}", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_bnd", ")", "fputs", "(", "\"\\tbnd ret\\n\"", ",", "asm_out_file", ")", ";", "else", "fputs", "(", "\"\\tret\\n\"", ",", "asm_out_file", ")", ";", "}", ""], "natrual_language": ["Output", "a", "call", "and", "return", "thunk", "for", "indirect", "branch", ".", "If", "BND_P", "is", "true", ",", "the", "BND", "prefix", "is", "needed", ".", "If", "REGNO", "!", "=", "-1", ",", "the", "function", "address", "is", "in", "REGNO", "and", "the", "call", "and", "return", "thunk", "looks", "like", ":", "call", "L2", "L1", ":", "pause", "lfence", "jmp", "L1", "L2", ":", "mov", "%", "REG", ",", "(", "%", "sp", ")", "ret", "Otherwise", ",", "the", "function", "address", "is", "on", "the", "top", "of", "stack", "and", "the", "call", "and", "return", "thunk", "looks", "like", ":", "call", "L2", "L1", ":", "pause", "lfence", "jmp", "L1", "L2", ":", "lea", "WORD_SIZE", "(", "%", "sp", ")", ",", "%", "sp", "ret"], "TS_V_token": ["i386", "32", "32", "\"\\tbnd call\\t\"", "\"\\tcall\\t\"", "\"\\tpause\\n\\tlfence\\n\"", "\"\\tjmp\\t\"", "2", "0", "1", "\"mov\\t{%1, %0|%0, %1}\"", "2", "0", "1", "\"lea\\t{%E1, %0|%0, %E1}\"", "\"\\tbnd ret\\n\"", "\"\\tret\\n\""], "File": "i3867", "Func": "output_indirect_thunk", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38749, "Length": 226}
{"ground_truth": ["", "static", "void", "output_indirect_thunk_function", "(", "enum", "indirect_thunk_prefix", "need_prefix", ",", "unsigned", "int", "regno", ",", "bool", "ret_p", ")", "{", "char", "name", "[", "32", "]", ";", "tree", "decl", ";", "indirect_thunk_name", "(", "name", ",", "regno", ",", "need_prefix", ",", "ret_p", ")", ";", "decl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "build_function_type_list", "(", "void_type_node", ",", "NULL_TREE", ")", ")", ";", "DECL_RESULT", "(", "decl", ")", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "void_type_node", ")", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "1", ";", "TREE_STATIC", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "1", ";", "if", "(", "TARGET_MACHO", ")", "{", "switch_to_section", "(", "darwin_sections", "[", "picbase_thunk_section", "]", ")", ";", "fputs", "(", "\"\\t.weak_definition\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\n\\t.private_extern\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "DECL_WEAK", "(", "decl", ")", "=", "1", ";", "}", "else", "if", "(", "USE_HIDDEN_LINKONCE", ")", "{", "cgraph_node", "::", "create", "(", "decl", ")", "->", "set_comdat_group", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "targetm", ".", "asm_out", ".", "unique_section", "(", "decl", ",", "0", ")", ";", "switch_to_section", "(", "get_named_section", "(", "decl", ",", "NULL", ",", "0", ")", ")", ";", "targetm", ".", "asm_out", ".", "globalize_label", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\t.hidden\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_DECLARE_FUNCTION_NAME", "(", "asm_out_file", ",", "name", ",", "decl", ")", ";", "}", "else", "{", "switch_to_section", "(", "text_section", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "}", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "current_function_decl", "=", "decl", ";", "allocate_struct_function", "(", "decl", ",", "false", ")", ";", "init_function_start", "(", "decl", ")", ";", "cfun", "->", "is_thunk", "=", "true", ";", "first_function_block_is_cold", "=", "false", ";", "final_start_function", "(", "emit_barrier", "(", ")", ",", "asm_out_file", ",", "1", ")", ";", "output_indirect_thunk", "(", "need_prefix", ",", "regno", ")", ";", "final_end_function", "(", ")", ";", "init_insn_lengths", "(", ")", ";", "free_after_compilation", "(", "cfun", ")", ";", "set_cfun", "(", "NULL", ")", ";", "current_function_decl", "=", "NULL", ";", "}", ""], "natrual_language": ["Output", "a", "funtion", "with", "a", "call", "and", "return", "thunk", "for", "indirect", "branch", ".", "If", "BND_P", "is", "true", ",", "the", "BND", "prefix", "is", "needed", ".", "If", "REGNO", "!", "=", "UNVALID_REGNUM", ",", "the", "function", "address", "is", "in", "REGNO", ".", "Otherwise", ",", "the", "function", "address", "is", "on", "the", "top", "of", "stack", ".", "Thunk", "is", "used", "for", "function", "return", "if", "RET_P", "is", "true", "."], "TS_V_token": ["i386", "32", "1", "1", "1", "\"\\t.weak_definition\\t\"", "\"\\n\\t.private_extern\\t\"", "1", "0", "0", "\"\\t.hidden\\t\"", "1"], "File": "i3867", "Func": "output_indirect_thunk_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38750, "Length": 335}
{"ground_truth": ["", "static", "void", "parse_mtune_ctrl_str", "(", "bool", "dump", ")", "{", "if", "(", "!", "ix86_tune_ctrl_string", ")", "return", ";", "char", "*", "next_feature_string", "=", "NULL", ";", "char", "*", "curr_feature_string", "=", "xstrdup", "(", "ix86_tune_ctrl_string", ")", ";", "char", "*", "orig", "=", "curr_feature_string", ";", "int", "i", ";", "do", "{", "bool", "clear", "=", "false", ";", "next_feature_string", "=", "strchr", "(", "curr_feature_string", ",", "','", ")", ";", "if", "(", "next_feature_string", ")", "*", "next_feature_string", "++", "=", "'\\0'", ";", "if", "(", "*", "curr_feature_string", "==", "'^'", ")", "{", "curr_feature_string", "++", ";", "clear", "=", "true", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "i", "++", ")", "{", "if", "(", "!", "strcmp", "(", "curr_feature_string", ",", "ix86_tune_feature_names", "[", "i", "]", ")", ")", "{", "ix86_tune_features", "[", "i", "]", "=", "!", "clear", ";", "if", "(", "dump", ")", "fprintf", "(", "stderr", ",", "\"Explicitly %s feature %s\\n\"", ",", "clear", "?", "\"clear\"", ":", "\"set\"", ",", "ix86_tune_feature_names", "[", "i", "]", ")", ";", "break", ";", "}", "}", "if", "(", "i", "==", "X86_TUNE_LAST", ")", "error", "(", "\"unknown parameter to option -mtune-ctrl: %s\"", ",", "clear", "?", "curr_feature_string", "-", "1", ":", "curr_feature_string", ")", ";", "curr_feature_string", "=", "next_feature_string", ";", "}", "while", "(", "curr_feature_string", ")", ";", "free", "(", "orig", ")", ";", "}", ""], "natrual_language": ["parse", "-mtune-ctrl=", "option", ".", "When", "DUMP", "is", "true", ",", "print", "the", "features", "that", "are", "explicitly", "set", "."], "TS_V_token": ["i386", "0", "\"Explicitly %s feature %s\\n\"", "\"clear\"", "\"set\"", "\"unknown parameter to option -mtune-ctrl: %s\"", "1"], "File": "i3867", "Func": "parse_mtune_ctrl_str", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38751, "Length": 178}
{"ground_truth": ["", "static", "rtx", "pro_epilogue_adjust_stack", "(", "rtx", "dest", ",", "rtx", "src", ",", "rtx", "offset", ",", "int", "style", ",", "bool", "set_cfa", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "insn", ";", "bool", "add_frame_related_expr", "=", "false", ";", "if", "(", "Pmode", "==", "SImode", ")", "insn", "=", "gen_pro_epilogue_adjust_stack_si_add", "(", "dest", ",", "src", ",", "offset", ")", ";", "else", "if", "(", "x86_64_immediate_operand", "(", "offset", ",", "DImode", ")", ")", "insn", "=", "gen_pro_epilogue_adjust_stack_di_add", "(", "dest", ",", "src", ",", "offset", ")", ";", "else", "{", "rtx", "tmp", ";", "if", "(", "style", ")", "tmp", "=", "gen_rtx_REG", "(", "DImode", ",", "R11_REG", ")", ";", "else", "{", "gcc_assert", "(", "src", "!=", "hard_frame_pointer_rtx", "&&", "dest", "!=", "hard_frame_pointer_rtx", ")", ";", "tmp", "=", "hard_frame_pointer_rtx", ";", "}", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "tmp", ",", "offset", ")", ")", ";", "if", "(", "style", "<", "0", ")", "add_frame_related_expr", "=", "true", ";", "insn", "=", "gen_pro_epilogue_adjust_stack_di_add", "(", "dest", ",", "src", ",", "tmp", ")", ";", "}", "insn", "=", "emit_insn", "(", "insn", ")", ";", "if", "(", "style", ">=", "0", ")", "ix86_add_queued_cfa_restore_notes", "(", "insn", ")", ";", "if", "(", "set_cfa", ")", "{", "rtx", "r", ";", "gcc_assert", "(", "m", "->", "fs", ".", "cfa_reg", "==", "src", ")", ";", "m", "->", "fs", ".", "cfa_offset", "+=", "INTVAL", "(", "offset", ")", ";", "m", "->", "fs", ".", "cfa_reg", "=", "dest", ";", "r", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "src", ",", "offset", ")", ";", "r", "=", "gen_rtx_SET", "(", "dest", ",", "r", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_ADJUST_CFA", ",", "r", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "else", "if", "(", "style", "<", "0", ")", "{", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "add_frame_related_expr", ")", "{", "rtx", "r", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "src", ",", "offset", ")", ";", "r", "=", "gen_rtx_SET", "(", "dest", ",", "r", ")", ";", "add_reg_note", "(", "insn", ",", "REG_FRAME_RELATED_EXPR", ",", "r", ")", ";", "}", "}", "if", "(", "dest", "==", "stack_pointer_rtx", ")", "{", "HOST_WIDE_INT", "ooffset", "=", "m", "->", "fs", ".", "sp_offset", ";", "bool", "valid", "=", "m", "->", "fs", ".", "sp_valid", ";", "bool", "realigned", "=", "m", "->", "fs", ".", "sp_realigned", ";", "if", "(", "src", "==", "hard_frame_pointer_rtx", ")", "{", "valid", "=", "m", "->", "fs", ".", "fp_valid", ";", "realigned", "=", "false", ";", "ooffset", "=", "m", "->", "fs", ".", "fp_offset", ";", "}", "else", "if", "(", "src", "==", "crtl", "->", "drap_reg", ")", "{", "valid", "=", "m", "->", "fs", ".", "drap_valid", ";", "realigned", "=", "false", ";", "ooffset", "=", "0", ";", "}", "else", "{", "gcc_checking_assert", "(", "src", "==", "stack_pointer_rtx", "||", "offset", "==", "const0_rtx", ")", ";", "}", "m", "->", "fs", ".", "sp_offset", "=", "ooffset", "-", "INTVAL", "(", "offset", ")", ";", "m", "->", "fs", ".", "sp_valid", "=", "valid", ";", "m", "->", "fs", ".", "sp_realigned", "=", "realigned", ";", "}", "return", "insn", ";", "}", ""], "natrual_language": ["Expand", "prologue", "or", "epilogue", "stack", "adjustment", ".", "The", "pattern", "exist", "to", "put", "a", "dependency", "on", "all", "ebp-based", "memory", "accesses", ".", "STYLE", "should", "be", "negative", "if", "instructions", "should", "be", "marked", "as", "frame", "related", ",", "zero", "if", "%", "r11", "register", "is", "live", "and", "can", "not", "be", "freely", "used", "and", "positive", "otherwise", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "0"], "File": "i3867", "Func": "pro_epilogue_adjust_stack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38752, "Length": 427}
{"ground_truth": ["", "static", "unsigned", "int", "rest_of_insert_endbranch", "(", "void", ")", "{", "timevar_push", "(", "TV_MACH_DEP", ")", ";", "rtx", "cet_eb", ";", "rtx_insn", "*", "insn", ";", "basic_block", "bb", ";", "if", "(", "!", "lookup_attribute", "(", "\"nocf_check\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "cfun", "->", "decl", ")", ")", ")", "&&", "!", "cgraph_node", "::", "get", "(", "cfun", "->", "decl", ")", "->", "only_called_directly_p", "(", ")", ")", "{", "cet_eb", "=", "gen_nop_endbr", "(", ")", ";", "bb", "=", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", "->", "next_bb", ";", "insn", "=", "BB_HEAD", "(", "bb", ")", ";", "emit_insn_before", "(", "cet_eb", ",", "insn", ")", ";", "}", "bb", "=", "0", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "for", "(", "insn", "=", "BB_HEAD", "(", "bb", ")", ";", "insn", "!=", "NEXT_INSN", "(", "BB_END", "(", "bb", ")", ")", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "if", "(", "find_reg_note", "(", "insn", ",", "REG_SETJMP", ",", "NULL", ")", "==", "NULL", ")", "continue", ";", "cet_eb", "=", "gen_nop_endbr", "(", ")", ";", "emit_insn_after_setloc", "(", "cet_eb", ",", "insn", ",", "INSN_LOCATION", "(", "insn", ")", ")", ";", "continue", ";", "}", "if", "(", "JUMP_P", "(", "insn", ")", "&&", "flag_cet_switch", ")", "{", "rtx", "target", "=", "JUMP_LABEL", "(", "insn", ")", ";", "if", "(", "target", "==", "NULL_RTX", "||", "ANY_RETURN_P", "(", "target", ")", ")", "continue", ";", "rtx_insn", "*", "label", "=", "as_a", "<", "rtx_insn", "*", ">", "(", "target", ")", ";", "rtx_insn", "*", "table", "=", "next_insn", "(", "label", ")", ";", "if", "(", "table", "==", "NULL_RTX", "||", "!", "JUMP_TABLE_DATA_P", "(", "table", ")", ")", "continue", ";", "edge_iterator", "ei", ";", "edge", "e", ";", "basic_block", "dest_blk", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "succs", ")", "{", "rtx_insn", "*", "insn", ";", "dest_blk", "=", "e", "->", "dest", ";", "insn", "=", "BB_HEAD", "(", "dest_blk", ")", ";", "gcc_assert", "(", "LABEL_P", "(", "insn", ")", ")", ";", "cet_eb", "=", "gen_nop_endbr", "(", ")", ";", "emit_insn_after", "(", "cet_eb", ",", "insn", ")", ";", "}", "continue", ";", "}", "if", "(", "(", "LABEL_P", "(", "insn", ")", "&&", "LABEL_PRESERVE_P", "(", "insn", ")", ")", "||", "(", "NOTE_P", "(", "insn", ")", "&&", "NOTE_KIND", "(", "insn", ")", "==", "NOTE_INSN_DELETED_LABEL", ")", ")", "{", "cet_eb", "=", "gen_nop_endbr", "(", ")", ";", "emit_insn_after", "(", "cet_eb", ",", "insn", ")", ";", "continue", ";", "}", "}", "}", "timevar_pop", "(", "TV_MACH_DEP", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["Inserting", "ENDBRANCH", "instructions", "."], "TS_V_token": ["i386", "\"nocf_check\"", "0", "0"], "File": "i3867", "Func": "rest_of_insert_endbranch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38753, "Length": 353}
{"ground_truth": ["", "static", "void", "set_ix86_tune_features", "(", "enum", "processor_type", "ix86_tune", ",", "bool", "dump", ")", "{", "unsigned", "HOST_WIDE_INT", "ix86_tune_mask", "=", "HOST_WIDE_INT_1U", "<<", "ix86_tune", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "++", "i", ")", "{", "if", "(", "ix86_tune_no_default", ")", "ix86_tune_features", "[", "i", "]", "=", "0", ";", "else", "ix86_tune_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_tune_features", "[", "i", "]", "&", "ix86_tune_mask", ")", ";", "}", "if", "(", "dump", ")", "{", "fprintf", "(", "stderr", ",", "\"List of x86 specific tuning parameter names:\\n\"", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "i", "++", ")", "fprintf", "(", "stderr", ",", "\"%s : %s\\n\"", ",", "ix86_tune_feature_names", "[", "i", "]", ",", "ix86_tune_features", "[", "i", "]", "?", "\"on\"", ":", "\"off\"", ")", ";", "}", "parse_mtune_ctrl_str", "(", "dump", ")", ";", "}", ""], "natrual_language": ["Helper", "function", "to", "set", "ix86_tune_features", ".", "IX86_TUNE", "is", "the", "processor", "type", "."], "TS_V_token": ["i386", "0", "0", "\"List of x86 specific tuning parameter names:\\n\"", "0", "\"%s : %s\\n\"", "\"on\"", "\"off\""], "File": "i3867", "Func": "set_ix86_tune_features", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38754, "Length": 119}
{"ground_truth": ["", "void", "split_double_mode", "(", "machine_mode", "mode", ",", "rtx", "operands", "[", "]", ",", "int", "num", ",", "rtx", "lo_half", "[", "]", ",", "rtx", "hi_half", "[", "]", ")", "{", "machine_mode", "half_mode", ";", "unsigned", "int", "byte", ";", "switch", "(", "mode", ")", "{", "case", "E_TImode", ":", "half_mode", "=", "DImode", ";", "break", ";", "case", "E_DImode", ":", "half_mode", "=", "SImode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "byte", "=", "GET_MODE_SIZE", "(", "half_mode", ")", ";", "while", "(", "num", "--", ")", "{", "rtx", "op", "=", "operands", "[", "num", "]", ";", "if", "(", "MEM_P", "(", "op", ")", ")", "{", "lo_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "half_mode", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "adjust_address", "(", "op", ",", "half_mode", ",", "byte", ")", ";", "}", "else", "{", "lo_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "half_mode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "mode", ":", "GET_MODE", "(", "op", ")", ",", "0", ")", ";", "hi_half", "[", "num", "]", "=", "simplify_gen_subreg", "(", "half_mode", ",", "op", ",", "GET_MODE", "(", "op", ")", "==", "VOIDmode", "?", "mode", ":", "GET_MODE", "(", "op", ")", ",", "byte", ")", ";", "}", "}", "}", ""], "natrual_language": ["Split", "one", "or", "more", "double-mode", "RTL", "references", "into", "pairs", "of", "half-mode", "references", ".", "The", "RTL", "can", "be", "REG", ",", "offsettable", "MEM", ",", "integer", "constant", ",", "or", "CONST_DOUBLE", ".", "``", "operands", "''", "is", "a", "pointer", "to", "an", "array", "of", "double-mode", "RTLs", "to", "split", "and", "``", "num", "''", "is", "its", "length", ".", "lo_half", "and", "hi_half", "are", "output", "arrays", "that", "parallel", "``", "operands", "''", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3867", "Func": "split_double_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38755, "Length": 181}
{"ground_truth": ["", "static", "void", "warn_once_call_ms2sysv_xlogues", "(", "const", "char", "*", "feature", ")", "{", "static", "bool", "warned_once", "=", "false", ";", "if", "(", "!", "warned_once", ")", "{", "warning", "(", "0", ",", "\"-mcall-ms2sysv-xlogues is not compatible with %s\"", ",", "feature", ")", ";", "warned_once", "=", "true", ";", "}", "}", ""], "natrual_language": ["Emits", "a", "warning", "for", "unsupported", "msabi", "to", "sysv", "pro/epilogues", "."], "TS_V_token": ["i386", "0", "\"-mcall-ms2sysv-xlogues is not compatible with %s\""], "File": "i3867", "Func": "warn_once_call_ms2sysv_xlogues", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38756, "Length": 37}
{"ground_truth": ["", "static", "void", "x86_print_call_or_nop", "(", "FILE", "*", "file", ",", "const", "char", "*", "target", ")", "{", "if", "(", "flag_nop_mcount", ")", "fprintf", "(", "file", ",", "\"1:\"", "ASM_BYTE", "\"0x0f, 0x1f, 0x44, 0x00, 0x00\\n\"", ")", ";", "else", "fprintf", "(", "file", ",", "\"1:\\tcall\\t%s\\n\"", ",", "target", ")", ";", "}", ""], "natrual_language": ["Print", "call", "to", "TARGET", "to", "FILE", "."], "TS_V_token": ["i386", "\"1:\"", "\"0x0f, 0x1f, 0x44, 0x00, 0x00\\n\"", "\"1:\\tcall\\t%s\\n\""], "File": "i3867", "Func": "x86_print_call_or_nop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38757, "Length": 38}
{"ground_truth": ["", "static", "inline", "tree", "def_builtin", "(", "HOST_WIDE_INT", "mask", ",", "HOST_WIDE_INT", "mask2", ",", "const", "char", "*", "name", ",", "enum", "ix86_builtin_func_type", "tcode", ",", "enum", "ix86_builtins", "code", ")", "{", "tree", "decl", "=", "NULL_TREE", ";", "if", "(", "!", "(", "mask", "&", "OPTION_MASK_ISA_64BIT", ")", "||", "TARGET_64BIT", ")", "{", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa", "=", "mask", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "isa2", "=", "mask2", ";", "mask", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512VL", ")", "&&", "mask", "!=", "OPTION_MASK_ISA_AVX512VL", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512VL", ";", "if", "(", "(", "mask", "&", "ix86_isa_flags", "&", "OPTION_MASK_ISA_AVX512BW", ")", "&&", "mask", "!=", "OPTION_MASK_ISA_AVX512BW", ")", "mask", "&=", "~", "OPTION_MASK_ISA_AVX512BW", ";", "if", "(", "(", "(", "mask2", "==", "0", "||", "(", "mask2", "&", "ix86_isa_flags2", ")", "!=", "0", ")", "&&", "(", "mask", "==", "0", "||", "(", "mask", "&", "ix86_isa_flags", ")", "!=", "0", ")", ")", "||", "(", "lang_hooks", ".", "builtin_function", "==", "lang_hooks", ".", "builtin_function_ext_scope", ")", ")", "{", "tree", "type", "=", "ix86_get_builtin_func_type", "(", "tcode", ")", ";", "decl", "=", "add_builtin_function", "(", "name", ",", "type", ",", "code", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "decl", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "false", ";", "}", "else", "{", "deferred_isa_values", "|=", "mask", ";", "deferred_isa_values2", "|=", "mask2", ";", "ix86_builtins", "[", "(", "int", ")", "code", "]", "=", "NULL_TREE", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "tcode", "=", "tcode", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "name", "=", "name", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "const_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "pure_p", "=", "false", ";", "ix86_builtins_isa", "[", "(", "int", ")", "code", "]", ".", "set_and_not_built_p", "=", "true", ";", "}", "}", "return", "decl", ";", "}", ""], "natrual_language": ["Add", "a", "SPARC", "builtin", "function", "with", "NAME", ",", "ICODE", ",", "CODE", "and", "TYPE", ".", "Return", "the", "function", "decl", "or", "NULL_TREE", "if", "the", "builtin", "was", "not", "added", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i3868", "Func": "def_builtin", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38758, "Length": 286}
{"ground_truth": ["", "static", "bool", "dimode_scalar_to_vector_candidate_p", "(", "rtx_insn", "*", "insn", ")", "{", "rtx", "def_set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "def_set", ")", "return", "false", ";", "if", "(", "has_non_address_hard_reg", "(", "insn", ")", ")", "return", "false", ";", "rtx", "src", "=", "SET_SRC", "(", "def_set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "def_set", ")", ";", "if", "(", "GET_CODE", "(", "src", ")", "==", "COMPARE", ")", "return", "convertible_comparison_p", "(", "insn", ")", ";", "if", "(", "(", "GET_MODE", "(", "src", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "src", ")", ")", "||", "GET_MODE", "(", "dst", ")", "!=", "DImode", ")", "return", "false", ";", "if", "(", "!", "REG_P", "(", "dst", ")", "&&", "!", "MEM_P", "(", "dst", ")", ")", "return", "false", ";", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "case", "ASHIFTRT", ":", "if", "(", "!", "TARGET_AVX512VL", ")", "return", "false", ";", "case", "ASHIFT", ":", "case", "LSHIFTRT", ":", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "||", "!", "IN_RANGE", "(", "INTVAL", "(", "XEXP", "(", "src", ",", "1", ")", ")", ",", "0", ",", "63", ")", ")", "return", "false", ";", "break", ";", "case", "PLUS", ":", "case", "MINUS", ":", "case", "IOR", ":", "case", "XOR", ":", "case", "AND", ":", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "1", ")", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "return", "false", ";", "break", ";", "case", "NEG", ":", "case", "NOT", ":", "break", ";", "case", "REG", ":", "return", "true", ";", "case", "MEM", ":", "case", "CONST_INT", ":", "return", "REG_P", "(", "dst", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", "&&", "(", "GET_CODE", "(", "src", ")", "!=", "AND", "||", "GET_CODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "NOT", "||", "!", "REG_P", "(", "XEXP", "(", "XEXP", "(", "src", ",", "0", ")", ",", "0", ")", ")", ")", ")", "return", "false", ";", "if", "(", "GET_MODE", "(", "XEXP", "(", "src", ",", "0", ")", ")", "!=", "DImode", "&&", "!", "CONST_INT_P", "(", "XEXP", "(", "src", ",", "0", ")", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["The", "DImode", "version", "of", "scalar_to_vector_candidate_p", "."], "TS_V_token": ["i386", "1", "1", "0", "63", "1", "1", "1", "1", "1", "0", "0", "0", "0", "0", "0", "0", "0"], "File": "i3868", "Func": "dimode_scalar_to_vector_candidate_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38759, "Length": 393}
{"ground_truth": ["", "static", "inline", "int", "inline_memory_move_cost", "(", "machine_mode", "mode", ",", "enum", "reg_class", "regclass", ",", "int", "in", ")", "{", "int", "cost", ";", "if", "(", "FLOAT_CLASS_P", "(", "regclass", ")", ")", "{", "int", "index", ";", "switch", "(", "mode", ")", "{", "case", "E_SFmode", ":", "index", "=", "0", ";", "break", ";", "case", "E_DFmode", ":", "index", "=", "1", ";", "break", ";", "case", "E_XFmode", ":", "index", "=", "2", ";", "break", ";", "default", ":", "return", "100", ";", "}", "if", "(", "in", "==", "2", ")", "return", "MAX", "(", "ix86_cost", "->", "fp_load", "[", "index", "]", ",", "ix86_cost", "->", "fp_store", "[", "index", "]", ")", ";", "return", "in", "?", "ix86_cost", "->", "fp_load", "[", "index", "]", ":", "ix86_cost", "->", "fp_store", "[", "index", "]", ";", "}", "if", "(", "SSE_CLASS_P", "(", "regclass", ")", ")", "{", "int", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "==", "-", "1", ")", "return", "100", ";", "if", "(", "in", "==", "2", ")", "return", "MAX", "(", "ix86_cost", "->", "sse_load", "[", "index", "]", ",", "ix86_cost", "->", "sse_store", "[", "index", "]", ")", ";", "return", "in", "?", "ix86_cost", "->", "sse_load", "[", "index", "]", ":", "ix86_cost", "->", "sse_store", "[", "index", "]", ";", "}", "if", "(", "MMX_CLASS_P", "(", "regclass", ")", ")", "{", "int", "index", ";", "switch", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", "{", "case", "4", ":", "index", "=", "0", ";", "break", ";", "case", "8", ":", "index", "=", "1", ";", "break", ";", "default", ":", "return", "100", ";", "}", "if", "(", "in", "==", "2", ")", "return", "MAX", "(", "ix86_cost", "->", "mmx_load", "[", "index", "]", ",", "ix86_cost", "->", "mmx_store", "[", "index", "]", ")", ";", "return", "in", "?", "ix86_cost", "->", "mmx_load", "[", "index", "]", ":", "ix86_cost", "->", "mmx_store", "[", "index", "]", ";", "}", "switch", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", "{", "case", "1", ":", "if", "(", "Q_CLASS_P", "(", "regclass", ")", "||", "TARGET_64BIT", ")", "{", "if", "(", "!", "in", ")", "return", "ix86_cost", "->", "int_store", "[", "0", "]", ";", "if", "(", "TARGET_PARTIAL_REG_DEPENDENCY", "&&", "optimize_function_for_speed_p", "(", "cfun", ")", ")", "cost", "=", "ix86_cost", "->", "movzbl_load", ";", "else", "cost", "=", "ix86_cost", "->", "int_load", "[", "0", "]", ";", "if", "(", "in", "==", "2", ")", "return", "MAX", "(", "cost", ",", "ix86_cost", "->", "int_store", "[", "0", "]", ")", ";", "return", "cost", ";", "}", "else", "{", "if", "(", "in", "==", "2", ")", "return", "MAX", "(", "ix86_cost", "->", "movzbl_load", ",", "ix86_cost", "->", "int_store", "[", "0", "]", "+", "4", ")", ";", "if", "(", "in", ")", "return", "ix86_cost", "->", "movzbl_load", ";", "else", "return", "ix86_cost", "->", "int_store", "[", "0", "]", "+", "4", ";", "}", "break", ";", "case", "2", ":", "if", "(", "in", "==", "2", ")", "return", "MAX", "(", "ix86_cost", "->", "int_load", "[", "1", "]", ",", "ix86_cost", "->", "int_store", "[", "1", "]", ")", ";", "return", "in", "?", "ix86_cost", "->", "int_load", "[", "1", "]", ":", "ix86_cost", "->", "int_store", "[", "1", "]", ";", "default", ":", "if", "(", "in", "==", "2", ")", "cost", "=", "MAX", "(", "ix86_cost", "->", "int_load", "[", "2", "]", ",", "ix86_cost", "->", "int_store", "[", "2", "]", ")", ";", "else", "if", "(", "in", ")", "cost", "=", "ix86_cost", "->", "int_load", "[", "2", "]", ";", "else", "cost", "=", "ix86_cost", "->", "int_store", "[", "2", "]", ";", "return", "cost", "*", "CEIL", "(", "(", "int", ")", "GET_MODE_SIZE", "(", "mode", ")", ",", "UNITS_PER_WORD", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "of", "mode", "M", "between", "a", "register", "and", "memory", ".", "A", "value", "of", "2", "is", "the", "default", ";", "this", "cost", "is", "relative", "to", "those", "in", "`", "REGISTER_MOVE_COST", "'", ".", "This", "function", "is", "used", "extensively", "by", "register_move_cost", "that", "is", "used", "to", "build", "tables", "at", "startup", ".", "Make", "it", "inline", "in", "this", "case", ".", "When", "IN", "is", "2", ",", "return", "maximum", "of", "in", "and", "out", "move", "cost", ".", "If", "moving", "between", "registers", "and", "memory", "is", "more", "expensive", "than", "between", "two", "registers", ",", "you", "should", "define", "this", "macro", "to", "express", "the", "relative", "cost", ".", "Model", "also", "increased", "moving", "costs", "of", "QImode", "registers", "in", "non", "Q_REGS", "classes", "."], "TS_V_token": ["i386", "0", "1", "2", "100", "2", "1", "100", "2", "4", "0", "8", "1", "100", "2", "1", "0", "0", "2", "0", "2", "0", "4", "0", "4", "2", "2", "1", "1", "1", "1", "2", "2", "2", "2", "2"], "File": "i3868", "Func": "inline_memory_move_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38760, "Length": 506}
{"ground_truth": ["", "static", "void", "ix86_add_new_builtins", "(", "HOST_WIDE_INT", "isa", ",", "HOST_WIDE_INT", "isa2", ")", "{", "isa", "&=", "~", "OPTION_MASK_ISA_64BIT", ";", "if", "(", "(", "isa", "&", "deferred_isa_values", ")", "==", "0", "&&", "(", "isa2", "&", "deferred_isa_values2", ")", "==", "0", ")", "return", ";", "deferred_isa_values", "&=", "~", "isa", ";", "deferred_isa_values2", "&=", "~", "isa2", ";", "int", "i", ";", "tree", "saved_current_target_pragma", "=", "current_target_pragma", ";", "current_target_pragma", "=", "NULL_TREE", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "int", ")", "IX86_BUILTIN_MAX", ";", "i", "++", ")", "{", "if", "(", "(", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa", "&", "isa", ")", "!=", "0", "||", "(", "ix86_builtins_isa", "[", "i", "]", ".", "isa2", "&", "isa2", ")", "!=", "0", ")", "&&", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", ")", "{", "tree", "decl", ",", "type", ";", "ix86_builtins_isa", "[", "i", "]", ".", "set_and_not_built_p", "=", "false", ";", "type", "=", "ix86_get_builtin_func_type", "(", "ix86_builtins_isa", "[", "i", "]", ".", "tcode", ")", ";", "decl", "=", "add_builtin_function_ext_scope", "(", "ix86_builtins_isa", "[", "i", "]", ".", "name", ",", "type", ",", "i", ",", "BUILT_IN_MD", ",", "NULL", ",", "NULL_TREE", ")", ";", "ix86_builtins", "[", "i", "]", "=", "decl", ";", "if", "(", "ix86_builtins_isa", "[", "i", "]", ".", "const_p", ")", "TREE_READONLY", "(", "decl", ")", "=", "1", ";", "}", "}", "current_target_pragma", "=", "saved_current_target_pragma", ";", "}", ""], "natrual_language": ["Add", "any", "new", "builtin", "functions", "for", "a", "given", "ISA", "that", "may", "not", "have", "been", "declared", ".", "This", "saves", "a", "bit", "of", "space", "compared", "to", "adding", "all", "of", "the", "declarations", "to", "the", "tree", ",", "even", "if", "we", "did", "n't", "use", "them", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "1"], "File": "i3868", "Func": "ix86_add_new_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38761, "Length": 191}
{"ground_truth": ["", "static", "int", "ix86_avx_u128_mode_after", "(", "int", "mode", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "vzeroupper_pattern", "(", "pat", ",", "VOIDmode", ")", "||", "vzeroall_pattern", "(", "pat", ",", "VOIDmode", ")", ")", "return", "AVX_U128_CLEAN", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "bool", "avx_upper_reg_found", "=", "false", ";", "note_stores", "(", "pat", ",", "ix86_check_avx_upper_stores", ",", "&", "avx_upper_reg_found", ")", ";", "return", "avx_upper_reg_found", "?", "AVX_U128_DIRTY", ":", "AVX_U128_CLEAN", ";", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Calculate", "mode", "of", "upper", "128bit", "AVX", "registers", "after", "the", "insn", "."], "TS_V_token": ["i386"], "File": "i3868", "Func": "ix86_avx_u128_mode_after", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38762, "Length": 74}
{"ground_truth": ["", "static", "void", "ix86_conditional_register_usage", "(", "void", ")", "{", "int", "i", ",", "c_mask", ";", "if", "(", "cfun", "&&", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "!", "fixed_regs", "[", "i", "]", "&&", "!", "ix86_function_value_regno_p", "(", "i", ")", ")", "call_used_regs", "[", "i", "]", "=", "0", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "for", "(", "i", "=", "FIRST_REX_INT_REG", ";", "i", "<=", "LAST_REX_INT_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "}", "c_mask", "=", "CALL_USED_REGISTERS_MASK", "(", "TARGET_64BIT_MS_ABI", ")", ";", "CLEAR_HARD_REG_SET", "(", "reg_class_contents", "[", "(", "int", ")", "CLOBBERED_REGS", "]", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "{", "if", "(", "call_used_regs", "[", "i", "]", ">", "1", ")", "call_used_regs", "[", "i", "]", "=", "!", "!", "(", "call_used_regs", "[", "i", "]", "&", "c_mask", ")", ";", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "GENERAL_REGS", "]", ",", "i", ")", "&&", "call_used_regs", "[", "i", "]", ")", "SET_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "CLOBBERED_REGS", "]", ",", "i", ")", ";", "}", "if", "(", "!", "TARGET_MMX", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "MMX_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "TARGET_SSE", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "SSE_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "(", "TARGET_80387", "||", "TARGET_FLOAT_RETURNS_IN_80387", ")", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "FLOAT_REGS", "]", ",", "i", ")", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "if", "(", "!", "TARGET_AVX512F", ")", "{", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "for", "(", "i", "=", "FIRST_MASK_REG", ";", "i", "<=", "LAST_MASK_REG", ";", "i", "++", ")", "fixed_regs", "[", "i", "]", "=", "call_used_regs", "[", "i", "]", "=", "1", ",", "reg_names", "[", "i", "]", "=", "\"\"", ";", "}", "}", ""], "natrual_language": ["Update", "register", "usage", "after", "having", "seen", "the", "compiler", "flags", "."], "TS_V_token": ["i386", "0", "0", "1", "\"\"", "1", "\"\"", "1", "\"\"", "0", "1", "0", "1", "\"\"", "0", "1", "\"\"", "0", "1", "\"\"", "1", "\"\"", "1", "\"\""], "File": "i3868", "Func": "ix86_conditional_register_usage", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38763, "Length": 482}
{"ground_truth": ["", "void", "ATTRIBUTE_UNUSED", "ix86_debug_options", "(", "void", ")", "{", "char", "*", "opts", "=", "ix86_target_string", "(", "ix86_isa_flags", ",", "ix86_isa_flags2", ",", "target_flags", ",", "ix86_target_flags", ",", "ix86_arch_string", ",", "ix86_tune_string", ",", "ix86_fpmath", ",", "true", ",", "true", ")", ";", "if", "(", "opts", ")", "{", "fprintf", "(", "stderr", ",", "\"%s\\n\\n\"", ",", "opts", ")", ";", "free", "(", "opts", ")", ";", "}", "else", "fputs", "(", "\"\\n\\n\"", ",", "stderr", ")", ";", "return", ";", "}", ""], "natrual_language": ["Function", "that", "is", "callable", "from", "the", "debugger", "to", "print", "the", "current", "options", "."], "TS_V_token": ["i386", "\"%s\\n\\n\"", "\"\\n\\n\""], "File": "i3868", "Func": "ix86_debug_options", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38764, "Length": 63}
{"ground_truth": ["", "static", "void", "ix86_emit_mode_set", "(", "int", "entity", ",", "int", "mode", ",", "int", "prev_mode", "ATTRIBUTE_UNUSED", ",", "HARD_REG_SET", "regs_live", "ATTRIBUTE_UNUSED", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "if", "(", "mode", "==", "X86_DIRFLAG_RESET", ")", "emit_insn", "(", "gen_cld", "(", ")", ")", ";", "break", ";", "case", "AVX_U128", ":", "if", "(", "mode", "==", "AVX_U128_CLEAN", ")", "emit_insn", "(", "gen_avx_vzeroupper", "(", ")", ")", ";", "break", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "if", "(", "mode", "!=", "I387_CW_ANY", "&&", "mode", "!=", "I387_CW_UNINITIALIZED", ")", "emit_i387_cw_initialization", "(", "mode", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Generate", "one", "or", "more", "insns", "to", "set", "ENTITY", "to", "MODE", ".", "HARD_REG_LIVE", "is", "the", "set", "of", "hard", "registers", "live", "at", "the", "point", "where", "the", "insn", "(", "s", ")", "are", "to", "be", "inserted", "."], "TS_V_token": ["i386"], "File": "i3868", "Func": "ix86_emit_mode_set", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38765, "Length": 94}
{"ground_truth": ["", "static", "void", "ix86_expand_divmod_libfunc", "(", "rtx", "libfunc", ",", "machine_mode", "mode", ",", "rtx", "op0", ",", "rtx", "op1", ",", "rtx", "*", "quot_p", ",", "rtx", "*", "rem_p", ")", "{", "rtx", "rem", "=", "assign_386_stack_local", "(", "mode", ",", "SLOT_TEMP", ")", ";", "rtx", "quot", "=", "emit_library_call_value", "(", "libfunc", ",", "NULL_RTX", ",", "LCT_NORMAL", ",", "mode", ",", "op0", ",", "mode", ",", "op1", ",", "mode", ",", "XEXP", "(", "rem", ",", "0", ")", ",", "Pmode", ")", ";", "*", "quot_p", "=", "quot", ";", "*", "rem_p", "=", "rem", ";", "}", ""], "natrual_language": ["Generate", "call", "to", "__divmoddi4", "."], "TS_V_token": ["i386", "0"], "File": "i3868", "Func": "ix86_expand_divmod_libfunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38766, "Length": 77}
{"ground_truth": ["", "static", "rtx", "ix86_expand_sse_cmp", "(", "rtx", "dest", ",", "enum", "rtx_code", "code", ",", "rtx", "cmp_op0", ",", "rtx", "cmp_op1", ",", "rtx", "op_true", ",", "rtx", "op_false", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "machine_mode", "cmp_ops_mode", "=", "GET_MODE", "(", "cmp_op0", ")", ";", "machine_mode", "cmp_mode", ";", "bool", "maskcmp", "=", "false", ";", "rtx", "x", ";", "if", "(", "GET_MODE_SIZE", "(", "cmp_ops_mode", ")", "==", "64", ")", "{", "unsigned", "int", "nbits", "=", "GET_MODE_NUNITS", "(", "cmp_ops_mode", ")", ";", "cmp_mode", "=", "int_mode_for_size", "(", "nbits", ",", "0", ")", ".", "require", "(", ")", ";", "maskcmp", "=", "true", ";", "}", "else", "cmp_mode", "=", "cmp_ops_mode", ";", "cmp_op0", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op0", ")", ";", "int", "(", "*", "op1_predicate", ")", "(", "rtx", ",", "machine_mode", ")", "=", "VECTOR_MODE_P", "(", "cmp_ops_mode", ")", "?", "vector_operand", ":", "nonimmediate_operand", ";", "if", "(", "!", "op1_predicate", "(", "cmp_op1", ",", "cmp_ops_mode", ")", ")", "cmp_op1", "=", "force_reg", "(", "cmp_ops_mode", ",", "cmp_op1", ")", ";", "if", "(", "optimize", "||", "(", "maskcmp", "&&", "cmp_mode", "!=", "mode", ")", "||", "(", "op_true", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_true", ")", ")", "||", "(", "op_false", "&&", "reg_overlap_mentioned_p", "(", "dest", ",", "op_false", ")", ")", ")", "dest", "=", "gen_reg_rtx", "(", "maskcmp", "?", "cmp_mode", ":", "mode", ")", ";", "if", "(", "maskcmp", "&&", "(", "code", "==", "GT", "||", "code", "==", "EQ", ")", ")", "{", "rtx", "(", "*", "gen", ")", "(", "rtx", ",", "rtx", ",", "rtx", ")", ";", "switch", "(", "cmp_ops_mode", ")", "{", "case", "E_V64QImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv64qi3", ":", "gen_avx512bw_eqv64qi3_1", ";", "break", ";", "case", "E_V32HImode", ":", "gcc_assert", "(", "TARGET_AVX512BW", ")", ";", "gen", "=", "code", "==", "GT", "?", "gen_avx512bw_gtv32hi3", ":", "gen_avx512bw_eqv32hi3_1", ";", "break", ";", "case", "E_V16SImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv16si3", ":", "gen_avx512f_eqv16si3_1", ";", "break", ";", "case", "E_V8DImode", ":", "gen", "=", "code", "==", "GT", "?", "gen_avx512f_gtv8di3", ":", "gen_avx512f_eqv8di3_1", ";", "break", ";", "default", ":", "gen", "=", "NULL", ";", "}", "if", "(", "gen", ")", "{", "emit_insn", "(", "gen", "(", "dest", ",", "cmp_op0", ",", "cmp_op1", ")", ")", ";", "return", "dest", ";", "}", "}", "x", "=", "gen_rtx_fmt_ee", "(", "code", ",", "cmp_mode", ",", "cmp_op0", ",", "cmp_op1", ")", ";", "if", "(", "cmp_mode", "!=", "mode", "&&", "!", "maskcmp", ")", "{", "x", "=", "force_reg", "(", "cmp_ops_mode", ",", "x", ")", ";", "convert_move", "(", "dest", ",", "x", ",", "false", ")", ";", "}", "else", "emit_insn", "(", "gen_rtx_SET", "(", "dest", ",", "x", ")", ")", ";", "return", "dest", ";", "}", ""], "natrual_language": ["Expand", "an", "sse", "vector", "comparison", ".", "Return", "the", "register", "with", "the", "result", "."], "TS_V_token": ["i386", "64", "0"], "File": "i3868", "Func": "ix86_expand_sse_cmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38767, "Length": 375}
{"ground_truth": ["", "void", "ix86_expand_xorsign", "(", "rtx", "operands", "[", "]", ")", "{", "rtx", "(", "*", "xorsign_insn", ")", "(", "rtx", ",", "rtx", ",", "rtx", ",", "rtx", ")", ";", "machine_mode", "mode", ",", "vmode", ";", "rtx", "dest", ",", "op0", ",", "op1", ",", "mask", ";", "dest", "=", "operands", "[", "0", "]", ";", "op0", "=", "operands", "[", "1", "]", ";", "op1", "=", "operands", "[", "2", "]", ";", "mode", "=", "GET_MODE", "(", "dest", ")", ";", "if", "(", "mode", "==", "SFmode", ")", "{", "xorsign_insn", "=", "gen_xorsignsf3_1", ";", "vmode", "=", "V4SFmode", ";", "}", "else", "if", "(", "mode", "==", "DFmode", ")", "{", "xorsign_insn", "=", "gen_xorsigndf3_1", ";", "vmode", "=", "V2DFmode", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "mask", "=", "ix86_build_signbit_mask", "(", "vmode", ",", "0", ",", "0", ")", ";", "emit_insn", "(", "xorsign_insn", "(", "dest", ",", "op0", ",", "op1", ",", "mask", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "an", "xorsign", "operation", "."], "TS_V_token": ["i386", "0", "1", "2", "0", "0"], "File": "i3868", "Func": "ix86_expand_xorsign", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38768, "Length": 130}
{"ground_truth": ["", "static", "rtx", "ix86_function_arg", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "omode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "machine_mode", "mode", "=", "omode", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "rtx", "arg", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "{", "gcc_assert", "(", "type", "!=", "NULL_TREE", ")", ";", "if", "(", "POINTER_TYPE_P", "(", "type", ")", ")", "{", "gcc_assert", "(", "TYPE_MODE", "(", "type", ")", "==", "Pmode", ")", ";", "arg", "=", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "UNITS_PER_WORD", ")", ";", "}", "else", "{", "gcc_assert", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "&&", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", "&&", "TYPE_MODE", "(", "type", ")", "==", "word_mode", ")", ";", "arg", "=", "gen_rtx_MEM", "(", "word_mode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "2", "*", "UNITS_PER_WORD", ")", ")", ";", "}", "return", "arg", ";", "}", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "type", "&&", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "cum", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "arg", "=", "function_arg_ms_64", "(", "cum", ",", "mode", ",", "omode", ",", "named", ",", "bytes", ")", ";", "else", "arg", "=", "function_arg_64", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "named", ")", ";", "}", "else", "arg", "=", "function_arg_32", "(", "cum", ",", "mode", ",", "omode", ",", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "arg", "==", "NULL_RTX", "&&", "cum", "->", "caller", ")", "cfun", "->", "machine", "->", "outgoing_args_on_stack", "=", "true", ";", "return", "arg", ";", "}", ""], "natrual_language": ["Return", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Return", "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", ".", "It", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "gives", "information", "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": ["i386", "2"], "File": "i3868", "Func": "ix86_function_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38769, "Length": 291}
{"ground_truth": ["", "static", "void", "ix86_function_arg_advance", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "int", "nregs", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "return", ";", "if", "(", "mode", "==", "BLKmode", ")", "bytes", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "bytes", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "type", ")", "mode", "=", "type_natural_mode", "(", "type", ",", "NULL", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "nregs", "=", "function_arg_advance_ms_64", "(", "cum", ",", "bytes", ",", "words", ")", ";", "else", "nregs", "=", "function_arg_advance_64", "(", "cum", ",", "mode", ",", "type", ",", "words", ",", "named", ")", ";", "}", "else", "nregs", "=", "function_arg_advance_32", "(", "cum", ",", "mode", ",", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "!", "nregs", ")", "{", "if", "(", "cum", "->", "caller", ")", "cfun", "->", "machine", "->", "outgoing_args_on_stack", "=", "true", ";", "}", "}", ""], "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": ["i386"], "File": "i3868", "Func": "ix86_function_arg_advance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38770, "Length": 185}
{"ground_truth": ["", "static", "void", "ix86_function_specific_print", "(", "FILE", "*", "file", ",", "int", "indent", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "char", "*", "target_string", "=", "ix86_target_string", "(", "ptr", "->", "x_ix86_isa_flags", ",", "ptr", "->", "x_ix86_isa_flags2", ",", "ptr", "->", "x_target_flags", ",", "ptr", "->", "x_ix86_target_flags", ",", "NULL", ",", "NULL", ",", "ptr", "->", "x_ix86_fpmath", ",", "false", ",", "true", ")", ";", "gcc_assert", "(", "ptr", "->", "arch", "<", "PROCESSOR_max", ")", ";", "fprintf", "(", "file", ",", "\"%*sarch = %d (%s)\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "arch", ",", "processor_names", "[", "ptr", "->", "arch", "]", ")", ";", "gcc_assert", "(", "ptr", "->", "tune", "<", "PROCESSOR_max", ")", ";", "fprintf", "(", "file", ",", "\"%*stune = %d (%s)\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "tune", ",", "processor_names", "[", "ptr", "->", "tune", "]", ")", ";", "fprintf", "(", "file", ",", "\"%*sbranch_cost = %d\\n\"", ",", "indent", ",", "\"\"", ",", "ptr", "->", "branch_cost", ")", ";", "if", "(", "target_string", ")", "{", "fprintf", "(", "file", ",", "\"%*s%s\\n\"", ",", "indent", ",", "\"\"", ",", "target_string", ")", ";", "free", "(", "target_string", ")", ";", "}", "}", ""], "natrual_language": ["Print", "the", "current", "options"], "TS_V_token": ["i386", "\"%*sarch = %d (%s)\\n\"", "\"\"", "\"%*stune = %d (%s)\\n\"", "\"\"", "\"%*sbranch_cost = %d\\n\"", "\"\"", "\"%*s%s\\n\"", "\"\""], "File": "i3868", "Func": "ix86_function_specific_print", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38771, "Length": 154}
{"ground_truth": ["", "static", "void", "ix86_function_specific_restore", "(", "struct", "gcc_options", "*", "opts", ",", "struct", "cl_target_option", "*", "ptr", ")", "{", "enum", "processor_type", "old_tune", "=", "ix86_tune", ";", "enum", "processor_type", "old_arch", "=", "ix86_arch", ";", "unsigned", "HOST_WIDE_INT", "ix86_arch_mask", ";", "int", "i", ";", "opts", "->", "x_flag_pic", "=", "flag_pic", ";", "ix86_arch", "=", "(", "enum", "processor_type", ")", "ptr", "->", "arch", ";", "ix86_schedule", "=", "(", "enum", "attr_cpu", ")", "ptr", "->", "schedule", ";", "ix86_tune", "=", "(", "enum", "processor_type", ")", "ptr", "->", "tune", ";", "x86_prefetch_sse", "=", "ptr", "->", "prefetch_sse", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "branch_cost", ";", "ix86_tune_defaulted", "=", "ptr", "->", "tune_defaulted", ";", "ix86_arch_specified", "=", "ptr", "->", "arch_specified", ";", "opts", "->", "x_ix86_isa_flags_explicit", "=", "ptr", "->", "x_ix86_isa_flags_explicit", ";", "opts", "->", "x_ix86_isa_flags2_explicit", "=", "ptr", "->", "x_ix86_isa_flags2_explicit", ";", "opts", "->", "x_recip_mask_explicit", "=", "ptr", "->", "x_recip_mask_explicit", ";", "opts", "->", "x_ix86_arch_string", "=", "ptr", "->", "x_ix86_arch_string", ";", "opts", "->", "x_ix86_tune_string", "=", "ptr", "->", "x_ix86_tune_string", ";", "opts", "->", "x_ix86_cmodel", "=", "ptr", "->", "x_ix86_cmodel", ";", "opts", "->", "x_ix86_abi", "=", "ptr", "->", "x_ix86_abi", ";", "opts", "->", "x_ix86_asm_dialect", "=", "ptr", "->", "x_ix86_asm_dialect", ";", "opts", "->", "x_ix86_branch_cost", "=", "ptr", "->", "x_ix86_branch_cost", ";", "opts", "->", "x_ix86_dump_tunes", "=", "ptr", "->", "x_ix86_dump_tunes", ";", "opts", "->", "x_ix86_force_align_arg_pointer", "=", "ptr", "->", "x_ix86_force_align_arg_pointer", ";", "opts", "->", "x_ix86_force_drap", "=", "ptr", "->", "x_ix86_force_drap", ";", "opts", "->", "x_ix86_incoming_stack_boundary_arg", "=", "ptr", "->", "x_ix86_incoming_stack_boundary_arg", ";", "opts", "->", "x_ix86_pmode", "=", "ptr", "->", "x_ix86_pmode", ";", "opts", "->", "x_ix86_preferred_stack_boundary_arg", "=", "ptr", "->", "x_ix86_preferred_stack_boundary_arg", ";", "opts", "->", "x_ix86_recip_name", "=", "ptr", "->", "x_ix86_recip_name", ";", "opts", "->", "x_ix86_regparm", "=", "ptr", "->", "x_ix86_regparm", ";", "opts", "->", "x_ix86_section_threshold", "=", "ptr", "->", "x_ix86_section_threshold", ";", "opts", "->", "x_ix86_sse2avx", "=", "ptr", "->", "x_ix86_sse2avx", ";", "opts", "->", "x_ix86_stack_protector_guard", "=", "ptr", "->", "x_ix86_stack_protector_guard", ";", "opts", "->", "x_ix86_stringop_alg", "=", "ptr", "->", "x_ix86_stringop_alg", ";", "opts", "->", "x_ix86_tls_dialect", "=", "ptr", "->", "x_ix86_tls_dialect", ";", "opts", "->", "x_ix86_tune_ctrl_string", "=", "ptr", "->", "x_ix86_tune_ctrl_string", ";", "opts", "->", "x_ix86_tune_memcpy_strategy", "=", "ptr", "->", "x_ix86_tune_memcpy_strategy", ";", "opts", "->", "x_ix86_tune_memset_strategy", "=", "ptr", "->", "x_ix86_tune_memset_strategy", ";", "opts", "->", "x_ix86_tune_no_default", "=", "ptr", "->", "x_ix86_tune_no_default", ";", "opts", "->", "x_ix86_veclibabi_type", "=", "ptr", "->", "x_ix86_veclibabi_type", ";", "ix86_tune_cost", "=", "processor_cost_table", "[", "ix86_tune", "]", ";", "if", "(", "opts", "->", "x_optimize_size", ")", "ix86_cost", "=", "&", "ix86_size_cost", ";", "else", "ix86_cost", "=", "ix86_tune_cost", ";", "if", "(", "old_arch", "!=", "ix86_arch", ")", "{", "ix86_arch_mask", "=", "HOST_WIDE_INT_1U", "<<", "ix86_arch", ";", "for", "(", "i", "=", "0", ";", "i", "<", "X86_ARCH_LAST", ";", "++", "i", ")", "ix86_arch_features", "[", "i", "]", "=", "!", "!", "(", "initial_ix86_arch_features", "[", "i", "]", "&", "ix86_arch_mask", ")", ";", "}", "if", "(", "old_tune", "!=", "ix86_tune", ")", "set_ix86_tune_features", "(", "ix86_tune", ",", "false", ")", ";", "}", ""], "natrual_language": ["Restore", "the", "current", "options"], "TS_V_token": ["i386", "0"], "File": "i3868", "Func": "ix86_function_specific_restore", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38772, "Length": 392}
{"ground_truth": ["", "static", "tree", "ix86_generate_version_dispatcher_body", "(", "void", "*", "node_p", ")", "{", "tree", "resolver_decl", ";", "basic_block", "empty_bb", ";", "tree", "default_ver_decl", ";", "struct", "cgraph_node", "*", "versn", ";", "struct", "cgraph_node", "*", "node", ";", "struct", "cgraph_function_version_info", "*", "node_version_info", "=", "NULL", ";", "struct", "cgraph_function_version_info", "*", "versn_info", "=", "NULL", ";", "node", "=", "(", "cgraph_node", "*", ")", "node_p", ";", "node_version_info", "=", "node", "->", "function_version", "(", ")", ";", "gcc_assert", "(", "node", "->", "dispatcher_function", "&&", "node_version_info", "!=", "NULL", ")", ";", "if", "(", "node_version_info", "->", "dispatcher_resolver", ")", "return", "node_version_info", "->", "dispatcher_resolver", ";", "default_ver_decl", "=", "node_version_info", "->", "next", "->", "this_node", "->", "decl", ";", "node", "->", "definition", "=", "false", ";", "resolver_decl", "=", "make_resolver_func", "(", "default_ver_decl", ",", "node", "->", "decl", ",", "&", "empty_bb", ")", ";", "node_version_info", "->", "dispatcher_resolver", "=", "resolver_decl", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "resolver_decl", ")", ")", ";", "auto_vec", "<", "tree", ",", "2", ">", "fn_ver_vec", ";", "for", "(", "versn_info", "=", "node_version_info", "->", "next", ";", "versn_info", ";", "versn_info", "=", "versn_info", "->", "next", ")", "{", "versn", "=", "versn_info", "->", "this_node", ";", "if", "(", "DECL_VINDEX", "(", "versn", "->", "decl", ")", ")", "sorry", "(", "\"virtual function multiversioning not supported\"", ")", ";", "fn_ver_vec", ".", "safe_push", "(", "versn", "->", "decl", ")", ";", "}", "dispatch_function_versions", "(", "resolver_decl", ",", "&", "fn_ver_vec", ",", "&", "empty_bb", ")", ";", "cgraph_edge", "::", "rebuild_edges", "(", ")", ";", "pop_cfun", "(", ")", ";", "return", "resolver_decl", ";", "}", ""], "natrual_language": ["Generate", "the", "dispatching", "code", "body", "to", "dispatch", "multi-versioned", "function", "DECL", ".", "The", "target", "hook", "is", "called", "to", "process", "the", "``", "target", "''", "attributes", "and", "provide", "the", "code", "to", "dispatch", "the", "right", "function", "at", "run-time", ".", "NODE", "points", "to", "the", "dispatcher", "decl", "whose", "body", "will", "be", "created", "."], "TS_V_token": ["i386", "2", "\"virtual function multiversioning not supported\""], "File": "i3868", "Func": "ix86_generate_version_dispatcher_body", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38773, "Length": 204}
{"ground_truth": ["", "static", "bool", "ix86_hard_regno_mode_ok", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "CC_REGNO_P", "(", "regno", ")", ")", "return", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_RANDOM", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_PARTIAL_INT", ")", "return", "false", ";", "if", "(", "STACK_REGNO_P", "(", "regno", ")", ")", "return", "VALID_FP_MODE_P", "(", "mode", ")", ";", "if", "(", "MASK_REGNO_P", "(", "regno", ")", ")", "return", "(", "VALID_MASK_REG_MODE", "(", "mode", ")", "||", "(", "TARGET_AVX512BW", "&&", "VALID_MASK_AVX512BW_MODE", "(", "mode", ")", ")", ")", ";", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "TARGET_AVX512F", "&&", "(", "mode", "==", "XImode", "||", "VALID_AVX512F_REG_MODE", "(", "mode", ")", "||", "VALID_AVX512F_SCALAR_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_AVX5124FMAPS", "||", "TARGET_AVX5124VNNIW", ")", "&&", "(", "mode", "==", "V64SFmode", "||", "mode", "==", "V64SImode", ")", "&&", "MOD4_SSE_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX512VL", "&&", "(", "mode", "==", "OImode", "||", "mode", "==", "TImode", "||", "VALID_AVX256_REG_MODE", "(", "mode", ")", "||", "VALID_AVX512VL_128_REG_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "EXT_REX_SSE_REGNO_P", "(", "regno", ")", ")", "return", "false", ";", "return", "(", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_OR_OI_MODE", "(", "mode", ")", ")", "||", "VALID_SSE_REG_MODE", "(", "mode", ")", "||", "VALID_SSE2_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "mode", "==", "QImode", ")", "{", "if", "(", "ANY_QI_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "return", "true", ";", "if", "(", "lra_in_progress", ")", "return", "true", ";", "return", "!", "can_create_pseudo_p", "(", ")", ";", "}", "else", "if", "(", "VALID_INT_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_FP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_DFP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i3868", "Func": "ix86_hard_regno_mode_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38774, "Length": 331}
{"ground_truth": ["", "static", "int", "ix86_i387_mode_needed", "(", "int", "entity", ",", "rtx_insn", "*", "insn", ")", "{", "enum", "attr_i387_cw", "mode", ";", "if", "(", "CALL_P", "(", "insn", ")", "||", "(", "NONJUMP_INSN_P", "(", "insn", ")", "&&", "(", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", ">=", "0", "||", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "ASM_INPUT", ")", ")", ")", "return", "I387_CW_UNINITIALIZED", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "return", "I387_CW_ANY", ";", "mode", "=", "get_attr_i387_cw", "(", "insn", ")", ";", "switch", "(", "entity", ")", "{", "case", "I387_TRUNC", ":", "if", "(", "mode", "==", "I387_CW_TRUNC", ")", "return", "mode", ";", "break", ";", "case", "I387_FLOOR", ":", "if", "(", "mode", "==", "I387_CW_FLOOR", ")", "return", "mode", ";", "break", ";", "case", "I387_CEIL", ":", "if", "(", "mode", "==", "I387_CW_CEIL", ")", "return", "mode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "I387_CW_ANY", ";", "}", ""], "natrual_language": ["Return", "mode", "that", "i387", "must", "be", "switched", "into", "prior", "to", "the", "execution", "of", "insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3868", "Func": "ix86_i387_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38775, "Length": 132}
{"ground_truth": ["", "static", "bool", "ix86_lea_outperforms", "(", "rtx_insn", "*", "insn", ",", "unsigned", "int", "regno0", ",", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "int", "split_cost", ",", "bool", "has_scale", ")", "{", "int", "dist_define", ",", "dist_use", ";", "if", "(", "TARGET_SILVERMONT", "||", "TARGET_GOLDMONT", "||", "TARGET_GOLDMONT_PLUS", "||", "TARGET_TREMONT", "||", "TARGET_INTEL", ")", "{", "if", "(", "has_scale", ")", "return", "true", ";", "if", "(", "split_cost", "<", "1", ")", "return", "false", ";", "if", "(", "regno0", "==", "regno1", "||", "regno0", "==", "regno2", ")", "return", "false", ";", "return", "true", ";", "}", "dist_define", "=", "distance_non_agu_define", "(", "regno1", ",", "regno2", ",", "insn", ")", ";", "dist_use", "=", "distance_agu_use", "(", "regno0", ",", "insn", ")", ";", "if", "(", "dist_define", "<", "0", "||", "dist_define", ">=", "LEA_MAX_STALL", ")", "{", "if", "(", "dist_use", "<", "0", "&&", "split_cost", "==", "0", ")", "return", "TARGET_64BIT", "||", "IX86_LEA_PRIORITY", ";", "else", "return", "true", ";", "}", "dist_define", "+=", "split_cost", "+", "IX86_LEA_PRIORITY", ";", "if", "(", "dist_use", "<", "0", ")", "return", "dist_define", ">", "LEA_MAX_STALL", ";", "return", "dist_define", ">=", "dist_use", ";", "}", ""], "natrual_language": ["Return", "true", "if", "usage", "of", "lea", "INSN", "has", "performance", "advantage", "over", "a", "sequence", "of", "instructions", ".", "Instructions", "sequence", "has", "SPLIT_COST", "cycles", "higher", "latency", "than", "lea", "latency", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0"], "File": "i3868", "Func": "ix86_lea_outperforms", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38776, "Length": 152}
{"ground_truth": ["", "static", "tree", "ix86_mangle_function_version_assembler_name", "(", "tree", "decl", ",", "tree", "id", ")", "{", "tree", "version_attr", ";", "const", "char", "*", "orig_name", ",", "*", "version_string", ";", "char", "*", "attr_str", ",", "*", "assembler_name", ";", "if", "(", "DECL_DECLARED_INLINE_P", "(", "decl", ")", "&&", "lookup_attribute", "(", "\"gnu_inline\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ")", "error_at", "(", "DECL_SOURCE_LOCATION", "(", "decl", ")", ",", "\"function versions cannot be marked as gnu_inline,\"", "\" bodies have to be generated\"", ")", ";", "if", "(", "DECL_VIRTUAL_P", "(", "decl", ")", "||", "DECL_VINDEX", "(", "decl", ")", ")", "sorry", "(", "\"virtual function multiversioning not supported\"", ")", ";", "version_attr", "=", "lookup_attribute", "(", "\"target\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ";", "gcc_assert", "(", "version_attr", "!=", "NULL_TREE", ")", ";", "orig_name", "=", "IDENTIFIER_POINTER", "(", "id", ")", ";", "version_string", "=", "TREE_STRING_POINTER", "(", "TREE_VALUE", "(", "TREE_VALUE", "(", "version_attr", ")", ")", ")", ";", "if", "(", "strcmp", "(", "version_string", ",", "\"default\"", ")", "==", "0", ")", "return", "id", ";", "attr_str", "=", "sorted_attr_string", "(", "TREE_VALUE", "(", "version_attr", ")", ")", ";", "assembler_name", "=", "XNEWVEC", "(", "char", ",", "strlen", "(", "orig_name", ")", "+", "strlen", "(", "attr_str", ")", "+", "2", ")", ";", "sprintf", "(", "assembler_name", ",", "\"%s.%s\"", ",", "orig_name", ",", "attr_str", ")", ";", "if", "(", "DECL_ASSEMBLER_NAME_SET_P", "(", "decl", ")", ")", "SET_DECL_RTL", "(", "decl", ",", "NULL", ")", ";", "tree", "ret", "=", "get_identifier", "(", "assembler_name", ")", ";", "XDELETEVEC", "(", "attr_str", ")", ";", "XDELETEVEC", "(", "assembler_name", ")", ";", "return", "ret", ";", "}", ""], "natrual_language": ["This", "function", "changes", "the", "assembler", "name", "for", "functions", "that", "are", "versions", ".", "If", "DECL", "is", "a", "function", "version", "and", "has", "a", "``", "target", "''", "attribute", ",", "it", "appends", "the", "attribute", "string", "to", "its", "assembler", "name", "."], "TS_V_token": ["i386", "\"gnu_inline\"", "\"function versions cannot be marked as gnu_inline,\"", "\" bodies have to be generated\"", "\"virtual function multiversioning not supported\"", "\"target\"", "\"default\"", "0", "2", "\"%s.%s\""], "File": "i3868", "Func": "ix86_mangle_function_version_assembler_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38777, "Length": 203}
{"ground_truth": ["", "static", "int", "ix86_mode_after", "(", "int", "entity", ",", "int", "mode", ",", "rtx_insn", "*", "insn", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "mode", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_after", "(", "mode", ",", "insn", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "return", "mode", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "mode", "that", "an", "insn", "results", "in", "."], "TS_V_token": ["i386"], "File": "i3868", "Func": "ix86_mode_after", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38778, "Length": 57}
{"ground_truth": ["", "static", "int", "ix86_mode_entry", "(", "int", "entity", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "ix86_dirflag_mode_entry", "(", ")", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_entry", "(", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "return", "I387_CW_ANY", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "mode", "that", "ENTITY", "is", "assumed", "to", "be", "switched", "to", "at", "function", "entry", "."], "TS_V_token": ["i386"], "File": "i3868", "Func": "ix86_mode_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38779, "Length": 49}
{"ground_truth": ["", "static", "int", "ix86_mode_exit", "(", "int", "entity", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "X86_DIRFLAG_ANY", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_exit", "(", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "return", "I387_CW_ANY", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "mode", "that", "ENTITY", "is", "assumed", "to", "be", "switched", "to", "at", "function", "exit", "."], "TS_V_token": ["i386"], "File": "i3868", "Func": "ix86_mode_exit", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38780, "Length": 47}
{"ground_truth": ["", "static", "int", "ix86_mode_needed", "(", "int", "entity", ",", "rtx_insn", "*", "insn", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "ix86_dirflag_mode_needed", "(", "insn", ")", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_needed", "(", "insn", ")", ";", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "return", "ix86_i387_mode_needed", "(", "entity", ",", "insn", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "0"], "File": "i3868", "Func": "ix86_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38781, "Length": 63}
{"ground_truth": ["", "const", "char", "*", "ix86_output_function_return", "(", "bool", "long_p", ")", "{", "output_return_instrumentation", "(", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_keep", ")", "{", "char", "thunk_name", "[", "32", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_thunk_inline", ")", "{", "bool", "need_thunk", "=", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk", ")", ";", "indirect_thunk_name", "(", "thunk_name", ",", "INVALID_REGNUM", ",", "need_prefix", ",", "true", ")", ";", "indirect_return_needed", "|=", "need_thunk", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "else", "output_indirect_thunk", "(", "INVALID_REGNUM", ")", ";", "return", "\"\"", ";", "}", "if", "(", "!", "long_p", ")", "return", "\"%!ret\"", ";", "return", "\"rep%; ret\"", ";", "}", ""], "natrual_language": ["Output", "function", "return", ".", "CALL_OP", "is", "the", "jump", "target", ".", "Add", "a", "REP", "prefix", "to", "RET", "if", "LONG_P", "is", "true", "and", "function", "return", "is", "kept", "."], "TS_V_token": ["i386", "32", "\"\\tjmp\\t%s\\n\"", "\"\"", "\"%!ret\"", "\"rep%; ret\""], "File": "i3868", "Func": "ix86_output_function_return", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38782, "Length": 110}
{"ground_truth": ["", "static", "void", "ix86_output_indirect_branch_via_push", "(", "rtx", "call_op", ",", "const", "char", "*", "xasm", ",", "bool", "sibcall_p", ")", "{", "char", "thunk_name_buf", "[", "32", "]", ";", "char", "*", "thunk_name", ";", "char", "push_buf", "[", "64", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "int", "regno", "=", "-", "1", ";", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_thunk_inline", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk", ")", "indirect_thunk_needed", "=", "true", ";", "indirect_thunk_name", "(", "thunk_name_buf", ",", "regno", ",", "need_prefix", ",", "false", ")", ";", "thunk_name", "=", "thunk_name_buf", ";", "}", "else", "thunk_name", "=", "NULL", ";", "snprintf", "(", "push_buf", ",", "sizeof", "(", "push_buf", ")", ",", "\"push{%c}\\t%s\"", ",", "TARGET_64BIT", "?", "'q'", ":", "'l'", ",", "xasm", ")", ";", "if", "(", "sibcall_p", ")", "{", "output_asm_insn", "(", "push_buf", ",", "&", "call_op", ")", ";", "if", "(", "thunk_name", "!=", "NULL", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "output_indirect_thunk", "(", "regno", ")", ";", "}", "else", "{", "char", "indirectlabel1", "[", "32", "]", ";", "char", "indirectlabel2", "[", "32", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel1", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel2", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "fputs", "(", "\"\\tjmp\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "if", "(", "MEM_P", "(", "call_op", ")", ")", "{", "struct", "ix86_address", "parts", ";", "rtx", "addr", "=", "XEXP", "(", "call_op", ",", "0", ")", ";", "if", "(", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", "&&", "parts", ".", "base", "==", "stack_pointer_rtx", ")", "{", "if", "(", "parts", ".", "index", ")", "{", "addr", "=", "gen_rtx_MULT", "(", "Pmode", ",", "parts", ".", "index", ",", "GEN_INT", "(", "parts", ".", "scale", ")", ")", ";", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "addr", ")", ";", "}", "else", "addr", "=", "stack_pointer_rtx", ";", "rtx", "disp", ";", "if", "(", "parts", ".", "disp", "!=", "NULL_RTX", ")", "disp", "=", "plus_constant", "(", "Pmode", ",", "parts", ".", "disp", ",", "UNITS_PER_WORD", ")", ";", "else", "disp", "=", "GEN_INT", "(", "UNITS_PER_WORD", ")", ";", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "addr", ",", "disp", ")", ";", "call_op", "=", "gen_rtx_MEM", "(", "GET_MODE", "(", "call_op", ")", ",", "addr", ")", ";", "}", "}", "output_asm_insn", "(", "push_buf", ",", "&", "call_op", ")", ";", "if", "(", "thunk_name", "!=", "NULL", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "output_indirect_thunk", "(", "regno", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputs", "(", "\"\\tcall\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "}", "}", ""], "natrual_language": ["Output", "indirect", "branch", "via", "a", "call", "and", "return", "thunk", ".", "CALL_OP", "is", "the", "branch", "target", ".", "XASM", "is", "the", "assembly", "template", "for", "CALL_OP", ".", "Branch", "is", "a", "tail", "call", "if", "SIBCALL_P", "is", "true", ".", "A", "normal", "call", "is", "converted", "to", ":", "jmp", "L2", "L1", ":", "push", "CALL_OP", "jmp", "__x86_indirect_thunk", "L2", ":", "call", "L1", "and", "a", "tail", "call", "is", "converted", "to", ":", "push", "CALL_OP", "jmp", "__x86_indirect_thunk"], "TS_V_token": ["i386", "32", "64", "1", "\"push{%c}\\t%s\"", "\"\\tjmp\\t%s\\n\"", "32", "32", "\"\\tjmp\\t\"", "0", "\"\\tjmp\\t%s\\n\"", "\"\\tcall\\t\""], "File": "i3868", "Func": "ix86_output_indirect_branch_via_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38783, "Length": 407}
{"ground_truth": ["", "static", "void", "ix86_output_indirect_branch_via_reg", "(", "rtx", "call_op", ",", "bool", "sibcall_p", ")", "{", "char", "thunk_name_buf", "[", "32", "]", ";", "char", "*", "thunk_name", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "int", "regno", "=", "REGNO", "(", "call_op", ")", ";", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_thunk_inline", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk", ")", "{", "int", "i", "=", "regno", ";", "if", "(", "i", ">=", "FIRST_REX_INT_REG", ")", "i", "-=", "(", "FIRST_REX_INT_REG", "-", "LAST_INT_REG", "-", "1", ")", ";", "indirect_thunks_used", "|=", "1", "<<", "i", ";", "}", "indirect_thunk_name", "(", "thunk_name_buf", ",", "regno", ",", "need_prefix", ",", "false", ")", ";", "thunk_name", "=", "thunk_name_buf", ";", "}", "else", "thunk_name", "=", "NULL", ";", "if", "(", "sibcall_p", ")", "{", "if", "(", "thunk_name", "!=", "NULL", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "output_indirect_thunk", "(", "regno", ")", ";", "}", "else", "{", "if", "(", "thunk_name", "!=", "NULL", ")", "{", "fprintf", "(", "asm_out_file", ",", "\"\\tcall\\t%s\\n\"", ",", "thunk_name", ")", ";", "return", ";", "}", "char", "indirectlabel1", "[", "32", "]", ";", "char", "indirectlabel2", "[", "32", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel1", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel2", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "fputs", "(", "\"\\tjmp\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "if", "(", "thunk_name", "!=", "NULL", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "else", "output_indirect_thunk", "(", "regno", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputs", "(", "\"\\tcall\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "}", "}", ""], "natrual_language": ["Output", "indirect", "branch", "via", "a", "call", "and", "return", "thunk", ".", "CALL_OP", "is", "a", "register", "which", "contains", "the", "branch", "target", ".", "XASM", "is", "the", "assembly", "template", "for", "CALL_OP", ".", "Branch", "is", "a", "tail", "call", "if", "SIBCALL_P", "is", "true", ".", "A", "normal", "call", "is", "converted", "to", ":", "call", "__x86_indirect_thunk_reg", "and", "a", "tail", "call", "is", "converted", "to", ":", "jmp", "__x86_indirect_thunk_reg"], "TS_V_token": ["i386", "32", "1", "1", "\"\\tjmp\\t%s\\n\"", "\"\\tcall\\t%s\\n\"", "32", "32", "\"\\tjmp\\t\"", "\"\\tjmp\\t%s\\n\"", "\"\\tcall\\t\""], "File": "i3868", "Func": "ix86_output_indirect_branch_via_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38784, "Length": 268}
{"ground_truth": ["", "const", "char", "*", "ix86_output_indirect_function_return", "(", "rtx", "ret_op", ")", "{", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_keep", ")", "{", "char", "thunk_name", "[", "32", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "unsigned", "int", "regno", "=", "REGNO", "(", "ret_op", ")", ";", "gcc_assert", "(", "regno", "==", "CX_REG", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_thunk_inline", ")", "{", "bool", "need_thunk", "=", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk", ")", ";", "indirect_thunk_name", "(", "thunk_name", ",", "regno", ",", "need_prefix", ",", "true", ")", ";", "if", "(", "need_thunk", ")", "{", "indirect_return_via_cx", "=", "true", ";", "indirect_thunks_used", "|=", "1", "<<", "CX_REG", ";", "}", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t%s\\n\"", ",", "thunk_name", ")", ";", "}", "else", "output_indirect_thunk", "(", "regno", ")", ";", "return", "\"\"", ";", "}", "else", "return", "\"%!jmp\\t%A0\"", ";", "}", ""], "natrual_language": ["Output", "indirect", "function", "return", ".", "RET_OP", "is", "the", "function", "return", "target", "."], "TS_V_token": ["i386", "32", "1", "\"\\tjmp\\t%s\\n\"", "\"\"", "\"%!jmp\\t%A0\""], "File": "i3868", "Func": "ix86_output_indirect_function_return", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38785, "Length": 127}
{"ground_truth": ["", "static", "bool", "ix86_pass_by_reference", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "{", "HOST_WIDE_INT", "msize", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "type", ")", "{", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "return", "true", ";", "if", "(", "RECORD_OR_UNION_TYPE_P", "(", "type", ")", ")", "{", "msize", "=", "int_size_in_bytes", "(", "type", ")", ";", "}", "}", "return", "msize", "!=", "1", "&&", "msize", "!=", "2", "&&", "msize", "!=", "4", "&&", "msize", "!=", "8", ";", "}", "else", "if", "(", "type", "&&", "int_size_in_bytes", "(", "type", ")", "==", "-", "1", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["A", "C", "expression", "that", "indicates", "when", "an", "argument", "must", "be", "passed", "by", "reference", ".", "If", "nonzero", "for", "an", "argument", ",", "a", "copy", "of", "that", "argument", "is", "made", "in", "memory", "and", "a", "pointer", "to", "the", "argument", "is", "passed", "instead", "of", "the", "argument", "itself", ".", "The", "pointer", "is", "passed", "in", "whatever", "way", "is", "appropriate", "for", "passing", "a", "pointer", "to", "that", "type", "."], "TS_V_token": ["i386", "1", "2", "4", "8", "1"], "File": "i3868", "Func": "ix86_pass_by_reference", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38786, "Length": 130}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_output_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_SSE_MATH", ")", "return", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "?", "ALL_SSE_REGS", ":", "NO_REGS", ";", "if", "(", "IS_STACK_MODE", "(", "mode", ")", ")", "return", "FLOAT_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "return", "regclass", ";", "}", ""], "natrual_language": ["Discourage", "putting", "floating-point", "values", "in", "SSE", "registers", "unless", "SSE", "math", "is", "being", "used", ",", "and", "likewise", "for", "the", "387", "registers", "."], "TS_V_token": ["i386"], "File": "i3868", "Func": "ix86_preferred_output_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38787, "Length": 66}
{"ground_truth": ["", "ix86_dependencies_evaluation_hook", "static", "int", "ix86_reassociation_width", "(", "unsigned", "int", "op", ",", "machine_mode", "mode", ")", "{", "int", "width", "=", "1", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "int", "div", "=", "1", ";", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_vec_int", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_vec_fp", ";", "if", "(", "width", "==", "1", ")", "return", "1", ";", "if", "(", "(", "ix86_tune", "==", "PROCESSOR_ZNVER1", "||", "ix86_tune", "==", "PROCESSOR_ZNVER2", ")", "&&", "INTEGRAL_MODE_P", "(", "mode", ")", "&&", "op", "!=", "PLUS", "&&", "op", "!=", "MINUS", ")", "return", "1", ";", "if", "(", "TARGET_AVX128_OPTIMAL", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "128", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "128", ";", "else", "if", "(", "TARGET_SSE_SPLIT_REGS", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "64", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "64", ";", "width", "=", "(", "width", "+", "div", "-", "1", ")", "/", "div", ";", "}", "else", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_int", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_fp", ";", "if", "(", "!", "TARGET_64BIT", "&&", "width", ">", "2", ")", "width", "=", "2", ";", "return", "width", ";", "}", ""], "natrual_language": ["Implementation", "of", "reassociation_width", "target", "hook", "used", "by", "reassoc", "phase", "to", "identify", "parallelism", "level", "in", "reassociated", "tree", ".", "Statements", "tree_code", "is", "passed", "in", "OPC", ".", "Arguments", "type", "is", "passed", "in", "MODE", ".", "Currently", "parallel", "reassociation", "is", "enabled", "for", "Atom", "processors", "only", "and", "we", "set", "reassociation", "width", "to", "be", "2", "because", "Atom", "may", "issue", "up", "to", "2", "instructions", "per", "cycle", ".", "Return", "value", "should", "be", "fixed", "if", "parallel", "reassociation", "is", "enabled", "for", "other", "processors", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "1", "128", "128", "64", "64", "1", "2", "2"], "File": "i3868", "Func": "ix86_reassociation_width", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38788, "Length": 194}
{"ground_truth": ["", "static", "bool", "ix86_save_reg", "(", "unsigned", "int", "regno", ",", "bool", "maybe_eh_return", ",", "bool", "ignore_outlined", ")", "{", "if", "(", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "rtx", "reg", "=", "crtl", "->", "return_rtx", ";", "if", "(", "reg", ")", "{", "unsigned", "int", "i", "=", "REGNO", "(", "reg", ")", ";", "unsigned", "int", "nregs", "=", "REG_NREGS", "(", "reg", ")", ";", "while", "(", "nregs", "--", ">", "0", ")", "if", "(", "(", "i", "+", "nregs", ")", "==", "regno", ")", "return", "false", ";", "}", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "!", "STACK_REGNO_P", "(", "regno", ")", "&&", "!", "MMX_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", "if", "(", "regno", "==", "REAL_PIC_OFFSET_TABLE_REGNUM", "&&", "pic_offset_table_rtx", ")", "{", "if", "(", "ix86_use_pseudo_pic_reg", "(", ")", ")", "{", "if", "(", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "crtl", "->", "profile", ")", "return", "true", ";", "}", "else", "if", "(", "df_regs_ever_live_p", "(", "REAL_PIC_OFFSET_TABLE_REGNUM", ")", "||", "crtl", "->", "profile", "||", "crtl", "->", "calls_eh_return", "||", "crtl", "->", "uses_const_pool", "||", "cfun", "->", "has_nonlocal_label", ")", "return", "ix86_select_alt_pic_regnum", "(", ")", "==", "INVALID_REGNUM", ";", "}", "if", "(", "crtl", "->", "calls_eh_return", "&&", "maybe_eh_return", ")", "{", "unsigned", "i", ";", "for", "(", "i", "=", "0", ";", ";", "i", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "i", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "regno", ")", "return", "true", ";", "}", "}", "if", "(", "ignore_outlined", "&&", "cfun", "->", "machine", "->", "call_ms2sysv", ")", "{", "unsigned", "count", "=", "cfun", "->", "machine", "->", "call_ms2sysv_extra_regs", "+", "xlogue_layout", "::", "MIN_REGS", ";", "if", "(", "xlogue_layout", "::", "is_stub_managed_reg", "(", "regno", ",", "count", ")", ")", "return", "false", ";", "}", "if", "(", "crtl", "->", "drap_reg", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", "&&", "!", "cfun", "->", "machine", "->", "no_drap_save_restore", ")", "return", "true", ";", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "call_used_regs", "[", "regno", "]", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "we", "need", "to", "save", "REGNO", "."], "TS_V_token": ["i386", "0", "0"], "File": "i3868", "Func": "ix86_save_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38789, "Length": 318}
{"ground_truth": ["", "static", "void", "ix86_set_current_function", "(", "tree", "fndecl", ")", "{", "if", "(", "fndecl", "==", "ix86_previous_fndecl", ")", "{", "if", "(", "fndecl", "!=", "NULL_TREE", ")", "{", "ix86_set_func_type", "(", "fndecl", ")", ";", "ix86_set_indirect_branch_type", "(", "fndecl", ")", ";", "}", "return", ";", "}", "tree", "old_tree", ";", "if", "(", "ix86_previous_fndecl", "==", "NULL_TREE", ")", "old_tree", "=", "target_option_current_node", ";", "else", "if", "(", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ")", "old_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "ix86_previous_fndecl", ")", ";", "else", "old_tree", "=", "target_option_default_node", ";", "if", "(", "fndecl", "==", "NULL_TREE", ")", "{", "if", "(", "old_tree", "!=", "target_option_current_node", ")", "ix86_reset_previous_fndecl", "(", ")", ";", "return", ";", "}", "ix86_set_func_type", "(", "fndecl", ")", ";", "ix86_set_indirect_branch_type", "(", "fndecl", ")", ";", "tree", "new_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "fndecl", ")", ";", "if", "(", "new_tree", "==", "NULL_TREE", ")", "new_tree", "=", "target_option_default_node", ";", "if", "(", "old_tree", "!=", "new_tree", ")", "{", "cl_target_option_restore", "(", "&", "global_options", ",", "TREE_TARGET_OPTION", "(", "new_tree", ")", ")", ";", "if", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", "restore_target_globals", "(", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", ")", ";", "else", "if", "(", "new_tree", "==", "target_option_default_node", ")", "restore_target_globals", "(", "&", "default_target_globals", ")", ";", "else", "TREE_TARGET_GLOBALS", "(", "new_tree", ")", "=", "save_target_globals_default_opts", "(", ")", ";", "}", "ix86_previous_fndecl", "=", "fndecl", ";", "static", "bool", "prev_no_caller_saved_registers", ";", "if", "(", "TARGET_64BIT", "&&", "(", "call_used_regs", "[", "SI_REG", "]", "==", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", ")", ")", ")", "reinit_regs", "(", ")", ";", "else", "if", "(", "prev_no_caller_saved_registers", "!=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "reinit_regs", "(", ")", ";", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", "||", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "const", "char", "*", "isa", ";", "if", "(", "TARGET_SSE", ")", "isa", "=", "\"SSE\"", ";", "else", "if", "(", "TARGET_MMX", ")", "isa", "=", "\"MMX/3Dnow\"", ";", "else", "if", "(", "TARGET_80387", ")", "isa", "=", "\"80387\"", ";", "else", "isa", "=", "NULL", ";", "if", "(", "isa", "!=", "NULL", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "sorry", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "?", "G_", "(", "\"%s instructions aren%'t allowed in an\"", "\" exception service routine\"", ")", ":", "G_", "(", "\"%s instructions aren%'t allowed in an\"", "\" interrupt service routine\"", ")", ",", "isa", ")", ";", "else", "sorry", "(", "\"%s instructions aren%'t allowed in a function with \"", "\"the % attribute\"", ",", "isa", ")", ";", "cfun", "->", "machine", "->", "func_type", "=", "TYPE_NORMAL", ";", "cfun", "->", "machine", "->", "no_caller_saved_registers", "=", "false", ";", "}", "}", "prev_no_caller_saved_registers", "=", "cfun", "->", "machine", "->", "no_caller_saved_registers", ";", "}", ""], "natrual_language": ["Establish", "appropriate", "back-end", "context", "for", "processing", "the", "function", "FNDECL", ".", "The", "argument", "might", "be", "NULL", "to", "indicate", "processing", "at", "top", "level", ",", "outside", "of", "any", "function", "scope", "."], "TS_V_token": ["i386", "\"SSE\"", "\"MMX/3Dnow\"", "\"80387\"", "\"%s instructions aren%'t allowed in an\"", "\" exception service routine\"", "\"%s instructions aren%'t allowed in an\"", "\" interrupt service routine\"", "\"%s instructions aren%'t allowed in a function with \"", "\"the % attribute\""], "File": "i3868", "Func": "ix86_set_current_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38790, "Length": 353}
{"ground_truth": ["", "static", "void", "ix86_set_indirect_branch_type", "(", "tree", "fndecl", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_unset", ")", "{", "tree", "attr", "=", "lookup_attribute", "(", "\"indirect_branch\"", ",", "DECL_ATTRIBUTES", "(", "fndecl", ")", ")", ";", "if", "(", "attr", "!=", "NULL", ")", "{", "tree", "args", "=", "TREE_VALUE", "(", "attr", ")", ";", "if", "(", "args", "==", "NULL", ")", "gcc_unreachable", "(", ")", ";", "tree", "cst", "=", "TREE_VALUE", "(", "args", ")", ";", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"keep\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "indirect_branch_keep", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "indirect_branch_thunk", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk-inline\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "indirect_branch_thunk_inline", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk-extern\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "indirect_branch_thunk_extern", ";", "else", "gcc_unreachable", "(", ")", ";", "}", "else", "cfun", "->", "machine", "->", "indirect_branch_type", "=", "ix86_indirect_branch", ";", "if", "(", "(", "ix86_cmodel", "==", "CM_LARGE", "||", "ix86_cmodel", "==", "CM_LARGE_PIC", ")", "&&", "(", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk_extern", ")", "||", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk", ")", ")", ")", "error", "(", "\"%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not \"", "\"compatible\"", ",", "(", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk_extern", ")", "?", "\"thunk-extern\"", ":", "\"thunk\"", ")", ")", ";", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_keep", "&&", "(", "flag_cf_protection", "&", "CF_RETURN", ")", ")", "error", "(", "\"%<-mindirect-branch%> and %<-fcf-protection%> are not \"", "\"compatible\"", ")", ";", "}", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_unset", ")", "{", "tree", "attr", "=", "lookup_attribute", "(", "\"function_return\"", ",", "DECL_ATTRIBUTES", "(", "fndecl", ")", ")", ";", "if", "(", "attr", "!=", "NULL", ")", "{", "tree", "args", "=", "TREE_VALUE", "(", "attr", ")", ";", "if", "(", "args", "==", "NULL", ")", "gcc_unreachable", "(", ")", ";", "tree", "cst", "=", "TREE_VALUE", "(", "args", ")", ";", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"keep\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "function_return_type", "=", "indirect_branch_keep", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "function_return_type", "=", "indirect_branch_thunk", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk-inline\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "function_return_type", "=", "indirect_branch_thunk_inline", ";", "else", "if", "(", "strcmp", "(", "TREE_STRING_POINTER", "(", "cst", ")", ",", "\"thunk-extern\"", ")", "==", "0", ")", "cfun", "->", "machine", "->", "function_return_type", "=", "indirect_branch_thunk_extern", ";", "else", "gcc_unreachable", "(", ")", ";", "}", "else", "cfun", "->", "machine", "->", "function_return_type", "=", "ix86_function_return", ";", "if", "(", "(", "ix86_cmodel", "==", "CM_LARGE", "||", "ix86_cmodel", "==", "CM_LARGE_PIC", ")", "&&", "(", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk_extern", ")", "||", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk", ")", ")", ")", "error", "(", "\"%<-mfunction-return=%s%> and %<-mcmodel=large%> are not \"", "\"compatible\"", ",", "(", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk_extern", ")", "?", "\"thunk-extern\"", ":", "\"thunk\"", ")", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_keep", "&&", "(", "flag_cf_protection", "&", "CF_RETURN", ")", ")", "error", "(", "\"%<-mfunction-return%> and %<-fcf-protection%> are not \"", "\"compatible\"", ")", ";", "}", "}", ""], "natrual_language": ["Set", "the", "indirect_branch_type", "field", "from", "the", "function", "FNDECL", "."], "TS_V_token": ["i386", "\"indirect_branch\"", "\"keep\"", "0", "\"thunk\"", "0", "\"thunk-inline\"", "0", "\"thunk-extern\"", "0", "\"%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not \"", "\"compatible\"", "\"thunk-extern\"", "\"thunk\"", "\"%<-mindirect-branch%> and %<-fcf-protection%> are not \"", "\"compatible\"", "\"function_return\"", "\"keep\"", "0", "\"thunk\"", "0", "\"thunk-inline\"", "0", "\"thunk-extern\"", "0", "\"%<-mfunction-return=%s%> and %<-mcmodel=large%> are not \"", "\"compatible\"", "\"thunk-extern\"", "\"thunk\"", "\"%<-mfunction-return%> and %<-fcf-protection%> are not \"", "\"compatible\""], "File": "i3868", "Func": "ix86_set_indirect_branch_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38791, "Length": 493}
{"ground_truth": ["", "static", "void", "ix86_simd_clone_adjust", "(", "struct", "cgraph_node", "*", "node", ")", "{", "const", "char", "*", "str", "=", "NULL", ";", "if", "(", "!", "node", "->", "definition", ")", "return", ";", "gcc_assert", "(", "node", "->", "decl", "==", "cfun", "->", "decl", ")", ";", "switch", "(", "node", "->", "simdclone", "->", "vecsize_mangle", ")", "{", "case", "'b'", ":", "if", "(", "!", "TARGET_SSE2", ")", "str", "=", "\"sse2\"", ";", "break", ";", "case", "'c'", ":", "if", "(", "!", "TARGET_AVX", ")", "str", "=", "\"avx\"", ";", "break", ";", "case", "'d'", ":", "if", "(", "!", "TARGET_AVX2", ")", "str", "=", "\"avx2\"", ";", "break", ";", "case", "'e'", ":", "if", "(", "!", "TARGET_AVX512F", ")", "str", "=", "\"avx512f\"", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "str", "==", "NULL", ")", "return", ";", "push_cfun", "(", "NULL", ")", ";", "tree", "args", "=", "build_tree_list", "(", "NULL_TREE", ",", "build_string", "(", "strlen", "(", "str", ")", ",", "str", ")", ")", ";", "bool", "ok", "=", "ix86_valid_target_attribute_p", "(", "node", "->", "decl", ",", "NULL", ",", "args", ",", "0", ")", ";", "gcc_assert", "(", "ok", ")", ";", "pop_cfun", "(", ")", ";", "ix86_reset_previous_fndecl", "(", ")", ";", "ix86_set_current_function", "(", "node", "->", "decl", ")", ";", "}", ""], "natrual_language": ["Add", "target", "attribute", "to", "SIMD", "clone", "NODE", "if", "needed", "."], "TS_V_token": ["i386", "\"sse2\"", "\"avx\"", "\"avx2\"", "\"avx512f\"", "0"], "File": "i3868", "Func": "ix86_simd_clone_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38792, "Length": 177}
{"ground_truth": ["", "static", "tree", "ix86_vectorize_builtin_scatter", "(", "const_tree", "vectype", ",", "const_tree", "index_type", ",", "int", "scale", ")", "{", "bool", "si", ";", "enum", "ix86_builtins", "code", ";", "if", "(", "!", "TARGET_AVX512F", ")", "return", "NULL_TREE", ";", "if", "(", "(", "TREE_CODE", "(", "index_type", ")", "!=", "INTEGER_TYPE", "&&", "!", "POINTER_TYPE_P", "(", "index_type", ")", ")", "||", "(", "TYPE_MODE", "(", "index_type", ")", "!=", "SImode", "&&", "TYPE_MODE", "(", "index_type", ")", "!=", "DImode", ")", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", ">", "POINTER_SIZE", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", "<", "POINTER_SIZE", "&&", "TYPE_UNSIGNED", "(", "index_type", ")", ")", "return", "NULL_TREE", ";", "if", "(", "scale", "<=", "0", "||", "scale", ">", "8", "||", "(", "scale", "&", "(", "scale", "-", "1", ")", ")", "!=", "0", ")", "return", "NULL_TREE", ";", "si", "=", "TYPE_MODE", "(", "index_type", ")", "==", "SImode", ";", "switch", "(", "TYPE_MODE", "(", "vectype", ")", ")", "{", "case", "E_V8DFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DF", ":", "IX86_BUILTIN_SCATTERDIV8DF", ";", "break", ";", "case", "E_V8DImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DI", ":", "IX86_BUILTIN_SCATTERDIV8DI", ";", "break", ";", "case", "E_V16SFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SF", ":", "IX86_BUILTIN_SCATTERALTDIV16SF", ";", "break", ";", "case", "E_V16SImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SI", ":", "IX86_BUILTIN_SCATTERALTDIV16SI", ";", "break", ";", "case", "E_V4DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV4DF", ":", "IX86_BUILTIN_SCATTERDIV4DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV4DI", ":", "IX86_BUILTIN_SCATTERDIV4DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V8SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV8SF", ":", "IX86_BUILTIN_SCATTERALTDIV8SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V8SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV8SI", ":", "IX86_BUILTIN_SCATTERALTDIV8SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V2DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV2DF", ":", "IX86_BUILTIN_SCATTERDIV2DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V2DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV2DI", ":", "IX86_BUILTIN_SCATTERDIV2DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV4SF", ":", "IX86_BUILTIN_SCATTERALTDIV4SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV4SI", ":", "IX86_BUILTIN_SCATTERALTDIV4SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "return", "ix86_builtins", "[", "code", "]", ";", "}", ""], "natrual_language": ["Returns", "a", "decl", "of", "a", "function", "that", "implements", "scatter", "store", "with", "register", "type", "VECTYPE", "and", "index", "type", "INDEX_TYPE", "and", "SCALE", ".", "Return", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "0", "8", "1", "0"], "File": "i3868", "Func": "ix86_vectorize_builtin_scatter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38793, "Length": 369}
{"ground_truth": ["", "static", "int", "ix86_vec_cost", "(", "machine_mode", "mode", ",", "int", "cost", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "return", "cost", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "==", "128", "&&", "TARGET_SSE_SPLIT_REGS", ")", "return", "cost", "*", "2", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "128", "&&", "TARGET_AVX128_OPTIMAL", ")", "return", "cost", "*", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "128", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "vector", "operation", "in", "MODE", "given", "that", "scalar", "version", "has", "COST", ".", "If", "PARALLEL", "is", "true", "assume", "that", "CPU", "has", "more", "than", "one", "unit", "performing", "the", "operation", "."], "TS_V_token": ["i386", "128", "2", "128", "128"], "File": "i3868", "Func": "ix86_vec_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38794, "Length": 63}
{"ground_truth": ["", "static", "tree", "make_resolver_func", "(", "const", "tree", "default_decl", ",", "const", "tree", "ifunc_alias_decl", ",", "basic_block", "*", "empty_bb", ")", "{", "char", "*", "resolver_name", ";", "tree", "decl", ",", "type", ",", "decl_name", ",", "t", ";", "if", "(", "TREE_PUBLIC", "(", "default_decl", ")", "==", "0", ")", "{", "char", "*", "ifunc_name", "=", "make_unique_name", "(", "default_decl", ",", "\"ifunc\"", ",", "true", ")", ";", "symtab", "->", "change_decl_assembler_name", "(", "ifunc_alias_decl", ",", "get_identifier", "(", "ifunc_name", ")", ")", ";", "XDELETEVEC", "(", "ifunc_name", ")", ";", "}", "resolver_name", "=", "make_unique_name", "(", "default_decl", ",", "\"resolver\"", ",", "false", ")", ";", "type", "=", "build_function_type_list", "(", "ptr_type_node", ",", "NULL_TREE", ")", ";", "decl", "=", "build_fn_decl", "(", "resolver_name", ",", "type", ")", ";", "decl_name", "=", "get_identifier", "(", "resolver_name", ")", ";", "SET_DECL_ASSEMBLER_NAME", "(", "decl", ",", "decl_name", ")", ";", "DECL_NAME", "(", "decl", ")", "=", "decl_name", ";", "TREE_USED", "(", "decl", ")", "=", "1", ";", "DECL_ARTIFICIAL", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "1", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "0", ";", "DECL_UNINLINABLE", "(", "decl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "decl", ")", "=", "0", ";", "DECL_EXTERNAL", "(", "ifunc_alias_decl", ")", "=", "0", ";", "DECL_CONTEXT", "(", "decl", ")", "=", "NULL_TREE", ";", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "DECL_STATIC_CONSTRUCTOR", "(", "decl", ")", "=", "0", ";", "if", "(", "DECL_COMDAT_GROUP", "(", "default_decl", ")", "||", "TREE_PUBLIC", "(", "default_decl", ")", ")", "{", "DECL_COMDAT", "(", "decl", ")", "=", "1", ";", "make_decl_one_only", "(", "decl", ",", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "}", "t", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "ptr_type_node", ")", ";", "DECL_CONTEXT", "(", "t", ")", "=", "decl", ";", "DECL_ARTIFICIAL", "(", "t", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "t", ")", "=", "1", ";", "DECL_RESULT", "(", "decl", ")", "=", "t", ";", "gimplify_function_tree", "(", "decl", ")", ";", "push_cfun", "(", "DECL_STRUCT_FUNCTION", "(", "decl", ")", ")", ";", "*", "empty_bb", "=", "init_lowered_empty_function", "(", "decl", ",", "false", ",", "profile_count", "::", "uninitialized", "(", ")", ")", ";", "cgraph_node", "::", "add_new_function", "(", "decl", ",", "true", ")", ";", "symtab", "->", "call_cgraph_insertion_hooks", "(", "cgraph_node", "::", "get_create", "(", "decl", ")", ")", ";", "pop_cfun", "(", ")", ";", "gcc_assert", "(", "ifunc_alias_decl", "!=", "NULL", ")", ";", "DECL_ATTRIBUTES", "(", "ifunc_alias_decl", ")", "=", "make_attribute", "(", "\"ifunc\"", ",", "resolver_name", ",", "DECL_ATTRIBUTES", "(", "ifunc_alias_decl", ")", ")", ";", "cgraph_node", "::", "create_same_body_alias", "(", "ifunc_alias_decl", ",", "decl", ")", ";", "XDELETEVEC", "(", "resolver_name", ")", ";", "return", "decl", ";", "}", ""], "natrual_language": ["Make", "the", "resolver", "function", "decl", "to", "dispatch", "the", "versions", "of", "a", "multi-", "versioned", "function", ",", "DEFAULT_DECL", ".", "Create", "an", "empty", "basic", "block", "in", "the", "resolver", "and", "store", "the", "pointer", "in", "EMPTY_BB", ".", "Return", "the", "decl", "of", "the", "resolver", "function", "."], "TS_V_token": ["i386", "0", "\"ifunc\"", "\"resolver\"", "1", "1", "1", "0", "1", "0", "0", "0", "1", "1", "1", "\"ifunc\""], "File": "i3868", "Func": "make_resolver_func", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38795, "Length": 362}
{"ground_truth": ["", "void", "dimode_scalar_chain", "::", "make_vector_copies", "(", "unsigned", "regno", ")", "{", "rtx", "reg", "=", "regno_reg_rtx", "[", "regno", "]", ";", "rtx", "vreg", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "df_ref", "ref", ";", "for", "(", "ref", "=", "DF_REG_DEF_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "!", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "start_sequence", "(", ")", ";", "if", "(", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", "{", "rtx", "tmp", "=", "assign_386_stack_local", "(", "DImode", ",", "SLOT_STV_TEMP", ")", ";", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ";", "emit_move_insn", "(", "adjust_address", "(", "tmp", ",", "SImode", ",", "4", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ";", "emit_move_insn", "(", "vreg", ",", "tmp", ")", ";", "}", "else", "if", "(", "TARGET_SSE4_1", ")", "{", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse4_1_pinsrd", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ",", "GEN_INT", "(", "2", ")", ")", ")", ";", "}", "else", "{", "rtx", "tmp", "=", "gen_reg_rtx", "(", "DImode", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "0", ")", ")", ")", ";", "emit_insn", "(", "gen_sse2_loadld", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ",", "CONST0_RTX", "(", "V4SImode", ")", ",", "gen_rtx_SUBREG", "(", "SImode", ",", "reg", ",", "4", ")", ")", ")", ";", "emit_insn", "(", "gen_vec_interleave_lowv4si", "(", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "vreg", ",", "0", ")", ",", "gen_rtx_SUBREG", "(", "V4SImode", ",", "tmp", ",", "0", ")", ")", ")", ";", "}", "rtx_insn", "*", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "rtx_insn", "*", "insn", "=", "DF_REF_INSN", "(", "ref", ")", ";", "emit_conversion_insns", "(", "seq", ",", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Copied r%d to a vector register r%d for insn %d\\n\"", ",", "regno", ",", "REGNO", "(", "vreg", ")", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", "for", "(", "ref", "=", "DF_REG_USE_CHAIN", "(", "regno", ")", ";", "ref", ";", "ref", "=", "DF_REF_NEXT_REG", "(", "ref", ")", ")", "if", "(", "bitmap_bit_p", "(", "insns", ",", "DF_REF_INSN_UID", "(", "ref", ")", ")", ")", "{", "rtx_insn", "*", "insn", "=", "DF_REF_INSN", "(", "ref", ")", ";", "replace_with_subreg_in_insn", "(", "insn", ",", "reg", ",", "vreg", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\" Replaced r%d with r%d in insn %d\\n\"", ",", "regno", ",", "REGNO", "(", "vreg", ")", ",", "INSN_UID", "(", "insn", ")", ")", ";", "}", "}", ""], "natrual_language": ["Make", "vector", "copies", "for", "all", "register", "REGNO", "definitions", "and", "replace", "its", "uses", "in", "a", "chain", "."], "TS_V_token": ["i386", "0", "0", "4", "4", "0", "0", "0", "0", "4", "2", "0", "0", "0", "4", "0", "0", "0", "\" Copied r%d to a vector register r%d for insn %d\\n\"", "\" Replaced r%d with r%d in insn %d\\n\""], "File": "i3868", "Func": "make_vector_copies", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38796, "Length": 432}
{"ground_truth": ["", "static", "void", "parse_mtune_ctrl_str", "(", "bool", "dump", ")", "{", "if", "(", "!", "ix86_tune_ctrl_string", ")", "return", ";", "char", "*", "next_feature_string", "=", "NULL", ";", "char", "*", "curr_feature_string", "=", "xstrdup", "(", "ix86_tune_ctrl_string", ")", ";", "char", "*", "orig", "=", "curr_feature_string", ";", "int", "i", ";", "do", "{", "bool", "clear", "=", "false", ";", "next_feature_string", "=", "strchr", "(", "curr_feature_string", ",", "','", ")", ";", "if", "(", "next_feature_string", ")", "*", "next_feature_string", "++", "=", "'\\0'", ";", "if", "(", "*", "curr_feature_string", "==", "'^'", ")", "{", "curr_feature_string", "++", ";", "clear", "=", "true", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "X86_TUNE_LAST", ";", "i", "++", ")", "{", "if", "(", "!", "strcmp", "(", "curr_feature_string", ",", "ix86_tune_feature_names", "[", "i", "]", ")", ")", "{", "ix86_tune_features", "[", "i", "]", "=", "!", "clear", ";", "if", "(", "dump", ")", "fprintf", "(", "stderr", ",", "\"Explicitly %s feature %s\\n\"", ",", "clear", "?", "\"clear\"", ":", "\"set\"", ",", "ix86_tune_feature_names", "[", "i", "]", ")", ";", "break", ";", "}", "}", "if", "(", "i", "==", "X86_TUNE_LAST", ")", "error", "(", "\"unknown parameter to option %<-mtune-ctrl%>: %s\"", ",", "clear", "?", "curr_feature_string", "-", "1", ":", "curr_feature_string", ")", ";", "curr_feature_string", "=", "next_feature_string", ";", "}", "while", "(", "curr_feature_string", ")", ";", "free", "(", "orig", ")", ";", "}", ""], "natrual_language": ["parse", "-mtune-ctrl=", "option", ".", "When", "DUMP", "is", "true", ",", "print", "the", "features", "that", "are", "explicitly", "set", "."], "TS_V_token": ["i386", "0", "\"Explicitly %s feature %s\\n\"", "\"clear\"", "\"set\"", "\"unknown parameter to option %<-mtune-ctrl%>: %s\"", "1"], "File": "i3868", "Func": "parse_mtune_ctrl_str", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38797, "Length": 178}
{"ground_truth": ["", "static", "void", "warn_once_call_ms2sysv_xlogues", "(", "const", "char", "*", "feature", ")", "{", "static", "bool", "warned_once", "=", "false", ";", "if", "(", "!", "warned_once", ")", "{", "warning", "(", "0", ",", "\"%<-mcall-ms2sysv-xlogues%> is not compatible with %s\"", ",", "feature", ")", ";", "warned_once", "=", "true", ";", "}", "}", ""], "natrual_language": ["Emits", "a", "warning", "for", "unsupported", "msabi", "to", "sysv", "pro/epilogues", "."], "TS_V_token": ["i386", "0", "\"%<-mcall-ms2sysv-xlogues%> is not compatible with %s\""], "File": "i3868", "Func": "warn_once_call_ms2sysv_xlogues", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38798, "Length": 37}
{"ground_truth": ["", "void", "x86_order_regs_for_local_alloc", "(", "void", ")", "{", "int", "pos", "=", "0", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "i", ")", "&&", "call_used_regs", "[", "i", "]", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "i", ")", "&&", "!", "call_used_regs", "[", "i", "]", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "if", "(", "!", "TARGET_SSE_MATH", ")", "for", "(", "i", "=", "FIRST_STACK_REG", ";", "i", "<=", "LAST_STACK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_SSE_REG", ";", "i", "<=", "LAST_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_MASK_REG", ";", "i", "<=", "LAST_MASK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "if", "(", "TARGET_SSE_MATH", ")", "for", "(", "i", "=", "FIRST_STACK_REG", ";", "i", "<=", "LAST_STACK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_MMX_REG", ";", "i", "<=", "LAST_MMX_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "while", "(", "pos", "<", "FIRST_PSEUDO_REGISTER", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "0", ";", "}", ""], "natrual_language": ["Order", "the", "registers", "for", "register", "allocator", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i3868", "Func": "x86_order_regs_for_local_alloc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38799, "Length": 252}
{"ground_truth": ["", "static", "void", "add_dependee_for_func_arg", "(", "rtx_insn", "*", "arg", ",", "basic_block", "bb", ")", "{", "rtx_insn", "*", "insn", "=", "BB_END", "(", "bb", ")", ";", "while", "(", "insn", ")", "{", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", "&&", "NONJUMP_INSN_P", "(", "insn", ")", ")", "{", "rtx", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "set", ")", "{", "avoid_func_arg_motion", "(", "arg", ",", "insn", ")", ";", "return", ";", "}", "}", "if", "(", "insn", "==", "BB_HEAD", "(", "bb", ")", ")", "return", ";", "insn", "=", "PREV_INSN", "(", "insn", ")", ";", "}", "}", ""], "natrual_language": ["Avoid", "cross", "block", "motion", "of", "function", "argument", "through", "adding", "dependency", "from", "the", "first", "non-jump", "instruction", "in", "bb", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "add_dependee_for_func_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38800, "Length": 83}
{"ground_truth": ["", "static", "rtx_insn", "*", "add_parameter_dependencies", "(", "rtx_insn", "*", "call", ",", "rtx_insn", "*", "head", ")", "{", "rtx_insn", "*", "insn", ";", "rtx_insn", "*", "last", "=", "call", ";", "rtx_insn", "*", "first_arg", "=", "NULL", ";", "bool", "is_spilled", "=", "false", ";", "head", "=", "PREV_INSN", "(", "head", ")", ";", "while", "(", "true", ")", "{", "last", "=", "PREV_INSN", "(", "last", ")", ";", "if", "(", "last", "==", "head", ")", "return", "NULL", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "last", ")", ")", "continue", ";", "if", "(", "insn_is_function_arg", "(", "last", ",", "&", "is_spilled", ")", ")", "break", ";", "return", "NULL", ";", "}", "first_arg", "=", "last", ";", "while", "(", "true", ")", "{", "insn", "=", "PREV_INSN", "(", "last", ")", ";", "if", "(", "!", "INSN_P", "(", "insn", ")", ")", "break", ";", "if", "(", "insn", "==", "head", ")", "break", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "{", "last", "=", "insn", ";", "continue", ";", "}", "if", "(", "insn_is_function_arg", "(", "insn", ",", "&", "is_spilled", ")", ")", "{", "if", "(", "is_spilled", ")", "add_dependence", "(", "first_arg", ",", "insn", ",", "REG_DEP_OUTPUT", ")", ";", "first_arg", "=", "last", "=", "insn", ";", "}", "else", "break", ";", "}", "if", "(", "!", "is_spilled", ")", "return", "NULL", ";", "return", "first_arg", ";", "}", ""], "natrual_language": ["Add", "output", "dependencies", "for", "chain", "of", "function", "adjacent", "arguments", "if", "only", "there", "is", "a", "move", "to", "likely", "spilled", "HW", "register", ".", "Return", "first", "argument", "if", "at", "least", "one", "dependence", "was", "added", "or", "NULL", "otherwise", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "add_parameter_dependencies", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38801, "Length": 186}
{"ground_truth": ["", "rtx", "assign_386_stack_local", "(", "machine_mode", "mode", ",", "enum", "ix86_stack_slot", "n", ")", "{", "struct", "stack_local_entry", "*", "s", ";", "gcc_assert", "(", "n", "<", "MAX_386_STACK_LOCALS", ")", ";", "for", "(", "s", "=", "ix86_stack_locals", ";", "s", ";", "s", "=", "s", "->", "next", ")", "if", "(", "s", "->", "mode", "==", "mode", "&&", "s", "->", "n", "==", "n", ")", "return", "validize_mem", "(", "copy_rtx", "(", "s", "->", "rtl", ")", ")", ";", "s", "=", "ggc_alloc", "<", "stack_local_entry", ">", "(", ")", ";", "s", "->", "n", "=", "n", ";", "s", "->", "mode", "=", "mode", ";", "s", "->", "rtl", "=", "assign_stack_local", "(", "mode", ",", "GET_MODE_SIZE", "(", "mode", ")", ",", "0", ")", ";", "s", "->", "next", "=", "ix86_stack_locals", ";", "ix86_stack_locals", "=", "s", ";", "return", "validize_mem", "(", "copy_rtx", "(", "s", "->", "rtl", ")", ")", ";", "}", ""], "natrual_language": ["Return", "a", "MEM", "corresponding", "to", "a", "stack", "slot", "with", "mode", "MODE", ".", "Allocate", "a", "new", "slot", "if", "necessary", ".", "The", "RTL", "for", "a", "function", "can", "have", "several", "slots", "available", ":", "N", "is", "which", "slot", "to", "use", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "assign_386_stack_local", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38802, "Length": 121}
{"ground_truth": ["", "static", "void", "avoid_func_arg_motion", "(", "rtx_insn", "*", "first_arg", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "set", ";", "rtx", "tmp", ";", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "set", ")", "return", ";", "tmp", "=", "SET_DEST", "(", "set", ")", ";", "if", "(", "REG_P", "(", "tmp", ")", ")", "{", "add_dependence", "(", "first_arg", ",", "insn", ",", "REG_DEP_OUTPUT", ")", ";", "return", ";", "}", "add_dependence", "(", "first_arg", ",", "insn", ",", "REG_DEP_ANTI", ")", ";", "}", ""], "natrual_language": ["Add", "output", "or", "anti", "dependency", "from", "insn", "to", "first_arg", "to", "restrict", "its", "code", "motion", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "avoid_func_arg_motion", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38803, "Length": 70}
{"ground_truth": ["", "int", "avx_vperm2f128_parallel", "(", "rtx", "par", ",", "machine_mode", "mode", ")", "{", "unsigned", "i", ",", "nelt", "=", "GET_MODE_NUNITS", "(", "mode", ")", ",", "nelt2", "=", "nelt", "/", "2", ";", "unsigned", "mask", "=", "0", ";", "unsigned", "char", "ipar", "[", "8", "]", "=", "{", "}", ";", "if", "(", "XVECLEN", "(", "par", ",", "0", ")", "!=", "(", "int", ")", "nelt", ")", "return", "0", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "rtx", "er", "=", "XVECEXP", "(", "par", ",", "0", ",", "i", ")", ";", "unsigned", "HOST_WIDE_INT", "ei", ";", "if", "(", "!", "CONST_INT_P", "(", "er", ")", ")", "return", "0", ";", "ei", "=", "INTVAL", "(", "er", ")", ";", "if", "(", "ei", ">=", "2", "*", "nelt", ")", "return", "0", ";", "ipar", "[", "i", "]", "=", "ei", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "nelt2", "-", "1", ";", "++", "i", ")", "if", "(", "ipar", "[", "i", "]", "+", "1", "!=", "ipar", "[", "i", "+", "1", "]", ")", "return", "0", ";", "for", "(", "i", "=", "nelt2", ";", "i", "<", "nelt", "-", "1", ";", "++", "i", ")", "if", "(", "ipar", "[", "i", "]", "+", "1", "!=", "ipar", "[", "i", "+", "1", "]", ")", "return", "0", ";", "for", "(", "i", "=", "0", ";", "i", "<", "2", ";", "++", "i", ")", "{", "unsigned", "e", "=", "ipar", "[", "i", "*", "nelt2", "]", ";", "if", "(", "e", "%", "nelt2", ")", "return", "0", ";", "e", "/=", "nelt2", ";", "mask", "|=", "e", "<<", "(", "i", "*", "4", ")", ";", "}", "return", "mask", "+", "1", ";", "}", ""], "natrual_language": ["Helper", "for", "avx_vperm2f128_v4df_operand", "et", "al", ".", "This", "is", "also", "used", "by", "the", "expansion", "functions", "to", "turn", "the", "parallel", "back", "into", "a", "mask", ".", "The", "return", "value", "is", "0", "for", "no", "match", "and", "the", "imm8+1", "for", "a", "match", "."], "TS_V_token": ["i386", "2", "0", "8", "0", "0", "0", "0", "0", "2", "0", "0", "1", "1", "1", "0", "1", "1", "1", "0", "0", "2", "0", "4", "1"], "File": "i386", "Func": "avx_vperm2f128_parallel", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38804, "Length": 247}
{"ground_truth": ["", "int", "avx_vpermilp_parallel", "(", "rtx", "par", ",", "machine_mode", "mode", ")", "{", "unsigned", "i", ",", "nelt", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "unsigned", "mask", "=", "0", ";", "unsigned", "char", "ipar", "[", "16", "]", "=", "{", "}", ";", "if", "(", "XVECLEN", "(", "par", ",", "0", ")", "!=", "(", "int", ")", "nelt", ")", "return", "0", ";", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "{", "rtx", "er", "=", "XVECEXP", "(", "par", ",", "0", ",", "i", ")", ";", "unsigned", "HOST_WIDE_INT", "ei", ";", "if", "(", "!", "CONST_INT_P", "(", "er", ")", ")", "return", "0", ";", "ei", "=", "INTVAL", "(", "er", ")", ";", "if", "(", "ei", ">=", "nelt", ")", "return", "0", ";", "ipar", "[", "i", "]", "=", "ei", ";", "}", "switch", "(", "mode", ")", "{", "case", "E_V8DFmode", ":", "for", "(", "i", "=", "4", ";", "i", "<", "6", ";", "++", "i", ")", "{", "if", "(", "ipar", "[", "i", "]", "<", "4", "||", "ipar", "[", "i", "]", ">=", "6", ")", "return", "0", ";", "mask", "|=", "(", "ipar", "[", "i", "]", "-", "4", ")", "<<", "i", ";", "}", "for", "(", "i", "=", "6", ";", "i", "<", "8", ";", "++", "i", ")", "{", "if", "(", "ipar", "[", "i", "]", "<", "6", ")", "return", "0", ";", "mask", "|=", "(", "ipar", "[", "i", "]", "-", "6", ")", "<<", "i", ";", "}", "case", "E_V4DFmode", ":", "for", "(", "i", "=", "0", ";", "i", "<", "2", ";", "++", "i", ")", "{", "if", "(", "ipar", "[", "i", "]", ">=", "2", ")", "return", "0", ";", "mask", "|=", "ipar", "[", "i", "]", "<<", "i", ";", "}", "for", "(", "i", "=", "2", ";", "i", "<", "4", ";", "++", "i", ")", "{", "if", "(", "ipar", "[", "i", "]", "<", "2", ")", "return", "0", ";", "mask", "|=", "(", "ipar", "[", "i", "]", "-", "2", ")", "<<", "i", ";", "}", "break", ";", "case", "E_V16SFmode", ":", "for", "(", "i", "=", "0", ";", "i", "<", "8", ";", "++", "i", ")", "if", "(", "ipar", "[", "i", "]", "+", "8", "!=", "ipar", "[", "i", "+", "8", "]", ")", "return", "0", ";", "case", "E_V8SFmode", ":", "for", "(", "i", "=", "0", ";", "i", "<", "4", ";", "++", "i", ")", "if", "(", "ipar", "[", "i", "]", "+", "4", "!=", "ipar", "[", "i", "+", "4", "]", ")", "return", "0", ";", "nelt", "=", "4", ";", "case", "E_V2DFmode", ":", "case", "E_V4SFmode", ":", "for", "(", "i", "=", "0", ";", "i", "<", "nelt", ";", "++", "i", ")", "mask", "|=", "ipar", "[", "i", "]", "<<", "(", "i", "*", "(", "nelt", "/", "2", ")", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "mask", "+", "1", ";", "}", ""], "natrual_language": ["Helper", "for", "avx_vpermilps256_operand", "et", "al", ".", "This", "is", "also", "used", "by", "the", "expansion", "functions", "to", "turn", "the", "parallel", "back", "into", "a", "mask", ".", "The", "return", "value", "is", "0", "for", "no", "match", "and", "the", "imm8+1", "for", "a", "match", "."], "TS_V_token": ["i386", "0", "16", "0", "0", "0", "0", "0", "0", "4", "6", "4", "6", "0", "4", "6", "8", "6", "0", "6", "0", "2", "2", "0", "2", "4", "2", "0", "2", "0", "8", "8", "8", "0", "0", "4", "4", "4", "0", "4", "0", "2", "1"], "File": "i386", "Func": "avx_vpermilp_parallel", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38805, "Length": 418}
{"ground_truth": ["", "static", "rtx", "choose_baseaddr", "(", "HOST_WIDE_INT", "cfa_offset", ",", "unsigned", "int", "*", "align", ",", "unsigned", "int", "scratch_regno", "=", "INVALID_REGNUM", ")", "{", "rtx", "base_reg", "=", "NULL", ";", "HOST_WIDE_INT", "base_offset", "=", "0", ";", "if", "(", "align", "&&", "*", "align", ")", "choose_basereg", "(", "cfa_offset", ",", "base_reg", ",", "base_offset", ",", "*", "align", ",", "align", ")", ";", "if", "(", "!", "base_reg", ")", "choose_basereg", "(", "cfa_offset", ",", "base_reg", ",", "base_offset", ",", "0", ",", "align", ")", ";", "gcc_assert", "(", "base_reg", "!=", "NULL", ")", ";", "rtx", "base_offset_rtx", "=", "GEN_INT", "(", "base_offset", ")", ";", "if", "(", "!", "x86_64_immediate_operand", "(", "base_offset_rtx", ",", "Pmode", ")", ")", "{", "gcc_assert", "(", "scratch_regno", "!=", "INVALID_REGNUM", ")", ";", "rtx", "scratch_reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "scratch_regno", ")", ";", "emit_move_insn", "(", "scratch_reg", ",", "base_offset_rtx", ")", ";", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "base_reg", ",", "scratch_reg", ")", ";", "}", "return", "plus_constant", "(", "Pmode", ",", "base_reg", ",", "base_offset", ")", ";", "}", ""], "natrual_language": ["Return", "an", "RTX", "that", "points", "to", "CFA_OFFSET", "within", "the", "stack", "frame", ".", "The", "valid", "base", "registers", "are", "taken", "from", "CFUN-", ">", "MACHINE-", ">", "FS", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386", "Func": "choose_baseaddr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38806, "Length": 140}
{"ground_truth": ["", "static", "inline", "int", "choose_baseaddr_len", "(", "unsigned", "int", "regno", ",", "HOST_WIDE_INT", "offset", ")", "{", "int", "len", "=", "4", ";", "if", "(", "offset", "==", "0", ")", "{", "len", "=", "(", "regno", "==", "BP_REG", "||", "regno", "==", "R13_REG", ")", ";", "}", "else", "if", "(", "IN_RANGE", "(", "offset", ",", "-", "128", ",", "127", ")", ")", "len", "=", "1", ";", "if", "(", "regno", "==", "SP_REG", "||", "regno", "==", "R12_REG", ")", "len", "++", ";", "return", "len", ";", "}", ""], "natrual_language": ["This", "is", "semi-inlined", "memory_address_length", ",", "but", "simplified", "since", "we", "know", "that", "we", "'re", "always", "dealing", "with", "reg+offset", ",", "and", "to", "avoid", "having", "to", "create", "and", "discard", "all", "that", "rtl", "."], "TS_V_token": ["i386", "4", "0", "128", "127", "1"], "File": "i386", "Func": "choose_baseaddr_len", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38807, "Length": 72}
{"ground_truth": ["", "static", "void", "choose_basereg", "(", "HOST_WIDE_INT", "cfa_offset", ",", "rtx", "&", "base_reg", ",", "HOST_WIDE_INT", "&", "base_offset", ",", "unsigned", "int", "align_reqested", ",", "unsigned", "int", "*", "align", ")", "{", "const", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "unsigned", "int", "hfp_align", ";", "unsigned", "int", "drap_align", ";", "unsigned", "int", "sp_align", ";", "bool", "hfp_ok", "=", "fp_valid_at", "(", "cfa_offset", ")", ";", "bool", "drap_ok", "=", "m", "->", "fs", ".", "drap_valid", ";", "bool", "sp_ok", "=", "sp_valid_at", "(", "cfa_offset", ")", ";", "hfp_align", "=", "drap_align", "=", "sp_align", "=", "INCOMING_STACK_BOUNDARY", ";", "if", "(", "align_reqested", ")", "{", "if", "(", "m", "->", "fs", ".", "realigned", ")", "hfp_align", "=", "drap_align", "=", "sp_align", "=", "crtl", "->", "stack_alignment_needed", ";", "else", "if", "(", "m", "->", "fs", ".", "sp_realigned", ")", "sp_align", "=", "crtl", "->", "stack_alignment_needed", ";", "hfp_ok", "=", "hfp_ok", "&&", "hfp_align", ">=", "align_reqested", ";", "drap_ok", "=", "drap_ok", "&&", "drap_align", ">=", "align_reqested", ";", "sp_ok", "=", "sp_ok", "&&", "sp_align", ">=", "align_reqested", ";", "}", "if", "(", "m", "->", "use_fast_prologue_epilogue", ")", "{", "if", "(", "hfp_ok", ")", "{", "base_reg", "=", "hard_frame_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ";", "}", "else", "if", "(", "drap_ok", ")", "{", "base_reg", "=", "crtl", "->", "drap_reg", ";", "base_offset", "=", "0", "-", "cfa_offset", ";", "}", "else", "if", "(", "sp_ok", ")", "{", "base_reg", "=", "stack_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "sp_offset", "-", "cfa_offset", ";", "}", "}", "else", "{", "HOST_WIDE_INT", "toffset", ";", "int", "len", "=", "16", ",", "tlen", ";", "if", "(", "sp_ok", ")", "{", "base_reg", "=", "stack_pointer_rtx", ";", "base_offset", "=", "m", "->", "fs", ".", "sp_offset", "-", "cfa_offset", ";", "len", "=", "choose_baseaddr_len", "(", "STACK_POINTER_REGNUM", ",", "base_offset", ")", ";", "}", "if", "(", "drap_ok", ")", "{", "toffset", "=", "0", "-", "cfa_offset", ";", "tlen", "=", "choose_baseaddr_len", "(", "REGNO", "(", "crtl", "->", "drap_reg", ")", ",", "toffset", ")", ";", "if", "(", "tlen", "<=", "len", ")", "{", "base_reg", "=", "crtl", "->", "drap_reg", ";", "base_offset", "=", "toffset", ";", "len", "=", "tlen", ";", "}", "}", "if", "(", "hfp_ok", ")", "{", "toffset", "=", "m", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ";", "tlen", "=", "choose_baseaddr_len", "(", "HARD_FRAME_POINTER_REGNUM", ",", "toffset", ")", ";", "if", "(", "tlen", "<=", "len", ")", "{", "base_reg", "=", "hard_frame_pointer_rtx", ";", "base_offset", "=", "toffset", ";", "}", "}", "}", "if", "(", "align", ")", "{", "if", "(", "base_reg", "==", "stack_pointer_rtx", ")", "*", "align", "=", "sp_align", ";", "else", "if", "(", "base_reg", "==", "crtl", "->", "drap_reg", ")", "*", "align", "=", "drap_align", ";", "else", "if", "(", "base_reg", "==", "hard_frame_pointer_rtx", ")", "*", "align", "=", "hfp_align", ";", "}", "}", ""], "natrual_language": ["Choose", "a", "base", "register", "based", "upon", "alignment", "requested", ",", "speed", "and/or", "size", "."], "TS_V_token": ["i386", "0", "16", "0"], "File": "i386", "Func": "choose_basereg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38808, "Length": 386}
{"ground_truth": ["", "static", "int", "classify_argument", "(", "machine_mode", "mode", ",", "const_tree", "type", ",", "enum", "x86_64_reg_class", "classes", "[", "MAX_CLASSES", "]", ",", "int", "bit_offset", ")", "{", "int", "zero_width_bitfields", "=", "0", ";", "static", "bool", "warned", "=", "false", ";", "int", "n", "=", "classify_argument", "(", "mode", ",", "type", ",", "classes", ",", "bit_offset", ",", "zero_width_bitfields", ")", ";", "if", "(", "!", "zero_width_bitfields", "||", "warned", "||", "!", "warn_psabi", ")", "return", "n", ";", "enum", "x86_64_reg_class", "alt_classes", "[", "MAX_CLASSES", "]", ";", "zero_width_bitfields", "=", "2", ";", "if", "(", "classify_argument", "(", "mode", ",", "type", ",", "alt_classes", ",", "bit_offset", ",", "zero_width_bitfields", ")", "!=", "n", ")", "zero_width_bitfields", "=", "3", ";", "else", "for", "(", "int", "i", "=", "0", ";", "i", "<", "n", ";", "i", "++", ")", "if", "(", "classes", "[", "i", "]", "!=", "alt_classes", "[", "i", "]", ")", "{", "zero_width_bitfields", "=", "3", ";", "break", ";", "}", "if", "(", "zero_width_bitfields", "==", "3", ")", "{", "warned", "=", "true", ";", "const", "char", "*", "url", "=", "CHANGES_ROOT_URL", "\"gcc-12/changes.html#zero_width_bitfields\"", ";", "inform", "(", "input_location", ",", "\"the ABI of passing C structures with zero-width bit-fields\"", "\" has changed in GCC %{12.1%}\"", ",", "url", ")", ";", "}", "return", "n", ";", "}", ""], "natrual_language": ["Classify", "the", "argument", "of", "type", "TYPE", "and", "mode", "MODE", ".", "CLASSES", "will", "be", "filled", "by", "the", "register", "class", "used", "to", "pass", "each", "word", "of", "the", "operand", ".", "The", "number", "of", "words", "is", "returned", ".", "In", "case", "the", "parameter", "should", "be", "passed", "in", "memory", ",", "0", "is", "returned", ".", "As", "a", "special", "case", "for", "zero", "sized", "containers", ",", "classes", "[", "0", "]", "will", "be", "NO_CLASS", "and", "1", "is", "returned", ".", "BIT_OFFSET", "is", "used", "internally", "for", "handling", "records", "and", "specifies", "offset", "of", "the", "offset", "in", "bits", "modulo", "256", "to", "avoid", "overflow", "cases", ".", "See", "the", "x86-64", "PS", "ABI", "for", "details", "."], "TS_V_token": ["i386", "0", "2", "3", "0", "3", "3", "\"gcc-12/changes.html#zero_width_bitfields\"", "\"the ABI of passing C structures with zero-width bit-fields\"", "\" has changed in GCC %{12.1%}\""], "File": "i386", "Func": "classify_argument", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38809, "Length": 162}
{"ground_truth": ["", "bool", "constant_address_p", "(", "rtx", "x", ")", "{", "return", "CONSTANT_P", "(", "x", ")", "&&", "ix86_legitimate_address_p", "(", "Pmode", ",", "x", ",", "1", ")", ";", "}", ""], "natrual_language": ["Determine", "if", "a", "given", "RTX", "is", "a", "valid", "constant", "address", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "constant_address_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38810, "Length": 23}
{"ground_truth": ["", "static", "bool", "darwin_local_data_pic", "(", "rtx", "disp", ")", "{", "return", "(", "GET_CODE", "(", "disp", ")", "==", "UNSPEC", "&&", "XINT", "(", "disp", ",", "1", ")", "==", "UNSPEC_MACHOPIC_OFFSET", ")", ";", "}", ""], "natrual_language": ["Allow", "{", "LABEL", "|", "SYMBOL", "}", "_REF", "-", "SYMBOL_REF-FOR-PICBASE", "for", "Mach-O", "as", "this", "is", "used", "for", "to", "form", "addresses", "to", "local", "data", "when", "-fPIC", "is", "in", "use", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "darwin_local_data_pic", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38811, "Length": 28}
{"ground_truth": ["", "static", "int", "distance_agu_use", "(", "unsigned", "int", "regno0", ",", "rtx_insn", "*", "insn", ")", "{", "basic_block", "bb", "=", "BLOCK_FOR_INSN", "(", "insn", ")", ";", "int", "distance", "=", "0", ";", "bool", "found", "=", "false", ";", "bool", "redefined", "=", "false", ";", "if", "(", "insn", "!=", "BB_END", "(", "bb", ")", ")", "distance", "=", "distance_agu_use_in_bb", "(", "regno0", ",", "insn", ",", "distance", ",", "NEXT_INSN", "(", "insn", ")", ",", "&", "found", ",", "&", "redefined", ")", ";", "if", "(", "!", "found", "&&", "!", "redefined", "&&", "distance", "<", "LEA_SEARCH_THRESHOLD", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "bool", "simple_loop", "=", "false", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "succs", ")", "if", "(", "e", "->", "dest", "==", "bb", ")", "{", "simple_loop", "=", "true", ";", "break", ";", "}", "if", "(", "simple_loop", ")", "distance", "=", "distance_agu_use_in_bb", "(", "regno0", ",", "insn", ",", "distance", ",", "BB_HEAD", "(", "bb", ")", ",", "&", "found", ",", "&", "redefined", ")", ";", "else", "{", "int", "shortest_dist", "=", "-", "1", ";", "bool", "found_in_bb", "=", "false", ";", "bool", "redefined_in_bb", "=", "false", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "succs", ")", "{", "int", "bb_dist", "=", "distance_agu_use_in_bb", "(", "regno0", ",", "insn", ",", "distance", ",", "BB_HEAD", "(", "e", "->", "dest", ")", ",", "&", "found_in_bb", ",", "&", "redefined_in_bb", ")", ";", "if", "(", "found_in_bb", ")", "{", "if", "(", "shortest_dist", "<", "0", ")", "shortest_dist", "=", "bb_dist", ";", "else", "if", "(", "bb_dist", ">", "0", ")", "shortest_dist", "=", "MIN", "(", "bb_dist", ",", "shortest_dist", ")", ";", "found", "=", "true", ";", "}", "}", "distance", "=", "shortest_dist", ";", "}", "}", "if", "(", "!", "found", "||", "redefined", ")", "return", "-", "1", ";", "return", "distance", ">>", "1", ";", "}", ""], "natrual_language": ["Return", "the", "distance", "between", "INSN", "and", "the", "next", "insn", "that", "uses", "register", "number", "REGNO0", "in", "memory", "address", ".", "Return", "-1", "if", "no", "such", "a", "use", "is", "found", "within", "LEA_SEARCH_THRESHOLD", "or", "REGNO0", "is", "set", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "1", "1"], "File": "i386", "Func": "distance_agu_use", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38812, "Length": 257}
{"ground_truth": ["", "static", "int", "distance_agu_use_in_bb", "(", "unsigned", "int", "regno", ",", "rtx_insn", "*", "insn", ",", "int", "distance", ",", "rtx_insn", "*", "start", ",", "bool", "*", "found", ",", "bool", "*", "redefined", ")", "{", "basic_block", "bb", "=", "NULL", ";", "rtx_insn", "*", "next", "=", "start", ";", "rtx_insn", "*", "prev", "=", "NULL", ";", "*", "found", "=", "false", ";", "*", "redefined", "=", "false", ";", "if", "(", "start", "!=", "NULL_RTX", ")", "{", "bb", "=", "BLOCK_FOR_INSN", "(", "start", ")", ";", "if", "(", "start", "!=", "BB_HEAD", "(", "bb", ")", ")", "prev", "=", "insn", ";", "}", "while", "(", "next", "&&", "next", "!=", "insn", "&&", "distance", "<", "LEA_SEARCH_THRESHOLD", ")", "{", "if", "(", "NONDEBUG_INSN_P", "(", "next", ")", "&&", "NONJUMP_INSN_P", "(", "next", ")", ")", "{", "distance", "=", "increase_distance", "(", "prev", ",", "next", ",", "distance", ")", ";", "if", "(", "insn_uses_reg_mem", "(", "regno", ",", "next", ")", ")", "{", "*", "found", "=", "true", ";", "return", "distance", ";", "}", "if", "(", "insn_defines_reg", "(", "regno", ",", "INVALID_REGNUM", ",", "next", ")", ")", "{", "*", "redefined", "=", "true", ";", "return", "-", "1", ";", "}", "prev", "=", "next", ";", "}", "if", "(", "next", "==", "BB_END", "(", "bb", ")", ")", "break", ";", "next", "=", "NEXT_INSN", "(", "next", ")", ";", "}", "return", "distance", ";", "}", ""], "natrual_language": ["Return", "the", "distance", "in", "half-cycles", "between", "INSN", "and", "the", "next", "insn", "that", "uses", "register", "number", "REGNO", "in", "memory", "address", "added", "to", "DISTANCE", ".", "Return", "-1", "if", "REGNO0", "is", "set", ".", "Put", "true", "value", "into", "*", "FOUND", "if", "register", "usage", "was", "found", "and", "false", "otherwise", ".", "Put", "true", "value", "into", "*", "REDEFINED", "if", "register", "redefinition", "was", "found", "and", "false", "otherwise", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "distance_agu_use_in_bb", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38813, "Length": 189}
{"ground_truth": ["", "static", "int", "distance_non_agu_define", "(", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "rtx_insn", "*", "insn", ")", "{", "basic_block", "bb", "=", "BLOCK_FOR_INSN", "(", "insn", ")", ";", "int", "distance", "=", "0", ";", "bool", "found", "=", "false", ";", "if", "(", "insn", "!=", "BB_HEAD", "(", "bb", ")", ")", "distance", "=", "distance_non_agu_define_in_bb", "(", "regno1", ",", "regno2", ",", "insn", ",", "distance", ",", "PREV_INSN", "(", "insn", ")", ",", "&", "found", ")", ";", "if", "(", "!", "found", "&&", "distance", "<", "LEA_SEARCH_THRESHOLD", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "bool", "simple_loop", "=", "false", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "preds", ")", "if", "(", "e", "->", "src", "==", "bb", ")", "{", "simple_loop", "=", "true", ";", "break", ";", "}", "if", "(", "simple_loop", ")", "distance", "=", "distance_non_agu_define_in_bb", "(", "regno1", ",", "regno2", ",", "insn", ",", "distance", ",", "BB_END", "(", "bb", ")", ",", "&", "found", ")", ";", "else", "{", "int", "shortest_dist", "=", "-", "1", ";", "bool", "found_in_bb", "=", "false", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "preds", ")", "{", "int", "bb_dist", "=", "distance_non_agu_define_in_bb", "(", "regno1", ",", "regno2", ",", "insn", ",", "distance", ",", "BB_END", "(", "e", "->", "src", ")", ",", "&", "found_in_bb", ")", ";", "if", "(", "found_in_bb", ")", "{", "if", "(", "shortest_dist", "<", "0", ")", "shortest_dist", "=", "bb_dist", ";", "else", "if", "(", "bb_dist", ">", "0", ")", "shortest_dist", "=", "MIN", "(", "bb_dist", ",", "shortest_dist", ")", ";", "found", "=", "true", ";", "}", "}", "distance", "=", "shortest_dist", ";", "}", "}", "if", "(", "!", "found", ")", "return", "-", "1", ";", "return", "distance", ">>", "1", ";", "}", ""], "natrual_language": ["Search", "backward", "for", "non-agu", "definition", "of", "register", "number", "REGNO1", "or", "register", "number", "REGNO2", "in", "INSN", "'s", "basic", "block", "until", "1", ".", "Pass", "LEA_SEARCH_THRESHOLD", "instructions", ",", "or", "2", ".", "Reach", "neighbour", "BBs", "boundary", ",", "or", "3", ".", "Reach", "agu", "definition", ".", "Returns", "the", "distance", "between", "the", "non-agu", "definition", "point", "and", "INSN", ".", "If", "no", "definition", "point", ",", "returns", "-1", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "1", "1"], "File": "i386", "Func": "distance_non_agu_define", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38814, "Length": 243}
{"ground_truth": ["", "static", "int", "distance_non_agu_define_in_bb", "(", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "rtx_insn", "*", "insn", ",", "int", "distance", ",", "rtx_insn", "*", "start", ",", "bool", "*", "found", ")", "{", "basic_block", "bb", "=", "start", "?", "BLOCK_FOR_INSN", "(", "start", ")", ":", "NULL", ";", "rtx_insn", "*", "prev", "=", "start", ";", "rtx_insn", "*", "next", "=", "NULL", ";", "*", "found", "=", "false", ";", "while", "(", "prev", "&&", "prev", "!=", "insn", "&&", "distance", "<", "LEA_SEARCH_THRESHOLD", ")", "{", "if", "(", "NONDEBUG_INSN_P", "(", "prev", ")", "&&", "NONJUMP_INSN_P", "(", "prev", ")", ")", "{", "distance", "=", "increase_distance", "(", "prev", ",", "next", ",", "distance", ")", ";", "if", "(", "insn_defines_reg", "(", "regno1", ",", "regno2", ",", "prev", ")", ")", "{", "if", "(", "recog_memoized", "(", "prev", ")", "<", "0", "||", "get_attr_type", "(", "prev", ")", "!=", "TYPE_LEA", ")", "{", "*", "found", "=", "true", ";", "return", "distance", ";", "}", "}", "next", "=", "prev", ";", "}", "if", "(", "prev", "==", "BB_HEAD", "(", "bb", ")", ")", "break", ";", "prev", "=", "PREV_INSN", "(", "prev", ")", ";", "}", "return", "distance", ";", "}", ""], "natrual_language": ["Search", "backward", "for", "non-agu", "definition", "of", "register", "number", "REGNO1", "or", "register", "number", "REGNO2", "in", "basic", "block", "starting", "from", "instruction", "START", "up", "to", "head", "of", "basic", "block", "or", "instruction", "INSN", ".", "Function", "puts", "true", "value", "into", "*", "FOUND", "var", "if", "definition", "was", "found", "and", "false", "otherwise", ".", "Distance", "in", "half-cycles", "between", "START", "and", "found", "instruction", "or", "head", "of", "BB", "is", "added", "to", "DISTANCE", "and", "returned", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "distance_non_agu_define_in_bb", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38815, "Length": 161}
{"ground_truth": ["", "static", "inline", "bool", "equal", "(", "tree_map", "*", "a", ",", "tree_map", "*", "b", ")", "{", "return", "a", "->", "base", ".", "from", "==", "b", "->", "base", ".", "from", ";", "}", ""], "natrual_language": ["Compare", "H1", "and", "H2", "for", "equivalence", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "equal", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38816, "Length": 28}
{"ground_truth": ["", "static", "bool", "examine_argument", "(", "machine_mode", "mode", ",", "const_tree", "type", ",", "int", "in_return", ",", "int", "*", "int_nregs", ",", "int", "*", "sse_nregs", ")", "{", "enum", "x86_64_reg_class", "regclass", "[", "MAX_CLASSES", "]", ";", "int", "n", "=", "classify_argument", "(", "mode", ",", "type", ",", "regclass", ",", "0", ")", ";", "*", "int_nregs", "=", "0", ";", "*", "sse_nregs", "=", "0", ";", "if", "(", "!", "n", ")", "return", "true", ";", "for", "(", "n", "--", ";", "n", ">=", "0", ";", "n", "--", ")", "switch", "(", "regclass", "[", "n", "]", ")", "{", "case", "X86_64_INTEGER_CLASS", ":", "case", "X86_64_INTEGERSI_CLASS", ":", "(", "*", "int_nregs", ")", "++", ";", "break", ";", "case", "X86_64_SSE_CLASS", ":", "case", "X86_64_SSEHF_CLASS", ":", "case", "X86_64_SSESF_CLASS", ":", "case", "X86_64_SSEDF_CLASS", ":", "(", "*", "sse_nregs", ")", "++", ";", "break", ";", "case", "X86_64_NO_CLASS", ":", "case", "X86_64_SSEUP_CLASS", ":", "break", ";", "case", "X86_64_X87_CLASS", ":", "case", "X86_64_X87UP_CLASS", ":", "case", "X86_64_COMPLEX_X87_CLASS", ":", "if", "(", "!", "in_return", ")", "return", "true", ";", "break", ";", "case", "X86_64_MEMORY_CLASS", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Examine", "the", "argument", "and", "return", "set", "number", "of", "register", "required", "in", "each", "class", ".", "Return", "0", "iff", "parameter", "should", "be", "passed", "in", "memory", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i386", "Func": "examine_argument", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38817, "Length": 154}
{"ground_truth": ["", "static", "bool", "extract_base_offset_in_addr", "(", "rtx", "mem", ",", "rtx", "*", "base", ",", "rtx", "*", "offset", ")", "{", "rtx", "addr", ";", "gcc_assert", "(", "MEM_P", "(", "mem", ")", ")", ";", "addr", "=", "XEXP", "(", "mem", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", ")", "addr", "=", "XEXP", "(", "addr", ",", "0", ")", ";", "if", "(", "REG_P", "(", "addr", ")", "||", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", ")", "{", "*", "base", "=", "addr", ";", "*", "offset", "=", "const0_rtx", ";", "return", "true", ";", "}", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PLUS", "&&", "(", "REG_P", "(", "XEXP", "(", "addr", ",", "0", ")", ")", "||", "GET_CODE", "(", "XEXP", "(", "addr", ",", "0", ")", ")", "==", "SYMBOL_REF", ")", "&&", "CONST_INT_P", "(", "XEXP", "(", "addr", ",", "1", ")", ")", ")", "{", "*", "base", "=", "XEXP", "(", "addr", ",", "0", ")", ";", "*", "offset", "=", "XEXP", "(", "addr", ",", "1", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["If", "MEM", "is", "in", "the", "form", "of", "``", "base+offset", "''", ",", "extract", "the", "two", "parts", "of", "address", "and", "set", "to", "BASE", "and", "OFFSET", ",", "otherwise", "return", "false", "after", "clearing", "BASE", "and", "OFFSET", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "1", "0", "1"], "File": "i386", "Func": "extract_base_offset_in_addr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38818, "Length": 155}
{"ground_truth": ["", "static", "unsigned", "int", "find_drap_reg", "(", "void", ")", "{", "tree", "decl", "=", "cfun", "->", "decl", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "DECL_STATIC_CHAIN", "(", "decl", ")", "||", "cfun", "->", "machine", "->", "no_caller_saved_registers", "||", "crtl", "->", "tail_call_emit", ")", "return", "R13_REG", ";", "return", "R10_REG", ";", "}", "else", "{", "if", "(", "DECL_STATIC_CHAIN", "(", "decl", ")", "||", "cfun", "->", "machine", "->", "no_caller_saved_registers", "||", "crtl", "->", "tail_call_emit", "||", "crtl", "->", "calls_eh_return", ")", "return", "DI_REG", ";", "if", "(", "ix86_function_regparm", "(", "TREE_TYPE", "(", "decl", ")", ",", "decl", ")", "<=", "2", ")", "{", "unsigned", "int", "ccvt", "=", "ix86_get_callcvt", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "if", "(", "(", "ccvt", "&", "(", "IX86_CALLCVT_FASTCALL", "|", "IX86_CALLCVT_THISCALL", ")", ")", "==", "0", ")", "return", "CX_REG", ";", "}", "return", "DI_REG", ";", "}", "}", ""], "natrual_language": ["Find", "an", "available", "register", "to", "be", "used", "as", "dynamic", "realign", "argument", "pointer", "regsiter", ".", "Such", "a", "register", "will", "be", "written", "in", "prologue", "and", "used", "in", "begin", "of", "body", ",", "so", "it", "must", "not", "be", "1.", "parameter", "passing", "register", ".", "2", ".", "GOT", "pointer", ".", "We", "reuse", "static-chain", "register", "if", "it", "is", "available", ".", "Otherwise", ",", "we", "use", "DI", "for", "i386", "and", "R13", "for", "x86-64", ".", "We", "chose", "R13", "since", "it", "has", "shorter", "encoding", ".", "Return", ":", "the", "regno", "of", "chosen", "register", "."], "TS_V_token": ["i386", "2", "0"], "File": "i386", "Func": "find_drap_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38819, "Length": 120}
{"ground_truth": ["", "static", "inline", "bool", "fp_valid_at", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "const", "struct", "machine_frame_state", "&", "fs", "=", "cfun", "->", "machine", "->", "fs", ";", "if", "(", "fs", ".", "sp_realigned", "&&", "cfa_offset", ">", "fs", ".", "sp_realigned_fp_last", ")", "{", "gcc_assert", "(", "cfa_offset", ">=", "fs", ".", "sp_realigned_offset", ")", ";", "return", "false", ";", "}", "return", "fs", ".", "fp_valid", ";", "}", ""], "natrual_language": ["Determine", "if", "the", "frame", "pointer", "is", "valid", "for", "accessing", "the", "CFA_OFFSET", "in", "the", "frame", "save", "area", ".", "The", "register", "is", "saved", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "fp_valid_at", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38820, "Length": 53}
{"ground_truth": ["", "static", "rtx", "function_arg_32", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "machine_mode", "mode", ",", "machine_mode", "orig_mode", ",", "const_tree", "type", ",", "HOST_WIDE_INT", "bytes", ",", "HOST_WIDE_INT", "words", ")", "{", "bool", "error_p", "=", "false", ";", "if", "(", "mode", "==", "VOIDmode", ")", "return", "constm1_rtx", ";", "if", "(", "TARGET_IAMCU", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", "&&", "bytes", "<=", "8", ")", "goto", "pass_in_reg", ";", "return", "NULL_RTX", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "break", ";", "case", "E_BLKmode", ":", "if", "(", "bytes", "<", "0", ")", "break", ";", "case", "E_DImode", ":", "case", "E_SImode", ":", "case", "E_HImode", ":", "case", "E_QImode", ":", "pass_in_reg", ":", "if", "(", "words", "<=", "cum", "->", "nregs", ")", "{", "int", "regno", "=", "cum", "->", "regno", ";", "if", "(", "cum", "->", "fastcall", ")", "{", "if", "(", "mode", "==", "BLKmode", "||", "mode", "==", "DImode", "||", "(", "type", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", ")", ")", "break", ";", "if", "(", "regno", "==", "AX_REG", ")", "regno", "=", "CX_REG", ";", "}", "return", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "}", "break", ";", "case", "E_DFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "true", ";", "if", "(", "cum", "->", "float_in_sse", "<", "2", ")", "break", ";", "case", "E_SFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "true", ";", "if", "(", "cum", "->", "float_in_sse", "<", "1", ")", "break", ";", "case", "E_TImode", ":", "case", "E_V16QImode", ":", "case", "E_V8HImode", ":", "case", "E_V4SImode", ":", "case", "E_V2DImode", ":", "case", "E_V8HFmode", ":", "case", "E_V4SFmode", ":", "case", "E_V2DFmode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "sse_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "sse_regno", "+", "FIRST_SSE_REG", ")", ";", "}", "break", ";", "case", "E_OImode", ":", "case", "E_XImode", ":", "gcc_unreachable", "(", ")", ";", "case", "E_V64QImode", ":", "case", "E_V32HImode", ":", "case", "E_V16SImode", ":", "case", "E_V8DImode", ":", "case", "E_V32HFmode", ":", "case", "E_V16SFmode", ":", "case", "E_V8DFmode", ":", "case", "E_V16HFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V32QImode", ":", "case", "E_V16HImode", ":", "case", "E_V4DFmode", ":", "case", "E_V4DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "sse_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "sse_regno", "+", "FIRST_SSE_REG", ")", ";", "}", "break", ";", "case", "E_V8QImode", ":", "case", "E_V4HImode", ":", "case", "E_V4HFmode", ":", "case", "E_V2SImode", ":", "case", "E_V2SFmode", ":", "case", "E_V1TImode", ":", "case", "E_V1DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "if", "(", "cum", "->", "mmx_nregs", ")", "return", "gen_reg_or_parallel", "(", "mode", ",", "orig_mode", ",", "cum", "->", "mmx_regno", "+", "FIRST_MMX_REG", ")", ";", "}", "break", ";", "}", "if", "(", "error_p", ")", "{", "cum", "->", "float_in_sse", "=", "0", ";", "error", "(", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", ",", "cum", "->", "decl", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "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": ["i386", "8", "0", "1", "2", "1", "1", "0", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\""], "File": "i386", "Func": "function_arg_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38821, "Length": 449}
{"ground_truth": ["", "static", "int", "function_arg_advance_32", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "HOST_WIDE_INT", "bytes", ",", "HOST_WIDE_INT", "words", ")", "{", "int", "res", "=", "0", ";", "bool", "error_p", "=", "false", ";", "if", "(", "TARGET_IAMCU", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", "&&", "bytes", "<=", "8", ")", "goto", "pass_in_reg", ";", "return", "res", ";", "}", "switch", "(", "mode", ")", "{", "default", ":", "break", ";", "case", "E_BLKmode", ":", "if", "(", "bytes", "<", "0", ")", "break", ";", "case", "E_DImode", ":", "case", "E_SImode", ":", "case", "E_HImode", ":", "case", "E_QImode", ":", "pass_in_reg", ":", "cum", "->", "words", "+=", "words", ";", "cum", "->", "nregs", "-=", "words", ";", "cum", "->", "regno", "+=", "words", ";", "if", "(", "cum", "->", "nregs", ">=", "0", ")", "res", "=", "words", ";", "if", "(", "cum", "->", "nregs", "<=", "0", ")", "{", "cum", "->", "nregs", "=", "0", ";", "cfun", "->", "machine", "->", "arg_reg_available", "=", "false", ";", "cum", "->", "regno", "=", "0", ";", "}", "break", ";", "case", "E_OImode", ":", "gcc_unreachable", "(", ")", ";", "case", "E_DFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "true", ";", "if", "(", "cum", "->", "float_in_sse", "<", "2", ")", "break", ";", "case", "E_SFmode", ":", "if", "(", "cum", "->", "float_in_sse", "==", "-", "1", ")", "error_p", "=", "true", ";", "if", "(", "cum", "->", "float_in_sse", "<", "1", ")", "break", ";", "case", "E_V16HFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V64QImode", ":", "case", "E_V32HImode", ":", "case", "E_V16SImode", ":", "case", "E_V8DImode", ":", "case", "E_V32HFmode", ":", "case", "E_V16SFmode", ":", "case", "E_V8DFmode", ":", "case", "E_V32QImode", ":", "case", "E_V16HImode", ":", "case", "E_V4DFmode", ":", "case", "E_V4DImode", ":", "case", "E_TImode", ":", "case", "E_V16QImode", ":", "case", "E_V8HImode", ":", "case", "E_V4SImode", ":", "case", "E_V2DImode", ":", "case", "E_V8HFmode", ":", "case", "E_V4SFmode", ":", "case", "E_V2DFmode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "cum", "->", "sse_words", "+=", "words", ";", "cum", "->", "sse_nregs", "-=", "1", ";", "cum", "->", "sse_regno", "+=", "1", ";", "if", "(", "cum", "->", "sse_nregs", "<=", "0", ")", "{", "cum", "->", "sse_nregs", "=", "0", ";", "cum", "->", "sse_regno", "=", "0", ";", "}", "}", "break", ";", "case", "E_V8QImode", ":", "case", "E_V4HImode", ":", "case", "E_V4HFmode", ":", "case", "E_V2SImode", ":", "case", "E_V2SFmode", ":", "case", "E_V1TImode", ":", "case", "E_V1DImode", ":", "if", "(", "!", "type", "||", "!", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "cum", "->", "mmx_words", "+=", "words", ";", "cum", "->", "mmx_nregs", "-=", "1", ";", "cum", "->", "mmx_regno", "+=", "1", ";", "if", "(", "cum", "->", "mmx_nregs", "<=", "0", ")", "{", "cum", "->", "mmx_nregs", "=", "0", ";", "cum", "->", "mmx_regno", "=", "0", ";", "}", "}", "break", ";", "}", "if", "(", "error_p", ")", "{", "cum", "->", "float_in_sse", "=", "0", ";", "error", "(", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", ",", "cum", "->", "decl", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "return", "res", ";", "}", ""], "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", ".", ")", "Return", "a", "number", "of", "integer", "regsiters", "advanced", "over", "."], "TS_V_token": ["i386", "0", "8", "0", "0", "0", "0", "0", "1", "2", "1", "1", "1", "1", "0", "0", "0", "1", "1", "0", "0", "0", "0", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\""], "File": "i386", "Func": "function_arg_advance_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38822, "Length": 440}
{"ground_truth": ["", "static", "rtx", "function_value_32", "(", "machine_mode", "orig_mode", ",", "machine_mode", "mode", ",", "const_tree", "fntype", ",", "const_tree", "fn", ")", "{", "unsigned", "int", "regno", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "8", ")", "regno", "=", "FIRST_MMX_REG", ";", "else", "if", "(", "mode", "==", "TImode", "||", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", ")", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "32", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", "==", "64", ")", "regno", "=", "FIRST_SSE_REG", ";", "else", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_FLOAT_RETURNS_IN_80387", ")", "regno", "=", "FIRST_FLOAT_REG", ";", "else", "regno", "=", "AX_REG", ";", "if", "(", "mode", "==", "HFmode", ")", "regno", "=", "FIRST_SSE_REG", ";", "if", "(", "mode", "==", "HCmode", ")", "{", "rtx", "ret", "=", "gen_rtx_PARALLEL", "(", "mode", ",", "rtvec_alloc", "(", "1", ")", ")", ";", "XVECEXP", "(", "ret", ",", "0", ",", "0", ")", "=", "gen_rtx_EXPR_LIST", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "SImode", ",", "FIRST_SSE_REG", ")", ",", "GEN_INT", "(", "0", ")", ")", ";", "return", "ret", ";", "}", "if", "(", "(", "fn", "||", "fntype", ")", "&&", "(", "mode", "==", "SFmode", "||", "mode", "==", "DFmode", ")", ")", "{", "int", "sse_level", "=", "ix86_function_sseregparm", "(", "fntype", ",", "fn", ",", "false", ")", ";", "if", "(", "sse_level", "==", "-", "1", ")", "{", "error", "(", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", ",", "fn", ")", ";", "sorry", "(", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", ")", ";", "}", "else", "if", "(", "(", "sse_level", ">=", "1", "&&", "mode", "==", "SFmode", ")", "||", "(", "sse_level", "==", "2", "&&", "mode", "==", "DFmode", ")", ")", "regno", "=", "FIRST_SSE_REG", ";", "}", "gcc_assert", "(", "mode", "!=", "OImode", ")", ";", "return", "gen_rtx_REG", "(", "orig_mode", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Define", "how", "to", "find", "the", "value", "returned", "by", "a", "function", ".", "VALTYPE", "is", "the", "data", "type", "of", "the", "value", "(", "as", "a", "tree", ")", ".", "If", "the", "precise", "function", "being", "called", "is", "known", ",", "FUNC", "is", "its", "FUNCTION_DECL", ";", "otherwise", ",", "FUNC", "is", "0", "."], "TS_V_token": ["i386", "8", "16", "32", "64", "1", "0", "0", "0", "1", "\"calling %qD with SSE calling convention without \"", "\"SSE/SSE2 enabled\"", "\"this is a GCC bug that can be worked around by adding \"", "\"attribute used to function called\"", "1", "2"], "File": "i386", "Func": "function_value_32", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38823, "Length": 279}
{"ground_truth": ["", "static", "rtx_insn", "*", "gen_and2_insn", "(", "rtx", "x", ",", "rtx", "y", ")", "{", "enum", "insn_code", "icode", "=", "optab_handler", "(", "and_optab", ",", "GET_MODE", "(", "x", ")", ")", ";", "gcc_assert", "(", "insn_operand_matches", "(", "icode", ",", "0", ",", "x", ")", ")", ";", "gcc_assert", "(", "insn_operand_matches", "(", "icode", ",", "1", ",", "x", ")", ")", ";", "gcc_assert", "(", "insn_operand_matches", "(", "icode", ",", "2", ",", "y", ")", ")", ";", "return", "GEN_FCN", "(", "icode", ")", "(", "x", ",", "x", ",", "y", ")", ";", "}", ""], "natrual_language": ["Generate", "and", "return", "an", "insn", "body", "to", "AND", "X", "with", "Y", "."], "TS_V_token": ["i386", "0", "1", "2"], "File": "i386", "Func": "gen_and2_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38824, "Length": 76}
{"ground_truth": ["", "rtx", "gen_pop", "(", "rtx", "arg", ")", "{", "if", "(", "REG_P", "(", "arg", ")", "&&", "GET_MODE", "(", "arg", ")", "!=", "word_mode", ")", "arg", "=", "gen_rtx_REG", "(", "word_mode", ",", "REGNO", "(", "arg", ")", ")", ";", "return", "gen_rtx_SET", "(", "arg", ",", "gen_rtx_MEM", "(", "word_mode", ",", "gen_rtx_POST_INC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ")", ";", "}", ""], "natrual_language": ["Generate", "an", "``", "pop", "''", "pattern", "for", "input", "ARG", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "gen_pop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38825, "Length": 52}
{"ground_truth": ["", "rtx", "gen_push", "(", "rtx", "arg", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "stack_pointer_rtx", ")", "m", "->", "fs", ".", "cfa_offset", "+=", "UNITS_PER_WORD", ";", "m", "->", "fs", ".", "sp_offset", "+=", "UNITS_PER_WORD", ";", "if", "(", "REG_P", "(", "arg", ")", "&&", "GET_MODE", "(", "arg", ")", "!=", "word_mode", ")", "arg", "=", "gen_rtx_REG", "(", "word_mode", ",", "REGNO", "(", "arg", ")", ")", ";", "return", "gen_rtx_SET", "(", "gen_rtx_MEM", "(", "word_mode", ",", "gen_rtx_PRE_DEC", "(", "Pmode", ",", "stack_pointer_rtx", ")", ")", ",", "arg", ")", ";", "}", ""], "natrual_language": ["Code", "to", "generate", "prologue", "and", "epilogue", "sequences"], "TS_V_token": ["i386"], "File": "i386", "Func": "gen_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38826, "Length": 87}
{"ground_truth": ["", "static", "rtx", "gen_reg_or_parallel", "(", "machine_mode", "mode", ",", "machine_mode", "orig_mode", ",", "unsigned", "int", "regno", ")", "{", "rtx", "tmp", ";", "if", "(", "orig_mode", "!=", "BLKmode", ")", "tmp", "=", "gen_rtx_REG", "(", "orig_mode", ",", "regno", ")", ";", "else", "{", "tmp", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "tmp", "=", "gen_rtx_EXPR_LIST", "(", "VOIDmode", ",", "tmp", ",", "const0_rtx", ")", ";", "tmp", "=", "gen_rtx_PARALLEL", "(", "orig_mode", ",", "gen_rtvec", "(", "1", ",", "tmp", ")", ")", ";", "}", "return", "tmp", ";", "}", ""], "natrual_language": ["We", "want", "to", "pass", "a", "value", "in", "REGNO", "whose", "``", "natural", "''", "mode", "is", "MODE", ".", "However", ",", "this", "may", "not", "agree", "with", "the", "mode", "that", "the", "type", "system", "has", "chosen", "for", "the", "register", ",", "which", "is", "ORIG_MODE", ".", "If", "ORIG_MODE", "is", "not", "BLKmode", ",", "then", "we", "can", "go", "ahead", "and", "use", "it", ".", "Otherwise", "we", "have", "to", "build", "a", "PARALLEL", "instead", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "gen_reg_or_parallel", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38827, "Length": 74}
{"ground_truth": ["", "static", "void", "get_pc_thunk_name", "(", "char", "name", "[", "32", "]", ",", "unsigned", "int", "regno", ")", "{", "gcc_assert", "(", "!", "TARGET_64BIT", ")", ";", "if", "(", "USE_HIDDEN_LINKONCE", ")", "sprintf", "(", "name", ",", "\"__x86.get_pc_thunk.%s\"", ",", "reg_names", "[", "regno", "]", ")", ";", "else", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LPR\"", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Fills", "in", "the", "label", "name", "that", "should", "be", "used", "for", "a", "pc", "thunk", "for", "the", "given", "register", "."], "TS_V_token": ["i386", "32", "\"__x86.get_pc_thunk.%s\"", "\"LPR\""], "File": "i386", "Func": "get_pc_thunk_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38828, "Length": 48}
{"ground_truth": ["", "static", "HOST_WIDE_INT", "get_probe_interval", "(", "void", ")", "{", "if", "(", "flag_stack_clash_protection", ")", "return", "(", "HOST_WIDE_INT_1U", "<<", "param_stack_clash_protection_probe_interval", ")", ";", "else", "return", "(", "HOST_WIDE_INT_1U", "<<", "STACK_CHECK_PROBE_INTERVAL_EXP", ")", ";", "}", ""], "natrual_language": ["Return", "the", "probing", "interval", "for", "-fstack-clash-protection", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "get_probe_interval", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38829, "Length": 27}
{"ground_truth": ["", "static", "void", "get_scratch_register_on_entry", "(", "struct", "scratch_reg", "*", "sr", ")", "{", "int", "regno", ";", "sr", "->", "saved", "=", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "regno", "=", "R11_REG", ";", "}", "else", "{", "tree", "decl", "=", "current_function_decl", ",", "fntype", "=", "TREE_TYPE", "(", "decl", ")", ";", "bool", "fastcall_p", "=", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", "!=", "NULL_TREE", ";", "bool", "thiscall_p", "=", "lookup_attribute", "(", "\"thiscall\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", "!=", "NULL_TREE", ";", "bool", "static_chain_p", "=", "DECL_STATIC_CHAIN", "(", "decl", ")", ";", "int", "regparm", "=", "ix86_function_regparm", "(", "fntype", ",", "decl", ")", ";", "int", "drap_regno", "=", "crtl", "->", "drap_reg", "?", "REGNO", "(", "crtl", "->", "drap_reg", ")", ":", "INVALID_REGNUM", ";", "if", "(", "(", "regparm", "<", "1", "||", "(", "fastcall_p", "&&", "!", "static_chain_p", ")", ")", "&&", "drap_regno", "!=", "AX_REG", ")", "regno", "=", "AX_REG", ";", "else", "if", "(", "thiscall_p", "&&", "!", "static_chain_p", "&&", "drap_regno", "!=", "AX_REG", ")", "regno", "=", "AX_REG", ";", "else", "if", "(", "regparm", "<", "2", "&&", "!", "thiscall_p", "&&", "drap_regno", "!=", "DX_REG", ")", "regno", "=", "DX_REG", ";", "else", "if", "(", "regparm", "<", "3", "&&", "!", "fastcall_p", "&&", "!", "thiscall_p", "&&", "!", "static_chain_p", "&&", "drap_regno", "!=", "CX_REG", ")", "regno", "=", "CX_REG", ";", "else", "if", "(", "ix86_save_reg", "(", "BX_REG", ",", "true", ",", "false", ")", ")", "regno", "=", "BX_REG", ";", "else", "if", "(", "!", "(", "regparm", "==", "3", "&&", "static_chain_p", ")", "&&", "ix86_save_reg", "(", "SI_REG", ",", "true", ",", "false", ")", ")", "regno", "=", "SI_REG", ";", "else", "if", "(", "ix86_save_reg", "(", "DI_REG", ",", "true", ",", "false", ")", ")", "regno", "=", "DI_REG", ";", "else", "{", "regno", "=", "(", "drap_regno", "==", "AX_REG", "?", "DX_REG", ":", "AX_REG", ")", ";", "sr", "->", "saved", "=", "true", ";", "}", "}", "sr", "->", "reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "if", "(", "sr", "->", "saved", ")", "{", "rtx_insn", "*", "insn", "=", "emit_insn", "(", "gen_push", "(", "sr", "->", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Return", "a", "short-lived", "scratch", "register", "for", "use", "on", "function", "entry", ".", "In", "32-bit", "mode", ",", "it", "is", "valid", "only", "after", "the", "registers", "are", "saved", "in", "the", "prologue", ".", "This", "register", "must", "be", "released", "by", "means", "of", "release_scratch_register_on_entry", "once", "it", "is", "dead", "."], "TS_V_token": ["i386", "\"fastcall\"", "\"thiscall\"", "1", "2", "3", "3", "1"], "File": "i386", "Func": "get_scratch_register_on_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38830, "Length": 308}
{"ground_truth": ["", "static", "rtx", "get_thread_pointer", "(", "machine_mode", "tp_mode", ",", "bool", "to_reg", ")", "{", "rtx", "tp", "=", "gen_rtx_UNSPEC", "(", "ptr_mode", ",", "gen_rtvec", "(", "1", ",", "const0_rtx", ")", ",", "UNSPEC_TP", ")", ";", "if", "(", "GET_MODE", "(", "tp", ")", "!=", "tp_mode", ")", "{", "gcc_assert", "(", "GET_MODE", "(", "tp", ")", "==", "SImode", ")", ";", "gcc_assert", "(", "tp_mode", "==", "DImode", ")", ";", "tp", "=", "gen_rtx_ZERO_EXTEND", "(", "tp_mode", ",", "tp", ")", ";", "}", "if", "(", "to_reg", ")", "tp", "=", "copy_to_mode_reg", "(", "tp_mode", ",", "tp", ")", ";", "return", "tp", ";", "}", ""], "natrual_language": ["Load", "the", "thread", "pointer", ".", "If", "TO_REG", "is", "true", ",", "force", "it", "into", "a", "register", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "get_thread_pointer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38831, "Length": 82}
{"ground_truth": ["", "static", "inline", "hashval_t", "hash", "(", "tree_map", "*", "m", ")", "{", "return", "m", "->", "hash", ";", "}", ""], "natrual_language": ["Hash", "function", "for", "builtin", "functions", "with", "up", "to", "3", "arguments", "and", "a", "return", "type", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "hash", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38832, "Length": 16}
{"ground_truth": ["", "static", "bool", "i386_asm_output_addr_const_extra", "(", "FILE", "*", "file", ",", "rtx", "x", ")", "{", "rtx", "op", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "UNSPEC", ")", "return", "false", ";", "op", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOTOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@gotoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_GOTTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@gottpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_TPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@tpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_NTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "if", "(", "TARGET_64BIT", ")", "fputs", "(", "\"@tpoff\"", ",", "file", ")", ";", "else", "fputs", "(", "\"@ntpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_DTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@dtpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_GOTNTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "if", "(", "TARGET_64BIT", ")", "fputs", "(", "ASSEMBLER_DIALECT", "==", "ASM_ATT", "?", "\"@gottpoff(%rip)\"", ":", "\"@gottpoff[rip]\"", ",", "file", ")", ";", "else", "fputs", "(", "\"@gotntpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_INDNTPOFF", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "fputs", "(", "\"@indntpoff\"", ",", "file", ")", ";", "break", ";", "case", "UNSPEC_MACHOPIC_OFFSET", ":", "output_addr_const", "(", "file", ",", "op", ")", ";", "putc", "(", "'-'", ",", "file", ")", ";", "machopic_output_function_base_name", "(", "file", ")", ";", "break", ";", "default", ":", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Implementation", "of", "TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA", "."], "TS_V_token": ["i386", "0", "0", "1", "\"@gotoff\"", "\"@gottpoff\"", "\"@tpoff\"", "\"@tpoff\"", "\"@ntpoff\"", "\"@dtpoff\"", "\"@gottpoff(%rip)\"", "\"@gottpoff[rip]\"", "\"@gotntpoff\"", "\"@indntpoff\""], "File": "i386", "Func": "i386_asm_output_addr_const_extra", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38833, "Length": 245}
{"ground_truth": ["", "static", "void", "ATTRIBUTE_UNUSED", "i386_output_dwarf_dtprel", "(", "FILE", "*", "file", ",", "int", "size", ",", "rtx", "x", ")", "{", "fputs", "(", "ASM_LONG", ",", "file", ")", ";", "output_addr_const", "(", "file", ",", "x", ")", ";", "fputs", "(", "\"@dtpoff\"", ",", "file", ")", ";", "switch", "(", "size", ")", "{", "case", "4", ":", "break", ";", "case", "8", ":", "fputs", "(", "\", 0\"", ",", "file", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["This", "is", "called", "from", "dwarf2out.cc", "via", "TARGET_ASM_OUTPUT_DWARF_DTPREL", ".", "We", "need", "to", "emit", "DTP-relative", "relocations", "."], "TS_V_token": ["i386", "\"@dtpoff\"", "4", "8", "\", 0\""], "File": "i386", "Func": "i386_output_dwarf_dtprel", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38834, "Length": 67}
{"ground_truth": ["", "static", "void", "i386_solaris_elf_named_section", "(", "const", "char", "*", "name", ",", "unsigned", "int", "flags", ",", "tree", "decl", ")", "{", "if", "(", "TARGET_64BIT", "&&", "strcmp", "(", "name", ",", "\".eh_frame\"", ")", "==", "0", ")", "{", "fprintf", "(", "asm_out_file", ",", "\"\\t.section\\t%s,\\\"%s\\\",@unwind\\n\"", ",", "name", ",", "flags", "&", "SECTION_WRITE", "?", "\"aw\"", ":", "\"a\"", ")", ";", "return", ";", "}", "if", "(", "HAVE_COMDAT_GROUP", "&&", "flags", "&", "SECTION_LINKONCE", ")", "{", "solaris_elf_asm_comdat_section", "(", "name", ",", "flags", ",", "decl", ")", ";", "return", ";", "}", "if", "(", "flags", "&", "SECTION_EXCLUDE", ")", "{", "fprintf", "(", "asm_out_file", ",", "\"\\t.section\\t%s,#exclude\\n\"", ",", "name", ")", ";", "return", ";", "}", "default_elf_asm_named_section", "(", "name", ",", "flags", ",", "decl", ")", ";", "}", ""], "natrual_language": ["Solaris", "named-section", "hook", ".", "Parameters", "are", "as", "for", "named_section_real", "."], "TS_V_token": ["i386", "\".eh_frame\"", "0", "\"\\t.section\\t%s,\\\"%s\\\",@unwind\\n\"", "\"aw\"", "\"a\"", "\"\\t.section\\t%s,#exclude\\n\""], "File": "i386", "Func": "i386_solaris_elf_named_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38835, "Length": 101}
{"ground_truth": ["", "static", "int", "iamcu_alignment", "(", "tree", "type", ",", "int", "align", ")", "{", "machine_mode", "mode", ";", "if", "(", "align", "<", "32", "||", "TYPE_USER_ALIGN", "(", "type", ")", ")", "return", "align", ";", "type", "=", "strip_array_types", "(", "type", ")", ";", "if", "(", "TYPE_ATOMIC", "(", "type", ")", ")", "return", "align", ";", "mode", "=", "TYPE_MODE", "(", "type", ")", ";", "switch", "(", "GET_MODE_CLASS", "(", "mode", ")", ")", "{", "case", "MODE_INT", ":", "case", "MODE_COMPLEX_INT", ":", "case", "MODE_COMPLEX_FLOAT", ":", "case", "MODE_FLOAT", ":", "case", "MODE_DECIMAL_FLOAT", ":", "return", "32", ";", "default", ":", "return", "align", ";", "}", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "variable", "for", "Intel", "MCU", "psABI", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", "."], "TS_V_token": ["i386", "32", "32"], "File": "i386", "Func": "iamcu_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38836, "Length": 85}
{"ground_truth": ["", "static", "unsigned", "int", "increase_distance", "(", "rtx_insn", "*", "prev", ",", "rtx_insn", "*", "next", ",", "unsigned", "int", "distance", ")", "{", "df_ref", "def", ",", "use", ";", "if", "(", "!", "prev", "||", "!", "next", ")", "return", "distance", "+", "(", "distance", "&", "1", ")", "+", "2", ";", "if", "(", "!", "DF_INSN_USES", "(", "next", ")", "||", "!", "DF_INSN_DEFS", "(", "prev", ")", ")", "return", "distance", "+", "1", ";", "FOR_EACH_INSN_USE", "(", "use", ",", "next", ")", "FOR_EACH_INSN_DEF", "(", "def", ",", "prev", ")", "if", "(", "!", "DF_REF_IS_ARTIFICIAL", "(", "def", ")", "&&", "DF_REF_REGNO", "(", "use", ")", "==", "DF_REF_REGNO", "(", "def", ")", ")", "return", "distance", "+", "(", "distance", "&", "1", ")", "+", "2", ";", "return", "distance", "+", "1", ";", "}", ""], "natrual_language": ["Increase", "given", "DISTANCE", "in", "half-cycles", "according", "to", "dependencies", "between", "PREV", "and", "NEXT", "instructions", ".", "Add", "1", "half-cycle", "if", "there", "is", "no", "dependency", "and", "go", "to", "next", "cycle", "if", "there", "is", "some", "dependecy", "."], "TS_V_token": ["i386", "1", "2", "1", "1", "2", "1"], "File": "i386", "Func": "increase_distance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38837, "Length": 108}
{"ground_truth": ["", "static", "void", "indirect_thunk_name", "(", "char", "name", "[", "32", "]", ",", "unsigned", "int", "regno", ",", "enum", "indirect_thunk_prefix", "need_prefix", ",", "bool", "ret_p", ")", "{", "if", "(", "regno", "!=", "INVALID_REGNUM", "&&", "regno", "!=", "CX_REG", "&&", "ret_p", ")", "gcc_unreachable", "(", ")", ";", "if", "(", "USE_HIDDEN_LINKONCE", ")", "{", "const", "char", "*", "prefix", ";", "if", "(", "need_prefix", "==", "indirect_thunk_prefix_nt", "&&", "regno", "!=", "INVALID_REGNUM", ")", "{", "prefix", "=", "\"_nt\"", ";", "}", "else", "prefix", "=", "\"\"", ";", "const", "char", "*", "ret", "=", "ret_p", "?", "\"return\"", ":", "\"indirect\"", ";", "if", "(", "regno", "!=", "INVALID_REGNUM", ")", "{", "const", "char", "*", "reg_prefix", ";", "if", "(", "LEGACY_INT_REGNO_P", "(", "regno", ")", ")", "reg_prefix", "=", "TARGET_64BIT", "?", "\"r\"", ":", "\"e\"", ";", "else", "reg_prefix", "=", "\"\"", ";", "sprintf", "(", "name", ",", "\"__x86_%s_thunk%s_%s%s\"", ",", "ret", ",", "prefix", ",", "reg_prefix", ",", "reg_names", "[", "regno", "]", ")", ";", "}", "else", "sprintf", "(", "name", ",", "\"__x86_%s_thunk%s\"", ",", "ret", ",", "prefix", ")", ";", "}", "else", "{", "if", "(", "regno", "!=", "INVALID_REGNUM", ")", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LITR\"", ",", "regno", ")", ";", "else", "{", "if", "(", "ret_p", ")", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LRT\"", ",", "0", ")", ";", "else", "ASM_GENERATE_INTERNAL_LABEL", "(", "name", ",", "\"LIT\"", ",", "0", ")", ";", "}", "}", "}", ""], "natrual_language": ["Fills", "in", "the", "label", "name", "that", "should", "be", "used", "for", "the", "indirect", "thunk", "."], "TS_V_token": ["i386", "32", "\"_nt\"", "\"\"", "\"return\"", "\"indirect\"", "\"r\"", "\"e\"", "\"\"", "\"__x86_%s_thunk%s_%s%s\"", "\"__x86_%s_thunk%s\"", "\"LITR\"", "\"LRT\"", "0", "\"LIT\"", "0"], "File": "i386", "Func": "indirect_thunk_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38838, "Length": 189}
{"ground_truth": ["", "enum", "indirect_thunk_prefix", "indirect_thunk_need_prefix", "(", "rtx_insn", "*", "insn", ")", "{", "enum", "indirect_thunk_prefix", "need_prefix", ";", "if", "(", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk_extern", ")", "&&", "ix86_notrack_prefixed_insn_p", "(", "insn", ")", ")", "{", "need_prefix", "=", "indirect_thunk_prefix_nt", ";", "}", "else", "need_prefix", "=", "indirect_thunk_prefix_none", ";", "return", "need_prefix", ";", "}", ""], "natrual_language": ["Return", "the", "prefix", "needed", "for", "an", "indirect", "branch", "INSN", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "indirect_thunk_need_prefix", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38839, "Length": 45}
{"ground_truth": ["", "static", "void", "init_ext_80387_constants", "(", "void", ")", "{", "static", "const", "char", "*", "cst", "[", "5", "]", "=", "{", "\"0.3010299956639811952256464283594894482\"", ",", "\"0.6931471805599453094286904741849753009\"", ",", "\"1.4426950408889634073876517827983434472\"", ",", "\"3.3219280948873623478083405569094566090\"", ",", "\"3.1415926535897932385128089594061862044\"", ",", "}", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "5", ";", "i", "++", ")", "{", "real_from_string", "(", "&", "ext_80387_constants_table", "[", "i", "]", ",", "cst", "[", "i", "]", ")", ";", "real_convert", "(", "&", "ext_80387_constants_table", "[", "i", "]", ",", "XFmode", ",", "&", "ext_80387_constants_table", "[", "i", "]", ")", ";", "}", "ext_80387_constants_init", "=", "1", ";", "}", ""], "natrual_language": ["Initialize", "the", "table", "of", "extra", "80387", "mathematical", "constants", "."], "TS_V_token": ["i386", "5", "\"0.3010299956639811952256464283594894482\"", "\"0.6931471805599453094286904741849753009\"", "\"1.4426950408889634073876517827983434472\"", "\"3.3219280948873623478083405569094566090\"", "\"3.1415926535897932385128089594061862044\"", "0", "5", "1"], "File": "i386", "Func": "init_ext_80387_constants", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38840, "Length": 83}
{"ground_truth": ["", "static", "inline", "bool", "inline_secondary_memory_needed", "(", "machine_mode", "mode", ",", "reg_class_t", "class1", ",", "reg_class_t", "class2", ",", "int", "strict", ")", "{", "if", "(", "lra_in_progress", "&&", "(", "class1", "==", "NO_REGS", "||", "class2", "==", "NO_REGS", ")", ")", "return", "false", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class1", ")", "||", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class1", ")", "||", "MAYBE_SSE_CLASS_P", "(", "class2", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class1", ")", "||", "MAYBE_MMX_CLASS_P", "(", "class2", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", "||", "MAYBE_MASK_CLASS_P", "(", "class1", ")", "!=", "MASK_CLASS_P", "(", "class1", ")", "||", "MAYBE_MASK_CLASS_P", "(", "class2", ")", "!=", "MASK_CLASS_P", "(", "class2", ")", ")", "{", "gcc_assert", "(", "!", "strict", "||", "lra_in_progress", ")", ";", "return", "true", ";", "}", "if", "(", "FLOAT_CLASS_P", "(", "class1", ")", "!=", "FLOAT_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", ")", "return", "true", ";", "if", "(", "MASK_CLASS_P", "(", "class1", ")", "!=", "MASK_CLASS_P", "(", "class2", ")", ")", "{", "if", "(", "!", "(", "INTEGER_CLASS_P", "(", "class1", ")", "||", "INTEGER_CLASS_P", "(", "class2", ")", ")", "||", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "return", "true", ";", "}", "if", "(", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "{", "if", "(", "!", "TARGET_SSE2", ")", "return", "true", ";", "if", "(", "!", "(", "INTEGER_CLASS_P", "(", "class1", ")", "||", "INTEGER_CLASS_P", "(", "class2", ")", ")", ")", "return", "true", ";", "int", "msize", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "msize", ">", "UNITS_PER_WORD", ")", "return", "true", ";", "int", "minsize", "=", "GET_MODE_SIZE", "(", "TARGET_SSE2", "?", "HImode", ":", "SImode", ")", ";", "if", "(", "msize", "<", "minsize", ")", "return", "true", ";", "if", "(", "(", "SSE_CLASS_P", "(", "class1", ")", "&&", "!", "TARGET_INTER_UNIT_MOVES_FROM_VEC", ")", "||", "(", "SSE_CLASS_P", "(", "class2", ")", "&&", "!", "TARGET_INTER_UNIT_MOVES_TO_VEC", ")", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["If", "we", "are", "copying", "between", "general", "and", "FP", "registers", ",", "we", "need", "a", "memory", "location", ".", "The", "same", "is", "true", "for", "SSE", "and", "MMX", "registers", ".", "To", "optimize", "register_move_cost", "performance", ",", "allow", "inline", "variant", ".", "The", "macro", "ca", "n't", "work", "reliably", "when", "one", "of", "the", "CLASSES", "is", "class", "containing", "registers", "from", "multiple", "units", "(", "SSE", ",", "MMX", ",", "integer", ")", ".", "We", "avoid", "this", "by", "never", "combining", "those", "units", "in", "single", "alternative", "in", "the", "machine", "description", ".", "Ensure", "that", "this", "constraint", "holds", "to", "avoid", "unexpected", "surprises", ".", "When", "STRICT", "is", "false", ",", "we", "are", "being", "called", "from", "REGISTER_MOVE_COST", ",", "so", "do", "not", "enforce", "these", "sanity", "checks", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "inline_secondary_memory_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38841, "Length": 306}
{"ground_truth": ["", "bool", "insn_defines_reg", "(", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "rtx_insn", "*", "insn", ")", "{", "df_ref", "def", ";", "FOR_EACH_INSN_DEF", "(", "def", ",", "insn", ")", "if", "(", "DF_REF_REG_DEF_P", "(", "def", ")", "&&", "!", "DF_REF_IS_ARTIFICIAL", "(", "def", ")", "&&", "(", "regno1", "==", "DF_REF_REGNO", "(", "def", ")", "||", "regno2", "==", "DF_REF_REGNO", "(", "def", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Function", "checks", "if", "instruction", "INSN", "defines", "register", "number", "REGNO1", "or", "REGNO2", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "insn_defines_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38842, "Length": 61}
{"ground_truth": ["", "static", "bool", "insn_is_function_arg", "(", "rtx", "insn", ",", "bool", "*", "is_spilled", ")", "{", "rtx", "dst", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "return", "false", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "return", "false", ";", "insn", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "insn", ")", "==", "PARALLEL", ")", "insn", "=", "XVECEXP", "(", "insn", ",", "0", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "insn", ")", "!=", "SET", ")", "return", "false", ";", "dst", "=", "SET_DEST", "(", "insn", ")", ";", "if", "(", "REG_P", "(", "dst", ")", "&&", "HARD_REGISTER_P", "(", "dst", ")", "&&", "ix86_function_arg_regno_p", "(", "REGNO", "(", "dst", ")", ")", ")", "{", "if", "(", "!", "TEST_HARD_REG_BIT", "(", "fixed_reg_set", ",", "REGNO", "(", "dst", ")", ")", "&&", "ix86_class_likely_spilled_p", "(", "REGNO_REG_CLASS", "(", "REGNO", "(", "dst", ")", ")", ")", ")", "*", "is_spilled", "=", "true", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "lhs", "of", "insn", "is", "HW", "function", "argument", "register", "and", "set", "up", "is_spilled", "to", "true", "if", "it", "is", "likely", "spilled", "HW", "register", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386", "Func": "insn_is_function_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38843, "Length": 140}
{"ground_truth": ["", "static", "bool", "insn_uses_reg_mem", "(", "unsigned", "int", "regno", ",", "rtx", "insn", ")", "{", "df_ref", "use", ";", "FOR_EACH_INSN_USE", "(", "use", ",", "insn", ")", "if", "(", "DF_REF_REG_MEM_P", "(", "use", ")", "&&", "regno", "==", "DF_REF_REGNO", "(", "use", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Function", "checks", "if", "instruction", "INSN", "uses", "register", "number", "REGNO", "as", "a", "part", "of", "address", "expression", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "insn_uses_reg_mem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38844, "Length": 42}
{"ground_truth": ["", "static", "bool", "is_imported_p", "(", "rtx", "x", ")", "{", "if", "(", "!", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "||", "GET_CODE", "(", "x", ")", "!=", "SYMBOL_REF", ")", "return", "false", ";", "return", "SYMBOL_REF_DLLIMPORT_P", "(", "x", ")", "||", "SYMBOL_REF_STUBVAR_P", "(", "x", ")", ";", "}", ""], "natrual_language": ["Nonzero", "if", "the", "symbol", "is", "marked", "as", "dllimport", ",", "or", "as", "stub-variable", ",", "otherwise", "zero", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "is_imported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38845, "Length": 35}
{"ground_truth": ["", "static", "bool", "is_va_list_char_pointer", "(", "tree", "type", ")", "{", "tree", "canonic", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", "true", ";", "canonic", "=", "ix86_canonical_va_list_type", "(", "type", ")", ";", "return", "(", "canonic", "==", "ms_va_list_type_node", "||", "(", "ix86_abi", "==", "MS_ABI", "&&", "canonic", "==", "va_list_type_node", ")", ")", ";", "}", ""], "natrual_language": ["Checks", "if", "TYPE", "is", "of", "kind", "va_list", "char", "*", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "is_va_list_char_pointer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38846, "Length": 44}
{"ground_truth": ["", "static", "int", "ix86_address_cost", "(", "rtx", "x", ",", "machine_mode", ",", "addr_space_t", ",", "bool", ")", "{", "struct", "ix86_address", "parts", ";", "int", "cost", "=", "1", ";", "int", "ok", "=", "ix86_decompose_address", "(", "x", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "parts", ".", "base", "&&", "SUBREG_P", "(", "parts", ".", "base", ")", ")", "parts", ".", "base", "=", "SUBREG_REG", "(", "parts", ".", "base", ")", ";", "if", "(", "parts", ".", "index", "&&", "SUBREG_P", "(", "parts", ".", "index", ")", ")", "parts", ".", "index", "=", "SUBREG_REG", "(", "parts", ".", "index", ")", ";", "if", "(", "parts", ".", "base", "&&", "(", "!", "REG_P", "(", "parts", ".", "base", ")", "||", "REGNO", "(", "parts", ".", "base", ")", ">=", "FIRST_PSEUDO_REGISTER", ")", "&&", "(", "current_pass", "->", "type", "==", "GIMPLE_PASS", "||", "!", "pic_offset_table_rtx", "||", "!", "REG_P", "(", "parts", ".", "base", ")", "||", "REGNO", "(", "pic_offset_table_rtx", ")", "!=", "REGNO", "(", "parts", ".", "base", ")", ")", ")", "cost", "++", ";", "if", "(", "parts", ".", "index", "&&", "(", "!", "REG_P", "(", "parts", ".", "index", ")", "||", "REGNO", "(", "parts", ".", "index", ")", ">=", "FIRST_PSEUDO_REGISTER", ")", "&&", "(", "current_pass", "->", "type", "==", "GIMPLE_PASS", "||", "!", "pic_offset_table_rtx", "||", "!", "REG_P", "(", "parts", ".", "index", ")", "||", "REGNO", "(", "pic_offset_table_rtx", ")", "!=", "REGNO", "(", "parts", ".", "index", ")", ")", ")", "cost", "++", ";", "if", "(", "TARGET_CPU_P", "(", "K6", ")", "&&", "(", "(", "!", "parts", ".", "disp", "&&", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "!=", "1", ")", "||", "(", "parts", ".", "disp", "&&", "!", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "!=", "1", ")", "||", "(", "!", "parts", ".", "disp", "&&", "parts", ".", "base", "&&", "parts", ".", "index", "&&", "parts", ".", "scale", "==", "1", ")", ")", ")", "cost", "+=", "10", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "the", "memory", "address", "x", ".", "For", "i386", ",", "it", "is", "better", "to", "use", "a", "complex", "address", "than", "let", "gcc", "copy", "the", "address", "into", "a", "reg", "and", "make", "a", "new", "pseudo", ".", "But", "not", "if", "the", "address", "requires", "to", "two", "regs", "-", "that", "would", "mean", "more", "pseudos", "with", "longer", "lifetimes", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "10"], "File": "i386", "Func": "ix86_address_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38847, "Length": 285}
{"ground_truth": ["", "static", "bool", "ix86_addr_space_zero_address_valid", "(", "addr_space_t", "as", ")", "{", "return", "as", "!=", "ADDR_SPACE_GENERIC", ";", "}", ""], "natrual_language": ["All", "use", "of", "segmentation", "is", "assumed", "to", "make", "address", "0", "valid", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_addr_space_zero_address_valid", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38848, "Length": 14}
{"ground_truth": ["", "static", "void", "ix86_add_cfa_restore_note", "(", "rtx_insn", "*", "insn", ",", "rtx", "reg", ",", "HOST_WIDE_INT", "cfa_offset", ")", "{", "if", "(", "!", "crtl", "->", "shrink_wrapped", "&&", "cfa_offset", "<=", "cfun", "->", "machine", "->", "fs", ".", "red_zone_offset", ")", "return", ";", "if", "(", "insn", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_RESTORE", ",", "reg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "else", "queued_cfa_restores", "=", "alloc_reg_note", "(", "REG_CFA_RESTORE", ",", "reg", ",", "queued_cfa_restores", ")", ";", "}", ""], "natrual_language": ["Add", "a", "REG_CFA_RESTORE", "REG", "note", "to", "INSN", "or", "queue", "them", "until", "next", "stack", "manipulation", "insn", ".", "The", "value", "is", "on", "the", "stack", "at", "CFA", "-", "CFA_OFFSET", ".", "Do", "n't", "add", "the", "note", "if", "the", "previously", "saved", "value", "will", "be", "left", "untouched", "within", "stack", "red-zone", "till", "return", ",", "as", "unwinders", "can", "find", "the", "same", "value", "in", "the", "register", "and", "on", "the", "stack", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_add_cfa_restore_note", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38849, "Length": 69}
{"ground_truth": ["", "static", "void", "ix86_add_queued_cfa_restore_notes", "(", "rtx", "insn", ")", "{", "rtx", "last", ";", "if", "(", "!", "queued_cfa_restores", ")", "return", ";", "for", "(", "last", "=", "queued_cfa_restores", ";", "XEXP", "(", "last", ",", "1", ")", ";", "last", "=", "XEXP", "(", "last", ",", "1", ")", ")", ";", "XEXP", "(", "last", ",", "1", ")", "=", "REG_NOTES", "(", "insn", ")", ";", "REG_NOTES", "(", "insn", ")", "=", "queued_cfa_restores", ";", "queued_cfa_restores", "=", "NULL_RTX", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", ""], "natrual_language": ["Add", "queued", "REG_CFA_RESTORE", "notes", "if", "any", "to", "INSN", "."], "TS_V_token": ["i386", "1", "1", "1", "1"], "File": "i386", "Func": "ix86_add_queued_cfa_restore_notes", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38850, "Length": 72}
{"ground_truth": ["", "static", "int", "ix86_adjust_priority", "(", "rtx_insn", "*", "insn", ",", "int", "priority", ")", "{", "rtx", "set", ";", "if", "(", "reload_completed", ")", "return", "priority", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "return", "priority", ";", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "set", ")", "{", "rtx", "tmp", "=", "SET_SRC", "(", "set", ")", ";", "if", "(", "REG_P", "(", "tmp", ")", "&&", "HARD_REGISTER_P", "(", "tmp", ")", "&&", "!", "TEST_HARD_REG_BIT", "(", "fixed_reg_set", ",", "REGNO", "(", "tmp", ")", ")", "&&", "ix86_class_likely_spilled_p", "(", "REGNO_REG_CLASS", "(", "REGNO", "(", "tmp", ")", ")", ")", ")", "return", "current_sched_info", "->", "sched_max_insns_priority", ";", "}", "return", "priority", ";", "}", ""], "natrual_language": ["Hook", "for", "pre-reload", "schedule", "-", "set", "priority", "of", "moves", "from", "likely", "spilled", "HW", "registers", "to", "maximum", ",", "to", "schedule", "them", "at", "soon", "as", "possible", ".", "These", "are", "moves", "from", "function", "argument", "registers", "at", "the", "top", "of", "the", "function", "entry", "and", "moves", "from", "function", "return", "value", "registers", "after", "call", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_adjust_priority", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38851, "Length": 97}
{"ground_truth": ["", "static", "unsigned", "HOST_WIDE_INT", "ix86_asan_shadow_offset", "(", "void", ")", "{", "return", "SUBTARGET_SHADOW_OFFSET", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_ASAN_SHADOW_OFFSET", "hook", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_asan_shadow_offset", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38852, "Length": 12}
{"ground_truth": ["", "void", "ix86_asm_output_function_label", "(", "FILE", "*", "out_file", ",", "const", "char", "*", "fname", ",", "tree", "decl", ")", "{", "bool", "is_ms_hook", "=", "ix86_function_ms_hook_prologue", "(", "decl", ")", ";", "if", "(", "cfun", ")", "cfun", "->", "machine", "->", "function_label_emitted", "=", "true", ";", "if", "(", "is_ms_hook", ")", "{", "int", "i", ",", "filler_count", "=", "(", "TARGET_64BIT", "?", "32", ":", "16", ")", ";", "unsigned", "int", "filler_cc", "=", "0xcccccccc", ";", "for", "(", "i", "=", "0", ";", "i", "<", "filler_count", ";", "i", "+=", "4", ")", "fprintf", "(", "out_file", ",", "ASM_LONG", "\" %#x\\n\"", ",", "filler_cc", ")", ";", "}", "SUBTARGET_ASM_UNWIND_INIT", "(", "out_file", ")", ";", "ASM_OUTPUT_LABEL", "(", "out_file", ",", "fname", ")", ";", "if", "(", "is_ms_hook", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "fputs", "(", "ASM_BYTE", "\"0x48, 0x8d, 0xa4, 0x24, 0x00, 0x00, 0x00, 0x00\\n\"", ",", "out_file", ")", ";", "}", "else", "{", "fputs", "(", "ASM_BYTE", "\"0x8b, 0xff, 0x55, 0x8b, 0xec\\n\"", ",", "out_file", ")", ";", "}", "}", "}", ""], "natrual_language": ["Write", "the", "extra", "assembler", "code", "needed", "to", "declare", "a", "function", "properly", "."], "TS_V_token": ["i386", "32", "16", "0xcccccccc", "0", "4", "\" %#x\\n\"", "\"0x48, 0x8d, 0xa4, 0x24, 0x00, 0x00, 0x00, 0x00\\n\"", "\"0x8b, 0xff, 0x55, 0x8b, 0xec\\n\""], "File": "i386", "Func": "ix86_asm_output_function_label", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38853, "Length": 129}
{"ground_truth": ["", "int", "ix86_attr_length_address_default", "(", "rtx_insn", "*", "insn", ")", "{", "int", "i", ";", "if", "(", "get_attr_type", "(", "insn", ")", "==", "TYPE_LEA", ")", "{", "rtx", "set", "=", "PATTERN", "(", "insn", ")", ",", "addr", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "addr", "=", "SET_SRC", "(", "set", ")", ";", "return", "memory_address_length", "(", "addr", ",", "true", ")", ";", "}", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "{", "rtx", "op", "=", "recog_data", ".", "operand", "[", "i", "]", ";", "if", "(", "MEM_P", "(", "op", ")", ")", "{", "constrain_operands_cached", "(", "insn", ",", "reload_completed", ")", ";", "if", "(", "which_alternative", "!=", "-", "1", ")", "{", "const", "char", "*", "constraints", "=", "recog_data", ".", "constraints", "[", "i", "]", ";", "int", "alt", "=", "which_alternative", ";", "while", "(", "*", "constraints", "==", "'='", "||", "*", "constraints", "==", "'+'", ")", "constraints", "++", ";", "while", "(", "alt", "--", ">", "0", ")", "while", "(", "*", "constraints", "++", "!=", "','", ")", ";", "if", "(", "*", "constraints", "==", "'X'", ")", "continue", ";", "}", "int", "len", "=", "memory_address_length", "(", "XEXP", "(", "op", ",", "0", ")", ",", "false", ")", ";", "if", "(", "!", "ADDR_SPACE_GENERIC_P", "(", "MEM_ADDR_SPACE", "(", "op", ")", ")", ")", "len", "++", ";", "return", "len", ";", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["Compute", "default", "value", "for", "``", "length_address", "''", "attribute", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "0", "0", "0"], "File": "i386", "Func": "ix86_attr_length_address_default", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38854, "Length": 229}
{"ground_truth": ["", "int", "ix86_attr_length_immediate_default", "(", "rtx_insn", "*", "insn", ",", "bool", "shortform", ")", "{", "int", "len", "=", "0", ";", "int", "i", ";", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "CONSTANT_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "enum", "attr_mode", "mode", "=", "get_attr_mode", "(", "insn", ")", ";", "gcc_assert", "(", "!", "len", ")", ";", "if", "(", "shortform", "&&", "CONST_INT_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "HOST_WIDE_INT", "ival", "=", "INTVAL", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ";", "switch", "(", "mode", ")", "{", "case", "MODE_QI", ":", "len", "=", "1", ";", "continue", ";", "case", "MODE_HI", ":", "ival", "=", "trunc_int_for_mode", "(", "ival", ",", "HImode", ")", ";", "break", ";", "case", "MODE_SI", ":", "ival", "=", "trunc_int_for_mode", "(", "ival", ",", "SImode", ")", ";", "break", ";", "default", ":", "break", ";", "}", "if", "(", "IN_RANGE", "(", "ival", ",", "-", "128", ",", "127", ")", ")", "{", "len", "=", "1", ";", "continue", ";", "}", "}", "switch", "(", "mode", ")", "{", "case", "MODE_QI", ":", "len", "=", "1", ";", "break", ";", "case", "MODE_HI", ":", "len", "=", "2", ";", "break", ";", "case", "MODE_SI", ":", "len", "=", "4", ";", "break", ";", "case", "MODE_DI", ":", "len", "=", "4", ";", "break", ";", "default", ":", "fatal_insn", "(", "\"unknown insn mode\"", ",", "insn", ")", ";", "}", "}", "return", "len", ";", "}", ""], "natrual_language": ["Compute", "default", "value", "for", "``", "length_immediate", "''", "attribute", ".", "When", "SHORTFORM", "is", "set", "expect", "that", "insn", "have", "8bit", "immediate", "alternative", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "128", "127", "1", "1", "2", "4", "4", "\"unknown insn mode\""], "File": "i386", "Func": "ix86_attr_length_immediate_default", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38855, "Length": 221}
{"ground_truth": ["", "int", "ix86_attr_length_vex_default", "(", "rtx_insn", "*", "insn", ",", "bool", "has_0f_opcode", ",", "bool", "has_vex_w", ")", "{", "int", "i", ";", "if", "(", "!", "has_0f_opcode", "||", "has_vex_w", ")", "return", "3", "+", "1", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", "2", "+", "1", ";", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "REG_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "if", "(", "GET_MODE", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "==", "DImode", "&&", "GENERAL_REG_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "return", "3", "+", "1", ";", "}", "else", "{", "if", "(", "MEM_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "&&", "x86_extended_reg_mentioned_p", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "return", "3", "+", "1", ";", "}", "return", "2", "+", "1", ";", "}", ""], "natrual_language": ["Compute", "default", "value", "for", "``", "length_vex", "''", "attribute", ".", "It", "includes", "2", "or", "3", "byte", "VEX", "prefix", "and", "1", "opcode", "byte", "."], "TS_V_token": ["i386", "3", "1", "2", "1", "1", "0", "3", "1", "3", "1", "2", "1"], "File": "i386", "Func": "ix86_attr_length_vex_default", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38856, "Length": 140}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_autovectorize_vector_modes", "(", "vector_modes", "*", "modes", ",", "bool", "all", ")", "{", "if", "(", "TARGET_AVX512F", "&&", "!", "TARGET_PREFER_AVX256", ")", "{", "modes", "->", "safe_push", "(", "V64QImode", ")", ";", "modes", "->", "safe_push", "(", "V32QImode", ")", ";", "modes", "->", "safe_push", "(", "V16QImode", ")", ";", "}", "else", "if", "(", "TARGET_AVX512F", "&&", "all", ")", "{", "modes", "->", "safe_push", "(", "V32QImode", ")", ";", "modes", "->", "safe_push", "(", "V16QImode", ")", ";", "modes", "->", "safe_push", "(", "V64QImode", ")", ";", "}", "else", "if", "(", "TARGET_AVX", "&&", "!", "TARGET_PREFER_AVX128", ")", "{", "modes", "->", "safe_push", "(", "V32QImode", ")", ";", "modes", "->", "safe_push", "(", "V16QImode", ")", ";", "}", "else", "if", "(", "TARGET_AVX", "&&", "all", ")", "{", "modes", "->", "safe_push", "(", "V16QImode", ")", ";", "modes", "->", "safe_push", "(", "V32QImode", ")", ";", "}", "else", "if", "(", "TARGET_SSE2", ")", "modes", "->", "safe_push", "(", "V16QImode", ")", ";", "if", "(", "TARGET_MMX_WITH_SSE", ")", "modes", "->", "safe_push", "(", "V8QImode", ")", ";", "if", "(", "TARGET_SSE2", ")", "modes", "->", "safe_push", "(", "V4QImode", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["If", "AVX", "is", "enabled", "then", "try", "vectorizing", "with", "both", "256bit", "and", "128bit", "vectors", ".", "If", "AVX512F", "is", "enabled", "then", "try", "vectorizing", "with", "512bit", ",", "256bit", "and", "128bit", "vectors", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_autovectorize_vector_modes", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38857, "Length": 158}
{"ground_truth": ["", "static", "void", "ix86_avoid_jump_mispredicts", "(", "void", ")", "{", "rtx_insn", "*", "insn", ",", "*", "start", "=", "get_insns", "(", ")", ";", "int", "nbytes", "=", "0", ",", "njumps", "=", "0", ";", "bool", "isjump", "=", "false", ";", "for", "(", "insn", "=", "start", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "int", "min_size", ";", "if", "(", "LABEL_P", "(", "insn", ")", ")", "{", "align_flags", "alignment", "=", "label_to_alignment", "(", "insn", ")", ";", "int", "align", "=", "alignment", ".", "levels", "[", "0", "]", ".", "log", ";", "int", "max_skip", "=", "alignment", ".", "levels", "[", "0", "]", ".", "maxskip", ";", "if", "(", "max_skip", ">", "15", ")", "max_skip", "=", "15", ";", "if", "(", "align", "<=", "0", "||", "(", "align", "<=", "3", "&&", "max_skip", "!=", "(", "1", "<<", "align", ")", "-", "1", ")", ")", "max_skip", "=", "0", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Label %i with max_skip %i\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "max_skip", ")", ";", "if", "(", "max_skip", ")", "{", "while", "(", "nbytes", "+", "max_skip", ">=", "16", ")", "{", "start", "=", "NEXT_INSN", "(", "start", ")", ";", "if", "(", "(", "JUMP_P", "(", "start", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "start", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "start", ")", ")", "njumps", "--", ",", "isjump", "=", "true", ";", "else", "isjump", "=", "false", ";", "nbytes", "-=", "ix86_min_insn_size", "(", "start", ")", ";", "}", "}", "continue", ";", "}", "min_size", "=", "ix86_min_insn_size", "(", "insn", ")", ";", "nbytes", "+=", "min_size", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Insn %i estimated to %i bytes\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "min_size", ")", ";", "if", "(", "(", "JUMP_P", "(", "insn", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "insn", ")", ")", "njumps", "++", ";", "else", "continue", ";", "while", "(", "njumps", ">", "3", ")", "{", "start", "=", "NEXT_INSN", "(", "start", ")", ";", "if", "(", "(", "JUMP_P", "(", "start", ")", "&&", "asm_noperands", "(", "PATTERN", "(", "start", ")", ")", "<", "0", ")", "||", "CALL_P", "(", "start", ")", ")", "njumps", "--", ",", "isjump", "=", "true", ";", "else", "isjump", "=", "false", ";", "nbytes", "-=", "ix86_min_insn_size", "(", "start", ")", ";", "}", "gcc_assert", "(", "njumps", ">=", "0", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Interval %i to %i has %i bytes\\n\"", ",", "INSN_UID", "(", "start", ")", ",", "INSN_UID", "(", "insn", ")", ",", "nbytes", ")", ";", "if", "(", "njumps", "==", "3", "&&", "isjump", "&&", "nbytes", "<", "16", ")", "{", "int", "padsize", "=", "15", "-", "nbytes", "+", "ix86_min_insn_size", "(", "insn", ")", ";", "if", "(", "dump_file", ")", "fprintf", "(", "dump_file", ",", "\"Padding insn %i by %i bytes!\\n\"", ",", "INSN_UID", "(", "insn", ")", ",", "padsize", ")", ";", "emit_insn_before", "(", "gen_pad", "(", "GEN_INT", "(", "padsize", ")", ")", ",", "insn", ")", ";", "}", "}", "}", ""], "natrual_language": ["AMD", "K8", "core", "mispredicts", "jumps", "when", "there", "are", "more", "than", "3", "jumps", "in", "16", "byte", "window", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "15", "15", "0", "3", "1", "1", "0", "\"Label %i with max_skip %i\\n\"", "16", "0", "\"Insn %i estimated to %i bytes\\n\"", "0", "3", "0", "0", "\"Interval %i to %i has %i bytes\\n\"", "3", "16", "15", "\"Padding insn %i by %i bytes!\\n\""], "File": "i386", "Func": "ix86_avoid_jump_mispredicts", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38858, "Length": 420}
{"ground_truth": ["", "bool", "ix86_avoid_lea_for_add", "(", "rtx_insn", "*", "insn", ",", "rtx", "operands", "[", "]", ")", "{", "unsigned", "int", "regno0", ",", "regno1", ",", "regno2", ";", "if", "(", "!", "TARGET_OPT_AGU", "||", "optimize_function_for_size_p", "(", "cfun", ")", ")", "return", "false", ";", "regno0", "=", "true_regnum", "(", "operands", "[", "0", "]", ")", ";", "regno1", "=", "true_regnum", "(", "operands", "[", "1", "]", ")", ";", "regno2", "=", "true_regnum", "(", "operands", "[", "2", "]", ")", ";", "if", "(", "regno0", "==", "regno1", "||", "regno0", "==", "regno2", ")", "return", "false", ";", "else", "return", "!", "ix86_lea_outperforms", "(", "insn", ",", "regno0", ",", "regno1", ",", "regno2", ",", "1", ",", "false", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "need", "to", "split", "op0", "=", "op1", "+", "op2", "into", "a", "sequence", "of", "move", "and", "add", "to", "avoid", "AGU", "stalls", "."], "TS_V_token": ["i386", "0", "1", "2", "1"], "File": "i386", "Func": "ix86_avoid_lea_for_add", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38859, "Length": 96}
{"ground_truth": ["", "bool", "ix86_avoid_lea_for_addr", "(", "rtx_insn", "*", "insn", ",", "rtx", "operands", "[", "]", ")", "{", "unsigned", "int", "regno0", ",", "regno1", ",", "regno2", ";", "int", "split_cost", ";", "struct", "ix86_address", "parts", ";", "int", "ok", ";", "if", "(", "REG_P", "(", "operands", "[", "1", "]", ")", "||", "(", "SImode_address_operand", "(", "operands", "[", "1", "]", ",", "VOIDmode", ")", "&&", "REG_P", "(", "XEXP", "(", "operands", "[", "1", "]", ",", "0", ")", ")", ")", ")", "return", "false", ";", "ok", "=", "ix86_decompose_address", "(", "operands", "[", "1", "]", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "if", "(", "(", "parts", ".", "base", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "index", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "disp", "!=", "NULL_RTX", ")", "+", "(", "parts", ".", "scale", ">", "1", ")", "<", "2", ")", "return", "false", ";", "if", "(", "parts", ".", "disp", "&&", "flag_pic", "&&", "!", "LEGITIMATE_PIC_OPERAND_P", "(", "parts", ".", "disp", ")", ")", "return", "false", ";", "regno0", "=", "true_regnum", "(", "operands", "[", "0", "]", ")", ";", "regno1", "=", "INVALID_REGNUM", ";", "regno2", "=", "INVALID_REGNUM", ";", "if", "(", "parts", ".", "base", ")", "regno1", "=", "true_regnum", "(", "parts", ".", "base", ")", ";", "if", "(", "parts", ".", "index", ")", "regno2", "=", "true_regnum", "(", "parts", ".", "index", ")", ";", "if", "(", "!", "TARGET_CPU_P", "(", "BONNELL", ")", "&&", "parts", ".", "scale", "==", "1", "&&", "(", "!", "parts", ".", "disp", "||", "parts", ".", "disp", "==", "const0_rtx", ")", "&&", "(", "regno0", "==", "regno1", "||", "regno0", "==", "regno2", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_AVOID_LEA_FOR_ADDR", "||", "optimize_function_for_size_p", "(", "cfun", ")", ")", "return", "false", ";", "split_cost", "=", "0", ";", "if", "(", "parts", ".", "base", "||", "parts", ".", "index", ")", "{", "if", "(", "regno1", "!=", "regno0", "&&", "regno2", "!=", "regno0", ")", "split_cost", "+=", "1", ";", "if", "(", "parts", ".", "base", "&&", "parts", ".", "index", ")", "split_cost", "+=", "1", ";", "if", "(", "parts", ".", "scale", ">", "1", ")", "{", "if", "(", "regno0", "!=", "regno1", ")", "split_cost", "+=", "1", ";", "else", "if", "(", "regno2", "==", "regno0", ")", "split_cost", "+=", "4", ";", "else", "split_cost", "+=", "parts", ".", "scale", ";", "}", "if", "(", "parts", ".", "disp", "&&", "parts", ".", "disp", "!=", "const0_rtx", ")", "split_cost", "+=", "1", ";", "split_cost", "-=", "1", ";", "}", "return", "!", "ix86_lea_outperforms", "(", "insn", ",", "regno0", ",", "regno1", ",", "regno2", ",", "split_cost", ",", "parts", ".", "scale", ">", "1", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "need", "to", "split", "lea", "into", "a", "sequence", "of", "instructions", "to", "avoid", "AGU", "stalls", "during", "peephole2", "."], "TS_V_token": ["i386", "1", "1", "1", "0", "1", "1", "2", "0", "1", "0", "1", "1", "1", "1", "4", "1", "1", "1"], "File": "i386", "Func": "ix86_avoid_lea_for_addr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38860, "Length": 370}
{"ground_truth": ["", "static", "int", "ix86_avx_u128_mode_after", "(", "int", "mode", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "vzeroupper_pattern", "(", "pat", ",", "VOIDmode", ")", "||", "vzeroall_pattern", "(", "pat", ",", "VOIDmode", ")", ")", "return", "AVX_U128_CLEAN", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "bool", "avx_upper_reg_found", "=", "false", ";", "note_stores", "(", "insn", ",", "ix86_check_avx_upper_stores", ",", "&", "avx_upper_reg_found", ")", ";", "return", "avx_upper_reg_found", "?", "AVX_U128_DIRTY", ":", "AVX_U128_CLEAN", ";", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Calculate", "mode", "of", "upper", "128bit", "AVX", "registers", "after", "the", "insn", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_avx_u128_mode_after", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38861, "Length": 74}
{"ground_truth": ["", "static", "int", "ix86_avx_u128_mode_needed", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "DEBUG_INSN_P", "(", "insn", ")", ")", "return", "AVX_U128_ANY", ";", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "rtx", "link", ";", "for", "(", "link", "=", "CALL_INSN_FUNCTION_USAGE", "(", "insn", ")", ";", "link", ";", "link", "=", "XEXP", "(", "link", ",", "1", ")", ")", "{", "if", "(", "GET_CODE", "(", "XEXP", "(", "link", ",", "0", ")", ")", "==", "USE", ")", "{", "rtx", "arg", "=", "XEXP", "(", "XEXP", "(", "link", ",", "0", ")", ",", "0", ")", ";", "if", "(", "ix86_check_avx_upper_register", "(", "arg", ")", ")", "return", "AVX_U128_DIRTY", ";", "}", "}", "bool", "avx_upper_reg_found", "=", "false", ";", "note_stores", "(", "insn", ",", "ix86_check_avx_upper_stores", ",", "&", "avx_upper_reg_found", ")", ";", "if", "(", "avx_upper_reg_found", ")", "return", "AVX_U128_DIRTY", ";", "const", "function_abi", "&", "abi", "=", "insn_callee_abi", "(", "insn", ")", ";", "if", "(", "!", "hard_reg_set_subset_p", "(", "reg_class_contents", "[", "SSE_REGS", "]", ",", "abi", ".", "mode_clobbers", "(", "V4DImode", ")", ")", ")", "return", "AVX_U128_ANY", ";", "return", "AVX_U128_CLEAN", ";", "}", "subrtx_iterator", "::", "array_type", "array", ";", "rtx", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "set", ")", "{", "rtx", "dest", "=", "SET_DEST", "(", "set", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "set", ")", ";", "if", "(", "ix86_check_avx_upper_register", "(", "dest", ")", ")", "{", "if", "(", "standard_sse_constant_p", "(", "src", ",", "GET_MODE", "(", "dest", ")", ")", "!=", "1", ")", "return", "AVX_U128_DIRTY", ";", "else", "return", "AVX_U128_ANY", ";", "}", "else", "{", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "src", ",", "NONCONST", ")", "if", "(", "ix86_check_avx_upper_register", "(", "*", "iter", ")", ")", "return", "AVX_U128_DIRTY", ";", "}", "return", "AVX_U128_ANY", ";", "}", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "NONCONST", ")", "if", "(", "ix86_check_avx_upper_register", "(", "*", "iter", ")", ")", "return", "AVX_U128_DIRTY", ";", "return", "AVX_U128_ANY", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "1"], "File": "i386", "Func": "ix86_avx_u128_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38862, "Length": 270}
{"ground_truth": ["", "static", "bool", "ix86_binds_local_p", "(", "const_tree", "exp", ")", "{", "bool", "direct_extern_access", "=", "(", "ix86_direct_extern_access", "&&", "!", "(", "VAR_OR_FUNCTION_DECL_P", "(", "exp", ")", "&&", "lookup_attribute", "(", "\"nodirect_extern_access\"", ",", "DECL_ATTRIBUTES", "(", "exp", ")", ")", ")", ")", ";", "if", "(", "!", "direct_extern_access", ")", "ix86_has_no_direct_extern_access", "=", "true", ";", "return", "default_binds_local_p_3", "(", "exp", ",", "flag_shlib", "!=", "0", ",", "true", ",", "direct_extern_access", ",", "(", "direct_extern_access", "&&", "(", "!", "flag_pic", "||", "(", "TARGET_64BIT", "&&", "HAVE_LD_PIE_COPYRELOC", "!=", "0", ")", ")", ")", ")", ";", "}", ""], "natrual_language": ["For", "i386", ",", "common", "symbol", "is", "local", "only", "for", "non-PIE", "binaries", ".", "For", "x86-64", ",", "common", "symbol", "is", "local", "only", "for", "non-PIE", "binaries", "or", "linker", "supports", "copy", "reloc", "in", "PIE", "binaries", "."], "TS_V_token": ["i386", "\"nodirect_extern_access\"", "0", "0"], "File": "i386", "Func": "ix86_binds_local_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38863, "Length": 74}
{"ground_truth": ["", "static", "tree", "ix86_build_builtin_va_list", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "sysv_va_list_type_node", "=", "ix86_build_builtin_va_list_64", "(", ")", ";", "tree", "char_ptr_type", "=", "build_pointer_type", "(", "char_type_node", ")", ";", "tree", "attr", "=", "tree_cons", "(", "get_identifier", "(", "\"ms_abi va_list\"", ")", ",", "NULL_TREE", ",", "TYPE_ATTRIBUTES", "(", "char_ptr_type", ")", ")", ";", "ms_va_list_type_node", "=", "build_type_attribute_variant", "(", "char_ptr_type", ",", "attr", ")", ";", "return", "(", "(", "ix86_abi", "==", "MS_ABI", ")", "?", "ms_va_list_type_node", ":", "sysv_va_list_type_node", ")", ";", "}", "else", "{", "return", "build_pointer_type", "(", "char_type_node", ")", ";", "}", "}", ""], "natrual_language": ["Create", "the", "va_list", "data", "type", "."], "TS_V_token": ["i386", "\"ms_abi va_list\""], "File": "i386", "Func": "ix86_build_builtin_va_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38864, "Length": 77}
{"ground_truth": ["", "static", "tree", "ix86_build_builtin_va_list_64", "(", "void", ")", "{", "tree", "f_gpr", ",", "f_fpr", ",", "f_ovf", ",", "f_sav", ",", "record", ",", "type_decl", ";", "record", "=", "lang_hooks", ".", "types", ".", "make_type", "(", "RECORD_TYPE", ")", ";", "type_decl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "TYPE_DECL", ",", "get_identifier", "(", "\"__va_list_tag\"", ")", ",", "record", ")", ";", "f_gpr", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"gp_offset\"", ")", ",", "unsigned_type_node", ")", ";", "f_fpr", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"fp_offset\"", ")", ",", "unsigned_type_node", ")", ";", "f_ovf", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"overflow_arg_area\"", ")", ",", "ptr_type_node", ")", ";", "f_sav", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FIELD_DECL", ",", "get_identifier", "(", "\"reg_save_area\"", ")", ",", "ptr_type_node", ")", ";", "va_list_gpr_counter_field", "=", "f_gpr", ";", "va_list_fpr_counter_field", "=", "f_fpr", ";", "DECL_FIELD_CONTEXT", "(", "f_gpr", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_fpr", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_ovf", ")", "=", "record", ";", "DECL_FIELD_CONTEXT", "(", "f_sav", ")", "=", "record", ";", "TYPE_STUB_DECL", "(", "record", ")", "=", "type_decl", ";", "TYPE_NAME", "(", "record", ")", "=", "type_decl", ";", "TYPE_FIELDS", "(", "record", ")", "=", "f_gpr", ";", "DECL_CHAIN", "(", "f_gpr", ")", "=", "f_fpr", ";", "DECL_CHAIN", "(", "f_fpr", ")", "=", "f_ovf", ";", "DECL_CHAIN", "(", "f_ovf", ")", "=", "f_sav", ";", "layout_type", "(", "record", ")", ";", "TYPE_ATTRIBUTES", "(", "record", ")", "=", "tree_cons", "(", "get_identifier", "(", "\"sysv_abi va_list\"", ")", ",", "NULL_TREE", ",", "TYPE_ATTRIBUTES", "(", "record", ")", ")", ";", "return", "build_array_type", "(", "record", ",", "build_index_type", "(", "size_zero_node", ")", ")", ";", "}", ""], "natrual_language": ["Create", "the", "va_list", "data", "type", "."], "TS_V_token": ["i386", "\"__va_list_tag\"", "\"gp_offset\"", "\"fp_offset\"", "\"overflow_arg_area\"", "\"reg_save_area\"", "\"sysv_abi va_list\""], "File": "i386", "Func": "ix86_build_builtin_va_list_64", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38865, "Length": 226}
{"ground_truth": ["", "rtx", "ix86_build_const_vector", "(", "machine_mode", "mode", ",", "bool", "vect", ",", "rtx", "value", ")", "{", "int", "i", ",", "n_elt", ";", "rtvec", "v", ";", "machine_mode", "scalar_mode", ";", "switch", "(", "mode", ")", "{", "case", "E_V64QImode", ":", "case", "E_V32QImode", ":", "case", "E_V16QImode", ":", "case", "E_V32HImode", ":", "case", "E_V16HImode", ":", "case", "E_V8HImode", ":", "case", "E_V16SImode", ":", "case", "E_V8SImode", ":", "case", "E_V4SImode", ":", "case", "E_V2SImode", ":", "case", "E_V8DImode", ":", "case", "E_V4DImode", ":", "case", "E_V2DImode", ":", "gcc_assert", "(", "vect", ")", ";", "case", "E_V8HFmode", ":", "case", "E_V16HFmode", ":", "case", "E_V32HFmode", ":", "case", "E_V16SFmode", ":", "case", "E_V8SFmode", ":", "case", "E_V4SFmode", ":", "case", "E_V2SFmode", ":", "case", "E_V8DFmode", ":", "case", "E_V4DFmode", ":", "case", "E_V2DFmode", ":", "n_elt", "=", "GET_MODE_NUNITS", "(", "mode", ")", ";", "v", "=", "rtvec_alloc", "(", "n_elt", ")", ";", "scalar_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "RTVEC_ELT", "(", "v", ",", "0", ")", "=", "value", ";", "for", "(", "i", "=", "1", ";", "i", "<", "n_elt", ";", "++", "i", ")", "RTVEC_ELT", "(", "v", ",", "i", ")", "=", "vect", "?", "value", ":", "CONST0_RTX", "(", "scalar_mode", ")", ";", "return", "gen_rtx_CONST_VECTOR", "(", "mode", ",", "v", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_build_signbit_mask", ".", "If", "VECT", "is", "true", ",", "then", "replicate", "the", "value", "for", "all", "elements", "of", "the", "vector", "register", "."], "TS_V_token": ["i386", "0", "1"], "File": "i386", "Func": "ix86_build_const_vector", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38866, "Length": 178}
{"ground_truth": ["", "rtx", "ix86_build_signbit_mask", "(", "machine_mode", "mode", ",", "bool", "vect", ",", "bool", "invert", ")", "{", "machine_mode", "vec_mode", ",", "imode", ";", "wide_int", "w", ";", "rtx", "mask", ",", "v", ";", "switch", "(", "mode", ")", "{", "case", "E_V8HFmode", ":", "case", "E_V16HFmode", ":", "case", "E_V32HFmode", ":", "vec_mode", "=", "mode", ";", "imode", "=", "HImode", ";", "break", ";", "case", "E_V16SImode", ":", "case", "E_V16SFmode", ":", "case", "E_V8SImode", ":", "case", "E_V4SImode", ":", "case", "E_V8SFmode", ":", "case", "E_V4SFmode", ":", "case", "E_V2SFmode", ":", "case", "E_V2SImode", ":", "vec_mode", "=", "mode", ";", "imode", "=", "SImode", ";", "break", ";", "case", "E_V8DImode", ":", "case", "E_V4DImode", ":", "case", "E_V2DImode", ":", "case", "E_V8DFmode", ":", "case", "E_V4DFmode", ":", "case", "E_V2DFmode", ":", "vec_mode", "=", "mode", ";", "imode", "=", "DImode", ";", "break", ";", "case", "E_TImode", ":", "case", "E_TFmode", ":", "vec_mode", "=", "VOIDmode", ";", "imode", "=", "TImode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "machine_mode", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "w", "=", "wi", "::", "set_bit_in_zero", "(", "GET_MODE_BITSIZE", "(", "inner_mode", ")", "-", "1", ",", "GET_MODE_BITSIZE", "(", "inner_mode", ")", ")", ";", "if", "(", "invert", ")", "w", "=", "wi", "::", "bit_not", "(", "w", ")", ";", "mask", "=", "immed_wide_int_const", "(", "w", ",", "imode", ")", ";", "mask", "=", "gen_lowpart", "(", "inner_mode", ",", "mask", ")", ";", "if", "(", "vec_mode", "==", "VOIDmode", ")", "return", "force_reg", "(", "inner_mode", ",", "mask", ")", ";", "v", "=", "ix86_build_const_vector", "(", "vec_mode", ",", "vect", ",", "mask", ")", ";", "return", "force_reg", "(", "vec_mode", ",", "v", ")", ";", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_expand_fp_absneg_operator", "and", "copysign", "expanders", ".", "Create", "a", "mask", "for", "the", "sign", "bit", "in", "MODE", "for", "an", "SSE", "register", ".", "If", "VECT", "is", "true", ",", "then", "replicate", "the", "mask", "for", "all", "elements", "of", "the", "vector", "register", ".", "If", "INVERT", "is", "true", ",", "then", "create", "a", "mask", "excluding", "the", "sign", "bit", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_build_signbit_mask", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38867, "Length": 227}
{"ground_truth": ["", "static", "int", "ix86_builtin_vectorization_cost", "(", "enum", "vect_cost_for_stmt", "type_of_cost", ",", "tree", "vectype", ",", "int", ")", "{", "bool", "fp", "=", "false", ";", "machine_mode", "mode", "=", "TImode", ";", "int", "index", ";", "if", "(", "vectype", "!=", "NULL", ")", "{", "fp", "=", "FLOAT_TYPE_P", "(", "vectype", ")", ";", "mode", "=", "TYPE_MODE", "(", "vectype", ")", ";", "}", "switch", "(", "type_of_cost", ")", "{", "case", "scalar_stmt", ":", "return", "fp", "?", "ix86_cost", "->", "addss", ":", "COSTS_N_INSNS", "(", "1", ")", ";", "case", "scalar_load", ":", "return", "COSTS_N_INSNS", "(", "fp", "?", "ix86_cost", "->", "sse_load", "[", "0", "]", ":", "ix86_cost", "->", "int_load", "[", "2", "]", ")", "/", "2", ";", "case", "scalar_store", ":", "return", "COSTS_N_INSNS", "(", "fp", "?", "ix86_cost", "->", "sse_store", "[", "0", "]", ":", "ix86_cost", "->", "int_store", "[", "2", "]", ")", "/", "2", ";", "case", "vector_stmt", ":", "return", "ix86_vec_cost", "(", "mode", ",", "fp", "?", "ix86_cost", "->", "addss", ":", "ix86_cost", "->", "sse_op", ")", ";", "case", "vector_load", ":", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "<", "0", ")", "index", "=", "2", ";", "return", "COSTS_N_INSNS", "(", "ix86_cost", "->", "sse_load", "[", "index", "]", ")", "/", "2", ";", "case", "vector_store", ":", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "<", "0", ")", "index", "=", "2", ";", "return", "COSTS_N_INSNS", "(", "ix86_cost", "->", "sse_store", "[", "index", "]", ")", "/", "2", ";", "case", "vec_to_scalar", ":", "case", "scalar_to_vec", ":", "return", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "sse_op", ")", ";", "case", "unaligned_load", ":", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "<", "0", ")", "index", "=", "2", ";", "return", "COSTS_N_INSNS", "(", "ix86_cost", "->", "sse_unaligned_load", "[", "index", "]", ")", "/", "2", ";", "case", "unaligned_store", ":", "index", "=", "sse_store_index", "(", "mode", ")", ";", "if", "(", "index", "<", "0", ")", "index", "=", "2", ";", "return", "COSTS_N_INSNS", "(", "ix86_cost", "->", "sse_unaligned_store", "[", "index", "]", ")", "/", "2", ";", "case", "vector_gather_load", ":", "return", "ix86_vec_cost", "(", "mode", ",", "COSTS_N_INSNS", "(", "ix86_cost", "->", "gather_static", "+", "ix86_cost", "->", "gather_per_elt", "*", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ")", "/", "2", ")", ";", "case", "vector_scatter_store", ":", "return", "ix86_vec_cost", "(", "mode", ",", "COSTS_N_INSNS", "(", "ix86_cost", "->", "scatter_static", "+", "ix86_cost", "->", "scatter_per_elt", "*", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ")", "/", "2", ")", ";", "case", "cond_branch_taken", ":", "return", "ix86_cost", "->", "cond_taken_branch_cost", ";", "case", "cond_branch_not_taken", ":", "return", "ix86_cost", "->", "cond_not_taken_branch_cost", ";", "case", "vec_perm", ":", "case", "vec_promote_demote", ":", "return", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "sse_op", ")", ";", "case", "vec_construct", ":", "{", "int", "n", "=", "TYPE_VECTOR_SUBPARTS", "(", "vectype", ")", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "<=", "128", ")", "return", "(", "n", "-", "1", ")", "*", "ix86_cost", "->", "sse_op", ";", "else", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "==", "256", ")", "return", "(", "(", "n", "-", "2", ")", "*", "ix86_cost", "->", "sse_op", "+", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "addss", ")", ")", ";", "else", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "==", "512", ")", "return", "(", "(", "n", "-", "4", ")", "*", "ix86_cost", "->", "sse_op", "+", "3", "*", "ix86_vec_cost", "(", "mode", ",", "ix86_cost", "->", "addss", ")", ")", ";", "gcc_unreachable", "(", ")", ";", "}", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.builtin_vectorization_cost", "."], "TS_V_token": ["i386", "1", "0", "2", "2", "0", "2", "2", "0", "2", "2", "0", "2", "2", "0", "2", "2", "0", "2", "2", "2", "2", "128", "1", "256", "2", "512", "4", "3"], "File": "i386", "Func": "ix86_builtin_vectorization_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38868, "Length": 483}
{"ground_truth": ["", "void", "ix86_call_abi_override", "(", "const_tree", "fndecl", ")", "{", "cfun", "->", "machine", "->", "call_abi", "=", "ix86_function_abi", "(", "fndecl", ")", ";", "}", ""], "natrual_language": ["Implementation", "of", "call", "abi", "switching", "target", "hook", ".", "Specific", "to", "FNDECL", "the", "specific", "call", "register", "sets", "are", "set", ".", "See", "also", "ix86_conditional_register_usage", "for", "more", "details", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_call_abi_override", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38869, "Length": 19}
{"ground_truth": ["", "bool", "ix86_call_use_plt_p", "(", "rtx", "call_op", ")", "{", "if", "(", "SYMBOL_REF_LOCAL_P", "(", "call_op", ")", ")", "{", "if", "(", "SYMBOL_REF_DECL", "(", "call_op", ")", "&&", "TREE_CODE", "(", "SYMBOL_REF_DECL", "(", "call_op", ")", ")", "==", "FUNCTION_DECL", ")", "{", "cgraph_node", "*", "node", "=", "cgraph_node", "::", "get", "(", "SYMBOL_REF_DECL", "(", "call_op", ")", ")", ";", "if", "(", "node", "&&", "node", "->", "ifunc_resolver", ")", "return", "true", ";", "}", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "function", "is", "called", "via", "PLT", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_call_use_plt_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38870, "Length": 67}
{"ground_truth": ["", "static", "bool", "ix86_cannot_force_const_mem", "(", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "CASE_CONST_ANY", ":", "return", "false", ";", "default", ":", "break", ";", "}", "return", "!", "ix86_legitimate_constant_p", "(", "mode", ",", "x", ")", ";", "}", ""], "natrual_language": ["Determine", "if", "it", "'s", "legal", "to", "put", "X", "into", "the", "constant", "pool", ".", "This", "is", "not", "possible", "for", "the", "address", "of", "thread-local", "symbols", ",", "which", "is", "checked", "above", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_cannot_force_const_mem", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38871, "Length": 39}
{"ground_truth": ["", "static", "void", "ix86_canonicalize_comparison", "(", "int", "*", "code", ",", "rtx", "*", "op0", ",", "rtx", "*", "op1", ",", "bool", "op0_preserve_value", ")", "{", "if", "(", "!", "op0_preserve_value", "&&", "GET_CODE", "(", "*", "op0", ")", "==", "FLOAT", "&&", "MEM_P", "(", "XEXP", "(", "*", "op0", ",", "0", ")", ")", "&&", "REG_P", "(", "*", "op1", ")", ")", "{", "enum", "rtx_code", "scode", "=", "swap_condition", "(", "(", "enum", "rtx_code", ")", "*", "code", ")", ";", "if", "(", "ix86_fp_compare_code_to_integer", "(", "scode", ")", "!=", "UNKNOWN", ")", "{", "std", "::", "swap", "(", "*", "op0", ",", "*", "op1", ")", ";", "*", "code", "=", "(", "int", ")", "scode", ";", "}", "}", "}", ""], "natrual_language": ["Canonicalize", "a", "comparison", "from", "one", "we", "do", "n't", "have", "to", "one", "we", "do", "have", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_canonicalize_comparison", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38872, "Length": 97}
{"ground_truth": ["", "static", "tree", "ix86_canonical_va_list_type", "(", "tree", "type", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "lookup_attribute", "(", "\"ms_abi va_list\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ")", "return", "ms_va_list_type_node", ";", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", "&&", "integer_zerop", "(", "array_type_nelts", "(", "type", ")", ")", ")", "||", "POINTER_TYPE_P", "(", "type", ")", ")", "{", "tree", "elem_type", "=", "TREE_TYPE", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "elem_type", ")", "==", "RECORD_TYPE", "&&", "lookup_attribute", "(", "\"sysv_abi va_list\"", ",", "TYPE_ATTRIBUTES", "(", "elem_type", ")", ")", ")", "return", "sysv_va_list_type_node", ";", "}", "return", "NULL_TREE", ";", "}", "return", "std_canonical_va_list_type", "(", "type", ")", ";", "}", ""], "natrual_language": ["Returns", "the", "canonical", "va_list", "type", "specified", "by", "TYPE", ".", "If", "there", "is", "no", "valid", "TYPE", "provided", ",", "it", "return", "NULL_TREE", "."], "TS_V_token": ["i386", "\"ms_abi va_list\"", "\"sysv_abi va_list\""], "File": "i386", "Func": "ix86_canonical_va_list_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38873, "Length": 95}
{"ground_truth": ["", "static", "bool", "ix86_can_change_mode_class", "(", "machine_mode", "from", ",", "machine_mode", "to", ",", "reg_class_t", "regclass", ")", "{", "if", "(", "from", "==", "to", ")", "return", "true", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "regclass", ")", ")", "return", "false", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "||", "MAYBE_MMX_CLASS_P", "(", "regclass", ")", ")", "{", "int", "mov_size", "=", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "&&", "TARGET_SSE2", "?", "2", ":", "4", ";", "if", "(", "GET_MODE_SIZE", "(", "from", ")", "<", "mov_size", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "TARGET_CAN_CHANGE_MODE_CLASS", "."], "TS_V_token": ["i386", "2", "4"], "File": "i386", "Func": "ix86_can_change_mode_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38874, "Length": 77}
{"ground_truth": ["", "static", "bool", "ix86_can_eliminate", "(", "const", "int", "from", ",", "const", "int", "to", ")", "{", "if", "(", "stack_realign_fp", ")", "return", "(", "(", "from", "==", "ARG_POINTER_REGNUM", "&&", "to", "==", "HARD_FRAME_POINTER_REGNUM", ")", "||", "(", "from", "==", "FRAME_POINTER_REGNUM", "&&", "to", "==", "STACK_POINTER_REGNUM", ")", ")", ";", "else", "return", "to", "==", "STACK_POINTER_REGNUM", "?", "!", "frame_pointer_needed", ":", "true", ";", "}", ""], "natrual_language": ["Given", "FROM", "and", "TO", "register", "numbers", ",", "say", "whether", "this", "elimination", "is", "allowed", ".", "If", "stack", "alignment", "is", "needed", ",", "we", "can", "only", "replace", "argument", "pointer", "with", "hard", "frame", "pointer", ",", "or", "replace", "frame", "pointer", "with", "stack", "pointer", ".", "Otherwise", ",", "frame", "pointer", "elimination", "is", "automatically", "handled", "and", "all", "other", "eliminations", "are", "valid", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_can_eliminate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38875, "Length": 52}
{"ground_truth": ["", "static", "bool", "ix86_can_inline_p", "(", "tree", "caller", ",", "tree", "callee", ")", "{", "tree", "caller_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "caller", ")", ";", "tree", "callee_tree", "=", "DECL_FUNCTION_SPECIFIC_TARGET", "(", "callee", ")", ";", "unsigned", "HOST_WIDE_INT", "always_inline_safe_mask", "=", "(", "MASK_USE_8BIT_IDIV", "|", "MASK_ACCUMULATE_OUTGOING_ARGS", "|", "MASK_NO_ALIGN_STRINGOPS", "|", "MASK_AVX256_SPLIT_UNALIGNED_LOAD", "|", "MASK_AVX256_SPLIT_UNALIGNED_STORE", "|", "MASK_CLD", "|", "MASK_NO_FANCY_MATH_387", "|", "MASK_IEEE_FP", "|", "MASK_INLINE_ALL_STRINGOPS", "|", "MASK_INLINE_STRINGOPS_DYNAMICALLY", "|", "MASK_RECIP", "|", "MASK_STACK_PROBE", "|", "MASK_STV", "|", "MASK_TLS_DIRECT_SEG_REFS", "|", "MASK_VZEROUPPER", "|", "MASK_NO_PUSH_ARGS", "|", "MASK_OMIT_LEAF_FRAME_POINTER", ")", ";", "if", "(", "!", "callee_tree", ")", "callee_tree", "=", "target_option_default_node", ";", "if", "(", "!", "caller_tree", ")", "caller_tree", "=", "target_option_default_node", ";", "if", "(", "callee_tree", "==", "caller_tree", ")", "return", "true", ";", "struct", "cl_target_option", "*", "caller_opts", "=", "TREE_TARGET_OPTION", "(", "caller_tree", ")", ";", "struct", "cl_target_option", "*", "callee_opts", "=", "TREE_TARGET_OPTION", "(", "callee_tree", ")", ";", "bool", "ret", "=", "false", ";", "bool", "always_inline", "=", "(", "DECL_DISREGARD_INLINE_LIMITS", "(", "callee", ")", "&&", "lookup_attribute", "(", "\"always_inline\"", ",", "DECL_ATTRIBUTES", "(", "callee", ")", ")", ")", ";", "if", "(", "TARGET_GENERAL_REGS_ONLY_P", "(", "callee_opts", "->", "x_ix86_target_flags", ")", ")", "always_inline_safe_mask", "|=", "MASK_80387", ";", "cgraph_node", "*", "callee_node", "=", "cgraph_node", "::", "get", "(", "callee", ")", ";", "if", "(", "(", "(", "caller_opts", "->", "x_ix86_isa_flags", "&", "callee_opts", "->", "x_ix86_isa_flags", ")", "!=", "callee_opts", "->", "x_ix86_isa_flags", ")", "||", "(", "(", "caller_opts", "->", "x_ix86_isa_flags2", "&", "callee_opts", "->", "x_ix86_isa_flags2", ")", "!=", "callee_opts", "->", "x_ix86_isa_flags2", ")", ")", "ret", "=", "false", ";", "else", "if", "(", "(", "!", "always_inline", "&&", "caller_opts", "->", "x_target_flags", "!=", "callee_opts", "->", "x_target_flags", ")", "||", "(", "caller_opts", "->", "x_target_flags", "&", "~", "always_inline_safe_mask", ")", "!=", "(", "callee_opts", "->", "x_target_flags", "&", "~", "always_inline_safe_mask", ")", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "arch", "!=", "callee_opts", "->", "arch", ")", "ret", "=", "false", ";", "else", "if", "(", "!", "always_inline", "&&", "caller_opts", "->", "tune", "!=", "callee_opts", "->", "tune", ")", "ret", "=", "false", ";", "else", "if", "(", "caller_opts", "->", "x_ix86_fpmath", "!=", "callee_opts", "->", "x_ix86_fpmath", "&&", "(", "!", "ipa_fn_summaries", "||", "ipa_fn_summaries", "->", "get", "(", "callee_node", ")", "==", "NULL", "||", "ipa_fn_summaries", "->", "get", "(", "callee_node", ")", "->", "fp_expressions", ")", ")", "ret", "=", "false", ";", "else", "if", "(", "!", "always_inline", "&&", "caller_opts", "->", "branch_cost", "!=", "callee_opts", "->", "branch_cost", ")", "ret", "=", "false", ";", "else", "ret", "=", "true", ";", "return", "ret", ";", "}", ""], "natrual_language": ["Hook", "to", "determine", "if", "one", "function", "can", "safely", "inline", "another", "."], "TS_V_token": ["i386", "\"always_inline\""], "File": "i386", "Func": "ix86_can_inline_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38876, "Length": 337}
{"ground_truth": ["", "bool", "ix86_can_use_return_insn_p", "(", "void", ")", "{", "if", "(", "ix86_function_ms_hook_prologue", "(", "current_function_decl", ")", ")", "return", "false", ";", "if", "(", "ix86_function_naked", "(", "current_function_decl", ")", ")", "return", "false", ";", "if", "(", "!", "reload_completed", "||", "frame_pointer_needed", "||", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "return", "0", ";", "if", "(", "crtl", "->", "args", ".", "pops_args", "&&", "crtl", "->", "args", ".", "size", ">=", "32768", ")", "return", "0", ";", "struct", "ix86_frame", "&", "frame", "=", "cfun", "->", "machine", "->", "frame", ";", "return", "(", "frame", ".", "stack_pointer_offset", "==", "UNITS_PER_WORD", "&&", "(", "frame", ".", "nregs", "+", "frame", ".", "nsseregs", ")", "==", "0", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "it", "is", "appropriate", "to", "emit", "`", "ret", "'", "instructions", "in", "the", "body", "of", "a", "function", ".", "Do", "this", "only", "if", "the", "epilogue", "is", "simple", ",", "needing", "a", "couple", "of", "insns", ".", "Prior", "to", "reloading", ",", "we", "ca", "n't", "tell", "how", "many", "registers", "must", "be", "saved", ",", "so", "return", "0", "then", ".", "Return", "0", "if", "there", "is", "no", "frame", "marker", "to", "de-allocate", "."], "TS_V_token": ["i386", "0", "32768", "0", "0"], "File": "i386", "Func": "ix86_can_use_return_insn_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38877, "Length": 96}
{"ground_truth": ["", "static", "machine_mode", "ix86_cc_modes_compatible", "(", "machine_mode", "m1", ",", "machine_mode", "m2", ")", "{", "if", "(", "m1", "==", "m2", ")", "return", "m1", ";", "if", "(", "GET_MODE_CLASS", "(", "m1", ")", "!=", "MODE_CC", "||", "GET_MODE_CLASS", "(", "m2", ")", "!=", "MODE_CC", ")", "return", "VOIDmode", ";", "if", "(", "(", "m1", "==", "CCGCmode", "&&", "m2", "==", "CCGOCmode", ")", "||", "(", "m1", "==", "CCGOCmode", "&&", "m2", "==", "CCGCmode", ")", ")", "return", "CCGCmode", ";", "if", "(", "(", "m1", "==", "CCNOmode", "&&", "m2", "==", "CCGOCmode", ")", "||", "(", "m1", "==", "CCGOCmode", "&&", "m2", "==", "CCNOmode", ")", ")", "return", "CCNOmode", ";", "if", "(", "m1", "==", "CCZmode", "&&", "(", "m2", "==", "CCGCmode", "||", "m2", "==", "CCGOCmode", "||", "m2", "==", "CCNOmode", ")", ")", "return", "m2", ";", "else", "if", "(", "m2", "==", "CCZmode", "&&", "(", "m1", "==", "CCGCmode", "||", "m1", "==", "CCGOCmode", "||", "m1", "==", "CCNOmode", ")", ")", "return", "m1", ";", "switch", "(", "m1", ")", "{", "default", ":", "gcc_unreachable", "(", ")", ";", "case", "E_CCmode", ":", "case", "E_CCGCmode", ":", "case", "E_CCGOCmode", ":", "case", "E_CCNOmode", ":", "case", "E_CCAmode", ":", "case", "E_CCCmode", ":", "case", "E_CCOmode", ":", "case", "E_CCPmode", ":", "case", "E_CCSmode", ":", "case", "E_CCZmode", ":", "switch", "(", "m2", ")", "{", "default", ":", "return", "VOIDmode", ";", "case", "E_CCmode", ":", "case", "E_CCGCmode", ":", "case", "E_CCGOCmode", ":", "case", "E_CCNOmode", ":", "case", "E_CCAmode", ":", "case", "E_CCCmode", ":", "case", "E_CCOmode", ":", "case", "E_CCPmode", ":", "case", "E_CCSmode", ":", "case", "E_CCZmode", ":", "return", "CCmode", ";", "}", "case", "E_CCFPmode", ":", "return", "VOIDmode", ";", "}", "}", ""], "natrual_language": ["If", "two", "condition", "code", "modes", "are", "compatible", ",", "return", "a", "condition", "code", "mode", "which", "is", "compatible", "with", "both", ".", "Otherwise", ",", "return", "VOIDmode", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_cc_modes_compatible", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38878, "Length": 229}
{"ground_truth": ["", "enum", "calling_abi", "ix86_cfun_abi", "(", "void", ")", "{", "return", "cfun", "?", "cfun", "->", "machine", "->", "call_abi", ":", "ix86_abi", ";", "}", ""], "natrual_language": ["Returns", "value", "SYSV_ABI", ",", "MS_ABI", "dependent", "on", "cfun", ",", "specifying", "the", "call", "abi", "used", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_cfun_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38879, "Length": 19}
{"ground_truth": ["", "static", "bool", "ix86_check_avx_upper_register", "(", "const_rtx", "exp", ")", "{", "return", "(", "SSE_REG_P", "(", "exp", ")", "&&", "!", "EXT_REX_SSE_REG_P", "(", "exp", ")", "&&", "GET_MODE_BITSIZE", "(", "GET_MODE", "(", "exp", ")", ")", ">", "128", ")", ";", "}", ""], "natrual_language": ["Check", "if", "a", "256bit", "or", "512", "bit", "AVX", "register", "is", "referenced", "inside", "of", "EXP", "."], "TS_V_token": ["i386", "128"], "File": "i386", "Func": "ix86_check_avx_upper_register", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38880, "Length": 33}
{"ground_truth": ["", "static", "void", "ix86_check_avx_upper_stores", "(", "rtx", "dest", ",", "const_rtx", ",", "void", "*", "data", ")", "{", "if", "(", "ix86_check_avx_upper_register", "(", "dest", ")", ")", "{", "bool", "*", "used", "=", "(", "bool", "*", ")", "data", ";", "*", "used", "=", "true", ";", "}", "}", ""], "natrual_language": ["Check", "if", "a", "256bit", "or", "512bit", "AVX", "register", "is", "referenced", "in", "stores", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_check_avx_upper_stores", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38881, "Length": 39}
{"ground_truth": ["", "bool", "ix86_check_movabs", "(", "rtx", "insn", ",", "int", "opnum", ")", "{", "rtx", "set", ",", "mem", ";", "set", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "mem", "=", "XEXP", "(", "set", ",", "opnum", ")", ";", "while", "(", "SUBREG_P", "(", "mem", ")", ")", "mem", "=", "SUBREG_REG", "(", "mem", ")", ";", "gcc_assert", "(", "MEM_P", "(", "mem", ")", ")", ";", "return", "volatile_ok", "||", "!", "MEM_VOLATILE_P", "(", "mem", ")", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "OPNUM", "'s", "MEM", "should", "be", "matched", "in", "movabs", "*", "patterns", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386", "Func": "ix86_check_movabs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38882, "Length": 93}
{"ground_truth": ["", "bool", "ix86_check_no_addr_space", "(", "rtx", "insn", ")", "{", "subrtx_var_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX_VAR", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "ALL", ")", "{", "rtx", "x", "=", "*", "iter", ";", "if", "(", "MEM_P", "(", "x", ")", "&&", "!", "ADDR_SPACE_GENERIC_P", "(", "MEM_ADDR_SPACE", "(", "x", ")", ")", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Return", "false", "if", "INSN", "contains", "a", "MEM", "with", "a", "non-default", "address", "space", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_check_no_addr_space", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38883, "Length": 56}
{"ground_truth": ["", "static", "bool", "ix86_class_likely_spilled_p", "(", "reg_class_t", "rclass", ")", "{", "switch", "(", "rclass", ")", "{", "case", "AREG", ":", "case", "DREG", ":", "case", "CREG", ":", "case", "BREG", ":", "case", "AD_REGS", ":", "case", "SIREG", ":", "case", "DIREG", ":", "case", "SSE_FIRST_REG", ":", "case", "FP_TOP_REG", ":", "case", "FP_SECOND_REG", ":", "return", "true", ";", "default", ":", "break", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Implement", "TARGET_CLASS_LIKELY_SPILLED_P", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_class_likely_spilled_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38884, "Length": 55}
{"ground_truth": ["", "static", "unsigned", "char", "ix86_class_max_nregs", "(", "reg_class_t", "rclass", ",", "machine_mode", "mode", ")", "{", "if", "(", "MAYBE_INTEGER_CLASS_P", "(", "rclass", ")", ")", "{", "if", "(", "mode", "==", "XFmode", ")", "return", "(", "TARGET_64BIT", "?", "2", ":", "3", ")", ";", "else", "if", "(", "mode", "==", "XCmode", ")", "return", "(", "TARGET_64BIT", "?", "4", ":", "6", ")", ";", "else", "return", "CEIL", "(", "GET_MODE_SIZE", "(", "mode", ")", ",", "UNITS_PER_WORD", ")", ";", "}", "else", "{", "if", "(", "COMPLEX_MODE_P", "(", "mode", ")", ")", "return", "2", ";", "else", "return", "1", ";", "}", "}", ""], "natrual_language": ["Implement", "the", "TARGET_CLASS_MAX_NREGS", "hook", ".", "On", "the", "80386", ",", "this", "is", "the", "size", "of", "MODE", "in", "words", ",", "except", "in", "the", "FP", "regs", ",", "where", "a", "single", "reg", "is", "always", "enough", "."], "TS_V_token": ["i386", "2", "3", "4", "6", "2", "1"], "File": "i386", "Func": "ix86_class_max_nregs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38885, "Length": 82}
{"ground_truth": ["", "static", "bool", "ix86_compat_aligned_value_p", "(", "const_tree", "type", ")", "{", "machine_mode", "mode", "=", "TYPE_MODE", "(", "type", ")", ";", "if", "(", "(", "(", "TARGET_SSE", "&&", "SSE_REG_MODE_P", "(", "mode", ")", ")", "||", "mode", "==", "TDmode", "||", "mode", "==", "TFmode", "||", "mode", "==", "TCmode", ")", "&&", "(", "!", "TYPE_USER_ALIGN", "(", "type", ")", "||", "TYPE_ALIGN", "(", "type", ")", ">", "128", ")", ")", "return", "true", ";", "if", "(", "TYPE_ALIGN", "(", "type", ")", "<", "128", ")", "return", "false", ";", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "switch", "(", "TREE_CODE", "(", "type", ")", ")", "{", "case", "RECORD_TYPE", ":", "case", "UNION_TYPE", ":", "case", "QUAL_UNION_TYPE", ":", "{", "tree", "field", ";", "for", "(", "field", "=", "TYPE_FIELDS", "(", "type", ")", ";", "field", ";", "field", "=", "DECL_CHAIN", "(", "field", ")", ")", "{", "if", "(", "TREE_CODE", "(", "field", ")", "==", "FIELD_DECL", "&&", "ix86_compat_aligned_value_p", "(", "TREE_TYPE", "(", "field", ")", ")", ")", "return", "true", ";", "}", "break", ";", "}", "case", "ARRAY_TYPE", ":", "if", "(", "ix86_compat_aligned_value_p", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "return", "true", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "when", "TYPE", "should", "be", "128bit", "aligned", "for", "32bit", "argument", "passing", "ABI", ".", "XXX", ":", "This", "function", "is", "obsolete", "and", "is", "only", "used", "for", "checking", "psABI", "compatibility", "with", "previous", "versions", "of", "GCC", "."], "TS_V_token": ["i386", "128", "128"], "File": "i386", "Func": "ix86_compat_aligned_value_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38886, "Length": 173}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_compat_function_arg_boundary", "(", "machine_mode", "mode", ",", "const_tree", "type", ",", "unsigned", "int", "align", ")", "{", "if", "(", "!", "TARGET_64BIT", "&&", "mode", "!=", "TDmode", "&&", "mode", "!=", "TFmode", ")", "{", "if", "(", "!", "type", ")", "{", "if", "(", "!", "(", "TARGET_SSE", "&&", "SSE_REG_MODE_P", "(", "mode", ")", ")", ")", "align", "=", "PARM_BOUNDARY", ";", "}", "else", "{", "if", "(", "!", "ix86_compat_aligned_value_p", "(", "type", ")", ")", "align", "=", "PARM_BOUNDARY", ";", "}", "}", "if", "(", "align", ">", "BIGGEST_ALIGNMENT", ")", "align", "=", "BIGGEST_ALIGNMENT", ";", "return", "align", ";", "}", ""], "natrual_language": ["Return", "the", "alignment", "boundary", "for", "MODE", "and", "TYPE", "with", "alignment", "ALIGN", ".", "XXX", ":", "This", "function", "is", "obsolete", "and", "is", "only", "used", "for", "checking", "psABI", "compatibility", "with", "previous", "versions", "of", "GCC", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_compat_function_arg_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38887, "Length": 83}
{"ground_truth": ["", "static", "int", "ix86_comp_type_attributes", "(", "const_tree", "type1", ",", "const_tree", "type2", ")", "{", "unsigned", "int", "ccvt1", ",", "ccvt2", ";", "if", "(", "TREE_CODE", "(", "type1", ")", "!=", "FUNCTION_TYPE", "&&", "TREE_CODE", "(", "type1", ")", "!=", "METHOD_TYPE", ")", "return", "1", ";", "ccvt1", "=", "ix86_get_callcvt", "(", "type1", ")", ";", "ccvt2", "=", "ix86_get_callcvt", "(", "type2", ")", ";", "if", "(", "ccvt1", "!=", "ccvt2", ")", "return", "0", ";", "if", "(", "ix86_function_regparm", "(", "type1", ",", "NULL", ")", "!=", "ix86_function_regparm", "(", "type2", ",", "NULL", ")", ")", "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": ["i386", "1", "0", "0", "1"], "File": "i386", "Func": "ix86_comp_type_attributes", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38888, "Length": 82}
{"ground_truth": ["", "static", "void", "ix86_conditional_register_usage", "(", "void", ")", "{", "int", "i", ",", "c_mask", ";", "if", "(", "cfun", "&&", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "!", "fixed_regs", "[", "i", "]", "&&", "!", "ix86_function_value_regno_p", "(", "i", ")", ")", "call_used_regs", "[", "i", "]", "=", "0", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "for", "(", "i", "=", "FIRST_REX_INT_REG", ";", "i", "<=", "LAST_REX_INT_REG", ";", "i", "++", ")", "CLEAR_HARD_REG_BIT", "(", "accessible_reg_set", ",", "i", ")", ";", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "CLEAR_HARD_REG_BIT", "(", "accessible_reg_set", ",", "i", ")", ";", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "CLEAR_HARD_REG_BIT", "(", "accessible_reg_set", ",", "i", ")", ";", "}", "c_mask", "=", "CALL_USED_REGISTERS_MASK", "(", "TARGET_64BIT_MS_ABI", ")", ";", "CLEAR_HARD_REG_SET", "(", "reg_class_contents", "[", "(", "int", ")", "CLOBBERED_REGS", "]", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "{", "if", "(", "call_used_regs", "[", "i", "]", ">", "1", ")", "call_used_regs", "[", "i", "]", "=", "!", "!", "(", "call_used_regs", "[", "i", "]", "&", "c_mask", ")", ";", "if", "(", "TEST_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "GENERAL_REGS", "]", ",", "i", ")", "&&", "call_used_regs", "[", "i", "]", ")", "SET_HARD_REG_BIT", "(", "reg_class_contents", "[", "(", "int", ")", "CLOBBERED_REGS", "]", ",", "i", ")", ";", "}", "if", "(", "!", "TARGET_MMX", ")", "accessible_reg_set", "&=", "~", "reg_class_contents", "[", "MMX_REGS", "]", ";", "if", "(", "!", "TARGET_SSE", ")", "accessible_reg_set", "&=", "~", "reg_class_contents", "[", "ALL_SSE_REGS", "]", ";", "if", "(", "!", "(", "TARGET_80387", "||", "TARGET_FLOAT_RETURNS_IN_80387", ")", ")", "accessible_reg_set", "&=", "~", "reg_class_contents", "[", "FLOAT_REGS", "]", ";", "if", "(", "!", "TARGET_AVX512F", ")", "{", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "CLEAR_HARD_REG_BIT", "(", "accessible_reg_set", ",", "i", ")", ";", "accessible_reg_set", "&=", "~", "reg_class_contents", "[", "ALL_MASK_REGS", "]", ";", "}", "}", ""], "natrual_language": ["Update", "register", "usage", "after", "having", "seen", "the", "compiler", "flags", "."], "TS_V_token": ["i386", "0", "0", "0", "1"], "File": "i386", "Func": "ix86_conditional_register_usage", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38889, "Length": 293}
{"ground_truth": ["", "static", "HOST_WIDE_INT", "ix86_constant_alignment", "(", "const_tree", "exp", ",", "HOST_WIDE_INT", "align", ")", "{", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "REAL_CST", "||", "TREE_CODE", "(", "exp", ")", "==", "VECTOR_CST", "||", "TREE_CODE", "(", "exp", ")", "==", "INTEGER_CST", ")", "{", "machine_mode", "mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "exp", ")", ")", ";", "HOST_WIDE_INT", "mode_align", "=", "ix86_static_rtx_alignment", "(", "mode", ")", ";", "return", "MAX", "(", "mode_align", ",", "align", ")", ";", "}", "else", "if", "(", "!", "optimize_size", "&&", "TREE_CODE", "(", "exp", ")", "==", "STRING_CST", "&&", "TREE_STRING_LENGTH", "(", "exp", ")", ">=", "31", "&&", "align", "<", "BITS_PER_WORD", ")", "return", "BITS_PER_WORD", ";", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "given", "to", "a", "constant", "that", "is", "being", "placed", "in", "memory", ".", "EXP", "is", "the", "constant", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "function", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["i386", "31"], "File": "i386", "Func": "ix86_constant_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38890, "Length": 94}
{"ground_truth": ["", "static", "bool", "ix86_const_not_ok_for_debug_p", "(", "rtx", "x", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", "&&", "XINT", "(", "x", ",", "1", ")", "!=", "UNSPEC_GOTOFF", ")", "return", "true", ";", "if", "(", "SYMBOL_REF_P", "(", "x", ")", "&&", "strcmp", "(", "XSTR", "(", "x", ",", "0", ")", ",", "GOT_SYMBOL_NAME", ")", "==", "0", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "X", "should", "n't", "be", "emitted", "into", "the", "debug", "info", ".", "Disallow", "UNSPECs", "other", "than", "@", "gotoff", "-", "we", "ca", "n't", "emit", "_GLOBAL_OFFSET_TABLE_", "symbol", "easily", "into", "the", ".debug_info", "section", ",", "so", "we", "need", "not", "to", "delegitimize", ",", "but", "instead", "assemble", "as", "@", "gotoff", ".", "Disallow", "_GLOBAL_OFFSET_TABLE_", "SYMBOL_REF", "-", "the", "assembler", "magically", "assembles", "that", "as", "_GLOBAL_OFFSET_TABLE_-", ".", "expression", "."], "TS_V_token": ["i386", "1", "0", "0"], "File": "i386", "Func": "ix86_const_not_ok_for_debug_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38891, "Length": 57}
{"ground_truth": ["", "static", "bool", "ix86_contains_aligned_value_p", "(", "const_tree", "type", ")", "{", "machine_mode", "mode", "=", "TYPE_MODE", "(", "type", ")", ";", "if", "(", "mode", "==", "XFmode", "||", "mode", "==", "XCmode", ")", "return", "false", ";", "if", "(", "TYPE_ALIGN", "(", "type", ")", "<", "128", ")", "return", "false", ";", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", ")", "{", "switch", "(", "TREE_CODE", "(", "type", ")", ")", "{", "case", "RECORD_TYPE", ":", "case", "UNION_TYPE", ":", "case", "QUAL_UNION_TYPE", ":", "{", "tree", "field", ";", "for", "(", "field", "=", "TYPE_FIELDS", "(", "type", ")", ";", "field", ";", "field", "=", "DECL_CHAIN", "(", "field", ")", ")", "{", "if", "(", "TREE_CODE", "(", "field", ")", "==", "FIELD_DECL", "&&", "ix86_contains_aligned_value_p", "(", "TREE_TYPE", "(", "field", ")", ")", ")", "return", "true", ";", "}", "break", ";", "}", "case", "ARRAY_TYPE", ":", "if", "(", "ix86_contains_aligned_value_p", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "return", "true", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "return", "TYPE_ALIGN", "(", "type", ")", ">=", "128", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "when", "TYPE", "should", "be", "128bit", "aligned", "for", "32bit", "argument", "passing", "ABI", "."], "TS_V_token": ["i386", "128", "128"], "File": "i386", "Func": "ix86_contains_aligned_value_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38892, "Length": 152}
{"ground_truth": ["", "static", "int", "ix86_count_insn", "(", "basic_block", "bb", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "int", "min_prev_count", ";", "min_prev_count", "=", "4", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "preds", ")", "{", "edge", "prev_e", ";", "edge_iterator", "prev_ei", ";", "if", "(", "e", "->", "src", "==", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", ")", "{", "min_prev_count", "=", "0", ";", "break", ";", "}", "FOR_EACH_EDGE", "(", "prev_e", ",", "prev_ei", ",", "e", "->", "src", "->", "preds", ")", "{", "if", "(", "prev_e", "->", "src", "==", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", ")", "{", "int", "count", "=", "ix86_count_insn_bb", "(", "e", "->", "src", ")", ";", "if", "(", "count", "<", "min_prev_count", ")", "min_prev_count", "=", "count", ";", "break", ";", "}", "}", "}", "if", "(", "min_prev_count", "<", "4", ")", "min_prev_count", "+=", "ix86_count_insn_bb", "(", "bb", ")", ";", "return", "min_prev_count", ";", "}", ""], "natrual_language": ["Count", "the", "minimum", "number", "of", "instructions", "in", "code", "path", "in", "BB", ".", "Return", "4", "if", "the", "number", "of", "instructions", ">", "=", "4", "."], "TS_V_token": ["i386", "4", "0", "4"], "File": "i386", "Func": "ix86_count_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38893, "Length": 124}
{"ground_truth": ["", "static", "int", "ix86_count_insn_bb", "(", "basic_block", "bb", ")", "{", "rtx_insn", "*", "insn", ";", "int", "insn_count", "=", "0", ";", "FOR_BB_INSNS", "(", "bb", ",", "insn", ")", "{", "if", "(", "JUMP_P", "(", "insn", ")", "&&", "ANY_RETURN_P", "(", "PATTERN", "(", "insn", ")", ")", ")", "break", ";", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", "&&", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "!=", "USE", "&&", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "!=", "CLOBBER", ")", "{", "insn_count", "++", ";", "if", "(", "insn_count", ">=", "4", ")", "return", "insn_count", ";", "}", "}", "return", "insn_count", ";", "}", ""], "natrual_language": ["Count", "the", "minimum", "number", "of", "instructions", "in", "BB", ".", "Return", "4", "if", "the", "number", "of", "instructions", ">", "=", "4", "."], "TS_V_token": ["i386", "0", "4"], "File": "i386", "Func": "ix86_count_insn_bb", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38894, "Length": 87}
{"ground_truth": ["", "static", "machine_mode", "ix86_c_mode_for_suffix", "(", "char", "suffix", ")", "{", "if", "(", "suffix", "==", "'q'", ")", "return", "TFmode", ";", "if", "(", "suffix", "==", "'w'", ")", "return", "XFmode", ";", "return", "VOIDmode", ";", "}", ""], "natrual_language": ["Target", "hook", "for", "c_mode_for_suffix", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_c_mode_for_suffix", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38895, "Length": 30}
{"ground_truth": ["", "int", "ix86_data_alignment", "(", "tree", "type", ",", "unsigned", "int", "align", ",", "bool", "opt", ")", "{", "unsigned", "int", "max_align_compat", "=", "MIN", "(", "256", ",", "MAX_OFILE_ALIGNMENT", ")", ";", "unsigned", "int", "max_align", "=", "MIN", "(", "(", "unsigned", ")", "ix86_tune_cost", "->", "prefetch_block", "*", "8", ",", "MAX_OFILE_ALIGNMENT", ")", ";", "if", "(", "max_align", "<", "BITS_PER_WORD", ")", "max_align", "=", "BITS_PER_WORD", ";", "switch", "(", "ix86_align_data_type", ")", "{", "case", "ix86_align_data_type_abi", ":", "opt", "=", "false", ";", "break", ";", "case", "ix86_align_data_type_compat", ":", "max_align", "=", "BITS_PER_WORD", ";", "break", ";", "case", "ix86_align_data_type_cacheline", ":", "break", ";", "}", "if", "(", "TARGET_IAMCU", ")", "align", "=", "iamcu_alignment", "(", "type", ",", "align", ")", ";", "if", "(", "opt", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", ")", "{", "if", "(", "wi", "::", "geu_p", "(", "wi", "::", "to_wide", "(", "TYPE_SIZE", "(", "type", ")", ")", ",", "max_align_compat", ")", "&&", "align", "<", "max_align_compat", ")", "align", "=", "max_align_compat", ";", "if", "(", "wi", "::", "geu_p", "(", "wi", "::", "to_wide", "(", "TYPE_SIZE", "(", "type", ")", ")", ",", "max_align", ")", "&&", "align", "<", "max_align", ")", "align", "=", "max_align", ";", "}", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "(", "opt", "?", "AGGREGATE_TYPE_P", "(", "type", ")", ":", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "geu_p", "(", "wi", "::", "to_wide", "(", "TYPE_SIZE", "(", "type", ")", ")", ",", "128", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "!", "opt", ")", "return", "align", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "||", "TYPE_MODE", "(", "type", ")", "==", "TCmode", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "alignment", "for", "a", "static", "variable", ".", "TYPE", "is", "the", "data", "type", ",", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", ".", "The", "value", "of", "this", "function", "is", "used", "instead", "of", "that", "alignment", "to", "align", "the", "object", "."], "TS_V_token": ["i386", "256", "8", "128", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i386", "Func": "ix86_data_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38896, "Length": 484}
{"ground_truth": ["", "static", "rtx", "ix86_delegitimize_address", "(", "rtx", "x", ")", "{", "return", "ix86_delegitimize_address_1", "(", "x", ",", "false", ")", ";", "}", ""], "natrual_language": ["In", "the", "name", "of", "slightly", "smaller", "debug", "output", ",", "and", "to", "cater", "to", "general", "assembler", "lossage", ",", "recognize", "PIC+GOTOFF", "and", "turn", "it", "back", "into", "a", "direct", "symbol", "reference", ".", "On", "Darwin", ",", "this", "is", "necessary", "to", "avoid", "a", "crash", ",", "because", "Darwin", "has", "a", "different", "PIC", "label", "for", "each", "routine", "but", "the", "DWARF", "debugging", "information", "is", "not", "associated", "with", "any", "particular", "routine", ",", "so", "it", "'s", "necessary", "to", "remove", "references", "to", "the", "PIC", "label", "from", "RTL", "stored", "by", "the", "DWARF", "output", "code", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_delegitimize_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38897, "Length": 17}
{"ground_truth": ["", "static", "rtx", "ix86_delegitimize_tls_address", "(", "rtx", "orig_x", ")", "{", "rtx", "x", "=", "orig_x", ",", "unspec", ";", "struct", "ix86_address", "addr", ";", "if", "(", "!", "TARGET_TLS_DIRECT_SEG_REFS", ")", "return", "orig_x", ";", "if", "(", "MEM_P", "(", "x", ")", ")", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "PLUS", "||", "GET_MODE", "(", "x", ")", "!=", "Pmode", ")", "return", "orig_x", ";", "if", "(", "ix86_decompose_address", "(", "x", ",", "&", "addr", ")", "==", "0", "||", "addr", ".", "seg", "!=", "DEFAULT_TLS_SEG_REG", "||", "addr", ".", "disp", "==", "NULL_RTX", "||", "GET_CODE", "(", "addr", ".", "disp", ")", "!=", "CONST", ")", "return", "orig_x", ";", "unspec", "=", "XEXP", "(", "addr", ".", "disp", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "unspec", ")", "==", "PLUS", "&&", "CONST_INT_P", "(", "XEXP", "(", "unspec", ",", "1", ")", ")", ")", "unspec", "=", "XEXP", "(", "unspec", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "unspec", ")", "!=", "UNSPEC", "||", "XINT", "(", "unspec", ",", "1", ")", "!=", "UNSPEC_NTPOFF", ")", "return", "orig_x", ";", "x", "=", "XVECEXP", "(", "unspec", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", ")", ";", "if", "(", "unspec", "!=", "XEXP", "(", "addr", ".", "disp", ",", "0", ")", ")", "x", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "x", ",", "XEXP", "(", "XEXP", "(", "addr", ".", "disp", ",", "0", ")", ",", "1", ")", ")", ";", "if", "(", "addr", ".", "index", ")", "{", "rtx", "idx", "=", "addr", ".", "index", ";", "if", "(", "addr", ".", "scale", "!=", "1", ")", "idx", "=", "gen_rtx_MULT", "(", "Pmode", ",", "idx", ",", "GEN_INT", "(", "addr", ".", "scale", ")", ")", ";", "x", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "idx", ",", "x", ")", ";", "}", "if", "(", "addr", ".", "base", ")", "x", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "addr", ".", "base", ",", "x", ")", ";", "if", "(", "MEM_P", "(", "orig_x", ")", ")", "x", "=", "replace_equiv_address_nv", "(", "orig_x", ",", "x", ")", ";", "return", "x", ";", "}", ""], "natrual_language": ["Helper", "function", "for", "ix86_delegitimize_address", ".", "Attempt", "to", "delegitimize", "TLS", "local-exec", "accesses", "."], "TS_V_token": ["i386", "0", "0", "0", "1", "0", "1", "0", "0", "0", "0", "1", "1"], "File": "i386", "Func": "ix86_delegitimize_tls_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38898, "Length": 304}
{"ground_truth": ["", "static", "void", "ix86_dependencies_evaluation_hook", "(", "rtx_insn", "*", "head", ",", "rtx_insn", "*", "tail", ")", "{", "rtx_insn", "*", "insn", ";", "rtx_insn", "*", "first_arg", "=", "NULL", ";", "if", "(", "reload_completed", ")", "return", ";", "while", "(", "head", "!=", "tail", "&&", "DEBUG_INSN_P", "(", "head", ")", ")", "head", "=", "NEXT_INSN", "(", "head", ")", ";", "for", "(", "insn", "=", "tail", ";", "insn", "!=", "head", ";", "insn", "=", "PREV_INSN", "(", "insn", ")", ")", "if", "(", "INSN_P", "(", "insn", ")", "&&", "CALL_P", "(", "insn", ")", ")", "{", "first_arg", "=", "add_parameter_dependencies", "(", "insn", ",", "head", ")", ";", "if", "(", "first_arg", ")", "{", "basic_block", "bb", "=", "BLOCK_FOR_INSN", "(", "insn", ")", ";", "int", "rgn", "=", "CONTAINING_RGN", "(", "bb", "->", "index", ")", ";", "int", "nr_blks", "=", "RGN_NR_BLOCKS", "(", "rgn", ")", ";", "if", "(", "nr_blks", ">", "1", "&&", "BLOCK_TO_BB", "(", "bb", "->", "index", ")", "!=", "0", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "preds", ")", "{", "if", "(", "rgn", "==", "CONTAINING_RGN", "(", "e", "->", "src", "->", "index", ")", "&&", "BLOCK_TO_BB", "(", "bb", "->", "index", ")", ">", "BLOCK_TO_BB", "(", "e", "->", "src", "->", "index", ")", ")", "add_dependee_for_func_arg", "(", "first_arg", ",", "e", "->", "src", ")", ";", "}", "}", "insn", "=", "first_arg", ";", "if", "(", "insn", "==", "head", ")", "break", ";", "}", "}", "else", "if", "(", "first_arg", ")", "avoid_func_arg_motion", "(", "first_arg", ",", "insn", ")", ";", "}", ""], "natrual_language": ["Hook", "for", "pre-reload", "schedule", "-", "avoid", "motion", "of", "function", "arguments", "passed", "in", "likely", "spilled", "HW", "registers", "."], "TS_V_token": ["i386", "1", "0"], "File": "i386", "Func": "ix86_dependencies_evaluation_hook", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38899, "Length": 217}
{"ground_truth": ["", "bool", "ix86_dep_by_shift_count", "(", "const_rtx", "set_insn", ",", "const_rtx", "use_insn", ")", "{", "return", "ix86_dep_by_shift_count_body", "(", "PATTERN", "(", "set_insn", ")", ",", "PATTERN", "(", "use_insn", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "destination", "reg", "of", "SET_INSN", "is", "shift", "count", "of", "USE_INSN", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_dep_by_shift_count", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38900, "Length": 25}
{"ground_truth": ["", "static", "bool", "ix86_dep_by_shift_count_body", "(", "const_rtx", "set_body", ",", "const_rtx", "use_body", ")", "{", "rtx", "set_dest", ";", "rtx", "shift_rtx", ";", "int", "i", ";", "switch", "(", "GET_CODE", "(", "set_body", ")", ")", "{", "case", "SET", ":", "set_dest", "=", "SET_DEST", "(", "set_body", ")", ";", "if", "(", "!", "set_dest", "||", "!", "REG_P", "(", "set_dest", ")", ")", "return", "false", ";", "break", ";", "case", "PARALLEL", ":", "for", "(", "i", "=", "XVECLEN", "(", "set_body", ",", "0", ")", "-", "1", ";", "i", ">=", "0", ";", "i", "--", ")", "if", "(", "ix86_dep_by_shift_count_body", "(", "XVECEXP", "(", "set_body", ",", "0", ",", "i", ")", ",", "use_body", ")", ")", "return", "true", ";", "default", ":", "return", "false", ";", "}", "switch", "(", "GET_CODE", "(", "use_body", ")", ")", "{", "case", "SET", ":", "shift_rtx", "=", "XEXP", "(", "use_body", ",", "1", ")", ";", "break", ";", "case", "PARALLEL", ":", "for", "(", "i", "=", "XVECLEN", "(", "use_body", ",", "0", ")", "-", "1", ";", "i", ">=", "0", ";", "i", "--", ")", "if", "(", "ix86_dep_by_shift_count_body", "(", "set_body", ",", "XVECEXP", "(", "use_body", ",", "0", ",", "i", ")", ")", ")", "return", "true", ";", "default", ":", "return", "false", ";", "}", "if", "(", "shift_rtx", "&&", "(", "GET_CODE", "(", "shift_rtx", ")", "==", "ASHIFT", "||", "GET_CODE", "(", "shift_rtx", ")", "==", "LSHIFTRT", "||", "GET_CODE", "(", "shift_rtx", ")", "==", "ASHIFTRT", "||", "GET_CODE", "(", "shift_rtx", ")", "==", "ROTATE", "||", "GET_CODE", "(", "shift_rtx", ")", "==", "ROTATERT", ")", ")", "{", "rtx", "shift_count", "=", "XEXP", "(", "shift_rtx", ",", "1", ")", ";", "if", "(", "REG_P", "(", "shift_count", ")", ")", "{", "if", "(", "reload_completed", "&&", "true_regnum", "(", "set_dest", ")", "==", "true_regnum", "(", "shift_count", ")", ")", "return", "true", ";", "else", "if", "(", "REGNO", "(", "set_dest", ")", "==", "REGNO", "(", "shift_count", ")", ")", "return", "true", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "destination", "reg", "of", "SET_BODY", "is", "shift", "count", "of", "USE_BODY", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "1", "0", "1", "0", "0", "1"], "File": "i386", "Func": "ix86_dep_by_shift_count_body", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38901, "Length": 271}
{"ground_truth": ["", "static", "void", "ix86_destroy_cost_data", "(", "void", "*", "data", ")", "{", "free", "(", "data", ")", ";", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.destroy_cost_data", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_destroy_cost_data", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38902, "Length": 15}
{"ground_truth": ["", "static", "int", "ix86_dirflag_mode_needed", "(", "rtx_insn", "*", "insn", ")", "{", "if", "(", "CALL_P", "(", "insn", ")", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_NORMAL", ")", "return", "X86_DIRFLAG_ANY", ";", "else", "return", "TARGET_CLD", "?", "X86_DIRFLAG_ANY", ":", "X86_DIRFLAG_RESET", ";", "}", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "return", "X86_DIRFLAG_ANY", ";", "if", "(", "get_attr_type", "(", "insn", ")", "==", "TYPE_STR", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_NORMAL", ")", "return", "TARGET_CLD", "?", "X86_DIRFLAG_RESET", ":", "X86_DIRFLAG_ANY", ";", "else", "return", "X86_DIRFLAG_RESET", ";", "}", "return", "X86_DIRFLAG_ANY", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_dirflag_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38903, "Length": 87}
{"ground_truth": ["", "static", "int", "ix86_division_cost", "(", "const", "struct", "processor_costs", "*", "cost", ",", "enum", "machine_mode", "mode", ")", "{", "machine_mode", "inner_mode", "=", "mode", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "if", "(", "SSE_FLOAT_MODE_SSEMATH_OR_HF_P", "(", "mode", ")", ")", "return", "inner_mode", "==", "DFmode", "?", "cost", "->", "divsd", ":", "cost", "->", "divss", ";", "else", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "cost", "->", "fdiv", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "return", "ix86_vec_cost", "(", "mode", ",", "inner_mode", "==", "DFmode", "?", "cost", "->", "divsd", ":", "cost", "->", "divss", ")", ";", "else", "return", "cost", "->", "divide", "[", "MODE_INDEX", "(", "mode", ")", "]", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "multiplication", "in", "MODE", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_division_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38904, "Length": 106}
{"ground_truth": ["", "static", "bool", "ix86_eax_live_at_start_p", "(", "void", ")", "{", "return", "REGNO_REG_SET_P", "(", "df_get_live_out", "(", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", ")", ",", "0", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "EAX", "is", "live", "at", "the", "start", "of", "the", "function", ".", "Used", "by", "ix86_expand_prologue", "to", "determine", "if", "we", "need", "special", "help", "before", "calling", "allocate_stack_worker", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_eax_live_at_start_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38905, "Length": 22}
{"ground_truth": ["", "static", "void", "ix86_elim_entry_set_got", "(", "rtx", "reg", ")", "{", "basic_block", "bb", "=", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", "->", "next_bb", ";", "rtx_insn", "*", "c_insn", "=", "BB_HEAD", "(", "bb", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "c_insn", ")", ")", "c_insn", "=", "next_nonnote_nondebug_insn", "(", "c_insn", ")", ";", "if", "(", "c_insn", "&&", "NONJUMP_INSN_P", "(", "c_insn", ")", ")", "{", "rtx", "pat", "=", "PATTERN", "(", "c_insn", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", "{", "rtx", "vec", "=", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "vec", ")", "==", "SET", "&&", "XINT", "(", "XEXP", "(", "vec", ",", "1", ")", ",", "1", ")", "==", "UNSPEC_SET_GOT", "&&", "REGNO", "(", "XEXP", "(", "vec", ",", "0", ")", ")", "==", "REGNO", "(", "reg", ")", ")", "delete_insn", "(", "c_insn", ")", ";", "}", "}", "}", ""], "natrual_language": ["Delete", "SET_GOT", "right", "after", "entry", "block", "if", "it", "is", "allocated", "to", "reg", "."], "TS_V_token": ["i386", "0", "0", "1", "1", "0"], "File": "i386", "Func": "ix86_elim_entry_set_got", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38906, "Length": 128}
{"ground_truth": ["", "static", "void", "ix86_emit_leave", "(", "rtx_insn", "*", "insn", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "if", "(", "!", "insn", ")", "insn", "=", "emit_insn", "(", "gen_leave", "(", "word_mode", ")", ")", ";", "ix86_add_queued_cfa_restore_notes", "(", "insn", ")", ";", "gcc_assert", "(", "m", "->", "fs", ".", "fp_valid", ")", ";", "m", "->", "fs", ".", "sp_valid", "=", "true", ";", "m", "->", "fs", ".", "sp_realigned", "=", "false", ";", "m", "->", "fs", ".", "sp_offset", "=", "m", "->", "fs", ".", "fp_offset", "-", "UNITS_PER_WORD", ";", "m", "->", "fs", ".", "fp_valid", "=", "false", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "hard_frame_pointer_rtx", ")", "{", "m", "->", "fs", ".", "cfa_reg", "=", "stack_pointer_rtx", ";", "m", "->", "fs", ".", "cfa_offset", "=", "m", "->", "fs", ".", "sp_offset", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "m", "->", "fs", ".", "sp_offset", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "ix86_add_cfa_restore_note", "(", "insn", ",", "hard_frame_pointer_rtx", ",", "m", "->", "fs", ".", "fp_offset", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "and", "notes", "for", "the", "LEAVE", "instruction", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_emit_leave", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38907, "Length": 158}
{"ground_truth": ["", "static", "void", "ix86_emit_mode_set", "(", "int", "entity", ",", "int", "mode", ",", "int", "prev_mode", "ATTRIBUTE_UNUSED", ",", "HARD_REG_SET", "regs_live", "ATTRIBUTE_UNUSED", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "if", "(", "mode", "==", "X86_DIRFLAG_RESET", ")", "emit_insn", "(", "gen_cld", "(", ")", ")", ";", "break", ";", "case", "AVX_U128", ":", "if", "(", "mode", "==", "AVX_U128_CLEAN", ")", "ix86_expand_avx_vzeroupper", "(", ")", ";", "break", ";", "case", "I387_ROUNDEVEN", ":", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "if", "(", "mode", "!=", "I387_CW_ANY", "&&", "mode", "!=", "I387_CW_UNINITIALIZED", ")", "emit_i387_cw_initialization", "(", "mode", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Generate", "one", "or", "more", "insns", "to", "set", "ENTITY", "to", "MODE", ".", "HARD_REG_LIVE", "is", "the", "set", "of", "hard", "registers", "live", "at", "the", "point", "where", "the", "insn", "(", "s", ")", "are", "to", "be", "inserted", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_emit_mode_set", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38908, "Length": 94}
{"ground_truth": ["", "static", "void", "ix86_emit_probe_stack_range", "(", "HOST_WIDE_INT", "first", ",", "HOST_WIDE_INT", "size", ",", "const", "bool", "int_registers_saved", ")", "{", "const", "HOST_WIDE_INT", "probe_interval", "=", "get_probe_interval", "(", ")", ";", "if", "(", "size", "<=", "6", "*", "probe_interval", ")", "{", "HOST_WIDE_INT", "i", ";", "for", "(", "i", "=", "probe_interval", ";", "i", "<", "size", ";", "i", "+=", "probe_interval", ")", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "first", "+", "i", ")", ")", ")", ";", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "-", "(", "first", "+", "size", ")", ")", ")", ";", "}", "else", "{", "gcc_assert", "(", "int_registers_saved", ")", ";", "HOST_WIDE_INT", "rounded_size", ",", "last", ";", "struct", "scratch_reg", "sr", ";", "get_scratch_register_on_entry", "(", "&", "sr", ")", ";", "rounded_size", "=", "ROUND_DOWN", "(", "size", ",", "probe_interval", ")", ";", "emit_move_insn", "(", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "first", ")", ")", ";", "last", "=", "first", "+", "rounded_size", ";", "emit_insn", "(", "gen_probe_stack_range", "(", "Pmode", ",", "sr", ".", "reg", ",", "sr", ".", "reg", ",", "GEN_INT", "(", "-", "last", ")", ")", ")", ";", "if", "(", "size", "!=", "rounded_size", ")", "emit_stack_probe", "(", "plus_constant", "(", "Pmode", ",", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "sr", ".", "reg", ")", ",", "rounded_size", "-", "size", ")", ")", ";", "release_scratch_register_on_entry", "(", "&", "sr", ",", "size", ",", "true", ")", ";", "}", "emit_insn", "(", "gen_blockage", "(", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "probe", "a", "range", "of", "stack", "addresses", "from", "FIRST", "to", "FIRST+SIZE", ",", "inclusive", ".", "These", "are", "offsets", "from", "the", "current", "stack", "pointer", "."], "TS_V_token": ["i386", "6"], "File": "i386", "Func": "ix86_emit_probe_stack_range", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38909, "Length": 204}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ",", "bool", "maybe_eh_return", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "maybe_eh_return", ",", "true", ")", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ";", "rtx", "mem", ";", "rtx_insn", "*", "insn", ";", "mem", "=", "choose_baseaddr", "(", "cfa_offset", ",", "NULL", ")", ";", "mem", "=", "gen_frame_mem", "(", "word_mode", ",", "mem", ")", ";", "insn", "=", "emit_move_insn", "(", "reg", ",", "mem", ")", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "crtl", "->", "drap_reg", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "reg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "m", "->", "fs", ".", "drap_valid", "=", "true", ";", "}", "else", "ix86_add_cfa_restore_note", "(", "NULL", ",", "reg", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "POINTER", "+", "OFFSET", "."], "TS_V_token": ["i386", "0", "1"], "File": "i386", "Func": "ix86_emit_restore_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38910, "Length": 161}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_regs_using_pop", "(", "void", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "false", ",", "true", ")", ")", "ix86_emit_restore_reg_using_pop", "(", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ")", ";", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "POP", "insns", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_emit_restore_regs_using_pop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38911, "Length": 51}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_reg_using_pop", "(", "rtx", "reg", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx_insn", "*", "insn", "=", "emit_insn", "(", "gen_pop", "(", "reg", ")", ")", ";", "ix86_add_cfa_restore_note", "(", "insn", ",", "reg", ",", "m", "->", "fs", ".", "sp_offset", ")", ";", "m", "->", "fs", ".", "sp_offset", "-=", "UNITS_PER_WORD", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "crtl", "->", "drap_reg", "&&", "REGNO", "(", "reg", ")", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "reg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "m", "->", "fs", ".", "drap_valid", "=", "true", ";", "return", ";", "}", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "stack_pointer_rtx", ")", "{", "rtx", "x", "=", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "UNITS_PER_WORD", ")", ";", "x", "=", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "x", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_ADJUST_CFA", ",", "x", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "m", "->", "fs", ".", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "}", "if", "(", "reg", "==", "hard_frame_pointer_rtx", ")", "{", "m", "->", "fs", ".", "fp_valid", "=", "false", ";", "if", "(", "m", "->", "fs", ".", "cfa_reg", "==", "hard_frame_pointer_rtx", ")", "{", "m", "->", "fs", ".", "cfa_reg", "=", "stack_pointer_rtx", ";", "m", "->", "fs", ".", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "m", "->", "fs", ".", "cfa_offset", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "REG", "using", "a", "POP", "insn", "."], "TS_V_token": ["i386", "1", "1", "1"], "File": "i386", "Func": "ix86_emit_restore_reg_using_pop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38912, "Length": 231}
{"ground_truth": ["", "static", "void", "ix86_emit_restore_sse_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ",", "bool", "maybe_eh_return", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "maybe_eh_return", ",", "true", ")", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "V4SFmode", ",", "regno", ")", ";", "rtx", "mem", ";", "unsigned", "int", "align", "=", "GET_MODE_ALIGNMENT", "(", "V4SFmode", ")", ";", "mem", "=", "choose_baseaddr", "(", "cfa_offset", ",", "&", "align", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "V4SFmode", ",", "mem", ")", ";", "align", "=", "MIN", "(", "GET_MODE_ALIGNMENT", "(", "V4SFmode", ")", ",", "align", ")", ";", "gcc_assert", "(", "!", "(", "cfa_offset", "&", "(", "align", "/", "BITS_PER_UNIT", "-", "1", ")", ")", ")", ";", "set_mem_align", "(", "mem", ",", "align", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "reg", ",", "mem", ")", ")", ";", "ix86_add_cfa_restore_note", "(", "NULL", ",", "reg", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "GET_MODE_SIZE", "(", "V4SFmode", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "restore", "saved", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "0", "1"], "File": "i386", "Func": "ix86_emit_restore_sse_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38913, "Length": 149}
{"ground_truth": ["", "static", "void", "ix86_emit_save_regs", "(", "void", ")", "{", "unsigned", "int", "regno", ";", "rtx_insn", "*", "insn", ";", "for", "(", "regno", "=", "FIRST_PSEUDO_REGISTER", "-", "1", ";", "regno", "--", ">", "0", ";", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ",", "true", ")", ")", "{", "insn", "=", "emit_insn", "(", "gen_push", "(", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "in", "the", "prologue", "."], "TS_V_token": ["i386", "1", "0", "1"], "File": "i386", "Func": "ix86_emit_save_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38914, "Length": 70}
{"ground_truth": ["", "static", "void", "ix86_emit_save_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ",", "true", ")", ")", "{", "ix86_emit_save_reg_using_mov", "(", "word_mode", ",", "regno", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "UNITS_PER_WORD", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "restored", "from", "POINTER", "+", "OFFSET", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_emit_save_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38915, "Length": 57}
{"ground_truth": ["", "static", "void", "ix86_emit_save_reg_using_mov", "(", "machine_mode", "mode", ",", "unsigned", "int", "regno", ",", "HOST_WIDE_INT", "cfa_offset", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "reg", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "rtx", "mem", ",", "addr", ",", "base", ",", "insn", ";", "unsigned", "int", "align", "=", "GET_MODE_ALIGNMENT", "(", "mode", ")", ";", "addr", "=", "choose_baseaddr", "(", "cfa_offset", ",", "&", "align", ")", ";", "mem", "=", "gen_frame_mem", "(", "mode", ",", "addr", ")", ";", "align", "=", "MIN", "(", "GET_MODE_ALIGNMENT", "(", "mode", ")", ",", "align", ")", ";", "gcc_assert", "(", "!", "(", "cfa_offset", "&", "(", "align", "/", "BITS_PER_UNIT", "-", "1", ")", ")", ")", ";", "set_mem_align", "(", "mem", ",", "align", ")", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "base", "=", "addr", ";", "if", "(", "GET_CODE", "(", "base", ")", "==", "PLUS", ")", "base", "=", "XEXP", "(", "base", ",", "0", ")", ";", "gcc_checking_assert", "(", "REG_P", "(", "base", ")", ")", ";", "if", "(", "m", "->", "fs", ".", "realigned", ")", "{", "gcc_checking_assert", "(", "stack_realign_drap", ")", ";", "if", "(", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", ")", "{", "gcc_checking_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "fp_valid", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "hard_frame_pointer_rtx", ",", "cfun", "->", "machine", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_DEF_CFA", ",", "mem", ")", ";", "}", "else", "{", "gcc_checking_assert", "(", "cfun", "->", "machine", "->", "fs", ".", "fp_valid", ")", ";", "addr", "=", "plus_constant", "(", "Pmode", ",", "hard_frame_pointer_rtx", ",", "cfun", "->", "machine", "->", "fs", ".", "fp_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_EXPRESSION", ",", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "}", "}", "else", "if", "(", "base", "==", "stack_pointer_rtx", "&&", "m", "->", "fs", ".", "sp_realigned", "&&", "cfa_offset", ">=", "m", "->", "fs", ".", "sp_realigned_offset", ")", "{", "gcc_checking_assert", "(", "stack_realign_fp", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_EXPRESSION", ",", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "}", "else", "if", "(", "base", "!=", "m", "->", "fs", ".", "cfa_reg", ")", "{", "addr", "=", "plus_constant", "(", "Pmode", ",", "m", "->", "fs", ".", "cfa_reg", ",", "m", "->", "fs", ".", "cfa_offset", "-", "cfa_offset", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "mode", ",", "addr", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_OFFSET", ",", "gen_rtx_SET", "(", "mem", ",", "reg", ")", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "a", "single", "register", "save", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "1", "1", "0"], "File": "i386", "Func": "ix86_emit_save_reg_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38916, "Length": 387}
{"ground_truth": ["", "static", "void", "ix86_emit_save_sse_regs_using_mov", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "unsigned", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ",", "true", ")", ")", "{", "ix86_emit_save_reg_using_mov", "(", "V4SFmode", ",", "regno", ",", "cfa_offset", ")", ";", "cfa_offset", "-=", "GET_MODE_SIZE", "(", "V4SFmode", ")", ";", "}", "}", ""], "natrual_language": ["Emit", "code", "to", "save", "SSE", "registers", "using", "MOV", "insns", ".", "First", "register", "is", "stored", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_emit_save_sse_regs_using_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38917, "Length": 60}
{"ground_truth": ["", "static", "void", "ATTRIBUTE_UNUSED", "ix86_encode_section_info", "(", "tree", "decl", ",", "rtx", "rtl", ",", "int", "first", ")", "{", "default_encode_section_info", "(", "decl", ",", "rtl", ",", "first", ")", ";", "if", "(", "ix86_in_large_data_p", "(", "decl", ")", ")", "SYMBOL_REF_FLAGS", "(", "XEXP", "(", "rtl", ",", "0", ")", ")", "|=", "SYMBOL_FLAG_FAR_ADDR", ";", "}", ""], "natrual_language": ["Implements", "target", "vector", "targetm.asm.encode_section_info", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_encode_section_info", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38918, "Length": 44}
{"ground_truth": ["", "static", "int", "ix86_enum_va_list", "(", "int", "idx", ",", "const", "char", "*", "*", "pname", ",", "tree", "*", "ptree", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "switch", "(", "idx", ")", "{", "default", ":", "break", ";", "case", "0", ":", "*", "ptree", "=", "ms_va_list_type_node", ";", "*", "pname", "=", "\"__builtin_ms_va_list\"", ";", "return", "1", ";", "case", "1", ":", "*", "ptree", "=", "sysv_va_list_type_node", ";", "*", "pname", "=", "\"__builtin_sysv_va_list\"", ";", "return", "1", ";", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["Iterate", "through", "the", "target-specific", "builtin", "types", "for", "va_list", ".", "IDX", "denotes", "the", "iterator", ",", "*", "PTREE", "is", "set", "to", "the", "result", "type", "of", "the", "va_list", "builtin", ",", "and", "*", "PNAME", "to", "its", "internal", "type", ".", "Returns", "zero", "if", "there", "is", "no", "element", "for", "this", "index", ",", "otherwise", "IDX", "should", "be", "increased", "upon", "the", "next", "call", ".", "Note", ",", "do", "not", "iterate", "a", "base", "builtin", "'s", "name", "like", "__builtin_va_list", ".", "Used", "from", "c_common_nodes_and_builtins", "."], "TS_V_token": ["i386", "0", "\"__builtin_ms_va_list\"", "1", "1", "\"__builtin_sysv_va_list\"", "1", "0"], "File": "i386", "Func": "ix86_enum_va_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38919, "Length": 70}
{"ground_truth": ["", "bool", "ix86_epilogue_uses", "(", "int", "regno", ")", "{", "return", "(", "epilogue_completed", "&&", "cfun", "->", "machine", "->", "no_caller_saved_registers", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "!", "STACK_REGNO_P", "(", "regno", ")", "&&", "!", "MMX_REGNO_P", "(", "regno", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "REGNO", "is", "used", "by", "the", "epilogue", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_epilogue_uses", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38920, "Length": 37}
{"ground_truth": ["", "static", "enum", "flt_eval_method", "ix86_excess_precision", "(", "enum", "excess_precision_type", "type", ")", "{", "switch", "(", "type", ")", "{", "case", "EXCESS_PRECISION_TYPE_FAST", ":", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "case", "EXCESS_PRECISION_TYPE_STANDARD", ":", "case", "EXCESS_PRECISION_TYPE_IMPLICIT", ":", "if", "(", "!", "TARGET_80387", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "else", "if", "(", "!", "TARGET_MIX_SSE_I387", ")", "{", "if", "(", "!", "(", "TARGET_SSE", "&&", "TARGET_SSE_MATH", ")", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE", ";", "else", "if", "(", "TARGET_SSE2", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "}", "return", "(", "type", "==", "EXCESS_PRECISION_TYPE_STANDARD", "?", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ":", "FLT_EVAL_METHOD_UNPREDICTABLE", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "FLT_EVAL_METHOD_UNPREDICTABLE", ";", "}", ""], "natrual_language": ["Set", "the", "value", "of", "FLT_EVAL_METHOD", "in", "float.h", ".", "When", "using", "only", "the", "FPU", ",", "assume", "that", "the", "fpcw", "is", "set", "to", "extended", "precision", ";", "when", "using", "only", "SSE", ",", "rounding", "is", "correct", ";", "when", "using", "both", "SSE", "and", "the", "FPU", ",", "the", "rounding", "precision", "is", "indeterminate", ",", "since", "either", "may", "be", "chosen", "apparently", "at", "random", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_excess_precision", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38921, "Length": 85}
{"ground_truth": ["", "rtx", "ix86_find_base_term", "(", "rtx", "x", ")", "{", "rtx", "term", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "!=", "CONST", ")", "return", "x", ";", "term", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "==", "PLUS", "&&", "CONST_INT_P", "(", "XEXP", "(", "term", ",", "1", ")", ")", ")", "term", "=", "XEXP", "(", "term", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "term", ")", "!=", "UNSPEC", "||", "(", "XINT", "(", "term", ",", "1", ")", "!=", "UNSPEC_GOTPCREL", "&&", "XINT", "(", "term", ",", "1", ")", "!=", "UNSPEC_PCREL", ")", ")", "return", "x", ";", "return", "XVECEXP", "(", "term", ",", "0", ",", "0", ")", ";", "}", "return", "ix86_delegitimize_address_1", "(", "x", ",", "true", ")", ";", "}", ""], "natrual_language": ["If", "X", "is", "a", "machine", "specific", "address", "(", "i.e", ".", "a", "symbol", "or", "label", "being", "referenced", "as", "a", "displacement", "from", "the", "GOT", "implemented", "using", "an", "UNSPEC", ")", ",", "then", "return", "the", "base", "term", ".", "Otherwise", "return", "X", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "1", "0", "0"], "File": "i386", "Func": "ix86_find_base_term", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38922, "Length": 116}
{"ground_truth": ["", "static", "void", "ix86_find_max_used_stack_alignment", "(", "unsigned", "int", "&", "stack_alignment", ",", "bool", "check_stack_slot", ")", "{", "HARD_REG_SET", "set_up_by_prologue", ",", "prologue_used", ";", "basic_block", "bb", ";", "CLEAR_HARD_REG_SET", "(", "prologue_used", ")", ";", "CLEAR_HARD_REG_SET", "(", "set_up_by_prologue", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "STACK_POINTER_REGNUM", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "ARG_POINTER_REGNUM", ")", ";", "add_to_hard_reg_set", "(", "&", "set_up_by_prologue", ",", "Pmode", ",", "HARD_FRAME_POINTER_REGNUM", ")", ";", "if", "(", "stack_alignment", ">", "crtl", "->", "preferred_stack_boundary", ")", "stack_alignment", "=", "crtl", "->", "preferred_stack_boundary", ";", "bool", "require_stack_frame", "=", "false", ";", "FOR_EACH_BB_FN", "(", "bb", ",", "cfun", ")", "{", "rtx_insn", "*", "insn", ";", "FOR_BB_INSNS", "(", "bb", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", "&&", "requires_stack_frame_p", "(", "insn", ",", "prologue_used", ",", "set_up_by_prologue", ")", ")", "{", "require_stack_frame", "=", "true", ";", "if", "(", "check_stack_slot", ")", "{", "subrtx_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "ALL", ")", "if", "(", "MEM_P", "(", "*", "iter", ")", "&&", "(", "reg_mentioned_p", "(", "stack_pointer_rtx", ",", "*", "iter", ")", "||", "reg_mentioned_p", "(", "frame_pointer_rtx", ",", "*", "iter", ")", ")", ")", "{", "unsigned", "int", "alignment", "=", "MEM_ALIGN", "(", "*", "iter", ")", ";", "if", "(", "alignment", ">", "stack_alignment", ")", "stack_alignment", "=", "alignment", ";", "}", "}", "}", "}", "cfun", "->", "machine", "->", "stack_frame_required", "=", "require_stack_frame", ";", "}", ""], "natrual_language": ["Return", "true", "if", "stack", "frame", "is", "required", ".", "Update", "STACK_ALIGNMENT", "to", "the", "largest", "alignment", ",", "in", "bits", ",", "of", "stack", "slot", "used", "if", "stack", "frame", "is", "required", "and", "CHECK_STACK_SLOT", "is", "true", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_find_max_used_stack_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38923, "Length": 201}
{"ground_truth": ["", "static", "void", "ix86_finish_cost", "(", "void", "*", "data", ",", "unsigned", "*", "prologue_cost", ",", "unsigned", "*", "body_cost", ",", "unsigned", "*", "epilogue_cost", ")", "{", "unsigned", "*", "cost", "=", "(", "unsigned", "*", ")", "data", ";", "*", "prologue_cost", "=", "cost", "[", "vect_prologue", "]", ";", "*", "body_cost", "=", "cost", "[", "vect_body", "]", ";", "*", "epilogue_cost", "=", "cost", "[", "vect_epilogue", "]", ";", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.finish_cost", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_finish_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38924, "Length": 56}
{"ground_truth": ["", "static", "bool", "ix86_fixed_condition_code_regs", "(", "unsigned", "int", "*", "p1", ",", "unsigned", "int", "*", "p2", ")", "{", "*", "p1", "=", "FLAGS_REG", ";", "*", "p2", "=", "INVALID_REGNUM", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "the", "fixed", "registers", "used", "for", "condition", "codes", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_fixed_condition_code_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38925, "Length": 29}
{"ground_truth": ["", "static", "bool", "ix86_float_exceptions_rounding_supported_p", "(", "void", ")", "{", "return", "TARGET_80387", "||", "(", "TARGET_SSE", "&&", "TARGET_SSE_MATH", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_float_exceptions_rounding_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38926, "Length": 17}
{"ground_truth": ["", "static", "tree", "ix86_fn_abi_va_list", "(", "tree", "fndecl", ")", "{", "if", "(", "!", "TARGET_64BIT", ")", "return", "va_list_type_node", ";", "gcc_assert", "(", "fndecl", "!=", "NULL_TREE", ")", ";", "if", "(", "ix86_function_abi", "(", "(", "const_tree", ")", "fndecl", ")", "==", "MS_ABI", ")", "return", "ms_va_list_type_node", ";", "else", "return", "sysv_va_list_type_node", ";", "}", ""], "natrual_language": ["This", "function", "returns", "the", "calling", "abi", "specific", "va_list", "type", "node", ".", "It", "returns", "the", "FNDECL", "specific", "va_list", "type", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_fn_abi_va_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38927, "Length": 43}
{"ground_truth": ["", "bool", "ix86_force_load_from_GOT_p", "(", "rtx", "x", ",", "bool", "call_p", ")", "{", "return", "(", "(", "TARGET_64BIT", "||", "(", "!", "flag_pic", "&&", "HAVE_AS_IX86_GOT32X", ")", ")", "&&", "!", "TARGET_PECOFF", "&&", "!", "TARGET_MACHO", "&&", "(", "!", "flag_pic", "||", "this_is_asm_operands", ")", "&&", "ix86_cmodel", "!=", "CM_LARGE", "&&", "ix86_cmodel", "!=", "CM_LARGE_PIC", "&&", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "(", "(", "!", "call_p", "&&", "(", "!", "ix86_direct_extern_access", "||", "(", "SYMBOL_REF_DECL", "(", "x", ")", "&&", "lookup_attribute", "(", "\"nodirect_extern_access\"", ",", "DECL_ATTRIBUTES", "(", "SYMBOL_REF_DECL", "(", "x", ")", ")", ")", ")", ")", ")", "||", "(", "SYMBOL_REF_FUNCTION_P", "(", "x", ")", "&&", "(", "!", "flag_plt", "||", "(", "SYMBOL_REF_DECL", "(", "x", ")", "&&", "lookup_attribute", "(", "\"noplt\"", ",", "DECL_ATTRIBUTES", "(", "SYMBOL_REF_DECL", "(", "x", ")", ")", ")", ")", ")", ")", ")", "&&", "!", "SYMBOL_REF_LOCAL_P", "(", "x", ")", ")", ";", "}", ""], "natrual_language": ["True", "if", "the", "function", "symbol", "operand", "X", "should", "be", "loaded", "from", "GOT", ".", "NB", ":", "In", "32-bit", "mode", ",", "only", "non-PIC", "is", "allowed", "in", "inline", "assembly", "statements", ",", "since", "a", "PIC", "register", "could", "not", "be", "available", "at", "the", "call", "site", "."], "TS_V_token": ["i386", "\"nodirect_extern_access\"", "\"noplt\""], "File": "i386", "Func": "ix86_force_load_from_GOT_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38928, "Length": 123}
{"ground_truth": ["", "enum", "rtx_code", "ix86_fp_compare_code_to_integer", "(", "enum", "rtx_code", "code", ")", "{", "switch", "(", "code", ")", "{", "case", "GT", ":", "return", "GTU", ";", "case", "GE", ":", "return", "GEU", ";", "case", "ORDERED", ":", "case", "UNORDERED", ":", "return", "code", ";", "case", "UNEQ", ":", "return", "EQ", ";", "case", "UNLT", ":", "return", "LTU", ";", "case", "UNLE", ":", "return", "LEU", ";", "case", "LTGT", ":", "return", "NE", ";", "default", ":", "return", "UNKNOWN", ";", "}", "}", ""], "natrual_language": ["Convert", "comparison", "codes", "we", "use", "to", "represent", "FP", "comparison", "to", "integer", "code", "that", "will", "result", "in", "proper", "branch", ".", "Return", "UNKNOWN", "if", "no", "such", "code", "is", "available", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_fp_compare_code_to_integer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38929, "Length": 66}
{"ground_truth": ["", "enum", "ix86_fpcmp_strategy", "ix86_fp_comparison_strategy", "(", "enum", "rtx_code", ")", "{", "if", "(", "TARGET_CMOVE", ")", "return", "IX86_FPCMP_COMI", ";", "if", "(", "TARGET_SAHF", "&&", "(", "TARGET_USE_SAHF", "||", "optimize_insn_for_size_p", "(", ")", ")", ")", "return", "IX86_FPCMP_SAHF", ";", "return", "IX86_FPCMP_ARITH", ";", "}", ""], "natrual_language": ["Return", "strategy", "to", "use", "for", "floating-point", ".", "We", "assume", "that", "fcomi", "is", "always", "preferrable", "where", "available", ",", "since", "that", "is", "also", "true", "when", "looking", "at", "size", "(", "2", "bytes", ",", "vs.", "3", "for", "fnstsw+sahf", "and", "at", "least", "5", "for", "fnstsw+test", ")", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_fp_comparison_strategy", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38930, "Length": 34}
{"ground_truth": ["", "static", "bool", "ix86_frame_pointer_required", "(", "void", ")", "{", "if", "(", "cfun", "->", "machine", "->", "accesses_prev_frame", ")", "return", "true", ";", "if", "(", "SUBTARGET_FRAME_POINTER_REQUIRED", ")", "return", "true", ";", "if", "(", "TARGET_32BIT_MS_ABI", "&&", "cfun", "->", "calls_setjmp", ")", "return", "true", ";", "if", "(", "TARGET_64BIT_MS_ABI", "&&", "ix86_get_frame_size", "(", ")", ">", "SEH_MAX_FRAME_SIZE", ")", "return", "true", ";", "if", "(", "TARGET_64BIT_MS_ABI", "&&", "ix86_incoming_stack_boundary", "<", "128", ")", "return", "true", ";", "if", "(", "TARGET_OMIT_LEAF_FRAME_POINTER", "&&", "(", "!", "crtl", "->", "is_leaf", "||", "ix86_current_function_calls_tls_descriptor", ")", ")", "return", "true", ";", "if", "(", "crtl", "->", "profile", "&&", "!", "flag_fentry", ")", "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": ["i386", "128"], "File": "i386", "Func": "ix86_frame_pointer_required", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38931, "Length": 92}
{"ground_truth": ["", "static", "rtx", "ix86_function_arg", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "machine_mode", "mode", "=", "arg", ".", "mode", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "rtx", "reg", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "{", "gcc_assert", "(", "arg", ".", "type", "!=", "NULL_TREE", ")", ";", "if", "(", "POINTER_TYPE_P", "(", "arg", ".", "type", ")", ")", "{", "gcc_assert", "(", "TYPE_MODE", "(", "arg", ".", "type", ")", "==", "Pmode", ")", ";", "reg", "=", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "UNITS_PER_WORD", ")", ";", "}", "else", "{", "gcc_assert", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_EXCEPTION", "&&", "TREE_CODE", "(", "arg", ".", "type", ")", "==", "INTEGER_TYPE", "&&", "TYPE_MODE", "(", "arg", ".", "type", ")", "==", "word_mode", ")", ";", "reg", "=", "gen_rtx_MEM", "(", "word_mode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "2", "*", "UNITS_PER_WORD", ")", ")", ";", "}", "return", "reg", ";", "}", "bytes", "=", "arg", ".", "promoted_size_in_bytes", "(", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "arg", ".", "type", "&&", "TREE_CODE", "(", "arg", ".", "type", ")", "==", "VECTOR_TYPE", ")", "mode", "=", "type_natural_mode", "(", "arg", ".", "type", ",", "cum", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "reg", "=", "function_arg_ms_64", "(", "cum", ",", "mode", ",", "arg", ".", "mode", ",", "arg", ".", "named", ",", "arg", ".", "type", ",", "bytes", ")", ";", "else", "reg", "=", "function_arg_64", "(", "cum", ",", "mode", ",", "arg", ".", "mode", ",", "arg", ".", "type", ",", "arg", ".", "named", ")", ";", "}", "else", "reg", "=", "function_arg_32", "(", "cum", ",", "mode", ",", "arg", ".", "mode", ",", "arg", ".", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "reg", "==", "NULL_RTX", "&&", "cum", "->", "caller", ")", "cfun", "->", "machine", "->", "outgoing_args_on_stack", "=", "true", ";", "return", "reg", ";", "}", ""], "natrual_language": ["Return", "where", "to", "put", "the", "arguments", "to", "a", "function", ".", "Return", "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", ".", "It", "is", "null", "for", "libcalls", "where", "that", "information", "may", "not", "be", "available", ".", "CUM", "gives", "information", "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": ["i386", "2"], "File": "i386", "Func": "ix86_function_arg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38932, "Length": 310}
{"ground_truth": ["", "static", "void", "ix86_function_arg_advance", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "machine_mode", "mode", "=", "arg", ".", "mode", ";", "HOST_WIDE_INT", "bytes", ",", "words", ";", "int", "nregs", ";", "if", "(", "!", "cum", "->", "caller", "&&", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "return", ";", "bytes", "=", "arg", ".", "promoted_size_in_bytes", "(", ")", ";", "words", "=", "CEIL", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "if", "(", "arg", ".", "type", ")", "mode", "=", "type_natural_mode", "(", "arg", ".", "type", ",", "NULL", ",", "false", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "nregs", "=", "function_arg_advance_ms_64", "(", "cum", ",", "bytes", ",", "words", ")", ";", "else", "nregs", "=", "function_arg_advance_64", "(", "cum", ",", "mode", ",", "arg", ".", "type", ",", "words", ",", "arg", ".", "named", ")", ";", "}", "else", "nregs", "=", "function_arg_advance_32", "(", "cum", ",", "mode", ",", "arg", ".", "type", ",", "bytes", ",", "words", ")", ";", "if", "(", "!", "nregs", ")", "{", "if", "(", "cum", "->", "caller", ")", "cfun", "->", "machine", "->", "outgoing_args_on_stack", "=", "true", ";", "}", "}", ""], "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": ["i386"], "File": "i386", "Func": "ix86_function_arg_advance", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38933, "Length": 185}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_function_arg_boundary", "(", "machine_mode", "mode", ",", "const_tree", "type", ")", "{", "unsigned", "int", "align", ";", "if", "(", "type", ")", "{", "type", "=", "TYPE_MAIN_VARIANT", "(", "type", ")", ";", "align", "=", "TYPE_ALIGN", "(", "type", ")", ";", "if", "(", "TYPE_EMPTY_P", "(", "type", ")", ")", "return", "PARM_BOUNDARY", ";", "}", "else", "align", "=", "GET_MODE_ALIGNMENT", "(", "mode", ")", ";", "if", "(", "align", "<", "PARM_BOUNDARY", ")", "align", "=", "PARM_BOUNDARY", ";", "else", "{", "static", "bool", "warned", ";", "unsigned", "int", "saved_align", "=", "align", ";", "if", "(", "!", "TARGET_64BIT", ")", "{", "if", "(", "!", "type", ")", "{", "if", "(", "mode", "==", "XFmode", "||", "mode", "==", "XCmode", ")", "align", "=", "PARM_BOUNDARY", ";", "}", "else", "if", "(", "!", "ix86_contains_aligned_value_p", "(", "type", ")", ")", "align", "=", "PARM_BOUNDARY", ";", "if", "(", "align", "<", "128", ")", "align", "=", "PARM_BOUNDARY", ";", "}", "if", "(", "warn_psabi", "&&", "!", "warned", "&&", "align", "!=", "ix86_compat_function_arg_boundary", "(", "mode", ",", "type", ",", "saved_align", ")", ")", "{", "warned", "=", "true", ";", "inform", "(", "input_location", ",", "\"the ABI for passing parameters with %d-byte\"", "\" alignment has changed in GCC 4.6\"", ",", "align", "/", "BITS_PER_UNIT", ")", ";", "}", "}", "return", "align", ";", "}", ""], "natrual_language": ["Gives", "the", "alignment", "boundary", ",", "in", "bits", ",", "of", "an", "argument", "with", "the", "specified", "mode", "and", "type", "."], "TS_V_token": ["i386", "128", "\"the ABI for passing parameters with %d-byte\"", "\" alignment has changed in GCC 4.6\""], "File": "i386", "Func": "ix86_function_arg_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38934, "Length": 168}
{"ground_truth": ["", "bool", "ix86_function_arg_regno_p", "(", "int", "regno", ")", "{", "int", "i", ";", "enum", "calling_abi", "call_abi", ";", "const", "int", "*", "parm_regs", ";", "if", "(", "TARGET_SSE", "&&", "SSE_REGNO_P", "(", "regno", ")", "&&", "regno", "<", "FIRST_SSE_REG", "+", "SSE_REGPARM_MAX", ")", "return", "true", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", "(", "regno", "<", "REGPARM_MAX", "||", "(", "TARGET_MMX", "&&", "MMX_REGNO_P", "(", "regno", ")", "&&", "regno", "<", "FIRST_MMX_REG", "+", "MMX_REGPARM_MAX", ")", ")", ";", "call_abi", "=", "ix86_cfun_abi", "(", ")", ";", "if", "(", "call_abi", "==", "SYSV_ABI", "&&", "regno", "==", "AX_REG", ")", "return", "true", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "parm_regs", "=", "x86_64_ms_abi_int_parameter_registers", ";", "else", "parm_regs", "=", "x86_64_int_parameter_registers", ";", "for", "(", "i", "=", "0", ";", "i", "<", "(", "call_abi", "==", "MS_ABI", "?", "X86_64_MS_REGPARM_MAX", ":", "X86_64_REGPARM_MAX", ")", ";", "i", "++", ")", "if", "(", "regno", "==", "parm_regs", "[", "i", "]", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "when", "register", "may", "be", "used", "to", "pass", "function", "parameters", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_function_arg_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38935, "Length": 135}
{"ground_truth": ["", "static", "bool", "ix86_function_ok_for_sibcall", "(", "tree", "decl", ",", "tree", "exp", ")", "{", "tree", "type", ",", "decl_or_type", ";", "rtx", "a", ",", "b", ";", "bool", "bind_global", "=", "decl", "&&", "!", "targetm", ".", "binds_local_p", "(", "decl", ")", ";", "if", "(", "ix86_function_naked", "(", "current_function_decl", ")", ")", "return", "false", ";", "if", "(", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "return", "false", ";", "if", "(", "!", "TARGET_MACHO", "&&", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "flag_plt", "&&", "bind_global", ")", "return", "false", ";", "if", "(", "ix86_minimum_incoming_stack_boundary", "(", "true", ")", "<", "PREFERRED_STACK_BOUNDARY", ")", "return", "false", ";", "if", "(", "decl", ")", "{", "decl_or_type", "=", "decl", ";", "type", "=", "TREE_TYPE", "(", "decl", ")", ";", "}", "else", "{", "type", "=", "CALL_EXPR_FN", "(", "exp", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "type", "=", "TREE_TYPE", "(", "type", ")", ";", "decl_or_type", "=", "type", ";", "}", "if", "(", "(", "OUTGOING_REG_PARM_STACK_SPACE", "(", "type", ")", "!=", "OUTGOING_REG_PARM_STACK_SPACE", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ")", "||", "(", "REG_PARM_STACK_SPACE", "(", "decl_or_type", ")", "!=", "REG_PARM_STACK_SPACE", "(", "current_function_decl", ")", ")", ")", "{", "maybe_complain_about_tail_call", "(", "exp", ",", "\"inconsistent size of stack space\"", "\" allocated for arguments which are\"", "\" passed in registers\"", ")", ";", "return", "false", ";", "}", "a", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "exp", ")", ",", "decl_or_type", ",", "false", ")", ";", "b", "=", "ix86_function_value", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ",", "cfun", "->", "decl", ",", "false", ")", ";", "if", "(", "STACK_REG_P", "(", "a", ")", "||", "STACK_REG_P", "(", "b", ")", ")", "{", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "}", "else", "if", "(", "VOID_TYPE_P", "(", "TREE_TYPE", "(", "DECL_RESULT", "(", "cfun", "->", "decl", ")", ")", ")", ")", ";", "else", "if", "(", "!", "rtx_equal_p", "(", "a", ",", "b", ")", ")", "return", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "cfun", "->", "machine", "->", "call_abi", "==", "MS_ABI", "&&", "ix86_function_type_abi", "(", "type", ")", "==", "SYSV_ABI", ")", "return", "false", ";", "}", "else", "{", "if", "(", "!", "decl", "||", "(", "bind_global", "&&", "flag_pic", "&&", "!", "flag_plt", ")", "||", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "DECL_DLLIMPORT_P", "(", "decl", ")", ")", "||", "flag_force_indirect_call", ")", "{", "if", "(", "ix86_function_regparm", "(", "type", ",", "decl", ")", ">=", "3", "&&", "!", "cfun", "->", "machine", "->", "arg_reg_available", ")", "return", "false", ";", "}", "}", "return", "true", ";", "}", ""], "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": ["i386", "\"inconsistent size of stack space\"", "\" allocated for arguments which are\"", "\" passed in registers\"", "3"], "File": "i386", "Func": "ix86_function_ok_for_sibcall", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38936, "Length": 346}
{"ground_truth": ["", "static", "int", "ix86_function_regparm", "(", "const_tree", "type", ",", "const_tree", "decl", ")", "{", "tree", "attr", ";", "int", "regparm", ";", "unsigned", "int", "ccvt", ";", "if", "(", "TARGET_64BIT", ")", "return", "(", "ix86_function_type_abi", "(", "type", ")", "==", "SYSV_ABI", "?", "X86_64_REGPARM_MAX", ":", "X86_64_MS_REGPARM_MAX", ")", ";", "ccvt", "=", "ix86_get_callcvt", "(", "type", ")", ";", "regparm", "=", "ix86_regparm", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_REGPARM", ")", "!=", "0", ")", "{", "attr", "=", "lookup_attribute", "(", "\"regparm\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ";", "if", "(", "attr", ")", "{", "regparm", "=", "TREE_INT_CST_LOW", "(", "TREE_VALUE", "(", "TREE_VALUE", "(", "attr", ")", ")", ")", ";", "return", "regparm", ";", "}", "}", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "return", "2", ";", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_THISCALL", ")", "!=", "0", ")", "return", "1", ";", "if", "(", "decl", "&&", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "{", "cgraph_node", "*", "target", "=", "cgraph_node", "::", "get", "(", "decl", ")", ";", "if", "(", "target", ")", "target", "=", "target", "->", "function_symbol", "(", ")", ";", "if", "(", "target", "&&", "opt_for_fn", "(", "target", "->", "decl", ",", "optimize", ")", "&&", "!", "(", "profile_flag", "&&", "!", "flag_fentry", ")", ")", "{", "if", "(", "target", "->", "local", "&&", "target", "->", "can_change_signature", ")", "{", "int", "local_regparm", ",", "globals", "=", "0", ",", "regno", ";", "for", "(", "local_regparm", "=", "0", ";", "local_regparm", "<", "REGPARM_MAX", ";", "local_regparm", "++", ")", "if", "(", "fixed_regs", "[", "local_regparm", "]", ")", "break", ";", "if", "(", "local_regparm", "==", "3", "&&", "DECL_STATIC_CHAIN", "(", "target", "->", "decl", ")", ")", "local_regparm", "=", "2", ";", "if", "(", "flag_split_stack", ")", "{", "if", "(", "local_regparm", "==", "3", ")", "local_regparm", "=", "2", ";", "else", "if", "(", "local_regparm", "==", "2", "&&", "DECL_STATIC_CHAIN", "(", "target", "->", "decl", ")", ")", "local_regparm", "=", "1", ";", "}", "for", "(", "regno", "=", "AX_REG", ";", "regno", "<=", "DI_REG", ";", "regno", "++", ")", "if", "(", "fixed_regs", "[", "regno", "]", ")", "globals", "++", ";", "local_regparm", "=", "globals", "<", "local_regparm", "?", "local_regparm", "-", "globals", ":", "0", ";", "if", "(", "local_regparm", ">", "regparm", ")", "regparm", "=", "local_regparm", ";", "}", "}", "}", "return", "regparm", ";", "}", ""], "natrual_language": ["Return", "the", "regparm", "value", "for", "a", "function", "with", "the", "indicated", "TYPE", "and", "DECL", ".", "DECL", "may", "be", "NULL", "when", "calling", "function", "indirectly", "or", "considering", "a", "libcall", "."], "TS_V_token": ["i386", "0", "\"regparm\"", "0", "2", "0", "1", "0", "0", "3", "2", "3", "2", "2", "1", "0"], "File": "i386", "Func": "ix86_function_regparm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38937, "Length": 326}
{"ground_truth": ["", "static", "int", "ix86_function_sseregparm", "(", "const_tree", "type", ",", "const_tree", "decl", ",", "bool", "warn", ")", "{", "gcc_assert", "(", "!", "TARGET_64BIT", ")", ";", "if", "(", "TARGET_SSEREGPARM", "||", "(", "type", "&&", "lookup_attribute", "(", "\"sseregparm\"", ",", "TYPE_ATTRIBUTES", "(", "type", ")", ")", ")", ")", "{", "if", "(", "!", "TARGET_SSE", ")", "{", "if", "(", "warn", ")", "{", "if", "(", "decl", ")", "error", "(", "\"calling %qD with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", ",", "decl", ")", ";", "else", "error", "(", "\"calling %qT with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", ",", "type", ")", ";", "}", "return", "0", ";", "}", "return", "2", ";", "}", "if", "(", "!", "decl", ")", "return", "0", ";", "cgraph_node", "*", "target", "=", "cgraph_node", "::", "get", "(", "decl", ")", ";", "if", "(", "target", ")", "target", "=", "target", "->", "function_symbol", "(", ")", ";", "if", "(", "target", "&&", "(", "target_opts_for_fn", "(", "target", "->", "decl", ")", "->", "x_ix86_fpmath", "&", "FPMATH_SSE", ")", "&&", "opt_for_fn", "(", "target", "->", "decl", ",", "optimize", ")", "&&", "!", "(", "profile_flag", "&&", "!", "flag_fentry", ")", ")", "{", "if", "(", "target", "->", "local", "&&", "target", "->", "can_change_signature", ")", "{", "if", "(", "!", "TARGET_SSE", "&&", "warn", ")", "return", "-", "1", ";", "return", "TARGET_SSE2_P", "(", "target_opts_for_fn", "(", "target", "->", "decl", ")", "->", "x_ix86_isa_flags", ")", "?", "2", ":", "1", ";", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "1", "or", "2", ",", "if", "we", "can", "pass", "up", "to", "SSE_REGPARM_MAX", "SFmode", "(", "1", ")", "and", "DFmode", "(", "2", ")", "arguments", "in", "SSE", "registers", "for", "a", "function", "with", "the", "indicated", "TYPE", "and", "DECL", ".", "DECL", "may", "be", "NULL", "when", "calling", "function", "indirectly", "or", "considering", "a", "libcall", ".", "Otherwise", "return", "0", "."], "TS_V_token": ["i386", "\"sseregparm\"", "\"calling %qD with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", "\"calling %qT with attribute sseregparm without \"", "\"SSE/SSE2 enabled\"", "0", "2", "0", "1", "2", "1", "0"], "File": "i386", "Func": "ix86_function_sseregparm", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38938, "Length": 191}
{"ground_truth": ["", "enum", "calling_abi", "ix86_function_type_abi", "(", "const_tree", "fntype", ")", "{", "enum", "calling_abi", "abi", "=", "ix86_abi", ";", "if", "(", "fntype", "==", "NULL_TREE", "||", "TYPE_ATTRIBUTES", "(", "fntype", ")", "==", "NULL_TREE", ")", "return", "abi", ";", "if", "(", "abi", "==", "SYSV_ABI", "&&", "lookup_attribute", "(", "\"ms_abi\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "{", "static", "int", "warned", ";", "if", "(", "TARGET_X32", "&&", "!", "warned", ")", "{", "error", "(", "\"X32 does not support % attribute\"", ")", ";", "warned", "=", "1", ";", "}", "abi", "=", "MS_ABI", ";", "}", "else", "if", "(", "abi", "==", "MS_ABI", "&&", "lookup_attribute", "(", "\"sysv_abi\"", ",", "TYPE_ATTRIBUTES", "(", "fntype", ")", ")", ")", "abi", "=", "SYSV_ABI", ";", "return", "abi", ";", "}", ""], "natrual_language": ["Returns", "value", "SYSV_ABI", ",", "MS_ABI", "dependent", "on", "fntype", ",", "specifying", "the", "call", "abi", "used", "."], "TS_V_token": ["i386", "\"ms_abi\"", "\"X32 does not support % attribute\"", "1", "\"sysv_abi\""], "File": "i386", "Func": "ix86_function_type_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38939, "Length": 99}
{"ground_truth": ["", "static", "rtx", "ix86_function_value", "(", "const_tree", "valtype", ",", "const_tree", "fntype_or_decl", ",", "bool", ")", "{", "machine_mode", "mode", ",", "orig_mode", ";", "orig_mode", "=", "TYPE_MODE", "(", "valtype", ")", ";", "mode", "=", "type_natural_mode", "(", "valtype", ",", "NULL", ",", "true", ")", ";", "return", "ix86_function_value_1", "(", "valtype", ",", "fntype_or_decl", ",", "orig_mode", ",", "mode", ")", ";", "}", ""], "natrual_language": ["Define", "how", "to", "find", "the", "value", "returned", "by", "a", "function", ".", "VALTYPE", "is", "the", "data", "type", "of", "the", "value", "(", "as", "a", "tree", ")", ".", "If", "the", "precise", "function", "being", "called", "is", "known", ",", "FUNC", "is", "its", "FUNCTION_DECL", ";", "otherwise", ",", "FUNC", "is", "0", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_function_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38940, "Length": 49}
{"ground_truth": ["", "static", "bool", "ix86_function_value_regno_p", "(", "const", "unsigned", "int", "regno", ")", "{", "switch", "(", "regno", ")", "{", "case", "AX_REG", ":", "return", "true", ";", "case", "DX_REG", ":", "return", "(", "!", "TARGET_64BIT", "||", "ix86_cfun_abi", "(", ")", "!=", "MS_ABI", ")", ";", "case", "DI_REG", ":", "case", "SI_REG", ":", "return", "TARGET_64BIT", "&&", "ix86_cfun_abi", "(", ")", "!=", "MS_ABI", ";", "case", "ST0_REG", ":", "case", "ST1_REG", ":", "if", "(", "TARGET_64BIT", "&&", "ix86_cfun_abi", "(", ")", "==", "MS_ABI", ")", "return", "false", ";", "return", "TARGET_FLOAT_RETURNS_IN_80387", ";", "case", "XMM0_REG", ":", "case", "XMM1_REG", ":", "return", "TARGET_SSE", ";", "case", "MM0_REG", ":", "if", "(", "TARGET_MACHO", "||", "TARGET_64BIT", ")", "return", "false", ";", "return", "TARGET_MMX", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "N", "is", "a", "possible", "register", "number", "of", "function", "value", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_function_value_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38941, "Length": 102}
{"ground_truth": ["", "rtx", "ix86_gen_scratch_sse_rtx", "(", "machine_mode", "mode", ")", "{", "return", "gen_reg_rtx", "(", "mode", ")", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_GEN_MEMSET_SCRATCH_RTX", "hook", ".", "Return", "a", "scratch", "register", "in", "MODE", "for", "vector", "load", "and", "store", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_gen_scratch_sse_rtx", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38942, "Length": 14}
{"ground_truth": ["", "unsigned", "int", "ix86_get_callcvt", "(", "const_tree", "type", ")", "{", "unsigned", "int", "ret", "=", "0", ";", "bool", "is_stdarg", ";", "tree", "attrs", ";", "if", "(", "TARGET_64BIT", ")", "return", "IX86_CALLCVT_CDECL", ";", "attrs", "=", "TYPE_ATTRIBUTES", "(", "type", ")", ";", "if", "(", "attrs", "!=", "NULL_TREE", ")", "{", "if", "(", "lookup_attribute", "(", "\"cdecl\"", ",", "attrs", ")", ")", "ret", "|=", "IX86_CALLCVT_CDECL", ";", "else", "if", "(", "lookup_attribute", "(", "\"stdcall\"", ",", "attrs", ")", ")", "ret", "|=", "IX86_CALLCVT_STDCALL", ";", "else", "if", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "attrs", ")", ")", "ret", "|=", "IX86_CALLCVT_FASTCALL", ";", "else", "if", "(", "lookup_attribute", "(", "\"thiscall\"", ",", "attrs", ")", ")", "ret", "|=", "IX86_CALLCVT_THISCALL", ";", "if", "(", "(", "ret", "&", "(", "IX86_CALLCVT_THISCALL", "|", "IX86_CALLCVT_FASTCALL", ")", ")", "==", "0", ")", "{", "if", "(", "lookup_attribute", "(", "\"regparm\"", ",", "attrs", ")", ")", "ret", "|=", "IX86_CALLCVT_REGPARM", ";", "if", "(", "lookup_attribute", "(", "\"sseregparm\"", ",", "attrs", ")", ")", "ret", "|=", "IX86_CALLCVT_SSEREGPARM", ";", "}", "if", "(", "IX86_BASE_CALLCVT", "(", "ret", ")", "!=", "0", ")", "return", "ret", ";", "}", "is_stdarg", "=", "stdarg_p", "(", "type", ")", ";", "if", "(", "TARGET_RTD", "&&", "!", "is_stdarg", ")", "return", "IX86_CALLCVT_STDCALL", "|", "ret", ";", "if", "(", "ret", "!=", "0", "||", "is_stdarg", "||", "TREE_CODE", "(", "type", ")", "!=", "METHOD_TYPE", "||", "ix86_function_type_abi", "(", "type", ")", "!=", "MS_ABI", ")", "return", "IX86_CALLCVT_CDECL", "|", "ret", ";", "return", "IX86_CALLCVT_THISCALL", ";", "}", ""], "natrual_language": ["This", "function", "determines", "from", "TYPE", "the", "calling-convention", "."], "TS_V_token": ["i386", "0", "\"cdecl\"", "\"stdcall\"", "\"fastcall\"", "\"thiscall\"", "0", "\"regparm\"", "\"sseregparm\"", "0", "0"], "File": "i386", "Func": "ix86_get_callcvt", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38943, "Length": 201}
{"ground_truth": ["", "static", "rtx", "ix86_get_drap_rtx", "(", "void", ")", "{", "if", "(", "ix86_force_drap", "||", "(", "(", "cfun", "->", "machine", "->", "outgoing_args_on_stack", "||", "crtl", "->", "sp_is_clobbered_by_asm", ")", "&&", "!", "ACCUMULATE_OUTGOING_ARGS", ")", ")", "crtl", "->", "need_drap", "=", "true", ";", "if", "(", "stack_realign_drap", ")", "{", "unsigned", "int", "regno", "=", "find_drap_reg", "(", ")", ";", "rtx", "drap_vreg", ";", "rtx", "arg_ptr", ";", "rtx_insn", "*", "seq", ",", "*", "insn", ";", "arg_ptr", "=", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "crtl", "->", "drap_reg", "=", "arg_ptr", ";", "start_sequence", "(", ")", ";", "drap_vreg", "=", "copy_to_reg", "(", "arg_ptr", ")", ";", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "insn", "=", "emit_insn_before", "(", "seq", ",", "NEXT_INSN", "(", "entry_of_function", "(", ")", ")", ")", ";", "if", "(", "!", "optimize", ")", "{", "add_reg_note", "(", "insn", ",", "REG_CFA_SET_VDRAP", ",", "drap_vreg", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "return", "drap_vreg", ";", "}", "else", "return", "NULL", ";", "}", ""], "natrual_language": ["Handle", "the", "TARGET_GET_DRAP_RTX", "hook", ".", "Return", "NULL", "if", "no", "DRAP", "is", "needed", "or", "an", "rtx", "for", "DRAP", "otherwise", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_get_drap_rtx", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38944, "Length": 142}
{"ground_truth": ["", "static", "enum", "flt_eval_method", "ix86_get_excess_precision", "(", "enum", "excess_precision_type", "type", ")", "{", "switch", "(", "type", ")", "{", "case", "EXCESS_PRECISION_TYPE_FAST", ":", "return", "TARGET_AVX512FP16", "?", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16", ":", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "case", "EXCESS_PRECISION_TYPE_STANDARD", ":", "case", "EXCESS_PRECISION_TYPE_IMPLICIT", ":", "if", "(", "TARGET_AVX512FP16", "&&", "TARGET_SSE_MATH", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16", ";", "else", "if", "(", "!", "TARGET_80387", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "else", "if", "(", "!", "TARGET_MIX_SSE_I387", ")", "{", "if", "(", "!", "(", "TARGET_SSE", "&&", "TARGET_SSE_MATH", ")", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE", ";", "else", "if", "(", "TARGET_SSE2", ")", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ";", "}", "return", "(", "type", "==", "EXCESS_PRECISION_TYPE_STANDARD", "?", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT", ":", "FLT_EVAL_METHOD_UNPREDICTABLE", ")", ";", "case", "EXCESS_PRECISION_TYPE_FLOAT16", ":", "if", "(", "TARGET_80387", "&&", "!", "(", "TARGET_SSE_MATH", "&&", "TARGET_SSE", ")", ")", "error", "(", "\"%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>\"", ")", ";", "return", "FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "FLT_EVAL_METHOD_UNPREDICTABLE", ";", "}", ""], "natrual_language": ["Set", "the", "value", "of", "FLT_EVAL_METHOD", "in", "float.h", ".", "When", "using", "only", "the", "FPU", ",", "assume", "that", "the", "fpcw", "is", "set", "to", "extended", "precision", ";", "when", "using", "only", "SSE", ",", "rounding", "is", "correct", ";", "when", "using", "both", "SSE", "and", "the", "FPU", ",", "the", "rounding", "precision", "is", "indeterminate", ",", "since", "either", "may", "be", "chosen", "apparently", "at", "random", "."], "TS_V_token": ["i386", "\"%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>\""], "File": "i386", "Func": "ix86_get_excess_precision", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38945, "Length": 121}
{"ground_truth": ["", "static", "HOST_WIDE_INT", "ix86_get_frame_size", "(", "void", ")", "{", "if", "(", "cfun", "->", "machine", "->", "stack_frame_required", ")", "return", "get_frame_size", "(", ")", ";", "else", "return", "0", ";", "}", ""], "natrual_language": ["Return", "stack", "frame", "size", ".", "get_frame_size", "(", ")", "returns", "used", "stack", "slots", "during", "compilation", ",", "which", "may", "be", "optimized", "out", "later", ".", "If", "stack", "frame", "is", "needed", ",", "stack_frame_required", "should", "be", "true", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_get_frame_size", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38946, "Length": 25}
{"ground_truth": ["", "static", "opt_machine_mode", "ix86_get_mask_mode", "(", "machine_mode", "data_mode", ")", "{", "unsigned", "vector_size", "=", "GET_MODE_SIZE", "(", "data_mode", ")", ";", "unsigned", "nunits", "=", "GET_MODE_NUNITS", "(", "data_mode", ")", ";", "unsigned", "elem_size", "=", "vector_size", "/", "nunits", ";", "if", "(", "(", "TARGET_AVX512F", "&&", "vector_size", "==", "64", ")", "||", "(", "TARGET_AVX512VL", "&&", "(", "vector_size", "==", "32", "||", "vector_size", "==", "16", ")", ")", ")", "{", "if", "(", "elem_size", "==", "4", "||", "elem_size", "==", "8", "||", "(", "TARGET_AVX512BW", "&&", "(", "elem_size", "==", "1", "||", "elem_size", "==", "2", ")", ")", ")", "return", "smallest_int_mode_for_size", "(", "nunits", ")", ";", "}", "scalar_int_mode", "elem_mode", "=", "smallest_int_mode_for_size", "(", "elem_size", "*", "BITS_PER_UNIT", ")", ";", "gcc_assert", "(", "elem_size", "*", "nunits", "==", "vector_size", ")", ";", "return", "mode_for_vector", "(", "elem_mode", ",", "nunits", ")", ";", "}", ""], "natrual_language": ["Implemenation", "of", "targetm.vectorize.get_mask_mode", "."], "TS_V_token": ["i386", "64", "32", "16", "4", "8", "1", "2"], "File": "i386", "Func": "ix86_get_mask_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38947, "Length": 115}
{"ground_truth": ["", "static", "const", "char", "*", "ix86_get_multilib_abi_name", "(", "void", ")", "{", "if", "(", "!", "(", "TARGET_64BIT_P", "(", "ix86_isa_flags", ")", ")", ")", "return", "\"i386\"", ";", "else", "if", "(", "TARGET_X32_P", "(", "ix86_isa_flags", ")", ")", "return", "\"x32\"", ";", "else", "return", "\"x86_64\"", ";", "}", ""], "natrual_language": ["This", "hook", "returns", "name", "of", "multilib", "ABI", "."], "TS_V_token": ["i386", "\"i386\"", "\"x32\"", "\"x86_64\""], "File": "i386", "Func": "ix86_get_multilib_abi_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38948, "Length": 38}
{"ground_truth": ["", "alias_set_type", "ix86_GOT_alias_set", "(", "void", ")", "{", "static", "alias_set_type", "set", "=", "-", "1", ";", "if", "(", "set", "==", "-", "1", ")", "set", "=", "new_alias_set", "(", ")", ";", "return", "set", ";", "}", ""], "natrual_language": ["Return", "an", "unique", "alias", "set", "for", "the", "GOT", "."], "TS_V_token": ["i386", "1", "1"], "File": "i386", "Func": "ix86_GOT_alias_set", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38949, "Length": 30}
{"ground_truth": ["", "bool", "ix86_gpr_tls_address_pattern_p", "(", "rtx", "mem", ")", "{", "gcc_assert", "(", "MEM_P", "(", "mem", ")", ")", ";", "rtx", "addr", "=", "XEXP", "(", "mem", ",", "0", ")", ";", "subrtx_var_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX_VAR", "(", "iter", ",", "array", ",", "addr", ",", "ALL", ")", "{", "rtx", "op", "=", "*", "iter", ";", "if", "(", "GET_CODE", "(", "op", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "op", ",", "1", ")", ")", "{", "case", "UNSPEC_GOTNTPOFF", ":", "return", "true", ";", "case", "UNSPEC_TPOFF", ":", "if", "(", "!", "TARGET_64BIT", ")", "return", "true", ";", "break", ";", "default", ":", "break", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "TLS", "address", "requires", "insn", "using", "integer", "registers", ".", "It", "'s", "used", "to", "prevent", "KMOV/VMOV", "in", "TLS", "code", "sequences", "which", "require", "integer", "MOV", "instructions", ",", "refer", "to", "PR103275", "."], "TS_V_token": ["i386", "0", "1"], "File": "i386", "Func": "ix86_gpr_tls_address_pattern_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38950, "Length": 95}
{"ground_truth": ["", "bool", "ix86_hardreg_mov_ok", "(", "rtx", "dst", ",", "rtx", "src", ")", "{", "if", "(", "REG_P", "(", "dst", ")", "&&", "HARD_REGISTER_P", "(", "dst", ")", "&&", "!", "REG_P", "(", "src", ")", "&&", "!", "MEM_P", "(", "src", ")", "&&", "!", "(", "VECTOR_MODE_P", "(", "GET_MODE", "(", "dst", ")", ")", "?", "standard_sse_constant_p", "(", "src", ",", "GET_MODE", "(", "dst", ")", ")", ":", "x86_64_immediate_operand", "(", "src", ",", "GET_MODE", "(", "dst", ")", ")", ")", "&&", "ix86_class_likely_spilled_p", "(", "REGNO_REG_CLASS", "(", "REGNO", "(", "dst", ")", ")", ")", "&&", "!", "reload_completed", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "a", "set", "of", "DST", "by", "the", "expression", "SRC", "should", "be", "allowed", ".", "This", "prevents", "complex", "sets", "of", "likely_spilled", "hard", "regs", "before", "reload", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_hardreg_mov_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38951, "Length": 86}
{"ground_truth": ["", "static", "bool", "ix86_hard_regno_call_part_clobbered", "(", "unsigned", "int", "abi_id", ",", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "abi_id", "==", "ABI_VZEROUPPER", ")", "return", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "16", "&&", "(", "(", "TARGET_64BIT", "&&", "REX_SSE_REGNO_P", "(", "regno", ")", ")", "||", "LEGACY_SSE_REGNO_P", "(", "regno", ")", ")", ")", ";", "return", "SSE_REGNO_P", "(", "regno", ")", "&&", "GET_MODE_SIZE", "(", "mode", ")", ">", "16", ";", "}", ""], "natrual_language": ["Implement", "TARGET_HARD_REGNO_CALL_PART_CLOBBERED", ".", "The", "only", "ABI", "that", "saves", "SSE", "registers", "across", "calls", "is", "Win64", "(", "thus", "no", "need", "to", "check", "the", "current", "ABI", "here", ")", ",", "and", "with", "AVX", "enabled", "Win64", "only", "guarantees", "that", "the", "low", "16", "bytes", "are", "saved", "."], "TS_V_token": ["i386", "16", "16"], "File": "i386", "Func": "ix86_hard_regno_call_part_clobbered", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38952, "Length": 62}
{"ground_truth": ["", "static", "bool", "ix86_hard_regno_mode_ok", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "CC_REGNO_P", "(", "regno", ")", ")", "return", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_CC", "||", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_RANDOM", ")", "return", "false", ";", "if", "(", "STACK_REGNO_P", "(", "regno", ")", ")", "return", "VALID_FP_MODE_P", "(", "mode", ")", ";", "if", "(", "MASK_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "(", "mode", "==", "P2QImode", "||", "mode", "==", "P2HImode", ")", ")", "return", "MASK_PAIR_REGNO_P", "(", "regno", ")", ";", "return", "(", "(", "TARGET_AVX512F", "&&", "VALID_MASK_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_AVX512BW", "&&", "VALID_MASK_AVX512BW_MODE", "(", "mode", ")", ")", ")", ";", "}", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_PARTIAL_INT", ")", "return", "false", ";", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "TARGET_AVX512F", "&&", "(", "VALID_AVX512F_REG_OR_XI_MODE", "(", "mode", ")", "||", "VALID_AVX512F_SCALAR_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX512FP16", "&&", "VALID_AVX512FP16_SCALAR_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_AVX5124FMAPS", "||", "TARGET_AVX5124VNNIW", ")", "&&", "(", "mode", "==", "V64SFmode", "||", "mode", "==", "V64SImode", ")", "&&", "MOD4_SSE_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX512VL", "&&", "(", "VALID_AVX256_REG_OR_OI_MODE", "(", "mode", ")", "||", "VALID_AVX512VL_128_REG_MODE", "(", "mode", ")", ")", ")", "return", "true", ";", "if", "(", "EXT_REX_SSE_REGNO_P", "(", "regno", ")", ")", "return", "false", ";", "return", "(", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_OR_OI_MODE", "(", "mode", ")", ")", "||", "VALID_SSE_REG_MODE", "(", "mode", ")", "||", "VALID_SSE2_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "{", "return", "(", "VALID_MMX_REG_MODE", "(", "mode", ")", "||", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", ";", "}", "if", "(", "mode", "==", "QImode", ")", "{", "if", "(", "ANY_QI_REGNO_P", "(", "regno", ")", ")", "return", "true", ";", "if", "(", "!", "TARGET_PARTIAL_REG_STALL", ")", "return", "true", ";", "if", "(", "lra_in_progress", ")", "return", "true", ";", "return", "!", "can_create_pseudo_p", "(", ")", ";", "}", "else", "if", "(", "VALID_INT_MODE_P", "(", "mode", ")", "||", "VALID_FP_MODE_P", "(", "mode", ")", ")", "return", "true", ";", "else", "if", "(", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", "||", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "hard", "register", "REGNO", "can", "hold", "a", "value", "of", "machine-mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_hard_regno_mode_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38953, "Length": 343}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_hard_regno_nregs", "(", "unsigned", "int", "regno", ",", "machine_mode", "mode", ")", "{", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", ")", "{", "if", "(", "mode", "==", "XFmode", ")", "return", "TARGET_64BIT", "?", "2", ":", "3", ";", "if", "(", "mode", "==", "XCmode", ")", "return", "TARGET_64BIT", "?", "4", ":", "6", ";", "return", "CEIL", "(", "GET_MODE_SIZE", "(", "mode", ")", ",", "UNITS_PER_WORD", ")", ";", "}", "if", "(", "COMPLEX_MODE_P", "(", "mode", ")", ")", "return", "2", ";", "if", "(", "mode", "==", "P2QImode", "||", "mode", "==", "P2HImode", ")", "return", "2", ";", "if", "(", "mode", "==", "V64SFmode", "||", "mode", "==", "V64SImode", ")", "return", "4", ";", "return", "1", ";", "}", ""], "natrual_language": ["Implement", "TARGET_HARD_REGNO_NREGS", ".", "This", "is", "ordinarily", "the", "length", "in", "words", "of", "a", "value", "of", "mode", "MODE", "but", "can", "be", "less", "for", "certain", "modes", "in", "special", "long", "registers", ".", "Actually", "there", "are", "no", "two", "word", "move", "instructions", "for", "consecutive", "registers", ".", "And", "only", "registers", "0-3", "may", "have", "mov", "byte", "instructions", "applied", "to", "them", "."], "TS_V_token": ["i386", "2", "3", "4", "6", "2", "2", "4", "1"], "File": "i386", "Func": "ix86_hard_regno_nregs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38954, "Length": 99}
{"ground_truth": ["", "static", "bool", "ix86_hard_regno_scratch_ok", "(", "unsigned", "int", "regno", ")", "{", "return", "(", "!", "cfun", "->", "machine", "->", "no_caller_saved_registers", "||", "(", "!", "epilogue_completed", "&&", "df_regs_ever_live_p", "(", "regno", ")", ")", ")", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "register", "REGNO", "can", "be", "used", "as", "a", "scratch", "register", "in", "peephole2", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_hard_regno_scratch_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38955, "Length": 30}
{"ground_truth": ["", "static", "int", "ix86_i387_mode_needed", "(", "int", "entity", ",", "rtx_insn", "*", "insn", ")", "{", "enum", "attr_i387_cw", "mode", ";", "if", "(", "CALL_P", "(", "insn", ")", "||", "(", "NONJUMP_INSN_P", "(", "insn", ")", "&&", "(", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", ">=", "0", "||", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "ASM_INPUT", ")", ")", ")", "return", "I387_CW_UNINITIALIZED", ";", "if", "(", "recog_memoized", "(", "insn", ")", "<", "0", ")", "return", "I387_CW_ANY", ";", "mode", "=", "get_attr_i387_cw", "(", "insn", ")", ";", "switch", "(", "entity", ")", "{", "case", "I387_ROUNDEVEN", ":", "if", "(", "mode", "==", "I387_CW_ROUNDEVEN", ")", "return", "mode", ";", "break", ";", "case", "I387_TRUNC", ":", "if", "(", "mode", "==", "I387_CW_TRUNC", ")", "return", "mode", ";", "break", ";", "case", "I387_FLOOR", ":", "if", "(", "mode", "==", "I387_CW_FLOOR", ")", "return", "mode", ";", "break", ";", "case", "I387_CEIL", ":", "if", "(", "mode", "==", "I387_CW_CEIL", ")", "return", "mode", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "I387_CW_ANY", ";", "}", ""], "natrual_language": ["Return", "mode", "that", "i387", "must", "be", "switched", "into", "prior", "to", "the", "execution", "of", "insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386", "Func": "ix86_i387_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38956, "Length": 146}
{"ground_truth": ["", "void", "ix86_initialize_callee_abi", "(", "unsigned", "int", "abi_id", ")", "{", "gcc_assert", "(", "abi_id", "==", "ABI_VZEROUPPER", ")", ";", "predefined_function_abi", "&", "vzeroupper_abi", "=", "function_abis", "[", "abi_id", "]", ";", "if", "(", "!", "vzeroupper_abi", ".", "initialized_p", "(", ")", ")", "{", "HARD_REG_SET", "full_reg_clobbers", ";", "CLEAR_HARD_REG_SET", "(", "full_reg_clobbers", ")", ";", "vzeroupper_abi", ".", "initialize", "(", "ABI_VZEROUPPER", ",", "full_reg_clobbers", ")", ";", "}", "}", ""], "natrual_language": ["Initialize", "function_abis", "with", "corresponding", "abi_id", ",", "currently", "only", "handle", "vzeroupper", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_initialize_callee_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38957, "Length": 53}
{"ground_truth": ["", "HOST_WIDE_INT", "ix86_initial_elimination_offset", "(", "int", "from", ",", "int", "to", ")", "{", "struct", "ix86_frame", "&", "frame", "=", "cfun", "->", "machine", "->", "frame", ";", "if", "(", "from", "==", "ARG_POINTER_REGNUM", "&&", "to", "==", "HARD_FRAME_POINTER_REGNUM", ")", "return", "frame", ".", "hard_frame_pointer_offset", ";", "else", "if", "(", "from", "==", "FRAME_POINTER_REGNUM", "&&", "to", "==", "HARD_FRAME_POINTER_REGNUM", ")", "return", "frame", ".", "hard_frame_pointer_offset", "-", "frame", ".", "frame_pointer_offset", ";", "else", "{", "gcc_assert", "(", "to", "==", "STACK_POINTER_REGNUM", ")", ";", "if", "(", "from", "==", "ARG_POINTER_REGNUM", ")", "return", "frame", ".", "stack_pointer_offset", ";", "gcc_assert", "(", "from", "==", "FRAME_POINTER_REGNUM", ")", ";", "return", "frame", ".", "stack_pointer_offset", "-", "frame", ".", "frame_pointer_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": ["i386"], "File": "i386", "Func": "ix86_initial_elimination_offset", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38958, "Length": 94}
{"ground_truth": ["", "static", "void", "*", "ix86_init_cost", "(", "class", "loop", "*", ")", "{", "unsigned", "*", "cost", "=", "XNEWVEC", "(", "unsigned", ",", "3", ")", ";", "cost", "[", "vect_prologue", "]", "=", "cost", "[", "vect_body", "]", "=", "cost", "[", "vect_epilogue", "]", "=", "0", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.init_cost", "."], "TS_V_token": ["i386", "3", "0"], "File": "i386", "Func": "ix86_init_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38959, "Length": 42}
{"ground_truth": ["", "static", "void", "ix86_init_large_pic_reg", "(", "unsigned", "int", "tmp_regno", ")", "{", "rtx_code_label", "*", "label", ";", "rtx", "tmp_reg", ";", "gcc_assert", "(", "Pmode", "==", "DImode", ")", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "emit_label", "(", "label", ")", ";", "LABEL_PRESERVE_P", "(", "label", ")", "=", "1", ";", "tmp_reg", "=", "gen_rtx_REG", "(", "Pmode", ",", "tmp_regno", ")", ";", "gcc_assert", "(", "REGNO", "(", "pic_offset_table_rtx", ")", "!=", "tmp_regno", ")", ";", "emit_insn", "(", "gen_set_rip_rex64", "(", "pic_offset_table_rtx", ",", "label", ")", ")", ";", "emit_insn", "(", "gen_set_got_offset_rex64", "(", "tmp_reg", ",", "label", ")", ")", ";", "emit_insn", "(", "gen_add2_insn", "(", "pic_offset_table_rtx", ",", "tmp_reg", ")", ")", ";", "const", "char", "*", "name", "=", "LABEL_NAME", "(", "label", ")", ";", "PUT_CODE", "(", "label", ",", "NOTE", ")", ";", "NOTE_KIND", "(", "label", ")", "=", "NOTE_INSN_DELETED_LABEL", ";", "NOTE_DELETED_LABEL_NAME", "(", "label", ")", "=", "name", ";", "}", ""], "natrual_language": ["Initialize", "large", "model", "PIC", "register", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_init_large_pic_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38960, "Length": 122}
{"ground_truth": ["", "static", "void", "ix86_init_pic_reg", "(", "void", ")", "{", "edge", "entry_edge", ";", "rtx_insn", "*", "seq", ";", "if", "(", "!", "ix86_use_pseudo_pic_reg", "(", ")", ")", "return", ";", "start_sequence", "(", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "ix86_cmodel", "==", "CM_LARGE_PIC", ")", "ix86_init_large_pic_reg", "(", "R11_REG", ")", ";", "else", "emit_insn", "(", "gen_set_got_rex64", "(", "pic_offset_table_rtx", ")", ")", ";", "}", "else", "{", "rtx", "reg", "=", "crtl", "->", "profile", "?", "gen_rtx_REG", "(", "Pmode", ",", "REAL_PIC_OFFSET_TABLE_REGNUM", ")", ":", "pic_offset_table_rtx", ";", "rtx_insn", "*", "insn", "=", "emit_insn", "(", "gen_set_got", "(", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "crtl", "->", "profile", ")", "emit_move_insn", "(", "pic_offset_table_rtx", ",", "reg", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_FLUSH_QUEUE", ",", "NULL_RTX", ")", ";", "}", "seq", "=", "get_insns", "(", ")", ";", "end_sequence", "(", ")", ";", "entry_edge", "=", "single_succ_edge", "(", "ENTRY_BLOCK_PTR_FOR_FN", "(", "cfun", ")", ")", ";", "insert_insn_on_edge", "(", "seq", ",", "entry_edge", ")", ";", "commit_one_edge_insertion", "(", "entry_edge", ")", ";", "}", ""], "natrual_language": ["Create", "and", "initialize", "PIC", "register", "if", "required", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_init_pic_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38961, "Length": 146}
{"ground_truth": ["", "const", "predefined_function_abi", "&", "ix86_insn_callee_abi", "(", "const", "rtx_insn", "*", "insn", ")", "{", "unsigned", "int", "abi_id", "=", "0", ";", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "vzeroupper_pattern", "(", "pat", ",", "VOIDmode", ")", ")", "abi_id", "=", "ABI_VZEROUPPER", ";", "return", "function_abis", "[", "abi_id", "]", ";", "}", ""], "natrual_language": ["Implement", "TARGET_INSN_CALLEE_ABI", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_insn_callee_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38962, "Length": 45}
{"ground_truth": ["", "static", "rtx", "ix86_internal_arg_pointer", "(", "void", ")", "{", "return", "virtual_incoming_args_rtx", ";", "}", ""], "natrual_language": ["Handle", "the", "TARGET_INTERNAL_ARG_POINTER", "hook", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_internal_arg_pointer", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38963, "Length": 11}
{"ground_truth": ["", "static", "bool", "ix86_in_large_data_p", "(", "tree", "exp", ")", "{", "if", "(", "ix86_cmodel", "!=", "CM_MEDIUM", "&&", "ix86_cmodel", "!=", "CM_MEDIUM_PIC", ")", "return", "false", ";", "if", "(", "exp", "==", "NULL_TREE", ")", "return", "false", ";", "if", "(", "TREE_CODE", "(", "exp", ")", "==", "FUNCTION_DECL", ")", "return", "false", ";", "if", "(", "VAR_P", "(", "exp", ")", "&&", "!", "is_global_var", "(", "exp", ")", ")", "return", "false", ";", "if", "(", "VAR_P", "(", "exp", ")", "&&", "DECL_SECTION_NAME", "(", "exp", ")", ")", "{", "const", "char", "*", "section", "=", "DECL_SECTION_NAME", "(", "exp", ")", ";", "if", "(", "strcmp", "(", "section", ",", "\".ldata\"", ")", "==", "0", "||", "strcmp", "(", "section", ",", "\".lbss\"", ")", "==", "0", ")", "return", "true", ";", "return", "false", ";", "}", "else", "{", "HOST_WIDE_INT", "size", "=", "int_size_in_bytes", "(", "TREE_TYPE", "(", "exp", ")", ")", ";", "if", "(", "size", "<=", "0", "||", "size", ">", "ix86_section_threshold", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "this", "goes", "in", "small", "data/bss", "."], "TS_V_token": ["i386", "\".ldata\"", "0", "\".lbss\"", "0", "0"], "File": "i386", "Func": "ix86_in_large_data_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38964, "Length": 139}
{"ground_truth": ["", "static", "bool", "ix86_is_empty_record", "(", "const_tree", "type", ")", "{", "if", "(", "!", "TARGET_64BIT", ")", "return", "false", ";", "return", "default_is_empty_record", "(", "type", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_EMPTY_RECORD_P", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_is_empty_record", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38965, "Length": 23}
{"ground_truth": ["", "bool", "ix86_lea_for_add_ok", "(", "rtx_insn", "*", "insn", ",", "rtx", "operands", "[", "]", ")", "{", "unsigned", "int", "regno0", "=", "true_regnum", "(", "operands", "[", "0", "]", ")", ";", "unsigned", "int", "regno1", "=", "true_regnum", "(", "operands", "[", "1", "]", ")", ";", "unsigned", "int", "regno2", "=", "true_regnum", "(", "operands", "[", "2", "]", ")", ";", "if", "(", "regno0", "!=", "regno1", "&&", "regno0", "!=", "regno2", ")", "return", "true", ";", "if", "(", "!", "TARGET_OPT_AGU", "||", "optimize_function_for_size_p", "(", "cfun", ")", ")", "return", "false", ";", "return", "ix86_lea_outperforms", "(", "insn", ",", "regno0", ",", "regno1", ",", "regno2", ",", "0", ",", "false", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "ok", "to", "optimize", "an", "ADD", "operation", "to", "LEA", "operation", "to", "avoid", "flag", "register", "consumation", ".", "For", "most", "processors", ",", "ADD", "is", "faster", "than", "LEA", ".", "For", "the", "processors", "like", "BONNELL", ",", "if", "the", "destination", "register", "of", "LEA", "holds", "an", "actual", "address", "which", "will", "be", "used", "soon", ",", "LEA", "is", "better", "and", "otherwise", "ADD", "is", "better", "."], "TS_V_token": ["i386", "0", "1", "2", "0"], "File": "i386", "Func": "ix86_lea_for_add_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38966, "Length": 92}
{"ground_truth": ["", "static", "bool", "ix86_lea_outperforms", "(", "rtx_insn", "*", "insn", ",", "unsigned", "int", "regno0", ",", "unsigned", "int", "regno1", ",", "unsigned", "int", "regno2", ",", "int", "split_cost", ",", "bool", "has_scale", ")", "{", "int", "dist_define", ",", "dist_use", ";", "if", "(", "!", "TARGET_CPU_P", "(", "BONNELL", ")", ")", "{", "if", "(", "has_scale", ")", "return", "true", ";", "if", "(", "split_cost", "<", "1", ")", "return", "false", ";", "if", "(", "regno0", "==", "regno1", "||", "regno0", "==", "regno2", ")", "return", "false", ";", "return", "true", ";", "}", "struct", "recog_data_d", "recog_data_save", "=", "recog_data", ";", "dist_define", "=", "distance_non_agu_define", "(", "regno1", ",", "regno2", ",", "insn", ")", ";", "dist_use", "=", "distance_agu_use", "(", "regno0", ",", "insn", ")", ";", "recog_data", "=", "recog_data_save", ";", "if", "(", "dist_define", "<", "0", "||", "dist_define", ">=", "LEA_MAX_STALL", ")", "{", "if", "(", "dist_use", "<", "0", "&&", "split_cost", "==", "0", ")", "return", "TARGET_64BIT", "||", "IX86_LEA_PRIORITY", ";", "else", "return", "true", ";", "}", "dist_define", "+=", "split_cost", "+", "IX86_LEA_PRIORITY", ";", "if", "(", "dist_use", "<", "0", ")", "return", "dist_define", ">", "LEA_MAX_STALL", ";", "return", "dist_define", ">=", "dist_use", ";", "}", ""], "natrual_language": ["Return", "true", "if", "usage", "of", "lea", "INSN", "has", "performance", "advantage", "over", "a", "sequence", "of", "instructions", ".", "Instructions", "sequence", "has", "SPLIT_COST", "cycles", "higher", "latency", "than", "lea", "latency", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0"], "File": "i386", "Func": "ix86_lea_outperforms", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38967, "Length": 158}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_combined_insn", "(", "rtx_insn", "*", "insn", ")", "{", "int", "i", ";", "gcc_assert", "(", "INSN_CODE", "(", "insn", ")", ">=", "0", ")", ";", "extract_insn", "(", "insn", ")", ";", "preprocess_constraints", "(", "insn", ")", ";", "int", "n_operands", "=", "recog_data", ".", "n_operands", ";", "int", "n_alternatives", "=", "recog_data", ".", "n_alternatives", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_operands", ";", "i", "++", ")", "{", "rtx", "op", "=", "recog_data", ".", "operand", "[", "i", "]", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "op", ")", ";", "const", "operand_alternative", "*", "op_alt", ";", "int", "offset", "=", "0", ";", "bool", "win", ";", "int", "j", ";", "if", "(", "UNARY_P", "(", "op", ")", ")", "op", "=", "XEXP", "(", "op", ",", "0", ")", ";", "if", "(", "SUBREG_P", "(", "op", ")", ")", "{", "if", "(", "REG_P", "(", "SUBREG_REG", "(", "op", ")", ")", "&&", "REGNO", "(", "SUBREG_REG", "(", "op", ")", ")", "<", "FIRST_PSEUDO_REGISTER", ")", "offset", "=", "subreg_regno_offset", "(", "REGNO", "(", "SUBREG_REG", "(", "op", ")", ")", ",", "GET_MODE", "(", "SUBREG_REG", "(", "op", ")", ")", ",", "SUBREG_BYTE", "(", "op", ")", ",", "GET_MODE", "(", "op", ")", ")", ";", "op", "=", "SUBREG_REG", "(", "op", ")", ";", "}", "if", "(", "!", "(", "REG_P", "(", "op", ")", "&&", "HARD_REGISTER_P", "(", "op", ")", ")", ")", "continue", ";", "op_alt", "=", "recog_op_alt", ";", "win", "=", "!", "n_alternatives", ";", "alternative_mask", "preferred", "=", "get_preferred_alternatives", "(", "insn", ")", ";", "for", "(", "j", "=", "0", ";", "j", "<", "n_alternatives", ";", "j", "++", ",", "op_alt", "+=", "n_operands", ")", "{", "if", "(", "!", "TEST_BIT", "(", "preferred", ",", "j", ")", ")", "continue", ";", "if", "(", "op_alt", "[", "i", "]", ".", "anything_ok", "||", "(", "op_alt", "[", "i", "]", ".", "matches", "!=", "-", "1", "&&", "operands_match_p", "(", "recog_data", ".", "operand", "[", "i", "]", ",", "recog_data", ".", "operand", "[", "op_alt", "[", "i", "]", ".", "matches", "]", ")", ")", "||", "reg_fits_class_p", "(", "op", ",", "op_alt", "[", "i", "]", ".", "cl", ",", "offset", ",", "mode", ")", ")", "{", "win", "=", "true", ";", "break", ";", "}", "}", "if", "(", "!", "win", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Implement", "the", "TARGET_LEGITIMATE_COMBINED_INSN", "hook", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "1"], "File": "i386", "Func": "ix86_legitimate_combined_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38968, "Length": 322}
{"ground_truth": ["", "static", "bool", "ix86_legitimate_constant_p", "(", "machine_mode", "mode", ",", "rtx", "x", ")", "{", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "{", "if", "(", "!", "CONST_INT_P", "(", "XEXP", "(", "x", ",", "1", ")", ")", ")", "return", "false", ";", "x", "=", "XEXP", "(", "x", ",", "0", ")", ";", "}", "if", "(", "TARGET_MACHO", "&&", "darwin_local_data_pic", "(", "x", ")", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "x", ",", "1", ")", ")", "{", "case", "UNSPEC_GOT", ":", "case", "UNSPEC_GOTOFF", ":", "case", "UNSPEC_PLTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "case", "UNSPEC_NTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "case", "UNSPEC_DTPOFF", ":", "x", "=", "XVECEXP", "(", "x", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_DYNAMIC", ")", ";", "default", ":", "return", "false", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "LABEL_REF", ")", "return", "true", ";", "if", "(", "GET_CODE", "(", "x", ")", "!=", "SYMBOL_REF", ")", "return", "false", ";", "case", "SYMBOL_REF", ":", "if", "(", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", ")", "return", "false", ";", "if", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "x", ")", ")", "return", "false", ";", "if", "(", "MACHO_DYNAMIC_NO_PIC_P", ")", "return", "machopic_symbol_defined_p", "(", "x", ")", ";", "if", "(", "ix86_force_load_from_GOT_p", "(", "x", ")", ")", "return", "false", ";", "break", ";", "CASE_CONST_SCALAR_INT", ":", "if", "(", "ix86_endbr_immediate_operand", "(", "x", ",", "VOIDmode", ")", ")", "return", "false", ";", "switch", "(", "mode", ")", "{", "case", "E_TImode", ":", "if", "(", "TARGET_64BIT", ")", "return", "true", ";", "case", "E_OImode", ":", "case", "E_XImode", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ",", "mode", ")", "&&", "GET_MODE_SIZE", "(", "TARGET_AVX512F", "?", "XImode", ":", "(", "TARGET_AVX", "?", "OImode", ":", "(", "TARGET_SSE2", "?", "TImode", ":", "DImode", ")", ")", ")", "<", "GET_MODE_SIZE", "(", "mode", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "break", ";", "case", "CONST_VECTOR", ":", "if", "(", "!", "standard_sse_constant_p", "(", "x", ",", "mode", ")", ")", "return", "false", ";", "default", ":", "break", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["Determine", "if", "a", "given", "RTX", "is", "a", "valid", "constant", ".", "We", "already", "know", "this", "satisfies", "CONSTANT_P", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0", "0", "0"], "File": "i386", "Func": "ix86_legitimate_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38969, "Length": 358}
{"ground_truth": ["", "rtx", "ix86_libcall_value", "(", "machine_mode", "mode", ")", "{", "return", "ix86_function_value_1", "(", "NULL", ",", "NULL", ",", "mode", ",", "mode", ")", ";", "}", ""], "natrual_language": ["Define", "how", "to", "find", "the", "value", "returned", "by", "a", "library", "function", "assuming", "the", "value", "has", "mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_libcall_value", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38970, "Length": 20}
{"ground_truth": ["", "bool", "ix86_libc_has_function", "(", "enum", "function_class", "fn_class", ")", "{", "return", "targetm", ".", "libc_has_function", "(", "fn_class", ",", "NULL_TREE", ")", ";", "}", ""], "natrual_language": ["We", "add", "this", "as", "a", "workaround", "in", "order", "to", "use", "libc_has_function", "hook", "in", "i386.md", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_libc_has_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38971, "Length": 19}
{"ground_truth": ["", "static", "bool", "ix86_libgcc_floating_mode_supported_p", "(", "scalar_float_mode", "mode", ")", "{", "return", "(", "(", "mode", "==", "HFmode", "&&", "TARGET_SSE2", ")", "?", "true", ":", "default_libgcc_floating_mode_supported_p", "(", "mode", ")", ")", ";", "}", ""], "natrual_language": ["Implement", "target", "hook", "libgcc_floating_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_libgcc_floating_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38972, "Length": 27}
{"ground_truth": ["", "static", "void", "ix86_live_on_entry", "(", "bitmap", "regs", ")", "{", "if", "(", "cfun", "->", "machine", "->", "split_stack_varargs_pointer", "!=", "NULL_RTX", ")", "{", "gcc_assert", "(", "flag_split_stack", ")", ";", "bitmap_set_bit", "(", "regs", ",", "split_stack_prologue_scratch_regno", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["We", "may", "have", "to", "tell", "the", "dataflow", "pass", "that", "the", "split", "stack", "prologue", "is", "initializing", "a", "scratch", "register", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_live_on_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38973, "Length": 35}
{"ground_truth": ["", "unsigned", "int", "ix86_local_alignment", "(", "tree", "exp", ",", "machine_mode", "mode", ",", "unsigned", "int", "align", ",", "bool", "may_lower", ")", "{", "tree", "type", ",", "decl", ";", "if", "(", "exp", "&&", "DECL_P", "(", "exp", ")", ")", "{", "type", "=", "TREE_TYPE", "(", "exp", ")", ";", "decl", "=", "exp", ";", "}", "else", "{", "type", "=", "exp", ";", "decl", "=", "NULL", ";", "}", "if", "(", "may_lower", "&&", "!", "TARGET_64BIT", "&&", "align", "==", "64", "&&", "ix86_preferred_stack_boundary", "<", "64", "&&", "(", "mode", "==", "DImode", "||", "(", "type", "&&", "TYPE_MODE", "(", "type", ")", "==", "DImode", ")", ")", "&&", "(", "!", "type", "||", "(", "!", "TYPE_USER_ALIGN", "(", "type", ")", "&&", "!", "TYPE_ATOMIC", "(", "strip_array_types", "(", "type", ")", ")", ")", ")", "&&", "(", "!", "decl", "||", "!", "DECL_USER_ALIGN", "(", "decl", ")", ")", ")", "align", "=", "32", ";", "if", "(", "!", "type", ")", "{", "if", "(", "mode", "==", "XFmode", "&&", "align", "<", "GET_MODE_ALIGNMENT", "(", "DFmode", ")", ")", "align", "=", "GET_MODE_ALIGNMENT", "(", "DFmode", ")", ";", "return", "align", ";", "}", "if", "(", "TARGET_IAMCU", ")", "return", "align", ";", "if", "(", "TARGET_64BIT", "&&", "optimize_function_for_speed_p", "(", "cfun", ")", "&&", "TARGET_SSE", ")", "{", "if", "(", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "(", "va_list_type_node", "==", "NULL_TREE", "||", "(", "TYPE_MAIN_VARIANT", "(", "type", ")", "!=", "TYPE_MAIN_VARIANT", "(", "va_list_type_node", ")", ")", ")", "&&", "TYPE_SIZE", "(", "type", ")", "&&", "TREE_CODE", "(", "TYPE_SIZE", "(", "type", ")", ")", "==", "INTEGER_CST", "&&", "wi", "::", "geu_p", "(", "wi", "::", "to_wide", "(", "TYPE_SIZE", "(", "type", ")", ")", ",", "128", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "COMPLEX_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DCmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "(", "TYPE_MODE", "(", "type", ")", "==", "XCmode", "||", "TYPE_MODE", "(", "type", ")", "==", "TCmode", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "(", "TREE_CODE", "(", "type", ")", "==", "RECORD_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "QUAL_UNION_TYPE", ")", "&&", "TYPE_FIELDS", "(", "type", ")", ")", "{", "if", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "DECL_MODE", "(", "TYPE_FIELDS", "(", "type", ")", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "else", "if", "(", "TREE_CODE", "(", "type", ")", "==", "REAL_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "||", "TREE_CODE", "(", "type", ")", "==", "INTEGER_TYPE", ")", "{", "if", "(", "TYPE_MODE", "(", "type", ")", "==", "DFmode", "&&", "align", "<", "64", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "TYPE_MODE", "(", "type", ")", ")", "&&", "align", "<", "128", ")", "return", "128", ";", "}", "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": ["i386", "64", "64", "32", "128", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128", "64", "64", "128", "128"], "File": "i386", "Func": "ix86_local_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38974, "Length": 477}
{"ground_truth": ["", "static", "unsigned", "ix86_loop_unroll_adjust", "(", "unsigned", "nunroll", ",", "class", "loop", "*", "loop", ")", "{", "basic_block", "*", "bbs", ";", "rtx_insn", "*", "insn", ";", "unsigned", "i", ";", "unsigned", "mem_count", "=", "0", ";", "if", "(", "!", "TARGET_ADJUST_UNROLL", ")", "return", "nunroll", ";", "subrtx_iterator", "::", "array_type", "array", ";", "bbs", "=", "get_loop_body", "(", "loop", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "loop", "->", "num_nodes", ";", "i", "++", ")", "FOR_BB_INSNS", "(", "bbs", "[", "i", "]", ",", "insn", ")", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "PATTERN", "(", "insn", ")", ",", "NONCONST", ")", "if", "(", "const_rtx", "x", "=", "*", "iter", ")", "if", "(", "MEM_P", "(", "x", ")", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "unsigned", "int", "n_words", "=", "GET_MODE_SIZE", "(", "mode", ")", "/", "UNITS_PER_WORD", ";", "if", "(", "n_words", ">", "4", ")", "mem_count", "+=", "2", ";", "else", "mem_count", "+=", "1", ";", "}", "free", "(", "bbs", ")", ";", "if", "(", "mem_count", "&&", "mem_count", "<=", "32", ")", "return", "MIN", "(", "nunroll", ",", "32", "/", "mem_count", ")", ";", "return", "nunroll", ";", "}", ""], "natrual_language": ["This", "function", "adjusts", "the", "unroll", "factor", "based", "on", "the", "hardware", "capabilities", ".", "For", "ex", ",", "bdver3", "has", "a", "loop", "buffer", "which", "makes", "unrolling", "of", "smaller", "loops", "less", "important", ".", "This", "function", "decides", "the", "unroll", "factor", "using", "number", "of", "memory", "references", "(", "value", "32", "is", "used", ")", "as", "a", "heuristic", "."], "TS_V_token": ["i386", "0", "0", "4", "2", "1", "32", "32"], "File": "i386", "Func": "ix86_loop_unroll_adjust", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38975, "Length": 171}
{"ground_truth": ["", "static", "void", "ix86_lower_local_decl_alignment", "(", "tree", "decl", ")", "{", "unsigned", "int", "new_align", "=", "ix86_local_alignment", "(", "decl", ",", "VOIDmode", ",", "DECL_ALIGN", "(", "decl", ")", ",", "true", ")", ";", "if", "(", "new_align", "<", "DECL_ALIGN", "(", "decl", ")", ")", "SET_DECL_ALIGN", "(", "decl", ",", "new_align", ")", ";", "}", ""], "natrual_language": ["Implememnt", "TARGET_LOWER_LOCAL_DECL_ALIGNMENT", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_lower_local_decl_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38976, "Length": 43}
{"ground_truth": ["", "static", "const", "char", "*", "ix86_mangle_type", "(", "const_tree", "type", ")", "{", "type", "=", "TYPE_MAIN_VARIANT", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "type", ")", "!=", "VOID_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "BOOLEAN_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "INTEGER_TYPE", "&&", "TREE_CODE", "(", "type", ")", "!=", "REAL_TYPE", ")", "return", "NULL", ";", "switch", "(", "TYPE_MODE", "(", "type", ")", ")", "{", "case", "E_HFmode", ":", "return", "\"DF16_\"", ";", "case", "E_TFmode", ":", "return", "\"g\"", ";", "case", "E_XFmode", ":", "return", "\"e\"", ";", "default", ":", "return", "NULL", ";", "}", "}", ""], "natrual_language": ["Return", "the", "mangling", "of", "TYPE", "if", "it", "is", "an", "extended", "fundamental", "type", "."], "TS_V_token": ["i386", "\"DF16_\"", "\"g\"", "\"e\""], "File": "i386", "Func": "ix86_mangle_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38977, "Length": 83}
{"ground_truth": ["", "static", "bool", "ix86_masked_all_ones", "(", "unsigned", "HOST_WIDE_INT", "elems", ",", "tree", "arg_mask", ")", "{", "if", "(", "TREE_CODE", "(", "arg_mask", ")", "!=", "INTEGER_CST", ")", "return", "false", ";", "unsigned", "HOST_WIDE_INT", "mask", "=", "TREE_INT_CST_LOW", "(", "arg_mask", ")", ";", "if", "(", "(", "mask", "|", "(", "HOST_WIDE_INT_M1U", "<<", "elems", ")", ")", "!=", "HOST_WIDE_INT_M1U", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "true", "if", "arg_mask", "is", "all", "ones", ",", "ELEMS", "is", "elements", "number", "of", "corresponding", "vector", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_masked_all_ones", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38978, "Length": 54}
{"ground_truth": ["", "bool", "ix86_match_ccmode", "(", "rtx", "insn", ",", "machine_mode", "req_mode", ")", "{", "rtx", "set", ";", "machine_mode", "set_mode", ";", "set", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "set", ")", "==", "PARALLEL", ")", "set", "=", "XVECEXP", "(", "set", ",", "0", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "set", ")", "==", "SET", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "COMPARE", ")", ";", "set_mode", "=", "GET_MODE", "(", "SET_DEST", "(", "set", ")", ")", ";", "switch", "(", "set_mode", ")", "{", "case", "E_CCNOmode", ":", "if", "(", "req_mode", "!=", "CCNOmode", "&&", "(", "req_mode", "!=", "CCmode", "||", "XEXP", "(", "SET_SRC", "(", "set", ")", ",", "1", ")", "!=", "const0_rtx", ")", ")", "return", "false", ";", "break", ";", "case", "E_CCmode", ":", "if", "(", "req_mode", "==", "CCGCmode", ")", "return", "false", ";", "case", "E_CCGCmode", ":", "if", "(", "req_mode", "==", "CCGOCmode", "||", "req_mode", "==", "CCNOmode", ")", "return", "false", ";", "case", "E_CCGOCmode", ":", "if", "(", "req_mode", "==", "CCZmode", ")", "return", "false", ";", "case", "E_CCZmode", ":", "break", ";", "case", "E_CCGZmode", ":", "case", "E_CCAmode", ":", "case", "E_CCCmode", ":", "case", "E_CCOmode", ":", "case", "E_CCPmode", ":", "case", "E_CCSmode", ":", "if", "(", "set_mode", "!=", "req_mode", ")", "return", "false", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "GET_MODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "set_mode", ";", "}", ""], "natrual_language": ["Return", "TRUE", "or", "FALSE", "depending", "on", "whether", "the", "first", "SET", "in", "INSN", "has", "source", "and", "destination", "with", "matching", "CC", "modes", ",", "and", "that", "the", "CC", "mode", "is", "at", "least", "as", "constrained", "as", "REQ_MODE", "."], "TS_V_token": ["i386", "0", "0", "1"], "File": "i386", "Func": "ix86_match_ccmode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38979, "Length": 206}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_max_noce_ifcvt_seq_cost", "(", "edge", "e", ")", "{", "bool", "predictable_p", "=", "predictable_edge_p", "(", "e", ")", ";", "if", "(", "predictable_p", ")", "{", "if", "(", "OPTION_SET_P", "(", "param_max_rtl_if_conversion_predictable_cost", ")", ")", "return", "param_max_rtl_if_conversion_predictable_cost", ";", "}", "else", "{", "if", "(", "OPTION_SET_P", "(", "param_max_rtl_if_conversion_unpredictable_cost", ")", ")", "return", "param_max_rtl_if_conversion_unpredictable_cost", ";", "}", "return", "BRANCH_COST", "(", "true", ",", "predictable_p", ")", "*", "COSTS_N_INSNS", "(", "2", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_MAX_NOCE_IFCVT_SEQ_COST", ".", "Like", "the", "default", "implementation", ",", "but", "returns", "a", "lower", "bound", "."], "TS_V_token": ["i386", "2"], "File": "i386", "Func": "ix86_max_noce_ifcvt_seq_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38980, "Length": 60}
{"ground_truth": ["", "static", "bool", "ix86_member_type_forces_blk", "(", "const_tree", "field", ",", "machine_mode", "mode", ")", "{", "return", "(", "mode", "==", "XFmode", "&&", "(", "TREE_CODE", "(", "DECL_FIELD_CONTEXT", "(", "field", ")", ")", "==", "UNION_TYPE", "||", "TREE_CODE", "(", "DECL_FIELD_CONTEXT", "(", "field", ")", ")", "==", "QUAL_UNION_TYPE", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "a", "structure", ",", "union", "or", "array", "with", "MODE", "containing", "FIELD", "should", "be", "accessed", "using", "BLKmode", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_member_type_forces_blk", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38981, "Length": 41}
{"ground_truth": ["", "static", "unsigned", "HOST_WIDE_INT", "ix86_memmodel_check", "(", "unsigned", "HOST_WIDE_INT", "val", ")", "{", "enum", "memmodel", "model", "=", "memmodel_from_int", "(", "val", ")", ";", "bool", "strong", ";", "if", "(", "val", "&", "~", "(", "unsigned", "HOST_WIDE_INT", ")", "(", "IX86_HLE_ACQUIRE", "|", "IX86_HLE_RELEASE", "|", "MEMMODEL_MASK", ")", "||", "(", "(", "val", "&", "IX86_HLE_ACQUIRE", ")", "&&", "(", "val", "&", "IX86_HLE_RELEASE", ")", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"unknown architecture specific memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", ";", "}", "strong", "=", "(", "is_mm_acq_rel", "(", "model", ")", "||", "is_mm_seq_cst", "(", "model", ")", ")", ";", "if", "(", "val", "&", "IX86_HLE_ACQUIRE", "&&", "!", "(", "is_mm_acquire", "(", "model", ")", "||", "strong", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"% not used with % or stronger \"", "\"memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", "|", "IX86_HLE_ACQUIRE", ";", "}", "if", "(", "val", "&", "IX86_HLE_RELEASE", "&&", "!", "(", "is_mm_release", "(", "model", ")", "||", "strong", ")", ")", "{", "warning", "(", "OPT_Winvalid_memory_model", ",", "\"% not used with % or stronger \"", "\"memory model\"", ")", ";", "return", "MEMMODEL_SEQ_CST", "|", "IX86_HLE_RELEASE", ";", "}", "return", "val", ";", "}", ""], "natrual_language": ["Validate", "target", "specific", "memory", "model", "bits", "in", "VAL", "."], "TS_V_token": ["i386", "\"unknown architecture specific memory model\"", "\"% not used with % or stronger \"", "\"memory model\"", "\"% not used with % or stronger \"", "\"memory model\""], "File": "i386", "Func": "ix86_memmodel_check", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38982, "Length": 145}
{"ground_truth": ["", "static", "int", "ix86_memory_move_cost", "(", "machine_mode", "mode", ",", "reg_class_t", "regclass", ",", "bool", "in", ")", "{", "return", "inline_memory_move_cost", "(", "mode", ",", "(", "enum", "reg_class", ")", "regclass", ",", "in", "?", "1", ":", "0", ")", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "of", "mode", "M", "between", "a", "register", "and", "memory", ".", "A", "value", "of", "2", "is", "the", "default", ";", "this", "cost", "is", "relative", "to", "those", "in", "`", "REGISTER_MOVE_COST", "'", ".", "If", "moving", "between", "registers", "and", "memory", "is", "more", "expensive", "than", "between", "two", "registers", ",", "you", "should", "define", "this", "macro", "to", "express", "the", "relative", "cost", ".", "Model", "also", "increased", "moving", "costs", "of", "QImode", "registers", "in", "non", "Q_REGS", "classes", "."], "TS_V_token": ["i386", "1", "0"], "File": "i386", "Func": "ix86_memory_move_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38983, "Length": 33}
{"ground_truth": ["", "unsigned", "int", "ix86_minimum_alignment", "(", "tree", "exp", ",", "machine_mode", "mode", ",", "unsigned", "int", "align", ")", "{", "tree", "type", ",", "decl", ";", "if", "(", "exp", "&&", "DECL_P", "(", "exp", ")", ")", "{", "type", "=", "TREE_TYPE", "(", "exp", ")", ";", "decl", "=", "exp", ";", "}", "else", "{", "type", "=", "exp", ";", "decl", "=", "NULL", ";", "}", "if", "(", "TARGET_64BIT", "||", "align", "!=", "64", "||", "ix86_preferred_stack_boundary", ">=", "64", ")", "return", "align", ";", "if", "(", "(", "mode", "==", "DImode", "||", "(", "type", "&&", "TYPE_MODE", "(", "type", ")", "==", "DImode", ")", ")", "&&", "(", "!", "type", "||", "(", "!", "TYPE_USER_ALIGN", "(", "type", ")", "&&", "!", "TYPE_ATOMIC", "(", "strip_array_types", "(", "type", ")", ")", ")", ")", "&&", "(", "!", "decl", "||", "!", "DECL_USER_ALIGN", "(", "decl", ")", ")", ")", "{", "gcc_checking_assert", "(", "!", "TARGET_STV", ")", ";", "return", "32", ";", "}", "return", "align", ";", "}", ""], "natrual_language": ["Compute", "the", "minimum", "required", "alignment", "for", "dynamic", "stack", "realignment", "purposes", "for", "a", "local", "variable", ",", "parameter", "or", "a", "stack", "slot", ".", "EXP", "is", "the", "data", "type", "or", "decl", "itself", ",", "MODE", "is", "its", "mode", "and", "ALIGN", "is", "the", "alignment", "that", "the", "object", "would", "ordinarily", "have", "."], "TS_V_token": ["i386", "64", "64", "32"], "File": "i386", "Func": "ix86_minimum_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38984, "Length": 135}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_minimum_incoming_stack_boundary", "(", "bool", "sibcall", ")", "{", "unsigned", "int", "incoming_stack_boundary", ";", "if", "(", "cfun", "->", "machine", "->", "func_type", "!=", "TYPE_NORMAL", ")", "incoming_stack_boundary", "=", "TARGET_64BIT", "?", "128", ":", "MIN_STACK_BOUNDARY", ";", "else", "if", "(", "ix86_user_incoming_stack_boundary", ")", "incoming_stack_boundary", "=", "ix86_user_incoming_stack_boundary", ";", "else", "if", "(", "!", "sibcall", "&&", "ix86_force_align_arg_pointer", "&&", "crtl", "->", "stack_alignment_estimated", "==", "128", ")", "incoming_stack_boundary", "=", "MIN_STACK_BOUNDARY", ";", "else", "incoming_stack_boundary", "=", "ix86_default_incoming_stack_boundary", ";", "if", "(", "incoming_stack_boundary", ">", "MIN_STACK_BOUNDARY", "&&", "lookup_attribute", "(", "\"force_align_arg_pointer\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ")", ")", "incoming_stack_boundary", "=", "MIN_STACK_BOUNDARY", ";", "if", "(", "incoming_stack_boundary", "<", "crtl", "->", "parm_stack_boundary", ")", "incoming_stack_boundary", "=", "crtl", "->", "parm_stack_boundary", ";", "if", "(", "incoming_stack_boundary", ">", "MAIN_STACK_BOUNDARY", "&&", "DECL_NAME", "(", "current_function_decl", ")", "&&", "MAIN_NAME_P", "(", "DECL_NAME", "(", "current_function_decl", ")", ")", "&&", "DECL_FILE_SCOPE_P", "(", "current_function_decl", ")", ")", "incoming_stack_boundary", "=", "MAIN_STACK_BOUNDARY", ";", "return", "incoming_stack_boundary", ";", "}", ""], "natrual_language": ["Return", "minimum", "incoming", "stack", "alignment", "."], "TS_V_token": ["i386", "128", "128", "\"force_align_arg_pointer\""], "File": "i386", "Func": "ix86_minimum_incoming_stack_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38985, "Length": 132}
{"ground_truth": ["", "int", "ix86_min_insn_size", "(", "rtx_insn", "*", "insn", ")", "{", "int", "l", "=", "0", ",", "len", ";", "if", "(", "!", "INSN_P", "(", "insn", ")", "||", "!", "active_insn_p", "(", "insn", ")", ")", "return", "0", ";", "if", "(", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "UNSPEC_VOLATILE", "&&", "XINT", "(", "PATTERN", "(", "insn", ")", ",", "1", ")", "==", "UNSPECV_ALIGN", ")", "return", "0", ";", "if", "(", "CALL_P", "(", "insn", ")", "&&", "symbolic_reference_mentioned_p", "(", "PATTERN", "(", "insn", ")", ")", "&&", "!", "SIBLING_CALL_P", "(", "insn", ")", ")", "return", "5", ";", "len", "=", "get_attr_length", "(", "insn", ")", ";", "if", "(", "len", "<=", "1", ")", "return", "1", ";", "if", "(", "!", "JUMP_P", "(", "insn", ")", ")", "{", "enum", "attr_type", "type", "=", "get_attr_type", "(", "insn", ")", ";", "switch", "(", "type", ")", "{", "case", "TYPE_MULTI", ":", "if", "(", "GET_CODE", "(", "PATTERN", "(", "insn", ")", ")", "==", "ASM_INPUT", "||", "asm_noperands", "(", "PATTERN", "(", "insn", ")", ")", ">=", "0", ")", "return", "0", ";", "break", ";", "case", "TYPE_OTHER", ":", "case", "TYPE_FCMP", ":", "break", ";", "default", ":", "return", "len", ";", "}", "l", "=", "get_attr_length_address", "(", "insn", ")", ";", "if", "(", "l", "<", "4", "&&", "symbolic_reference_mentioned_p", "(", "PATTERN", "(", "insn", ")", ")", ")", "l", "=", "4", ";", "}", "if", "(", "l", ")", "return", "1", "+", "l", ";", "else", "return", "2", ";", "}", ""], "natrual_language": ["We", "do", "n't", "have", "exact", "information", "about", "the", "insn", "sizes", ",", "but", "we", "may", "assume", "quite", "safely", "that", "we", "are", "informed", "about", "all", "1", "byte", "insns", "and", "memory", "address", "sizes", ".", "This", "is", "enough", "to", "eliminate", "unnecessary", "padding", "in", "99", "%", "of", "cases", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "5", "1", "1", "0", "0", "4", "4", "1", "2"], "File": "i386", "Func": "ix86_min_insn_size", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38986, "Length": 206}
{"ground_truth": ["", "static", "bool", "ix86_modes_tieable_p", "(", "machine_mode", "mode1", ",", "machine_mode", "mode2", ")", "{", "if", "(", "mode1", "==", "mode2", ")", "return", "true", ";", "if", "(", "ix86_tieable_integer_mode_p", "(", "mode1", ")", "&&", "ix86_tieable_integer_mode_p", "(", "mode2", ")", ")", "return", "true", ";", "if", "(", "mode2", "==", "XFmode", ")", "return", "mode1", "==", "SFmode", "||", "mode1", "==", "DFmode", ";", "if", "(", "mode2", "==", "DFmode", ")", "return", "mode1", "==", "SFmode", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "64", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "64", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "32", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "32", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "16", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "16", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_SSE_REG", ",", "mode1", ")", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode2", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode2", ")", ")", "return", "(", "GET_MODE_SIZE", "(", "mode1", ")", "==", "8", "&&", "ix86_hard_regno_mode_ok", "(", "FIRST_MMX_REG", ",", "mode1", ")", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "MODE1", "is", "accessible", "in", "a", "register", "that", "can", "hold", "MODE2", "without", "copying", ".", "That", "is", ",", "all", "register", "classes", "that", "can", "hold", "MODE2", "can", "also", "hold", "MODE1", "."], "TS_V_token": ["i386", "64", "64", "32", "32", "16", "16", "8", "8"], "File": "i386", "Func": "ix86_modes_tieable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38987, "Length": 197}
{"ground_truth": ["", "static", "int", "ix86_mode_after", "(", "int", "entity", ",", "int", "mode", ",", "rtx_insn", "*", "insn", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "mode", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_after", "(", "mode", ",", "insn", ")", ";", "case", "I387_ROUNDEVEN", ":", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "return", "mode", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "mode", "that", "an", "insn", "results", "in", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_mode_after", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38988, "Length": 60}
{"ground_truth": ["", "static", "int", "ix86_mode_entry", "(", "int", "entity", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "ix86_dirflag_mode_entry", "(", ")", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_entry", "(", ")", ";", "case", "I387_ROUNDEVEN", ":", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "return", "I387_CW_ANY", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "mode", "that", "ENTITY", "is", "assumed", "to", "be", "switched", "to", "at", "function", "entry", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_mode_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38989, "Length": 52}
{"ground_truth": ["", "static", "int", "ix86_mode_exit", "(", "int", "entity", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "X86_DIRFLAG_ANY", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_exit", "(", ")", ";", "case", "I387_ROUNDEVEN", ":", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "return", "I387_CW_ANY", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "a", "mode", "that", "ENTITY", "is", "assumed", "to", "be", "switched", "to", "at", "function", "exit", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_mode_exit", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38990, "Length": 50}
{"ground_truth": ["", "static", "int", "ix86_mode_needed", "(", "int", "entity", ",", "rtx_insn", "*", "insn", ")", "{", "switch", "(", "entity", ")", "{", "case", "X86_DIRFLAG", ":", "return", "ix86_dirflag_mode_needed", "(", "insn", ")", ";", "case", "AVX_U128", ":", "return", "ix86_avx_u128_mode_needed", "(", "insn", ")", ";", "case", "I387_ROUNDEVEN", ":", "case", "I387_TRUNC", ":", "case", "I387_FLOOR", ":", "case", "I387_CEIL", ":", "return", "ix86_i387_mode_needed", "(", "entity", ",", "insn", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "needed", "mode", "for", "entity", "in", "optimize_mode_switching", "pass", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_mode_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38991, "Length": 66}
{"ground_truth": ["", "static", "int", "ix86_multiplication_cost", "(", "const", "struct", "processor_costs", "*", "cost", ",", "enum", "machine_mode", "mode", ")", "{", "machine_mode", "inner_mode", "=", "mode", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "inner_mode", "=", "GET_MODE_INNER", "(", "mode", ")", ";", "if", "(", "SSE_FLOAT_MODE_SSEMATH_OR_HF_P", "(", "mode", ")", ")", "return", "inner_mode", "==", "DFmode", "?", "cost", "->", "mulsd", ":", "cost", "->", "mulss", ";", "else", "if", "(", "X87_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "cost", "->", "fmul", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "return", "ix86_vec_cost", "(", "mode", ",", "inner_mode", "==", "DFmode", "?", "cost", "->", "mulsd", ":", "cost", "->", "mulss", ")", ";", "else", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", "{", "if", "(", "TARGET_AVX512DQ", ")", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", ")", ";", "if", "(", "mode", "==", "V16QImode", "||", "mode", "==", "V32QImode", ")", "{", "int", "extra", "=", "11", ";", "if", "(", "TARGET_XOP", "&&", "mode", "==", "V16QImode", ")", "extra", "=", "5", ";", "else", "if", "(", "TARGET_SSSE3", ")", "extra", "=", "6", ";", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "extra", ")", ";", "}", "else", "if", "(", "mode", "==", "V2DImode", "||", "mode", "==", "V4DImode", ")", "{", "if", "(", "TARGET_XOP", "&&", "mode", "==", "V2DImode", ")", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "3", ")", ";", "else", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", "*", "3", "+", "cost", "->", "sse_op", "*", "5", ")", ";", "}", "else", "if", "(", "mode", "==", "V4SImode", "&&", "!", "(", "TARGET_SSE4_1", "||", "TARGET_AVX", ")", ")", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "5", ")", ";", "else", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "mulss", ")", ";", "}", "else", "return", "(", "cost", "->", "mult_init", "[", "MODE_INDEX", "(", "mode", ")", "]", "+", "cost", "->", "mult_bit", "*", "7", ")", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "multiplication", "in", "MODE", "."], "TS_V_token": ["i386", "11", "5", "6", "2", "2", "3", "3", "5", "2", "5", "7"], "File": "i386", "Func": "ix86_multiplication_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38992, "Length": 297}
{"ground_truth": ["", "static", "bool", "ix86_must_pass_in_stack", "(", "const", "function_arg_info", "&", "arg", ")", "{", "if", "(", "must_pass_in_stack_var_size_or_pad", "(", "arg", ")", ")", "return", "true", ";", "return", "(", "!", "TARGET_64BIT", "&&", "arg", ".", "mode", "==", "TImode", "&&", "arg", ".", "type", "&&", "TREE_CODE", "(", "arg", ".", "type", ")", "!=", "VECTOR_TYPE", ")", ";", "}", ""], "natrual_language": ["Return", "if", "we", "do", "not", "know", "how", "to", "pass", "TYPE", "solely", "in", "registers", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_must_pass_in_stack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38993, "Length": 46}
{"ground_truth": ["", "static", "bool", "ix86_noce_conversion_profitable_p", "(", "rtx_insn", "*", "seq", ",", "struct", "noce_if_info", "*", "if_info", ")", "{", "if", "(", "TARGET_ONE_IF_CONV_INSN", "&&", "if_info", "->", "speed_p", ")", "{", "int", "cmov_cnt", "=", "0", ";", "for", "(", "rtx_insn", "*", "insn", "=", "seq", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "rtx", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "set", ")", "continue", ";", "if", "(", "GET_CODE", "(", "SET_SRC", "(", "set", ")", ")", "!=", "IF_THEN_ELSE", ")", "continue", ";", "rtx", "src", "=", "SET_SRC", "(", "set", ")", ";", "machine_mode", "mode", "=", "GET_MODE", "(", "src", ")", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "!=", "MODE_INT", "&&", "GET_MODE_CLASS", "(", "mode", ")", "!=", "MODE_FLOAT", ")", "continue", ";", "if", "(", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "1", ")", ")", ")", "||", "(", "!", "REG_P", "(", "XEXP", "(", "src", ",", "2", ")", ")", "&&", "!", "MEM_P", "(", "XEXP", "(", "src", ",", "2", ")", ")", ")", ")", "continue", ";", "if", "(", "++", "cmov_cnt", ">", "1", ")", "return", "false", ";", "}", "}", "return", "default_noce_conversion_profitable_p", "(", "seq", ",", "if_info", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "SEQ", "is", "a", "good", "candidate", "as", "a", "replacement", "for", "the", "if-convertible", "sequence", "described", "in", "IF_INFO", "."], "TS_V_token": ["i386", "0", "1", "1", "2", "2", "1"], "File": "i386", "Func": "ix86_noce_conversion_profitable_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38994, "Length": 182}
{"ground_truth": ["", "static", "bool", "ix86_nopic_noplt_attribute_p", "(", "rtx", "call_op", ")", "{", "if", "(", "flag_pic", "||", "ix86_cmodel", "==", "CM_LARGE", "||", "!", "(", "TARGET_64BIT", "||", "HAVE_AS_IX86_GOT32X", ")", "||", "TARGET_MACHO", "||", "TARGET_SEH", "||", "TARGET_PECOFF", "||", "SYMBOL_REF_LOCAL_P", "(", "call_op", ")", ")", "return", "false", ";", "tree", "symbol_decl", "=", "SYMBOL_REF_DECL", "(", "call_op", ")", ";", "if", "(", "!", "flag_plt", "||", "(", "symbol_decl", "!=", "NULL_TREE", "&&", "lookup_attribute", "(", "\"noplt\"", ",", "DECL_ATTRIBUTES", "(", "symbol_decl", ")", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "function", "being", "called", "was", "marked", "with", "attribute", "``", "noplt", "''", "or", "using", "-fno-plt", "and", "we", "are", "compiling", "for", "non-PIC", "and", "x86_64", ".", "We", "need", "to", "handle", "the", "non-PIC", "case", "in", "the", "backend", "because", "there", "is", "no", "easy", "interface", "for", "the", "front-end", "to", "force", "non-PLT", "calls", "to", "use", "the", "GOT", ".", "This", "is", "currently", "used", "only", "with", "64-bit", "ELF", "targets", "to", "call", "the", "function", "marked", "``", "noplt", "''", "indirectly", "."], "TS_V_token": ["i386", "\"noplt\""], "File": "i386", "Func": "ix86_nopic_noplt_attribute_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38995, "Length": 73}
{"ground_truth": ["", "static", "int", "ix86_nsaved_regs", "(", "void", ")", "{", "int", "nregs", "=", "0", ";", "int", "regno", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ",", "true", ")", ")", "nregs", "++", ";", "return", "nregs", ";", "}", ""], "natrual_language": ["Return", "number", "of", "registers", "to", "be", "saved", "on", "the", "stack", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386", "Func": "ix86_nsaved_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38996, "Length": 51}
{"ground_truth": ["", "static", "int", "ix86_nsaved_sseregs", "(", "void", ")", "{", "int", "nregs", "=", "0", ";", "int", "regno", ";", "if", "(", "!", "TARGET_64BIT_MS_ABI", ")", "return", "0", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "SSE_REGNO_P", "(", "regno", ")", "&&", "ix86_save_reg", "(", "regno", ",", "true", ",", "true", ")", ")", "nregs", "++", ";", "return", "nregs", ";", "}", ""], "natrual_language": ["Return", "number", "of", "saved", "SSE", "registrers", "."], "TS_V_token": ["i386", "0", "0", "0"], "File": "i386", "Func": "ix86_nsaved_sseregs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38997, "Length": 59}
{"ground_truth": ["", "static", "bool", "ix86_ok_to_clobber_flags", "(", "rtx_insn", "*", "insn", ")", "{", "basic_block", "bb", "=", "BLOCK_FOR_INSN", "(", "insn", ")", ";", "df_ref", "use", ";", "bitmap", "live", ";", "while", "(", "insn", ")", "{", "if", "(", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "{", "FOR_EACH_INSN_USE", "(", "use", ",", "insn", ")", "if", "(", "DF_REF_REG_USE_P", "(", "use", ")", "&&", "DF_REF_REGNO", "(", "use", ")", "==", "FLAGS_REG", ")", "return", "false", ";", "if", "(", "insn_defines_reg", "(", "FLAGS_REG", ",", "INVALID_REGNUM", ",", "insn", ")", ")", "return", "true", ";", "}", "if", "(", "insn", "==", "BB_END", "(", "bb", ")", ")", "break", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ";", "}", "live", "=", "df_get_live_out", "(", "bb", ")", ";", "return", "!", "REGNO_REG_SET_P", "(", "live", ",", "FLAGS_REG", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "legal", "to", "clobber", "flags", "by", "INSN", "and", "false", "otherwise", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_ok_to_clobber_flags", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38998, "Length": 110}
{"ground_truth": ["", "bool", "ix86_operands_ok_for_move_multiple", "(", "rtx", "*", "operands", ",", "bool", "load", ",", "machine_mode", "mode", ")", "{", "HOST_WIDE_INT", "offval_1", ",", "offval_2", ",", "msize", ";", "rtx", "mem_1", ",", "mem_2", ",", "reg_1", ",", "reg_2", ",", "base_1", ",", "base_2", ",", "offset_1", ",", "offset_2", ";", "if", "(", "load", ")", "{", "mem_1", "=", "operands", "[", "1", "]", ";", "mem_2", "=", "operands", "[", "3", "]", ";", "reg_1", "=", "operands", "[", "0", "]", ";", "reg_2", "=", "operands", "[", "2", "]", ";", "}", "else", "{", "mem_1", "=", "operands", "[", "0", "]", ";", "mem_2", "=", "operands", "[", "2", "]", ";", "reg_1", "=", "operands", "[", "1", "]", ";", "reg_2", "=", "operands", "[", "3", "]", ";", "}", "gcc_assert", "(", "REG_P", "(", "reg_1", ")", "&&", "REG_P", "(", "reg_2", ")", ")", ";", "if", "(", "REGNO", "(", "reg_1", ")", "!=", "REGNO", "(", "reg_2", ")", ")", "return", "false", ";", "if", "(", "!", "extract_base_offset_in_addr", "(", "mem_1", ",", "&", "base_1", ",", "&", "offset_1", ")", ")", "return", "false", ";", "if", "(", "!", "extract_base_offset_in_addr", "(", "mem_2", ",", "&", "base_2", ",", "&", "offset_2", ")", ")", "return", "false", ";", "if", "(", "!", "rtx_equal_p", "(", "base_1", ",", "base_2", ")", ")", "return", "false", ";", "offval_1", "=", "INTVAL", "(", "offset_1", ")", ";", "offval_2", "=", "INTVAL", "(", "offset_2", ")", ";", "msize", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "if", "(", "offval_1", "+", "msize", "!=", "offval_2", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Given", "OPERANDS", "of", "consecutive", "load/store", ",", "check", "if", "we", "can", "merge", "them", "into", "move", "multiple", ".", "LOAD", "is", "true", "if", "they", "are", "load", "instructions", ".", "MODE", "is", "the", "mode", "of", "memory", "operands", "."], "TS_V_token": ["i386", "1", "3", "0", "2", "0", "2", "1", "3"], "File": "i386", "Func": "ix86_operands_ok_for_move_multiple", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 38999, "Length": 214}
{"ground_truth": ["", "static", "bool", "ix86_optab_supported_p", "(", "int", "op", ",", "machine_mode", "mode1", ",", "machine_mode", ",", "optimization_type", "opt_type", ")", "{", "switch", "(", "op", ")", "{", "case", "asin_optab", ":", "case", "acos_optab", ":", "case", "log1p_optab", ":", "case", "exp_optab", ":", "case", "exp10_optab", ":", "case", "exp2_optab", ":", "case", "expm1_optab", ":", "case", "ldexp_optab", ":", "case", "scalb_optab", ":", "case", "round_optab", ":", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "case", "rint_optab", ":", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode1", ")", "&&", "TARGET_SSE_MATH", "&&", "!", "flag_trapping_math", "&&", "!", "TARGET_SSE4_1", "&&", "mode1", "!=", "HFmode", ")", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "return", "true", ";", "case", "floor_optab", ":", "case", "ceil_optab", ":", "case", "btrunc_optab", ":", "if", "(", "(", "(", "SSE_FLOAT_MODE_P", "(", "mode1", ")", "&&", "TARGET_SSE_MATH", "&&", "TARGET_SSE4_1", ")", "||", "mode1", "==", "HFmode", ")", "&&", "!", "flag_trapping_math", ")", "return", "true", ";", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", ";", "case", "rsqrt_optab", ":", "return", "opt_type", "==", "OPTIMIZE_FOR_SPEED", "&&", "use_rsqrt_p", "(", "mode1", ")", ";", "default", ":", "return", "true", ";", "}", "}", ""], "natrual_language": ["Implement", "the", "TARGET_OPTAB_SUPPORTED_P", "hook", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_optab_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39000, "Length": 145}
{"ground_truth": ["", "const", "char", "*", "ix86_output_call_insn", "(", "rtx_insn", "*", "insn", ",", "rtx", "call_op", ")", "{", "bool", "direct_p", "=", "constant_call_address_operand", "(", "call_op", ",", "VOIDmode", ")", ";", "bool", "output_indirect_p", "=", "(", "!", "TARGET_SEH", "&&", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_keep", ")", ";", "bool", "seh_nop_p", "=", "false", ";", "const", "char", "*", "xasm", ";", "if", "(", "SIBLING_CALL_P", "(", "insn", ")", ")", "{", "output_return_instrumentation", "(", ")", ";", "if", "(", "direct_p", ")", "{", "if", "(", "ix86_nopic_noplt_attribute_p", "(", "call_op", ")", ")", "{", "direct_p", "=", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "else", "xasm", "=", "\"%!jmp\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "}", "else", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"{%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "else", "xasm", "=", "\"%!jmp\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "}", "}", "else", "xasm", "=", "\"%!jmp\\t%P0\"", ";", "}", "else", "if", "(", "TARGET_SEH", ")", "xasm", "=", "\"%!rex.W jmp\\t%A0\"", ";", "else", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"%0\"", ";", "else", "xasm", "=", "\"%!jmp\\t%A0\"", ";", "}", "if", "(", "output_indirect_p", "&&", "!", "direct_p", ")", "ix86_output_indirect_branch", "(", "call_op", ",", "xasm", ",", "true", ")", ";", "else", "{", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "if", "(", "!", "direct_p", "&&", "(", "ix86_harden_sls", "&", "harden_sls_indirect_jmp", ")", ")", "return", "\"int3\"", ";", "}", "return", "\"\"", ";", "}", "if", "(", "TARGET_SEH", ")", "{", "rtx_insn", "*", "i", ";", "for", "(", "i", "=", "NEXT_INSN", "(", "insn", ")", ";", "i", ";", "i", "=", "NEXT_INSN", "(", "i", ")", ")", "{", "if", "(", "JUMP_P", "(", "i", ")", "&&", "CROSSING_JUMP_P", "(", "i", ")", ")", "{", "seh_nop_p", "=", "true", ";", "break", ";", "}", "if", "(", "INSN_P", "(", "i", ")", ")", "break", ";", "if", "(", "NOTE_P", "(", "i", ")", "&&", "NOTE_KIND", "(", "i", ")", "==", "NOTE_INSN_EPILOGUE_BEG", "&&", "!", "flag_non_call_exceptions", "&&", "!", "can_throw_internal", "(", "insn", ")", ")", "{", "seh_nop_p", "=", "true", ";", "break", ";", "}", "}", "if", "(", "i", "==", "NULL", ")", "seh_nop_p", "=", "true", ";", "}", "if", "(", "direct_p", ")", "{", "if", "(", "ix86_nopic_noplt_attribute_p", "(", "call_op", ")", ")", "{", "direct_p", "=", "false", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "else", "xasm", "=", "\"%!call\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", ";", "}", "else", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"{%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "else", "xasm", "=", "\"%!call\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", ";", "}", "}", "else", "xasm", "=", "\"%!call\\t%P0\"", ";", "}", "else", "{", "if", "(", "output_indirect_p", ")", "xasm", "=", "\"%0\"", ";", "else", "xasm", "=", "\"%!call\\t%A0\"", ";", "}", "if", "(", "output_indirect_p", "&&", "!", "direct_p", ")", "ix86_output_indirect_branch", "(", "call_op", ",", "xasm", ",", "false", ")", ";", "else", "output_asm_insn", "(", "xasm", ",", "&", "call_op", ")", ";", "if", "(", "seh_nop_p", ")", "return", "\"nop\"", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "the", "assembly", "for", "a", "call", "instruction", "."], "TS_V_token": ["i386", "\"{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"%!jmp\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"{%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!jmp\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!jmp\\t%P0\"", "\"%!rex.W jmp\\t%A0\"", "\"%0\"", "\"%!jmp\\t%A0\"", "\"int3\"", "\"\"", "\"{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"%!call\\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}\"", "\"{%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!call\\t{*%p0@GOT|[DWORD PTR %p0@GOT]}\"", "\"%!call\\t%P0\"", "\"%0\"", "\"%!call\\t%A0\"", "\"nop\"", "\"\""], "File": "i386", "Func": "ix86_output_call_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39001, "Length": 401}
{"ground_truth": ["", "const", "char", "*", "ix86_output_function_return", "(", "bool", "long_p", ")", "{", "output_return_instrumentation", "(", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_keep", ")", "{", "char", "thunk_name", "[", "32", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_thunk_inline", ")", "{", "bool", "need_thunk", "=", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk", ")", ";", "indirect_thunk_name", "(", "thunk_name", ",", "INVALID_REGNUM", ",", "need_prefix", ",", "true", ")", ";", "indirect_return_needed", "|=", "need_thunk", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t\"", ")", ";", "assemble_name", "(", "asm_out_file", ",", "thunk_name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "}", "else", "output_indirect_thunk", "(", "INVALID_REGNUM", ")", ";", "return", "\"\"", ";", "}", "output_asm_insn", "(", "long_p", "?", "\"rep%; ret\"", ":", "\"ret\"", ",", "nullptr", ")", ";", "return", "(", "ix86_harden_sls", "&", "harden_sls_return", ")", "?", "\"int3\"", ":", "\"\"", ";", "}", ""], "natrual_language": ["Output", "function", "return", ".", "CALL_OP", "is", "the", "jump", "target", ".", "Add", "a", "REP", "prefix", "to", "RET", "if", "LONG_P", "is", "true", "and", "function", "return", "is", "kept", "."], "TS_V_token": ["i386", "32", "\"\\tjmp\\t\"", "\"\"", "\"rep%; ret\"", "\"ret\"", "\"int3\"", "\"\""], "File": "i386", "Func": "ix86_output_function_return", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39002, "Length": 133}
{"ground_truth": ["", "static", "void", "ix86_output_indirect_branch", "(", "rtx", "call_op", ",", "const", "char", "*", "xasm", ",", "bool", "sibcall_p", ")", "{", "if", "(", "REG_P", "(", "call_op", ")", ")", "ix86_output_indirect_branch_via_reg", "(", "call_op", ",", "sibcall_p", ")", ";", "else", "ix86_output_indirect_branch_via_push", "(", "call_op", ",", "xasm", ",", "sibcall_p", ")", ";", "}", ""], "natrual_language": ["Output", "indirect", "branch", "via", "a", "call", "and", "return", "thunk", ".", "CALL_OP", "is", "the", "branch", "target", ".", "XASM", "is", "the", "assembly", "template", "for", "CALL_OP", ".", "Branch", "is", "a", "tail", "call", "if", "SIBCALL_P", "is", "true", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_output_indirect_branch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39003, "Length": 41}
{"ground_truth": ["", "static", "void", "ix86_output_indirect_branch_via_push", "(", "rtx", "call_op", ",", "const", "char", "*", "xasm", ",", "bool", "sibcall_p", ")", "{", "char", "thunk_name_buf", "[", "32", "]", ";", "char", "*", "thunk_name", ";", "char", "push_buf", "[", "64", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "int", "regno", "=", "-", "1", ";", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_thunk_inline", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk", ")", "indirect_thunk_needed", "=", "true", ";", "indirect_thunk_name", "(", "thunk_name_buf", ",", "regno", ",", "need_prefix", ",", "false", ")", ";", "thunk_name", "=", "thunk_name_buf", ";", "}", "else", "thunk_name", "=", "NULL", ";", "snprintf", "(", "push_buf", ",", "sizeof", "(", "push_buf", ")", ",", "\"push{%c}\\t%s\"", ",", "TARGET_64BIT", "?", "'q'", ":", "'l'", ",", "xasm", ")", ";", "if", "(", "sibcall_p", ")", "{", "output_asm_insn", "(", "push_buf", ",", "&", "call_op", ")", ";", "ix86_output_jmp_thunk_or_indirect", "(", "thunk_name", ",", "regno", ")", ";", "}", "else", "{", "char", "indirectlabel1", "[", "32", "]", ";", "char", "indirectlabel2", "[", "32", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel1", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel2", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "fputs", "(", "\"\\tjmp\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "if", "(", "MEM_P", "(", "call_op", ")", ")", "{", "struct", "ix86_address", "parts", ";", "rtx", "addr", "=", "XEXP", "(", "call_op", ",", "0", ")", ";", "if", "(", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", "&&", "parts", ".", "base", "==", "stack_pointer_rtx", ")", "{", "if", "(", "parts", ".", "index", ")", "{", "addr", "=", "gen_rtx_MULT", "(", "Pmode", ",", "parts", ".", "index", ",", "GEN_INT", "(", "parts", ".", "scale", ")", ")", ";", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "stack_pointer_rtx", ",", "addr", ")", ";", "}", "else", "addr", "=", "stack_pointer_rtx", ";", "rtx", "disp", ";", "if", "(", "parts", ".", "disp", "!=", "NULL_RTX", ")", "disp", "=", "plus_constant", "(", "Pmode", ",", "parts", ".", "disp", ",", "UNITS_PER_WORD", ")", ";", "else", "disp", "=", "GEN_INT", "(", "UNITS_PER_WORD", ")", ";", "addr", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "addr", ",", "disp", ")", ";", "call_op", "=", "gen_rtx_MEM", "(", "GET_MODE", "(", "call_op", ")", ",", "addr", ")", ";", "}", "}", "output_asm_insn", "(", "push_buf", ",", "&", "call_op", ")", ";", "ix86_output_jmp_thunk_or_indirect", "(", "thunk_name", ",", "regno", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputs", "(", "\"\\tcall\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "}", "}", ""], "natrual_language": ["Output", "indirect", "branch", "via", "a", "call", "and", "return", "thunk", ".", "CALL_OP", "is", "the", "branch", "target", ".", "XASM", "is", "the", "assembly", "template", "for", "CALL_OP", ".", "Branch", "is", "a", "tail", "call", "if", "SIBCALL_P", "is", "true", ".", "A", "normal", "call", "is", "converted", "to", ":", "jmp", "L2", "L1", ":", "push", "CALL_OP", "jmp", "__x86_indirect_thunk", "L2", ":", "call", "L1", "and", "a", "tail", "call", "is", "converted", "to", ":", "push", "CALL_OP", "jmp", "__x86_indirect_thunk"], "TS_V_token": ["i386", "32", "64", "1", "\"push{%c}\\t%s\"", "32", "32", "\"\\tjmp\\t\"", "0", "\"\\tcall\\t\""], "File": "i386", "Func": "ix86_output_indirect_branch_via_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39004, "Length": 379}
{"ground_truth": ["", "static", "void", "ix86_output_indirect_branch_via_reg", "(", "rtx", "call_op", ",", "bool", "sibcall_p", ")", "{", "char", "thunk_name_buf", "[", "32", "]", ";", "char", "*", "thunk_name", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "int", "regno", "=", "REGNO", "(", "call_op", ")", ";", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_thunk_inline", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_thunk", ")", "SET_HARD_REG_BIT", "(", "indirect_thunks_used", ",", "regno", ")", ";", "indirect_thunk_name", "(", "thunk_name_buf", ",", "regno", ",", "need_prefix", ",", "false", ")", ";", "thunk_name", "=", "thunk_name_buf", ";", "}", "else", "thunk_name", "=", "NULL", ";", "if", "(", "sibcall_p", ")", "ix86_output_jmp_thunk_or_indirect", "(", "thunk_name", ",", "regno", ")", ";", "else", "{", "if", "(", "thunk_name", "!=", "NULL", ")", "{", "if", "(", "REX_INT_REGNO_P", "(", "regno", ")", "&&", "ix86_indirect_branch_cs_prefix", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tcs\\n\"", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tcall\\t\"", ")", ";", "assemble_name", "(", "asm_out_file", ",", "thunk_name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "return", ";", "}", "char", "indirectlabel1", "[", "32", "]", ";", "char", "indirectlabel2", "[", "32", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel1", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel2", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "fputs", "(", "\"\\tjmp\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "ix86_output_jmp_thunk_or_indirect", "(", "thunk_name", ",", "regno", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputs", "(", "\"\\tcall\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "}", "}", ""], "natrual_language": ["Output", "indirect", "branch", "via", "a", "call", "and", "return", "thunk", ".", "CALL_OP", "is", "a", "register", "which", "contains", "the", "branch", "target", ".", "XASM", "is", "the", "assembly", "template", "for", "CALL_OP", ".", "Branch", "is", "a", "tail", "call", "if", "SIBCALL_P", "is", "true", ".", "A", "normal", "call", "is", "converted", "to", ":", "call", "__x86_indirect_thunk_reg", "and", "a", "tail", "call", "is", "converted", "to", ":", "jmp", "__x86_indirect_thunk_reg"], "TS_V_token": ["i386", "32", "\"\\tcs\\n\"", "\"\\tcall\\t\"", "32", "32", "\"\\tjmp\\t\"", "\"\\tcall\\t\""], "File": "i386", "Func": "ix86_output_indirect_branch_via_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39005, "Length": 244}
{"ground_truth": ["", "const", "char", "*", "ix86_output_indirect_function_return", "(", "rtx", "ret_op", ")", "{", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_keep", ")", "{", "char", "thunk_name", "[", "32", "]", ";", "enum", "indirect_thunk_prefix", "need_prefix", "=", "indirect_thunk_need_prefix", "(", "current_output_insn", ")", ";", "unsigned", "int", "regno", "=", "REGNO", "(", "ret_op", ")", ";", "gcc_assert", "(", "regno", "==", "CX_REG", ")", ";", "if", "(", "cfun", "->", "machine", "->", "function_return_type", "!=", "indirect_branch_thunk_inline", ")", "{", "bool", "need_thunk", "=", "(", "cfun", "->", "machine", "->", "function_return_type", "==", "indirect_branch_thunk", ")", ";", "indirect_thunk_name", "(", "thunk_name", ",", "regno", ",", "need_prefix", ",", "true", ")", ";", "if", "(", "need_thunk", ")", "{", "indirect_return_via_cx", "=", "true", ";", "SET_HARD_REG_BIT", "(", "indirect_thunks_used", ",", "CX_REG", ")", ";", "}", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t\"", ")", ";", "assemble_name", "(", "asm_out_file", ",", "thunk_name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "}", "else", "output_indirect_thunk", "(", "regno", ")", ";", "}", "else", "{", "output_asm_insn", "(", "\"%!jmp\\t%A0\"", ",", "&", "ret_op", ")", ";", "if", "(", "ix86_harden_sls", "&", "harden_sls_indirect_jmp", ")", "fputs", "(", "\"\\tint3\\n\"", ",", "asm_out_file", ")", ";", "}", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "indirect", "function", "return", ".", "RET_OP", "is", "the", "function", "return", "target", "."], "TS_V_token": ["i386", "32", "\"\\tjmp\\t\"", "\"%!jmp\\t%A0\"", "\"\\tint3\\n\"", "\"\""], "File": "i386", "Func": "ix86_output_indirect_function_return", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39006, "Length": 160}
{"ground_truth": ["", "const", "char", "*", "ix86_output_indirect_jmp", "(", "rtx", "call_op", ")", "{", "if", "(", "cfun", "->", "machine", "->", "indirect_branch_type", "!=", "indirect_branch_keep", ")", "{", "if", "(", "ix86_red_zone_used", ")", "gcc_unreachable", "(", ")", ";", "ix86_output_indirect_branch", "(", "call_op", ",", "\"%0\"", ",", "true", ")", ";", "}", "else", "output_asm_insn", "(", "\"%!jmp\\t%A0\"", ",", "&", "call_op", ")", ";", "return", "(", "ix86_harden_sls", "&", "harden_sls_indirect_jmp", ")", "?", "\"int3\"", ":", "\"\"", ";", "}", ""], "natrual_language": ["Output", "indirect", "jump", ".", "CALL_OP", "is", "the", "jump", "target", "."], "TS_V_token": ["i386", "\"%0\"", "\"%!jmp\\t%A0\"", "\"int3\"", "\"\""], "File": "i386", "Func": "ix86_output_indirect_jmp", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39007, "Length": 59}
{"ground_truth": ["", "static", "void", "ix86_output_jmp_thunk_or_indirect", "(", "const", "char", "*", "thunk_name", ",", "const", "int", "regno", ")", "{", "if", "(", "thunk_name", "!=", "NULL", ")", "{", "if", "(", "REX_INT_REGNO_P", "(", "regno", ")", "&&", "ix86_indirect_branch_cs_prefix", ")", "fprintf", "(", "asm_out_file", ",", "\"\\tcs\\n\"", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tjmp\\t\"", ")", ";", "assemble_name", "(", "asm_out_file", ",", "thunk_name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "if", "(", "(", "ix86_harden_sls", "&", "harden_sls_indirect_jmp", ")", ")", "fputs", "(", "\"\\tint3\\n\"", ",", "asm_out_file", ")", ";", "}", "else", "output_indirect_thunk", "(", "regno", ")", ";", "}", ""], "natrual_language": ["Helper", "to", "output", "the", "jmp/call", "."], "TS_V_token": ["i386", "\"\\tcs\\n\"", "\"\\tjmp\\t\"", "\"\\tint3\\n\""], "File": "i386", "Func": "ix86_output_jmp_thunk_or_indirect", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39008, "Length": 81}
{"ground_truth": ["", "void", "ix86_output_patchable_area", "(", "unsigned", "int", "patch_area_size", ",", "bool", "record_p", ")", "{", "default_print_patchable_function_entry", "(", "asm_out_file", ",", "patch_area_size", ",", "record_p", ")", ";", "}", ""], "natrual_language": ["Output", "patchable", "area", ".", "NB", ":", "default_print_patchable_function_entry", "is", "n't", "available", "in", "i386.md", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_output_patchable_area", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39009, "Length": 21}
{"ground_truth": ["", "const", "char", "*", "ix86_output_ssemov", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", ";", "if", "(", "get_attr_type", "(", "insn", ")", "!=", "TYPE_SSEMOV", "||", "mode", "!=", "GET_MODE", "(", "operands", "[", "1", "]", ")", ")", "gcc_unreachable", "(", ")", ";", "enum", "attr_mode", "insn_mode", "=", "get_attr_mode", "(", "insn", ")", ";", "switch", "(", "insn_mode", ")", "{", "case", "MODE_XI", ":", "case", "MODE_V8DF", ":", "case", "MODE_V16SF", ":", "return", "ix86_get_ssemov", "(", "operands", ",", "64", ",", "insn_mode", ",", "mode", ")", ";", "case", "MODE_OI", ":", "case", "MODE_V4DF", ":", "case", "MODE_V8SF", ":", "return", "ix86_get_ssemov", "(", "operands", ",", "32", ",", "insn_mode", ",", "mode", ")", ";", "case", "MODE_TI", ":", "case", "MODE_V2DF", ":", "case", "MODE_V4SF", ":", "return", "ix86_get_ssemov", "(", "operands", ",", "16", ",", "insn_mode", ",", "mode", ")", ";", "case", "MODE_DI", ":", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "0", "]", ")", ")", "{", "if", "(", "HAVE_AS_IX86_INTERUNIT_MOVQ", ")", "return", "\"%vmovq\\t{%1, %q0|%q0, %1}\"", ";", "else", "return", "\"%vmovd\\t{%1, %q0|%q0, %1}\"", ";", "}", "else", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "1", "]", ")", ")", "{", "if", "(", "HAVE_AS_IX86_INTERUNIT_MOVQ", ")", "return", "\"%vmovq\\t{%q1, %0|%0, %q1}\"", ";", "else", "return", "\"%vmovd\\t{%q1, %0|%0, %q1}\"", ";", "}", "else", "return", "\"%vmovq\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_SI", ":", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"%vmovd\\t{%1, %k0|%k0, %1}\"", ";", "else", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"%vmovd\\t{%k1, %0|%0, %k1}\"", ";", "else", "return", "\"%vmovd\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_HI", ":", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"vmovw\\t{%1, %k0|%k0, %1}\"", ";", "else", "if", "(", "GENERAL_REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"vmovw\\t{%k1, %0|%0, %k1}\"", ";", "else", "return", "\"vmovw\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_DF", ":", "if", "(", "TARGET_AVX", "&&", "REG_P", "(", "operands", "[", "0", "]", ")", "&&", "REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"vmovsd\\t{%d1, %0|%0, %d1}\"", ";", "else", "return", "\"%vmovsd\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_SF", ":", "if", "(", "TARGET_AVX", "&&", "REG_P", "(", "operands", "[", "0", "]", ")", "&&", "REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"vmovss\\t{%d1, %0|%0, %d1}\"", ";", "else", "return", "\"%vmovss\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_HF", ":", "if", "(", "REG_P", "(", "operands", "[", "0", "]", ")", "&&", "REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "\"vmovsh\\t{%d1, %0|%0, %d1}\"", ";", "else", "return", "\"vmovsh\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_V1DF", ":", "gcc_assert", "(", "!", "TARGET_AVX", ")", ";", "return", "\"movlpd\\t{%1, %0|%0, %1}\"", ";", "case", "MODE_V2SF", ":", "if", "(", "TARGET_AVX", "&&", "REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"vmovlps\\t{%1, %d0|%d0, %1}\"", ";", "else", "return", "\"%vmovlps\\t{%1, %0|%0, %1}\"", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "template", "of", "the", "TYPE_SSEMOV", "instruction", "to", "move", "operands", "[", "1", "]", "into", "operands", "[", "0", "]", "."], "TS_V_token": ["i386", "0", "1", "64", "32", "16", "0", "\"%vmovq\\t{%1, %q0|%q0, %1}\"", "\"%vmovd\\t{%1, %q0|%q0, %1}\"", "1", "\"%vmovq\\t{%q1, %0|%0, %q1}\"", "\"%vmovd\\t{%q1, %0|%0, %q1}\"", "\"%vmovq\\t{%1, %0|%0, %1}\"", "0", "\"%vmovd\\t{%1, %k0|%k0, %1}\"", "1", "\"%vmovd\\t{%k1, %0|%0, %k1}\"", "\"%vmovd\\t{%1, %0|%0, %1}\"", "0", "\"vmovw\\t{%1, %k0|%k0, %1}\"", "1", "\"vmovw\\t{%k1, %0|%0, %k1}\"", "\"vmovw\\t{%1, %0|%0, %1}\"", "0", "1", "\"vmovsd\\t{%d1, %0|%0, %d1}\"", "\"%vmovsd\\t{%1, %0|%0, %1}\"", "0", "1", "\"vmovss\\t{%d1, %0|%0, %d1}\"", "\"%vmovss\\t{%1, %0|%0, %1}\"", "0", "1", "\"vmovsh\\t{%d1, %0|%0, %d1}\"", "\"vmovsh\\t{%1, %0|%0, %1}\"", "\"movlpd\\t{%1, %0|%0, %1}\"", "0", "\"vmovlps\\t{%1, %d0|%d0, %1}\"", "\"%vmovlps\\t{%1, %0|%0, %1}\""], "File": "i386", "Func": "ix86_output_ssemov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39010, "Length": 377}
{"ground_truth": ["", "static", "void", "ix86_pad_returns", "(", "void", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "EXIT_BLOCK_PTR_FOR_FN", "(", "cfun", ")", "->", "preds", ")", "{", "basic_block", "bb", "=", "e", "->", "src", ";", "rtx_insn", "*", "ret", "=", "BB_END", "(", "bb", ")", ";", "rtx_insn", "*", "prev", ";", "bool", "replace", "=", "false", ";", "if", "(", "!", "JUMP_P", "(", "ret", ")", "||", "!", "ANY_RETURN_P", "(", "PATTERN", "(", "ret", ")", ")", "||", "optimize_bb_for_size_p", "(", "bb", ")", ")", "continue", ";", "for", "(", "prev", "=", "PREV_INSN", "(", "ret", ")", ";", "prev", ";", "prev", "=", "PREV_INSN", "(", "prev", ")", ")", "if", "(", "active_insn_p", "(", "prev", ")", "||", "LABEL_P", "(", "prev", ")", ")", "break", ";", "if", "(", "prev", "&&", "LABEL_P", "(", "prev", ")", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "bb", "->", "preds", ")", "if", "(", "EDGE_FREQUENCY", "(", "e", ")", "&&", "e", "->", "src", "->", "index", ">=", "0", "&&", "!", "(", "e", "->", "flags", "&", "EDGE_FALLTHRU", ")", ")", "{", "replace", "=", "true", ";", "break", ";", "}", "}", "if", "(", "!", "replace", ")", "{", "prev", "=", "prev_active_insn", "(", "ret", ")", ";", "if", "(", "prev", "&&", "(", "(", "JUMP_P", "(", "prev", ")", "&&", "any_condjump_p", "(", "prev", ")", ")", "||", "CALL_P", "(", "prev", ")", ")", ")", "replace", "=", "true", ";", "if", "(", "!", "prev", "&&", "!", "optimize_function_for_size_p", "(", "cfun", ")", ")", "replace", "=", "true", ";", "}", "if", "(", "replace", ")", "{", "emit_jump_insn_before", "(", "gen_simple_return_internal_long", "(", ")", ",", "ret", ")", ";", "delete_insn", "(", "ret", ")", ";", "}", "}", "}", ""], "natrual_language": ["AMD", "Athlon", "works", "faster", "when", "RET", "is", "not", "destination", "of", "conditional", "jump", "or", "directly", "preceded", "by", "other", "jump", "instruction", ".", "We", "avoid", "the", "penalty", "by", "inserting", "NOP", "just", "before", "the", "RET", "instructions", "in", "such", "cases", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_pad_returns", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39011, "Length": 245}
{"ground_truth": ["", "static", "void", "ix86_pad_short_function", "(", "void", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "EXIT_BLOCK_PTR_FOR_FN", "(", "cfun", ")", "->", "preds", ")", "{", "rtx_insn", "*", "ret", "=", "BB_END", "(", "e", "->", "src", ")", ";", "if", "(", "JUMP_P", "(", "ret", ")", "&&", "ANY_RETURN_P", "(", "PATTERN", "(", "ret", ")", ")", ")", "{", "int", "insn_count", "=", "ix86_count_insn", "(", "e", "->", "src", ")", ";", "if", "(", "insn_count", "<", "4", ")", "{", "rtx_insn", "*", "insn", "=", "ret", ";", "while", "(", "insn", "&&", "(", "!", "NOTE_P", "(", "insn", ")", "||", "NOTE_KIND", "(", "insn", ")", "!=", "NOTE_INSN_EPILOGUE_BEG", ")", ")", "insn", "=", "PREV_INSN", "(", "insn", ")", ";", "if", "(", "!", "insn", ")", "insn", "=", "ret", ";", "insn_count", "=", "2", "*", "(", "4", "-", "insn_count", ")", ";", "emit_insn_before", "(", "gen_nops", "(", "GEN_INT", "(", "insn_count", ")", ")", ",", "insn", ")", ";", "}", "}", "}", "}", ""], "natrual_language": ["Pad", "short", "function", "to", "4", "instructions", "."], "TS_V_token": ["i386", "4", "2", "4"], "File": "i386", "Func": "ix86_pad_short_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39012, "Length": 139}
{"ground_truth": ["", "static", "bool", "ix86_pass_by_reference", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "if", "(", "TARGET_64BIT", ")", "{", "enum", "calling_abi", "call_abi", "=", "cum", "?", "cum", "->", "call_abi", ":", "ix86_abi", ";", "if", "(", "call_abi", "==", "MS_ABI", ")", "{", "HOST_WIDE_INT", "msize", "=", "GET_MODE_SIZE", "(", "arg", ".", "mode", ")", ";", "if", "(", "tree", "type", "=", "arg", ".", "type", ")", "{", "if", "(", "TREE_CODE", "(", "type", ")", "==", "ARRAY_TYPE", ")", "return", "true", ";", "if", "(", "RECORD_OR_UNION_TYPE_P", "(", "type", ")", ")", "{", "msize", "=", "int_size_in_bytes", "(", "type", ")", ";", "}", "}", "return", "msize", "!=", "1", "&&", "msize", "!=", "2", "&&", "msize", "!=", "4", "&&", "msize", "!=", "8", ";", "}", "else", "if", "(", "arg", ".", "type", "&&", "int_size_in_bytes", "(", "arg", ".", "type", ")", "==", "-", "1", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["A", "C", "expression", "that", "indicates", "when", "an", "argument", "must", "be", "passed", "by", "reference", ".", "If", "nonzero", "for", "an", "argument", ",", "a", "copy", "of", "that", "argument", "is", "made", "in", "memory", "and", "a", "pointer", "to", "the", "argument", "is", "passed", "instead", "of", "the", "argument", "itself", ".", "The", "pointer", "is", "passed", "in", "whatever", "way", "is", "appropriate", "for", "passing", "a", "pointer", "to", "that", "type", "."], "TS_V_token": ["i386", "1", "2", "4", "8", "1"], "File": "i386", "Func": "ix86_pass_by_reference", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39013, "Length": 138}
{"ground_truth": ["", "static", "bool", "ix86_pic_register_p", "(", "rtx", "x", ")", "{", "if", "(", "GET_CODE", "(", "x", ")", "==", "VALUE", "&&", "CSELIB_VAL_PTR", "(", "x", ")", ")", "return", "(", "pic_offset_table_rtx", "&&", "rtx_equal_for_cselib_p", "(", "x", ",", "pic_offset_table_rtx", ")", ")", ";", "else", "if", "(", "GET_CODE", "(", "x", ")", "==", "UNSPEC", "&&", "XINT", "(", "x", ",", "1", ")", "==", "UNSPEC_SET_GOT", ")", "return", "true", ";", "else", "if", "(", "!", "REG_P", "(", "x", ")", ")", "return", "false", ";", "else", "if", "(", "pic_offset_table_rtx", ")", "{", "if", "(", "REGNO", "(", "x", ")", "==", "REGNO", "(", "pic_offset_table_rtx", ")", ")", "return", "true", ";", "if", "(", "HARD_REGISTER_P", "(", "x", ")", "&&", "!", "HARD_REGISTER_P", "(", "pic_offset_table_rtx", ")", "&&", "ORIGINAL_REGNO", "(", "x", ")", "==", "REGNO", "(", "pic_offset_table_rtx", ")", ")", "return", "true", ";", "return", "false", ";", "}", "else", "return", "REGNO", "(", "x", ")", "==", "PIC_OFFSET_TABLE_REGNUM", ";", "}", ""], "natrual_language": ["Return", "true", "if", "X", "is", "a", "representation", "of", "the", "PIC", "register", ".", "This", "copes", "with", "calls", "from", "ix86_find_base_term", ",", "where", "the", "register", "might", "have", "been", "replaced", "by", "a", "cselib", "value", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_pic_register_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39014, "Length": 129}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_output_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_SSE_MATH", ")", "return", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "?", "ALL_SSE_REGS", ":", "NO_REGS", ";", "if", "(", "IS_STACK_MODE", "(", "mode", ")", ")", "return", "FLOAT_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "return", "regclass", ";", "}", ""], "natrual_language": ["Discourage", "putting", "floating-point", "values", "in", "SSE", "registers", "unless", "SSE", "math", "is", "being", "used", ",", "and", "likewise", "for", "the", "387", "registers", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_preferred_output_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39015, "Length": 59}
{"ground_truth": ["", "static", "reg_class_t", "ix86_preferred_reload_class", "(", "rtx", "x", ",", "reg_class_t", "regclass", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "regclass", "==", "NO_REGS", ")", "return", "NO_REGS", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "mode", ")", ")", "return", "regclass", ";", "if", "(", "CONSTANT_P", "(", "x", ")", "&&", "(", "MAYBE_MMX_CLASS_P", "(", "regclass", ")", "||", "MAYBE_SSE_CLASS_P", "(", "regclass", ")", "||", "MAYBE_MASK_CLASS_P", "(", "regclass", ")", ")", ")", "return", "NO_REGS", ";", "if", "(", "CONST_DOUBLE_P", "(", "x", ")", ")", "{", "if", "(", "INTEGER_CLASS_P", "(", "regclass", ")", ")", "return", "regclass", ";", "if", "(", "IS_STACK_MODE", "(", "mode", ")", "&&", "standard_80387_constant_p", "(", "x", ")", ">", "0", ")", "{", "if", "(", "FLOAT_CLASS_P", "(", "regclass", ")", ")", "return", "FLOAT_REGS", ";", "}", "return", "NO_REGS", ";", "}", "if", "(", "SSE_FLOAT_MODE_P", "(", "mode", ")", "&&", "TARGET_SSE_MATH", ")", "{", "if", "(", "TARGET_INTER_UNIT_MOVES_FROM_VEC", "&&", "TARGET_INTER_UNIT_MOVES_TO_VEC", "&&", "GET_MODE_SIZE", "(", "mode", ")", "<=", "GET_MODE_SIZE", "(", "word_mode", ")", ")", "return", "INT_SSE_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "else", "return", "SSE_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "}", "if", "(", "GET_CODE", "(", "x", ")", "==", "PLUS", ")", "return", "INTEGER_CLASS_P", "(", "regclass", ")", "?", "regclass", ":", "NO_REGS", ";", "if", "(", "GET_MODE", "(", "x", ")", "==", "QImode", "&&", "!", "CONSTANT_P", "(", "x", ")", ")", "{", "if", "(", "Q_CLASS_P", "(", "regclass", ")", ")", "return", "regclass", ";", "else", "if", "(", "reg_class_subset_p", "(", "Q_REGS", ",", "regclass", ")", ")", "return", "Q_REGS", ";", "else", "if", "(", "MASK_CLASS_P", "(", "regclass", ")", ")", "return", "regclass", ";", "else", "return", "NO_REGS", ";", "}", "return", "regclass", ";", "}", ""], "natrual_language": ["Put", "float", "CONST_DOUBLE", "in", "the", "constant", "pool", "instead", "of", "fp", "regs", ".", "QImode", "must", "go", "into", "class", "Q_REGS", ".", "Narrow", "ALL_REGS", "to", "GENERAL_REGS", ".", "This", "supports", "allowing", "movsf", "and", "movdf", "to", "do", "mem-to-mem", "moves", "through", "integer", "regs", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_preferred_reload_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39016, "Length": 241}
{"ground_truth": ["", "bool", "ix86_pre_reload_split", "(", "void", ")", "{", "return", "(", "can_create_pseudo_p", "(", ")", "&&", "!", "(", "cfun", "->", "curr_properties", "&", "PROP_rtl_split_insns", ")", ")", ";", "}", ""], "natrual_language": ["Predicate", "for", "pre-reload", "splitters", "with", "associated", "instructions", ",", "which", "can", "match", "any", "time", "before", "the", "split1", "pass", "(", "usually", "combine", ")", ",", "then", "are", "unconditionally", "split", "in", "that", "pass", "and", "should", "not", "be", "matched", "again", "afterwards", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_pre_reload_split", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39017, "Length": 23}
{"ground_truth": ["", "static", "void", "ix86_print_operand_address", "(", "FILE", "*", "file", ",", "machine_mode", ",", "rtx", "addr", ")", "{", "if", "(", "this_is_asm_operands", "&&", "!", "address_operand", "(", "addr", ",", "VOIDmode", ")", ")", "output_operand_lossage", "(", "\"invalid constraints for operand\"", ")", ";", "else", "ix86_print_operand_address_as", "(", "file", ",", "addr", ",", "ADDR_SPACE_GENERIC", ",", "false", ")", ";", "}", ""], "natrual_language": ["Print", "a", "memory", "operand", "whose", "address", "is", "ADDR", "."], "TS_V_token": ["i386", "\"invalid constraints for operand\""], "File": "i386", "Func": "ix86_print_operand_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39018, "Length": 44}
{"ground_truth": ["", "void", "ix86_print_patchable_function_entry", "(", "FILE", "*", "file", ",", "unsigned", "HOST_WIDE_INT", "patch_area_size", ",", "bool", "record_p", ")", "{", "if", "(", "cfun", "->", "machine", "->", "function_label_emitted", ")", "{", "return", ";", "}", "default_print_patchable_function_entry", "(", "file", ",", "patch_area_size", ",", "record_p", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_print_patchable_function_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39019, "Length": 37}
{"ground_truth": ["", "static", "bool", "ix86_profile_before_prologue", "(", "void", ")", "{", "return", "flag_fentry", "!=", "0", ";", "}", ""], "natrual_language": ["Return", "true", ",", "if", "profiling", "code", "should", "be", "emitted", "before", "prologue", ".", "Otherwise", "it", "returns", "false", ".", "Note", ":", "For", "x86", "with", "``", "hotfix", "''", "it", "is", "sorried", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_profile_before_prologue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39020, "Length": 13}
{"ground_truth": ["", "static", "machine_mode", "ix86_promote_function_mode", "(", "const_tree", "type", ",", "machine_mode", "mode", ",", "int", "*", "punsignedp", ",", "const_tree", "fntype", ",", "int", "for_return", ")", "{", "if", "(", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_NORMAL", "&&", "type", "!=", "NULL_TREE", "&&", "POINTER_TYPE_P", "(", "type", ")", ")", "{", "*", "punsignedp", "=", "POINTERS_EXTEND_UNSIGNED", ";", "return", "word_mode", ";", "}", "return", "default_promote_function_mode", "(", "type", ",", "mode", ",", "punsignedp", ",", "fntype", ",", "for_return", ")", ";", "}", ""], "natrual_language": ["Pointer", "function", "arguments", "and", "return", "values", "are", "promoted", "to", "word_mode", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_promote_function_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39021, "Length": 65}
{"ground_truth": ["", "static", "bool", "ix86_push_argument", "(", "unsigned", "int", "npush", ")", "{", "return", "(", "(", "!", "TARGET_SSE2", "||", "npush", "<", "(", "TARGET_64BIT", "?", "16", ":", "8", ")", ")", "&&", "TARGET_PUSH_ARGS", "&&", "!", "ACCUMULATE_OUTGOING_ARGS", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_PUSH_ARGUMENT", "."], "TS_V_token": ["i386", "16", "8"], "File": "i386", "Func": "ix86_push_argument", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39022, "Length": 33}
{"ground_truth": ["", "poly_int64", "ix86_push_rounding", "(", "poly_int64", "bytes", ")", "{", "return", "ROUND_UP", "(", "bytes", ",", "UNITS_PER_WORD", ")", ";", "}", ""], "natrual_language": ["Implement", "PUSH_ROUNDING", ".", "On", "386", ",", "we", "have", "pushw", "instruction", "that", "decrements", "by", "exactly", "2", "no", "matter", "what", "the", "position", "was", ",", "there", "is", "no", "pushb", ".", "But", "as", "CIE", "data", "alignment", "factor", "on", "this", "arch", "is", "-4", "for", "32bit", "targets", "and", "-8", "for", "64bit", "targets", ",", "we", "need", "to", "make", "sure", "all", "stack", "pointer", "adjustments", "are", "in", "multiple", "of", "4", "for", "32bit", "targets", "and", "8", "for", "64bit", "targets", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_push_rounding", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39023, "Length": 16}
{"ground_truth": ["", "ix86_dependencies_evaluation_hook", "static", "int", "ix86_reassociation_width", "(", "unsigned", "int", "op", ",", "machine_mode", "mode", ")", "{", "int", "width", "=", "1", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "int", "div", "=", "1", ";", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_vec_int", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_vec_fp", ";", "if", "(", "width", "==", "1", ")", "return", "1", ";", "if", "(", "(", "ix86_tune", "==", "PROCESSOR_ZNVER1", "||", "ix86_tune", "==", "PROCESSOR_ZNVER2", "||", "ix86_tune", "==", "PROCESSOR_ZNVER3", ")", "&&", "INTEGRAL_MODE_P", "(", "mode", ")", "&&", "op", "!=", "PLUS", "&&", "op", "!=", "MINUS", ")", "return", "1", ";", "if", "(", "TARGET_AVX256_SPLIT_REGS", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "128", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "128", ";", "else", "if", "(", "TARGET_SSE_SPLIT_REGS", "&&", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "64", ")", "div", "=", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "64", ";", "width", "=", "(", "width", "+", "div", "-", "1", ")", "/", "div", ";", "}", "else", "if", "(", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_int", ";", "else", "if", "(", "FLOAT_MODE_P", "(", "mode", ")", ")", "width", "=", "ix86_cost", "->", "reassoc_fp", ";", "if", "(", "!", "TARGET_64BIT", "&&", "width", ">", "2", ")", "width", "=", "2", ";", "return", "width", ";", "}", ""], "natrual_language": ["Implementation", "of", "reassociation_width", "target", "hook", "used", "by", "reassoc", "phase", "to", "identify", "parallelism", "level", "in", "reassociated", "tree", ".", "Statements", "tree_code", "is", "passed", "in", "OPC", ".", "Arguments", "type", "is", "passed", "in", "MODE", ".", "Currently", "parallel", "reassociation", "is", "enabled", "for", "Atom", "processors", "only", "and", "we", "set", "reassociation", "width", "to", "be", "2", "because", "Atom", "may", "issue", "up", "to", "2", "instructions", "per", "cycle", ".", "Return", "value", "should", "be", "fixed", "if", "parallel", "reassociation", "is", "enabled", "for", "other", "processors", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "1", "128", "128", "64", "64", "1", "2", "2"], "File": "i386", "Func": "ix86_reassociation_width", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39024, "Length": 198}
{"ground_truth": ["", "static", "int", "ix86_register_move_cost", "(", "machine_mode", "mode", ",", "reg_class_t", "class1_i", ",", "reg_class_t", "class2_i", ")", "{", "enum", "reg_class", "class1", "=", "(", "enum", "reg_class", ")", "class1_i", ";", "enum", "reg_class", "class2", "=", "(", "enum", "reg_class", ")", "class2_i", ";", "if", "(", "inline_secondary_memory_needed", "(", "mode", ",", "class1", ",", "class2", ",", "false", ")", ")", "{", "int", "cost", "=", "1", ";", "cost", "+=", "inline_memory_move_cost", "(", "mode", ",", "class1", ",", "2", ")", ";", "cost", "+=", "inline_memory_move_cost", "(", "mode", ",", "class2", ",", "2", ")", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "BITS_PER_WORD", "&&", "TARGET_MEMORY_MISMATCH_STALL", "&&", "targetm", ".", "class_max_nregs", "(", "class1", ",", "mode", ")", ">", "targetm", ".", "class_max_nregs", "(", "class2", ",", "mode", ")", ")", "cost", "+=", "20", ";", "if", "(", "(", "MMX_CLASS_P", "(", "class1", ")", "&&", "MAYBE_FLOAT_CLASS_P", "(", "class2", ")", ")", "||", "(", "MMX_CLASS_P", "(", "class2", ")", "&&", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", ")", ")", "cost", "+=", "20", ";", "return", "cost", ";", "}", "if", "(", "MMX_CLASS_P", "(", "class1", ")", "!=", "MMX_CLASS_P", "(", "class2", ")", ")", "gcc_unreachable", "(", ")", ";", "if", "(", "SSE_CLASS_P", "(", "class1", ")", "!=", "SSE_CLASS_P", "(", "class2", ")", ")", "return", "(", "SSE_CLASS_P", "(", "class1", ")", "?", "ix86_cost", "->", "hard_register", ".", "sse_to_integer", ":", "ix86_cost", "->", "hard_register", ".", "integer_to_sse", ")", ";", "if", "(", "MASK_CLASS_P", "(", "class1", ")", "!=", "MASK_CLASS_P", "(", "class2", ")", ")", "{", "return", "(", "MASK_CLASS_P", "(", "class1", ")", "?", "ix86_cost", "->", "hard_register", ".", "mask_to_integer", ":", "ix86_cost", "->", "hard_register", ".", "integer_to_mask", ")", ";", "}", "if", "(", "MASK_CLASS_P", "(", "class1", ")", "&&", "MASK_CLASS_P", "(", "class2", ")", ")", "return", "ix86_cost", "->", "hard_register", ".", "mask_move", ";", "if", "(", "MAYBE_FLOAT_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "hard_register", ".", "fp_move", ";", "if", "(", "MAYBE_SSE_CLASS_P", "(", "class1", ")", ")", "{", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "<=", "128", ")", "return", "ix86_cost", "->", "hard_register", ".", "xmm_move", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "<=", "256", ")", "return", "ix86_cost", "->", "hard_register", ".", "ymm_move", ";", "return", "ix86_cost", "->", "hard_register", ".", "zmm_move", ";", "}", "if", "(", "MAYBE_MMX_CLASS_P", "(", "class1", ")", ")", "return", "ix86_cost", "->", "hard_register", ".", "mmx_move", ";", "return", "2", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "data", "from", "a", "register", "in", "class", "CLASS1", "to", "one", "in", "class", "CLASS2", ".", "It", "is", "not", "required", "that", "the", "cost", "always", "equal", "2", "when", "FROM", "is", "the", "same", "as", "TO", ";", "on", "some", "machines", "it", "is", "expensive", "to", "move", "between", "registers", "if", "they", "are", "not", "general", "registers", "."], "TS_V_token": ["i386", "1", "2", "2", "20", "20", "128", "256", "2"], "File": "i386", "Func": "ix86_register_move_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39025, "Length": 323}
{"ground_truth": ["", "static", "int", "ix86_register_priority", "(", "int", "hard_regno", ")", "{", "if", "(", "hard_regno", "==", "R12_REG", "||", "hard_regno", "==", "R13_REG", ")", "return", "0", ";", "if", "(", "hard_regno", "==", "BP_REG", ")", "return", "1", ";", "if", "(", "REX_INT_REGNO_P", "(", "hard_regno", ")", ")", "return", "2", ";", "if", "(", "REX_SSE_REGNO_P", "(", "hard_regno", ")", ")", "return", "2", ";", "if", "(", "EXT_REX_SSE_REGNO_P", "(", "hard_regno", ")", ")", "return", "1", ";", "if", "(", "hard_regno", "==", "AX_REG", ")", "return", "4", ";", "return", "3", ";", "}", ""], "natrual_language": ["Return", "a", "register", "priority", "for", "hard", "reg", "REGNO", "."], "TS_V_token": ["i386", "0", "1", "2", "2", "1", "4", "3"], "File": "i386", "Func": "ix86_register_priority", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39026, "Length": 73}
{"ground_truth": ["", "unsigned", "int", "ix86_regmode_natural_size", "(", "machine_mode", "mode", ")", "{", "if", "(", "mode", "==", "P2HImode", "||", "mode", "==", "P2QImode", ")", "return", "GET_MODE_SIZE", "(", "mode", ")", "/", "2", ";", "return", "UNITS_PER_WORD", ";", "}", ""], "natrual_language": ["Implement", "REGMODE_NATURAL_SIZE", "(", "MODE", ")", "."], "TS_V_token": ["i386", "2"], "File": "i386", "Func": "ix86_regmode_natural_size", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39027, "Length": 30}
{"ground_truth": ["", "int", "ix86_reg_parm_stack_space", "(", "const_tree", "fndecl", ")", "{", "enum", "calling_abi", "call_abi", "=", "SYSV_ABI", ";", "if", "(", "fndecl", "!=", "NULL_TREE", "&&", "TREE_CODE", "(", "fndecl", ")", "==", "FUNCTION_DECL", ")", "call_abi", "=", "ix86_function_abi", "(", "fndecl", ")", ";", "else", "call_abi", "=", "ix86_function_type_abi", "(", "fndecl", ")", ";", "if", "(", "TARGET_64BIT", "&&", "call_abi", "==", "MS_ABI", ")", "return", "32", ";", "return", "0", ";", "}", ""], "natrual_language": ["It", "returns", "the", "size", ",", "in", "bytes", ",", "of", "the", "area", "reserved", "for", "arguments", "passed", "in", "registers", "for", "the", "function", "represented", "by", "fndecl", "dependent", "to", "the", "used", "abi", "format", "."], "TS_V_token": ["i386", "32", "0"], "File": "i386", "Func": "ix86_reg_parm_stack_space", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39028, "Length": 56}
{"ground_truth": ["", "static", "int", "ix86_reloc_rw_mask", "(", "void", ")", "{", "return", "(", "flag_pic", "||", "!", "ix86_direct_extern_access", ")", "?", "3", ":", "0", ";", "}", ""], "natrual_language": ["If", "flag_pic", "or", "ix86_direct_extern_access", "is", "false", ",", "then", "neither", "local", "nor", "global", "relocs", "should", "be", "placed", "in", "readonly", "memory", "."], "TS_V_token": ["i386", "3", "0"], "File": "i386", "Func": "ix86_reloc_rw_mask", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39029, "Length": 20}
{"ground_truth": ["", "static", "void", "ix86_reorg", "(", "void", ")", "{", "compute_bb_for_insn", "(", ")", ";", "if", "(", "TARGET_SEH", "&&", "current_function_has_exception_handlers", "(", ")", ")", "ix86_seh_fixup_eh_fallthru", "(", ")", ";", "if", "(", "optimize", "&&", "optimize_function_for_speed_p", "(", "cfun", ")", ")", "{", "if", "(", "TARGET_SSE2", ")", "ix86_split_stlf_stall_load", "(", ")", ";", "if", "(", "TARGET_PAD_SHORT_FUNCTION", ")", "ix86_pad_short_function", "(", ")", ";", "else", "if", "(", "TARGET_PAD_RETURNS", ")", "ix86_pad_returns", "(", ")", ";", "if", "(", "TARGET_FOUR_JUMP_LIMIT", ")", "ix86_avoid_jump_mispredicts", "(", ")", ";", "}", "}", ""], "natrual_language": ["Implement", "machine", "specific", "optimizations", ".", "We", "implement", "padding", "of", "returns", "for", "K8", "CPUs", "and", "pass", "to", "avoid", "4", "jumps", "in", "the", "single", "16", "byte", "window", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_reorg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39030, "Length": 68}
{"ground_truth": ["", "static", "bool", "ix86_return_in_memory", "(", "const_tree", "type", ",", "const_tree", "fntype", "ATTRIBUTE_UNUSED", ")", "{", "const", "machine_mode", "mode", "=", "type_natural_mode", "(", "type", ",", "NULL", ",", "true", ")", ";", "HOST_WIDE_INT", "size", ";", "if", "(", "TARGET_64BIT", ")", "{", "if", "(", "ix86_function_type_abi", "(", "fntype", ")", "==", "MS_ABI", ")", "{", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "(", "!", "type", "||", "VECTOR_INTEGER_TYPE_P", "(", "type", ")", "||", "INTEGRAL_TYPE_P", "(", "type", ")", "||", "VECTOR_FLOAT_TYPE_P", "(", "type", ")", ")", "&&", "(", "SCALAR_INT_MODE_P", "(", "mode", ")", "||", "VECTOR_MODE_P", "(", "mode", ")", ")", "&&", "!", "COMPLEX_MODE_P", "(", "mode", ")", "&&", "(", "GET_MODE_SIZE", "(", "mode", ")", "==", "16", "||", "size", "==", "16", ")", ")", "return", "false", ";", "return", "size", "!=", "1", "&&", "size", "!=", "2", "&&", "size", "!=", "4", "&&", "size", "!=", "8", ";", "}", "else", "{", "int", "needed_intregs", ",", "needed_sseregs", ";", "return", "examine_argument", "(", "mode", ",", "type", ",", "1", ",", "&", "needed_intregs", ",", "&", "needed_sseregs", ")", ";", "}", "}", "else", "{", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "TARGET_IAMCU", ")", "return", "VECTOR_MODE_P", "(", "mode", ")", "||", "size", "<", "0", "||", "size", ">", "8", ";", "if", "(", "mode", "==", "BLKmode", ")", "return", "true", ";", "if", "(", "MS_AGGREGATE_RETURN", "&&", "AGGREGATE_TYPE_P", "(", "type", ")", "&&", "size", "<=", "8", ")", "return", "false", ";", "if", "(", "VECTOR_MODE_P", "(", "mode", ")", "||", "mode", "==", "TImode", ")", "{", "if", "(", "size", "<", "8", ")", "return", "false", ";", "if", "(", "size", "==", "8", ")", "return", "TARGET_VECT8_RETURNS", "||", "!", "TARGET_MMX", ";", "if", "(", "size", "==", "16", ")", "return", "!", "TARGET_SSE", ";", "if", "(", "size", "==", "32", ")", "return", "!", "TARGET_AVX", ";", "if", "(", "size", "==", "64", ")", "return", "!", "TARGET_AVX512F", ";", "}", "if", "(", "mode", "==", "XFmode", ")", "return", "false", ";", "if", "(", "size", ">", "12", ")", "return", "true", ";", "gcc_assert", "(", "mode", "!=", "OImode", ")", ";", "return", "false", ";", "}", "}", ""], "natrual_language": ["Return", "false", "iff", "type", "is", "returned", "in", "memory", "."], "TS_V_token": ["i386", "16", "16", "1", "2", "4", "8", "1", "0", "8", "8", "8", "8", "16", "32", "64", "12"], "File": "i386", "Func": "ix86_return_in_memory", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39031, "Length": 295}
{"ground_truth": ["", "static", "poly_int64", "ix86_return_pops_args", "(", "tree", "fundecl", ",", "tree", "funtype", ",", "poly_int64", "size", ")", "{", "unsigned", "int", "ccvt", ";", "if", "(", "TARGET_64BIT", ")", "return", "0", ";", "ccvt", "=", "ix86_get_callcvt", "(", "funtype", ")", ";", "if", "(", "(", "ccvt", "&", "(", "IX86_CALLCVT_STDCALL", "|", "IX86_CALLCVT_FASTCALL", "|", "IX86_CALLCVT_THISCALL", ")", ")", "!=", "0", "&&", "!", "stdarg_p", "(", "funtype", ")", ")", "return", "size", ";", "if", "(", "aggregate_value_p", "(", "TREE_TYPE", "(", "funtype", ")", ",", "fundecl", ")", "&&", "!", "ix86_keep_aggregate_return_pointer", "(", "funtype", ")", ")", "{", "int", "nregs", "=", "ix86_function_regparm", "(", "funtype", ",", "fundecl", ")", ";", "if", "(", "nregs", "==", "0", ")", "return", "GET_MODE_SIZE", "(", "Pmode", ")", ";", "}", "return", "0", ";", "}", ""], "natrual_language": ["Value", "is", "the", "number", "of", "bytes", "of", "arguments", "automatically", "popped", "when", "returning", "from", "a", "subroutine", "call", ".", "FUNDECL", "is", "the", "declaration", "node", "of", "the", "function", "(", "as", "a", "tree", ")", ",", "FUNTYPE", "is", "the", "data", "type", "of", "the", "function", "(", "as", "a", "tree", ")", ",", "or", "for", "a", "library", "call", "it", "is", "an", "identifier", "node", "for", "the", "subroutine", "name", ".", "SIZE", "is", "the", "number", "of", "bytes", "of", "arguments", "passed", "on", "the", "stack", ".", "On", "the", "80386", ",", "the", "RTD", "insn", "may", "be", "used", "to", "pop", "them", "if", "the", "number", "of", "args", "is", "fixed", ",", "but", "if", "the", "number", "is", "variable", "then", "the", "caller", "must", "pop", "them", "all", ".", "RTD", "ca", "n't", "be", "used", "for", "library", "calls", "now", "because", "the", "library", "is", "compiled", "with", "the", "Unix", "compiler", ".", "Use", "of", "RTD", "is", "a", "selectable", "option", ",", "since", "it", "is", "incompatible", "with", "standard", "Unix", "calling", "sequences", ".", "If", "the", "option", "is", "not", "selected", ",", "the", "caller", "must", "always", "pop", "the", "args", ".", "The", "attribute", "stdcall", "is", "equivalent", "to", "RTD", "on", "a", "per", "module", "basis", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i386", "Func": "ix86_return_pops_args", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39032, "Length": 103}
{"ground_truth": ["", "enum", "rtx_code", "ix86_reverse_condition", "(", "enum", "rtx_code", "code", ",", "machine_mode", "mode", ")", "{", "return", "(", "mode", "==", "CCFPmode", "?", "reverse_condition_maybe_unordered", "(", "code", ")", ":", "reverse_condition", "(", "code", ")", ")", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "REVERSE_CONDITION", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_reverse_condition", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39033, "Length": 30}
{"ground_truth": ["", "rtx", "ix86_rewrite_tls_address", "(", "rtx", "pattern", ")", "{", "pattern", "=", "copy_insn", "(", "pattern", ")", ";", "ix86_rewrite_tls_address_1", "(", "&", "pattern", ")", ";", "return", "pattern", ";", "}", ""], "natrual_language": ["Rewrite", "instruction", "pattern", "involvning", "TLS", "address", "so", "that", "it", "refers", "to", "a", "default", "TLS", "address", "space", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_rewrite_tls_address", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39034, "Length": 24}
{"ground_truth": ["", "void", "ix86_rewrite_tls_address_1", "(", "rtx", "*", "loc", ")", "{", "subrtx_ptr_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX_PTR", "(", "iter", ",", "array", ",", "loc", ",", "ALL", ")", "{", "rtx", "*", "loc", "=", "*", "iter", ";", "if", "(", "MEM_P", "(", "*", "loc", ")", ")", "{", "rtx", "addr", "=", "XEXP", "(", "*", "loc", ",", "0", ")", ";", "rtx", "*", "x", "=", "&", "addr", ";", "while", "(", "GET_CODE", "(", "*", "x", ")", "==", "PLUS", ")", "{", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "2", ";", "i", "++", ")", "{", "rtx", "u", "=", "XEXP", "(", "*", "x", ",", "i", ")", ";", "if", "(", "GET_CODE", "(", "u", ")", "==", "ZERO_EXTEND", ")", "u", "=", "XEXP", "(", "u", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "u", ")", "==", "UNSPEC", "&&", "XINT", "(", "u", ",", "1", ")", "==", "UNSPEC_TP", ")", "{", "addr_space_t", "as", "=", "DEFAULT_TLS_SEG_REG", ";", "*", "x", "=", "XEXP", "(", "*", "x", ",", "1", "-", "i", ")", ";", "*", "loc", "=", "replace_equiv_address_nv", "(", "*", "loc", ",", "addr", ",", "true", ")", ";", "set_mem_addr_space", "(", "*", "loc", ",", "as", ")", ";", "return", ";", "}", "}", "x", "=", "&", "XEXP", "(", "*", "x", ",", "0", ")", ";", "}", "iter", ".", "skip_subrtxes", "(", ")", ";", "}", "}", "}", ""], "natrual_language": ["Rewrite", "*", "LOC", "so", "that", "it", "refers", "to", "a", "default", "TLS", "address", "space", "."], "TS_V_token": ["i386", "0", "0", "2", "0", "1", "1", "0"], "File": "i386", "Func": "ix86_rewrite_tls_address_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39035, "Length": 198}
{"ground_truth": ["", "bool", "ix86_rip_relative_addr_p", "(", "struct", "ix86_address", "*", "parts", ")", "{", "rtx", "base", ",", "index", ",", "disp", ";", "base", "=", "parts", "->", "base", ";", "index", "=", "parts", "->", "index", ";", "disp", "=", "parts", "->", "disp", ";", "if", "(", "disp", "&&", "!", "base", "&&", "!", "index", ")", "{", "if", "(", "TARGET_64BIT", ")", "{", "rtx", "symbol", "=", "disp", ";", "if", "(", "GET_CODE", "(", "disp", ")", "==", "CONST", ")", "symbol", "=", "XEXP", "(", "disp", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "symbol", ")", "==", "PLUS", "&&", "CONST_INT_P", "(", "XEXP", "(", "symbol", ",", "1", ")", ")", ")", "symbol", "=", "XEXP", "(", "symbol", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "symbol", ")", "==", "LABEL_REF", "||", "(", "GET_CODE", "(", "symbol", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "symbol", ")", "==", "0", ")", "||", "(", "GET_CODE", "(", "symbol", ")", "==", "UNSPEC", "&&", "(", "XINT", "(", "symbol", ",", "1", ")", "==", "UNSPEC_GOTPCREL", "||", "XINT", "(", "symbol", ",", "1", ")", "==", "UNSPEC_PCREL", "||", "XINT", "(", "symbol", ",", "1", ")", "==", "UNSPEC_GOTNTPOFF", ")", ")", ")", "return", "true", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Check", "whether", "x86", "address", "PARTS", "is", "a", "pc-relative", "address", "."], "TS_V_token": ["i386", "0", "1", "0", "0", "1", "1", "1"], "File": "i386", "Func": "ix86_rip_relative_addr_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39036, "Length": 173}
{"ground_truth": ["", "static", "void", "ix86_run_selftests", "(", "void", ")", "{", "ix86_test_dumping_hard_regs", "(", ")", ";", "ix86_test_dumping_memory_blockage", "(", ")", ";", "ix86_test_loading_dump_fragment_1", "(", ")", ";", "ix86_test_loading_call_insn", "(", ")", ";", "ix86_test_loading_full_dump", "(", ")", ";", "ix86_test_loading_unspec", "(", ")", ";", "}", ""], "natrual_language": ["Run", "all", "target-specific", "selftests", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_run_selftests", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39037, "Length": 32}
{"ground_truth": ["", "bool", "ix86_save_reg", "(", "unsigned", "int", "regno", ",", "bool", "maybe_eh_return", ",", "bool", "ignore_outlined", ")", "{", "if", "(", "cfun", "->", "machine", "->", "no_caller_saved_registers", ")", "{", "rtx", "reg", "=", "crtl", "->", "return_rtx", ";", "if", "(", "reg", ")", "{", "unsigned", "int", "i", "=", "REGNO", "(", "reg", ")", ";", "unsigned", "int", "nregs", "=", "REG_NREGS", "(", "reg", ")", ";", "while", "(", "nregs", "--", ">", "0", ")", "if", "(", "(", "i", "+", "nregs", ")", "==", "regno", ")", "return", "false", ";", "}", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "fixed_regs", "[", "regno", "]", "&&", "!", "STACK_REGNO_P", "(", "regno", ")", "&&", "!", "MMX_REGNO_P", "(", "regno", ")", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", "if", "(", "regno", "==", "REAL_PIC_OFFSET_TABLE_REGNUM", "&&", "pic_offset_table_rtx", ")", "{", "if", "(", "ix86_use_pseudo_pic_reg", "(", ")", ")", "{", "if", "(", "!", "TARGET_64BIT", "&&", "flag_pic", "&&", "crtl", "->", "profile", ")", "return", "true", ";", "}", "else", "if", "(", "df_regs_ever_live_p", "(", "REAL_PIC_OFFSET_TABLE_REGNUM", ")", "||", "crtl", "->", "profile", "||", "crtl", "->", "calls_eh_return", "||", "crtl", "->", "uses_const_pool", "||", "cfun", "->", "has_nonlocal_label", ")", "return", "ix86_select_alt_pic_regnum", "(", ")", "==", "INVALID_REGNUM", ";", "}", "if", "(", "crtl", "->", "calls_eh_return", "&&", "maybe_eh_return", ")", "{", "unsigned", "i", ";", "for", "(", "i", "=", "0", ";", ";", "i", "++", ")", "{", "unsigned", "test", "=", "EH_RETURN_DATA_REGNO", "(", "i", ")", ";", "if", "(", "test", "==", "INVALID_REGNUM", ")", "break", ";", "if", "(", "test", "==", "regno", ")", "return", "true", ";", "}", "}", "if", "(", "ignore_outlined", "&&", "cfun", "->", "machine", "->", "call_ms2sysv", ")", "{", "unsigned", "count", "=", "cfun", "->", "machine", "->", "call_ms2sysv_extra_regs", "+", "xlogue_layout", "::", "MIN_REGS", ";", "if", "(", "xlogue_layout", "::", "is_stub_managed_reg", "(", "regno", ",", "count", ")", ")", "return", "false", ";", "}", "if", "(", "crtl", "->", "drap_reg", "&&", "regno", "==", "REGNO", "(", "crtl", "->", "drap_reg", ")", "&&", "!", "cfun", "->", "machine", "->", "no_drap_save_restore", ")", "return", "true", ";", "return", "(", "df_regs_ever_live_p", "(", "regno", ")", "&&", "!", "call_used_or_fixed_reg_p", "(", "regno", ")", "&&", "(", "regno", "!=", "HARD_FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ")", ";", "}", ""], "natrual_language": ["Return", "1", "if", "we", "need", "to", "save", "REGNO", "."], "TS_V_token": ["i386", "0", "0"], "File": "i386", "Func": "ix86_save_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39038, "Length": 311}
{"ground_truth": ["", "static", "bool", "ix86_scalar_mode_supported_p", "(", "scalar_mode", "mode", ")", "{", "if", "(", "DECIMAL_FLOAT_MODE_P", "(", "mode", ")", ")", "return", "default_decimal_float_supported_p", "(", ")", ";", "else", "if", "(", "mode", "==", "TFmode", ")", "return", "true", ";", "else", "if", "(", "mode", "==", "HFmode", "&&", "TARGET_SSE2", ")", "return", "true", ";", "else", "return", "default_scalar_mode_supported_p", "(", "mode", ")", ";", "}", ""], "natrual_language": ["Target", "hook", "for", "scalar_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_scalar_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39039, "Length": 50}
{"ground_truth": ["", "static", "void", "ix86_sched_init_global", "(", "FILE", "*", ",", "int", ",", "int", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "case", "PROCESSOR_TREMONT", ":", "case", "PROCESSOR_ALDERLAKE", ":", "case", "PROCESSOR_GENERIC", ":", "if", "(", "reload_completed", ")", "{", "ix86_core2i7_init_hooks", "(", ")", ";", "break", ";", "}", "default", ":", "targetm", ".", "sched", ".", "dfa_post_advance_cycle", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_init", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_begin", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_issue", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_backtrack", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_end", "=", "NULL", ";", "targetm", ".", "sched", ".", "first_cycle_multipass_fini", "=", "NULL", ";", "break", ";", "}", "}", ""], "natrual_language": ["Prepare", "for", "scheduling", "pass", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_sched_init_global", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39040, "Length": 112}
{"ground_truth": ["", "static", "bool", "ix86_secondary_memory_needed", "(", "machine_mode", "mode", ",", "reg_class_t", "class1", ",", "reg_class_t", "class2", ")", "{", "return", "inline_secondary_memory_needed", "(", "mode", ",", "class1", ",", "class2", ",", "true", ")", ";", "}", ""], "natrual_language": ["If", "we", "are", "copying", "between", "general", "and", "FP", "registers", ",", "we", "need", "a", "memory", "location", ".", "The", "same", "is", "true", "for", "SSE", "and", "MMX", "registers", ".", "The", "macro", "ca", "n't", "work", "reliably", "when", "one", "of", "the", "CLASSES", "is", "class", "containing", "registers", "from", "multiple", "units", "(", "SSE", ",", "MMX", ",", "integer", ")", ".", "We", "avoid", "this", "by", "never", "combining", "those", "units", "in", "single", "alternative", "in", "the", "machine", "description", ".", "Ensure", "that", "this", "constraint", "holds", "to", "avoid", "unexpected", "surprises", ".", "When", "STRICT", "is", "false", ",", "we", "are", "being", "called", "from", "REGISTER_MOVE_COST", ",", "so", "do", "not", "enforce", "these", "sanity", "checks", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_secondary_memory_needed", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39041, "Length": 27}
{"ground_truth": ["", "static", "machine_mode", "ix86_secondary_memory_needed_mode", "(", "machine_mode", "mode", ")", "{", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "<", "32", "&&", "INTEGRAL_MODE_P", "(", "mode", ")", ")", "return", "mode_for_size", "(", "32", ",", "GET_MODE_CLASS", "(", "mode", ")", ",", "0", ")", ".", "require", "(", ")", ";", "return", "mode", ";", "}", ""], "natrual_language": ["Implement", "TARGET_SECONDARY_MEMORY_NEEDED_MODE", ".", "get_secondary_mem", "widens", "integral", "modes", "to", "BITS_PER_WORD", ".", "There", "is", "no", "need", "to", "emit", "full", "64", "bit", "move", "on", "64", "bit", "targets", "for", "integral", "modes", "that", "can", "be", "moved", "using", "32", "bit", "move", "."], "TS_V_token": ["i386", "32", "32", "0"], "File": "i386", "Func": "ix86_secondary_memory_needed_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39042, "Length": 43}
{"ground_truth": ["", "static", "void", "ix86_seh_fixup_eh_fallthru", "(", "void", ")", "{", "edge", "e", ";", "edge_iterator", "ei", ";", "FOR_EACH_EDGE", "(", "e", ",", "ei", ",", "EXIT_BLOCK_PTR_FOR_FN", "(", "cfun", ")", "->", "preds", ")", "{", "rtx_insn", "*", "insn", ",", "*", "next", ";", "for", "(", "insn", "=", "BB_END", "(", "e", "->", "src", ")", ";", "insn", "!=", "NULL", ";", "insn", "=", "PREV_INSN", "(", "insn", ")", ")", "if", "(", "NOTE_P", "(", "insn", ")", "&&", "NOTE_KIND", "(", "insn", ")", "==", "NOTE_INSN_EPILOGUE_BEG", ")", "break", ";", "if", "(", "insn", "==", "NULL", ")", "continue", ";", "insn", "=", "prev_active_insn", "(", "insn", ")", ";", "if", "(", "insn", "==", "NULL", "||", "!", "can_throw_internal", "(", "insn", ")", ")", "continue", ";", "for", "(", "next", "=", "NEXT_INSN", "(", "insn", ")", ";", "next", "!=", "NULL", ";", "next", "=", "NEXT_INSN", "(", "next", ")", ")", "if", "(", "NOTE_P", "(", "next", ")", "&&", "NOTE_KIND", "(", "next", ")", "==", "NOTE_INSN_VAR_LOCATION", ")", "insn", "=", "next", ";", "else", "break", ";", "emit_insn_after", "(", "gen_nops", "(", "const1_rtx", ")", ",", "insn", ")", ";", "}", "}", ""], "natrual_language": ["Fix", "up", "a", "Windows", "system", "unwinder", "issue", ".", "If", "an", "EH", "region", "falls", "through", "into", "the", "epilogue", ",", "the", "Windows", "system", "unwinder", "will", "apply", "epilogue", "logic", "and", "produce", "incorrect", "offsets", ".", "This", "can", "be", "avoided", "by", "adding", "a", "nop", "between", "the", "last", "insn", "that", "can", "throw", "and", "the", "first", "insn", "of", "the", "epilogue", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_seh_fixup_eh_fallthru", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39043, "Length": 154}
{"ground_truth": ["", "static", "unsigned", "int", "ix86_select_alt_pic_regnum", "(", "void", ")", "{", "if", "(", "ix86_use_pseudo_pic_reg", "(", ")", ")", "return", "INVALID_REGNUM", ";", "if", "(", "crtl", "->", "is_leaf", "&&", "!", "crtl", "->", "profile", "&&", "!", "ix86_current_function_calls_tls_descriptor", ")", "{", "int", "i", ",", "drap", ";", "if", "(", "crtl", "->", "drap_reg", ")", "drap", "=", "REGNO", "(", "crtl", "->", "drap_reg", ")", ";", "else", "drap", "=", "-", "1", ";", "for", "(", "i", "=", "2", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "i", "!=", "drap", "&&", "!", "df_regs_ever_live_p", "(", "i", ")", ")", "return", "i", ";", "}", "return", "INVALID_REGNUM", ";", "}", ""], "natrual_language": ["Return", ">", "=", "0", "if", "there", "is", "an", "unused", "call-clobbered", "register", "available", "for", "the", "entire", "function", "."], "TS_V_token": ["i386", "1", "2", "0"], "File": "i386", "Func": "ix86_select_alt_pic_regnum", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39044, "Length": 91}
{"ground_truth": ["", "void", "ix86_setup_frame_addresses", "(", "void", ")", "{", "cfun", "->", "machine", "->", "accesses_prev_frame", "=", "1", ";", "}", ""], "natrual_language": ["Record", "that", "the", "current", "function", "accesses", "previous", "call", "frames", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_setup_frame_addresses", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39045, "Length": 15}
{"ground_truth": ["", "static", "void", "ix86_setup_incoming_varargs", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ",", "int", "*", ",", "int", "no_rtl", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "CUMULATIVE_ARGS", "next_cum", ";", "tree", "fntype", ";", "gcc_assert", "(", "!", "no_rtl", ")", ";", "if", "(", "!", "TARGET_64BIT", ")", "return", ";", "fntype", "=", "TREE_TYPE", "(", "current_function_decl", ")", ";", "next_cum", "=", "*", "cum", ";", "if", "(", "stdarg_p", "(", "fntype", ")", ")", "ix86_function_arg_advance", "(", "pack_cumulative_args", "(", "&", "next_cum", ")", ",", "arg", ")", ";", "if", "(", "cum", "->", "call_abi", "==", "MS_ABI", ")", "setup_incoming_varargs_ms_64", "(", "&", "next_cum", ")", ";", "else", "setup_incoming_varargs_64", "(", "&", "next_cum", ")", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_SETUP_INCOMING_VARARGS", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_setup_incoming_varargs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39046, "Length": 99}
{"ground_truth": ["", "static", "int", "ix86_set_reg_reg_cost", "(", "machine_mode", "mode", ")", "{", "unsigned", "int", "units", "=", "UNITS_PER_WORD", ";", "switch", "(", "GET_MODE_CLASS", "(", "mode", ")", ")", "{", "default", ":", "break", ";", "case", "MODE_CC", ":", "units", "=", "GET_MODE_SIZE", "(", "CCmode", ")", ";", "break", ";", "case", "MODE_FLOAT", ":", "if", "(", "(", "TARGET_SSE", "&&", "mode", "==", "TFmode", ")", "||", "(", "TARGET_80387", "&&", "mode", "==", "XFmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE2", ")", "&&", "mode", "==", "DFmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE", ")", "&&", "mode", "==", "SFmode", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "break", ";", "case", "MODE_COMPLEX_FLOAT", ":", "if", "(", "(", "TARGET_SSE", "&&", "mode", "==", "TCmode", ")", "||", "(", "TARGET_80387", "&&", "mode", "==", "XCmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE2", ")", "&&", "mode", "==", "DCmode", ")", "||", "(", "(", "TARGET_80387", "||", "TARGET_SSE", ")", "&&", "mode", "==", "SCmode", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "break", ";", "case", "MODE_VECTOR_INT", ":", "case", "MODE_VECTOR_FLOAT", ":", "if", "(", "(", "TARGET_AVX512F", "&&", "VALID_AVX512F_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_SSE2", "&&", "VALID_SSE2_REG_MODE", "(", "mode", ")", ")", "||", "(", "TARGET_SSE", "&&", "VALID_SSE_REG_MODE", "(", "mode", ")", ")", "||", "(", "(", "TARGET_MMX", "||", "TARGET_MMX_WITH_SSE", ")", "&&", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", ")", "units", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "}", "return", "COSTS_N_INSNS", "(", "CEIL", "(", "GET_MODE_SIZE", "(", "mode", ")", ",", "units", ")", ")", ";", "}", ""], "natrual_language": ["Return", "the", "cost", "of", "moving", "between", "two", "registers", "of", "mode", "MODE", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_set_reg_reg_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39047, "Length": 226}
{"ground_truth": ["", "static", "int", "ix86_shift_rotate_cost", "(", "const", "struct", "processor_costs", "*", "cost", ",", "enum", "rtx_code", "code", ",", "enum", "machine_mode", "mode", ",", "bool", "constant_op1", ",", "HOST_WIDE_INT", "op1_val", ",", "bool", "speed", ",", "bool", "and_in_op1", ",", "bool", "shift_and_truncate", ",", "bool", "*", "skip_op0", ",", "bool", "*", "skip_op1", ")", "{", "if", "(", "skip_op0", ")", "*", "skip_op0", "=", "*", "skip_op1", "=", "false", ";", "if", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", "{", "if", "(", "mode", "==", "V16QImode", "||", "mode", "==", "V32QImode", ")", "{", "int", "count", "=", "11", ";", "if", "(", "TARGET_XOP", "&&", "mode", "==", "V16QImode", ")", "{", "if", "(", "constant_op1", ")", "{", "if", "(", "skip_op1", ")", "*", "skip_op1", "=", "true", ";", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "sse_op", "+", "(", "speed", "?", "2", ":", "COSTS_N_BYTES", "(", "GET_MODE_UNIT_SIZE", "(", "mode", ")", ")", ")", ")", ";", "}", "count", "=", "3", ";", "}", "else", "if", "(", "TARGET_SSSE3", ")", "count", "=", "7", ";", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "sse_op", "*", "count", ")", ";", "}", "else", "if", "(", "code", "==", "ASHIFTRT", "&&", "(", "mode", "==", "V2DImode", "||", "mode", "==", "V4DImode", ")", "&&", "!", "TARGET_XOP", "&&", "!", "TARGET_AVX512VL", ")", "{", "int", "count", "=", "4", ";", "if", "(", "constant_op1", "&&", "op1_val", "==", "63", "&&", "TARGET_SSE4_2", ")", "count", "=", "2", ";", "else", "if", "(", "constant_op1", ")", "count", "=", "3", ";", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "sse_op", "*", "count", ")", ";", "}", "else", "return", "ix86_vec_cost", "(", "mode", ",", "cost", "->", "sse_op", ")", ";", "}", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "{", "if", "(", "constant_op1", ")", "{", "if", "(", "op1_val", ">", "32", ")", "return", "cost", "->", "shift_const", "+", "COSTS_N_INSNS", "(", "2", ")", ";", "else", "return", "cost", "->", "shift_const", "*", "2", ";", "}", "else", "{", "if", "(", "and_in_op1", ")", "return", "cost", "->", "shift_var", "*", "2", ";", "else", "return", "cost", "->", "shift_var", "*", "6", "+", "COSTS_N_INSNS", "(", "2", ")", ";", "}", "}", "else", "{", "if", "(", "constant_op1", ")", "return", "cost", "->", "shift_const", ";", "else", "if", "(", "shift_and_truncate", ")", "{", "if", "(", "skip_op0", ")", "*", "skip_op0", "=", "*", "skip_op1", "=", "true", ";", "return", "cost", "->", "shift_var", ";", "}", "else", "return", "cost", "->", "shift_var", ";", "}", "}", ""], "natrual_language": ["Return", "cost", "of", "shift", "in", "MODE", ".", "If", "CONSTANT_OP1", "is", "true", ",", "the", "op1", "value", "is", "known", "and", "set", "in", "OP1_VAL", ".", "AND_IN_OP1", "specify", "in", "op1", "is", "result", "of", "AND", "and", "SHIFT_AND_TRUNCATE", "if", "op1", "is", "a", "result", "of", "subreg", ".", "SKIP_OP0/1", "is", "set", "to", "true", "if", "cost", "of", "OP0/1", "should", "be", "ignored", "."], "TS_V_token": ["i386", "11", "2", "3", "7", "4", "63", "2", "3", "32", "2", "2", "2", "6", "2"], "File": "i386", "Func": "ix86_shift_rotate_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39048, "Length": 343}
{"ground_truth": ["", "static", "int", "ix86_simd_clone_usable", "(", "struct", "cgraph_node", "*", "node", ")", "{", "switch", "(", "node", "->", "simdclone", "->", "vecsize_mangle", ")", "{", "case", "'b'", ":", "if", "(", "!", "TARGET_SSE2", ")", "return", "-", "1", ";", "if", "(", "!", "TARGET_AVX", ")", "return", "0", ";", "return", "TARGET_AVX512F", "?", "3", ":", "TARGET_AVX2", "?", "2", ":", "1", ";", "case", "'c'", ":", "if", "(", "!", "TARGET_AVX", ")", "return", "-", "1", ";", "return", "TARGET_AVX512F", "?", "2", ":", "TARGET_AVX2", "?", "1", ":", "0", ";", "case", "'d'", ":", "if", "(", "!", "TARGET_AVX2", ")", "return", "-", "1", ";", "return", "TARGET_AVX512F", "?", "1", ":", "0", ";", "case", "'e'", ":", "if", "(", "!", "TARGET_AVX512F", ")", "return", "-", "1", ";", "return", "0", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["If", "SIMD", "clone", "NODE", "ca", "n't", "be", "used", "in", "a", "vectorized", "loop", "in", "current", "function", ",", "return", "-1", ",", "otherwise", "return", "a", "badness", "of", "using", "it", "(", "0", "if", "it", "is", "most", "desirable", "from", "vecsize_mangle", "point", "of", "view", ",", "1", "slightly", "less", "desirable", ",", "etc", ".", ")", "."], "TS_V_token": ["i386", "1", "0", "3", "2", "1", "1", "2", "1", "0", "1", "1", "0", "1", "0"], "File": "i386", "Func": "ix86_simd_clone_usable", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39049, "Length": 115}
{"ground_truth": ["", "static", "reg_class_t", "ix86_spill_class", "(", "reg_class_t", "rclass", ",", "machine_mode", "mode", ")", "{", "if", "(", "0", "&&", "TARGET_GENERAL_REGS_SSE_SPILL", "&&", "TARGET_SSE2", "&&", "TARGET_INTER_UNIT_MOVES_TO_VEC", "&&", "TARGET_INTER_UNIT_MOVES_FROM_VEC", "&&", "(", "mode", "==", "SImode", "||", "(", "TARGET_64BIT", "&&", "mode", "==", "DImode", ")", ")", "&&", "INTEGER_CLASS_P", "(", "rclass", ")", ")", "return", "ALL_SSE_REGS", ";", "return", "NO_REGS", ";", "}", ""], "natrual_language": ["Return", "class", "of", "registers", "which", "could", "be", "used", "for", "pseudo", "of", "MODE", "and", "of", "class", "RCLASS", "for", "spilling", "instead", "of", "memory", ".", "Return", "NO_REGS", "if", "it", "is", "not", "possible", "or", "non-profitable", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "ix86_spill_class", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39050, "Length": 49}
{"ground_truth": ["", "rtx", "ix86_split_stack_guard", "(", "void", ")", "{", "int", "offset", ";", "addr_space_t", "as", "=", "DEFAULT_TLS_SEG_REG", ";", "rtx", "r", ";", "gcc_assert", "(", "flag_split_stack", ")", ";", "offset", "=", "TARGET_THREAD_SPLIT_STACK_OFFSET", ";", "gcc_unreachable", "(", ")", ";", "r", "=", "GEN_INT", "(", "offset", ")", ";", "r", "=", "gen_const_mem", "(", "Pmode", ",", "r", ")", ";", "set_mem_addr_space", "(", "r", ",", "as", ")", ";", "return", "r", ";", "}", ""], "natrual_language": ["Return", "location", "of", "the", "stack", "guard", "value", "in", "the", "TLS", "block", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_split_stack_guard", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39051, "Length": 57}
{"ground_truth": ["", "static", "void", "ix86_split_stlf_stall_load", "(", ")", "{", "rtx_insn", "*", "insn", ",", "*", "start", "=", "get_insns", "(", ")", ";", "unsigned", "window", "=", "0", ";", "for", "(", "insn", "=", "start", ";", "insn", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ")", "{", "if", "(", "!", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "continue", ";", "window", "++", ";", "if", "(", "window", ">", "(", "unsigned", ")", "x86_stlf_window_ninsns", ")", "return", ";", "if", "(", "any_uncondjump_p", "(", "insn", ")", "||", "ANY_RETURN_P", "(", "PATTERN", "(", "insn", ")", ")", "||", "CALL_P", "(", "insn", ")", ")", "return", ";", "rtx", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "set", ")", "continue", ";", "rtx", "src", "=", "SET_SRC", "(", "set", ")", ";", "if", "(", "!", "MEM_P", "(", "src", ")", "||", "GET_MODE", "(", "src", ")", "!=", "E_V2DFmode", "||", "!", "MEM_EXPR", "(", "src", ")", "||", "TREE_CODE", "(", "get_base_address", "(", "MEM_EXPR", "(", "src", ")", ")", ")", "!=", "PARM_DECL", ")", "continue", ";", "rtx", "zero", "=", "CONST0_RTX", "(", "V2DFmode", ")", ";", "rtx", "dest", "=", "SET_DEST", "(", "set", ")", ";", "rtx", "m", "=", "adjust_address", "(", "src", ",", "DFmode", ",", "0", ")", ";", "rtx", "loadlpd", "=", "gen_sse2_loadlpd", "(", "dest", ",", "zero", ",", "m", ")", ";", "emit_insn_before", "(", "loadlpd", ",", "insn", ")", ";", "m", "=", "adjust_address", "(", "src", ",", "DFmode", ",", "8", ")", ";", "rtx", "loadhpd", "=", "gen_sse2_loadhpd", "(", "dest", ",", "dest", ",", "m", ")", ";", "if", "(", "dump_file", "&&", "(", "dump_flags", "&", "TDF_DETAILS", ")", ")", "{", "fputs", "(", "\"Due to potential STLF stall, split instruction:\\n\"", ",", "dump_file", ")", ";", "print_rtl_single", "(", "dump_file", ",", "insn", ")", ";", "fputs", "(", "\"To:\\n\"", ",", "dump_file", ")", ";", "print_rtl_single", "(", "dump_file", ",", "loadlpd", ")", ";", "print_rtl_single", "(", "dump_file", ",", "loadhpd", ")", ";", "}", "PATTERN", "(", "insn", ")", "=", "loadhpd", ";", "INSN_CODE", "(", "insn", ")", "=", "-", "1", ";", "gcc_assert", "(", "recog_memoized", "(", "insn", ")", "!=", "-", "1", ")", ";", "}", "}", ""], "natrual_language": ["Split", "vector", "load", "from", "parm_decl", "to", "elemental", "loads", "to", "avoid", "STLF", "stalls", "."], "TS_V_token": ["i386", "0", "0", "8", "\"Due to potential STLF stall, split instruction:\\n\"", "\"To:\\n\"", "1", "1"], "File": "i386", "Func": "ix86_split_stlf_stall_load", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39052, "Length": 288}
{"ground_truth": ["", "static", "tree", "ATTRIBUTE_UNUSED", "ix86_stack_protect_fail", "(", "void", ")", "{", "return", "TARGET_64BIT", "?", "default_external_stack_protect_fail", "(", ")", ":", "default_hidden_stack_protect_fail", "(", ")", ";", "}", ""], "natrual_language": ["For", "32-bit", "code", "we", "can", "save", "PIC", "register", "setup", "by", "using", "__stack_chk_fail_local", "hidden", "function", "instead", "of", "calling", "__stack_chk_fail", "directly", ".", "64-bit", "code", "does", "n't", "need", "to", "setup", "any", "PIC", "register", ",", "so", "it", "is", "better", "to", "call", "__stack_chk_fail", "directly", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_stack_protect_fail", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39053, "Length": 20}
{"ground_truth": ["", "static", "tree", "ix86_stack_protect_guard", "(", "void", ")", "{", "if", "(", "TARGET_SSP_TLS_GUARD", ")", "{", "tree", "type_node", "=", "lang_hooks", ".", "types", ".", "type_for_mode", "(", "ptr_mode", ",", "1", ")", ";", "int", "qual", "=", "ENCODE_QUAL_ADDR_SPACE", "(", "ix86_stack_protector_guard_reg", ")", ";", "tree", "type", "=", "build_qualified_type", "(", "type_node", ",", "qual", ")", ";", "tree", "t", ";", "if", "(", "OPTION_SET_P", "(", "ix86_stack_protector_guard_symbol_str", ")", ")", "{", "t", "=", "ix86_tls_stack_chk_guard_decl", ";", "if", "(", "t", "==", "NULL", ")", "{", "rtx", "x", ";", "t", "=", "build_decl", "(", "UNKNOWN_LOCATION", ",", "VAR_DECL", ",", "get_identifier", "(", "ix86_stack_protector_guard_symbol_str", ")", ",", "type", ")", ";", "TREE_STATIC", "(", "t", ")", "=", "1", ";", "TREE_PUBLIC", "(", "t", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "t", ")", "=", "1", ";", "TREE_USED", "(", "t", ")", "=", "1", ";", "TREE_THIS_VOLATILE", "(", "t", ")", "=", "1", ";", "DECL_ARTIFICIAL", "(", "t", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "t", ")", "=", "1", ";", "x", "=", "DECL_RTL", "(", "t", ")", ";", "RTX_FLAG", "(", "x", ",", "used", ")", "=", "1", ";", "ix86_tls_stack_chk_guard_decl", "=", "t", ";", "}", "}", "else", "{", "tree", "asptrtype", "=", "build_pointer_type", "(", "type", ")", ";", "t", "=", "build_int_cst", "(", "asptrtype", ",", "ix86_stack_protector_guard_offset", ")", ";", "t", "=", "build2", "(", "MEM_REF", ",", "asptrtype", ",", "t", ",", "build_int_cst", "(", "asptrtype", ",", "0", ")", ")", ";", "TREE_THIS_VOLATILE", "(", "t", ")", "=", "1", ";", "}", "return", "t", ";", "}", "return", "default_stack_protect_guard", "(", ")", ";", "}", ""], "natrual_language": ["If", "using", "TLS", "guards", ",", "do", "n't", "waste", "time", "creating", "and", "expanding", "__stack_chk_guard", "decl", "and", "MEM", "as", "we", "are", "going", "to", "ignore", "it", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "1", "1", "1", "1", "1", "0", "1"], "File": "i386", "Func": "ix86_stack_protect_guard", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39054, "Length": 211}
{"ground_truth": ["", "bool", "ix86_standard_x87sse_constant_load_p", "(", "const", "rtx_insn", "*", "insn", ",", "rtx", "dst", ")", "{", "rtx", "src", "=", "find_constant_src", "(", "insn", ")", ";", "gcc_assert", "(", "REG_P", "(", "dst", ")", ")", ";", "if", "(", "src", "==", "NULL", "||", "(", "SSE_REGNO_P", "(", "REGNO", "(", "dst", ")", ")", "&&", "standard_sse_constant_p", "(", "src", ",", "GET_MODE", "(", "dst", ")", ")", "!=", "1", ")", "||", "(", "STACK_REGNO_P", "(", "REGNO", "(", "dst", ")", ")", "&&", "standard_80387_constant_p", "(", "src", ")", "<", "1", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Returns", "true", "if", "INSN", "can", "be", "transformed", "from", "a", "memory", "load", "to", "a", "supported", "FP", "constant", "load", "."], "TS_V_token": ["i386", "1", "1"], "File": "i386", "Func": "ix86_standard_x87sse_constant_load_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39055, "Length": 80}
{"ground_truth": ["", "static", "rtx", "ix86_static_chain", "(", "const_tree", "fndecl_or_type", ",", "bool", "incoming_p", ")", "{", "unsigned", "regno", ";", "if", "(", "TARGET_64BIT", ")", "{", "regno", "=", "R10_REG", ";", "}", "else", "{", "const_tree", "fntype", ",", "fndecl", ";", "unsigned", "int", "ccvt", ";", "regno", "=", "CX_REG", ";", "if", "(", "TREE_CODE", "(", "fndecl_or_type", ")", "==", "FUNCTION_DECL", ")", "{", "fntype", "=", "TREE_TYPE", "(", "fndecl_or_type", ")", ";", "fndecl", "=", "fndecl_or_type", ";", "}", "else", "{", "fntype", "=", "fndecl_or_type", ";", "fndecl", "=", "NULL", ";", "}", "ccvt", "=", "ix86_get_callcvt", "(", "fntype", ")", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "{", "regno", "=", "AX_REG", ";", "}", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_THISCALL", ")", "!=", "0", ")", "{", "regno", "=", "AX_REG", ";", "}", "else", "if", "(", "ix86_function_regparm", "(", "fntype", ",", "fndecl", ")", "==", "3", ")", "{", "if", "(", "incoming_p", ")", "{", "if", "(", "fndecl", "==", "current_function_decl", "&&", "!", "ix86_static_chain_on_stack", ")", "{", "gcc_assert", "(", "!", "reload_completed", ")", ";", "ix86_static_chain_on_stack", "=", "true", ";", "}", "return", "gen_frame_mem", "(", "SImode", ",", "plus_constant", "(", "Pmode", ",", "arg_pointer_rtx", ",", "-", "8", ")", ")", ";", "}", "regno", "=", "SI_REG", ";", "}", "}", "return", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ";", "}", ""], "natrual_language": ["Find", "a", "location", "for", "the", "static", "chain", "incoming", "to", "a", "nested", "function", ".", "This", "is", "a", "register", ",", "unless", "all", "free", "registers", "are", "used", "by", "arguments", "."], "TS_V_token": ["i386", "0", "0", "3", "8"], "File": "i386", "Func": "ix86_static_chain", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39056, "Length": 183}
{"ground_truth": ["", "static", "HOST_WIDE_INT", "ix86_static_rtx_alignment", "(", "machine_mode", "mode", ")", "{", "if", "(", "mode", "==", "DFmode", ")", "return", "64", ";", "if", "(", "ALIGN_MODE_128", "(", "mode", ")", ")", "return", "MAX", "(", "128", ",", "GET_MODE_ALIGNMENT", "(", "mode", ")", ")", ";", "return", "GET_MODE_ALIGNMENT", "(", "mode", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_STATIC_RTX_ALIGNMENT", "."], "TS_V_token": ["i386", "64", "128"], "File": "i386", "Func": "ix86_static_rtx_alignment", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39057, "Length": 42}
{"ground_truth": ["", "bool", "ix86_target_stack_probe", "(", "void", ")", "{", "if", "(", "flag_stack_check", "==", "STATIC_BUILTIN_STACK_CHECK", ")", "return", "false", ";", "return", "TARGET_STACK_PROBE", ";", "}", ""], "natrual_language": ["Decide", "whether", "we", "must", "probe", "the", "stack", "before", "any", "space", "allocation", "on", "this", "target", ".", "It", "'s", "essentially", "TARGET_STACK_PROBE", "except", "when", "-fstack-check", "causes", "the", "stack", "to", "be", "already", "probed", "differently", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_target_stack_probe", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39058, "Length": 19}
{"ground_truth": ["", "static", "void", "ix86_test_dumping_hard_regs", "(", ")", "{", "ASSERT_RTL_DUMP_EQ", "(", "\"(reg:SI ax)\"", ",", "gen_raw_REG", "(", "SImode", ",", "0", ")", ")", ";", "ASSERT_RTL_DUMP_EQ", "(", "\"(reg:SI dx)\"", ",", "gen_raw_REG", "(", "SImode", ",", "1", ")", ")", ";", "}", ""], "natrual_language": ["Verify", "that", "hard", "regs", "are", "dumped", "as", "expected", "(", "in", "compact", "mode", ")", "."], "TS_V_token": ["i386", "\"(reg:SI ax)\"", "0", "\"(reg:SI dx)\"", "1"], "File": "i386", "Func": "ix86_test_dumping_hard_regs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39059, "Length": 31}
{"ground_truth": ["", "static", "void", "ix86_test_dumping_memory_blockage", "(", ")", "{", "set_new_first_and_last_insn", "(", "NULL", ",", "NULL", ")", ";", "rtx", "pat", "=", "gen_memory_blockage", "(", ")", ";", "rtx_reuse_manager", "r", ";", "r", ".", "preprocess", "(", "pat", ")", ";", "if", "(", "Pmode", "==", "DImode", ")", "ASSERT_RTL_DUMP_EQ_WITH_REUSE", "(", "\"(cinsn 1 (set (mem/v:BLK (0|scratch:DI) [0 A8])\\n\"", "\" (unspec:BLK [\\n\"", "\" (mem/v:BLK (reuse_rtx 0) [0 A8])\\n\"", "\" ] UNSPEC_MEMORY_BLOCKAGE)))\\n\"", ",", "pat", ",", "&", "r", ")", ";", "}", ""], "natrual_language": ["Test", "dumping", "an", "insn", "with", "repeated", "references", "to", "the", "same", "SCRATCH", ",", "to", "verify", "the", "rtx_reuse", "code", "."], "TS_V_token": ["i386", "\"(cinsn 1 (set (mem/v:BLK (0|scratch:DI) [0 A8])\\n\"", "\" (unspec:BLK [\\n\"", "\" (mem/v:BLK (reuse_rtx 0) [0 A8])\\n\"", "\" ] UNSPEC_MEMORY_BLOCKAGE)))\\n\""], "File": "i386", "Func": "ix86_test_dumping_memory_blockage", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39060, "Length": 50}
{"ground_truth": ["", "static", "void", "ix86_test_loading_call_insn", "(", ")", "{", "if", "(", "!", "TARGET_SSE", ")", "return", ";", "rtl_dump_test", "t", "(", "SELFTEST_LOCATION", ",", "locate_file", "(", "\"x86_64/call-insn.rtl\"", ")", ")", ";", "rtx_insn", "*", "insn", "=", "get_insns", "(", ")", ";", "ASSERT_EQ", "(", "CALL_INSN", ",", "GET_CODE", "(", "insn", ")", ")", ";", "ASSERT_TRUE", "(", "RTX_FLAG", "(", "insn", ",", "jump", ")", ")", ";", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "ASSERT_EQ", "(", "CALL", ",", "GET_CODE", "(", "SET_SRC", "(", "pat", ")", ")", ")", ";", "{", "ASSERT_EQ", "(", "EXPR_LIST", ",", "GET_CODE", "(", "REG_NOTES", "(", "insn", ")", ")", ")", ";", "rtx_expr_list", "*", "note0", "=", "as_a", "<", "rtx_expr_list", "*", ">", "(", "REG_NOTES", "(", "insn", ")", ")", ";", "ASSERT_EQ", "(", "REG_CALL_DECL", ",", "REG_NOTE_KIND", "(", "note0", ")", ")", ";", "rtx_expr_list", "*", "note1", "=", "note0", "->", "next", "(", ")", ";", "ASSERT_EQ", "(", "REG_EH_REGION", ",", "REG_NOTE_KIND", "(", "note1", ")", ")", ";", "ASSERT_EQ", "(", "NULL", ",", "note1", "->", "next", "(", ")", ")", ";", "}", "{", "rtx_expr_list", "*", "usage", "=", "as_a", "<", "rtx_expr_list", "*", ">", "(", "CALL_INSN_FUNCTION_USAGE", "(", "insn", ")", ")", ";", "ASSERT_EQ", "(", "EXPR_LIST", ",", "GET_CODE", "(", "usage", ")", ")", ";", "ASSERT_EQ", "(", "DFmode", ",", "GET_MODE", "(", "usage", ")", ")", ";", "ASSERT_EQ", "(", "USE", ",", "GET_CODE", "(", "usage", "->", "element", "(", ")", ")", ")", ";", "ASSERT_EQ", "(", "NULL", ",", "usage", "->", "next", "(", ")", ")", ";", "}", "}", ""], "natrual_language": ["Verify", "that", "the", "RTL", "loader", "copes", "with", "a", "call_insn", "dump", ".", "This", "test", "is", "target-specific", "since", "the", "dump", "contains", "a", "target-specific", "hard", "reg", "name", "."], "TS_V_token": ["i386", "\"x86_64/call-insn.rtl\""], "File": "i386", "Func": "ix86_test_loading_call_insn", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39061, "Length": 209}
{"ground_truth": ["", "static", "void", "ix86_test_loading_dump_fragment_1", "(", ")", "{", "rtl_dump_test", "t", "(", "SELFTEST_LOCATION", ",", "locate_file", "(", "\"x86_64/copy-hard-reg-into-frame.rtl\"", ")", ")", ";", "rtx_insn", "*", "insn", "=", "get_insn_by_uid", "(", "1", ")", ";", "tree", "mem_expr", ";", "{", "rtx", "pat", "=", "PATTERN", "(", "insn", ")", ";", "ASSERT_EQ", "(", "SET", ",", "GET_CODE", "(", "pat", ")", ")", ";", "{", "rtx", "dest", "=", "SET_DEST", "(", "pat", ")", ";", "ASSERT_EQ", "(", "MEM", ",", "GET_CODE", "(", "dest", ")", ")", ";", "ASSERT_TRUE", "(", "RTX_FLAG", "(", "dest", ",", "call", ")", ")", ";", "ASSERT_EQ", "(", "SImode", ",", "GET_MODE", "(", "dest", ")", ")", ";", "{", "rtx", "addr", "=", "XEXP", "(", "dest", ",", "0", ")", ";", "ASSERT_EQ", "(", "PLUS", ",", "GET_CODE", "(", "addr", ")", ")", ";", "ASSERT_EQ", "(", "DImode", ",", "GET_MODE", "(", "addr", ")", ")", ";", "{", "rtx", "lhs", "=", "XEXP", "(", "addr", ",", "0", ")", ";", "ASSERT_RTX_PTR_EQ", "(", "frame_pointer_rtx", ",", "lhs", ")", ";", "}", "{", "rtx", "rhs", "=", "XEXP", "(", "addr", ",", "1", ")", ";", "ASSERT_EQ", "(", "CONST_INT", ",", "GET_CODE", "(", "rhs", ")", ")", ";", "ASSERT_EQ", "(", "-", "4", ",", "INTVAL", "(", "rhs", ")", ")", ";", "}", "}", "ASSERT_EQ", "(", "1", ",", "MEM_ALIAS_SET", "(", "dest", ")", ")", ";", "mem_expr", "=", "MEM_EXPR", "(", "dest", ")", ";", "ASSERT_NE", "(", "mem_expr", ",", "NULL", ")", ";", "ASSERT_EQ", "(", "VAR_DECL", ",", "TREE_CODE", "(", "mem_expr", ")", ")", ";", "ASSERT_EQ", "(", "integer_type_node", ",", "TREE_TYPE", "(", "mem_expr", ")", ")", ";", "ASSERT_EQ", "(", "IDENTIFIER_NODE", ",", "TREE_CODE", "(", "DECL_NAME", "(", "mem_expr", ")", ")", ")", ";", "ASSERT_STREQ", "(", "\"i\"", ",", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "mem_expr", ")", ")", ")", ";", "ASSERT_TRUE", "(", "MEM_OFFSET_KNOWN_P", "(", "dest", ")", ")", ";", "ASSERT_EQ", "(", "0", ",", "MEM_OFFSET", "(", "dest", ")", ")", ";", "ASSERT_EQ", "(", "4", ",", "MEM_SIZE", "(", "dest", ")", ")", ";", "ASSERT_EQ", "(", "32", ",", "MEM_ALIGN", "(", "dest", ")", ")", ";", "}", "{", "rtx", "src", "=", "SET_SRC", "(", "pat", ")", ";", "ASSERT_EQ", "(", "REG", ",", "GET_CODE", "(", "src", ")", ")", ";", "ASSERT_EQ", "(", "SImode", ",", "GET_MODE", "(", "src", ")", ")", ";", "ASSERT_EQ", "(", "5", ",", "REGNO", "(", "src", ")", ")", ";", "tree", "reg_expr", "=", "REG_EXPR", "(", "src", ")", ";", "ASSERT_EQ", "(", "reg_expr", ",", "mem_expr", ")", ";", "}", "}", "}", ""], "natrual_language": ["Verify", "loading", "an", "RTL", "dump", ";", "specifically", "a", "dump", "of", "copying", "a", "param", "on", "x86_64", "from", "a", "hard", "reg", "into", "the", "frame", ".", "This", "test", "is", "target-specific", "since", "the", "dump", "contains", "target-specific", "hard", "reg", "names", "."], "TS_V_token": ["i386", "\"x86_64/copy-hard-reg-into-frame.rtl\"", "1", "0", "0", "1", "4", "1", "\"i\"", "0", "4", "32", "5"], "File": "i386", "Func": "ix86_test_loading_dump_fragment_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39062, "Length": 337}
{"ground_truth": ["", "static", "void", "ix86_test_loading_full_dump", "(", ")", "{", "rtl_dump_test", "t", "(", "SELFTEST_LOCATION", ",", "locate_file", "(", "\"x86_64/times-two.rtl\"", ")", ")", ";", "ASSERT_STREQ", "(", "\"times_two\"", ",", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "cfun", "->", "decl", ")", ")", ")", ";", "rtx_insn", "*", "insn_1", "=", "get_insn_by_uid", "(", "1", ")", ";", "ASSERT_EQ", "(", "NOTE", ",", "GET_CODE", "(", "insn_1", ")", ")", ";", "rtx_insn", "*", "insn_7", "=", "get_insn_by_uid", "(", "7", ")", ";", "ASSERT_EQ", "(", "INSN", ",", "GET_CODE", "(", "insn_7", ")", ")", ";", "ASSERT_EQ", "(", "PARALLEL", ",", "GET_CODE", "(", "PATTERN", "(", "insn_7", ")", ")", ")", ";", "rtx_insn", "*", "insn_15", "=", "get_insn_by_uid", "(", "15", ")", ";", "ASSERT_EQ", "(", "INSN", ",", "GET_CODE", "(", "insn_15", ")", ")", ";", "ASSERT_EQ", "(", "USE", ",", "GET_CODE", "(", "PATTERN", "(", "insn_15", ")", ")", ")", ";", "ASSERT_EQ", "(", "REG", ",", "GET_CODE", "(", "crtl", "->", "return_rtx", ")", ")", ";", "ASSERT_EQ", "(", "0", ",", "REGNO", "(", "crtl", "->", "return_rtx", ")", ")", ";", "ASSERT_EQ", "(", "SImode", ",", "GET_MODE", "(", "crtl", "->", "return_rtx", ")", ")", ";", "}", ""], "natrual_language": ["Verify", "that", "the", "RTL", "loader", "copes", "a", "dump", "from", "print_rtx_function", ".", "This", "test", "is", "target-specific", "since", "the", "dump", "contains", "target-specific", "hard", "reg", "names", "."], "TS_V_token": ["i386", "\"x86_64/times-two.rtl\"", "\"times_two\"", "1", "7", "15", "0"], "File": "i386", "Func": "ix86_test_loading_full_dump", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39063, "Length": 152}
{"ground_truth": ["", "static", "void", "ix86_test_loading_unspec", "(", ")", "{", "rtl_dump_test", "t", "(", "SELFTEST_LOCATION", ",", "locate_file", "(", "\"x86_64/unspec.rtl\"", ")", ")", ";", "ASSERT_STREQ", "(", "\"test_unspec\"", ",", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "cfun", "->", "decl", ")", ")", ")", ";", "ASSERT_TRUE", "(", "cfun", ")", ";", "rtx_insn", "*", "insn", "=", "get_insns", "(", ")", ";", "ASSERT_EQ", "(", "INSN", ",", "GET_CODE", "(", "insn", ")", ")", ";", "rtx", "set", "=", "single_set", "(", "insn", ")", ";", "ASSERT_NE", "(", "NULL", ",", "set", ")", ";", "rtx", "dst", "=", "SET_DEST", "(", "set", ")", ";", "ASSERT_EQ", "(", "MEM", ",", "GET_CODE", "(", "dst", ")", ")", ";", "rtx", "src", "=", "SET_SRC", "(", "set", ")", ";", "ASSERT_EQ", "(", "UNSPEC", ",", "GET_CODE", "(", "src", ")", ")", ";", "ASSERT_EQ", "(", "BLKmode", ",", "GET_MODE", "(", "src", ")", ")", ";", "ASSERT_EQ", "(", "UNSPEC_MEMORY_BLOCKAGE", ",", "XINT", "(", "src", ",", "1", ")", ")", ";", "rtx", "v0", "=", "XVECEXP", "(", "src", ",", "0", ",", "0", ")", ";", "rtx", "scratch_a", "=", "XEXP", "(", "dst", ",", "0", ")", ";", "ASSERT_EQ", "(", "SCRATCH", ",", "GET_CODE", "(", "scratch_a", ")", ")", ";", "rtx", "scratch_b", "=", "XEXP", "(", "v0", ",", "0", ")", ";", "ASSERT_EQ", "(", "SCRATCH", ",", "GET_CODE", "(", "scratch_b", ")", ")", ";", "ASSERT_EQ", "(", "scratch_a", ",", "scratch_b", ")", ";", "ASSERT_TRUE", "(", "rtx_equal_p", "(", "dst", ",", "v0", ")", ")", ";", "ASSERT_NE", "(", "-", "1", ",", "recog_memoized", "(", "insn", ")", ")", ";", "insn", "=", "NEXT_INSN", "(", "insn", ")", ";", "ASSERT_EQ", "(", "INSN", ",", "GET_CODE", "(", "insn", ")", ")", ";", "set", "=", "single_set", "(", "insn", ")", ";", "ASSERT_NE", "(", "NULL", ",", "set", ")", ";", "src", "=", "SET_SRC", "(", "set", ")", ";", "ASSERT_EQ", "(", "UNSPEC_VOLATILE", ",", "GET_CODE", "(", "src", ")", ")", ";", "ASSERT_EQ", "(", "UNSPECV_RDTSCP", ",", "XINT", "(", "src", ",", "1", ")", ")", ";", "}", ""], "natrual_language": ["Verify", "that", "the", "RTL", "loader", "copes", "with", "UNSPEC", "and", "UNSPEC_VOLATILE", "insns", ".", "In", "particular", ",", "verify", "that", "it", "correctly", "loads", "the", "2nd", "operand", ".", "This", "test", "is", "target-specific", "since", "these", "are", "machine-specific", "operands", "(", "and", "enums", ")", "."], "TS_V_token": ["i386", "\"x86_64/unspec.rtl\"", "\"test_unspec\"", "1", "0", "0", "0", "0", "1", "1"], "File": "i386", "Func": "ix86_test_loading_unspec", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39064, "Length": 269}
{"ground_truth": ["", "static", "bool", "ix86_tieable_integer_mode_p", "(", "machine_mode", "mode", ")", "{", "switch", "(", "mode", ")", "{", "case", "E_HImode", ":", "case", "E_SImode", ":", "return", "true", ";", "case", "E_QImode", ":", "return", "TARGET_64BIT", "||", "!", "TARGET_PARTIAL_REG_STALL", ";", "case", "E_DImode", ":", "return", "TARGET_64BIT", ";", "default", ":", "return", "false", ";", "}", "}", ""], "natrual_language": ["A", "subroutine", "of", "ix86_modes_tieable_p", ".", "Return", "true", "if", "MODE", "is", "a", "tieable", "integer", "mode", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_tieable_integer_mode_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39065, "Length": 44}
{"ground_truth": ["", "bool", "ix86_tls_address_pattern_p", "(", "rtx", "op", ")", "{", "subrtx_var_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX_VAR", "(", "iter", ",", "array", ",", "op", ",", "ALL", ")", "{", "rtx", "op", "=", "*", "iter", ";", "if", "(", "MEM_P", "(", "op", ")", ")", "{", "rtx", "*", "x", "=", "&", "XEXP", "(", "op", ",", "0", ")", ";", "while", "(", "GET_CODE", "(", "*", "x", ")", "==", "PLUS", ")", "{", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "2", ";", "i", "++", ")", "{", "rtx", "u", "=", "XEXP", "(", "*", "x", ",", "i", ")", ";", "if", "(", "GET_CODE", "(", "u", ")", "==", "ZERO_EXTEND", ")", "u", "=", "XEXP", "(", "u", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "u", ")", "==", "UNSPEC", "&&", "XINT", "(", "u", ",", "1", ")", "==", "UNSPEC_TP", ")", "return", "true", ";", "}", "x", "=", "&", "XEXP", "(", "*", "x", ",", "0", ")", ";", "}", "iter", ".", "skip_subrtxes", "(", ")", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "OP", "refers", "to", "a", "TLS", "address", "."], "TS_V_token": ["i386", "0", "0", "2", "0", "1", "0"], "File": "i386", "Func": "ix86_tls_address_pattern_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39066, "Length": 152}
{"ground_truth": ["", "bool", "ix86_unary_operator_ok", "(", "enum", "rtx_code", ",", "machine_mode", ",", "rtx", "operands", "[", "2", "]", ")", "{", "if", "(", "(", "MEM_P", "(", "operands", "[", "0", "]", ")", "||", "MEM_P", "(", "operands", "[", "1", "]", ")", ")", "&&", "!", "rtx_equal_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "1", "]", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "TRUE", "or", "FALSE", "depending", "on", "whether", "the", "unary", "operator", "meets", "the", "appropriate", "constraints", "."], "TS_V_token": ["i386", "2", "0", "1", "0", "1"], "File": "i386", "Func": "ix86_unary_operator_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39067, "Length": 56}
{"ground_truth": ["", "static", "void", "ix86_update_stack_boundary", "(", "void", ")", "{", "ix86_incoming_stack_boundary", "=", "ix86_minimum_incoming_stack_boundary", "(", "false", ")", ";", "if", "(", "TARGET_64BIT", "&&", "cfun", "->", "stdarg", "&&", "crtl", "->", "stack_alignment_estimated", "<", "128", ")", "crtl", "->", "stack_alignment_estimated", "=", "128", ";", "if", "(", "ix86_tls_descriptor_calls_expanded_in_cfun", "&&", "crtl", "->", "preferred_stack_boundary", "<", "128", ")", "crtl", "->", "preferred_stack_boundary", "=", "128", ";", "}", ""], "natrual_language": ["Update", "incoming", "stack", "boundary", "and", "estimated", "stack", "alignment", "."], "TS_V_token": ["i386", "128", "128", "128", "128"], "File": "i386", "Func": "ix86_update_stack_boundary", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39068, "Length": 51}
{"ground_truth": ["", "bool", "ix86_use_lea_for_mov", "(", "rtx_insn", "*", "insn", ",", "rtx", "operands", "[", "]", ")", "{", "unsigned", "int", "regno0", ",", "regno1", ";", "if", "(", "!", "TARGET_OPT_AGU", "||", "optimize_function_for_size_p", "(", "cfun", ")", ")", "return", "false", ";", "if", "(", "!", "REG_P", "(", "operands", "[", "0", "]", ")", "||", "!", "REG_P", "(", "operands", "[", "1", "]", ")", ")", "return", "false", ";", "regno0", "=", "true_regnum", "(", "operands", "[", "0", "]", ")", ";", "regno1", "=", "true_regnum", "(", "operands", "[", "1", "]", ")", ";", "return", "ix86_lea_outperforms", "(", "insn", ",", "regno0", ",", "regno1", ",", "INVALID_REGNUM", ",", "0", ",", "false", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "should", "emit", "lea", "instruction", "instead", "of", "mov", "instruction", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0"], "File": "i386", "Func": "ix86_use_lea_for_mov", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39069, "Length": 92}
{"ground_truth": ["", "bool", "ix86_use_pseudo_pic_reg", "(", "void", ")", "{", "if", "(", "(", "TARGET_64BIT", "&&", "(", "ix86_cmodel", "==", "CM_SMALL_PIC", "||", "TARGET_PECOFF", ")", ")", "||", "!", "flag_pic", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "1", "if", "pseudo", "register", "should", "be", "created", "and", "used", "to", "hold", "GOT", "address", "for", "PIC", "code", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_use_pseudo_pic_reg", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39070, "Length": 30}
{"ground_truth": ["", "bool", "ix86_using_red_zone", "(", "void", ")", "{", "return", "(", "TARGET_RED_ZONE", "&&", "!", "TARGET_64BIT_MS_ABI", "&&", "(", "!", "cfun", "->", "machine", "->", "has_local_indirect_jump", "||", "cfun", "->", "machine", "->", "indirect_branch_type", "==", "indirect_branch_keep", ")", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "a", "red-zone", "is", "in", "use", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_using_red_zone", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39071, "Length": 32}
{"ground_truth": ["", "static", "rtx", "ix86_validate_address_register", "(", "rtx", "op", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "op", ")", ";", "if", "(", "mode", "!=", "SImode", "&&", "mode", "!=", "DImode", ")", "return", "NULL_RTX", ";", "if", "(", "REG_P", "(", "op", ")", ")", "return", "op", ";", "else", "if", "(", "SUBREG_P", "(", "op", ")", ")", "{", "rtx", "reg", "=", "SUBREG_REG", "(", "op", ")", ";", "if", "(", "!", "REG_P", "(", "reg", ")", ")", "return", "NULL_RTX", ";", "mode", "=", "GET_MODE", "(", "reg", ")", ";", "if", "(", "GET_MODE_SIZE", "(", "mode", ")", ">", "UNITS_PER_WORD", ")", "return", "NULL_RTX", ";", "if", "(", "register_no_elim_operand", "(", "reg", ",", "mode", ")", ")", "return", "reg", ";", "}", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["Determine", "if", "op", "is", "suitable", "RTX", "for", "an", "address", "register", ".", "Return", "naked", "register", "if", "a", "register", "or", "a", "register", "subreg", "is", "found", ",", "otherwise", "return", "NULL_RTX", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_validate_address_register", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39072, "Length": 103}
{"ground_truth": ["", "tree", "ix86_veclibabi_acml", "(", "combined_fn", "fn", ",", "tree", "type_out", ",", "tree", "type_in", ")", "{", "char", "name", "[", "20", "]", "=", "\"__vr.._\"", ";", "tree", "fntype", ",", "new_fndecl", ",", "args", ";", "unsigned", "arity", ";", "const", "char", "*", "bname", ";", "machine_mode", "el_mode", ",", "in_mode", ";", "int", "n", ",", "in_n", ";", "if", "(", "!", "TARGET_64BIT", "||", "!", "flag_unsafe_math_optimizations", ")", "return", "NULL_TREE", ";", "el_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_out", ")", ")", ";", "n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_out", ")", ";", "in_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_in", ")", ")", ";", "in_n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_in", ")", ";", "if", "(", "el_mode", "!=", "in_mode", "||", "n", "!=", "in_n", ")", "return", "NULL_TREE", ";", "switch", "(", "fn", ")", "{", "CASE_CFN_SIN", ":", "CASE_CFN_COS", ":", "CASE_CFN_EXP", ":", "CASE_CFN_LOG", ":", "CASE_CFN_LOG2", ":", "CASE_CFN_LOG10", ":", "if", "(", "el_mode", "==", "DFmode", "&&", "n", "==", "2", ")", "{", "name", "[", "4", "]", "=", "'d'", ";", "name", "[", "5", "]", "=", "'2'", ";", "}", "else", "if", "(", "el_mode", "==", "SFmode", "&&", "n", "==", "4", ")", "{", "name", "[", "4", "]", "=", "'s'", ";", "name", "[", "5", "]", "=", "'4'", ";", "}", "else", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "tree", "fndecl", "=", "mathfn_built_in", "(", "el_mode", "==", "DFmode", "?", "double_type_node", ":", "float_type_node", ",", "fn", ")", ";", "bname", "=", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "fndecl", ")", ")", ";", "sprintf", "(", "name", "+", "7", ",", "\"%s\"", ",", "bname", "+", "10", ")", ";", "arity", "=", "0", ";", "for", "(", "args", "=", "DECL_ARGUMENTS", "(", "fndecl", ")", ";", "args", ";", "args", "=", "TREE_CHAIN", "(", "args", ")", ")", "arity", "++", ";", "if", "(", "arity", "==", "1", ")", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "NULL", ")", ";", "else", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "type_in", ",", "NULL", ")", ";", "new_fndecl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "fntype", ")", ";", "TREE_PUBLIC", "(", "new_fndecl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "new_fndecl", ")", "=", "1", ";", "DECL_IS_NOVOPS", "(", "new_fndecl", ")", "=", "1", ";", "TREE_READONLY", "(", "new_fndecl", ")", "=", "1", ";", "return", "new_fndecl", ";", "}", ""], "natrual_language": ["Handler", "for", "an", "ACML-style", "interface", "to", "a", "library", "with", "vectorized", "intrinsics", "."], "TS_V_token": ["i386", "20", "\"__vr.._\"", "2", "4", "5", "4", "4", "5", "7", "\"%s\"", "10", "0", "1", "1", "1", "1", "1"], "File": "i386", "Func": "ix86_veclibabi_acml", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39073, "Length": 329}
{"ground_truth": ["", "tree", "ix86_veclibabi_svml", "(", "combined_fn", "fn", ",", "tree", "type_out", ",", "tree", "type_in", ")", "{", "char", "name", "[", "20", "]", ";", "tree", "fntype", ",", "new_fndecl", ",", "args", ";", "unsigned", "arity", ";", "const", "char", "*", "bname", ";", "machine_mode", "el_mode", ",", "in_mode", ";", "int", "n", ",", "in_n", ";", "if", "(", "!", "flag_unsafe_math_optimizations", ")", "return", "NULL_TREE", ";", "el_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_out", ")", ")", ";", "n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_out", ")", ";", "in_mode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type_in", ")", ")", ";", "in_n", "=", "TYPE_VECTOR_SUBPARTS", "(", "type_in", ")", ";", "if", "(", "el_mode", "!=", "in_mode", "||", "n", "!=", "in_n", ")", "return", "NULL_TREE", ";", "switch", "(", "fn", ")", "{", "CASE_CFN_EXP", ":", "CASE_CFN_LOG", ":", "CASE_CFN_LOG10", ":", "CASE_CFN_POW", ":", "CASE_CFN_TANH", ":", "CASE_CFN_TAN", ":", "CASE_CFN_ATAN", ":", "CASE_CFN_ATAN2", ":", "CASE_CFN_ATANH", ":", "CASE_CFN_CBRT", ":", "CASE_CFN_SINH", ":", "CASE_CFN_SIN", ":", "CASE_CFN_ASINH", ":", "CASE_CFN_ASIN", ":", "CASE_CFN_COSH", ":", "CASE_CFN_COS", ":", "CASE_CFN_ACOSH", ":", "CASE_CFN_ACOS", ":", "if", "(", "(", "el_mode", "!=", "DFmode", "||", "n", "!=", "2", ")", "&&", "(", "el_mode", "!=", "SFmode", "||", "n", "!=", "4", ")", ")", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "tree", "fndecl", "=", "mathfn_built_in", "(", "el_mode", "==", "DFmode", "?", "double_type_node", ":", "float_type_node", ",", "fn", ")", ";", "bname", "=", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "fndecl", ")", ")", ";", "if", "(", "DECL_FUNCTION_CODE", "(", "fndecl", ")", "==", "BUILT_IN_LOGF", ")", "strcpy", "(", "name", ",", "\"vmlsLn4\"", ")", ";", "else", "if", "(", "DECL_FUNCTION_CODE", "(", "fndecl", ")", "==", "BUILT_IN_LOG", ")", "strcpy", "(", "name", ",", "\"vmldLn2\"", ")", ";", "else", "if", "(", "n", "==", "4", ")", "{", "sprintf", "(", "name", ",", "\"vmls%s\"", ",", "bname", "+", "10", ")", ";", "name", "[", "strlen", "(", "name", ")", "-", "1", "]", "=", "'4'", ";", "}", "else", "sprintf", "(", "name", ",", "\"vmld%s2\"", ",", "bname", "+", "10", ")", ";", "name", "[", "4", "]", "&=", "~", "0x20", ";", "arity", "=", "0", ";", "for", "(", "args", "=", "DECL_ARGUMENTS", "(", "fndecl", ")", ";", "args", ";", "args", "=", "TREE_CHAIN", "(", "args", ")", ")", "arity", "++", ";", "if", "(", "arity", "==", "1", ")", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "NULL", ")", ";", "else", "fntype", "=", "build_function_type_list", "(", "type_out", ",", "type_in", ",", "type_in", ",", "NULL", ")", ";", "new_fndecl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "fntype", ")", ";", "TREE_PUBLIC", "(", "new_fndecl", ")", "=", "1", ";", "DECL_EXTERNAL", "(", "new_fndecl", ")", "=", "1", ";", "DECL_IS_NOVOPS", "(", "new_fndecl", ")", "=", "1", ";", "TREE_READONLY", "(", "new_fndecl", ")", "=", "1", ";", "return", "new_fndecl", ";", "}", ""], "natrual_language": ["Handler", "for", "an", "SVML-style", "interface", "to", "a", "library", "with", "vectorized", "intrinsics", "."], "TS_V_token": ["i386", "20", "2", "4", "\"vmlsLn4\"", "\"vmldLn2\"", "4", "\"vmls%s\"", "10", "1", "\"vmld%s2\"", "10", "4", "0x20", "0", "1", "1", "1", "1", "1"], "File": "i386", "Func": "ix86_veclibabi_svml", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39074, "Length": 388}
{"ground_truth": ["", "static", "tree", "ix86_vectorize_builtin_scatter", "(", "const_tree", "vectype", ",", "const_tree", "index_type", ",", "int", "scale", ")", "{", "bool", "si", ";", "enum", "ix86_builtins", "code", ";", "if", "(", "!", "TARGET_AVX512F", ")", "return", "NULL_TREE", ";", "if", "(", "(", "TREE_CODE", "(", "index_type", ")", "!=", "INTEGER_TYPE", "&&", "!", "POINTER_TYPE_P", "(", "index_type", ")", ")", "||", "(", "TYPE_MODE", "(", "index_type", ")", "!=", "SImode", "&&", "TYPE_MODE", "(", "index_type", ")", "!=", "DImode", ")", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", ">", "POINTER_SIZE", ")", "return", "NULL_TREE", ";", "if", "(", "TYPE_PRECISION", "(", "index_type", ")", "<", "POINTER_SIZE", "&&", "TYPE_UNSIGNED", "(", "index_type", ")", ")", "return", "NULL_TREE", ";", "if", "(", "scale", "<=", "0", "||", "scale", ">", "8", "||", "(", "scale", "&", "(", "scale", "-", "1", ")", ")", "!=", "0", ")", "return", "NULL_TREE", ";", "si", "=", "TYPE_MODE", "(", "index_type", ")", "==", "SImode", ";", "switch", "(", "TYPE_MODE", "(", "vectype", ")", ")", "{", "case", "E_V8DFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DF", ":", "IX86_BUILTIN_SCATTERDIV8DF", ";", "break", ";", "case", "E_V8DImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV8DI", ":", "IX86_BUILTIN_SCATTERDIV8DI", ";", "break", ";", "case", "E_V16SFmode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SF", ":", "IX86_BUILTIN_SCATTERALTDIV16SF", ";", "break", ";", "case", "E_V16SImode", ":", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV16SI", ":", "IX86_BUILTIN_SCATTERALTDIV16SI", ";", "break", ";", "case", "E_V4DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV4DF", ":", "IX86_BUILTIN_SCATTERDIV4DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV4DI", ":", "IX86_BUILTIN_SCATTERDIV4DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V8SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV8SF", ":", "IX86_BUILTIN_SCATTERALTDIV8SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V8SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV8SI", ":", "IX86_BUILTIN_SCATTERALTDIV8SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V2DFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV2DF", ":", "IX86_BUILTIN_SCATTERDIV2DF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V2DImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERALTSIV2DI", ":", "IX86_BUILTIN_SCATTERDIV2DI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4SFmode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV4SF", ":", "IX86_BUILTIN_SCATTERALTDIV4SF", ";", "else", "return", "NULL_TREE", ";", "break", ";", "case", "E_V4SImode", ":", "if", "(", "TARGET_AVX512VL", ")", "code", "=", "si", "?", "IX86_BUILTIN_SCATTERSIV4SI", ":", "IX86_BUILTIN_SCATTERALTDIV4SI", ";", "else", "return", "NULL_TREE", ";", "break", ";", "default", ":", "return", "NULL_TREE", ";", "}", "return", "get_ix86_builtin", "(", "code", ")", ";", "}", ""], "natrual_language": ["Returns", "a", "decl", "of", "a", "function", "that", "implements", "scatter", "store", "with", "register", "type", "VECTYPE", "and", "index", "type", "INDEX_TYPE", "and", "SCALE", ".", "Return", "NULL_TREE", "if", "it", "is", "not", "available", "."], "TS_V_token": ["i386", "0", "8", "1", "0"], "File": "i386", "Func": "ix86_vectorize_builtin_scatter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39075, "Length": 369}
{"ground_truth": ["", "static", "vector_costs", "*", "ix86_vectorize_create_costs", "(", "vec_info", "*", "vinfo", ",", "bool", "costing_for_scalar", ")", "{", "return", "new", "ix86_vector_costs", "(", "vinfo", ",", "costing_for_scalar", ")", ";", "}", ""], "natrual_language": ["Implement", "targetm.vectorize.create_costs", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_vectorize_create_costs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39076, "Length": 23}
{"ground_truth": ["", "static", "bool", "ix86_vector_mode_supported_p", "(", "machine_mode", "mode", ")", "{", "if", "(", "!", "TARGET_64BIT", "&&", "GET_MODE_INNER", "(", "mode", ")", "==", "TImode", ")", "return", "false", ";", "if", "(", "TARGET_SSE", "&&", "VALID_SSE_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_SSE2", "&&", "VALID_SSE2_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX", "&&", "VALID_AVX256_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "TARGET_AVX512F", "&&", "VALID_AVX512F_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_MMX", "||", "TARGET_MMX_WITH_SSE", ")", "&&", "VALID_MMX_REG_MODE", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "(", "TARGET_3DNOW", "||", "TARGET_MMX_WITH_SSE", ")", "&&", "VALID_MMX_REG_MODE_3DNOW", "(", "mode", ")", ")", "return", "true", ";", "if", "(", "mode", "==", "V2QImode", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Implements", "target", "hook", "vector_mode_supported_p", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "ix86_vector_mode_supported_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39077, "Length": 116}
{"ground_truth": ["", "static", "tree", "ix86_vector_shift_count", "(", "tree", "arg1", ")", "{", "if", "(", "tree_fits_uhwi_p", "(", "arg1", ")", ")", "return", "arg1", ";", "else", "if", "(", "TREE_CODE", "(", "arg1", ")", "==", "VECTOR_CST", "&&", "CHAR_BIT", "==", "8", ")", "{", "unsigned", "char", "buf", "[", "16", "]", ";", "int", "len", "=", "native_encode_expr", "(", "arg1", ",", "buf", ",", "16", ")", ";", "if", "(", "len", "==", "0", ")", "return", "NULL_TREE", ";", "tree", "t", "=", "native_interpret_expr", "(", "uint64_type_node", ",", "buf", ",", "len", ")", ";", "if", "(", "t", "&&", "tree_fits_uhwi_p", "(", "t", ")", ")", "return", "t", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Return", "the", "shift", "count", "of", "a", "vector", "by", "scalar", "shift", "builtin", "second", "argument", "ARG1", "."], "TS_V_token": ["i386", "8", "16", "16", "0"], "File": "i386", "Func": "ix86_vector_shift_count", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39078, "Length": 90}
{"ground_truth": ["", "static", "int", "ix86_vec_cost", "(", "machine_mode", "mode", ",", "int", "cost", ")", "{", "if", "(", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "return", "cost", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", "==", "128", "&&", "TARGET_SSE_SPLIT_REGS", ")", "return", "cost", "*", "2", ";", "if", "(", "GET_MODE_BITSIZE", "(", "mode", ")", ">", "128", "&&", "TARGET_AVX256_SPLIT_REGS", ")", "return", "cost", "*", "GET_MODE_BITSIZE", "(", "mode", ")", "/", "128", ";", "return", "cost", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "vector", "operation", "in", "MODE", "given", "that", "scalar", "version", "has", "COST", ".", "If", "PARALLEL", "is", "true", "assume", "that", "CPU", "has", "more", "than", "one", "unit", "performing", "the", "operation", "."], "TS_V_token": ["i386", "128", "2", "128", "128"], "File": "i386", "Func": "ix86_vec_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39079, "Length": 63}
{"ground_truth": ["", "bool", "ix86_vec_interleave_v2df_operator_ok", "(", "rtx", "operands", "[", "3", "]", ",", "bool", "high", ")", "{", "if", "(", "MEM_P", "(", "operands", "[", "0", "]", ")", ")", "return", "rtx_equal_p", "(", "operands", "[", "0", "]", ",", "operands", "[", "1", "+", "high", "]", ")", ";", "if", "(", "MEM_P", "(", "operands", "[", "1", "]", ")", "&&", "MEM_P", "(", "operands", "[", "2", "]", ")", ")", "return", "TARGET_SSE3", "&&", "rtx_equal_p", "(", "operands", "[", "1", "]", ",", "operands", "[", "2", "]", ")", ";", "return", "true", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "the", "operands", "to", "a", "vec_interleave_", "{", "high", ",", "low", "}", "v2df", "are", "ok", ",", "keeping", "in", "mind", "the", "possible", "movddup", "alternative", "."], "TS_V_token": ["i386", "3", "0", "0", "1", "1", "2", "1", "2"], "File": "i386", "Func": "ix86_vec_interleave_v2df_operator_ok", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39080, "Length": 77}
{"ground_truth": ["", "static", "void", "ix86_warn_parameter_passing_abi", "(", "cumulative_args_t", "cum_v", ",", "tree", "type", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "if", "(", "!", "cum", "->", "warn_empty", ")", "return", ";", "if", "(", "!", "TYPE_EMPTY_P", "(", "type", ")", ")", "return", ";", "if", "(", "cum", "->", "decl", "&&", "!", "TREE_PUBLIC", "(", "cum", "->", "decl", ")", ")", "return", ";", "const_tree", "ctx", "=", "get_ultimate_context", "(", "cum", "->", "decl", ")", ";", "if", "(", "ctx", "!=", "NULL_TREE", "&&", "!", "TRANSLATION_UNIT_WARN_EMPTY_P", "(", "ctx", ")", ")", "return", ";", "if", "(", "int_size_in_bytes", "(", "type", ")", "==", "0", ")", "return", ";", "warning", "(", "OPT_Wabi", ",", "\"empty class %qT parameter passing ABI \"", "\"changes in %<-fabi-version=12%> (GCC 8)\"", ",", "type", ")", ";", "cum", "->", "warn_empty", "=", "false", ";", "}", ""], "natrual_language": ["Implement", "TARGET_WARN_PARAMETER_PASSING_ABI", "."], "TS_V_token": ["i386", "0", "\"empty class %qT parameter passing ABI \"", "\"changes in %<-fabi-version=12%> (GCC 8)\""], "File": "i386", "Func": "ix86_warn_parameter_passing_abi", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39081, "Length": 107}
{"ground_truth": ["", "static", "int", "ix86_widen_mult_cost", "(", "const", "struct", "processor_costs", "*", "cost", ",", "enum", "machine_mode", "mode", ",", "bool", "uns_p", ")", "{", "gcc_assert", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_INT", ")", ";", "int", "extra_cost", "=", "0", ";", "int", "basic_cost", "=", "0", ";", "switch", "(", "mode", ")", "{", "case", "V8HImode", ":", "case", "V16HImode", ":", "if", "(", "!", "uns_p", "||", "mode", "==", "V16HImode", ")", "extra_cost", "=", "cost", "->", "sse_op", "*", "2", ";", "basic_cost", "=", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "4", ";", "break", ";", "case", "V4SImode", ":", "case", "V8SImode", ":", "basic_cost", "=", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "2", ";", "break", ";", "case", "V2DImode", ":", "if", "(", "!", "TARGET_SSE4_1", "&&", "!", "uns_p", ")", "extra_cost", "=", "(", "cost", "->", "mulss", "+", "cost", "->", "addss", "+", "cost", "->", "sse_op", ")", "*", "4", "+", "cost", "->", "sse_op", "*", "2", ";", "case", "V4DImode", ":", "basic_cost", "=", "cost", "->", "mulss", "*", "2", "+", "cost", "->", "sse_op", "*", "4", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "ix86_vec_cost", "(", "mode", ",", "basic_cost", "+", "extra_cost", ")", ";", "}", ""], "natrual_language": ["Return", "cost", "of", "vec_widen_", "<", "s", ">", "mult_hi/lo_", "<", "mode", ">", ",", "vec_widen_", "<", "s", ">", "mul_hi/lo_", "<", "mode", ">", "is", "only", "available", "for", "VI124_AVX2", "."], "TS_V_token": ["i386", "0", "0", "2", "2", "4", "2", "2", "4", "2", "2", "4"], "File": "i386", "Func": "ix86_widen_mult_cost", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39082, "Length": 176}
{"ground_truth": ["", "rtx", "ix86_zero_extend_to_Pmode", "(", "rtx", "exp", ")", "{", "return", "force_reg", "(", "Pmode", ",", "convert_to_mode", "(", "Pmode", ",", "exp", ",", "1", ")", ")", ";", "}", ""], "natrual_language": ["Zero", "extend", "possibly", "SImode", "EXP", "to", "Pmode", "register", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "ix86_zero_extend_to_Pmode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39083, "Length": 23}
{"ground_truth": ["", "bool", "legitimate_pic_operand_p", "(", "rtx", "x", ")", "{", "rtx", "inner", ";", "switch", "(", "GET_CODE", "(", "x", ")", ")", "{", "case", "CONST", ":", "inner", "=", "XEXP", "(", "x", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "inner", ")", "==", "PLUS", "&&", "CONST_INT_P", "(", "XEXP", "(", "inner", ",", "1", ")", ")", ")", "inner", "=", "XEXP", "(", "inner", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "inner", ")", "==", "UNSPEC", ")", "switch", "(", "XINT", "(", "inner", ",", "1", ")", ")", "{", "case", "UNSPEC_GOT", ":", "case", "UNSPEC_GOTOFF", ":", "case", "UNSPEC_PLTOFF", ":", "return", "TARGET_64BIT", ";", "case", "UNSPEC_TPOFF", ":", "x", "=", "XVECEXP", "(", "inner", ",", "0", ",", "0", ")", ";", "return", "(", "GET_CODE", "(", "x", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_TLS_MODEL", "(", "x", ")", "==", "TLS_MODEL_LOCAL_EXEC", ")", ";", "case", "UNSPEC_MACHOPIC_OFFSET", ":", "return", "legitimate_pic_address_disp_p", "(", "x", ")", ";", "default", ":", "return", "false", ";", "}", "case", "SYMBOL_REF", ":", "case", "LABEL_REF", ":", "return", "legitimate_pic_address_disp_p", "(", "x", ")", ";", "default", ":", "return", "true", ";", "}", "}", ""], "natrual_language": ["Return", "true", "if", "OP", "is", "a", "legitimate", "general", "operand", "when", "generating", "PIC", "code", ".", "It", "is", "given", "that", "flag_pic", "is", "on", "and", "that", "OP", "satisfies", "CONSTANT_P", "or", "is", "a", "CONST_DOUBLE", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "0"], "File": "i386", "Func": "legitimate_pic_operand_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39084, "Length": 154}
{"ground_truth": ["", "static", "rtx", "legitimize_dllimport_symbol", "(", "rtx", "symbol", ",", "bool", "want_reg", ")", "{", "tree", "imp_decl", ";", "rtx", "x", ";", "gcc_assert", "(", "SYMBOL_REF_DECL", "(", "symbol", ")", ")", ";", "imp_decl", "=", "get_dllimport_decl", "(", "SYMBOL_REF_DECL", "(", "symbol", ")", ",", "true", ")", ";", "x", "=", "DECL_RTL", "(", "imp_decl", ")", ";", "if", "(", "want_reg", ")", "x", "=", "force_reg", "(", "Pmode", ",", "x", ")", ";", "return", "x", ";", "}", ""], "natrual_language": ["Expand", "SYMBOL", "into", "its", "corresponding", "dllimport", "symbol", ".", "WANT_REG", "is", "true", "if", "we", "require", "the", "result", "be", "a", "register", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "legitimize_dllimport_symbol", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39085, "Length": 61}
{"ground_truth": ["", "static", "rtx", "legitimize_pe_coff_extern_decl", "(", "rtx", "symbol", ",", "bool", "want_reg", ")", "{", "tree", "imp_decl", ";", "rtx", "x", ";", "gcc_assert", "(", "SYMBOL_REF_DECL", "(", "symbol", ")", ")", ";", "imp_decl", "=", "get_dllimport_decl", "(", "SYMBOL_REF_DECL", "(", "symbol", ")", ",", "false", ")", ";", "x", "=", "DECL_RTL", "(", "imp_decl", ")", ";", "if", "(", "want_reg", ")", "x", "=", "force_reg", "(", "Pmode", ",", "x", ")", ";", "return", "x", ";", "}", ""], "natrual_language": ["Expand", "SYMBOL", "into", "its", "corresponding", "far-addresse", "symbol", ".", "WANT_REG", "is", "true", "if", "we", "require", "the", "result", "be", "a", "register", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "legitimize_pe_coff_extern_decl", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39086, "Length": 61}
{"ground_truth": ["", "rtx", "legitimize_pe_coff_symbol", "(", "rtx", "addr", ",", "bool", "inreg", ")", "{", "if", "(", "!", "TARGET_PECOFF", ")", "return", "NULL_RTX", ";", "if", "(", "TARGET_DLLIMPORT_DECL_ATTRIBUTES", ")", "{", "if", "(", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "addr", ")", ")", "return", "legitimize_dllimport_symbol", "(", "addr", ",", "inreg", ")", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", "&&", "GET_CODE", "(", "XEXP", "(", "addr", ",", "0", ")", ")", "==", "PLUS", "&&", "GET_CODE", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", "==", "SYMBOL_REF", "&&", "SYMBOL_REF_DLLIMPORT_P", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", ")", "{", "rtx", "t", "=", "legitimize_dllimport_symbol", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ",", "inreg", ")", ";", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "t", ",", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "1", ")", ")", ";", "}", "}", "if", "(", "ix86_cmodel", "!=", "CM_LARGE_PIC", "&&", "ix86_cmodel", "!=", "CM_MEDIUM_PIC", ")", "return", "NULL_RTX", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "SYMBOL_REF", "&&", "!", "is_imported_p", "(", "addr", ")", "&&", "SYMBOL_REF_EXTERNAL_P", "(", "addr", ")", "&&", "SYMBOL_REF_DECL", "(", "addr", ")", ")", "return", "legitimize_pe_coff_extern_decl", "(", "addr", ",", "inreg", ")", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "CONST", "&&", "GET_CODE", "(", "XEXP", "(", "addr", ",", "0", ")", ")", "==", "PLUS", "&&", "GET_CODE", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", "==", "SYMBOL_REF", "&&", "!", "is_imported_p", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", "&&", "SYMBOL_REF_EXTERNAL_P", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", "&&", "SYMBOL_REF_DECL", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ")", ")", "{", "rtx", "t", "=", "legitimize_pe_coff_extern_decl", "(", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "0", ")", ",", "inreg", ")", ";", "return", "gen_rtx_PLUS", "(", "Pmode", ",", "t", ",", "XEXP", "(", "XEXP", "(", "addr", ",", "0", ")", ",", "1", ")", ")", ";", "}", "return", "NULL_RTX", ";", "}", ""], "natrual_language": ["Expand", "SYMBOL", "into", "its", "corresponding", "dllimport", "or", "refptr", "symbol", ".", "WANT_REG", "is", "true", "if", "we", "require", "the", "result", "be", "a", "register", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1"], "File": "i386", "Func": "legitimize_pe_coff_symbol", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39087, "Length": 317}
{"ground_truth": ["", "void", "machopic_output_stub", "(", "FILE", "*", "file", ",", "const", "char", "*", "symb", ",", "const", "char", "*", "stub", ")", "{", "unsigned", "int", "length", ";", "char", "*", "binder_name", ",", "*", "symbol_name", ",", "lazy_ptr_name", "[", "32", "]", ";", "int", "label", "=", "++", "current_machopic_label_num", ";", "gcc_assert", "(", "!", "TARGET_64BIT", ")", ";", "symb", "=", "targetm", ".", "strip_name_encoding", "(", "symb", ")", ";", "length", "=", "strlen", "(", "stub", ")", ";", "binder_name", "=", "XALLOCAVEC", "(", "char", ",", "length", "+", "32", ")", ";", "GEN_BINDER_NAME_FOR_STUB", "(", "binder_name", ",", "stub", ",", "length", ")", ";", "length", "=", "strlen", "(", "symb", ")", ";", "symbol_name", "=", "XALLOCAVEC", "(", "char", ",", "length", "+", "32", ")", ";", "GEN_SYMBOL_NAME_FOR_SYMBOL", "(", "symbol_name", ",", "symb", ",", "length", ")", ";", "sprintf", "(", "lazy_ptr_name", ",", "\"L%d$lz\"", ",", "label", ")", ";", "if", "(", "MACHOPIC_ATT_STUB", ")", "switch_to_section", "(", "darwin_sections", "[", "machopic_picsymbol_stub3_section", "]", ")", ";", "else", "if", "(", "MACHOPIC_PURE", ")", "switch_to_section", "(", "darwin_sections", "[", "machopic_picsymbol_stub2_section", "]", ")", ";", "else", "switch_to_section", "(", "darwin_sections", "[", "machopic_symbol_stub_section", "]", ")", ";", "fprintf", "(", "file", ",", "\"%s:\\n\"", ",", "stub", ")", ";", "fprintf", "(", "file", ",", "\"\\t.indirect_symbol %s\\n\"", ",", "symbol_name", ")", ";", "if", "(", "MACHOPIC_ATT_STUB", ")", "{", "fprintf", "(", "file", ",", "\"\\thlt ; hlt ; hlt ; hlt ; hlt\\n\"", ")", ";", "}", "else", "if", "(", "MACHOPIC_PURE", ")", "{", "rtx", "tmp", "=", "gen_rtx_REG", "(", "SImode", ",", "2", ")", ";", "output_set_got", "(", "tmp", ",", "NULL_RTX", ")", ";", "fprintf", "(", "file", ",", "\"LPC$%d:\\tmovl\\t%s-LPC$%d(%%ecx),%%ecx\\n\"", ",", "label", ",", "lazy_ptr_name", ",", "label", ")", ";", "fprintf", "(", "file", ",", "\"\\tjmp\\t*%%ecx\\n\"", ")", ";", "}", "else", "fprintf", "(", "file", ",", "\"\\tjmp\\t*%s\\n\"", ",", "lazy_ptr_name", ")", ";", "if", "(", "MACHOPIC_ATT_STUB", ")", "return", ";", "fprintf", "(", "file", ",", "\"%s:\\n\"", ",", "binder_name", ")", ";", "if", "(", "MACHOPIC_PURE", ")", "{", "fprintf", "(", "file", ",", "\"\\tlea\\t%s-%s(%%ecx),%%ecx\\n\"", ",", "lazy_ptr_name", ",", "binder_name", ")", ";", "fprintf", "(", "file", ",", "\"\\tpushl\\t%%ecx\\n\"", ")", ";", "}", "else", "fprintf", "(", "file", ",", "\"\\tpushl\\t$%s\\n\"", ",", "lazy_ptr_name", ")", ";", "fputs", "(", "\"\\tjmp\\tdyld_stub_binding_helper\\n\"", ",", "file", ")", ";", "if", "(", "MACHOPIC_PURE", ")", "{", "switch_to_section", "(", "darwin_sections", "[", "machopic_lazy_symbol_ptr2_section", "]", ")", ";", "}", "else", "switch_to_section", "(", "darwin_sections", "[", "machopic_lazy_symbol_ptr3_section", "]", ")", ";", "fprintf", "(", "file", ",", "\"%s:\\n\"", ",", "lazy_ptr_name", ")", ";", "fprintf", "(", "file", ",", "\"\\t.indirect_symbol %s\\n\"", ",", "symbol_name", ")", ";", "fprintf", "(", "file", ",", "ASM_LONG", "\"%s\\n\"", ",", "binder_name", ")", ";", "}", ""], "natrual_language": ["Generate", "external", "symbol", "indirection", "stubs", "(", "PIC", "and", "non-PIC", ")", "."], "TS_V_token": ["i386", "32", "32", "32", "\"L%d$lz\"", "\"%s:\\n\"", "\"\\t.indirect_symbol %s\\n\"", "\"\\thlt ; hlt ; hlt ; hlt ; hlt\\n\"", "2", "\"LPC$%d:\\tmovl\\t%s-LPC$%d(%%ecx),%%ecx\\n\"", "\"\\tjmp\\t*%%ecx\\n\"", "\"\\tjmp\\t*%s\\n\"", "\"%s:\\n\"", "\"\\tlea\\t%s-%s(%%ecx),%%ecx\\n\"", "\"\\tpushl\\t%%ecx\\n\"", "\"\\tpushl\\t$%s\\n\"", "\"\\tjmp\\tdyld_stub_binding_helper\\n\"", "\"%s:\\n\"", "\"\\t.indirect_symbol %s\\n\"", "\"%s\\n\""], "File": "i386", "Func": "machopic_output_stub", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39088, "Length": 345}
{"ground_truth": ["", "int", "memory_address_length", "(", "rtx", "addr", ",", "bool", "lea", ")", "{", "struct", "ix86_address", "parts", ";", "rtx", "base", ",", "index", ",", "disp", ";", "int", "len", ";", "int", "ok", ";", "if", "(", "GET_CODE", "(", "addr", ")", "==", "PRE_DEC", "||", "GET_CODE", "(", "addr", ")", "==", "POST_INC", "||", "GET_CODE", "(", "addr", ")", "==", "PRE_MODIFY", "||", "GET_CODE", "(", "addr", ")", "==", "POST_MODIFY", ")", "return", "0", ";", "ok", "=", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", ";", "gcc_assert", "(", "ok", ")", ";", "len", "=", "(", "parts", ".", "seg", "==", "ADDR_SPACE_GENERIC", ")", "?", "0", ":", "1", ";", "if", "(", "TARGET_64BIT", "&&", "!", "lea", "&&", "(", "SImode_address_operand", "(", "addr", ",", "VOIDmode", ")", "||", "(", "parts", ".", "base", "&&", "GET_MODE", "(", "parts", ".", "base", ")", "==", "SImode", ")", "||", "(", "parts", ".", "index", "&&", "GET_MODE", "(", "parts", ".", "index", ")", "==", "SImode", ")", ")", ")", "len", "++", ";", "base", "=", "parts", ".", "base", ";", "index", "=", "parts", ".", "index", ";", "disp", "=", "parts", ".", "disp", ";", "if", "(", "base", "&&", "SUBREG_P", "(", "base", ")", ")", "base", "=", "SUBREG_REG", "(", "base", ")", ";", "if", "(", "index", "&&", "SUBREG_P", "(", "index", ")", ")", "index", "=", "SUBREG_REG", "(", "index", ")", ";", "gcc_assert", "(", "base", "==", "NULL_RTX", "||", "REG_P", "(", "base", ")", ")", ";", "gcc_assert", "(", "index", "==", "NULL_RTX", "||", "REG_P", "(", "index", ")", ")", ";", "if", "(", "base", "&&", "!", "index", "&&", "!", "disp", ")", "{", "if", "(", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", "||", "REGNO", "(", "base", ")", "==", "SP_REG", "||", "REGNO", "(", "base", ")", "==", "BP_REG", "||", "REGNO", "(", "base", ")", "==", "R12_REG", "||", "REGNO", "(", "base", ")", "==", "R13_REG", ")", "len", "++", ";", "}", "else", "if", "(", "disp", "&&", "!", "base", "&&", "!", "index", ")", "{", "len", "+=", "4", ";", "if", "(", "!", "ix86_rip_relative_addr_p", "(", "&", "parts", ")", ")", "len", "++", ";", "}", "else", "{", "if", "(", "disp", ")", "{", "if", "(", "base", "&&", "satisfies_constraint_K", "(", "disp", ")", ")", "len", "+=", "1", ";", "else", "len", "+=", "4", ";", "}", "else", "if", "(", "base", "&&", "(", "REGNO", "(", "base", ")", "==", "BP_REG", "||", "REGNO", "(", "base", ")", "==", "R13_REG", ")", ")", "len", "++", ";", "if", "(", "index", "||", "base", "==", "arg_pointer_rtx", "||", "base", "==", "frame_pointer_rtx", "||", "(", "base", "&&", "(", "REGNO", "(", "base", ")", "==", "SP_REG", "||", "REGNO", "(", "base", ")", "==", "R12_REG", ")", ")", ")", "len", "++", ";", "}", "return", "len", ";", "}", ""], "natrual_language": ["Calculate", "the", "length", "of", "the", "memory", "address", "in", "the", "instruction", "encoding", ".", "Does", "not", "include", "the", "one-byte", "modrm", ",", "opcode", ",", "or", "prefix", "."], "TS_V_token": ["i386", "0", "0", "1", "4", "1", "4"], "File": "i386", "Func": "memory_address_length", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39089, "Length": 384}
{"ground_truth": ["", "static", "enum", "x86_64_reg_class", "merge_classes", "(", "enum", "x86_64_reg_class", "class1", ",", "enum", "x86_64_reg_class", "class2", ")", "{", "if", "(", "class1", "==", "class2", ")", "return", "class1", ";", "if", "(", "class1", "==", "X86_64_NO_CLASS", ")", "return", "class2", ";", "if", "(", "class2", "==", "X86_64_NO_CLASS", ")", "return", "class1", ";", "if", "(", "class1", "==", "X86_64_MEMORY_CLASS", "||", "class2", "==", "X86_64_MEMORY_CLASS", ")", "return", "X86_64_MEMORY_CLASS", ";", "if", "(", "(", "class1", "==", "X86_64_INTEGERSI_CLASS", "&&", "(", "class2", "==", "X86_64_SSESF_CLASS", "||", "class2", "==", "X86_64_SSEHF_CLASS", ")", ")", "||", "(", "class2", "==", "X86_64_INTEGERSI_CLASS", "&&", "(", "class1", "==", "X86_64_SSESF_CLASS", "||", "class1", "==", "X86_64_SSEHF_CLASS", ")", ")", ")", "return", "X86_64_INTEGERSI_CLASS", ";", "if", "(", "class1", "==", "X86_64_INTEGER_CLASS", "||", "class1", "==", "X86_64_INTEGERSI_CLASS", "||", "class2", "==", "X86_64_INTEGER_CLASS", "||", "class2", "==", "X86_64_INTEGERSI_CLASS", ")", "return", "X86_64_INTEGER_CLASS", ";", "if", "(", "class1", "==", "X86_64_X87_CLASS", "||", "class1", "==", "X86_64_X87UP_CLASS", "||", "class1", "==", "X86_64_COMPLEX_X87_CLASS", "||", "class2", "==", "X86_64_X87_CLASS", "||", "class2", "==", "X86_64_X87UP_CLASS", "||", "class2", "==", "X86_64_COMPLEX_X87_CLASS", ")", "return", "X86_64_MEMORY_CLASS", ";", "return", "X86_64_SSE_CLASS", ";", "}", ""], "natrual_language": ["Return", "the", "union", "class", "of", "CLASS1", "and", "CLASS2", ".", "See", "the", "x86-64", "PS", "ABI", "for", "details", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "merge_classes", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39090, "Length": 145}
{"ground_truth": ["", "static", "const", "char", "*", "output_387_ffreep", "(", "rtx", "*", "operands", "ATTRIBUTE_UNUSED", ",", "int", "opno", ")", "{", "if", "(", "TARGET_USE_FFREEP", ")", "return", "opno", "?", "\"ffreep\\t%y1\"", ":", "\"ffreep\\t%y0\"", ";", "{", "static", "char", "retval", "[", "32", "]", ";", "int", "regno", "=", "REGNO", "(", "operands", "[", "opno", "]", ")", ";", "gcc_assert", "(", "STACK_REGNO_P", "(", "regno", ")", ")", ";", "regno", "-=", "FIRST_STACK_REG", ";", "snprintf", "(", "retval", ",", "sizeof", "(", "retval", ")", ",", "ASM_SHORT", "\"0xc%ddf\"", ",", "regno", ")", ";", "return", "retval", ";", "}", "return", "opno", "?", "\"fstp\\t%y1\"", ":", "\"fstp\\t%y0\"", ";", "}", ""], "natrual_language": ["Output", "code", "for", "x87", "ffreep", "insn", ".", "The", "OPNO", "argument", ",", "which", "may", "only", "have", "the", "values", "zero", "or", "one", ",", "indicates", "the", "ffreep", "insn", "'s", "operand", "from", "the", "OPERANDS", "array", "."], "TS_V_token": ["i386", "\"ffreep\\t%y1\"", "\"ffreep\\t%y0\"", "32", "\"0xc%ddf\"", "\"fstp\\t%y1\"", "\"fstp\\t%y0\""], "File": "i386", "Func": "output_387_ffreep", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39091, "Length": 84}
{"ground_truth": ["", "const", "char", "*", "output_387_reg_move", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ")", "{", "if", "(", "REG_P", "(", "operands", "[", "0", "]", ")", ")", "{", "if", "(", "REG_P", "(", "operands", "[", "1", "]", ")", "&&", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "REGNO", "(", "operands", "[", "1", "]", ")", ")", ")", "{", "if", "(", "REGNO", "(", "operands", "[", "0", "]", ")", "==", "FIRST_STACK_REG", ")", "return", "output_387_ffreep", "(", "operands", ",", "0", ")", ";", "return", "\"fstp\\t%y0\"", ";", "}", "if", "(", "STACK_TOP_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"fld%Z1\\t%y1\"", ";", "return", "\"fst\\t%y0\"", ";", "}", "else", "if", "(", "MEM_P", "(", "operands", "[", "0", "]", ")", ")", "{", "gcc_assert", "(", "REG_P", "(", "operands", "[", "1", "]", ")", ")", ";", "if", "(", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "REGNO", "(", "operands", "[", "1", "]", ")", ")", ")", "return", "\"fstp%Z0\\t%y0\"", ";", "else", "{", "if", "(", "GET_MODE", "(", "operands", "[", "0", "]", ")", "==", "XFmode", ")", "return", "\"fstp%Z0\\t%y0\\n\\tfld%Z0\\t%y0\"", ";", "else", "return", "\"fst%Z0\\t%y0\"", ";", "}", "}", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Output", "code", "to", "perform", "an", "x87", "FP", "register", "move", ",", "from", "OPERANDS", "[", "1", "]", "to", "OPERANDS", "[", "0", "]", "."], "TS_V_token": ["i386", "0", "1", "1", "0", "0", "\"fstp\\t%y0\"", "0", "\"fld%Z1\\t%y1\"", "\"fst\\t%y0\"", "0", "1", "1", "\"fstp%Z0\\t%y0\"", "0", "\"fstp%Z0\\t%y0\\n\\tfld%Z0\\t%y0\"", "\"fst%Z0\\t%y0\""], "File": "i386", "Func": "output_387_reg_move", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39092, "Length": 164}
{"ground_truth": ["", "const", "char", "*", "output_adjust_stack_and_probe", "(", "rtx", "reg", ")", "{", "static", "int", "labelno", "=", "0", ";", "char", "loop_lab", "[", "32", "]", ";", "rtx", "xops", "[", "2", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "loop_lab", ",", "\"LPSRL\"", ",", "labelno", "++", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "loop_lab", ")", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "GEN_INT", "(", "get_probe_interval", "(", ")", ")", ";", "output_asm_insn", "(", "\"sub%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "xops", "[", "1", "]", "=", "const0_rtx", ";", "output_asm_insn", "(", "\"or%z0\\t{%1, (%0)|DWORD PTR [%0], %1}\"", ",", "xops", ")", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "reg", ";", "output_asm_insn", "(", "\"cmp%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "fputs", "(", "\"\\tjne\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "loop_lab", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Adjust", "the", "stack", "pointer", "up", "to", "REG", "while", "probing", "it", "."], "TS_V_token": ["i386", "0", "32", "2", "\"LPSRL\"", "0", "1", "\"sub%z0\\t{%1, %0|%0, %1}\"", "1", "\"or%z0\\t{%1, (%0)|DWORD PTR [%0], %1}\"", "0", "1", "\"cmp%z0\\t{%1, %0|%0, %1}\"", "\"\\tjne\\t\"", "\"\""], "File": "i386", "Func": "output_adjust_stack_and_probe", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39093, "Length": 130}
{"ground_truth": ["", "const", "char", "*", "output_fix_trunc", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ",", "bool", "fisttp", ")", "{", "bool", "stack_top_dies", "=", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "FIRST_STACK_REG", ")", ";", "bool", "dimode_p", "=", "GET_MODE", "(", "operands", "[", "0", "]", ")", "==", "DImode", ";", "int", "round_mode", "=", "get_attr_i387_cw", "(", "insn", ")", ";", "static", "char", "buf", "[", "40", "]", ";", "const", "char", "*", "p", ";", "if", "(", "(", "dimode_p", "||", "fisttp", ")", "&&", "!", "stack_top_dies", ")", "output_asm_insn", "(", "\"fld\\t%y1\"", ",", "operands", ")", ";", "gcc_assert", "(", "STACK_TOP_P", "(", "operands", "[", "1", "]", ")", ")", ";", "gcc_assert", "(", "MEM_P", "(", "operands", "[", "0", "]", ")", ")", ";", "gcc_assert", "(", "GET_MODE", "(", "operands", "[", "1", "]", ")", "!=", "TFmode", ")", ";", "if", "(", "fisttp", ")", "return", "\"fisttp%Z0\\t%0\"", ";", "strcpy", "(", "buf", ",", "\"fist\"", ")", ";", "if", "(", "round_mode", "!=", "I387_CW_ANY", ")", "output_asm_insn", "(", "\"fldcw\\t%3\"", ",", "operands", ")", ";", "p", "=", "\"p%Z0\\t%0\"", ";", "strcat", "(", "buf", ",", "p", "+", "!", "(", "stack_top_dies", "||", "dimode_p", ")", ")", ";", "output_asm_insn", "(", "buf", ",", "operands", ")", ";", "if", "(", "round_mode", "!=", "I387_CW_ANY", ")", "output_asm_insn", "(", "\"fldcw\\t%2\"", ",", "operands", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Output", "code", "for", "INSN", "to", "convert", "a", "float", "to", "a", "signed", "int", ".", "OPERANDS", "are", "the", "insn", "operands", ".", "The", "output", "may", "be", "[", "HSD", "]", "Imode", "and", "the", "input", "operand", "may", "be", "[", "SDX", "]", "Fmode", "."], "TS_V_token": ["i386", "0", "40", "\"fld\\t%y1\"", "1", "0", "1", "\"fisttp%Z0\\t%0\"", "\"fist\"", "\"fldcw\\t%3\"", "\"p%Z0\\t%0\"", "\"fldcw\\t%2\"", "\"\""], "File": "i386", "Func": "output_fix_trunc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39094, "Length": 184}
{"ground_truth": ["", "const", "char", "*", "output_fp_compare", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ",", "bool", "eflags_p", ",", "bool", "unordered_p", ")", "{", "rtx", "*", "xops", "=", "eflags_p", "?", "&", "operands", "[", "0", "]", ":", "&", "operands", "[", "1", "]", ";", "bool", "stack_top_dies", ";", "static", "char", "buf", "[", "40", "]", ";", "const", "char", "*", "p", ";", "gcc_assert", "(", "STACK_TOP_P", "(", "xops", "[", "0", "]", ")", ")", ";", "stack_top_dies", "=", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "FIRST_STACK_REG", ")", ";", "if", "(", "eflags_p", ")", "{", "p", "=", "unordered_p", "?", "\"fucomi\"", ":", "\"fcomi\"", ";", "strcpy", "(", "buf", ",", "p", ")", ";", "p", "=", "\"p\\t{%y1, %0|%0, %y1}\"", ";", "strcat", "(", "buf", ",", "p", "+", "!", "stack_top_dies", ")", ";", "return", "buf", ";", "}", "if", "(", "STACK_REG_P", "(", "xops", "[", "1", "]", ")", "&&", "stack_top_dies", "&&", "find_regno_note", "(", "insn", ",", "REG_DEAD", ",", "FIRST_STACK_REG", "+", "1", ")", ")", "{", "gcc_assert", "(", "REGNO", "(", "xops", "[", "1", "]", ")", "==", "FIRST_STACK_REG", "+", "1", ")", ";", "p", "=", "unordered_p", "?", "\"fucompp\"", ":", "\"fcompp\"", ";", "strcpy", "(", "buf", ",", "p", ")", ";", "}", "else", "if", "(", "const0_operand", "(", "xops", "[", "1", "]", ",", "VOIDmode", ")", ")", "{", "gcc_assert", "(", "!", "unordered_p", ")", ";", "strcpy", "(", "buf", ",", "\"ftst\"", ")", ";", "}", "else", "{", "if", "(", "GET_MODE_CLASS", "(", "GET_MODE", "(", "xops", "[", "1", "]", ")", ")", "==", "MODE_INT", ")", "{", "gcc_assert", "(", "!", "unordered_p", ")", ";", "p", "=", "\"ficom\"", ";", "}", "else", "p", "=", "unordered_p", "?", "\"fucom\"", ":", "\"fcom\"", ";", "strcpy", "(", "buf", ",", "p", ")", ";", "p", "=", "\"p%Z2\\t%y2\"", ";", "strcat", "(", "buf", ",", "p", "+", "!", "stack_top_dies", ")", ";", "}", "output_asm_insn", "(", "buf", ",", "operands", ")", ";", "return", "\"fnstsw\\t%0\"", ";", "}", ""], "natrual_language": ["Output", "code", "for", "INSN", "to", "compare", "OPERANDS", ".", "EFLAGS_P", "is", "1", "when", "fcomi", "should", "be", "used", "and", "2", "when", "fnstsw", "should", "be", "used", ".", "UNORDERED_P", "is", "true", "when", "fucom", "should", "be", "used", "."], "TS_V_token": ["i386", "0", "1", "40", "0", "\"fucomi\"", "\"fcomi\"", "\"p\\t{%y1, %0|%0, %y1}\"", "1", "1", "1", "1", "\"fucompp\"", "\"fcompp\"", "1", "\"ftst\"", "1", "\"ficom\"", "\"fucom\"", "\"fcom\"", "\"p%Z2\\t%y2\"", "\"fnstsw\\t%0\""], "File": "i386", "Func": "output_fp_compare", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39095, "Length": 267}
{"ground_truth": ["", "static", "void", "output_indirect_thunk", "(", "unsigned", "int", "regno", ")", "{", "char", "indirectlabel1", "[", "32", "]", ";", "char", "indirectlabel2", "[", "32", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel1", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "indirectlabel2", ",", "INDIRECT_LABEL", ",", "indirectlabelno", "++", ")", ";", "fputs", "(", "\"\\tcall\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"\\tpause\\n\\tlfence\\n\"", ")", ";", "fputs", "(", "\"\\tjmp\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "indirectlabel1", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "indirectlabel2", ")", ";", "if", "(", "flag_asynchronous_unwind_tables", "&&", "dwarf2out_do_frame", "(", ")", ")", "{", "if", "(", "!", "dwarf2out_do_cfi_asm", "(", ")", ")", "{", "dw_cfi_ref", "xcfi", "=", "ggc_cleared_alloc", "<", "dw_cfi_node", ">", "(", ")", ";", "xcfi", "->", "dw_cfi_opc", "=", "DW_CFA_advance_loc4", ";", "xcfi", "->", "dw_cfi_oprnd1", ".", "dw_cfi_addr", "=", "ggc_strdup", "(", "indirectlabel2", ")", ";", "vec_safe_push", "(", "cfun", "->", "fde", "->", "dw_fde_cfi", ",", "xcfi", ")", ";", "}", "dw_cfi_ref", "xcfi", "=", "ggc_cleared_alloc", "<", "dw_cfi_node", ">", "(", ")", ";", "xcfi", "->", "dw_cfi_opc", "=", "DW_CFA_def_cfa_offset", ";", "xcfi", "->", "dw_cfi_oprnd1", ".", "dw_cfi_offset", "=", "2", "*", "UNITS_PER_WORD", ";", "vec_safe_push", "(", "cfun", "->", "fde", "->", "dw_fde_cfi", ",", "xcfi", ")", ";", "dwarf2out_emit_cfi", "(", "xcfi", ")", ";", "}", "if", "(", "regno", "!=", "INVALID_REGNUM", ")", "{", "rtx", "xops", "[", "2", "]", ";", "xops", "[", "0", "]", "=", "gen_rtx_MEM", "(", "word_mode", ",", "stack_pointer_rtx", ")", ";", "xops", "[", "1", "]", "=", "gen_rtx_REG", "(", "word_mode", ",", "regno", ")", ";", "output_asm_insn", "(", "\"mov\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "}", "else", "{", "rtx", "xops", "[", "2", "]", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "UNITS_PER_WORD", ")", ";", "output_asm_insn", "(", "\"lea\\t{%E1, %0|%0, %E1}\"", ",", "xops", ")", ";", "}", "fputs", "(", "\"\\tret\\n\"", ",", "asm_out_file", ")", ";", "if", "(", "(", "ix86_harden_sls", "&", "harden_sls_return", ")", ")", "fputs", "(", "\"\\tint3\\n\"", ",", "asm_out_file", ")", ";", "}", ""], "natrual_language": ["Output", "a", "call", "and", "return", "thunk", "for", "indirect", "branch", ".", "If", "BND_P", "is", "true", ",", "the", "BND", "prefix", "is", "needed", ".", "If", "REGNO", "!", "=", "-1", ",", "the", "function", "address", "is", "in", "REGNO", "and", "the", "call", "and", "return", "thunk", "looks", "like", ":", "call", "L2", "L1", ":", "pause", "lfence", "jmp", "L1", "L2", ":", "mov", "%", "REG", ",", "(", "%", "sp", ")", "ret", "Otherwise", ",", "the", "function", "address", "is", "on", "the", "top", "of", "stack", "and", "the", "call", "and", "return", "thunk", "looks", "like", ":", "call", "L2", "L1", ":", "pause", "lfence", "jmp", "L1", "L2", ":", "lea", "WORD_SIZE", "(", "%", "sp", ")", ",", "%", "sp", "ret"], "TS_V_token": ["i386", "32", "32", "\"\\tcall\\t\"", "\"\\tpause\\n\\tlfence\\n\"", "\"\\tjmp\\t\"", "2", "2", "0", "1", "\"mov\\t{%1, %0|%0, %1}\"", "2", "0", "1", "\"lea\\t{%E1, %0|%0, %E1}\"", "\"\\tret\\n\"", "\"\\tint3\\n\""], "File": "i386", "Func": "output_indirect_thunk", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39096, "Length": 308}
{"ground_truth": ["", "static", "void", "output_indirect_thunk_function", "(", "enum", "indirect_thunk_prefix", "need_prefix", ",", "unsigned", "int", "regno", ",", "bool", "ret_p", ")", "{", "char", "name", "[", "32", "]", ";", "tree", "decl", ";", "indirect_thunk_name", "(", "name", ",", "regno", ",", "need_prefix", ",", "ret_p", ")", ";", "decl", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "FUNCTION_DECL", ",", "get_identifier", "(", "name", ")", ",", "build_function_type_list", "(", "void_type_node", ",", "NULL_TREE", ")", ")", ";", "DECL_RESULT", "(", "decl", ")", "=", "build_decl", "(", "BUILTINS_LOCATION", ",", "RESULT_DECL", ",", "NULL_TREE", ",", "void_type_node", ")", ";", "TREE_PUBLIC", "(", "decl", ")", "=", "1", ";", "TREE_STATIC", "(", "decl", ")", "=", "1", ";", "DECL_IGNORED_P", "(", "decl", ")", "=", "1", ";", "if", "(", "TARGET_MACHO", ")", "{", "switch_to_section", "(", "darwin_sections", "[", "picbase_thunk_section", "]", ")", ";", "fputs", "(", "\"\\t.weak_definition\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\n\\t.private_extern\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "DECL_WEAK", "(", "decl", ")", "=", "1", ";", "}", "else", "if", "(", "USE_HIDDEN_LINKONCE", ")", "{", "cgraph_node", "::", "create", "(", "decl", ")", "->", "set_comdat_group", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "targetm", ".", "asm_out", ".", "unique_section", "(", "decl", ",", "0", ")", ";", "switch_to_section", "(", "get_named_section", "(", "decl", ",", "NULL", ",", "0", ")", ")", ";", "targetm", ".", "asm_out", ".", "globalize_label", "(", "asm_out_file", ",", "name", ")", ";", "fputs", "(", "\"\\t.hidden\\t\"", ",", "asm_out_file", ")", ";", "assemble_name", "(", "asm_out_file", ",", "name", ")", ";", "putc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "ASM_DECLARE_FUNCTION_NAME", "(", "asm_out_file", ",", "name", ",", "decl", ")", ";", "}", "else", "{", "switch_to_section", "(", "text_section", ")", ";", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "name", ")", ";", "}", "DECL_INITIAL", "(", "decl", ")", "=", "make_node", "(", "BLOCK", ")", ";", "current_function_decl", "=", "decl", ";", "allocate_struct_function", "(", "decl", ",", "false", ")", ";", "init_function_start", "(", "decl", ")", ";", "cfun", "->", "is_thunk", "=", "true", ";", "first_function_block_is_cold", "=", "false", ";", "final_start_function", "(", "emit_barrier", "(", ")", ",", "asm_out_file", ",", "1", ")", ";", "output_indirect_thunk", "(", "regno", ")", ";", "final_end_function", "(", ")", ";", "init_insn_lengths", "(", ")", ";", "free_after_compilation", "(", "cfun", ")", ";", "set_cfun", "(", "NULL", ")", ";", "current_function_decl", "=", "NULL", ";", "}", ""], "natrual_language": ["Output", "a", "funtion", "with", "a", "call", "and", "return", "thunk", "for", "indirect", "branch", ".", "If", "BND_P", "is", "true", ",", "the", "BND", "prefix", "is", "needed", ".", "If", "REGNO", "!", "=", "UNVALID_REGNUM", ",", "the", "function", "address", "is", "in", "REGNO", ".", "Otherwise", ",", "the", "function", "address", "is", "on", "the", "top", "of", "stack", ".", "Thunk", "is", "used", "for", "function", "return", "if", "RET_P", "is", "true", "."], "TS_V_token": ["i386", "32", "1", "1", "1", "\"\\t.weak_definition\\t\"", "\"\\n\\t.private_extern\\t\"", "1", "0", "0", "\"\\t.hidden\\t\"", "1"], "File": "i386", "Func": "output_indirect_thunk_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39097, "Length": 333}
{"ground_truth": ["", "const", "char", "*", "output_probe_stack_range", "(", "rtx", "reg", ",", "rtx", "end", ")", "{", "static", "int", "labelno", "=", "0", ";", "char", "loop_lab", "[", "32", "]", ";", "rtx", "xops", "[", "3", "]", ";", "ASM_GENERATE_INTERNAL_LABEL", "(", "loop_lab", ",", "\"LPSRL\"", ",", "labelno", "++", ")", ";", "ASM_OUTPUT_INTERNAL_LABEL", "(", "asm_out_file", ",", "loop_lab", ")", ";", "xops", "[", "0", "]", "=", "reg", ";", "xops", "[", "1", "]", "=", "GEN_INT", "(", "get_probe_interval", "(", ")", ")", ";", "output_asm_insn", "(", "\"sub%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "xops", "[", "0", "]", "=", "stack_pointer_rtx", ";", "xops", "[", "1", "]", "=", "reg", ";", "xops", "[", "2", "]", "=", "const0_rtx", ";", "output_asm_insn", "(", "\"or%z0\\t{%2, (%0,%1)|DWORD PTR [%0+%1], %2}\"", ",", "xops", ")", ";", "xops", "[", "0", "]", "=", "reg", ";", "xops", "[", "1", "]", "=", "end", ";", "output_asm_insn", "(", "\"cmp%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "fputs", "(", "\"\\tjne\\t\"", ",", "asm_out_file", ")", ";", "assemble_name_raw", "(", "asm_out_file", ",", "loop_lab", ")", ";", "fputc", "(", "'\\n'", ",", "asm_out_file", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Wrapper", "around", "the", "output_probe_stack_range", "routines", "."], "TS_V_token": ["i386", "0", "32", "3", "\"LPSRL\"", "0", "1", "\"sub%z0\\t{%1, %0|%0, %1}\"", "0", "1", "2", "\"or%z0\\t{%2, (%0,%1)|DWORD PTR [%0+%1], %2}\"", "0", "1", "\"cmp%z0\\t{%1, %0|%0, %1}\"", "\"\\tjne\\t\"", "\"\""], "File": "i386", "Func": "output_probe_stack_range", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39098, "Length": 147}
{"ground_truth": ["", "static", "void", "output_return_instrumentation", "(", "void", ")", "{", "if", "(", "ix86_instrument_return", "!=", "instrument_return_none", "&&", "flag_fentry", "&&", "!", "DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT", "(", "cfun", "->", "decl", ")", ")", "{", "if", "(", "ix86_flag_record_return", ")", "fprintf", "(", "asm_out_file", ",", "\"1:\\n\"", ")", ";", "switch", "(", "ix86_instrument_return", ")", "{", "case", "instrument_return_call", ":", "fprintf", "(", "asm_out_file", ",", "\"\\tcall\\t__return__\\n\"", ")", ";", "break", ";", "case", "instrument_return_nop5", ":", "fprintf", "(", "asm_out_file", ",", "ASM_BYTE", "\"0x0f, 0x1f, 0x44, 0x00, 0x00\\n\"", ")", ";", "break", ";", "case", "instrument_return_none", ":", "break", ";", "}", "if", "(", "ix86_flag_record_return", ")", "{", "fprintf", "(", "asm_out_file", ",", "\"\\t.section __return_loc, \\\"a\\\",@progbits\\n\"", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"\\t.%s 1b\\n\"", ",", "TARGET_64BIT", "?", "\"quad\"", ":", "\"long\"", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"\\t.previous\\n\"", ")", ";", "}", "}", "}", ""], "natrual_language": ["Output", "return", "instrumentation", "for", "current", "function", "if", "needed", "."], "TS_V_token": ["i386", "\"1:\\n\"", "\"\\tcall\\t__return__\\n\"", "\"0x0f, 0x1f, 0x44, 0x00, 0x00\\n\"", "\"\\t.section __return_loc, \\\"a\\\",@progbits\\n\"", "\"\\t.%s 1b\\n\"", "\"quad\"", "\"long\"", "\"\\t.previous\\n\""], "File": "i386", "Func": "output_return_instrumentation", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39099, "Length": 106}
{"ground_truth": ["", "const", "char", "*", "output_set_got", "(", "rtx", "dest", ",", "rtx", "label", ")", "{", "rtx", "xops", "[", "3", "]", ";", "xops", "[", "0", "]", "=", "dest", ";", "if", "(", "TARGET_VXWORKS_RTP", "&&", "flag_pic", ")", "{", "xops", "[", "2", "]", "=", "gen_rtx_MEM", "(", "Pmode", ",", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "VXWORKS_GOTT_BASE", ")", ")", ";", "output_asm_insn", "(", "\"mov{l}\\t{%2, %0|%0, %2}\"", ",", "xops", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "VXWORKS_GOTT_INDEX", ")", ";", "SYMBOL_REF_FLAGS", "(", "xops", "[", "2", "]", ")", "|=", "SYMBOL_FLAG_LOCAL", ";", "output_asm_insn", "(", "\"mov{l}\\t{%P2(%0), %0|%0, DWORD PTR %P2[%0]}\"", ",", "xops", ")", ";", "return", "\"\"", ";", "}", "xops", "[", "1", "]", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "GOT_SYMBOL_NAME", ")", ";", "if", "(", "flag_pic", ")", "{", "char", "name", "[", "32", "]", ";", "get_pc_thunk_name", "(", "name", ",", "REGNO", "(", "dest", ")", ")", ";", "pic_labels_used", "|=", "1", "<<", "REGNO", "(", "dest", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "ggc_strdup", "(", "name", ")", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_MEM", "(", "QImode", ",", "xops", "[", "2", "]", ")", ";", "output_asm_insn", "(", "\"%!call\\t%X2\"", ",", "xops", ")", ";", "if", "(", "machopic_should_output_picbase_label", "(", ")", "||", "!", "label", ")", "ASM_OUTPUT_LABEL", "(", "asm_out_file", ",", "MACHOPIC_FUNCTION_BASE_NAME", ")", ";", "if", "(", "label", ")", "targetm", ".", "asm_out", ".", "internal_label", "(", "asm_out_file", ",", "\"L\"", ",", "CODE_LABEL_NUMBER", "(", "label", ")", ")", ";", "}", "else", "{", "if", "(", "TARGET_MACHO", ")", "gcc_unreachable", "(", ")", ";", "xops", "[", "2", "]", "=", "gen_rtx_LABEL_REF", "(", "Pmode", ",", "label", "?", "label", ":", "gen_label_rtx", "(", ")", ")", ";", "output_asm_insn", "(", "\"mov%z0\\t{%2, %0|%0, %2}\"", ",", "xops", ")", ";", "targetm", ".", "asm_out", ".", "internal_label", "(", "asm_out_file", ",", "\"L\"", ",", "CODE_LABEL_NUMBER", "(", "XEXP", "(", "xops", "[", "2", "]", ",", "0", ")", ")", ")", ";", "}", "if", "(", "!", "TARGET_MACHO", ")", "output_asm_insn", "(", "\"add%z0\\t{%1, %0|%0, %1}\"", ",", "xops", ")", ";", "return", "\"\"", ";", "}", ""], "natrual_language": ["Emit", "code", "for", "the", "SET_GOT", "patterns", "."], "TS_V_token": ["i386", "3", "0", "2", "\"mov{l}\\t{%2, %0|%0, %2}\"", "2", "2", "\"mov{l}\\t{%P2(%0), %0|%0, DWORD PTR %P2[%0]}\"", "\"\"", "1", "32", "1", "2", "2", "2", "\"%!call\\t%X2\"", "\"L\"", "2", "\"mov%z0\\t{%2, %0|%0, %2}\"", "\"L\"", "2", "0", "\"add%z0\\t{%1, %0|%0, %1}\"", "\"\""], "File": "i386", "Func": "output_set_got", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39100, "Length": 281}
{"ground_truth": ["", "static", "rtx", "pro_epilogue_adjust_stack", "(", "rtx", "dest", ",", "rtx", "src", ",", "rtx", "offset", ",", "int", "style", ",", "bool", "set_cfa", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "addend", "=", "offset", ";", "rtx", "insn", ";", "bool", "add_frame_related_expr", "=", "false", ";", "if", "(", "!", "x86_64_immediate_operand", "(", "offset", ",", "Pmode", ")", ")", "{", "if", "(", "style", ")", "addend", "=", "gen_rtx_REG", "(", "Pmode", ",", "R11_REG", ")", ";", "else", "{", "gcc_assert", "(", "src", "!=", "hard_frame_pointer_rtx", "&&", "dest", "!=", "hard_frame_pointer_rtx", ")", ";", "addend", "=", "hard_frame_pointer_rtx", ";", "}", "emit_insn", "(", "gen_rtx_SET", "(", "addend", ",", "offset", ")", ")", ";", "if", "(", "style", "<", "0", ")", "add_frame_related_expr", "=", "true", ";", "}", "insn", "=", "emit_insn", "(", "gen_pro_epilogue_adjust_stack_add", "(", "Pmode", ",", "dest", ",", "src", ",", "addend", ")", ")", ";", "if", "(", "style", ">=", "0", ")", "ix86_add_queued_cfa_restore_notes", "(", "insn", ")", ";", "if", "(", "set_cfa", ")", "{", "rtx", "r", ";", "gcc_assert", "(", "m", "->", "fs", ".", "cfa_reg", "==", "src", ")", ";", "m", "->", "fs", ".", "cfa_offset", "+=", "INTVAL", "(", "offset", ")", ";", "m", "->", "fs", ".", "cfa_reg", "=", "dest", ";", "r", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "src", ",", "offset", ")", ";", "r", "=", "gen_rtx_SET", "(", "dest", ",", "r", ")", ";", "add_reg_note", "(", "insn", ",", "REG_CFA_ADJUST_CFA", ",", "r", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "else", "if", "(", "style", "<", "0", ")", "{", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "add_frame_related_expr", ")", "{", "rtx", "r", "=", "gen_rtx_PLUS", "(", "Pmode", ",", "src", ",", "offset", ")", ";", "r", "=", "gen_rtx_SET", "(", "dest", ",", "r", ")", ";", "add_reg_note", "(", "insn", ",", "REG_FRAME_RELATED_EXPR", ",", "r", ")", ";", "}", "}", "if", "(", "dest", "==", "stack_pointer_rtx", ")", "{", "HOST_WIDE_INT", "ooffset", "=", "m", "->", "fs", ".", "sp_offset", ";", "bool", "valid", "=", "m", "->", "fs", ".", "sp_valid", ";", "bool", "realigned", "=", "m", "->", "fs", ".", "sp_realigned", ";", "if", "(", "src", "==", "hard_frame_pointer_rtx", ")", "{", "valid", "=", "m", "->", "fs", ".", "fp_valid", ";", "realigned", "=", "false", ";", "ooffset", "=", "m", "->", "fs", ".", "fp_offset", ";", "}", "else", "if", "(", "src", "==", "crtl", "->", "drap_reg", ")", "{", "valid", "=", "m", "->", "fs", ".", "drap_valid", ";", "realigned", "=", "false", ";", "ooffset", "=", "0", ";", "}", "else", "{", "gcc_checking_assert", "(", "src", "==", "stack_pointer_rtx", "||", "offset", "==", "const0_rtx", ")", ";", "}", "m", "->", "fs", ".", "sp_offset", "=", "ooffset", "-", "INTVAL", "(", "offset", ")", ";", "m", "->", "fs", ".", "sp_valid", "=", "valid", ";", "m", "->", "fs", ".", "sp_realigned", "=", "realigned", ";", "}", "return", "insn", ";", "}", ""], "natrual_language": ["Expand", "prologue", "or", "epilogue", "stack", "adjustment", ".", "The", "pattern", "exist", "to", "put", "a", "dependency", "on", "all", "ebp-based", "memory", "accesses", ".", "STYLE", "should", "be", "negative", "if", "instructions", "should", "be", "marked", "as", "frame", "related", ",", "zero", "if", "%", "r11", "register", "is", "live", "and", "can", "not", "be", "freely", "used", "and", "positive", "otherwise", "."], "TS_V_token": ["i386", "0", "0", "1", "0", "1", "0"], "File": "i386", "Func": "pro_epilogue_adjust_stack", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39101, "Length": 396}
{"ground_truth": ["", "static", "void", "release_scratch_register_on_entry", "(", "struct", "scratch_reg", "*", "sr", ",", "HOST_WIDE_INT", "offset", ",", "bool", "release_via_pop", ")", "{", "if", "(", "sr", "->", "saved", ")", "{", "if", "(", "release_via_pop", ")", "{", "struct", "machine_function", "*", "m", "=", "cfun", "->", "machine", ";", "rtx", "x", ",", "insn", "=", "emit_insn", "(", "gen_pop", "(", "sr", "->", "reg", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "x", "=", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "UNITS_PER_WORD", ")", ";", "x", "=", "gen_rtx_SET", "(", "stack_pointer_rtx", ",", "x", ")", ";", "add_reg_note", "(", "insn", ",", "REG_FRAME_RELATED_EXPR", ",", "x", ")", ";", "m", "->", "fs", ".", "sp_offset", "-=", "UNITS_PER_WORD", ";", "}", "else", "{", "rtx", "x", "=", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "offset", ")", ";", "x", "=", "gen_rtx_SET", "(", "sr", "->", "reg", ",", "gen_rtx_MEM", "(", "word_mode", ",", "x", ")", ")", ";", "emit_insn", "(", "x", ")", ";", "}", "}", "}", ""], "natrual_language": ["Release", "a", "scratch", "register", "obtained", "from", "the", "preceding", "function", ".", "If", "RELEASE_VIA_POP", "is", "true", ",", "we", "just", "pop", "the", "register", "off", "the", "stack", "to", "release", "it", ".", "This", "is", "what", "non-Linux", "systems", "use", "with", "-fstack-check", ".", "Otherwise", "we", "use", "OFFSET", "to", "locate", "the", "saved", "register", "and", "the", "allocated", "stack", "space", "becomes", "part", "of", "the", "local", "frame", "and", "is", "deallocated", "by", "the", "epilogue", "."], "TS_V_token": ["i386", "1"], "File": "i386", "Func": "release_scratch_register_on_entry", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39102, "Length": 135}
{"ground_truth": ["", "static", "void", "setup_incoming_varargs_64", "(", "CUMULATIVE_ARGS", "*", "cum", ")", "{", "rtx", "save_area", ",", "mem", ";", "alias_set_type", "set", ";", "int", "i", ",", "max", ";", "if", "(", "cfun", "->", "va_list_gpr_size", ")", "ix86_varargs_gpr_size", "=", "X86_64_REGPARM_MAX", "*", "UNITS_PER_WORD", ";", "else", "ix86_varargs_gpr_size", "=", "0", ";", "if", "(", "TARGET_SSE", "&&", "cfun", "->", "va_list_fpr_size", ")", "ix86_varargs_fpr_size", "=", "X86_64_SSE_REGPARM_MAX", "*", "16", ";", "else", "ix86_varargs_fpr_size", "=", "0", ";", "if", "(", "!", "ix86_varargs_gpr_size", "&&", "!", "ix86_varargs_fpr_size", ")", "return", ";", "save_area", "=", "frame_pointer_rtx", ";", "set", "=", "get_varargs_alias_set", "(", ")", ";", "max", "=", "cum", "->", "regno", "+", "cfun", "->", "va_list_gpr_size", "/", "UNITS_PER_WORD", ";", "if", "(", "max", ">", "X86_64_REGPARM_MAX", ")", "max", "=", "X86_64_REGPARM_MAX", ";", "for", "(", "i", "=", "cum", "->", "regno", ";", "i", "<", "max", ";", "i", "++", ")", "{", "mem", "=", "gen_rtx_MEM", "(", "word_mode", ",", "plus_constant", "(", "Pmode", ",", "save_area", ",", "i", "*", "UNITS_PER_WORD", ")", ")", ";", "MEM_NOTRAP_P", "(", "mem", ")", "=", "1", ";", "set_mem_alias_set", "(", "mem", ",", "set", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_rtx_REG", "(", "word_mode", ",", "x86_64_int_parameter_registers", "[", "i", "]", ")", ")", ";", "}", "if", "(", "ix86_varargs_fpr_size", ")", "{", "machine_mode", "smode", ";", "rtx_code_label", "*", "label", ";", "rtx", "test", ";", "label", "=", "gen_label_rtx", "(", ")", ";", "test", "=", "gen_rtx_EQ", "(", "VOIDmode", ",", "gen_rtx_REG", "(", "QImode", ",", "AX_REG", ")", ",", "const0_rtx", ")", ";", "emit_jump_insn", "(", "gen_cbranchqi4", "(", "test", ",", "XEXP", "(", "test", ",", "0", ")", ",", "XEXP", "(", "test", ",", "1", ")", ",", "label", ")", ")", ";", "smode", "=", "V4SFmode", ";", "if", "(", "crtl", "->", "stack_alignment_needed", "<", "GET_MODE_ALIGNMENT", "(", "smode", ")", ")", "crtl", "->", "stack_alignment_needed", "=", "GET_MODE_ALIGNMENT", "(", "smode", ")", ";", "max", "=", "cum", "->", "sse_regno", "+", "cfun", "->", "va_list_fpr_size", "/", "16", ";", "if", "(", "max", ">", "X86_64_SSE_REGPARM_MAX", ")", "max", "=", "X86_64_SSE_REGPARM_MAX", ";", "for", "(", "i", "=", "cum", "->", "sse_regno", ";", "i", "<", "max", ";", "++", "i", ")", "{", "mem", "=", "plus_constant", "(", "Pmode", ",", "save_area", ",", "i", "*", "16", "+", "ix86_varargs_gpr_size", ")", ";", "mem", "=", "gen_rtx_MEM", "(", "smode", ",", "mem", ")", ";", "MEM_NOTRAP_P", "(", "mem", ")", "=", "1", ";", "set_mem_alias_set", "(", "mem", ",", "set", ")", ";", "set_mem_align", "(", "mem", ",", "GET_MODE_ALIGNMENT", "(", "smode", ")", ")", ";", "emit_move_insn", "(", "mem", ",", "gen_rtx_REG", "(", "smode", ",", "GET_SSE_REGNO", "(", "i", ")", ")", ")", ";", "}", "emit_label", "(", "label", ")", ";", "}", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_SETUP_INCOMING_VARARGS", "."], "TS_V_token": ["i386", "0", "16", "0", "1", "0", "1", "16", "16", "1"], "File": "i386", "Func": "setup_incoming_varargs_64", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39103, "Length": 358}
{"ground_truth": ["", "static", "unsigned", "int", "split_stack_prologue_scratch_regno", "(", "void", ")", "{", "if", "(", "TARGET_64BIT", ")", "return", "R11_REG", ";", "else", "{", "bool", "is_fastcall", ",", "is_thiscall", ";", "int", "regparm", ";", "is_fastcall", "=", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "cfun", "->", "decl", ")", ")", ")", "!=", "NULL", ")", ";", "is_thiscall", "=", "(", "lookup_attribute", "(", "\"thiscall\"", ",", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "cfun", "->", "decl", ")", ")", ")", "!=", "NULL", ")", ";", "regparm", "=", "ix86_function_regparm", "(", "TREE_TYPE", "(", "cfun", "->", "decl", ")", ",", "cfun", "->", "decl", ")", ";", "if", "(", "is_fastcall", ")", "{", "if", "(", "DECL_STATIC_CHAIN", "(", "cfun", "->", "decl", ")", ")", "{", "sorry", "(", "\"%<-fsplit-stack%> does not support fastcall with \"", "\"nested function\"", ")", ";", "return", "INVALID_REGNUM", ";", "}", "return", "AX_REG", ";", "}", "else", "if", "(", "is_thiscall", ")", "{", "if", "(", "!", "DECL_STATIC_CHAIN", "(", "cfun", "->", "decl", ")", ")", "return", "DX_REG", ";", "return", "AX_REG", ";", "}", "else", "if", "(", "regparm", "<", "3", ")", "{", "if", "(", "!", "DECL_STATIC_CHAIN", "(", "cfun", "->", "decl", ")", ")", "return", "CX_REG", ";", "else", "{", "if", "(", "regparm", ">=", "2", ")", "{", "sorry", "(", "\"%<-fsplit-stack%> does not support 2 register \"", "\"parameters for a nested function\"", ")", ";", "return", "INVALID_REGNUM", ";", "}", "return", "DX_REG", ";", "}", "}", "else", "{", "sorry", "(", "\"%<-fsplit-stack%> does not support 3 register parameters\"", ")", ";", "return", "INVALID_REGNUM", ";", "}", "}", "}", ""], "natrual_language": ["Return", "a", "scratch", "register", "to", "use", "in", "the", "split", "stack", "prologue", ".", "The", "split", "stack", "prologue", "is", "used", "for", "-fsplit-stack", ".", "It", "is", "the", "first", "instructions", "in", "the", "function", ",", "even", "before", "the", "regular", "prologue", ".", "The", "scratch", "register", "can", "be", "any", "caller-saved", "register", "which", "is", "not", "used", "for", "parameters", "or", "for", "the", "static", "chain", "."], "TS_V_token": ["i386", "\"fastcall\"", "\"thiscall\"", "\"%<-fsplit-stack%> does not support fastcall with \"", "\"nested function\"", "3", "2", "\"%<-fsplit-stack%> does not support 2 register \"", "\"parameters for a nested function\"", "\"%<-fsplit-stack%> does not support 3 register parameters\""], "File": "i386", "Func": "split_stack_prologue_scratch_regno", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39104, "Length": 193}
{"ground_truth": ["", "static", "bool", "sp_valid_at", "(", "HOST_WIDE_INT", "cfa_offset", ")", "{", "const", "struct", "machine_frame_state", "&", "fs", "=", "cfun", "->", "machine", "->", "fs", ";", "if", "(", "fs", ".", "sp_realigned", "&&", "cfa_offset", "<=", "fs", ".", "sp_realigned_offset", ")", "{", "gcc_assert", "(", "cfa_offset", "<=", "fs", ".", "sp_realigned_fp_last", ")", ";", "return", "false", ";", "}", "return", "fs", ".", "sp_valid", ";", "}", ""], "natrual_language": ["Determine", "if", "the", "stack", "pointer", "is", "valid", "for", "accessing", "the", "CFA_OFFSET", "in", "the", "frame", "save", "area", ".", "The", "register", "is", "saved", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "sp_valid_at", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39105, "Length": 52}
{"ground_truth": ["", "static", "inline", "int", "sse_store_index", "(", "machine_mode", "mode", ")", "{", "if", "(", "mode", "==", "E_HFmode", ")", "mode", "=", "E_SFmode", ";", "switch", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", "{", "case", "4", ":", "return", "0", ";", "case", "8", ":", "return", "1", ";", "case", "16", ":", "return", "2", ";", "case", "32", ":", "return", "3", ";", "case", "64", ":", "return", "4", ";", "default", ":", "return", "-", "1", ";", "}", "}", ""], "natrual_language": ["Return", "index", "of", "MODE", "in", "the", "sse", "load/store", "tables", "."], "TS_V_token": ["i386", "4", "0", "8", "1", "16", "2", "32", "3", "64", "4", "1"], "File": "i386", "Func": "sse_store_index", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39106, "Length": 65}
{"ground_truth": ["", "const", "char", "*", "standard_80387_constant_opcode", "(", "rtx", "x", ")", "{", "switch", "(", "standard_80387_constant_p", "(", "x", ")", ")", "{", "case", "1", ":", "return", "\"fldz\"", ";", "case", "2", ":", "return", "\"fld1\"", ";", "case", "3", ":", "return", "\"fldlg2\"", ";", "case", "4", ":", "return", "\"fldln2\"", ";", "case", "5", ":", "return", "\"fldl2e\"", ";", "case", "6", ":", "return", "\"fldl2t\"", ";", "case", "7", ":", "return", "\"fldpi\"", ";", "case", "8", ":", "case", "9", ":", "return", "\"#\"", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Return", "the", "opcode", "of", "the", "special", "instruction", "to", "be", "used", "to", "load", "the", "constant", "X", "."], "TS_V_token": ["i386", "1", "\"fldz\"", "2", "\"fld1\"", "3", "\"fldlg2\"", "4", "\"fldln2\"", "5", "\"fldl2e\"", "6", "\"fldl2t\"", "7", "\"fldpi\"", "8", "9", "\"#\""], "File": "i386", "Func": "standard_80387_constant_opcode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39107, "Length": 76}
{"ground_truth": ["", "int", "standard_80387_constant_p", "(", "rtx", "x", ")", "{", "machine_mode", "mode", "=", "GET_MODE", "(", "x", ")", ";", "const", "REAL_VALUE_TYPE", "*", "r", ";", "if", "(", "!", "(", "CONST_DOUBLE_P", "(", "x", ")", "&&", "X87_FLOAT_MODE_P", "(", "mode", ")", ")", ")", "return", "-", "1", ";", "if", "(", "x", "==", "CONST0_RTX", "(", "mode", ")", ")", "return", "1", ";", "if", "(", "x", "==", "CONST1_RTX", "(", "mode", ")", ")", "return", "2", ";", "r", "=", "CONST_DOUBLE_REAL_VALUE", "(", "x", ")", ";", "if", "(", "mode", "==", "XFmode", "&&", "(", "optimize_function_for_size_p", "(", "cfun", ")", "||", "TARGET_EXT_80387_CONSTANTS", ")", "&&", "!", "flag_rounding_math", ")", "{", "int", "i", ";", "if", "(", "!", "ext_80387_constants_init", ")", "init_ext_80387_constants", "(", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "5", ";", "i", "++", ")", "if", "(", "real_identical", "(", "r", ",", "&", "ext_80387_constants_table", "[", "i", "]", ")", ")", "return", "i", "+", "3", ";", "}", "if", "(", "real_isnegzero", "(", "r", ")", ")", "return", "8", ";", "if", "(", "real_identical", "(", "r", ",", "&", "dconstm1", ")", ")", "return", "9", ";", "return", "0", ";", "}", ""], "natrual_language": ["Return", "true", "if", "the", "constant", "is", "something", "that", "can", "be", "loaded", "with", "a", "special", "instruction", "."], "TS_V_token": ["i386", "1", "1", "2", "0", "5", "3", "8", "9", "0"], "File": "i386", "Func": "standard_80387_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39108, "Length": 160}
{"ground_truth": ["", "rtx", "standard_80387_constant_rtx", "(", "int", "idx", ")", "{", "int", "i", ";", "if", "(", "!", "ext_80387_constants_init", ")", "init_ext_80387_constants", "(", ")", ";", "switch", "(", "idx", ")", "{", "case", "3", ":", "case", "4", ":", "case", "5", ":", "case", "6", ":", "case", "7", ":", "i", "=", "idx", "-", "3", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "return", "const_double_from_real_value", "(", "ext_80387_constants_table", "[", "i", "]", ",", "XFmode", ")", ";", "}", ""], "natrual_language": ["Return", "the", "CONST_DOUBLE", "representing", "the", "80387", "constant", "that", "is", "loaded", "by", "the", "specified", "special", "instruction", ".", "The", "argument", "IDX", "matches", "the", "return", "value", "from", "standard_80387_constant_p", "."], "TS_V_token": ["i386", "3", "4", "5", "6", "7", "3"], "File": "i386", "Func": "standard_80387_constant_rtx", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39109, "Length": 66}
{"ground_truth": ["", "const", "char", "*", "standard_sse_constant_opcode", "(", "rtx_insn", "*", "insn", ",", "rtx", "*", "operands", ")", "{", "machine_mode", "mode", ";", "rtx", "x", "=", "operands", "[", "1", "]", ";", "gcc_assert", "(", "TARGET_SSE", ")", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "x", "==", "const0_rtx", "||", "const0_operand", "(", "x", ",", "mode", ")", ")", "{", "switch", "(", "get_attr_mode", "(", "insn", ")", ")", "{", "case", "MODE_TI", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"%vpxor\\t%0, %d0\"", ";", "case", "MODE_XI", ":", "case", "MODE_OI", ":", "if", "(", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "(", "TARGET_AVX512VL", "?", "\"vpxord\\t%x0, %x0, %x0\"", ":", "\"vpxord\\t%g0, %g0, %g0\"", ")", ";", "return", "\"vpxor\\t%x0, %x0, %x0\"", ";", "case", "MODE_V2DF", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"%vxorpd\\t%0, %d0\"", ";", "case", "MODE_V8DF", ":", "case", "MODE_V4DF", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"vxorpd\\t%x0, %x0, %x0\"", ";", "else", "if", "(", "TARGET_AVX512DQ", ")", "return", "(", "TARGET_AVX512VL", "?", "\"vxorpd\\t%x0, %x0, %x0\"", ":", "\"vxorpd\\t%g0, %g0, %g0\"", ")", ";", "else", "return", "(", "TARGET_AVX512VL", "?", "\"vpxorq\\t%x0, %x0, %x0\"", ":", "\"vpxorq\\t%g0, %g0, %g0\"", ")", ";", "case", "MODE_V4SF", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"%vxorps\\t%0, %d0\"", ";", "case", "MODE_V16SF", ":", "case", "MODE_V8SF", ":", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "\"vxorps\\t%x0, %x0, %x0\"", ";", "else", "if", "(", "TARGET_AVX512DQ", ")", "return", "(", "TARGET_AVX512VL", "?", "\"vxorps\\t%x0, %x0, %x0\"", ":", "\"vxorps\\t%g0, %g0, %g0\"", ")", ";", "else", "return", "(", "TARGET_AVX512VL", "?", "\"vpxord\\t%x0, %x0, %x0\"", ":", "\"vpxord\\t%g0, %g0, %g0\"", ")", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "else", "if", "(", "x", "==", "constm1_rtx", "||", "vector_all_ones_operand", "(", "x", ",", "mode", ")", "||", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_FLOAT", "&&", "float_vector_all_ones_operand", "(", "x", ",", "mode", ")", ")", ")", "{", "enum", "attr_mode", "insn_mode", "=", "get_attr_mode", "(", "insn", ")", ";", "switch", "(", "insn_mode", ")", "{", "case", "MODE_XI", ":", "case", "MODE_V8DF", ":", "case", "MODE_V16SF", ":", "gcc_assert", "(", "TARGET_AVX512F", ")", ";", "return", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", ";", "case", "MODE_OI", ":", "case", "MODE_V4DF", ":", "case", "MODE_V8SF", ":", "gcc_assert", "(", "TARGET_AVX2", ")", ";", "case", "MODE_TI", ":", "case", "MODE_V2DF", ":", "case", "MODE_V4SF", ":", "gcc_assert", "(", "TARGET_SSE2", ")", ";", "if", "(", "!", "EXT_REX_SSE_REG_P", "(", "operands", "[", "0", "]", ")", ")", "return", "(", "TARGET_AVX", "?", "\"vpcmpeqd\\t%0, %0, %0\"", ":", "\"pcmpeqd\\t%0, %0\"", ")", ";", "else", "if", "(", "TARGET_AVX512VL", ")", "return", "\"vpternlogd\\t{$0xFF, %0, %0, %0|%0, %0, %0, 0xFF}\"", ";", "else", "return", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "opcode", "of", "the", "special", "instruction", "to", "be", "used", "to", "load", "the", "constant", "X", "."], "TS_V_token": ["i386", "1", "0", "\"%vpxor\\t%0, %d0\"", "0", "\"vpxord\\t%x0, %x0, %x0\"", "\"vpxord\\t%g0, %g0, %g0\"", "\"vpxor\\t%x0, %x0, %x0\"", "0", "\"%vxorpd\\t%0, %d0\"", "0", "\"vxorpd\\t%x0, %x0, %x0\"", "\"vxorpd\\t%x0, %x0, %x0\"", "\"vxorpd\\t%g0, %g0, %g0\"", "\"vpxorq\\t%x0, %x0, %x0\"", "\"vpxorq\\t%g0, %g0, %g0\"", "0", "\"%vxorps\\t%0, %d0\"", "0", "\"vxorps\\t%x0, %x0, %x0\"", "\"vxorps\\t%x0, %x0, %x0\"", "\"vxorps\\t%g0, %g0, %g0\"", "\"vpxord\\t%x0, %x0, %x0\"", "\"vpxord\\t%g0, %g0, %g0\"", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\"", "0", "\"vpcmpeqd\\t%0, %0, %0\"", "\"pcmpeqd\\t%0, %0\"", "\"vpternlogd\\t{$0xFF, %0, %0, %0|%0, %0, %0, 0xFF}\"", "\"vpternlogd\\t{$0xFF, %g0, %g0, %g0|%g0, %g0, %g0, 0xFF}\""], "File": "i386", "Func": "standard_sse_constant_opcode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39110, "Length": 369}
{"ground_truth": ["", "int", "standard_sse_constant_p", "(", "rtx", "x", ",", "machine_mode", "pred_mode", ")", "{", "machine_mode", "mode", ";", "if", "(", "!", "TARGET_SSE", ")", "return", "0", ";", "mode", "=", "GET_MODE", "(", "x", ")", ";", "if", "(", "x", "==", "const0_rtx", "||", "const0_operand", "(", "x", ",", "mode", ")", ")", "return", "1", ";", "if", "(", "x", "==", "constm1_rtx", "||", "vector_all_ones_operand", "(", "x", ",", "mode", ")", "||", "(", "(", "GET_MODE_CLASS", "(", "mode", ")", "==", "MODE_VECTOR_FLOAT", "||", "GET_MODE_CLASS", "(", "pred_mode", ")", "==", "MODE_VECTOR_FLOAT", ")", "&&", "float_vector_all_ones_operand", "(", "x", ",", "mode", ")", ")", ")", "{", "if", "(", "mode", "==", "VOIDmode", ")", "mode", "=", "pred_mode", ";", "switch", "(", "GET_MODE_SIZE", "(", "mode", ")", ")", "{", "case", "64", ":", "if", "(", "TARGET_AVX512F", ")", "return", "2", ";", "break", ";", "case", "32", ":", "if", "(", "TARGET_AVX2", ")", "return", "2", ";", "break", ";", "case", "16", ":", "if", "(", "TARGET_SSE2", ")", "return", "2", ";", "break", ";", "case", "0", ":", "gcc_unreachable", "(", ")", ";", "default", ":", "break", ";", "}", "}", "return", "0", ";", "}", ""], "natrual_language": ["Return", "1", "if", "X", "is", "all", "0s", "and", "2", "if", "x", "is", "all", "1s", "in", "supported", "SSE/AVX", "vector", "mode", "."], "TS_V_token": ["i386", "0", "1", "64", "2", "32", "2", "16", "2", "0", "0"], "File": "i386", "Func": "standard_sse_constant_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39111, "Length": 154}
{"ground_truth": ["", "bool", "symbolic_reference_mentioned_p", "(", "rtx", "op", ")", "{", "const", "char", "*", "fmt", ";", "int", "i", ";", "if", "(", "GET_CODE", "(", "op", ")", "==", "SYMBOL_REF", "||", "GET_CODE", "(", "op", ")", "==", "LABEL_REF", ")", "return", "true", ";", "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", "true", ";", "}", "else", "if", "(", "fmt", "[", "i", "]", "==", "'e'", "&&", "symbolic_reference_mentioned_p", "(", "XEXP", "(", "op", ",", "i", ")", ")", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "OP", "contains", "a", "symbol", "reference"], "TS_V_token": ["i386", "1", "0", "1", "0"], "File": "i386", "Func": "symbolic_reference_mentioned_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39112, "Length": 145}
{"ground_truth": ["", "static", "machine_mode", "type_natural_mode", "(", "const_tree", "type", ",", "const", "CUMULATIVE_ARGS", "*", "cum", ",", "bool", "in_return", ")", "{", "machine_mode", "mode", "=", "TYPE_MODE", "(", "type", ")", ";", "if", "(", "TREE_CODE", "(", "type", ")", "==", "VECTOR_TYPE", "&&", "!", "VECTOR_MODE_P", "(", "mode", ")", ")", "{", "HOST_WIDE_INT", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "if", "(", "(", "size", "==", "8", "||", "size", "==", "16", "||", "size", "==", "32", "||", "size", "==", "64", ")", "&&", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", ">", "1", ")", "{", "machine_mode", "innermode", "=", "TYPE_MODE", "(", "TREE_TYPE", "(", "type", ")", ")", ";", "if", "(", "innermode", "==", "XFmode", ")", "return", "mode", ";", "if", "(", "DECIMAL_FLOAT_MODE_P", "(", "innermode", ")", ")", "return", "mode", ";", "if", "(", "TREE_CODE", "(", "TREE_TYPE", "(", "type", ")", ")", "==", "REAL_TYPE", ")", "mode", "=", "MIN_MODE_VECTOR_FLOAT", ";", "else", "mode", "=", "MIN_MODE_VECTOR_INT", ";", "FOR_EACH_MODE_FROM", "(", "mode", ",", "mode", ")", "if", "(", "GET_MODE_NUNITS", "(", "mode", ")", "==", "TYPE_VECTOR_SUBPARTS", "(", "type", ")", "&&", "GET_MODE_INNER", "(", "mode", ")", "==", "innermode", ")", "{", "if", "(", "size", "==", "64", "&&", "!", "TARGET_AVX512F", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedavx512f", ";", "static", "bool", "warnedavx512f_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_avx512f", "&&", "!", "warnedavx512f", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX512F vector argument \"", "\"without AVX512F enabled changes the ABI\"", ")", ")", "warnedavx512f", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedavx512f_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX512F vector return \"", "\"without AVX512F enabled changes the ABI\"", ")", ")", "warnedavx512f_ret", "=", "true", ";", "}", "return", "TYPE_MODE", "(", "type", ")", ";", "}", "else", "if", "(", "size", "==", "32", "&&", "!", "TARGET_AVX", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedavx", ";", "static", "bool", "warnedavx_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_avx", "&&", "!", "warnedavx", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX vector argument \"", "\"without AVX enabled changes the ABI\"", ")", ")", "warnedavx", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedavx_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"AVX vector return \"", "\"without AVX enabled changes the ABI\"", ")", ")", "warnedavx_ret", "=", "true", ";", "}", "return", "TYPE_MODE", "(", "type", ")", ";", "}", "else", "if", "(", "(", "(", "size", "==", "8", "&&", "TARGET_64BIT", ")", "||", "size", "==", "16", ")", "&&", "!", "TARGET_SSE", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedsse", ";", "static", "bool", "warnedsse_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_sse", "&&", "!", "warnedsse", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"SSE vector argument \"", "\"without SSE enabled changes the ABI\"", ")", ")", "warnedsse", "=", "true", ";", "}", "else", "if", "(", "!", "TARGET_64BIT", "&&", "in_return", "&&", "!", "warnedsse_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"SSE vector return \"", "\"without SSE enabled changes the ABI\"", ")", ")", "warnedsse_ret", "=", "true", ";", "}", "}", "else", "if", "(", "(", "size", "==", "8", "&&", "!", "TARGET_64BIT", ")", "&&", "(", "!", "cfun", "||", "cfun", "->", "machine", "->", "func_type", "==", "TYPE_NORMAL", ")", "&&", "!", "TARGET_MMX", "&&", "!", "TARGET_IAMCU", ")", "{", "static", "bool", "warnedmmx", ";", "static", "bool", "warnedmmx_ret", ";", "if", "(", "cum", "&&", "cum", "->", "warn_mmx", "&&", "!", "warnedmmx", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"MMX vector argument \"", "\"without MMX enabled changes the ABI\"", ")", ")", "warnedmmx", "=", "true", ";", "}", "else", "if", "(", "in_return", "&&", "!", "warnedmmx_ret", ")", "{", "if", "(", "warning", "(", "OPT_Wpsabi", ",", "\"MMX vector return \"", "\"without MMX enabled changes the ABI\"", ")", ")", "warnedmmx_ret", "=", "true", ";", "}", "}", "return", "mode", ";", "}", "gcc_unreachable", "(", ")", ";", "}", "}", "return", "mode", ";", "}", ""], "natrual_language": ["Return", "the", "``", "natural", "''", "mode", "for", "TYPE", ".", "In", "most", "cases", ",", "this", "is", "just", "TYPE_MODE", ".", "But", "in", "the", "case", "of", "vector", "types", ",", "it", "is", "some", "vector", "mode", ".", "When", "we", "have", "only", "some", "of", "our", "vector", "isa", "extensions", "enabled", ",", "then", "there", "are", "some", "modes", "for", "which", "vector_mode_supported_p", "is", "false", ".", "For", "these", "modes", ",", "the", "generic", "vector", "support", "in", "gcc", "will", "choose", "some", "non-vector", "mode", "in", "order", "to", "implement", "the", "type", ".", "By", "computing", "the", "natural", "mode", ",", "we", "'ll", "select", "the", "proper", "ABI", "location", "for", "the", "operand", "and", "not", "depend", "on", "whatever", "the", "middle-end", "decides", "to", "do", "with", "these", "vector", "types", "."], "TS_V_token": ["i386", "8", "16", "32", "64", "1", "64", "\"AVX512F vector argument \"", "\"without AVX512F enabled changes the ABI\"", "\"AVX512F vector return \"", "\"without AVX512F enabled changes the ABI\"", "32", "\"AVX vector argument \"", "\"without AVX enabled changes the ABI\"", "\"AVX vector return \"", "\"without AVX enabled changes the ABI\"", "8", "16", "\"SSE vector argument \"", "\"without SSE enabled changes the ABI\"", "\"SSE vector return \"", "\"without SSE enabled changes the ABI\"", "8", "\"MMX vector argument \"", "\"without MMX enabled changes the ABI\"", "\"MMX vector return \"", "\"without MMX enabled changes the ABI\""], "File": "i386", "Func": "type_natural_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39113, "Length": 505}
{"ground_truth": ["", "static", "bool", "use_rsqrt_p", "(", "machine_mode", "mode", ")", "{", "return", "(", "(", "mode", "==", "HFmode", "||", "(", "TARGET_SSE", "&&", "TARGET_SSE_MATH", ")", ")", "&&", "flag_finite_math_only", "&&", "!", "flag_trapping_math", "&&", "flag_unsafe_math_optimizations", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "it", "is", "safe", "to", "use", "the", "rsqrt", "optabs", "to", "optimize", "1.0/sqrt", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "use_rsqrt_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39114, "Length": 31}
{"ground_truth": ["", "void", "warn_once_call_ms2sysv_xlogues", "(", "const", "char", "*", "feature", ")", "{", "static", "bool", "warned_once", "=", "false", ";", "if", "(", "!", "warned_once", ")", "{", "warning", "(", "0", ",", "\"%<-mcall-ms2sysv-xlogues%> is not compatible with %s\"", ",", "feature", ")", ";", "warned_once", "=", "true", ";", "}", "}", ""], "natrual_language": ["Emits", "a", "warning", "for", "unsupported", "msabi", "to", "sysv", "pro/epilogues", "."], "TS_V_token": ["i386", "0", "\"%<-mcall-ms2sysv-xlogues%> is not compatible with %s\""], "File": "i386", "Func": "warn_once_call_ms2sysv_xlogues", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39115, "Length": 36}
{"ground_truth": ["", "static", "unsigned", "int", "ATTRIBUTE_UNUSED", "x86_64_elf_section_type_flags", "(", "tree", "decl", ",", "const", "char", "*", "name", ",", "int", "reloc", ")", "{", "unsigned", "int", "flags", "=", "default_section_type_flags", "(", "decl", ",", "name", ",", "reloc", ")", ";", "if", "(", "ix86_in_large_data_p", "(", "decl", ")", ")", "flags", "|=", "SECTION_LARGE", ";", "if", "(", "decl", "==", "NULL_TREE", "&&", "(", "strcmp", "(", "name", ",", "\".ldata.rel.ro\"", ")", "==", "0", "||", "strcmp", "(", "name", ",", "\".ldata.rel.ro.local\"", ")", "==", "0", ")", ")", "flags", "|=", "SECTION_RELRO", ";", "if", "(", "strcmp", "(", "name", ",", "\".lbss\"", ")", "==", "0", "||", "startswith", "(", "name", ",", "\".lbss.\"", ")", "||", "startswith", "(", "name", ",", "\".gnu.linkonce.lb.\"", ")", ")", "flags", "|=", "SECTION_BSS", ";", "return", "flags", ";", "}", ""], "natrual_language": ["Select", "a", "set", "of", "attributes", "for", "section", "NAME", "based", "on", "the", "properties", "of", "DECL", "and", "whether", "or", "not", "RELOC", "indicates", "that", "DECL", "'s", "initializer", "might", "contain", "runtime", "relocations", "."], "TS_V_token": ["i386", "\".ldata.rel.ro\"", "0", "\".ldata.rel.ro.local\"", "0", "\".lbss\"", "0", "\".lbss.\"", "\".gnu.linkonce.lb.\""], "File": "i386", "Func": "x86_64_elf_section_type_flags", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39116, "Length": 105}
{"ground_truth": ["", "ATTRIBUTE_UNUSED", "static", "section", "*", "x86_64_elf_select_section", "(", "tree", "decl", ",", "int", "reloc", ",", "unsigned", "HOST_WIDE_INT", "align", ")", "{", "if", "(", "ix86_in_large_data_p", "(", "decl", ")", ")", "{", "const", "char", "*", "sname", "=", "NULL", ";", "unsigned", "int", "flags", "=", "SECTION_WRITE", "|", "SECTION_LARGE", ";", "switch", "(", "categorize_decl_for_section", "(", "decl", ",", "reloc", ")", ")", "{", "case", "SECCAT_DATA", ":", "sname", "=", "\".ldata\"", ";", "break", ";", "case", "SECCAT_DATA_REL", ":", "sname", "=", "\".ldata.rel\"", ";", "break", ";", "case", "SECCAT_DATA_REL_LOCAL", ":", "sname", "=", "\".ldata.rel.local\"", ";", "break", ";", "case", "SECCAT_DATA_REL_RO", ":", "sname", "=", "\".ldata.rel.ro\"", ";", "break", ";", "case", "SECCAT_DATA_REL_RO_LOCAL", ":", "sname", "=", "\".ldata.rel.ro.local\"", ";", "break", ";", "case", "SECCAT_BSS", ":", "sname", "=", "\".lbss\"", ";", "flags", "|=", "SECTION_BSS", ";", "break", ";", "case", "SECCAT_RODATA", ":", "case", "SECCAT_RODATA_MERGE_STR", ":", "case", "SECCAT_RODATA_MERGE_STR_INIT", ":", "case", "SECCAT_RODATA_MERGE_CONST", ":", "sname", "=", "\".lrodata\"", ";", "flags", "&=", "~", "SECTION_WRITE", ";", "break", ";", "case", "SECCAT_SRODATA", ":", "case", "SECCAT_SDATA", ":", "case", "SECCAT_SBSS", ":", "gcc_unreachable", "(", ")", ";", "case", "SECCAT_TEXT", ":", "case", "SECCAT_TDATA", ":", "case", "SECCAT_TBSS", ":", "break", ";", "}", "if", "(", "sname", ")", "{", "if", "(", "!", "DECL_P", "(", "decl", ")", ")", "return", "get_section", "(", "sname", ",", "flags", ",", "NULL", ")", ";", "return", "get_named_section", "(", "decl", ",", "sname", ",", "reloc", ")", ";", "}", "}", "return", "default_elf_select_section", "(", "decl", ",", "reloc", ",", "align", ")", ";", "}", ""], "natrual_language": ["switch", "to", "the", "appropriate", "section", "for", "output", "of", "DECL", ".", "DECL", "is", "either", "a", "`", "VAR_DECL", "'", "node", "or", "a", "constant", "of", "some", "sort", ".", "RELOC", "indicates", "whether", "forming", "the", "initial", "value", "of", "DECL", "requires", "link-time", "relocations", "."], "TS_V_token": ["i386", "\".ldata\"", "\".ldata.rel\"", "\".ldata.rel.local\"", "\".ldata.rel.ro\"", "\".ldata.rel.ro.local\"", "\".lbss\"", "\".lrodata\""], "File": "i386", "Func": "x86_64_elf_select_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39117, "Length": 202}
{"ground_truth": ["", "static", "void", "ATTRIBUTE_UNUSED", "x86_64_elf_unique_section", "(", "tree", "decl", ",", "int", "reloc", ")", "{", "if", "(", "ix86_in_large_data_p", "(", "decl", ")", ")", "{", "const", "char", "*", "prefix", "=", "NULL", ";", "bool", "one_only", "=", "DECL_COMDAT_GROUP", "(", "decl", ")", "&&", "!", "HAVE_COMDAT_GROUP", ";", "switch", "(", "categorize_decl_for_section", "(", "decl", ",", "reloc", ")", ")", "{", "case", "SECCAT_DATA", ":", "case", "SECCAT_DATA_REL", ":", "case", "SECCAT_DATA_REL_LOCAL", ":", "case", "SECCAT_DATA_REL_RO", ":", "case", "SECCAT_DATA_REL_RO_LOCAL", ":", "prefix", "=", "one_only", "?", "\".ld\"", ":", "\".ldata\"", ";", "break", ";", "case", "SECCAT_BSS", ":", "prefix", "=", "one_only", "?", "\".lb\"", ":", "\".lbss\"", ";", "break", ";", "case", "SECCAT_RODATA", ":", "case", "SECCAT_RODATA_MERGE_STR", ":", "case", "SECCAT_RODATA_MERGE_STR_INIT", ":", "case", "SECCAT_RODATA_MERGE_CONST", ":", "prefix", "=", "one_only", "?", "\".lr\"", ":", "\".lrodata\"", ";", "break", ";", "case", "SECCAT_SRODATA", ":", "case", "SECCAT_SDATA", ":", "case", "SECCAT_SBSS", ":", "gcc_unreachable", "(", ")", ";", "case", "SECCAT_TEXT", ":", "case", "SECCAT_TDATA", ":", "case", "SECCAT_TBSS", ":", "break", ";", "}", "if", "(", "prefix", ")", "{", "const", "char", "*", "name", ",", "*", "linkonce", ";", "char", "*", "string", ";", "name", "=", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "name", "=", "targetm", ".", "strip_name_encoding", "(", "name", ")", ";", "linkonce", "=", "one_only", "?", "\".gnu.linkonce\"", ":", "\"\"", ";", "string", "=", "ACONCAT", "(", "(", "linkonce", ",", "prefix", ",", "\".\"", ",", "name", ",", "NULL", ")", ")", ";", "set_decl_section_name", "(", "decl", ",", "string", ")", ";", "return", ";", "}", "}", "default_unique_section", "(", "decl", ",", "reloc", ")", ";", "}", ""], "natrual_language": ["Build", "up", "a", "unique", "section", "name", ",", "expressed", "as", "a", "STRING_CST", "node", ",", "and", "assign", "it", "to", "DECL_SECTION_NAME", "(", "decl", ")", ".", "RELOC", "indicates", "whether", "the", "initial", "value", "of", "EXP", "requires", "link-time", "relocations", "."], "TS_V_token": ["i386", "\".ld\"", "\".ldata\"", "\".lb\"", "\".lbss\"", "\".lr\"", "\".lrodata\"", "\".gnu.linkonce\"", "\"\"", "\".\""], "File": "i386", "Func": "x86_64_elf_unique_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39118, "Length": 213}
{"ground_truth": ["", "static", "bool", "x86_can_output_mi_thunk", "(", "const_tree", ",", "HOST_WIDE_INT", ",", "HOST_WIDE_INT", "vcall_offset", ",", "const_tree", "function", ")", "{", "if", "(", "TARGET_64BIT", ")", "return", "true", ";", "if", "(", "ix86_function_regparm", "(", "TREE_TYPE", "(", "function", ")", ",", "function", ")", "<", "3", ")", "return", "true", ";", "if", "(", "vcall_offset", ")", "return", "false", ";", "if", "(", "flag_pic", "&&", "!", "targetm", ".", "binds_local_p", "(", "function", ")", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Determine", "whether", "x86_output_mi_thunk", "can", "succeed", "."], "TS_V_token": ["i386", "3"], "File": "i386", "Func": "x86_can_output_mi_thunk", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39119, "Length": 65}
{"ground_truth": ["", "void", "x86_elf_aligned_decl_common", "(", "FILE", "*", "file", ",", "tree", "decl", ",", "const", "char", "*", "name", ",", "unsigned", "HOST_WIDE_INT", "size", ",", "unsigned", "align", ")", "{", "if", "(", "(", "ix86_cmodel", "==", "CM_MEDIUM", "||", "ix86_cmodel", "==", "CM_MEDIUM_PIC", ")", "&&", "size", ">", "(", "unsigned", "int", ")", "ix86_section_threshold", ")", "{", "switch_to_section", "(", "get_named_section", "(", "decl", ",", "\".lbss\"", ",", "0", ")", ")", ";", "fputs", "(", "LARGECOMM_SECTION_ASM_OP", ",", "file", ")", ";", "}", "else", "fputs", "(", "COMMON_ASM_OP", ",", "file", ")", ";", "assemble_name", "(", "file", ",", "name", ")", ";", "fprintf", "(", "file", ",", "\",\"", "HOST_WIDE_INT_PRINT_UNSIGNED", "\",%u\\n\"", ",", "size", ",", "align", "/", "BITS_PER_UNIT", ")", ";", "}", ""], "natrual_language": ["This", "says", "how", "to", "output", "assembler", "code", "to", "declare", "an", "uninitialized", "external", "linkage", "data", "object", ".", "For", "medium", "model", "x86-64", "we", "need", "to", "use", "LARGECOMM_SECTION_ASM_OP", "opcode", "for", "large", "objects", "."], "TS_V_token": ["i386", "\".lbss\"", "0", "\",\"", "\",%u\\n\""], "File": "i386", "Func": "x86_elf_aligned_decl_common", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39120, "Length": 95}
{"ground_truth": ["", "void", "x86_emit_floatuns", "(", "rtx", "operands", "[", "2", "]", ")", "{", "rtx_code_label", "*", "neglab", ",", "*", "donelab", ";", "rtx", "i0", ",", "i1", ",", "f0", ",", "in", ",", "out", ";", "machine_mode", "mode", ",", "inmode", ";", "inmode", "=", "GET_MODE", "(", "operands", "[", "1", "]", ")", ";", "gcc_assert", "(", "inmode", "==", "SImode", "||", "inmode", "==", "DImode", ")", ";", "out", "=", "operands", "[", "0", "]", ";", "in", "=", "force_reg", "(", "inmode", ",", "operands", "[", "1", "]", ")", ";", "mode", "=", "GET_MODE", "(", "out", ")", ";", "neglab", "=", "gen_label_rtx", "(", ")", ";", "donelab", "=", "gen_label_rtx", "(", ")", ";", "f0", "=", "gen_reg_rtx", "(", "mode", ")", ";", "emit_cmp_and_jump_insns", "(", "in", ",", "const0_rtx", ",", "LT", ",", "const0_rtx", ",", "inmode", ",", "0", ",", "neglab", ")", ";", "expand_float", "(", "out", ",", "in", ",", "0", ")", ";", "emit_jump_insn", "(", "gen_jump", "(", "donelab", ")", ")", ";", "emit_barrier", "(", ")", ";", "emit_label", "(", "neglab", ")", ";", "i0", "=", "expand_simple_binop", "(", "inmode", ",", "LSHIFTRT", ",", "in", ",", "const1_rtx", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "i1", "=", "expand_simple_binop", "(", "inmode", ",", "AND", ",", "in", ",", "const1_rtx", ",", "NULL", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "i0", "=", "expand_simple_binop", "(", "inmode", ",", "IOR", ",", "i0", ",", "i1", ",", "i0", ",", "1", ",", "OPTAB_DIRECT", ")", ";", "expand_float", "(", "f0", ",", "i0", ",", "0", ")", ";", "emit_insn", "(", "gen_rtx_SET", "(", "out", ",", "gen_rtx_PLUS", "(", "mode", ",", "f0", ",", "f0", ")", ")", ")", ";", "emit_label", "(", "donelab", ")", ";", "}", ""], "natrual_language": ["Generate", "an", "unsigned", "DImode/SImode", "to", "FP", "conversion", ".", "This", "is", "the", "same", "code", "optabs", "would", "emit", "if", "we", "did", "n't", "have", "TFmode", "patterns", "."], "TS_V_token": ["i386", "2", "1", "0", "1", "0", "0", "1", "1", "1", "0"], "File": "i386", "Func": "x86_emit_floatuns", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39121, "Length": 231}
{"ground_truth": ["", "bool", "x86_extended_QIreg_mentioned_p", "(", "rtx_insn", "*", "insn", ")", "{", "int", "i", ";", "extract_insn_cached", "(", "insn", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "recog_data", ".", "n_operands", ";", "i", "++", ")", "if", "(", "GENERAL_REG_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", "&&", "!", "QI_REGNO_P", "(", "REGNO", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "nonzero", "when", "QImode", "register", "that", "must", "be", "represented", "via", "REX", "prefix", "is", "used", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "x86_extended_QIreg_mentioned_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39122, "Length": 64}
{"ground_truth": ["", "bool", "x86_extended_reg_mentioned_p", "(", "rtx", "insn", ")", "{", "subrtx_iterator", "::", "array_type", "array", ";", "FOR_EACH_SUBRTX", "(", "iter", ",", "array", ",", "INSN_P", "(", "insn", ")", "?", "PATTERN", "(", "insn", ")", ":", "insn", ",", "NONCONST", ")", "{", "const_rtx", "x", "=", "*", "iter", ";", "if", "(", "REG_P", "(", "x", ")", "&&", "(", "REX_INT_REGNO_P", "(", "REGNO", "(", "x", ")", ")", "||", "REX_SSE_REGNO_P", "(", "REGNO", "(", "x", ")", ")", ")", ")", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "when", "INSN", "mentions", "register", "that", "must", "be", "encoded", "using", "REX", "prefix", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "x86_extended_reg_mentioned_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39123, "Length": 72}
{"ground_truth": ["", "void", "x86_function_profiler", "(", "FILE", "*", "file", ",", "int", "labelno", "ATTRIBUTE_UNUSED", ")", "{", "if", "(", "cfun", "->", "machine", "->", "insn_queued_at_entrance", ")", "{", "if", "(", "cfun", "->", "machine", "->", "insn_queued_at_entrance", "==", "TYPE_ENDBR", ")", "fprintf", "(", "file", ",", "\"\\t%s\\n\"", ",", "TARGET_64BIT", "?", "\"endbr64\"", ":", "\"endbr32\"", ")", ";", "unsigned", "int", "patch_area_size", "=", "crtl", "->", "patch_area_size", "-", "crtl", "->", "patch_area_entry", ";", "if", "(", "patch_area_size", ")", "ix86_output_patchable_area", "(", "patch_area_size", ",", "crtl", "->", "patch_area_entry", "==", "0", ")", ";", "}", "const", "char", "*", "mcount_name", "=", "MCOUNT_NAME", ";", "if", "(", "current_fentry_name", "(", "&", "mcount_name", ")", ")", ";", "else", "if", "(", "fentry_name", ")", "mcount_name", "=", "fentry_name", ";", "else", "if", "(", "flag_fentry", ")", "mcount_name", "=", "MCOUNT_NAME_BEFORE_PROLOGUE", ";", "if", "(", "TARGET_64BIT", ")", "{", "fprintf", "(", "file", ",", "\"\\tleaq\\t%sP%d(%%rip),%%r11\\n\"", ",", "LPREFIX", ",", "labelno", ")", ";", "if", "(", "!", "TARGET_PECOFF", ")", "{", "switch", "(", "ix86_cmodel", ")", "{", "case", "CM_LARGE", ":", "fprintf", "(", "file", ",", "\"1:\\tmovabsq\\t$%s, %%r10\\n\\tcall\\t*%%r10\\n\"", ",", "mcount_name", ")", ";", "break", ";", "case", "CM_LARGE_PIC", ":", "fprintf", "(", "file", ",", "\"1:\\tmovabsq\\t$_GLOBAL_OFFSET_TABLE_-1b, %%r11\\n\"", ")", ";", "fprintf", "(", "file", ",", "\"\\tleaq\\t1b(%%rip), %%r10\\n\"", ")", ";", "fprintf", "(", "file", ",", "\"\\taddq\\t%%r11, %%r10\\n\"", ")", ";", "fprintf", "(", "file", ",", "\"\\tmovabsq\\t$%s@PLTOFF, %%r11\\n\"", ",", "mcount_name", ")", ";", "fprintf", "(", "file", ",", "\"\\taddq\\t%%r11, %%r10\\n\"", ")", ";", "fprintf", "(", "file", ",", "\"\\tcall\\t*%%r10\\n\"", ")", ";", "sorry", "(", "\"profiling %<-mcmodel=large%> with PIC is not supported\"", ")", ";", "break", ";", "case", "CM_SMALL_PIC", ":", "case", "CM_MEDIUM_PIC", ":", "fprintf", "(", "file", ",", "\"1:\\tcall\\t*%s@GOTPCREL(%%rip)\\n\"", ",", "mcount_name", ")", ";", "break", ";", "default", ":", "x86_print_call_or_nop", "(", "file", ",", "mcount_name", ")", ";", "break", ";", "}", "}", "else", "x86_print_call_or_nop", "(", "file", ",", "mcount_name", ")", ";", "}", "else", "if", "(", "flag_pic", ")", "{", "fprintf", "(", "file", ",", "\"\\tleal\\t%sP%d@GOTOFF(%%ebx),%%\"", "PROFILE_COUNT_REGISTER", "\"\\n\"", ",", "LPREFIX", ",", "labelno", ")", ";", "fprintf", "(", "file", ",", "\"1:\\tcall\\t*%s@GOT(%%ebx)\\n\"", ",", "mcount_name", ")", ";", "}", "else", "{", "fprintf", "(", "file", ",", "\"\\tmovl\\t$%sP%d,%%\"", "PROFILE_COUNT_REGISTER", "\"\\n\"", ",", "LPREFIX", ",", "labelno", ")", ";", "x86_print_call_or_nop", "(", "file", ",", "mcount_name", ")", ";", "}", "if", "(", "flag_record_mcount", "||", "lookup_attribute", "(", "\"fentry_section\"", ",", "DECL_ATTRIBUTES", "(", "current_function_decl", ")", ")", ")", "{", "const", "char", "*", "sname", "=", "\"__mcount_loc\"", ";", "if", "(", "current_fentry_section", "(", "&", "sname", ")", ")", ";", "else", "if", "(", "fentry_section", ")", "sname", "=", "fentry_section", ";", "fprintf", "(", "file", ",", "\"\\t.section %s, \\\"a\\\",@progbits\\n\"", ",", "sname", ")", ";", "fprintf", "(", "file", ",", "\"\\t.%s 1b\\n\"", ",", "TARGET_64BIT", "?", "\"quad\"", ":", "\"long\"", ")", ";", "fprintf", "(", "file", ",", "\"\\t.previous\\n\"", ")", ";", "}", "}", ""], "natrual_language": ["Output", "assembler", "code", "to", "FILE", "to", "increment", "profiler", "label", "#", "LABELNO", "for", "profiling", "a", "function", "entry", "."], "TS_V_token": ["i386", "\"\\t%s\\n\"", "\"endbr64\"", "\"endbr32\"", "0", "\"\\tleaq\\t%sP%d(%%rip),%%r11\\n\"", "\"1:\\tmovabsq\\t$%s, %%r10\\n\\tcall\\t*%%r10\\n\"", "\"1:\\tmovabsq\\t$_GLOBAL_OFFSET_TABLE_-1b, %%r11\\n\"", "\"\\tleaq\\t1b(%%rip), %%r10\\n\"", "\"\\taddq\\t%%r11, %%r10\\n\"", "\"\\tmovabsq\\t$%s@PLTOFF, %%r11\\n\"", "\"\\taddq\\t%%r11, %%r10\\n\"", "\"\\tcall\\t*%%r10\\n\"", "\"profiling %<-mcmodel=large%> with PIC is not supported\"", "\"1:\\tcall\\t*%s@GOTPCREL(%%rip)\\n\"", "\"\\tleal\\t%sP%d@GOTOFF(%%ebx),%%\"", "\"\\n\"", "\"1:\\tcall\\t*%s@GOT(%%ebx)\\n\"", "\"\\tmovl\\t$%sP%d,%%\"", "\"\\n\"", "\"fentry_section\"", "\"__mcount_loc\"", "\"\\t.section %s, \\\"a\\\",@progbits\\n\"", "\"\\t.%s 1b\\n\"", "\"quad\"", "\"long\"", "\"\\t.previous\\n\""], "File": "i386", "Func": "x86_function_profiler", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39124, "Length": 363}
{"ground_truth": ["", "bool", "x86_maybe_negate_const_int", "(", "rtx", "*", "loc", ",", "machine_mode", "mode", ")", "{", "HOST_WIDE_INT", "val", ";", "if", "(", "!", "CONST_INT_P", "(", "*", "loc", ")", ")", "return", "false", ";", "switch", "(", "mode", ")", "{", "case", "E_DImode", ":", "gcc_assert", "(", "x86_64_immediate_operand", "(", "*", "loc", ",", "mode", ")", ")", ";", "mode", "=", "SImode", ";", "break", ";", "case", "E_SImode", ":", "case", "E_HImode", ":", "case", "E_QImode", ":", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "if", "(", "mode_signbit_p", "(", "mode", ",", "*", "loc", ")", ")", "return", "false", ";", "val", "=", "INTVAL", "(", "*", "loc", ")", ";", "if", "(", "(", "val", "<", "0", "&&", "val", "!=", "-", "128", ")", "||", "val", "==", "128", ")", "{", "*", "loc", "=", "GEN_INT", "(", "-", "val", ")", ";", "return", "true", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["If", "profitable", ",", "negate", "(", "without", "causing", "overflow", ")", "integer", "constant", "of", "mode", "MODE", "at", "location", "LOC", ".", "Return", "true", "in", "this", "case", "."], "TS_V_token": ["i386", "0", "128", "128"], "File": "i386", "Func": "x86_maybe_negate_const_int", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39125, "Length": 125}
{"ground_truth": ["", "void", "x86_order_regs_for_local_alloc", "(", "void", ")", "{", "int", "pos", "=", "0", ";", "int", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "i", ")", "&&", "call_used_or_fixed_reg_p", "(", "i", ")", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "if", "(", "GENERAL_REGNO_P", "(", "i", ")", "&&", "!", "call_used_or_fixed_reg_p", "(", "i", ")", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "if", "(", "!", "TARGET_SSE_MATH", ")", "for", "(", "i", "=", "FIRST_STACK_REG", ";", "i", "<=", "LAST_STACK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_SSE_REG", ";", "i", "<=", "LAST_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_REX_SSE_REG", ";", "i", "<=", "LAST_REX_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_EXT_REX_SSE_REG", ";", "i", "<=", "LAST_EXT_REX_SSE_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_MASK_REG", ";", "i", "<=", "LAST_MASK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "if", "(", "TARGET_SSE_MATH", ")", "for", "(", "i", "=", "FIRST_STACK_REG", ";", "i", "<=", "LAST_STACK_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "for", "(", "i", "=", "FIRST_MMX_REG", ";", "i", "<=", "LAST_MMX_REG", ";", "i", "++", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "i", ";", "while", "(", "pos", "<", "FIRST_PSEUDO_REGISTER", ")", "reg_alloc_order", "[", "pos", "++", "]", "=", "0", ";", "}", ""], "natrual_language": ["Order", "the", "registers", "for", "register", "allocator", "."], "TS_V_token": ["i386", "0", "0", "0", "0"], "File": "i386", "Func": "x86_order_regs_for_local_alloc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39126, "Length": 252}
{"ground_truth": ["", "void", "x86_output_aligned_bss", "(", "FILE", "*", "file", ",", "tree", "decl", ",", "const", "char", "*", "name", ",", "unsigned", "HOST_WIDE_INT", "size", ",", "unsigned", "align", ")", "{", "if", "(", "(", "ix86_cmodel", "==", "CM_MEDIUM", "||", "ix86_cmodel", "==", "CM_MEDIUM_PIC", ")", "&&", "size", ">", "(", "unsigned", "int", ")", "ix86_section_threshold", ")", "switch_to_section", "(", "get_named_section", "(", "decl", ",", "\".lbss\"", ",", "0", ")", ")", ";", "else", "switch_to_section", "(", "bss_section", ")", ";", "ASM_OUTPUT_ALIGN", "(", "file", ",", "floor_log2", "(", "align", "/", "BITS_PER_UNIT", ")", ")", ";", "last_assemble_variable_decl", "=", "decl", ";", "ASM_DECLARE_OBJECT_NAME", "(", "file", ",", "name", ",", "decl", ")", ";", "ASM_OUTPUT_LABEL", "(", "file", ",", "name", ")", ";", "ASM_OUTPUT_SKIP", "(", "file", ",", "size", "?", "size", ":", "1", ")", ";", "}", ""], "natrual_language": ["Utility", "function", "for", "targets", "to", "use", "in", "implementing", "ASM_OUTPUT_ALIGNED_BSS", "."], "TS_V_token": ["i386", "\".lbss\"", "0", "1"], "File": "i386", "Func": "x86_output_aligned_bss", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39127, "Length": 105}
{"ground_truth": ["", "static", "void", "x86_print_call_or_nop", "(", "FILE", "*", "file", ",", "const", "char", "*", "target", ")", "{", "if", "(", "flag_nop_mcount", "||", "!", "strcmp", "(", "target", ",", "\"nop\"", ")", ")", "fprintf", "(", "file", ",", "\"1:\"", "ASM_BYTE", "\"0x0f, 0x1f, 0x44, 0x00, 0x00\\n\"", ")", ";", "else", "fprintf", "(", "file", ",", "\"1:\\tcall\\t%s\\n\"", ",", "target", ")", ";", "}", ""], "natrual_language": ["Print", "call", "to", "TARGET", "to", "FILE", "."], "TS_V_token": ["i386", "\"nop\"", "\"1:\"", "\"0x0f, 0x1f, 0x44, 0x00, 0x00\\n\"", "\"1:\\tcall\\t%s\\n\""], "File": "i386", "Func": "x86_print_call_or_nop", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39128, "Length": 46}
{"ground_truth": ["", "static", "rtx", "x86_this_parameter", "(", "tree", "function", ")", "{", "tree", "type", "=", "TREE_TYPE", "(", "function", ")", ";", "bool", "aggr", "=", "aggregate_value_p", "(", "TREE_TYPE", "(", "type", ")", ",", "type", ")", "!=", "0", ";", "int", "nregs", ";", "if", "(", "TARGET_64BIT", ")", "{", "const", "int", "*", "parm_regs", ";", "if", "(", "ix86_function_type_abi", "(", "type", ")", "==", "MS_ABI", ")", "parm_regs", "=", "x86_64_ms_abi_int_parameter_registers", ";", "else", "parm_regs", "=", "x86_64_int_parameter_registers", ";", "return", "gen_rtx_REG", "(", "Pmode", ",", "parm_regs", "[", "aggr", "]", ")", ";", "}", "nregs", "=", "ix86_function_regparm", "(", "type", ",", "function", ")", ";", "if", "(", "nregs", ">", "0", "&&", "!", "stdarg_p", "(", "type", ")", ")", "{", "int", "regno", ";", "unsigned", "int", "ccvt", "=", "ix86_get_callcvt", "(", "type", ")", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "regno", "=", "aggr", "?", "DX_REG", ":", "CX_REG", ";", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_THISCALL", ")", "!=", "0", ")", "{", "regno", "=", "CX_REG", ";", "if", "(", "aggr", ")", "return", "gen_rtx_MEM", "(", "SImode", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "4", ")", ")", ";", "}", "else", "{", "regno", "=", "AX_REG", ";", "if", "(", "aggr", ")", "{", "regno", "=", "DX_REG", ";", "if", "(", "nregs", "==", "1", ")", "return", "gen_rtx_MEM", "(", "SImode", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "4", ")", ")", ";", "}", "}", "return", "gen_rtx_REG", "(", "SImode", ",", "regno", ")", ";", "}", "return", "gen_rtx_MEM", "(", "SImode", ",", "plus_constant", "(", "Pmode", ",", "stack_pointer_rtx", ",", "aggr", "?", "8", ":", "4", ")", ")", ";", "}", ""], "natrual_language": ["Returns", "an", "expression", "indicating", "where", "the", "this", "parameter", "is", "located", "on", "entry", "to", "the", "FUNCTION", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "4", "1", "4", "8", "4"], "File": "i386", "Func": "x86_this_parameter", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39129, "Length": 229}
{"ground_truth": ["", "static", "bool", "zero_all_mm_registers", "(", "HARD_REG_SET", "need_zeroed_hardregs", ",", "unsigned", "int", "ret_mmx_regno", ")", "{", "bool", "need_zero_all_mm", "=", "false", ";", "for", "(", "unsigned", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "STACK_REGNO_P", "(", "regno", ")", "&&", "TEST_HARD_REG_BIT", "(", "need_zeroed_hardregs", ",", "regno", ")", ")", "{", "need_zero_all_mm", "=", "true", ";", "break", ";", "}", "if", "(", "!", "need_zero_all_mm", ")", "return", "false", ";", "rtx", "zero_mmx", "=", "NULL_RTX", ";", "machine_mode", "mode", "=", "V4HImode", ";", "for", "(", "unsigned", "int", "regno", "=", "FIRST_MMX_REG", ";", "regno", "<=", "LAST_MMX_REG", ";", "regno", "++", ")", "if", "(", "regno", "!=", "ret_mmx_regno", ")", "{", "rtx", "reg", "=", "gen_rtx_REG", "(", "mode", ",", "regno", ")", ";", "if", "(", "zero_mmx", "==", "NULL_RTX", ")", "{", "zero_mmx", "=", "reg", ";", "emit_insn", "(", "gen_rtx_SET", "(", "reg", ",", "CONST0_RTX", "(", "mode", ")", ")", ")", ";", "}", "else", "emit_move_insn", "(", "reg", ",", "zero_mmx", ")", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["When", "the", "routine", "exit", "in", "MMX", "mode", ",", "if", "any", "ST", "register", "needs", "to", "be", "zeroed", ",", "we", "should", "clear", "all", "MMX", "registers", "except", "the", "RET_MMX_REGNO", "that", "holds", "the", "return", "value", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "zero_all_mm_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39130, "Length": 142}
{"ground_truth": ["", "static", "int", "zero_all_st_registers", "(", "HARD_REG_SET", "need_zeroed_hardregs", ")", "{", "if", "(", "!", "(", "TARGET_80387", "||", "TARGET_FLOAT_RETURNS_IN_80387", ")", ")", "return", "0", ";", "unsigned", "int", "num_of_st", "=", "0", ";", "for", "(", "unsigned", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "(", "STACK_REGNO_P", "(", "regno", ")", "||", "MMX_REGNO_P", "(", "regno", ")", ")", "&&", "TEST_HARD_REG_BIT", "(", "need_zeroed_hardregs", ",", "regno", ")", ")", "{", "num_of_st", "++", ";", "break", ";", "}", "if", "(", "num_of_st", "==", "0", ")", "return", "0", ";", "bool", "return_with_x87", "=", "false", ";", "return_with_x87", "=", "(", "crtl", "->", "return_rtx", "&&", "(", "STACK_REG_P", "(", "crtl", "->", "return_rtx", ")", ")", ")", ";", "bool", "complex_return", "=", "false", ";", "complex_return", "=", "(", "crtl", "->", "return_rtx", "&&", "COMPLEX_MODE_P", "(", "GET_MODE", "(", "crtl", "->", "return_rtx", ")", ")", ")", ";", "if", "(", "return_with_x87", ")", "if", "(", "complex_return", ")", "num_of_st", "=", "6", ";", "else", "num_of_st", "=", "7", ";", "else", "num_of_st", "=", "8", ";", "rtx", "st_reg", "=", "gen_rtx_REG", "(", "XFmode", ",", "FIRST_STACK_REG", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "num_of_st", ";", "i", "++", ")", "emit_insn", "(", "gen_rtx_SET", "(", "st_reg", ",", "CONST0_RTX", "(", "XFmode", ")", ")", ")", ";", "for", "(", "unsigned", "int", "i", "=", "0", ";", "i", "<", "num_of_st", ";", "i", "++", ")", "{", "rtx", "insn", ";", "insn", "=", "emit_insn", "(", "gen_rtx_SET", "(", "st_reg", ",", "st_reg", ")", ")", ";", "add_reg_note", "(", "insn", ",", "REG_DEAD", ",", "st_reg", ")", ";", "}", "return", "num_of_st", ";", "}", ""], "natrual_language": ["Generate", "insns", "to", "zero", "all", "st", "registers", "together", ".", "Return", "true", "when", "zeroing", "instructions", "are", "generated", ".", "Assume", "the", "number", "of", "st", "registers", "that", "are", "zeroed", "is", "num_of_st", ",", "we", "will", "emit", "the", "following", "sequence", "to", "zero", "them", "together", ":", "fldz", ";", "\\", "fldz", ";", "\\", "...", "fldz", ";", "\\", "fstp", "%", "%", "st", "(", "0", ")", ";", "\\", "fstp", "%", "%", "st", "(", "0", ")", ";", "\\", "...", "fstp", "%", "%", "st", "(", "0", ")", ";", "i.e.", ",", "num_of_st", "fldz", "followed", "by", "num_of_st", "fstp", "to", "clear", "the", "stack", "mark", "stack", "slots", "empty", ".", "How", "to", "compute", "the", "num_of_st", ":", "There", "is", "no", "direct", "mapping", "from", "stack", "registers", "to", "hard", "register", "numbers", ".", "If", "one", "stack", "register", "needs", "to", "be", "cleared", ",", "we", "do", "n't", "know", "where", "in", "the", "stack", "the", "value", "remains", ".", "So", ",", "if", "any", "stack", "register", "needs", "to", "be", "cleared", ",", "the", "whole", "stack", "should", "be", "cleared", ".", "However", ",", "x87", "stack", "registers", "that", "hold", "the", "return", "value", "should", "be", "excluded", ".", "x87", "returns", "in", "the", "top", "(", "two", "for", "complex", "values", ")", "register", ",", "so", "num_of_st", "should", "be", "7/6", "when", "x87", "returns", ",", "otherwise", "it", "will", "be", "8", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "0", "6", "7", "8", "0", "0"], "File": "i386", "Func": "zero_all_st_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39131, "Length": 228}
{"ground_truth": ["", "static", "rtx", "zero_all_vector_registers", "(", "HARD_REG_SET", "need_zeroed_hardregs", ")", "{", "if", "(", "!", "TARGET_AVX", ")", "return", "NULL", ";", "for", "(", "unsigned", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "(", "LEGACY_SSE_REGNO_P", "(", "regno", ")", "||", "(", "TARGET_64BIT", "&&", "(", "REX_SSE_REGNO_P", "(", "regno", ")", "||", "(", "TARGET_AVX512F", "&&", "EXT_REX_SSE_REGNO_P", "(", "regno", ")", ")", ")", ")", ")", "&&", "!", "TEST_HARD_REG_BIT", "(", "need_zeroed_hardregs", ",", "regno", ")", ")", "return", "NULL", ";", "return", "gen_avx_vzeroall", "(", ")", ";", "}", ""], "natrual_language": ["Generate", "a", "rtx", "to", "zero", "all", "vector", "registers", "together", "if", "possible", ",", "otherwise", ",", "return", "NULL", "."], "TS_V_token": ["i386", "0"], "File": "i386", "Func": "zero_all_vector_registers", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39132, "Length": 77}
{"ground_truth": ["", "static", "machine_mode", "zero_call_used_regno_mode", "(", "const", "unsigned", "int", "regno", ")", "{", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", ")", "return", "SImode", ";", "else", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "return", "V4SFmode", ";", "else", "if", "(", "MASK_REGNO_P", "(", "regno", ")", ")", "return", "HImode", ";", "else", "if", "(", "MMX_REGNO_P", "(", "regno", ")", ")", "return", "V4HImode", ";", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Return", "the", "machine_mode", "that", "is", "used", "to", "zero", "register", "REGNO", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "zero_call_used_regno_mode", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39133, "Length": 59}
{"ground_truth": ["", "static", "bool", "zero_call_used_regno_p", "(", "const", "unsigned", "int", "regno", ",", "bool", "all_sse_zeroed", ",", "bool", "need_zero_mmx", ")", "{", "return", "GENERAL_REGNO_P", "(", "regno", ")", "||", "(", "!", "all_sse_zeroed", "&&", "SSE_REGNO_P", "(", "regno", ")", ")", "||", "MASK_REGNO_P", "(", "regno", ")", "||", "(", "need_zero_mmx", "&&", "MMX_REGNO_P", "(", "regno", ")", ")", ";", "}", ""], "natrual_language": ["Check", "whether", "the", "register", "REGNO", "should", "be", "zeroed", "on", "X86", ".", "When", "ALL_SSE_ZEROED", "is", "true", ",", "all", "SSE", "registers", "have", "been", "zeroed", "together", ",", "no", "need", "to", "zero", "it", "again", ".", "When", "NEED_ZERO_MMX", "is", "true", ",", "MMX", "registers", "should", "be", "cleared", "."], "TS_V_token": ["i386"], "File": "i386", "Func": "zero_call_used_regno_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39134, "Length": 47}
{"ground_truth": ["", "static", "const", "char", "*", "generate_host_descr_file", "(", "const", "char", "*", "host_compiler", ")", "{", "const", "char", "*", "src_filename", "=", "make_temp_file", "(", "\"_host_descr.c\"", ")", ";", "const", "char", "*", "obj_filename", "=", "make_temp_file", "(", "\"_host_descr.o\"", ")", ";", "temp_files", "[", "num_temps", "++", "]", "=", "src_filename", ";", "temp_files", "[", "num_temps", "++", "]", "=", "obj_filename", ";", "FILE", "*", "src_file", "=", "fopen", "(", "src_filename", ",", "\"w\"", ")", ";", "if", "(", "!", "src_file", ")", "fatal_error", "(", "input_location", ",", "\"cannot open '%s'\"", ",", "src_filename", ")", ";", "fprintf", "(", "src_file", ",", "\"extern void *__OFFLOAD_TABLE__;\\n\"", "\"extern void *__offload_image_intelmic_start;\\n\"", "\"extern void *__offload_image_intelmic_end;\\n\\n\"", "\"static const void *__offload_target_data[] = {\\n\"", "\" &__offload_image_intelmic_start, &__offload_image_intelmic_end\\n\"", "\"};\\n\\n\"", ")", ";", "fprintf", "(", "src_file", ",", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void GOMP_offload_register (void *, int, void *);\\n\"", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void GOMP_offload_unregister (void *, int, void *);\\n\\n\"", "\"__attribute__((constructor))\\n\"", "\"static void\\n\"", "\"init (void)\\n\"", "\"{\\n\"", "\" GOMP_offload_register (&__OFFLOAD_TABLE__, %d, __offload_target_data);\\n\"", "\"}\\n\\n\"", ",", "GOMP_DEVICE_INTEL_MIC", ")", ";", "fprintf", "(", "src_file", ",", "\"__attribute__((destructor))\\n\"", "\"static void\\n\"", "\"fini (void)\\n\"", "\"{\\n\"", "\" GOMP_offload_unregister (&__OFFLOAD_TABLE__, %d, __offload_target_data);\\n\"", "\"}\\n\"", ",", "GOMP_DEVICE_INTEL_MIC", ")", ";", "fclose", "(", "src_file", ")", ";", "unsigned", "new_argc", "=", "0", ";", "const", "char", "*", "new_argv", "[", "9", "]", ";", "new_argv", "[", "new_argc", "++", "]", "=", "host_compiler", ";", "new_argv", "[", "new_argc", "++", "]", "=", "\"-c\"", ";", "new_argv", "[", "new_argc", "++", "]", "=", "\"-fPIC\"", ";", "new_argv", "[", "new_argc", "++", "]", "=", "\"-shared\"", ";", "if", "(", "target_ilp32", ")", "new_argv", "[", "new_argc", "++", "]", "=", "\"-m32\"", ";", "else", "new_argv", "[", "new_argc", "++", "]", "=", "\"-m64\"", ";", "new_argv", "[", "new_argc", "++", "]", "=", "src_filename", ";", "new_argv", "[", "new_argc", "++", "]", "=", "\"-o\"", ";", "new_argv", "[", "new_argc", "++", "]", "=", "obj_filename", ";", "new_argv", "[", "new_argc", "++", "]", "=", "NULL", ";", "fork_execute", "(", "new_argv", "[", "0", "]", ",", "CONST_CAST", "(", "char", "*", "*", ",", "new_argv", ")", ",", "false", ")", ";", "return", "obj_filename", ";", "}", ""], "natrual_language": ["Generates", "object", "file", "with", "the", "host", "side", "descriptor", "."], "TS_V_token": ["i386", "\"_host_descr.c\"", "\"_host_descr.o\"", "\"w\"", "\"cannot open '%s'\"", "\"extern void *__OFFLOAD_TABLE__;\\n\"", "\"extern void *__offload_image_intelmic_start;\\n\"", "\"extern void *__offload_image_intelmic_end;\\n\\n\"", "\"static const void *__offload_target_data[] = {\\n\"", "\" &__offload_image_intelmic_start, &__offload_image_intelmic_end\\n\"", "\"};\\n\\n\"", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void GOMP_offload_register (void *, int, void *);\\n\"", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void GOMP_offload_unregister (void *, int, void *);\\n\\n\"", "\"__attribute__((constructor))\\n\"", "\"static void\\n\"", "\"init (void)\\n\"", "\"{\\n\"", "\" GOMP_offload_register (&__OFFLOAD_TABLE__, %d, __offload_target_data);\\n\"", "\"}\\n\\n\"", "\"__attribute__((destructor))\\n\"", "\"static void\\n\"", "\"fini (void)\\n\"", "\"{\\n\"", "\" GOMP_offload_unregister (&__OFFLOAD_TABLE__, %d, __offload_target_data);\\n\"", "\"}\\n\"", "0", "9", "\"-c\"", "\"-fPIC\"", "\"-shared\"", "\"-m32\"", "\"-m64\"", "\"-o\"", "0"], "File": "intelmic-mkoffload2", "Func": "generate_host_descr_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39135, "Length": 247}
{"ground_truth": ["", "static", "const", "char", "*", "generate_target_descr_file", "(", "const", "char", "*", "target_compiler", ")", "{", "const", "char", "*", "src_filename", "=", "make_temp_file", "(", "\"_target_descr.c\"", ")", ";", "const", "char", "*", "obj_filename", "=", "make_temp_file", "(", "\"_target_descr.o\"", ")", ";", "temp_files", "[", "num_temps", "++", "]", "=", "src_filename", ";", "temp_files", "[", "num_temps", "++", "]", "=", "obj_filename", ";", "FILE", "*", "src_file", "=", "fopen", "(", "src_filename", ",", "\"w\"", ")", ";", "if", "(", "!", "src_file", ")", "fatal_error", "(", "input_location", ",", "\"cannot open '%s'\"", ",", "src_filename", ")", ";", "fprintf", "(", "src_file", ",", "\"extern void *__offload_funcs_end[];\\n\"", "\"extern void *__offload_vars_end[];\\n\\n\"", "\"void *__offload_func_table[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_funcs\\\"))) = { };\\n\\n\"", "\"void *__offload_var_table[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_vars\\\"))) = { };\\n\\n\"", "\"void *__OFFLOAD_TARGET_TABLE__[]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"))) = {\\n\"", "\" &__offload_func_table, &__offload_funcs_end,\\n\"", "\" &__offload_var_table, &__offload_vars_end\\n\"", "\"};\\n\\n\"", ")", ";", "fprintf", "(", "src_file", ",", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void target_register_lib (const void *);\\n\\n\"", "\"__attribute__((constructor))\\n\"", "\"static void\\n\"", "\"init (void)\\n\"", "\"{\\n\"", "\" target_register_lib (__OFFLOAD_TARGET_TABLE__);\\n\"", "\"}\\n\"", ")", ";", "fclose", "(", "src_file", ")", ";", "struct", "obstack", "argv_obstack", ";", "obstack_init", "(", "&", "argv_obstack", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "target_compiler", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-c\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-shared\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-fPIC\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "src_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-o\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "obj_filename", ")", ";", "compile_for_target", "(", "&", "argv_obstack", ")", ";", "return", "obj_filename", ";", "}", ""], "natrual_language": ["Generates", "object", "file", "with", "the", "descriptor", "for", "the", "target", "library", "."], "TS_V_token": ["i386", "\"_target_descr.c\"", "\"_target_descr.o\"", "\"w\"", "\"cannot open '%s'\"", "\"extern void *__offload_funcs_end[];\\n\"", "\"extern void *__offload_vars_end[];\\n\\n\"", "\"void *__offload_func_table[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_funcs\\\"))) = { };\\n\\n\"", "\"void *__offload_var_table[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_vars\\\"))) = { };\\n\\n\"", "\"void *__OFFLOAD_TARGET_TABLE__[]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"))) = {\\n\"", "\" &__offload_func_table, &__offload_funcs_end,\\n\"", "\" &__offload_var_table, &__offload_vars_end\\n\"", "\"};\\n\\n\"", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void target_register_lib (const void *);\\n\\n\"", "\"__attribute__((constructor))\\n\"", "\"static void\\n\"", "\"init (void)\\n\"", "\"{\\n\"", "\" target_register_lib (__OFFLOAD_TARGET_TABLE__);\\n\"", "\"}\\n\"", "\"-c\"", "\"-shared\"", "\"-fPIC\"", "\"-o\""], "File": "intelmic-mkoffload2", "Func": "generate_target_descr_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39136, "Length": 189}
{"ground_truth": ["", "static", "const", "char", "*", "generate_target_offloadend_file", "(", "const", "char", "*", "target_compiler", ")", "{", "const", "char", "*", "src_filename", "=", "make_temp_file", "(", "\"_target_offloadend.c\"", ")", ";", "const", "char", "*", "obj_filename", "=", "make_temp_file", "(", "\"_target_offloadend.o\"", ")", ";", "temp_files", "[", "num_temps", "++", "]", "=", "src_filename", ";", "temp_files", "[", "num_temps", "++", "]", "=", "obj_filename", ";", "FILE", "*", "src_file", "=", "fopen", "(", "src_filename", ",", "\"w\"", ")", ";", "if", "(", "!", "src_file", ")", "fatal_error", "(", "input_location", ",", "\"cannot open '%s'\"", ",", "src_filename", ")", ";", "fprintf", "(", "src_file", ",", "\"void *__offload_funcs_end[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_funcs\\\"))) = { };\\n\\n\"", "\"void *__offload_vars_end[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_vars\\\"))) = { };\\n\"", ")", ";", "fclose", "(", "src_file", ")", ";", "struct", "obstack", "argv_obstack", ";", "obstack_init", "(", "&", "argv_obstack", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "target_compiler", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-c\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-shared\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-fPIC\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "src_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-o\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "obj_filename", ")", ";", "compile_for_target", "(", "&", "argv_obstack", ")", ";", "return", "obj_filename", ";", "}", ""], "natrual_language": ["Generates", "object", "file", "with", "__offload_", "*", "_end", "symbols", "for", "the", "target", "library", "."], "TS_V_token": ["i386", "\"_target_offloadend.c\"", "\"_target_offloadend.o\"", "\"w\"", "\"cannot open '%s'\"", "\"void *__offload_funcs_end[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_funcs\\\"))) = { };\\n\\n\"", "\"void *__offload_vars_end[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_vars\\\"))) = { };\\n\"", "\"-c\"", "\"-shared\"", "\"-fPIC\"", "\"-o\""], "File": "intelmic-mkoffload2", "Func": "generate_target_offloadend_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39137, "Length": 166}
{"ground_truth": ["", "int", "main", "(", "int", "argc", ",", "char", "*", "*", "argv", ")", "{", "progname", "=", "\"mkoffload-intelmic\"", ";", "gcc_init_libintl", "(", ")", ";", "diagnostic_initialize", "(", "global_dc", ",", "0", ")", ";", "if", "(", "atexit", "(", "mkoffload_atexit", ")", "!=", "0", ")", "fatal_error", "(", "input_location", ",", "\"atexit failed\"", ")", ";", "const", "char", "*", "host_compiler", "=", "getenv", "(", "\"COLLECT_GCC\"", ")", ";", "if", "(", "!", "host_compiler", ")", "fatal_error", "(", "input_location", ",", "\"COLLECT_GCC must be set\"", ")", ";", "const", "char", "*", "target_driver_name", "=", "GCC_INSTALL_NAME", ";", "char", "*", "target_compiler", "=", "find_target_compiler", "(", "target_driver_name", ")", ";", "if", "(", "target_compiler", "==", "NULL", ")", "fatal_error", "(", "input_location", ",", "\"offload compiler %s not found\"", ",", "target_driver_name", ")", ";", "expandargv", "(", "&", "argc", ",", "&", "argv", ")", ";", "for", "(", "int", "i", "=", "argc", "-", "1", ";", "i", ">", "0", ";", "i", "--", ")", "if", "(", "strncmp", "(", "argv", "[", "i", "]", ",", "\"-foffload-abi=\"", ",", "sizeof", "(", "\"-foffload-abi=\"", ")", "-", "1", ")", "==", "0", ")", "{", "if", "(", "strstr", "(", "argv", "[", "i", "]", ",", "\"ilp32\"", ")", ")", "target_ilp32", "=", "true", ";", "else", "if", "(", "!", "strstr", "(", "argv", "[", "i", "]", ",", "\"lp64\"", ")", ")", "fatal_error", "(", "input_location", ",", "\"unrecognizable argument of option -foffload-abi\"", ")", ";", "break", ";", "}", "const", "char", "*", "target_so_filename", "=", "prepare_target_image", "(", "target_compiler", ",", "argc", ",", "argv", ")", ";", "const", "char", "*", "host_descr_filename", "=", "generate_host_descr_file", "(", "host_compiler", ")", ";", "unsigned", "new_argc", "=", "0", ";", "const", "char", "*", "new_argv", "[", "9", "]", ";", "new_argv", "[", "new_argc", "++", "]", "=", "\"ld\"", ";", "new_argv", "[", "new_argc", "++", "]", "=", "\"-m\"", ";", "if", "(", "target_ilp32", ")", "new_argv", "[", "new_argc", "++", "]", "=", "\"elf_i386\"", ";", "else", "new_argv", "[", "new_argc", "++", "]", "=", "\"elf_x86_64\"", ";", "new_argv", "[", "new_argc", "++", "]", "=", "\"--relocatable\"", ";", "new_argv", "[", "new_argc", "++", "]", "=", "host_descr_filename", ";", "new_argv", "[", "new_argc", "++", "]", "=", "target_so_filename", ";", "new_argv", "[", "new_argc", "++", "]", "=", "\"-o\"", ";", "new_argv", "[", "new_argc", "++", "]", "=", "out_obj_filename", ";", "new_argv", "[", "new_argc", "++", "]", "=", "NULL", ";", "fork_execute", "(", "new_argv", "[", "0", "]", ",", "CONST_CAST", "(", "char", "*", "*", ",", "new_argv", ")", ",", "false", ")", ";", "new_argv", "[", "0", "]", "=", "\"objcopy\"", ";", "new_argv", "[", "1", "]", "=", "\"-L\"", ";", "new_argv", "[", "2", "]", "=", "symbols", "[", "0", "]", ";", "new_argv", "[", "3", "]", "=", "\"-L\"", ";", "new_argv", "[", "4", "]", "=", "symbols", "[", "1", "]", ";", "new_argv", "[", "5", "]", "=", "\"-L\"", ";", "new_argv", "[", "6", "]", "=", "symbols", "[", "2", "]", ";", "new_argv", "[", "7", "]", "=", "out_obj_filename", ";", "new_argv", "[", "8", "]", "=", "NULL", ";", "fork_execute", "(", "new_argv", "[", "0", "]", ",", "CONST_CAST", "(", "char", "*", "*", ",", "new_argv", ")", ",", "false", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["Main", "program", "to", "convert", "flat", "files", "into", "built-in", "initialization", "code", "."], "TS_V_token": ["i386", "\"mkoffload-intelmic\"", "0", "0", "\"atexit failed\"", "\"COLLECT_GCC\"", "\"COLLECT_GCC must be set\"", "\"offload compiler %s not found\"", "1", "0", "\"-foffload-abi=\"", "\"-foffload-abi=\"", "1", "0", "\"ilp32\"", "\"lp64\"", "\"unrecognizable argument of option -foffload-abi\"", "0", "9", "\"ld\"", "\"-m\"", "\"elf_i386\"", "\"elf_x86_64\"", "\"--relocatable\"", "\"-o\"", "0", "0", "\"objcopy\"", "1", "\"-L\"", "2", "0", "3", "\"-L\"", "4", "1", "5", "\"-L\"", "6", "2", "7", "8", "0", "0"], "File": "intelmic-mkoffload2", "Func": "main", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39138, "Length": 419}
{"ground_truth": ["", "void", "maybe_unlink", "(", "const", "char", "*", "file", ")", "{", "if", "(", "debug", ")", "notice", "(", "\"[Leaving %s]\\n\"", ",", "file", ")", ";", "else", "unlink_if_ordinary", "(", "file", ")", ";", "}", ""], "natrual_language": ["Unlink", "a", "temporary", "file", "unless", "requested", "otherwise", "."], "TS_V_token": ["i386", "\"[Leaving %s]\\n\""], "File": "intelmic-mkoffload2", "Func": "maybe_unlink", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39139, "Length": 27}
{"ground_truth": ["", "static", "int", "access_check", "(", "const", "char", "*", "name", ",", "int", "mode", ")", "{", "if", "(", "mode", "==", "X_OK", ")", "{", "struct", "stat", "st", ";", "if", "(", "stat", "(", "name", ",", "&", "st", ")", "<", "0", "||", "S_ISDIR", "(", "st", ".", "st_mode", ")", ")", "return", "-", "1", ";", "}", "return", "access", "(", "name", ",", "mode", ")", ";", "}", ""], "natrual_language": ["Check", "whether", "NAME", "can", "be", "accessed", "in", "MODE", ".", "This", "is", "like", "access", ",", "except", "that", "it", "never", "considers", "directories", "to", "be", "executable", "."], "TS_V_token": ["i386", "0", "1"], "File": "intelmic-mkoffload", "Func": "access_check", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39140, "Length": 57}
{"ground_truth": ["", "static", "char", "*", "find_target_compiler", "(", "const", "char", "*", "name", ")", "{", "bool", "found", "=", "false", ";", "char", "*", "*", "paths", "=", "NULL", ";", "unsigned", "n_paths", ",", "i", ";", "char", "*", "target_compiler", ";", "const", "char", "*", "collect_gcc", "=", "getenv", "(", "\"COLLECT_GCC\"", ")", ";", "const", "char", "*", "gcc_path", "=", "dirname", "(", "ASTRDUP", "(", "collect_gcc", ")", ")", ";", "const", "char", "*", "gcc_exec", "=", "basename", "(", "ASTRDUP", "(", "collect_gcc", ")", ")", ";", "if", "(", "strcmp", "(", "gcc_exec", ",", "collect_gcc", ")", "==", "0", ")", "{", "target_compiler", "=", "XDUPVEC", "(", "char", ",", "name", ",", "strlen", "(", "name", ")", "+", "1", ")", ";", "found", "=", "true", ";", "goto", "out", ";", "}", "target_compiler", "=", "concat", "(", "gcc_path", ",", "\"/\"", ",", "name", ",", "NULL", ")", ";", "if", "(", "access_check", "(", "target_compiler", ",", "X_OK", ")", "==", "0", ")", "{", "found", "=", "true", ";", "goto", "out", ";", "}", "n_paths", "=", "parse_env_var", "(", "getenv", "(", "\"COMPILER_PATH\"", ")", ",", "&", "paths", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n_paths", ";", "i", "++", ")", "{", "size_t", "len", "=", "strlen", "(", "paths", "[", "i", "]", ")", "+", "1", "+", "strlen", "(", "name", ")", "+", "1", ";", "target_compiler", "=", "XRESIZEVEC", "(", "char", ",", "target_compiler", ",", "len", ")", ";", "sprintf", "(", "target_compiler", ",", "\"%s/%s\"", ",", "paths", "[", "i", "]", ",", "name", ")", ";", "if", "(", "access_check", "(", "target_compiler", ",", "X_OK", ")", "==", "0", ")", "{", "found", "=", "true", ";", "break", ";", "}", "}", "out", ":", "free_array_of_ptrs", "(", "(", "void", "*", "*", ")", "paths", ",", "n_paths", ")", ";", "return", "found", "?", "target_compiler", ":", "NULL", ";", "}", ""], "natrual_language": ["Find", "target", "compiler", "using", "a", "path", "from", "COLLECT_GCC", "or", "COMPILER_PATH", "."], "TS_V_token": ["i386", "\"COLLECT_GCC\"", "0", "1", "\"/\"", "0", "\"COMPILER_PATH\"", "0", "1", "1", "\"%s/%s\"", "0"], "File": "intelmic-mkoffload", "Func": "find_target_compiler", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39141, "Length": 251}
{"ground_truth": ["", "static", "void", "free_array_of_ptrs", "(", "void", "*", "*", "ptr", ",", "unsigned", "n", ")", "{", "unsigned", "i", ";", "if", "(", "!", "ptr", ")", "return", ";", "for", "(", "i", "=", "0", ";", "i", "<", "n", ";", "i", "++", ")", "{", "if", "(", "!", "ptr", "[", "i", "]", ")", "break", ";", "free", "(", "ptr", "[", "i", "]", ")", ";", "}", "free", "(", "ptr", ")", ";", "return", ";", "}", ""], "natrual_language": ["Auxiliary", "function", "that", "frees", "elements", "of", "PTR", "and", "PTR", "itself", ".", "N", "is", "number", "of", "elements", "to", "be", "freed", ".", "If", "PTR", "is", "NULL", ",", "nothing", "is", "freed", ".", "If", "an", "element", "is", "NULL", ",", "subsequent", "elements", "are", "not", "freed", "."], "TS_V_token": ["i386", "0"], "File": "intelmic-mkoffload", "Func": "free_array_of_ptrs", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39142, "Length": 64}
{"ground_truth": ["", "static", "const", "char", "*", "generate_host_descr_file", "(", "const", "char", "*", "host_compiler", ")", "{", "char", "*", "dump_filename", "=", "concat", "(", "dumppfx", ",", "\"_host_descr.c\"", ",", "NULL", ")", ";", "const", "char", "*", "src_filename", "=", "save_temps", "?", "dump_filename", ":", "make_temp_file", "(", "\"_host_descr.c\"", ")", ";", "const", "char", "*", "obj_filename", "=", "save_temps", "?", "concat", "(", "dumppfx", ",", "\"_host_descr.o\"", ",", "NULL", ")", ":", "make_temp_file", "(", "\"_host_descr.o\"", ")", ";", "temp_files", "[", "num_temps", "++", "]", "=", "src_filename", ";", "temp_files", "[", "num_temps", "++", "]", "=", "obj_filename", ";", "FILE", "*", "src_file", "=", "fopen", "(", "src_filename", ",", "\"w\"", ")", ";", "if", "(", "!", "src_file", ")", "fatal_error", "(", "input_location", ",", "\"cannot open '%s'\"", ",", "src_filename", ")", ";", "fprintf", "(", "src_file", ",", "\"extern const void *const __OFFLOAD_TABLE__;\\n\"", "\"extern const void *const __offload_image_intelmic_start;\\n\"", "\"extern const void *const __offload_image_intelmic_end;\\n\\n\"", "\"static const void *const __offload_target_data[] = {\\n\"", "\" &__offload_image_intelmic_start, &__offload_image_intelmic_end\\n\"", "\"};\\n\\n\"", ")", ";", "fprintf", "(", "src_file", ",", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void GOMP_offload_register (const void *, int, const void *);\\n\"", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void GOMP_offload_unregister (const void *, int, const void *);\\n\\n\"", "\"__attribute__((constructor))\\n\"", "\"static void\\n\"", "\"init (void)\\n\"", "\"{\\n\"", "\" GOMP_offload_register (&__OFFLOAD_TABLE__, %d, __offload_target_data);\\n\"", "\"}\\n\\n\"", ",", "GOMP_DEVICE_INTEL_MIC", ")", ";", "fprintf", "(", "src_file", ",", "\"__attribute__((destructor))\\n\"", "\"static void\\n\"", "\"fini (void)\\n\"", "\"{\\n\"", "\" GOMP_offload_unregister (&__OFFLOAD_TABLE__, %d, __offload_target_data);\\n\"", "\"}\\n\"", ",", "GOMP_DEVICE_INTEL_MIC", ")", ";", "fclose", "(", "src_file", ")", ";", "struct", "obstack", "argv_obstack", ";", "obstack_init", "(", "&", "argv_obstack", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "host_compiler", ")", ";", "if", "(", "save_temps", ")", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-save-temps\"", ")", ";", "if", "(", "verbose", ")", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-v\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpdir\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpbase\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "dump_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpbase-ext\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\".c\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-c\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-fPIC\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-shared\"", ")", ";", "switch", "(", "offload_abi", ")", "{", "case", "OFFLOAD_ABI_LP64", ":", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-m64\"", ")", ";", "break", ";", "case", "OFFLOAD_ABI_ILP32", ":", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-m32\"", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "src_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-o\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "obj_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "NULL", ")", ";", "char", "*", "*", "argv", "=", "XOBFINISH", "(", "&", "argv_obstack", ",", "char", "*", "*", ")", ";", "fork_execute", "(", "argv", "[", "0", "]", ",", "argv", ",", "false", ",", "NULL", ")", ";", "obstack_free", "(", "&", "argv_obstack", ",", "NULL", ")", ";", "return", "obj_filename", ";", "}", ""], "natrual_language": ["Generates", "object", "file", "with", "the", "host", "side", "descriptor", "."], "TS_V_token": ["i386", "\"_host_descr.c\"", "\"_host_descr.c\"", "\"_host_descr.o\"", "\"_host_descr.o\"", "\"w\"", "\"cannot open '%s'\"", "\"extern const void *const __OFFLOAD_TABLE__;\\n\"", "\"extern const void *const __offload_image_intelmic_start;\\n\"", "\"extern const void *const __offload_image_intelmic_end;\\n\\n\"", "\"static const void *const __offload_target_data[] = {\\n\"", "\" &__offload_image_intelmic_start, &__offload_image_intelmic_end\\n\"", "\"};\\n\\n\"", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void GOMP_offload_register (const void *, int, const void *);\\n\"", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void GOMP_offload_unregister (const void *, int, const void *);\\n\\n\"", "\"__attribute__((constructor))\\n\"", "\"static void\\n\"", "\"init (void)\\n\"", "\"{\\n\"", "\" GOMP_offload_register (&__OFFLOAD_TABLE__, %d, __offload_target_data);\\n\"", "\"}\\n\\n\"", "\"__attribute__((destructor))\\n\"", "\"static void\\n\"", "\"fini (void)\\n\"", "\"{\\n\"", "\" GOMP_offload_unregister (&__OFFLOAD_TABLE__, %d, __offload_target_data);\\n\"", "\"}\\n\"", "\"-save-temps\"", "\"-v\"", "\"-dumpdir\"", "\"\"", "\"-dumpbase\"", "\"-dumpbase-ext\"", "\".c\"", "\"-c\"", "\"-fPIC\"", "\"-shared\"", "\"-m64\"", "\"-m32\"", "\"-o\"", "0"], "File": "intelmic-mkoffload", "Func": "generate_host_descr_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39143, "Length": 379}
{"ground_truth": ["", "static", "const", "char", "*", "generate_target_descr_file", "(", "const", "char", "*", "target_compiler", ")", "{", "char", "*", "dump_filename", "=", "concat", "(", "dumppfx", ",", "\"_target_descr.c\"", ",", "NULL", ")", ";", "const", "char", "*", "src_filename", "=", "save_temps", "?", "dump_filename", ":", "make_temp_file", "(", "\"_target_descr.c\"", ")", ";", "const", "char", "*", "obj_filename", "=", "save_temps", "?", "concat", "(", "dumppfx", ",", "\"_target_descr.o\"", ",", "NULL", ")", ":", "make_temp_file", "(", "\"_target_descr.o\"", ")", ";", "temp_files", "[", "num_temps", "++", "]", "=", "src_filename", ";", "temp_files", "[", "num_temps", "++", "]", "=", "obj_filename", ";", "FILE", "*", "src_file", "=", "fopen", "(", "src_filename", ",", "\"w\"", ")", ";", "if", "(", "!", "src_file", ")", "fatal_error", "(", "input_location", ",", "\"cannot open '%s'\"", ",", "src_filename", ")", ";", "fprintf", "(", "src_file", ",", "\"extern const void *const __offload_funcs_end[];\\n\"", "\"extern const void *const __offload_vars_end[];\\n\\n\"", "\"const void *const __offload_func_table[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_funcs\\\"))) = { };\\n\\n\"", "\"const void *const __offload_var_table[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_vars\\\"))) = { };\\n\\n\"", "\"const void *const __OFFLOAD_TARGET_TABLE__[]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"))) = {\\n\"", "\" &__offload_func_table, &__offload_funcs_end,\\n\"", "\" &__offload_var_table, &__offload_vars_end\\n\"", "\"};\\n\\n\"", ")", ";", "fprintf", "(", "src_file", ",", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void target_register_lib (const void *);\\n\\n\"", "\"__attribute__((constructor))\\n\"", "\"static void\\n\"", "\"init (void)\\n\"", "\"{\\n\"", "\" target_register_lib (__OFFLOAD_TARGET_TABLE__);\\n\"", "\"}\\n\"", ")", ";", "fclose", "(", "src_file", ")", ";", "struct", "obstack", "argv_obstack", ";", "obstack_init", "(", "&", "argv_obstack", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "target_compiler", ")", ";", "if", "(", "save_temps", ")", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-save-temps\"", ")", ";", "if", "(", "verbose", ")", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-v\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpdir\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpbase\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "dump_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpbase-ext\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\".c\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-c\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-shared\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-fPIC\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "src_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-o\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "obj_filename", ")", ";", "compile_for_target", "(", "&", "argv_obstack", ")", ";", "return", "obj_filename", ";", "}", ""], "natrual_language": ["Generates", "object", "file", "with", "the", "descriptor", "for", "the", "target", "library", "."], "TS_V_token": ["i386", "\"_target_descr.c\"", "\"_target_descr.c\"", "\"_target_descr.o\"", "\"_target_descr.o\"", "\"w\"", "\"cannot open '%s'\"", "\"extern const void *const __offload_funcs_end[];\\n\"", "\"extern const void *const __offload_vars_end[];\\n\\n\"", "\"const void *const __offload_func_table[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_funcs\\\"))) = { };\\n\\n\"", "\"const void *const __offload_var_table[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_vars\\\"))) = { };\\n\\n\"", "\"const void *const __OFFLOAD_TARGET_TABLE__[]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"))) = {\\n\"", "\" &__offload_func_table, &__offload_funcs_end,\\n\"", "\" &__offload_var_table, &__offload_vars_end\\n\"", "\"};\\n\\n\"", "\"#ifdef __cplusplus\\n\"", "\"extern \\\"C\\\"\\n\"", "\"#endif\\n\"", "\"void target_register_lib (const void *);\\n\\n\"", "\"__attribute__((constructor))\\n\"", "\"static void\\n\"", "\"init (void)\\n\"", "\"{\\n\"", "\" target_register_lib (__OFFLOAD_TARGET_TABLE__);\\n\"", "\"}\\n\"", "\"-save-temps\"", "\"-v\"", "\"-dumpdir\"", "\"\"", "\"-dumpbase\"", "\"-dumpbase-ext\"", "\".c\"", "\"-c\"", "\"-shared\"", "\"-fPIC\"", "\"-o\""], "File": "intelmic-mkoffload", "Func": "generate_target_descr_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39144, "Length": 289}
{"ground_truth": ["", "static", "const", "char", "*", "generate_target_offloadend_file", "(", "const", "char", "*", "target_compiler", ")", "{", "char", "*", "dump_filename", "=", "concat", "(", "dumppfx", ",", "\"_target_offloadend.c\"", ",", "NULL", ")", ";", "const", "char", "*", "src_filename", "=", "save_temps", "?", "dump_filename", ":", "make_temp_file", "(", "\"_target_offloadend.c\"", ")", ";", "const", "char", "*", "obj_filename", "=", "save_temps", "?", "concat", "(", "dumppfx", ",", "\"_target_offloadend.o\"", ",", "NULL", ")", ":", "make_temp_file", "(", "\"_target_offloadend.o\"", ")", ";", "temp_files", "[", "num_temps", "++", "]", "=", "src_filename", ";", "temp_files", "[", "num_temps", "++", "]", "=", "obj_filename", ";", "FILE", "*", "src_file", "=", "fopen", "(", "src_filename", ",", "\"w\"", ")", ";", "if", "(", "!", "src_file", ")", "fatal_error", "(", "input_location", ",", "\"cannot open '%s'\"", ",", "src_filename", ")", ";", "fprintf", "(", "src_file", ",", "\"const void *const __offload_funcs_end[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_funcs\\\"))) = { };\\n\\n\"", "\"const void *const __offload_vars_end[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_vars\\\"))) = { };\\n\"", ")", ";", "fclose", "(", "src_file", ")", ";", "struct", "obstack", "argv_obstack", ";", "obstack_init", "(", "&", "argv_obstack", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "target_compiler", ")", ";", "if", "(", "save_temps", ")", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-save-temps\"", ")", ";", "if", "(", "verbose", ")", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-v\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpdir\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpbase\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "dump_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-dumpbase-ext\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\".c\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-c\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-shared\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-fPIC\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "src_filename", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "\"-o\"", ")", ";", "obstack_ptr_grow", "(", "&", "argv_obstack", ",", "obj_filename", ")", ";", "compile_for_target", "(", "&", "argv_obstack", ")", ";", "return", "obj_filename", ";", "}", ""], "natrual_language": ["Generates", "object", "file", "with", "__offload_", "*", "_end", "symbols", "for", "the", "target", "library", "."], "TS_V_token": ["i386", "\"_target_offloadend.c\"", "\"_target_offloadend.c\"", "\"_target_offloadend.o\"", "\"_target_offloadend.o\"", "\"w\"", "\"cannot open '%s'\"", "\"const void *const __offload_funcs_end[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_funcs\\\"))) = { };\\n\\n\"", "\"const void *const __offload_vars_end[0]\\n\"", "\"__attribute__ ((__used__, visibility (\\\"hidden\\\"),\\n\"", "\"section (\\\".gnu.offload_vars\\\"))) = { };\\n\"", "\"-save-temps\"", "\"-v\"", "\"-dumpdir\"", "\"\"", "\"-dumpbase\"", "\"-dumpbase-ext\"", "\".c\"", "\"-c\"", "\"-shared\"", "\"-fPIC\"", "\"-o\""], "File": "intelmic-mkoffload", "Func": "generate_target_offloadend_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39145, "Length": 266}
{"ground_truth": ["", "void", "maybe_unlink", "(", "const", "char", "*", "file", ")", "{", "if", "(", "!", "save_temps", ")", "{", "if", "(", "unlink_if_ordinary", "(", "file", ")", "&&", "errno", "!=", "ENOENT", ")", "fatal_error", "(", "input_location", ",", "\"deleting file %s: %m\"", ",", "file", ")", ";", "}", "else", "if", "(", "verbose", ")", "fprintf", "(", "stderr", ",", "\"[Leaving %s]\\n\"", ",", "file", ")", ";", "}", ""], "natrual_language": ["Unlink", "a", "temporary", "file", "unless", "requested", "otherwise", "."], "TS_V_token": ["i386", "\"deleting file %s: %m\"", "\"[Leaving %s]\\n\""], "File": "intelmic-mkoffload", "Func": "maybe_unlink", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39146, "Length": 51}
{"ground_truth": ["", "static", "unsigned", "parse_env_var", "(", "const", "char", "*", "str", ",", "char", "*", "*", "*", "pvalues", ")", "{", "const", "char", "*", "curval", ",", "*", "nextval", ";", "char", "*", "*", "values", ";", "unsigned", "num", "=", "1", ",", "i", ";", "curval", "=", "strchr", "(", "str", ",", "':'", ")", ";", "while", "(", "curval", ")", "{", "num", "++", ";", "curval", "=", "strchr", "(", "curval", "+", "1", ",", "':'", ")", ";", "}", "values", "=", "(", "char", "*", "*", ")", "xmalloc", "(", "num", "*", "sizeof", "(", "char", "*", ")", ")", ";", "curval", "=", "str", ";", "nextval", "=", "strchr", "(", "curval", ",", "':'", ")", ";", "if", "(", "nextval", "==", "NULL", ")", "nextval", "=", "strchr", "(", "curval", ",", "'\\0'", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "num", ";", "i", "++", ")", "{", "int", "l", "=", "nextval", "-", "curval", ";", "values", "[", "i", "]", "=", "(", "char", "*", ")", "xmalloc", "(", "l", "+", "1", ")", ";", "memcpy", "(", "values", "[", "i", "]", ",", "curval", ",", "l", ")", ";", "values", "[", "i", "]", "[", "l", "]", "=", "0", ";", "curval", "=", "nextval", "+", "1", ";", "nextval", "=", "strchr", "(", "curval", ",", "':'", ")", ";", "if", "(", "nextval", "==", "NULL", ")", "nextval", "=", "strchr", "(", "curval", ",", "'\\0'", ")", ";", "}", "*", "pvalues", "=", "values", ";", "return", "num", ";", "}", ""], "natrual_language": ["Parse", "STR", ",", "saving", "found", "tokens", "into", "PVALUES", "and", "return", "their", "number", ".", "Tokens", "are", "assumed", "to", "be", "delimited", "by", "'", ":", "'", "."], "TS_V_token": ["i386", "1", "1", "0", "1", "0", "1"], "File": "intelmic-mkoffload", "Func": "parse_env_var", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39147, "Length": 210}
{"ground_truth": ["", "void", "tool_cleanup", "(", "bool", "from_signal", "ATTRIBUTE_UNUSED", ")", "{", "for", "(", "int", "i", "=", "0", ";", "i", "<", "num_temps", ";", "i", "++", ")", "maybe_unlink", "(", "temp_files", "[", "i", "]", ")", ";", "}", ""], "natrual_language": ["Delete", "tempfiles", "."], "TS_V_token": ["i386", "0"], "File": "intelmic-mkoffload", "Func": "tool_cleanup", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39148, "Length": 31}
{"ground_truth": ["", "static", "void", "xputenv", "(", "const", "char", "*", "string", ")", "{", "if", "(", "verbose", ")", "fprintf", "(", "stderr", ",", "\"%s\\n\"", ",", "string", ")", ";", "putenv", "(", "CONST_CAST", "(", "char", "*", ",", "string", ")", ")", ";", "}", ""], "natrual_language": ["Add", "or", "change", "the", "value", "of", "an", "environment", "variable", ",", "outputting", "the", "change", "to", "standard", "error", "if", "in", "verbose", "mode", "."], "TS_V_token": ["i386", "\"%s\\n\""], "File": "intelmic-mkoffload", "Func": "xputenv", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39149, "Length": 35}
{"ground_truth": ["", "static", "tree", "gen_regparm_prefix", "(", "tree", "decl", ",", "unsigned", "nregs", ")", "{", "unsigned", "total", "=", "0", ";", "const", "char", "*", "asmname", "=", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "char", "*", "newsym", ";", "tree", "formal_type", "=", "TYPE_ARG_TYPES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "if", "(", "formal_type", "!=", "NULL_TREE", ")", "{", "if", "(", "TREE_VALUE", "(", "tree_last", "(", "formal_type", ")", ")", "!=", "void_type_node", ")", "return", "NULL_TREE", ";", "while", "(", "TREE_VALUE", "(", "formal_type", ")", "!=", "void_type_node", "&&", "COMPLETE_TYPE_P", "(", "TREE_VALUE", "(", "formal_type", ")", ")", ")", "{", "unsigned", "parm_size", "=", "TREE_INT_CST_LOW", "(", "TYPE_SIZE", "(", "TREE_VALUE", "(", "formal_type", ")", ")", ")", ";", "parm_size", "=", "(", "(", "parm_size", "+", "PARM_BOUNDARY", "-", "1", ")", "/", "PARM_BOUNDARY", "*", "PARM_BOUNDARY", ")", ";", "total", "+=", "parm_size", ";", "formal_type", "=", "TREE_CHAIN", "(", "formal_type", ")", ";", "}", "}", "if", "(", "nregs", ">", "total", "/", "BITS_PER_WORD", ")", "nregs", "=", "total", "/", "BITS_PER_WORD", ";", "gcc_assert", "(", "nregs", "<=", "9", ")", ";", "newsym", "=", "alloca", "(", "3", "+", "strlen", "(", "asmname", ")", "+", "1", ")", ";", "return", "get_identifier_with_length", "(", "newsym", ",", "sprintf", "(", "newsym", ",", "\"_%u@%s\"", ",", "nregs", ",", "asmname", ")", ")", ";", "}", ""], "natrual_language": ["Return", "string", "which", "is", "the", "former", "assembler", "name", "modified", "with", "an", "_n", "@", "prefix", "where", "n", "represents", "the", "number", "of", "arguments", "passed", "in", "registers"], "TS_V_token": ["i386", "0", "1", "9", "3", "1", "\"_%u@%s\""], "File": "netware", "Func": "gen_regparm_prefix", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39150, "Length": 180}
{"ground_truth": ["", "static", "tree", "gen_stdcall_or_fastcall_decoration", "(", "tree", "decl", ",", "char", "prefix", ")", "{", "unsigned", "total", "=", "0", ";", "const", "char", "*", "asmname", "=", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "char", "*", "newsym", ";", "tree", "formal_type", "=", "TYPE_ARG_TYPES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "if", "(", "formal_type", "!=", "NULL_TREE", ")", "{", "if", "(", "TREE_VALUE", "(", "tree_last", "(", "formal_type", ")", ")", "!=", "void_type_node", ")", "return", "NULL_TREE", ";", "while", "(", "TREE_VALUE", "(", "formal_type", ")", "!=", "void_type_node", "&&", "COMPLETE_TYPE_P", "(", "TREE_VALUE", "(", "formal_type", ")", ")", ")", "{", "unsigned", "parm_size", "=", "TREE_INT_CST_LOW", "(", "TYPE_SIZE", "(", "TREE_VALUE", "(", "formal_type", ")", ")", ")", ";", "parm_size", "=", "(", "(", "parm_size", "+", "PARM_BOUNDARY", "-", "1", ")", "/", "PARM_BOUNDARY", "*", "PARM_BOUNDARY", ")", ";", "total", "+=", "parm_size", ";", "formal_type", "=", "TREE_CHAIN", "(", "formal_type", ")", ";", "}", "}", "newsym", "=", "alloca", "(", "1", "+", "strlen", "(", "asmname", ")", "+", "1", "+", "10", "+", "1", ")", ";", "return", "get_identifier_with_length", "(", "newsym", ",", "sprintf", "(", "newsym", ",", "\"%c%s@%u\"", ",", "prefix", ",", "asmname", ",", "total", "/", "BITS_PER_UNIT", ")", ")", ";", "}", ""], "natrual_language": ["Return", "string", "which", "is", "the", "former", "assembler", "name", "modified", "with", "an", "underscore", "prefix", "and", "a", "suffix", "consisting", "of", "an", "atsign", "(", "@", ")", "followed", "by", "the", "number", "of", "bytes", "of", "arguments"], "TS_V_token": ["i386", "0", "1", "1", "1", "10", "1", "\"%c%s@%u\""], "File": "netware", "Func": "gen_stdcall_or_fastcall_decoration", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39151, "Length": 167}
{"ground_truth": ["", "const", "char", "*", "i386_nlm_strip_name_encoding", "(", "const", "char", "*", "str", ")", "{", "const", "char", "*", "name", "=", "default_strip_name_encoding", "(", "str", ")", ";", "if", "(", "*", "str", "!=", "'*'", "&&", "(", "*", "name", "==", "'_'", "||", "*", "name", "==", "'@'", ")", ")", "{", "const", "char", "*", "p", "=", "strchr", "(", "name", "+", "1", ",", "'@'", ")", ";", "if", "(", "p", ")", "{", "++", "name", ";", "if", "(", "ISDIGIT", "(", "p", "[", "1", "]", ")", ")", "name", "=", "ggc_alloc_string", "(", "name", ",", "p", "-", "name", ")", ";", "else", "{", "gcc_assert", "(", "ISDIGIT", "(", "*", "name", ")", ")", ";", "name", "++", ";", "gcc_assert", "(", "name", "==", "p", ")", ";", "}", "}", "}", "return", "name", ";", "}", ""], "natrual_language": ["Strip", "the", "stdcall/fastcall/regparm", "pre-/suffix", "."], "TS_V_token": ["i386", "1", "1"], "File": "netware", "Func": "i386_nlm_strip_name_encoding", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39152, "Length": 112}
{"ground_truth": ["", "static", "void", "winnt_d_os_builtins", "(", "void", ")", "{", "d_add_builtin_version", "(", "\"Windows\"", ")", ";", "d_add_builtin_version", "(", "\"MinGW\"", ")", ";", "if", "(", "TARGET_64BIT", "&&", "ix86_abi", "==", "MS_ABI", ")", "d_add_builtin_version", "(", "\"Win64\"", ")", ";", "else", "if", "(", "!", "TARGET_64BIT", ")", "d_add_builtin_version", "(", "\"Win32\"", ")", ";", "d_add_builtin_version", "(", "\"CRuntime_Microsoft\"", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_D_OS_VERSIONS", "for", "Windows", "targets", "."], "TS_V_token": ["i386", "\"Windows\"", "\"MinGW\"", "\"Win64\"", "\"Win32\"", "\"CRuntime_Microsoft\""], "File": "winnt-d1", "Func": "winnt_d_os_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39153, "Length": 47}
{"ground_truth": ["", "static", "tree", "winnt_d_handle_target_object_format", "(", "void", ")", "{", "const", "char", "*", "objfmt", "=", "\"coff\"", ";", "return", "build_string_literal", "(", "strlen", "(", "objfmt", ")", "+", "1", ",", "objfmt", ")", ";", "}", ""], "natrual_language": ["Handle", "a", "call", "to", "`", "__traits", "(", "getTargetInfo", ",", "``", "objectFormat", "''", ")", "'", "."], "TS_V_token": ["i386", "\"coff\"", "1"], "File": "winnt-d", "Func": "winnt_d_handle_target_object_format", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39154, "Length": 28}
{"ground_truth": ["", "static", "void", "winnt_d_os_builtins", "(", "void", ")", "{", "d_add_builtin_version", "(", "\"Windows\"", ")", ";", "EXTRA_TARGET_D_OS_VERSIONS", "(", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_D_OS_VERSIONS", "for", "Windows", "targets", "."], "TS_V_token": ["i386", "\"Windows\""], "File": "winnt-d", "Func": "winnt_d_os_builtins", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39155, "Length": 17}
{"ground_truth": ["", "static", "void", "winnt_d_register_target_info", "(", "void", ")", "{", "const", "struct", "d_target_info_spec", "handlers", "[", "]", "=", "{", "{", "\"objectFormat\"", ",", "winnt_d_handle_target_object_format", "}", ",", "{", "NULL", ",", "NULL", "}", ",", "}", ";", "d_add_target_info_handlers", "(", "handlers", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_D_REGISTER_OS_TARGET_INFO", "for", "Windows", "targets", "."], "TS_V_token": ["i386", "\"objectFormat\""], "File": "winnt-d", "Func": "winnt_d_register_target_info", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39156, "Length": 35}
{"ground_truth": ["", "void", "i386_pe_seh_unwind_emit", "(", "FILE", "*", "asm_out_file", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "note", ",", "pat", ";", "bool", "handled_one", "=", "false", ";", "struct", "seh_frame_state", "*", "seh", ";", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "seh", "=", "cfun", "->", "machine", "->", "seh", ";", "if", "(", "NOTE_P", "(", "insn", ")", "&&", "NOTE_KIND", "(", "insn", ")", "==", "NOTE_INSN_SWITCH_TEXT_SECTIONS", ")", "{", "rtx_insn", "*", "prev", "=", "prev_active_insn", "(", "insn", ")", ";", "if", "(", "prev", "&&", "!", "insn_nothrow_p", "(", "prev", ")", ")", "fputs", "(", "\"\\tnop\\n\"", ",", "asm_out_file", ")", ";", "fputs", "(", "\"\\t.seh_endproc\\n\"", ",", "asm_out_file", ")", ";", "seh", "->", "in_cold_section", "=", "true", ";", "return", ";", "}", "if", "(", "NOTE_P", "(", "insn", ")", "||", "!", "RTX_FRAME_RELATED_P", "(", "insn", ")", ")", "return", ";", "if", "(", "seh", "->", "after_prologue", ")", "return", ";", "for", "(", "note", "=", "REG_NOTES", "(", "insn", ")", ";", "note", ";", "note", "=", "XEXP", "(", "note", ",", "1", ")", ")", "{", "switch", "(", "REG_NOTE_KIND", "(", "note", ")", ")", "{", "case", "REG_FRAME_RELATED_EXPR", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "goto", "found", ";", "case", "REG_CFA_DEF_CFA", ":", "case", "REG_CFA_EXPRESSION", ":", "gcc_unreachable", "(", ")", ";", "break", ";", "case", "REG_CFA_REGISTER", ":", "gcc_unreachable", "(", ")", ";", "case", "REG_CFA_ADJUST_CFA", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "if", "(", "pat", "==", "NULL", ")", "{", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", "pat", "=", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", ";", "}", "seh_cfa_adjust_cfa", "(", "asm_out_file", ",", "seh", ",", "pat", ")", ";", "handled_one", "=", "true", ";", "break", ";", "case", "REG_CFA_OFFSET", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "if", "(", "pat", "==", "NULL", ")", "pat", "=", "single_set", "(", "insn", ")", ";", "seh_cfa_offset", "(", "asm_out_file", ",", "seh", ",", "pat", ")", ";", "handled_one", "=", "true", ";", "break", ";", "default", ":", "break", ";", "}", "}", "if", "(", "handled_one", ")", "return", ";", "pat", "=", "PATTERN", "(", "insn", ")", ";", "found", ":", "seh_frame_related_expr", "(", "asm_out_file", ",", "seh", ",", "pat", ")", ";", "}", ""], "natrual_language": ["This", "function", "looks", "at", "a", "single", "insn", "and", "emits", "any", "SEH", "directives", "required", "for", "unwind", "of", "this", "insn", "."], "TS_V_token": ["i386", "\"\\tnop\\n\"", "\"\\t.seh_endproc\\n\"", "1", "0", "0", "0", "0", "0"], "File": "winnt1", "Func": "i386_pe_seh_unwind_emit", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39157, "Length": 318}
{"ground_truth": ["", "static", "tree", "associated_type", "(", "tree", "decl", ")", "{", "return", "(", "DECL_CONTEXT", "(", "decl", ")", "&&", "TYPE_P", "(", "DECL_CONTEXT", "(", "decl", ")", ")", ")", "?", "DECL_CONTEXT", "(", "decl", ")", ":", "NULL_TREE", ";", "}", ""], "natrual_language": ["Return", "the", "type", "that", "we", "should", "use", "to", "determine", "if", "DECL", "is", "imported", "or", "exported", "."], "TS_V_token": ["i386"], "File": "winnt3", "Func": "associated_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39158, "Length": 32}
{"ground_truth": ["", "static", "tree", "gen_stdcall_or_fastcall_suffix", "(", "tree", "decl", ",", "bool", "fastcall", ")", "{", "int", "total", "=", "0", ";", "const", "char", "*", "asmname", "=", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "char", "*", "newsym", ";", "char", "*", "p", ";", "tree", "formal_type", ";", "if", "(", "*", "asmname", "==", "'*'", "||", "strchr", "(", "asmname", ",", "'@'", ")", ")", "return", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ";", "formal_type", "=", "TYPE_ARG_TYPES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "if", "(", "formal_type", "!=", "NULL_TREE", ")", "{", "if", "(", "TREE_VALUE", "(", "tree_last", "(", "formal_type", ")", ")", "!=", "void_type_node", ")", "return", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ";", "while", "(", "TREE_VALUE", "(", "formal_type", ")", "!=", "void_type_node", "&&", "COMPLETE_TYPE_P", "(", "TREE_VALUE", "(", "formal_type", ")", ")", ")", "{", "int", "parm_size", "=", "TREE_INT_CST_LOW", "(", "TYPE_SIZE", "(", "TREE_VALUE", "(", "formal_type", ")", ")", ")", ";", "parm_size", "=", "(", "(", "parm_size", "+", "PARM_BOUNDARY", "-", "1", ")", "/", "PARM_BOUNDARY", "*", "PARM_BOUNDARY", ")", ";", "total", "+=", "parm_size", ";", "formal_type", "=", "TREE_CHAIN", "(", "formal_type", ")", ";", "\\", "}", "}", "newsym", "=", "alloca", "(", "1", "+", "strlen", "(", "asmname", ")", "+", "1", "+", "8", "+", "1", ")", ";", "p", "=", "newsym", ";", "if", "(", "fastcall", ")", "*", "p", "++", "=", "FASTCALL_PREFIX", ";", "sprintf", "(", "p", ",", "\"%s@%d\"", ",", "asmname", ",", "total", "/", "BITS_PER_UNIT", ")", ";", "return", "get_identifier", "(", "newsym", ")", ";", "}", ""], "natrual_language": ["Return", "string", "which", "is", "the", "former", "assembler", "name", "modified", "with", "a", "suffix", "consisting", "of", "an", "atsign", "(", "@", ")", "followed", "by", "the", "number", "of", "bytes", "of", "arguments", ".", "If", "FASTCALL", "is", "true", ",", "also", "add", "the", "FASTCALL_PREFIX", "."], "TS_V_token": ["i386", "0", "1", "1", "1", "8", "1", "\"%s@%d\""], "File": "winnt3", "Func": "gen_stdcall_or_fastcall_suffix", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39159, "Length": 209}
{"ground_truth": ["", "void", "i386_pe_declare_function_type", "(", "FILE", "*", "file", ",", "const", "char", "*", "name", ",", "int", "public", ")", "{", "fprintf", "(", "file", ",", "\"\\t.def\\t\"", ")", ";", "assemble_name", "(", "file", ",", "name", ")", ";", "fprintf", "(", "file", ",", "\";\\t.scl\\t%d;\\t.type\\t%d;\\t.endef\\n\"", ",", "public", "?", "(", "int", ")", "C_EXT", ":", "(", "int", ")", "C_STAT", ",", "(", "int", ")", "DT_FCN", "<<", "N_BTSHFT", ")", ";", "}", ""], "natrual_language": ["Mark", "a", "function", "appropriately", ".", "This", "should", "only", "be", "called", "for", "functions", "for", "which", "we", "are", "not", "emitting", "COFF", "debugging", "information", ".", "FILE", "is", "the", "assembler", "output", "file", ",", "NAME", "is", "the", "name", "of", "the", "function", ",", "and", "PUBLIC", "is", "nonzero", "if", "the", "function", "is", "globally", "visible", "."], "TS_V_token": ["i386", "\"\\t.def\\t\"", "\";\\t.scl\\t%d;\\t.type\\t%d;\\t.endef\\n\""], "File": "winnt3", "Func": "i386_pe_declare_function_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39160, "Length": 57}
{"ground_truth": ["", "int", "i386_pe_dllexport_name_p", "(", "const", "char", "*", "symbol", ")", "{", "return", "(", "strncmp", "(", "DLL_EXPORT_PREFIX", ",", "symbol", ",", "strlen", "(", "DLL_EXPORT_PREFIX", ")", ")", "==", "0", ")", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "SYMBOL", "is", "marked", "as", "being", "dllexport", "'d", "."], "TS_V_token": ["i386", "0"], "File": "winnt3", "Func": "i386_pe_dllexport_name_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39161, "Length": 27}
{"ground_truth": ["", "static", "bool", "i386_pe_dllexport_p", "(", "tree", "decl", ")", "{", "if", "(", "TREE_CODE", "(", "decl", ")", "!=", "VAR_DECL", "&&", "TREE_CODE", "(", "decl", ")", "!=", "FUNCTION_DECL", ")", "return", "false", ";", "if", "(", "lookup_attribute", "(", "\"dllexport\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ")", "return", "true", ";", "if", "(", "associated_type", "(", "decl", ")", "&&", "lookup_attribute", "(", "\"dllexport\"", ",", "TYPE_ATTRIBUTES", "(", "associated_type", "(", "decl", ")", ")", ")", ")", "return", "i386_pe_type_dllexport_p", "(", "decl", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "DECL", "is", "a", "dllexport", "'d", "object", "."], "TS_V_token": ["i386", "\"dllexport\"", "\"dllexport\""], "File": "winnt3", "Func": "i386_pe_dllexport_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39162, "Length": 72}
{"ground_truth": ["", "int", "i386_pe_dllimport_name_p", "(", "const", "char", "*", "symbol", ")", "{", "return", "(", "strncmp", "(", "DLL_IMPORT_PREFIX", ",", "symbol", ",", "strlen", "(", "DLL_IMPORT_PREFIX", ")", ")", "==", "0", ")", ";", "}", ""], "natrual_language": ["Return", "nonzero", "if", "SYMBOL", "is", "marked", "as", "being", "dllimport", "'d", "."], "TS_V_token": ["i386", "0"], "File": "winnt3", "Func": "i386_pe_dllimport_name_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39163, "Length": 27}
{"ground_truth": ["", "static", "bool", "i386_pe_dllimport_p", "(", "tree", "decl", ")", "{", "if", "(", "TREE_CODE", "(", "decl", ")", "!=", "VAR_DECL", "&&", "TREE_CODE", "(", "decl", ")", "!=", "FUNCTION_DECL", ")", "return", "false", ";", "if", "(", "lookup_attribute", "(", "\"dllimport\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ")", "return", "true", ";", "if", "(", "associated_type", "(", "decl", ")", "&&", "lookup_attribute", "(", "\"dllimport\"", ",", "TYPE_ATTRIBUTES", "(", "associated_type", "(", "decl", ")", ")", ")", ")", "return", "i386_pe_type_dllimport_p", "(", "decl", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "non-zero", "if", "DECL", "is", "a", "dllimport", "'d", "object", "."], "TS_V_token": ["i386", "\"dllimport\"", "\"dllimport\""], "File": "winnt3", "Func": "i386_pe_dllimport_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39164, "Length": 72}
{"ground_truth": ["", "void", "i386_pe_encode_section_info", "(", "tree", "decl", ",", "rtx", "rtl", ",", "int", "first", ")", "{", "default_encode_section_info", "(", "decl", ",", "rtl", ",", "first", ")", ";", "if", "(", "first", "&&", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "{", "tree", "type_attributes", "=", "TYPE_ATTRIBUTES", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "tree", "newid", "=", "NULL_TREE", ";", "if", "(", "lookup_attribute", "(", "\"stdcall\"", ",", "type_attributes", ")", ")", "newid", "=", "gen_stdcall_or_fastcall_suffix", "(", "decl", ",", "false", ")", ";", "else", "if", "(", "lookup_attribute", "(", "\"fastcall\"", ",", "type_attributes", ")", ")", "newid", "=", "gen_stdcall_or_fastcall_suffix", "(", "decl", ",", "true", ")", ";", "if", "(", "newid", "!=", "NULL_TREE", ")", "{", "rtx", "rtlname", "=", "XEXP", "(", "rtl", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "rtlname", ")", "==", "MEM", ")", "rtlname", "=", "XEXP", "(", "rtlname", ",", "0", ")", ";", "XSTR", "(", "rtlname", ",", "0", ")", "=", "IDENTIFIER_POINTER", "(", "newid", ")", ";", "change_decl_assembler_name", "(", "decl", ",", "newid", ")", ";", "}", "}", "if", "(", "i386_pe_dllexport_p", "(", "decl", ")", ")", "i386_pe_mark_dllexport", "(", "decl", ")", ";", "else", "if", "(", "i386_pe_dllimport_p", "(", "decl", ")", ")", "i386_pe_mark_dllimport", "(", "decl", ")", ";", "else", "gcc_assert", "(", "!", "(", "(", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", "||", "TREE_CODE", "(", "decl", ")", "==", "VAR_DECL", ")", "&&", "rtl", "!=", "NULL_RTX", "&&", "GET_CODE", "(", "rtl", ")", "==", "MEM", "&&", "GET_CODE", "(", "XEXP", "(", "rtl", ",", "0", ")", ")", "==", "MEM", "&&", "GET_CODE", "(", "XEXP", "(", "XEXP", "(", "rtl", ",", "0", ")", ",", "0", ")", ")", "==", "SYMBOL_REF", "&&", "i386_pe_dllimport_name_p", "(", "XSTR", "(", "XEXP", "(", "XEXP", "(", "rtl", ",", "0", ")", ",", "0", ")", ",", "0", ")", ")", ")", ")", ";", "}", ""], "natrual_language": ["Cover", "function", "to", "implement", "ENCODE_SECTION_INFO", "."], "TS_V_token": ["i386", "\"stdcall\"", "\"fastcall\"", "0", "0", "0", "0", "0", "0", "0", "0", "0"], "File": "winnt3", "Func": "i386_pe_encode_section_info", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39165, "Length": 252}
{"ground_truth": ["", "void", "i386_pe_file_end", "(", "void", ")", "{", "struct", "extern_list", "*", "p", ";", "ix86_file_end", "(", ")", ";", "for", "(", "p", "=", "extern_head", ";", "p", "!=", "NULL", ";", "p", "=", "p", "->", "next", ")", "{", "tree", "decl", ";", "decl", "=", "p", "->", "decl", ";", "if", "(", "!", "TREE_ASM_WRITTEN", "(", "decl", ")", "&&", "TREE_SYMBOL_REFERENCED", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ")", "{", "TREE_ASM_WRITTEN", "(", "decl", ")", "=", "1", ";", "i386_pe_declare_function_type", "(", "asm_out_file", ",", "p", "->", "name", ",", "TREE_PUBLIC", "(", "decl", ")", ")", ";", "}", "}", "if", "(", "export_head", ")", "{", "struct", "export_list", "*", "q", ";", "drectve_section", "(", ")", ";", "for", "(", "q", "=", "export_head", ";", "q", "!=", "NULL", ";", "q", "=", "q", "->", "next", ")", "{", "fprintf", "(", "asm_out_file", ",", "\"\\t.ascii \\\" -export:%s%s\\\"\\n\"", ",", "i386_pe_strip_name_encoding", "(", "q", "->", "name", ")", ",", "(", "q", "->", "is_data", ")", "?", "\",data\"", ":", "\"\"", ")", ";", "}", "}", "}", ""], "natrual_language": ["This", "is", "called", "at", "the", "end", "of", "assembly", ".", "For", "each", "external", "function", "which", "has", "not", "been", "defined", ",", "we", "output", "a", "declaration", "now", ".", "We", "also", "output", "the", ".drectve", "section", "."], "TS_V_token": ["i386", "1", "\"\\t.ascii \\\" -export:%s%s\\\"\\n\"", "\",data\"", "\"\""], "File": "winnt3", "Func": "i386_pe_file_end", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39166, "Length": 139}
{"ground_truth": ["", "static", "void", "i386_pe_mark_dllexport", "(", "tree", "decl", ")", "{", "const", "char", "*", "oldname", ";", "char", "*", "newname", ";", "rtx", "rtlname", ";", "rtx", "symref", ";", "tree", "idp", ";", "rtlname", "=", "XEXP", "(", "DECL_RTL", "(", "decl", ")", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "rtlname", ")", "==", "MEM", ")", "rtlname", "=", "XEXP", "(", "rtlname", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "rtlname", ")", "==", "SYMBOL_REF", ")", ";", "oldname", "=", "XSTR", "(", "rtlname", ",", "0", ")", ";", "if", "(", "i386_pe_dllimport_name_p", "(", "oldname", ")", ")", "{", "warning", "(", "0", ",", "\"inconsistent dll linkage for %q+D, dllexport assumed\"", ",", "decl", ")", ";", "oldname", "+=", "strlen", "(", "DLL_IMPORT_PREFIX", ")", ";", "}", "else", "if", "(", "i386_pe_dllexport_name_p", "(", "oldname", ")", ")", "return", ";", "newname", "=", "alloca", "(", "strlen", "(", "DLL_EXPORT_PREFIX", ")", "+", "strlen", "(", "oldname", ")", "+", "1", ")", ";", "sprintf", "(", "newname", ",", "\"%s%s\"", ",", "DLL_EXPORT_PREFIX", ",", "oldname", ")", ";", "idp", "=", "get_identifier", "(", "newname", ")", ";", "symref", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "IDENTIFIER_POINTER", "(", "idp", ")", ")", ";", "SYMBOL_REF_DECL", "(", "symref", ")", "=", "decl", ";", "XEXP", "(", "DECL_RTL", "(", "decl", ")", ",", "0", ")", "=", "symref", ";", "}", ""], "natrual_language": ["Mark", "a", "DECL", "as", "being", "dllexport", "'d", ".", "Note", "that", "we", "override", "the", "previous", "setting", "(", "e.g", ".", ":", "dllimport", ")", "."], "TS_V_token": ["i386", "0", "0", "0", "0", "\"inconsistent dll linkage for %q+D, dllexport assumed\"", "1", "\"%s%s\"", "0"], "File": "winnt3", "Func": "i386_pe_mark_dllexport", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39167, "Length": 177}
{"ground_truth": ["", "static", "void", "i386_pe_mark_dllimport", "(", "tree", "decl", ")", "{", "const", "char", "*", "oldname", ";", "char", "*", "newname", ";", "tree", "idp", ";", "rtx", "rtlname", ",", "newrtl", ";", "rtx", "symref", ";", "rtlname", "=", "XEXP", "(", "DECL_RTL", "(", "decl", ")", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "rtlname", ")", "==", "MEM", ")", "rtlname", "=", "XEXP", "(", "rtlname", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "rtlname", ")", "==", "SYMBOL_REF", ")", ";", "oldname", "=", "XSTR", "(", "rtlname", ",", "0", ")", ";", "if", "(", "i386_pe_dllexport_name_p", "(", "oldname", ")", ")", "{", "error", "(", "\"%qs declared as both exported to and imported from a DLL\"", ",", "IDENTIFIER_POINTER", "(", "DECL_NAME", "(", "decl", ")", ")", ")", ";", "return", ";", "}", "else", "if", "(", "i386_pe_dllimport_name_p", "(", "oldname", ")", ")", "{", "gcc_assert", "(", "DECL_EXTERNAL", "(", "decl", ")", "&&", "TREE_PUBLIC", "(", "decl", ")", "&&", "DECL_DLLIMPORT_P", "(", "decl", ")", ")", ";", "return", ";", "}", "newname", "=", "alloca", "(", "strlen", "(", "DLL_IMPORT_PREFIX", ")", "+", "strlen", "(", "oldname", ")", "+", "1", ")", ";", "sprintf", "(", "newname", ",", "\"%s%s\"", ",", "DLL_IMPORT_PREFIX", ",", "oldname", ")", ";", "idp", "=", "get_identifier", "(", "newname", ")", ";", "symref", "=", "gen_rtx_SYMBOL_REF", "(", "Pmode", ",", "IDENTIFIER_POINTER", "(", "idp", ")", ")", ";", "SYMBOL_REF_DECL", "(", "symref", ")", "=", "decl", ";", "newrtl", "=", "gen_rtx_MEM", "(", "Pmode", ",", "symref", ")", ";", "XEXP", "(", "DECL_RTL", "(", "decl", ")", ",", "0", ")", "=", "newrtl", ";", "DECL_DLLIMPORT_P", "(", "decl", ")", "=", "1", ";", "}", ""], "natrual_language": ["Mark", "a", "DECL", "as", "being", "dllimport", "'d", "."], "TS_V_token": ["i386", "0", "0", "0", "\"%qs declared as both exported to and imported from a DLL\"", "1", "\"%s%s\"", "0", "1"], "File": "winnt3", "Func": "i386_pe_mark_dllimport", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39168, "Length": 214}
{"ground_truth": ["", "void", "i386_pe_record_exported_symbol", "(", "const", "char", "*", "name", ",", "int", "is_data", ")", "{", "struct", "export_list", "*", "p", ";", "p", "=", "(", "struct", "export_list", "*", ")", "ggc_alloc", "(", "sizeof", "*", "p", ")", ";", "p", "->", "next", "=", "export_head", ";", "p", "->", "name", "=", "name", ";", "p", "->", "is_data", "=", "is_data", ";", "export_head", "=", "p", ";", "}", ""], "natrual_language": ["Assemble", "an", "export", "symbol", "entry", ".", "We", "need", "to", "keep", "a", "list", "of", "these", ",", "so", "that", "we", "can", "output", "the", "export", "list", "at", "the", "end", "of", "the", "assembly", ".", "We", "used", "to", "output", "these", "export", "symbols", "in", "each", "function", ",", "but", "that", "causes", "problems", "with", "GNU", "ld", "when", "the", "sections", "are", "linkonce", "."], "TS_V_token": ["i386"], "File": "winnt3", "Func": "i386_pe_record_exported_symbol", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39169, "Length": 54}
{"ground_truth": ["", "void", "i386_pe_record_external_function", "(", "tree", "decl", ",", "const", "char", "*", "name", ")", "{", "struct", "extern_list", "*", "p", ";", "p", "=", "(", "struct", "extern_list", "*", ")", "ggc_alloc", "(", "sizeof", "*", "p", ")", ";", "p", "->", "next", "=", "extern_head", ";", "p", "->", "decl", "=", "decl", ";", "p", "->", "name", "=", "name", ";", "extern_head", "=", "p", ";", "}", ""], "natrual_language": ["Assemble", "an", "external", "function", "reference", ".", "We", "need", "to", "keep", "a", "list", "of", "these", ",", "so", "that", "we", "can", "output", "the", "function", "types", "at", "the", "end", "of", "the", "assembly", ".", "We", "ca", "n't", "output", "the", "types", "now", ",", "because", "we", "might", "see", "a", "definition", "of", "the", "function", "later", "on", "and", "emit", "debugging", "information", "for", "it", "then", "."], "TS_V_token": ["i386"], "File": "winnt3", "Func": "i386_pe_record_external_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39170, "Length": 54}
{"ground_truth": ["", "const", "char", "*", "i386_pe_strip_name_encoding", "(", "const", "char", "*", "str", ")", "{", "if", "(", "strncmp", "(", "str", ",", "DLL_IMPORT_PREFIX", ",", "strlen", "(", "DLL_IMPORT_PREFIX", ")", ")", "==", "0", ")", "str", "+=", "strlen", "(", "DLL_IMPORT_PREFIX", ")", ";", "else", "if", "(", "strncmp", "(", "str", ",", "DLL_EXPORT_PREFIX", ",", "strlen", "(", "DLL_EXPORT_PREFIX", ")", ")", "==", "0", ")", "str", "+=", "strlen", "(", "DLL_EXPORT_PREFIX", ")", ";", "if", "(", "*", "str", "==", "'*'", ")", "str", "+=", "1", ";", "return", "str", ";", "}", ""], "natrual_language": ["Strip", "only", "the", "leading", "encoding", ",", "leaving", "the", "stdcall", "suffix", "and", "fastcall", "prefix", "if", "it", "exists", "."], "TS_V_token": ["i386", "0", "0", "1"], "File": "winnt3", "Func": "i386_pe_strip_name_encoding", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39171, "Length": 73}
{"ground_truth": ["", "const", "char", "*", "i386_pe_strip_name_encoding_full", "(", "const", "char", "*", "str", ")", "{", "const", "char", "*", "p", ";", "const", "char", "*", "name", "=", "i386_pe_strip_name_encoding", "(", "str", ")", ";", "if", "(", "*", "name", "==", "'@'", ")", "name", "++", ";", "p", "=", "strchr", "(", "name", ",", "'@'", ")", ";", "if", "(", "p", ")", "return", "ggc_alloc_string", "(", "name", ",", "p", "-", "name", ")", ";", "return", "name", ";", "}", ""], "natrual_language": ["Also", "strip", "the", "fastcall", "prefix", "and", "stdcall", "suffix", "."], "TS_V_token": ["i386"], "File": "winnt3", "Func": "i386_pe_strip_name_encoding_full", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39172, "Length": 63}
{"ground_truth": ["", "void", "i386_pe_unique_section", "(", "tree", "decl", ",", "int", "reloc", ")", "{", "int", "len", ";", "const", "char", "*", "name", ",", "*", "prefix", ";", "char", "*", "string", ";", "name", "=", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "name", "=", "i386_pe_strip_name_encoding_full", "(", "name", ")", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "prefix", "=", "\".text$\"", ";", "else", "if", "(", "decl_readonly_section", "(", "decl", ",", "reloc", ")", ")", "prefix", "=", "\".rdata$\"", ";", "else", "prefix", "=", "\".data$\"", ";", "len", "=", "strlen", "(", "name", ")", "+", "strlen", "(", "prefix", ")", ";", "string", "=", "alloca", "(", "len", "+", "1", ")", ";", "sprintf", "(", "string", ",", "\"%s%s\"", ",", "prefix", ",", "name", ")", ";", "DECL_SECTION_NAME", "(", "decl", ")", "=", "build_string", "(", "len", ",", "string", ")", ";", "}", ""], "natrual_language": ["Cover", "function", "for", "UNIQUE_SECTION", "."], "TS_V_token": ["i386", "\".text$\"", "\".rdata$\"", "\".data$\"", "1", "\"%s%s\""], "File": "winnt3", "Func": "i386_pe_unique_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39173, "Length": 119}
{"ground_truth": ["", "bool", "i386_pe_valid_dllimport_attribute_p", "(", "tree", "decl", ")", "{", "if", "(", "TARGET_NOP_FUN_DLLIMPORT", "&&", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Handle", "the", "-mno-fun-dllimport", "target", "switch", "."], "TS_V_token": ["i386"], "File": "winnt3", "Func": "i386_pe_valid_dllimport_attribute_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39174, "Length": 25}
{"ground_truth": ["", "tree", "ix86_handle_selectany_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", "ATTRIBUTE_UNUSED", ",", "int", "flags", "ATTRIBUTE_UNUSED", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "==", "VAR_DECL", "&&", "TREE_PUBLIC", "(", "*", "node", ")", "&&", "(", "DECL_INITIAL", "(", "*", "node", ")", "||", "TYPE_NEEDS_CONSTRUCTING", "(", "TREE_TYPE", "(", "*", "node", ")", ")", ")", ")", "make_decl_one_only", "(", "*", "node", ")", ";", "else", "{", "error", "(", "\"%qs attribute applies only to initialized variables\"", "\" with external linkage\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "selectany", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qs attribute applies only to initialized variables\"", "\" with external linkage\""], "File": "winnt3", "Func": "ix86_handle_selectany_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39175, "Length": 85}
{"ground_truth": ["", "tree", "ix86_handle_shared_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", "args", "ATTRIBUTE_UNUSED", ",", "int", "flags", "ATTRIBUTE_UNUSED", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "VAR_DECL", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qs attribute only applies to variables\"", ",", "IDENTIFIER_POINTER", "(", "name", ")", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "shared", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qs attribute only applies to variables\""], "File": "winnt3", "Func": "ix86_handle_shared_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39176, "Length": 56}
{"ground_truth": ["", "inline", "bool", "wrapped_symbol_hasher", "::", "equal", "(", "const", "value_type", "*", "x", ",", "const", "compare_type", "*", "y", ")", "{", "return", "!", "strcmp", "(", "x", ",", "y", ")", ";", "}", ""], "natrual_language": ["Compare", "H1", "and", "H2", "for", "equivalence", "."], "TS_V_token": ["i386"], "File": "winnt4", "Func": "equal", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39177, "Length": 27}
{"ground_truth": ["", "inline", "hashval_t", "wrapped_symbol_hasher", "::", "hash", "(", "const", "value_type", "*", "v", ")", "{", "return", "htab_hash_string", "(", "v", ")", ";", "}", ""], "natrual_language": ["Hash", "function", "for", "builtin", "functions", "with", "up", "to", "3", "arguments", "and", "a", "return", "type", "."], "TS_V_token": ["i386"], "File": "winnt4", "Func": "hash", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39178, "Length": 19}
{"ground_truth": ["", "static", "const", "char", "*", "i386_find_on_wrapper_list", "(", "const", "char", "*", "target", ")", "{", "static", "char", "first_time", "=", "1", ";", "static", "hash_table", "<", "wrapped_symbol_hasher", ">", "*", "wrappers", ";", "if", "(", "first_time", ")", "{", "static", "char", "wrapper_list_buffer", "[", "]", "=", "CXX_WRAP_SPEC_LIST", ";", "char", "*", "bufptr", ";", "wrappers", "=", "new", "hash_table", "<", "wrapped_symbol_hasher", ">", "(", "8", ")", ";", "for", "(", "bufptr", "=", "wrapper_list_buffer", ";", "*", "bufptr", ";", "++", "bufptr", ")", "{", "char", "*", "found", "=", "NULL", ";", "if", "(", "ISSPACE", "(", "*", "bufptr", ")", ")", "continue", ";", "if", "(", "*", "bufptr", "==", "'_'", ")", "found", "=", "bufptr", ";", "while", "(", "*", "bufptr", "&&", "!", "ISSPACE", "(", "*", "bufptr", ")", ")", "++", "bufptr", ";", "if", "(", "*", "bufptr", ")", "*", "bufptr", "=", "0", ";", "if", "(", "found", ")", "*", "wrappers", "->", "find_slot", "(", "found", ",", "INSERT", ")", "=", "found", ";", "}", "first_time", "=", "0", ";", "}", "return", "wrappers", "->", "find", "(", "target", ")", ";", "}", ""], "natrual_language": ["Search", "for", "a", "function", "named", "TARGET", "in", "the", "list", "of", "library", "wrappers", "we", "are", "using", ",", "returning", "a", "pointer", "to", "it", "if", "found", "or", "NULL", "if", "not", ".", "This", "function", "might", "be", "called", "on", "quite", "a", "few", "symbols", ",", "and", "we", "only", "have", "the", "list", "of", "names", "of", "wrapped", "functions", "available", "to", "us", "as", "a", "spec", "string", ",", "so", "first", "time", "round", "we", "lazily", "initialise", "a", "hash", "table", "to", "make", "things", "quicker", "."], "TS_V_token": ["i386", "1", "8", "0", "0"], "File": "winnt4", "Func": "i386_find_on_wrapper_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39179, "Length": 150}
{"ground_truth": ["", "void", "i386_pe_asm_output_aligned_decl_common", "(", "FILE", "*", "stream", ",", "tree", "decl", ",", "const", "char", "*", "name", ",", "HOST_WIDE_INT", "size", ",", "HOST_WIDE_INT", "align", ")", "{", "HOST_WIDE_INT", "rounded", ";", "rounded", "=", "size", "?", "size", ":", "1", ";", "rounded", "+=", "(", "BIGGEST_ALIGNMENT", "/", "BITS_PER_UNIT", ")", "-", "1", ";", "rounded", "=", "(", "rounded", "/", "(", "BIGGEST_ALIGNMENT", "/", "BITS_PER_UNIT", ")", "*", "(", "BIGGEST_ALIGNMENT", "/", "BITS_PER_UNIT", ")", ")", ";", "i386_pe_maybe_record_exported_symbol", "(", "decl", ",", "name", ",", "1", ")", ";", "fprintf", "(", "stream", ",", "\"\\t.comm\\t\"", ")", ";", "assemble_name", "(", "stream", ",", "name", ")", ";", "if", "(", "use_pe_aligned_common", ")", "fprintf", "(", "stream", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\", %d\\n\"", ",", "size", "?", "size", ":", "(", "HOST_WIDE_INT", ")", "1", ",", "exact_log2", "(", "align", ")", "-", "exact_log2", "(", "CHAR_BIT", ")", ")", ";", "else", "fprintf", "(", "stream", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\t\"", "ASM_COMMENT_START", "\" \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "rounded", ",", "size", ")", ";", "}", ""], "natrual_language": ["Beware", ",", "DECL", "may", "be", "NULL", "if", "compile_file", "(", ")", "is", "emitting", "the", "LTO", "marker", "."], "TS_V_token": ["i386", "1", "1", "1", "\"\\t.comm\\t\"", "\", \"", "\", %d\\n\"", "1", "\", \"", "\"\\t\"", "\" \"", "\"\\n\""], "File": "winnt4", "Func": "i386_pe_asm_output_aligned_decl_common", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39180, "Length": 135}
{"ground_truth": ["", "void", "i386_pe_encode_section_info", "(", "tree", "decl", ",", "rtx", "rtl", ",", "int", "first", ")", "{", "rtx", "symbol", ";", "int", "flags", ";", "default_encode_section_info", "(", "decl", ",", "rtl", ",", "first", ")", ";", "if", "(", "!", "MEM_P", "(", "rtl", ")", ")", "return", ";", "symbol", "=", "XEXP", "(", "rtl", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "symbol", ")", "==", "SYMBOL_REF", ")", ";", "switch", "(", "TREE_CODE", "(", "decl", ")", ")", "{", "case", "FUNCTION_DECL", ":", "if", "(", "strcmp", "(", "lang_hooks", ".", "name", ",", "\"GNU Ada\"", ")", "==", "0", ")", "{", "tree", "new_id", ";", "tree", "old_id", "=", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ";", "const", "char", "*", "asm_str", "=", "IDENTIFIER_POINTER", "(", "old_id", ")", ";", "if", "(", "!", "(", "*", "asm_str", "==", "'*'", "||", "strchr", "(", "asm_str", ",", "'@'", ")", ")", "&&", "(", "new_id", "=", "i386_pe_maybe_mangle_decl_assembler_name", "(", "decl", ",", "old_id", ")", ")", ")", "XSTR", "(", "symbol", ",", "0", ")", "=", "IDENTIFIER_POINTER", "(", "new_id", ")", ";", "}", "break", ";", "case", "VAR_DECL", ":", "if", "(", "lookup_attribute", "(", "\"selectany\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ")", "{", "if", "(", "DECL_INITIAL", "(", "decl", ")", "||", "TYPE_NEEDS_CONSTRUCTING", "(", "TREE_TYPE", "(", "decl", ")", ")", ")", "make_decl_one_only", "(", "decl", ",", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "else", "error", "(", "\"%q+D:'selectany' attribute applies only to \"", "\"initialized objects\"", ",", "decl", ")", ";", "}", "break", ";", "default", ":", "return", ";", "}", "flags", "=", "(", "SYMBOL_REF_FLAGS", "(", "symbol", ")", "&", "~", "(", "SYMBOL_FLAG_DLLIMPORT", "|", "SYMBOL_FLAG_DLLEXPORT", ")", ")", ";", "if", "(", "i386_pe_determine_dllexport_p", "(", "decl", ")", ")", "flags", "|=", "SYMBOL_FLAG_DLLEXPORT", ";", "else", "if", "(", "i386_pe_determine_dllimport_p", "(", "decl", ")", ")", "flags", "|=", "SYMBOL_FLAG_DLLIMPORT", ";", "SYMBOL_REF_FLAGS", "(", "symbol", ")", "=", "flags", ";", "}", ""], "natrual_language": ["Cover", "function", "to", "implement", "ENCODE_SECTION_INFO", "."], "TS_V_token": ["i386", "0", "\"GNU Ada\"", "0", "0", "\"selectany\"", "\"%q+D:'selectany' attribute applies only to \"", "\"initialized objects\""], "File": "winnt4", "Func": "i386_pe_encode_section_info", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39181, "Length": 251}
{"ground_truth": ["", "void", "i386_pe_seh_end_prologue", "(", "FILE", "*", "f", ")", "{", "struct", "seh_frame_state", "*", "seh", ";", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "if", "(", "cfun", "->", "is_thunk", ")", "return", ";", "seh", "=", "cfun", "->", "machine", "->", "seh", ";", "XDELETE", "(", "seh", ")", ";", "cfun", "->", "machine", "->", "seh", "=", "NULL", ";", "fputs", "(", "\"\\t.seh_endprologue\\n\"", ",", "f", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "for", "the", "end", "of", "the", "prologue", "."], "TS_V_token": ["i386", "\"\\t.seh_endprologue\\n\""], "File": "winnt4", "Func": "i386_pe_seh_end_prologue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39182, "Length": 57}
{"ground_truth": ["", "static", "void", "i386_pe_seh_fini", "(", "FILE", "*", "f", ")", "{", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "if", "(", "cfun", "->", "is_thunk", ")", "return", ";", "fputs", "(", "\"\\t.seh_endproc\\n\"", ",", "f", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "for", "the", "end", "of", "the", "function", "."], "TS_V_token": ["i386", "\"\\t.seh_endproc\\n\""], "File": "winnt4", "Func": "i386_pe_seh_fini", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39183, "Length": 32}
{"ground_truth": ["", "void", "i386_pe_seh_unwind_emit", "(", "FILE", "*", "asm_out_file", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "note", ",", "pat", ";", "bool", "handled_one", "=", "false", ";", "struct", "seh_frame_state", "*", "seh", ";", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "seh", "=", "cfun", "->", "machine", "->", "seh", ";", "if", "(", "seh", "==", "NULL", ")", "return", ";", "if", "(", "NOTE_P", "(", "insn", ")", "||", "!", "RTX_FRAME_RELATED_P", "(", "insn", ")", ")", "return", ";", "for", "(", "note", "=", "REG_NOTES", "(", "insn", ")", ";", "note", ";", "note", "=", "XEXP", "(", "note", ",", "1", ")", ")", "{", "switch", "(", "REG_NOTE_KIND", "(", "note", ")", ")", "{", "case", "REG_FRAME_RELATED_EXPR", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "goto", "found", ";", "case", "REG_CFA_DEF_CFA", ":", "case", "REG_CFA_EXPRESSION", ":", "gcc_unreachable", "(", ")", ";", "break", ";", "case", "REG_CFA_REGISTER", ":", "gcc_unreachable", "(", ")", ";", "case", "REG_CFA_ADJUST_CFA", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "if", "(", "pat", "==", "NULL", ")", "{", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", "pat", "=", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", ";", "}", "seh_cfa_adjust_cfa", "(", "asm_out_file", ",", "seh", ",", "pat", ")", ";", "handled_one", "=", "true", ";", "break", ";", "case", "REG_CFA_OFFSET", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "if", "(", "pat", "==", "NULL", ")", "pat", "=", "single_set", "(", "insn", ")", ";", "seh_cfa_offset", "(", "asm_out_file", ",", "seh", ",", "pat", ")", ";", "handled_one", "=", "true", ";", "break", ";", "default", ":", "break", ";", "}", "}", "if", "(", "handled_one", ")", "return", ";", "pat", "=", "PATTERN", "(", "insn", ")", ";", "found", ":", "seh_frame_related_expr", "(", "asm_out_file", ",", "seh", ",", "pat", ")", ";", "}", ""], "natrual_language": ["This", "function", "looks", "at", "a", "single", "insn", "and", "emits", "any", "SEH", "directives", "required", "for", "unwind", "of", "this", "insn", "."], "TS_V_token": ["i386", "1", "0", "0", "0", "0", "0"], "File": "winnt4", "Func": "i386_pe_seh_unwind_emit", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39184, "Length": 261}
{"ground_truth": ["", "tree", "ix86_handle_selectany_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "VAR_DECL", "||", "!", "TREE_PUBLIC", "(", "*", "node", ")", ")", "{", "error", "(", "\"%qE attribute applies only to initialized variables\"", "\" with external linkage\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "selectany", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qE attribute applies only to initialized variables\"", "\" with external linkage\""], "File": "winnt4", "Func": "ix86_handle_selectany_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39185, "Length": 55}
{"ground_truth": ["", "static", "void", "seh_emit_push", "(", "FILE", "*", "f", ",", "struct", "seh_frame_state", "*", "seh", ",", "rtx", "reg", ")", "{", "unsigned", "int", "regno", "=", "REGNO", "(", "reg", ")", ";", "gcc_checking_assert", "(", "GENERAL_REGNO_P", "(", "regno", ")", ")", ";", "seh", "->", "sp_offset", "+=", "UNITS_PER_WORD", ";", "if", "(", "seh", "->", "cfa_reg", "==", "stack_pointer_rtx", ")", "seh", "->", "cfa_offset", "+=", "UNITS_PER_WORD", ";", "fputs", "(", "\"\\t.seh_pushreg\\t\"", ",", "f", ")", ";", "print_reg", "(", "reg", ",", "0", ",", "f", ")", ";", "fputc", "(", "'\\n'", ",", "f", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "to", "save", "REG", "via", "a", "PUSH", "."], "TS_V_token": ["i386", "\"\\t.seh_pushreg\\t\"", "0"], "File": "winnt4", "Func": "seh_emit_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39186, "Length": 78}
{"ground_truth": ["", "static", "void", "seh_emit_save", "(", "FILE", "*", "f", ",", "struct", "seh_frame_state", "*", "seh", ",", "rtx", "reg", ",", "HOST_WIDE_INT", "cfa_offset", ")", "{", "unsigned", "int", "regno", "=", "REGNO", "(", "reg", ")", ";", "HOST_WIDE_INT", "offset", ";", "gcc_assert", "(", "seh", "->", "sp_offset", ">=", "cfa_offset", ")", ";", "offset", "=", "seh", "->", "sp_offset", "-", "cfa_offset", ";", "fputs", "(", "(", "SSE_REGNO_P", "(", "regno", ")", "?", "\"\\t.seh_savexmm\\t\"", ":", "GENERAL_REGNO_P", "(", "regno", ")", "?", "\"\\t.seh_savereg\\t\"", ":", "(", "gcc_unreachable", "(", ")", ",", "\"\"", ")", ")", ",", "f", ")", ";", "print_reg", "(", "reg", ",", "0", ",", "f", ")", ";", "fprintf", "(", "f", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "to", "save", "REG", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "\"\\t.seh_savexmm\\t\"", "\"\\t.seh_savereg\\t\"", "\"\"", "0", "\", \"", "\"\\n\""], "File": "winnt4", "Func": "seh_emit_save", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39187, "Length": 99}
{"ground_truth": ["", "void", "i386_pe_seh_cold_init", "(", "FILE", "*", "f", ",", "const", "char", "*", "name", ")", "{", "struct", "seh_frame_state", "*", "seh", ";", "HOST_WIDE_INT", "alloc_offset", ",", "offset", ";", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "if", "(", "cfun", "->", "is_thunk", ")", "return", ";", "seh", "=", "cfun", "->", "machine", "->", "seh", ";", "fputs", "(", "\"\\t.seh_proc\\t\"", ",", "f", ")", ";", "assemble_name", "(", "f", ",", "name", ")", ";", "fputc", "(", "'\\n'", ",", "f", ")", ";", "if", "(", "crtl", "->", "accesses_prior_frames", ")", "alloc_offset", "=", "seh", "->", "cfa_offset", ";", "else", "alloc_offset", "=", "seh", "->", "sp_offset", ";", "offset", "=", "alloc_offset", "-", "INCOMING_FRAME_SP_OFFSET", ";", "if", "(", "offset", ">", "0", "&&", "offset", "<", "SEH_MAX_FRAME_SIZE", ")", "fprintf", "(", "f", ",", "\"\\t.seh_stackalloc\\t\"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "for", "(", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "seh", "->", "reg_offset", "[", "regno", "]", ">", "0", ")", "{", "fputs", "(", "(", "SSE_REGNO_P", "(", "regno", ")", "?", "\"\\t.seh_savexmm\\t\"", ":", "GENERAL_REGNO_P", "(", "regno", ")", "?", "\"\\t.seh_savereg\\t\"", ":", "(", "gcc_unreachable", "(", ")", ",", "\"\"", ")", ")", ",", "f", ")", ";", "print_reg", "(", "gen_rtx_REG", "(", "DImode", ",", "regno", ")", ",", "0", ",", "f", ")", ";", "fprintf", "(", "f", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "alloc_offset", "-", "seh", "->", "reg_offset", "[", "regno", "]", ")", ";", "}", "if", "(", "seh", "->", "cfa_reg", "!=", "stack_pointer_rtx", ")", "{", "offset", "=", "alloc_offset", "-", "seh", "->", "cfa_offset", ";", "gcc_assert", "(", "(", "offset", "&", "15", ")", "==", "0", ")", ";", "gcc_assert", "(", "IN_RANGE", "(", "offset", ",", "0", ",", "240", ")", ")", ";", "fputs", "(", "\"\\t.seh_setframe\\t\"", ",", "f", ")", ";", "print_reg", "(", "seh", "->", "cfa_reg", ",", "0", ",", "f", ")", ";", "fprintf", "(", "f", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "}", "if", "(", "crtl", "->", "accesses_prior_frames", ")", "{", "offset", "=", "seh", "->", "sp_offset", "-", "alloc_offset", ";", "if", "(", "offset", ">", "0", "&&", "offset", "<", "SEH_MAX_FRAME_SIZE", ")", "fprintf", "(", "f", ",", "\"\\t.seh_stackalloc\\t\"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "}", "fputs", "(", "\"\\t.seh_endprologue\\n\"", ",", "f", ")", ";", "}", ""], "natrual_language": ["Emit", "assembler", "directives", "to", "reconstruct", "the", "SEH", "state", "."], "TS_V_token": ["i386", "\"\\t.seh_proc\\t\"", "0", "\"\\t.seh_stackalloc\\t\"", "\"\\n\"", "0", "0", "\"\\t.seh_savexmm\\t\"", "\"\\t.seh_savereg\\t\"", "\"\"", "0", "\", \"", "\"\\n\"", "15", "0", "0", "240", "\"\\t.seh_setframe\\t\"", "0", "\", \"", "\"\\n\"", "0", "\"\\t.seh_stackalloc\\t\"", "\"\\n\"", "\"\\t.seh_endprologue\\n\""], "File": "winnt7", "Func": "i386_pe_seh_cold_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39188, "Length": 316}
{"ground_truth": ["", "static", "tree", "associated_type", "(", "tree", "decl", ")", "{", "return", "(", "DECL_CONTEXT", "(", "decl", ")", "&&", "TYPE_P", "(", "DECL_CONTEXT", "(", "decl", ")", ")", "?", "DECL_CONTEXT", "(", "decl", ")", ":", "NULL_TREE", ")", ";", "}", ""], "natrual_language": ["Return", "the", "type", "that", "we", "should", "use", "to", "determine", "if", "DECL", "is", "imported", "or", "exported", "."], "TS_V_token": ["i386"], "File": "winnt", "Func": "associated_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39189, "Length": 32}
{"ground_truth": ["", "static", "tree", "gen_stdcall_or_fastcall_suffix", "(", "tree", "decl", ",", "tree", "id", ",", "bool", "fastcall", ")", "{", "HOST_WIDE_INT", "total", "=", "0", ";", "const", "char", "*", "old_str", "=", "IDENTIFIER_POINTER", "(", "id", "!=", "NULL_TREE", "?", "id", ":", "DECL_NAME", "(", "decl", ")", ")", ";", "char", "*", "new_str", ",", "*", "p", ";", "tree", "type", "=", "TREE_TYPE", "(", "DECL_ORIGIN", "(", "decl", ")", ")", ";", "tree", "arg", ";", "function_args_iterator", "args_iter", ";", "gcc_assert", "(", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", ";", "if", "(", "prototype_p", "(", "type", ")", ")", "{", "if", "(", "stdarg_p", "(", "type", ")", ")", "return", "NULL_TREE", ";", "FOREACH_FUNCTION_ARGS", "(", "type", ",", "arg", ",", "args_iter", ")", "{", "HOST_WIDE_INT", "parm_size", ";", "HOST_WIDE_INT", "parm_boundary_bytes", "=", "PARM_BOUNDARY", "/", "BITS_PER_UNIT", ";", "if", "(", "!", "COMPLETE_TYPE_P", "(", "arg", ")", ")", "break", ";", "parm_size", "=", "int_size_in_bytes", "(", "arg", ")", ";", "if", "(", "parm_size", "<", "0", ")", "break", ";", "parm_size", "=", "(", "(", "parm_size", "+", "parm_boundary_bytes", "-", "1", ")", "/", "parm_boundary_bytes", "*", "parm_boundary_bytes", ")", ";", "total", "+=", "parm_size", ";", "}", "}", "p", "=", "new_str", "=", "XALLOCAVEC", "(", "char", ",", "1", "+", "strlen", "(", "old_str", ")", "+", "1", "+", "8", "+", "1", ")", ";", "if", "(", "fastcall", ")", "*", "p", "++", "=", "FASTCALL_PREFIX", ";", "sprintf", "(", "p", ",", "\"%s@\"", "HOST_WIDE_INT_PRINT_DEC", ",", "old_str", ",", "total", ")", ";", "return", "get_identifier", "(", "new_str", ")", ";", "}", ""], "natrual_language": ["Return", "string", "which", "is", "the", "former", "assembler", "name", "modified", "with", "a", "suffix", "consisting", "of", "an", "atsign", "(", "@", ")", "followed", "by", "the", "number", "of", "bytes", "of", "arguments", ".", "If", "FASTCALL", "is", "true", ",", "also", "add", "the", "FASTCALL_PREFIX", "."], "TS_V_token": ["i386", "0", "0", "1", "1", "1", "8", "1", "\"%s@\""], "File": "winnt", "Func": "gen_stdcall_or_fastcall_suffix", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39190, "Length": 207}
{"ground_truth": ["", "static", "const", "char", "*", "i386_find_on_wrapper_list", "(", "const", "char", "*", "target", ")", "{", "static", "char", "first_time", "=", "1", ";", "static", "hash_table", "<", "nofree_string_hash", ">", "*", "wrappers", ";", "if", "(", "first_time", ")", "{", "static", "char", "wrapper_list_buffer", "[", "]", "=", "CXX_WRAP_SPEC_LIST", ";", "char", "*", "bufptr", ";", "wrappers", "=", "new", "hash_table", "<", "nofree_string_hash", ">", "(", "8", ")", ";", "for", "(", "bufptr", "=", "wrapper_list_buffer", ";", "*", "bufptr", ";", "++", "bufptr", ")", "{", "char", "*", "found", "=", "NULL", ";", "if", "(", "ISSPACE", "(", "*", "bufptr", ")", ")", "continue", ";", "if", "(", "*", "bufptr", "==", "'_'", ")", "found", "=", "bufptr", ";", "while", "(", "*", "bufptr", "&&", "!", "ISSPACE", "(", "*", "bufptr", ")", ")", "++", "bufptr", ";", "if", "(", "*", "bufptr", ")", "*", "bufptr", "=", "0", ";", "if", "(", "found", ")", "*", "wrappers", "->", "find_slot", "(", "found", ",", "INSERT", ")", "=", "found", ";", "}", "first_time", "=", "0", ";", "}", "return", "wrappers", "->", "find", "(", "target", ")", ";", "}", ""], "natrual_language": ["Search", "for", "a", "function", "named", "TARGET", "in", "the", "list", "of", "library", "wrappers", "we", "are", "using", ",", "returning", "a", "pointer", "to", "it", "if", "found", "or", "NULL", "if", "not", ".", "This", "function", "might", "be", "called", "on", "quite", "a", "few", "symbols", ",", "and", "we", "only", "have", "the", "list", "of", "names", "of", "wrapped", "functions", "available", "to", "us", "as", "a", "spec", "string", ",", "so", "first", "time", "round", "we", "lazily", "initialise", "a", "hash", "table", "to", "make", "things", "quicker", "."], "TS_V_token": ["i386", "1", "8", "0", "0"], "File": "winnt", "Func": "i386_find_on_wrapper_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39191, "Length": 150}
{"ground_truth": ["", "void", "i386_pe_asm_output_aligned_decl_common", "(", "FILE", "*", "stream", ",", "tree", "decl", ",", "const", "char", "*", "name", ",", "HOST_WIDE_INT", "size", ",", "HOST_WIDE_INT", "align", ")", "{", "HOST_WIDE_INT", "rounded", ";", "rounded", "=", "size", "?", "size", ":", "1", ";", "rounded", "+=", "(", "BIGGEST_ALIGNMENT", "/", "BITS_PER_UNIT", ")", "-", "1", ";", "rounded", "=", "(", "rounded", "/", "(", "BIGGEST_ALIGNMENT", "/", "BITS_PER_UNIT", ")", "*", "(", "BIGGEST_ALIGNMENT", "/", "BITS_PER_UNIT", ")", ")", ";", "i386_pe_maybe_record_exported_symbol", "(", "decl", ",", "name", ",", "1", ")", ";", "fprintf", "(", "stream", ",", "\"\\t.comm\\t\"", ")", ";", "assemble_name", "(", "stream", ",", "name", ")", ";", "if", "(", "use_pe_aligned_common", ")", "fprintf", "(", "stream", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\", %d\\n\"", ",", "size", "?", "size", ":", "HOST_WIDE_INT_1", ",", "exact_log2", "(", "align", ")", "-", "exact_log2", "(", "CHAR_BIT", ")", ")", ";", "else", "fprintf", "(", "stream", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\t\"", "ASM_COMMENT_START", "\" \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "rounded", ",", "size", ")", ";", "}", ""], "natrual_language": ["Beware", ",", "DECL", "may", "be", "NULL", "if", "compile_file", "(", ")", "is", "emitting", "the", "LTO", "marker", "."], "TS_V_token": ["i386", "1", "1", "1", "\"\\t.comm\\t\"", "\", \"", "\", %d\\n\"", "\", \"", "\"\\t\"", "\" \"", "\"\\n\""], "File": "winnt", "Func": "i386_pe_asm_output_aligned_decl_common", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39192, "Length": 132}
{"ground_truth": ["", "void", "i386_pe_assemble_visibility", "(", "tree", "decl", ",", "int", ")", "{", "if", "(", "!", "decl", "||", "!", "lookup_attribute", "(", "\"visibility\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ")", "return", ";", "if", "(", "!", "DECL_ARTIFICIAL", "(", "decl", ")", ")", "warning", "(", "OPT_Wattributes", ",", "\"visibility attribute not supported \"", "\"in this configuration; ignored\"", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "to", "set", "symbol", "for", "DECL", "visibility", "to", "the", "visibility", "type", "VIS", ",", "which", "must", "not", "be", "VISIBILITY_DEFAULT", ".", "As", "for", "PE", "there", "is", "no", "hidden", "support", "in", "gas", ",", "we", "just", "warn", "for", "user-specified", "visibility", "attributes", "."], "TS_V_token": ["i386", "\"visibility\"", "\"visibility attribute not supported \"", "\"in this configuration; ignored\""], "File": "winnt", "Func": "i386_pe_assemble_visibility", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39193, "Length": 44}
{"ground_truth": ["", "void", "i386_pe_declare_function_type", "(", "FILE", "*", "file", ",", "const", "char", "*", "name", ",", "int", "pub", ")", "{", "fprintf", "(", "file", ",", "\"\\t.def\\t\"", ")", ";", "assemble_name", "(", "file", ",", "name", ")", ";", "fprintf", "(", "file", ",", "\";\\t.scl\\t%d;\\t.type\\t%d;\\t.endef\\n\"", ",", "pub", "?", "(", "int", ")", "C_EXT", ":", "(", "int", ")", "C_STAT", ",", "(", "int", ")", "DT_FCN", "<<", "N_BTSHFT", ")", ";", "}", ""], "natrual_language": ["Mark", "a", "function", "appropriately", ".", "This", "should", "only", "be", "called", "for", "functions", "for", "which", "we", "are", "not", "emitting", "COFF", "debugging", "information", ".", "FILE", "is", "the", "assembler", "output", "file", ",", "NAME", "is", "the", "name", "of", "the", "function", ",", "and", "PUBLIC", "is", "nonzero", "if", "the", "function", "is", "globally", "visible", "."], "TS_V_token": ["i386", "\"\\t.def\\t\"", "\";\\t.scl\\t%d;\\t.type\\t%d;\\t.endef\\n\""], "File": "winnt", "Func": "i386_pe_declare_function_type", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39194, "Length": 57}
{"ground_truth": ["", "static", "bool", "i386_pe_determine_dllexport_p", "(", "tree", "decl", ")", "{", "if", "(", "TREE_CODE", "(", "decl", ")", "!=", "VAR_DECL", "&&", "TREE_CODE", "(", "decl", ")", "!=", "FUNCTION_DECL", ")", "return", "false", ";", "if", "(", "!", "TREE_PUBLIC", "(", "decl", ")", ")", "return", "false", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", "&&", "DECL_DECLARED_INLINE_P", "(", "decl", ")", "&&", "!", "flag_keep_inline_dllexport", ")", "return", "false", ";", "if", "(", "lookup_attribute", "(", "\"dllexport\"", ",", "DECL_ATTRIBUTES", "(", "decl", ")", ")", ")", "return", "true", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "DECL", "should", "be", "a", "dllexport", "'d", "object", "."], "TS_V_token": ["i386", "\"dllexport\""], "File": "winnt", "Func": "i386_pe_determine_dllexport_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39195, "Length": 77}
{"ground_truth": ["", "static", "bool", "i386_pe_determine_dllimport_p", "(", "tree", "decl", ")", "{", "tree", "assoc", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "!=", "VAR_DECL", "&&", "TREE_CODE", "(", "decl", ")", "!=", "FUNCTION_DECL", ")", "return", "false", ";", "if", "(", "DECL_DLLIMPORT_P", "(", "decl", ")", ")", "return", "true", ";", "assoc", "=", "associated_type", "(", "decl", ")", ";", "if", "(", "assoc", "&&", "lookup_attribute", "(", "\"dllimport\"", ",", "TYPE_ATTRIBUTES", "(", "assoc", ")", ")", "&&", "TREE_CODE", "(", "decl", ")", "==", "VAR_DECL", "&&", "TREE_STATIC", "(", "decl", ")", "&&", "TREE_PUBLIC", "(", "decl", ")", "&&", "!", "DECL_EXTERNAL", "(", "decl", ")", "&&", "!", "DECL_VIRTUAL_P", "(", "decl", ")", ")", "error", "(", "\"definition of static data member %q+D of \"", "\"dllimport%'d class\"", ",", "decl", ")", ";", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "if", "DECL", "should", "be", "a", "dllimport", "'d", "object", "."], "TS_V_token": ["i386", "\"dllimport\"", "\"definition of static data member %q+D of \"", "\"dllimport%'d class\""], "File": "winnt", "Func": "i386_pe_determine_dllimport_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39196, "Length": 102}
{"ground_truth": ["", "void", "i386_pe_encode_section_info", "(", "tree", "decl", ",", "rtx", "rtl", ",", "int", "first", ")", "{", "rtx", "symbol", ";", "int", "flags", ";", "default_encode_section_info", "(", "decl", ",", "rtl", ",", "first", ")", ";", "if", "(", "!", "MEM_P", "(", "rtl", ")", ")", "return", ";", "symbol", "=", "XEXP", "(", "rtl", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "symbol", ")", "==", "SYMBOL_REF", ")", ";", "switch", "(", "TREE_CODE", "(", "decl", ")", ")", "{", "case", "FUNCTION_DECL", ":", "case", "VAR_DECL", ":", "break", ";", "default", ":", "return", ";", "}", "flags", "=", "(", "SYMBOL_REF_FLAGS", "(", "symbol", ")", "&", "~", "(", "SYMBOL_FLAG_DLLIMPORT", "|", "SYMBOL_FLAG_DLLEXPORT", ")", ")", ";", "if", "(", "i386_pe_determine_dllexport_p", "(", "decl", ")", ")", "flags", "|=", "SYMBOL_FLAG_DLLEXPORT", ";", "else", "if", "(", "i386_pe_determine_dllimport_p", "(", "decl", ")", ")", "flags", "|=", "SYMBOL_FLAG_DLLIMPORT", ";", "SYMBOL_REF_FLAGS", "(", "symbol", ")", "=", "flags", ";", "}", ""], "natrual_language": ["Cover", "function", "to", "implement", "ENCODE_SECTION_INFO", "."], "TS_V_token": ["i386", "0"], "File": "winnt", "Func": "i386_pe_encode_section_info", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39197, "Length": 125}
{"ground_truth": ["", "void", "i386_pe_file_end", "(", "void", ")", "{", "struct", "extern_list", "*", "p", ";", "for", "(", "p", "=", "extern_head", ";", "p", "!=", "NULL", ";", "p", "=", "p", "->", "next", ")", "{", "tree", "decl", ";", "decl", "=", "p", "->", "decl", ";", "if", "(", "!", "TREE_ASM_WRITTEN", "(", "decl", ")", "&&", "TREE_SYMBOL_REFERENCED", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ")", "{", "const", "char", "*", "realsym", "=", "i386_find_on_wrapper_list", "(", "p", "->", "name", ")", ";", "if", "(", "realsym", ")", "i386_pe_declare_function_type", "(", "asm_out_file", ",", "concat", "(", "\"__real_\"", ",", "realsym", ",", "NULL", ")", ",", "TREE_PUBLIC", "(", "decl", ")", ")", ";", "TREE_ASM_WRITTEN", "(", "decl", ")", "=", "1", ";", "i386_pe_declare_function_type", "(", "asm_out_file", ",", "p", "->", "name", ",", "TREE_PUBLIC", "(", "decl", ")", ")", ";", "}", "}", "if", "(", "export_head", ")", "{", "struct", "export_list", "*", "q", ";", "drectve_section", "(", ")", ";", "for", "(", "q", "=", "export_head", ";", "q", "!=", "NULL", ";", "q", "=", "q", "->", "next", ")", "{", "fprintf", "(", "asm_out_file", ",", "\"\\t.ascii \\\" -export:\\\\\\\"%s\\\\\\\"%s\\\"\\n\"", ",", "default_strip_name_encoding", "(", "q", "->", "name", ")", ",", "(", "q", "->", "is_data", "?", "\",data\"", ":", "\"\"", ")", ")", ";", "}", "}", "if", "(", "stub_head", ")", "{", "struct", "stub_list", "*", "q", ";", "for", "(", "q", "=", "stub_head", ";", "q", "!=", "NULL", ";", "q", "=", "q", "->", "next", ")", "{", "const", "char", "*", "name", "=", "q", "->", "name", ";", "const", "char", "*", "oname", ";", "if", "(", "name", "[", "0", "]", "==", "'*'", ")", "++", "name", ";", "oname", "=", "name", ";", "if", "(", "name", "[", "0", "]", "==", "'.'", ")", "++", "name", ";", "if", "(", "!", "startswith", "(", "name", ",", "\"refptr.\"", ")", ")", "continue", ";", "name", "+=", "7", ";", "fprintf", "(", "asm_out_file", ",", "\"\\t.section\\t.rdata$%s, \\\"dr\\\"\\n\"", "\"\\t.globl\\t%s\\n\"", "\"\\t.linkonce\\tdiscard\\n\"", ",", "oname", ",", "oname", ")", ";", "fprintf", "(", "asm_out_file", ",", "\"%s:\\n\\t.quad\\t%s\\n\"", ",", "oname", ",", "name", ")", ";", "}", "}", "}", ""], "natrual_language": ["This", "is", "called", "at", "the", "end", "of", "assembly", ".", "For", "each", "external", "function", "which", "has", "not", "been", "defined", ",", "we", "output", "a", "declaration", "now", ".", "We", "also", "output", "the", ".drectve", "section", "."], "TS_V_token": ["i386", "\"__real_\"", "1", "\"\\t.ascii \\\" -export:\\\\\\\"%s\\\\\\\"%s\\\"\\n\"", "\",data\"", "\"\"", "0", "0", "\"refptr.\"", "7", "\"\\t.section\\t.rdata$%s, \\\"dr\\\"\\n\"", "\"\\t.globl\\t%s\\n\"", "\"\\t.linkonce\\tdiscard\\n\"", "\"%s:\\n\\t.quad\\t%s\\n\""], "File": "winnt", "Func": "i386_pe_file_end", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39198, "Length": 281}
{"ground_truth": ["", "tree", "i386_pe_mangle_assembler_name", "(", "const", "char", "*", "name", ")", "{", "const", "char", "*", "skipped", "=", "name", "+", "(", "*", "name", "==", "'*'", "?", "1", ":", "0", ")", ";", "const", "char", "*", "stripped", "=", "targetm", ".", "strip_name_encoding", "(", "skipped", ")", ";", "if", "(", "*", "name", "!=", "'*'", "&&", "*", "user_label_prefix", "&&", "*", "stripped", "!=", "FASTCALL_PREFIX", ")", "stripped", "=", "ACONCAT", "(", "(", "user_label_prefix", ",", "stripped", ",", "NULL", ")", ")", ";", "return", "get_identifier", "(", "stripped", ")", ";", "}", ""], "natrual_language": ["This", "hook", "behaves", "the", "same", "as", "varasm.cc/assemble_name", "(", ")", ",", "but", "generates", "the", "name", "into", "memory", "rather", "than", "outputting", "it", "to", "a", "file", "stream", "."], "TS_V_token": ["i386", "1", "0"], "File": "winnt", "Func": "i386_pe_mangle_assembler_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39199, "Length": 74}
{"ground_truth": ["", "tree", "i386_pe_mangle_decl_assembler_name", "(", "tree", "decl", ",", "tree", "id", ")", "{", "tree", "new_id", "=", "i386_pe_maybe_mangle_decl_assembler_name", "(", "decl", ",", "id", ")", ";", "return", "(", "new_id", "?", "new_id", ":", "id", ")", ";", "}", ""], "natrual_language": ["This", "is", "used", "as", "a", "target", "hook", "to", "modify", "the", "DECL_ASSEMBLER_NAME", "in", "the", "language-independent", "default", "hook", "langhooks", ",", "c", ":", "lhd_set_decl_assembler_name", "(", ")", "and", "in", "cp/mangle", ",", "c", ":", "mangle_decl", "(", ")", "."], "TS_V_token": ["i386"], "File": "winnt", "Func": "i386_pe_mangle_decl_assembler_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39200, "Length": 30}
{"ground_truth": ["", "static", "tree", "i386_pe_maybe_mangle_decl_assembler_name", "(", "tree", "decl", ",", "tree", "id", ")", "{", "tree", "new_id", "=", "NULL_TREE", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "{", "unsigned", "int", "ccvt", "=", "ix86_get_callcvt", "(", "TREE_TYPE", "(", "decl", ")", ")", ";", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_STDCALL", ")", "!=", "0", ")", "{", "if", "(", "TARGET_RTD", ")", "return", "NULL_TREE", ";", "new_id", "=", "gen_stdcall_or_fastcall_suffix", "(", "decl", ",", "id", ",", "false", ")", ";", "}", "else", "if", "(", "(", "ccvt", "&", "IX86_CALLCVT_FASTCALL", ")", "!=", "0", ")", "new_id", "=", "gen_stdcall_or_fastcall_suffix", "(", "decl", ",", "id", ",", "true", ")", ";", "}", "return", "new_id", ";", "}", ""], "natrual_language": ["Maybe", "decorate", "and", "get", "a", "new", "identifier", "for", "the", "DECL", "of", "a", "stdcall", "or", "fastcall", "function", ".", "The", "original", "identifier", "is", "supplied", "in", "ID", "."], "TS_V_token": ["i386", "0", "0"], "File": "winnt", "Func": "i386_pe_maybe_mangle_decl_assembler_name", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39201, "Length": 95}
{"ground_truth": ["", "void", "i386_pe_maybe_record_exported_symbol", "(", "tree", "decl", ",", "const", "char", "*", "name", ",", "int", "is_data", ")", "{", "rtx", "symbol", ";", "struct", "export_list", "*", "p", ";", "if", "(", "!", "decl", ")", "return", ";", "symbol", "=", "XEXP", "(", "DECL_RTL", "(", "decl", ")", ",", "0", ")", ";", "gcc_assert", "(", "GET_CODE", "(", "symbol", ")", "==", "SYMBOL_REF", ")", ";", "if", "(", "!", "SYMBOL_REF_DLLEXPORT_P", "(", "symbol", ")", ")", "return", ";", "gcc_assert", "(", "TREE_PUBLIC", "(", "decl", ")", ")", ";", "p", "=", "ggc_alloc", "<", "export_list", ">", "(", ")", ";", "p", "->", "next", "=", "export_head", ";", "p", "->", "name", "=", "name", ";", "p", "->", "is_data", "=", "is_data", ";", "export_head", "=", "p", ";", "}", ""], "natrual_language": ["Assemble", "an", "export", "symbol", "entry", ".", "We", "need", "to", "keep", "a", "list", "of", "these", ",", "so", "that", "we", "can", "output", "the", "export", "list", "at", "the", "end", "of", "the", "assembly", ".", "We", "used", "to", "output", "these", "export", "symbols", "in", "each", "function", ",", "but", "that", "causes", "problems", "with", "GNU", "ld", "when", "the", "sections", "are", "linkonce", ".", "Beware", ",", "DECL", "may", "be", "NULL", "if", "compile_file", "(", ")", "is", "emitting", "the", "LTO", "marker", "."], "TS_V_token": ["i386", "0"], "File": "winnt", "Func": "i386_pe_maybe_record_exported_symbol", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39202, "Length": 102}
{"ground_truth": ["", "void", "i386_pe_record_external_function", "(", "tree", "decl", ",", "const", "char", "*", "name", ")", "{", "struct", "extern_list", "*", "p", ";", "p", "=", "ggc_alloc", "<", "extern_list", ">", "(", ")", ";", "p", "->", "next", "=", "extern_head", ";", "p", "->", "decl", "=", "decl", ";", "p", "->", "name", "=", "name", ";", "extern_head", "=", "p", ";", "}", ""], "natrual_language": ["Assemble", "an", "external", "function", "reference", ".", "We", "need", "to", "keep", "a", "list", "of", "these", ",", "so", "that", "we", "can", "output", "the", "function", "types", "at", "the", "end", "of", "the", "assembly", ".", "We", "ca", "n't", "output", "the", "types", "now", ",", "because", "we", "might", "see", "a", "definition", "of", "the", "function", "later", "on", "and", "emit", "debugging", "information", "for", "it", "then", "."], "TS_V_token": ["i386"], "File": "winnt", "Func": "i386_pe_record_external_function", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39203, "Length": 49}
{"ground_truth": ["", "int", "i386_pe_reloc_rw_mask", "(", "void", ")", "{", "return", "0", ";", "}", ""], "natrual_language": ["Local", "and", "global", "relocs", "can", "be", "placed", "always", "into", "readonly", "memory", "for", "memory", "for", "PE-COFF", "targets", "."], "TS_V_token": ["i386", "0"], "File": "winnt", "Func": "i386_pe_reloc_rw_mask", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39204, "Length": 10}
{"ground_truth": ["", "void", "i386_pe_seh_cold_init", "(", "FILE", "*", "f", ",", "const", "char", "*", "name", ")", "{", "struct", "seh_frame_state", "*", "seh", ";", "HOST_WIDE_INT", "alloc_offset", ",", "offset", ";", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "if", "(", "cfun", "->", "is_thunk", ")", "return", ";", "seh", "=", "cfun", "->", "machine", "->", "seh", ";", "fputs", "(", "\"\\t.seh_proc\\t\"", ",", "f", ")", ";", "assemble_name", "(", "f", ",", "name", ")", ";", "fputc", "(", "'\\n'", ",", "f", ")", ";", "offset", "=", "seh", "->", "sp_offset", "-", "INCOMING_FRAME_SP_OFFSET", ";", "if", "(", "offset", "<", "SEH_MAX_FRAME_SIZE", "&&", "!", "crtl", "->", "accesses_prior_frames", ")", "alloc_offset", "=", "seh", "->", "sp_offset", ";", "else", "alloc_offset", "=", "MIN", "(", "seh", "->", "cfa_offset", "+", "240", ",", "seh", "->", "sp_offset", ")", ";", "offset", "=", "alloc_offset", "-", "INCOMING_FRAME_SP_OFFSET", ";", "if", "(", "offset", ">", "0", ")", "fprintf", "(", "f", ",", "\"\\t.seh_stackalloc\\t\"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "for", "(", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "seh", "->", "reg_offset", "[", "regno", "]", ">", "0", "&&", "seh", "->", "reg_offset", "[", "regno", "]", "<=", "alloc_offset", ")", "{", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "fputs", "(", "\"\\t.seh_savexmm\\t\"", ",", "f", ")", ";", "else", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", ")", "fputs", "(", "\"\\t.seh_savereg\\t\"", ",", "f", ")", ";", "else", "gcc_unreachable", "(", ")", ";", "print_reg", "(", "gen_rtx_REG", "(", "DImode", ",", "regno", ")", ",", "0", ",", "f", ")", ";", "fprintf", "(", "f", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "alloc_offset", "-", "seh", "->", "reg_offset", "[", "regno", "]", ")", ";", "}", "if", "(", "seh", "->", "cfa_reg", "!=", "stack_pointer_rtx", ")", "{", "offset", "=", "alloc_offset", "-", "seh", "->", "cfa_offset", ";", "gcc_assert", "(", "(", "offset", "&", "15", ")", "==", "0", ")", ";", "gcc_assert", "(", "IN_RANGE", "(", "offset", ",", "0", ",", "240", ")", ")", ";", "fputs", "(", "\"\\t.seh_setframe\\t\"", ",", "f", ")", ";", "print_reg", "(", "seh", "->", "cfa_reg", ",", "0", ",", "f", ")", ";", "fprintf", "(", "f", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "}", "if", "(", "alloc_offset", "!=", "seh", "->", "sp_offset", ")", "{", "offset", "=", "seh", "->", "sp_offset", "-", "alloc_offset", ";", "if", "(", "offset", ">", "0", "&&", "offset", "<", "SEH_MAX_FRAME_SIZE", ")", "fprintf", "(", "f", ",", "\"\\t.seh_stackalloc\\t\"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "for", "(", "int", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "if", "(", "seh", "->", "reg_offset", "[", "regno", "]", ">", "alloc_offset", ")", "{", "if", "(", "SSE_REGNO_P", "(", "regno", ")", ")", "fputs", "(", "\"\\t.seh_savexmm\\t\"", ",", "f", ")", ";", "else", "if", "(", "GENERAL_REGNO_P", "(", "regno", ")", ")", "fputs", "(", "\"\\t.seh_savereg\\t\"", ",", "f", ")", ";", "else", "gcc_unreachable", "(", ")", ";", "print_reg", "(", "gen_rtx_REG", "(", "DImode", ",", "regno", ")", ",", "0", ",", "f", ")", ";", "fprintf", "(", "f", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "seh", "->", "sp_offset", "-", "seh", "->", "reg_offset", "[", "regno", "]", ")", ";", "}", "}", "fputs", "(", "\"\\t.seh_endprologue\\n\"", ",", "f", ")", ";", "}", ""], "natrual_language": ["Emit", "assembler", "directives", "to", "reconstruct", "the", "SEH", "state", "."], "TS_V_token": ["i386", "\"\\t.seh_proc\\t\"", "240", "0", "\"\\t.seh_stackalloc\\t\"", "\"\\n\"", "0", "0", "\"\\t.seh_savexmm\\t\"", "\"\\t.seh_savereg\\t\"", "0", "\", \"", "\"\\n\"", "15", "0", "0", "240", "\"\\t.seh_setframe\\t\"", "0", "\", \"", "\"\\n\"", "0", "\"\\t.seh_stackalloc\\t\"", "\"\\n\"", "0", "\"\\t.seh_savexmm\\t\"", "\"\\t.seh_savereg\\t\"", "0", "\", \"", "\"\\n\"", "\"\\t.seh_endprologue\\n\""], "File": "winnt", "Func": "i386_pe_seh_cold_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39205, "Length": 445}
{"ground_truth": ["", "void", "i386_pe_seh_end_prologue", "(", "FILE", "*", "f", ")", "{", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "if", "(", "cfun", "->", "is_thunk", ")", "return", ";", "cfun", "->", "machine", "->", "seh", "->", "after_prologue", "=", "true", ";", "fputs", "(", "\"\\t.seh_endprologue\\n\"", ",", "f", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "for", "the", "end", "of", "the", "prologue", "."], "TS_V_token": ["i386", "\"\\t.seh_endprologue\\n\""], "File": "winnt", "Func": "i386_pe_seh_end_prologue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39206, "Length": 41}
{"ground_truth": ["", "static", "void", "i386_pe_seh_fini", "(", "FILE", "*", "f", ",", "bool", "cold", ")", "{", "struct", "seh_frame_state", "*", "seh", ";", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "if", "(", "cfun", "->", "is_thunk", ")", "return", ";", "seh", "=", "cfun", "->", "machine", "->", "seh", ";", "if", "(", "cold", "!=", "seh", "->", "in_cold_section", ")", "return", ";", "XDELETE", "(", "seh", ")", ";", "cfun", "->", "machine", "->", "seh", "=", "NULL", ";", "fputs", "(", "\"\\t.seh_endproc\\n\"", ",", "f", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "for", "the", "end", "of", "the", "function", "."], "TS_V_token": ["i386", "\"\\t.seh_endproc\\n\""], "File": "winnt", "Func": "i386_pe_seh_fini", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39207, "Length": 71}
{"ground_truth": ["", "void", "i386_pe_seh_init", "(", "FILE", "*", "f", ")", "{", "struct", "seh_frame_state", "*", "seh", ";", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "if", "(", "cfun", "->", "is_thunk", ")", "return", ";", "gcc_assert", "(", "!", "stack_realign_drap", ")", ";", "seh", "=", "XCNEW", "(", "struct", "seh_frame_state", ")", ";", "cfun", "->", "machine", "->", "seh", "=", "seh", ";", "seh", "->", "sp_offset", "=", "INCOMING_FRAME_SP_OFFSET", ";", "seh", "->", "cfa_offset", "=", "INCOMING_FRAME_SP_OFFSET", ";", "seh", "->", "cfa_reg", "=", "stack_pointer_rtx", ";", "fputs", "(", "\"\\t.seh_proc\\t\"", ",", "f", ")", ";", "assemble_name", "(", "f", ",", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "cfun", "->", "decl", ")", ")", ")", ";", "fputc", "(", "'\\n'", ",", "f", ")", ";", "}", ""], "natrual_language": ["Set", "up", "data", "structures", "beginning", "output", "for", "SEH", "."], "TS_V_token": ["i386", "\"\\t.seh_proc\\t\""], "File": "winnt", "Func": "i386_pe_seh_init", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39208, "Length": 98}
{"ground_truth": ["", "void", "i386_pe_seh_unwind_emit", "(", "FILE", "*", "out_file", ",", "rtx_insn", "*", "insn", ")", "{", "rtx", "note", ",", "pat", ";", "bool", "handled_one", "=", "false", ";", "struct", "seh_frame_state", "*", "seh", ";", "if", "(", "!", "TARGET_SEH", ")", "return", ";", "seh", "=", "cfun", "->", "machine", "->", "seh", ";", "if", "(", "NOTE_P", "(", "insn", ")", "&&", "NOTE_KIND", "(", "insn", ")", "==", "NOTE_INSN_SWITCH_TEXT_SECTIONS", ")", "{", "rtx_insn", "*", "prev", "=", "prev_active_insn", "(", "insn", ")", ";", "if", "(", "prev", "&&", "(", "CALL_P", "(", "prev", ")", "||", "!", "insn_nothrow_p", "(", "prev", ")", ")", ")", "fputs", "(", "\"\\tnop\\n\"", ",", "out_file", ")", ";", "fputs", "(", "\"\\t.seh_endproc\\n\"", ",", "out_file", ")", ";", "seh", "->", "in_cold_section", "=", "true", ";", "return", ";", "}", "if", "(", "NOTE_P", "(", "insn", ")", "||", "!", "RTX_FRAME_RELATED_P", "(", "insn", ")", ")", "return", ";", "if", "(", "seh", "->", "after_prologue", ")", "return", ";", "for", "(", "note", "=", "REG_NOTES", "(", "insn", ")", ";", "note", ";", "note", "=", "XEXP", "(", "note", ",", "1", ")", ")", "{", "switch", "(", "REG_NOTE_KIND", "(", "note", ")", ")", "{", "case", "REG_FRAME_RELATED_EXPR", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "goto", "found", ";", "case", "REG_CFA_DEF_CFA", ":", "case", "REG_CFA_EXPRESSION", ":", "gcc_unreachable", "(", ")", ";", "break", ";", "case", "REG_CFA_REGISTER", ":", "gcc_unreachable", "(", ")", ";", "case", "REG_CFA_ADJUST_CFA", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "if", "(", "pat", "==", "NULL", ")", "{", "pat", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", ")", "pat", "=", "XVECEXP", "(", "pat", ",", "0", ",", "0", ")", ";", "}", "seh_cfa_adjust_cfa", "(", "out_file", ",", "seh", ",", "pat", ")", ";", "handled_one", "=", "true", ";", "break", ";", "case", "REG_CFA_OFFSET", ":", "pat", "=", "XEXP", "(", "note", ",", "0", ")", ";", "if", "(", "pat", "==", "NULL", ")", "pat", "=", "single_set", "(", "insn", ")", ";", "seh_cfa_offset", "(", "out_file", ",", "seh", ",", "pat", ")", ";", "handled_one", "=", "true", ";", "break", ";", "default", ":", "break", ";", "}", "}", "if", "(", "handled_one", ")", "return", ";", "pat", "=", "PATTERN", "(", "insn", ")", ";", "found", ":", "seh_frame_related_expr", "(", "out_file", ",", "seh", ",", "pat", ")", ";", "}", ""], "natrual_language": ["This", "function", "looks", "at", "a", "single", "insn", "and", "emits", "any", "SEH", "directives", "required", "for", "unwind", "of", "this", "insn", "."], "TS_V_token": ["i386", "\"\\tnop\\n\"", "\"\\t.seh_endproc\\n\"", "1", "0", "0", "0", "0", "0"], "File": "winnt", "Func": "i386_pe_seh_unwind_emit", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39209, "Length": 325}
{"ground_truth": ["", "const", "char", "*", "i386_pe_strip_name_encoding_full", "(", "const", "char", "*", "str", ")", "{", "const", "char", "*", "p", ";", "const", "char", "*", "name", "=", "default_strip_name_encoding", "(", "str", ")", ";", "if", "(", "*", "name", "==", "'@'", ")", "name", "++", ";", "p", "=", "strchr", "(", "name", ",", "'@'", ")", ";", "if", "(", "p", ")", "return", "ggc_alloc_string", "(", "name", ",", "p", "-", "name", ")", ";", "return", "name", ";", "}", ""], "natrual_language": ["Also", "strip", "the", "fastcall", "prefix", "and", "stdcall", "suffix", "."], "TS_V_token": ["i386"], "File": "winnt", "Func": "i386_pe_strip_name_encoding_full", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39210, "Length": 63}
{"ground_truth": ["", "void", "i386_pe_unique_section", "(", "tree", "decl", ",", "int", "reloc", ")", "{", "int", "len", ";", "const", "char", "*", "name", ",", "*", "prefix", ";", "char", "*", "string", ";", "if", "(", "!", "flag_writable_rel_rdata", ")", "reloc", "=", "0", ";", "name", "=", "IDENTIFIER_POINTER", "(", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "name", "=", "i386_pe_strip_name_encoding_full", "(", "name", ")", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "prefix", "=", "\".text$\"", ";", "else", "if", "(", "decl_readonly_section", "(", "decl", ",", "reloc", ")", ")", "prefix", "=", "\".rdata$\"", ";", "else", "prefix", "=", "\".data$\"", ";", "len", "=", "strlen", "(", "name", ")", "+", "strlen", "(", "prefix", ")", ";", "string", "=", "XALLOCAVEC", "(", "char", ",", "len", "+", "1", ")", ";", "sprintf", "(", "string", ",", "\"%s%s\"", ",", "prefix", ",", "name", ")", ";", "set_decl_section_name", "(", "decl", ",", "string", ")", ";", "}", ""], "natrual_language": ["Cover", "function", "for", "UNIQUE_SECTION", "."], "TS_V_token": ["i386", "0", "\".text$\"", "\".rdata$\"", "\".data$\"", "1", "\"%s%s\""], "File": "winnt", "Func": "i386_pe_unique_section", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39211, "Length": 125}
{"ground_truth": ["", "bool", "i386_pe_valid_dllimport_attribute_p", "(", "const_tree", "decl", ")", "{", "if", "(", "TARGET_NOP_FUN_DLLIMPORT", "&&", "TREE_CODE", "(", "decl", ")", "==", "FUNCTION_DECL", ")", "return", "false", ";", "return", "true", ";", "}", ""], "natrual_language": ["Handle", "the", "-mno-fun-dllimport", "target", "switch", "."], "TS_V_token": ["i386"], "File": "winnt", "Func": "i386_pe_valid_dllimport_attribute_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39212, "Length": 25}
{"ground_truth": ["", "tree", "ix86_handle_selectany_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "tree", "decl", "=", "*", "node", ";", "if", "(", "TREE_CODE", "(", "decl", ")", "!=", "VAR_DECL", "||", "!", "TREE_PUBLIC", "(", "decl", ")", ")", "error", "(", "\"%qE attribute applies only to initialized variables\"", "\" with external linkage\"", ",", "name", ")", ";", "else", "{", "make_decl_one_only", "(", "decl", ",", "DECL_ASSEMBLER_NAME", "(", "decl", ")", ")", ";", "DECL_COMMON", "(", "decl", ")", "=", "0", ";", "}", "*", "no_add_attrs", "=", "true", ";", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "selectany", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qE attribute applies only to initialized variables\"", "\" with external linkage\"", "0"], "File": "winnt", "Func": "ix86_handle_selectany_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39213, "Length": 77}
{"ground_truth": ["", "tree", "ix86_handle_shared_attribute", "(", "tree", "*", "node", ",", "tree", "name", ",", "tree", ",", "int", ",", "bool", "*", "no_add_attrs", ")", "{", "if", "(", "TREE_CODE", "(", "*", "node", ")", "!=", "VAR_DECL", ")", "{", "warning", "(", "OPT_Wattributes", ",", "\"%qE attribute only applies to variables\"", ",", "name", ")", ";", "*", "no_add_attrs", "=", "true", ";", "}", "return", "NULL_TREE", ";", "}", ""], "natrual_language": ["Handle", "a", "``", "shared", "''", "attribute", ";", "arguments", "as", "in", "struct", "attribute_spec.handler", "."], "TS_V_token": ["i386", "\"%qE attribute only applies to variables\""], "File": "winnt", "Func": "ix86_handle_shared_attribute", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39214, "Length": 49}
{"ground_truth": ["", "static", "void", "seh_cfa_adjust_cfa", "(", "FILE", "*", "f", ",", "struct", "seh_frame_state", "*", "seh", ",", "rtx", "pat", ")", "{", "rtx", "dest", ",", "src", ";", "HOST_WIDE_INT", "reg_offset", "=", "0", ";", "unsigned", "int", "dest_regno", ";", "dest", "=", "SET_DEST", "(", "pat", ")", ";", "src", "=", "SET_SRC", "(", "pat", ")", ";", "if", "(", "GET_CODE", "(", "src", ")", "==", "PLUS", ")", "{", "reg_offset", "=", "INTVAL", "(", "XEXP", "(", "src", ",", "1", ")", ")", ";", "src", "=", "XEXP", "(", "src", ",", "0", ")", ";", "}", "else", "if", "(", "GET_CODE", "(", "src", ")", "==", "MINUS", ")", "{", "reg_offset", "=", "-", "INTVAL", "(", "XEXP", "(", "src", ",", "1", ")", ")", ";", "src", "=", "XEXP", "(", "src", ",", "0", ")", ";", "}", "gcc_assert", "(", "src", "==", "stack_pointer_rtx", ")", ";", "gcc_assert", "(", "seh", "->", "cfa_reg", "==", "stack_pointer_rtx", ")", ";", "dest_regno", "=", "REGNO", "(", "dest", ")", ";", "if", "(", "dest_regno", "==", "STACK_POINTER_REGNUM", ")", "seh_emit_stackalloc", "(", "f", ",", "seh", ",", "reg_offset", ")", ";", "else", "if", "(", "dest_regno", "==", "HARD_FRAME_POINTER_REGNUM", ")", "{", "HOST_WIDE_INT", "offset", ";", "seh", "->", "cfa_reg", "=", "dest", ";", "seh", "->", "cfa_offset", "-=", "reg_offset", ";", "offset", "=", "seh", "->", "sp_offset", "-", "seh", "->", "cfa_offset", ";", "gcc_assert", "(", "(", "offset", "&", "15", ")", "==", "0", ")", ";", "gcc_assert", "(", "IN_RANGE", "(", "offset", ",", "0", ",", "240", ")", ")", ";", "fputs", "(", "\"\\t.seh_setframe\\t\"", ",", "f", ")", ";", "print_reg", "(", "seh", "->", "cfa_reg", ",", "0", ",", "f", ")", ";", "fprintf", "(", "f", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "}", ""], "natrual_language": ["Process", "REG_CFA_ADJUST_CFA", "for", "SEH", "."], "TS_V_token": ["i386", "0", "1", "0", "1", "0", "15", "0", "0", "240", "\"\\t.seh_setframe\\t\"", "0", "\", \"", "\"\\n\""], "File": "winnt", "Func": "seh_cfa_adjust_cfa", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39215, "Length": 241}
{"ground_truth": ["", "static", "void", "seh_cfa_offset", "(", "FILE", "*", "f", ",", "struct", "seh_frame_state", "*", "seh", ",", "rtx", "pat", ")", "{", "rtx", "dest", ",", "src", ";", "HOST_WIDE_INT", "reg_offset", ";", "dest", "=", "SET_DEST", "(", "pat", ")", ";", "src", "=", "SET_SRC", "(", "pat", ")", ";", "gcc_assert", "(", "MEM_P", "(", "dest", ")", ")", ";", "dest", "=", "XEXP", "(", "dest", ",", "0", ")", ";", "if", "(", "REG_P", "(", "dest", ")", ")", "reg_offset", "=", "0", ";", "else", "{", "gcc_assert", "(", "GET_CODE", "(", "dest", ")", "==", "PLUS", ")", ";", "reg_offset", "=", "INTVAL", "(", "XEXP", "(", "dest", ",", "1", ")", ")", ";", "dest", "=", "XEXP", "(", "dest", ",", "0", ")", ";", "}", "gcc_assert", "(", "dest", "==", "seh", "->", "cfa_reg", ")", ";", "seh_emit_save", "(", "f", ",", "seh", ",", "src", ",", "seh", "->", "cfa_offset", "-", "reg_offset", ")", ";", "}", ""], "natrual_language": ["Process", "REG_CFA_OFFSET", "for", "SEH", "."], "TS_V_token": ["i386", "0", "0", "1", "0"], "File": "winnt", "Func": "seh_cfa_offset", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39216, "Length": 126}
{"ground_truth": ["", "static", "void", "seh_emit_push", "(", "FILE", "*", "f", ",", "struct", "seh_frame_state", "*", "seh", ",", "rtx", "reg", ")", "{", "const", "unsigned", "int", "regno", "=", "REGNO", "(", "reg", ")", ";", "gcc_checking_assert", "(", "GENERAL_REGNO_P", "(", "regno", ")", ")", ";", "seh", "->", "sp_offset", "+=", "UNITS_PER_WORD", ";", "seh", "->", "reg_offset", "[", "regno", "]", "=", "seh", "->", "sp_offset", ";", "if", "(", "seh", "->", "cfa_reg", "==", "stack_pointer_rtx", ")", "seh", "->", "cfa_offset", "+=", "UNITS_PER_WORD", ";", "fputs", "(", "\"\\t.seh_pushreg\\t\"", ",", "f", ")", ";", "print_reg", "(", "reg", ",", "0", ",", "f", ")", ";", "fputc", "(", "'\\n'", ",", "f", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "to", "save", "REG", "via", "a", "PUSH", "."], "TS_V_token": ["i386", "\"\\t.seh_pushreg\\t\"", "0"], "File": "winnt", "Func": "seh_emit_push", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39217, "Length": 90}
{"ground_truth": ["", "static", "void", "seh_emit_save", "(", "FILE", "*", "f", ",", "struct", "seh_frame_state", "*", "seh", ",", "rtx", "reg", ",", "HOST_WIDE_INT", "cfa_offset", ")", "{", "const", "unsigned", "int", "regno", "=", "REGNO", "(", "reg", ")", ";", "HOST_WIDE_INT", "offset", ";", "seh", "->", "reg_offset", "[", "regno", "]", "=", "cfa_offset", ";", "gcc_assert", "(", "seh", "->", "sp_offset", ">=", "cfa_offset", ")", ";", "offset", "=", "seh", "->", "sp_offset", "-", "cfa_offset", ";", "fputs", "(", "(", "SSE_REGNO_P", "(", "regno", ")", "?", "\"\\t.seh_savexmm\\t\"", ":", "GENERAL_REGNO_P", "(", "regno", ")", "?", "\"\\t.seh_savereg\\t\"", ":", "(", "gcc_unreachable", "(", ")", ",", "\"\"", ")", ")", ",", "f", ")", ";", "print_reg", "(", "reg", ",", "0", ",", "f", ")", ";", "fprintf", "(", "f", ",", "\", \"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "to", "save", "REG", "at", "CFA", "-", "CFA_OFFSET", "."], "TS_V_token": ["i386", "\"\\t.seh_savexmm\\t\"", "\"\\t.seh_savereg\\t\"", "\"\"", "0", "\", \"", "\"\\n\""], "File": "winnt", "Func": "seh_emit_save", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39218, "Length": 109}
{"ground_truth": ["", "static", "void", "seh_emit_stackalloc", "(", "FILE", "*", "f", ",", "struct", "seh_frame_state", "*", "seh", ",", "HOST_WIDE_INT", "offset", ")", "{", "gcc_assert", "(", "offset", "<", "0", ")", ";", "offset", "=", "-", "offset", ";", "if", "(", "seh", "->", "cfa_reg", "==", "stack_pointer_rtx", ")", "seh", "->", "cfa_offset", "+=", "offset", ";", "seh", "->", "sp_offset", "+=", "offset", ";", "if", "(", "offset", "<", "SEH_MAX_FRAME_SIZE", ")", "fprintf", "(", "f", ",", "\"\\t.seh_stackalloc\\t\"", "HOST_WIDE_INT_PRINT_DEC", "\"\\n\"", ",", "offset", ")", ";", "}", ""], "natrual_language": ["Emit", "an", "assembler", "directive", "to", "adjust", "RSP", "by", "OFFSET", "."], "TS_V_token": ["i386", "0", "\"\\t.seh_stackalloc\\t\"", "\"\\n\""], "File": "winnt", "Func": "seh_emit_stackalloc", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39219, "Length": 67}
{"ground_truth": ["", "static", "void", "seh_frame_related_expr", "(", "FILE", "*", "f", ",", "struct", "seh_frame_state", "*", "seh", ",", "rtx", "pat", ")", "{", "rtx", "dest", ",", "src", ";", "HOST_WIDE_INT", "addend", ";", "if", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", "||", "GET_CODE", "(", "pat", ")", "==", "SEQUENCE", ")", "{", "int", "i", ",", "n", "=", "XVECLEN", "(", "pat", ",", "0", ")", ",", "pass", ",", "npass", ";", "npass", "=", "(", "GET_CODE", "(", "pat", ")", "==", "PARALLEL", "?", "2", ":", "1", ")", ";", "for", "(", "pass", "=", "0", ";", "pass", "<", "npass", ";", "++", "pass", ")", "for", "(", "i", "=", "0", ";", "i", "<", "n", ";", "++", "i", ")", "{", "rtx", "ele", "=", "XVECEXP", "(", "pat", ",", "0", ",", "i", ")", ";", "if", "(", "GET_CODE", "(", "ele", ")", "!=", "SET", ")", "continue", ";", "dest", "=", "SET_DEST", "(", "ele", ")", ";", "if", "(", "i", "==", "0", "||", "RTX_FRAME_RELATED_P", "(", "ele", ")", ")", "{", "if", "(", "(", "MEM_P", "(", "dest", ")", "^", "pass", ")", "||", "npass", "==", "1", ")", "seh_frame_related_expr", "(", "f", ",", "seh", ",", "ele", ")", ";", "}", "}", "return", ";", "}", "dest", "=", "SET_DEST", "(", "pat", ")", ";", "src", "=", "SET_SRC", "(", "pat", ")", ";", "switch", "(", "GET_CODE", "(", "dest", ")", ")", "{", "case", "REG", ":", "switch", "(", "GET_CODE", "(", "src", ")", ")", "{", "case", "REG", ":", "gcc_assert", "(", "src", "==", "stack_pointer_rtx", ")", ";", "gcc_assert", "(", "dest", "==", "hard_frame_pointer_rtx", ")", ";", "seh_cfa_adjust_cfa", "(", "f", ",", "seh", ",", "pat", ")", ";", "break", ";", "case", "PLUS", ":", "addend", "=", "INTVAL", "(", "XEXP", "(", "src", ",", "1", ")", ")", ";", "src", "=", "XEXP", "(", "src", ",", "0", ")", ";", "if", "(", "dest", "==", "hard_frame_pointer_rtx", ")", "seh_cfa_adjust_cfa", "(", "f", ",", "seh", ",", "pat", ")", ";", "else", "if", "(", "dest", "==", "stack_pointer_rtx", ")", "{", "gcc_assert", "(", "src", "==", "stack_pointer_rtx", ")", ";", "seh_emit_stackalloc", "(", "f", ",", "seh", ",", "addend", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "break", ";", "case", "MEM", ":", "dest", "=", "XEXP", "(", "dest", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "dest", ")", "==", "PRE_DEC", ")", "{", "gcc_checking_assert", "(", "GET_MODE", "(", "src", ")", "==", "Pmode", ")", ";", "gcc_checking_assert", "(", "REG_P", "(", "src", ")", ")", ";", "seh_emit_push", "(", "f", ",", "seh", ",", "src", ")", ";", "}", "else", "seh_cfa_offset", "(", "f", ",", "seh", ",", "pat", ")", ";", "break", ";", "default", ":", "gcc_unreachable", "(", ")", ";", "}", "}", ""], "natrual_language": ["Process", "a", "FRAME_RELATED_EXPR", "for", "SEH", "."], "TS_V_token": ["i386", "0", "2", "1", "0", "0", "0", "0", "1", "1", "0", "0"], "File": "winnt", "Func": "seh_frame_related_expr", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39220, "Length": 382}
{"ground_truth": ["", "static", "int", "do_reorder_for_imul", "(", "rtx_insn", "*", "*", "ready", ",", "int", "n_ready", ")", "{", "rtx_insn", "*", "insn", ";", "rtx", "set", ",", "insn1", ",", "insn2", ";", "sd_iterator_def", "sd_it", ";", "dep_t", "dep", ";", "int", "index", "=", "-", "1", ";", "int", "i", ";", "if", "(", "!", "TARGET_CPU_P", "(", "BONNELL", ")", ")", "return", "index", ";", "insn", "=", "ready", "[", "n_ready", "-", "1", "]", ";", "set", "=", "single_set", "(", "insn", ")", ";", "if", "(", "!", "set", ")", "return", "index", ";", "if", "(", "!", "(", "GET_CODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "MULT", "&&", "GET_MODE", "(", "SET_SRC", "(", "set", ")", ")", "==", "SImode", ")", ")", "return", "index", ";", "for", "(", "i", "=", "n_ready", "-", "2", ";", "i", ">=", "0", ";", "i", "--", ")", "{", "insn", "=", "ready", "[", "i", "]", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "insn", ")", ")", "continue", ";", "insn2", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "insn2", ")", "==", "PARALLEL", ")", "insn2", "=", "XVECEXP", "(", "insn2", ",", "0", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "insn2", ")", "==", "SET", "&&", "GET_CODE", "(", "SET_SRC", "(", "insn2", ")", ")", "==", "MULT", "&&", "GET_MODE", "(", "SET_SRC", "(", "insn2", ")", ")", "==", "SImode", ")", "continue", ";", "FOR_EACH_DEP", "(", "insn", ",", "SD_LIST_FORW", ",", "sd_it", ",", "dep", ")", "{", "rtx", "con", ";", "con", "=", "DEP_CON", "(", "dep", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "con", ")", ")", "continue", ";", "insn1", "=", "PATTERN", "(", "con", ")", ";", "if", "(", "GET_CODE", "(", "insn1", ")", "==", "PARALLEL", ")", "insn1", "=", "XVECEXP", "(", "insn1", ",", "0", ",", "0", ")", ";", "if", "(", "GET_CODE", "(", "insn1", ")", "==", "SET", "&&", "GET_CODE", "(", "SET_SRC", "(", "insn1", ")", ")", "==", "MULT", "&&", "GET_MODE", "(", "SET_SRC", "(", "insn1", ")", ")", "==", "SImode", ")", "{", "sd_iterator_def", "sd_it1", ";", "dep_t", "dep1", ";", "index", "=", "i", ";", "FOR_EACH_DEP", "(", "con", ",", "SD_LIST_BACK", ",", "sd_it1", ",", "dep1", ")", "{", "rtx", "pro", ";", "pro", "=", "DEP_PRO", "(", "dep1", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "pro", ")", ")", "continue", ";", "if", "(", "pro", "!=", "insn", ")", "index", "=", "-", "1", ";", "}", "if", "(", "index", ">=", "0", ")", "break", ";", "}", "}", "if", "(", "index", ">=", "0", ")", "break", ";", "}", "return", "index", ";", "}", ""], "natrual_language": ["Try", "to", "reorder", "ready", "list", "to", "take", "advantage", "of", "Atom", "pipelined", "IMUL", "execution", ".", "It", "is", "applied", "if", "(", "1", ")", "IMUL", "instruction", "is", "on", "the", "top", "of", "list", ";", "(", "2", ")", "There", "exists", "the", "only", "producer", "of", "independent", "IMUL", "instruction", "in", "ready", "list", ".", "Return", "index", "of", "IMUL", "producer", "if", "it", "was", "found", "and", "-1", "otherwise", "."], "TS_V_token": ["i386", "1", "1", "2", "0", "0", "0", "0", "0", "1", "0", "0"], "File": "x86-tune-sched-atom", "Func": "do_reorder_for_imul", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39221, "Length": 357}
{"ground_truth": ["", "int", "ix86_atom_sched_reorder", "(", "FILE", "*", "dump", ",", "int", "sched_verbose", ",", "rtx_insn", "*", "*", "ready", ",", "int", "*", "pn_ready", ",", "int", "clock_var", ")", "{", "int", "issue_rate", "=", "-", "1", ";", "int", "n_ready", "=", "*", "pn_ready", ";", "int", "i", ";", "rtx_insn", "*", "insn", ";", "int", "index", "=", "-", "1", ";", "issue_rate", "=", "ix86_issue_rate", "(", ")", ";", "if", "(", "!", "TARGET_CPU_P", "(", "BONNELL", ")", "&&", "!", "TARGET_CPU_P", "(", "SILVERMONT", ")", "&&", "!", "TARGET_CPU_P", "(", "INTEL", ")", ")", "return", "issue_rate", ";", "if", "(", "n_ready", "<=", "1", ")", "return", "issue_rate", ";", "if", "(", "!", "reload_completed", ")", "return", "issue_rate", ";", "if", "(", "(", "index", "=", "do_reorder_for_imul", "(", "ready", ",", "n_ready", ")", ")", ">=", "0", ")", "{", "if", "(", "sched_verbose", ">", "1", ")", "fprintf", "(", "dump", ",", "\";;\\tatom sched_reorder: put %d insn on top\\n\"", ",", "INSN_UID", "(", "ready", "[", "index", "]", ")", ")", ";", "insn", "=", "ready", "[", "index", "]", ";", "for", "(", "i", "=", "index", ";", "i", "<", "n_ready", "-", "1", ";", "i", "++", ")", "ready", "[", "i", "]", "=", "ready", "[", "i", "+", "1", "]", ";", "ready", "[", "n_ready", "-", "1", "]", "=", "insn", ";", "return", "issue_rate", ";", "}", "if", "(", "clock_var", "!=", "0", "&&", "!", "sel_sched_p", "(", ")", "&&", "swap_top_of_ready_list", "(", "ready", ",", "n_ready", ")", ")", "{", "if", "(", "sched_verbose", ">", "1", ")", "fprintf", "(", "dump", ",", "\";;\\tslm sched_reorder: swap %d and %d insns\\n\"", ",", "INSN_UID", "(", "ready", "[", "n_ready", "-", "1", "]", ")", ",", "INSN_UID", "(", "ready", "[", "n_ready", "-", "2", "]", ")", ")", ";", "insn", "=", "ready", "[", "n_ready", "-", "1", "]", ";", "ready", "[", "n_ready", "-", "1", "]", "=", "ready", "[", "n_ready", "-", "2", "]", ";", "ready", "[", "n_ready", "-", "2", "]", "=", "insn", ";", "}", "return", "issue_rate", ";", "}", ""], "natrual_language": ["Perform", "possible", "reodering", "of", "ready", "list", "for", "Atom/Silvermont", "only", ".", "Return", "issue", "rate", "."], "TS_V_token": ["i386", "1", "1", "1", "0", "1", "\";;\\tatom sched_reorder: put %d insn on top\\n\"", "1", "1", "1", "0", "1", "\";;\\tslm sched_reorder: swap %d and %d insns\\n\"", "1", "2", "1", "1", "2", "2"], "File": "x86-tune-sched-atom", "Func": "ix86_atom_sched_reorder", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39222, "Length": 267}
{"ground_truth": ["", "static", "bool", "swap_top_of_ready_list", "(", "rtx_insn", "*", "*", "ready", ",", "int", "n_ready", ")", "{", "rtx_insn", "*", "top", "=", "ready", "[", "n_ready", "-", "1", "]", ";", "rtx_insn", "*", "next", "=", "ready", "[", "n_ready", "-", "2", "]", ";", "rtx", "set", ";", "sd_iterator_def", "sd_it", ";", "dep_t", "dep", ";", "int", "clock1", "=", "-", "1", ";", "int", "clock2", "=", "-", "1", ";", "if", "(", "!", "TARGET_CPU_P", "(", "SILVERMONT", ")", "&&", "!", "TARGET_CPU_P", "(", "INTEL", ")", ")", "return", "false", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "top", ")", ")", "return", "false", ";", "if", "(", "!", "NONJUMP_INSN_P", "(", "top", ")", ")", "return", "false", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "next", ")", ")", "return", "false", ";", "if", "(", "!", "NONJUMP_INSN_P", "(", "next", ")", ")", "return", "false", ";", "set", "=", "single_set", "(", "top", ")", ";", "if", "(", "!", "set", ")", "return", "false", ";", "set", "=", "single_set", "(", "next", ")", ";", "if", "(", "!", "set", ")", "return", "false", ";", "if", "(", "INSN_PRIORITY_KNOWN", "(", "top", ")", "&&", "INSN_PRIORITY_KNOWN", "(", "next", ")", ")", "{", "if", "(", "INSN_PRIORITY", "(", "top", ")", "!=", "INSN_PRIORITY", "(", "next", ")", ")", "return", "false", ";", "FOR_EACH_DEP", "(", "top", ",", "SD_LIST_RES_BACK", ",", "sd_it", ",", "dep", ")", "{", "rtx", "pro", ";", "pro", "=", "DEP_PRO", "(", "dep", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "pro", ")", ")", "continue", ";", "if", "(", "INSN_TICK", "(", "pro", ")", ">", "clock1", ")", "clock1", "=", "INSN_TICK", "(", "pro", ")", ";", "}", "FOR_EACH_DEP", "(", "next", ",", "SD_LIST_RES_BACK", ",", "sd_it", ",", "dep", ")", "{", "rtx", "pro", ";", "pro", "=", "DEP_PRO", "(", "dep", ")", ";", "if", "(", "!", "NONDEBUG_INSN_P", "(", "pro", ")", ")", "continue", ";", "if", "(", "INSN_TICK", "(", "pro", ")", ">", "clock2", ")", "clock2", "=", "INSN_TICK", "(", "pro", ")", ";", "}", "if", "(", "clock1", "==", "clock2", ")", "{", "enum", "attr_memory", "memory1", ",", "memory2", ";", "memory1", "=", "get_attr_memory", "(", "top", ")", ";", "memory2", "=", "get_attr_memory", "(", "next", ")", ";", "if", "(", "memory2", "==", "MEMORY_LOAD", "&&", "memory1", "!=", "MEMORY_LOAD", ")", "return", "true", ";", "}", "return", "(", "bool", ")", "(", "clock2", "<", "clock1", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Try", "to", "find", "the", "best", "candidate", "on", "the", "top", "of", "ready", "list", "if", "two", "insns", "have", "the", "same", "priority", "-", "candidate", "is", "best", "if", "its", "dependees", "were", "scheduled", "earlier", ".", "Applied", "for", "Silvermont", "only", ".", "Return", "true", "if", "top", "2", "insns", "must", "be", "interchanged", "."], "TS_V_token": ["i386", "1", "2", "1", "1"], "File": "x86-tune-sched-atom", "Func": "swap_top_of_ready_list", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39223, "Length": 327}
{"ground_truth": ["", "static", "void", "add_insn_window", "(", "rtx_insn", "*", "insn", ",", "dispatch_windows", "*", "window_list", ",", "int", "num_uops", ")", "{", "int", "byte_len", "=", "ix86_min_insn_size", "(", "insn", ")", ";", "int", "num_insn", "=", "window_list", "->", "num_insn", ";", "int", "imm_size", ";", "sched_insn_info", "*", "window", "=", "window_list", "->", "window", ";", "enum", "dispatch_group", "group", "=", "get_insn_group", "(", "insn", ")", ";", "enum", "insn_path", "path", "=", "get_insn_path", "(", "insn", ")", ";", "int", "num_imm_operand", ";", "int", "num_imm32_operand", ";", "int", "num_imm64_operand", ";", "if", "(", "!", "window_list", "->", "violation", "&&", "group", "!=", "disp_cmp", "&&", "!", "fits_dispatch_window", "(", "insn", ")", ")", "window_list", "->", "violation", "=", "true", ";", "imm_size", "=", "get_num_immediates", "(", "insn", ",", "&", "num_imm_operand", ",", "&", "num_imm32_operand", ",", "&", "num_imm64_operand", ")", ";", "window", "[", "num_insn", "]", ".", "insn", "=", "insn", ";", "window", "[", "num_insn", "]", ".", "byte_len", "=", "byte_len", ";", "window", "[", "num_insn", "]", ".", "group", "=", "group", ";", "window", "[", "num_insn", "]", ".", "path", "=", "path", ";", "window", "[", "num_insn", "]", ".", "imm_bytes", "=", "imm_size", ";", "window_list", "->", "window_size", "+=", "byte_len", ";", "window_list", "->", "num_insn", "=", "num_insn", "+", "1", ";", "window_list", "->", "num_uops", "=", "window_list", "->", "num_uops", "+", "num_uops", ";", "window_list", "->", "imm_size", "+=", "imm_size", ";", "window_list", "->", "num_imm", "+=", "num_imm_operand", ";", "window_list", "->", "num_imm_32", "+=", "num_imm32_operand", ";", "window_list", "->", "num_imm_64", "+=", "num_imm64_operand", ";", "if", "(", "group", "==", "disp_store", ")", "window_list", "->", "num_stores", "+=", "1", ";", "else", "if", "(", "group", "==", "disp_load", "||", "group", "==", "disp_prefetch", ")", "window_list", "->", "num_loads", "+=", "1", ";", "else", "if", "(", "group", "==", "disp_load_store", ")", "{", "window_list", "->", "num_stores", "+=", "1", ";", "window_list", "->", "num_loads", "+=", "1", ";", "}", "}", ""], "natrual_language": ["Add", "an", "instruction", "INSN", "with", "NUM_UOPS", "micro-operations", "to", "the", "dispatch", "window", "WINDOW_LIST", "."], "TS_V_token": ["i386", "1", "1", "1", "1", "1"], "File": "x86-tune-sched-bd", "Func": "add_insn_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39224, "Length": 252}
{"ground_truth": ["", "static", "void", "add_to_dispatch_window", "(", "rtx_insn", "*", "insn", ")", "{", "int", "byte_len", ";", "dispatch_windows", "*", "window_list", ";", "dispatch_windows", "*", "next_list", ";", "dispatch_windows", "*", "window0_list", ";", "enum", "insn_path", "path", ";", "enum", "dispatch_group", "insn_group", ";", "bool", "insn_fits", ";", "int", "num_insn", ";", "int", "num_uops", ";", "int", "window_num", ";", "int", "insn_num_uops", ";", "int", "sum", ";", "if", "(", "INSN_CODE", "(", "insn", ")", "<", "0", ")", "return", ";", "byte_len", "=", "ix86_min_insn_size", "(", "insn", ")", ";", "window_list", "=", "dispatch_window_list", ";", "next_list", "=", "window_list", "->", "next", ";", "path", "=", "get_insn_path", "(", "insn", ")", ";", "insn_group", "=", "get_insn_group", "(", "insn", ")", ";", "if", "(", "next_list", ")", "window_list", "=", "dispatch_window_list", "->", "next", ";", "if", "(", "path", "==", "path_single", ")", "insn_num_uops", "=", "1", ";", "else", "if", "(", "path", "==", "path_double", ")", "insn_num_uops", "=", "2", ";", "else", "insn_num_uops", "=", "(", "int", ")", "path", ";", "num_insn", "=", "window_list", "->", "num_insn", ";", "num_uops", "=", "window_list", "->", "num_uops", ";", "window_num", "=", "window_list", "->", "window_num", ";", "insn_fits", "=", "fits_dispatch_window", "(", "insn", ")", ";", "if", "(", "num_insn", ">=", "MAX_INSN", "||", "num_uops", "+", "insn_num_uops", ">", "MAX_INSN", "||", "!", "(", "insn_fits", ")", ")", "{", "window_num", "=", "~", "window_num", "&", "1", ";", "window_list", "=", "allocate_next_window", "(", "window_num", ")", ";", "}", "if", "(", "window_num", "==", "0", ")", "{", "add_insn_window", "(", "insn", ",", "window_list", ",", "insn_num_uops", ")", ";", "if", "(", "window_list", "->", "num_insn", ">=", "MAX_INSN", "&&", "insn_group", "==", "disp_branch", ")", "{", "process_end_window", "(", ")", ";", "return", ";", "}", "}", "else", "if", "(", "window_num", "==", "1", ")", "{", "window0_list", "=", "window_list", "->", "prev", ";", "sum", "=", "window0_list", "->", "window_size", "+", "window_list", "->", "window_size", ";", "if", "(", "sum", "==", "32", "||", "(", "byte_len", "+", "sum", ")", ">=", "48", ")", "{", "process_end_window", "(", ")", ";", "window_list", "=", "dispatch_window_list", ";", "}", "add_insn_window", "(", "insn", ",", "window_list", ",", "insn_num_uops", ")", ";", "}", "else", "gcc_unreachable", "(", ")", ";", "if", "(", "is_end_basic_block", "(", "insn_group", ")", ")", "{", "process_end_window", "(", ")", ";", "return", ";", "}", "}", ""], "natrual_language": ["Adds", "a", "scheduled", "instruction", ",", "INSN", ",", "to", "the", "current", "dispatch", "window", ".", "If", "the", "total", "bytes", "of", "instructions", "or", "the", "number", "of", "instructions", "in", "the", "window", "exceed", "allowable", ",", "it", "allocates", "a", "new", "window", "."], "TS_V_token": ["i386", "0", "1", "2", "1", "0", "1", "32", "48"], "File": "x86-tune-sched-bd", "Func": "add_to_dispatch_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39225, "Length": 305}
{"ground_truth": ["", "DEBUG_FUNCTION", "static", "void", "debug_insn_dispatch_info_file", "(", "FILE", "*", "file", ",", "rtx_insn", "*", "insn", ")", "{", "int", "byte_len", ";", "enum", "insn_path", "path", ";", "enum", "dispatch_group", "group", ";", "int", "imm_size", ";", "int", "num_imm_operand", ";", "int", "num_imm32_operand", ";", "int", "num_imm64_operand", ";", "if", "(", "INSN_CODE", "(", "insn", ")", "<", "0", ")", "return", ";", "byte_len", "=", "ix86_min_insn_size", "(", "insn", ")", ";", "path", "=", "get_insn_path", "(", "insn", ")", ";", "group", "=", "get_insn_group", "(", "insn", ")", ";", "imm_size", "=", "get_num_immediates", "(", "insn", ",", "&", "num_imm_operand", ",", "&", "num_imm32_operand", ",", "&", "num_imm64_operand", ")", ";", "fprintf", "(", "file", ",", "\" insn info:\\n\"", ")", ";", "fprintf", "(", "file", ",", "\" group = %s, path = %d, byte_len = %d\\n\"", ",", "group_name", "[", "group", "]", ",", "path", ",", "byte_len", ")", ";", "fprintf", "(", "file", ",", "\" num_imm = %d, num_imm_32 = %d, num_imm_64 = %d, imm_size = %d\\n\"", ",", "num_imm_operand", ",", "num_imm32_operand", ",", "num_imm64_operand", ",", "imm_size", ")", ";", "}", ""], "natrual_language": ["Print", "INSN", "dispatch", "information", "to", "FILE", "."], "TS_V_token": ["i386", "0", "\" insn info:\\n\"", "\" group = %s, path = %d, byte_len = %d\\n\"", "\" num_imm = %d, num_imm_32 = %d, num_imm_64 = %d, imm_size = %d\\n\""], "File": "x86-tune-sched-bd", "Func": "debug_insn_dispatch_info_file", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39226, "Length": 124}
{"ground_truth": ["", "static", "bool", "fits_dispatch_window", "(", "rtx_insn", "*", "insn", ")", "{", "dispatch_windows", "*", "window_list", "=", "dispatch_window_list", ";", "dispatch_windows", "*", "window_list_next", "=", "dispatch_window_list", "->", "next", ";", "unsigned", "int", "num_restrict", ";", "enum", "dispatch_group", "group", "=", "get_insn_group", "(", "insn", ")", ";", "enum", "insn_path", "path", "=", "get_insn_path", "(", "insn", ")", ";", "int", "sum", ";", "if", "(", "group", "==", "disp_jcc", "||", "group", "==", "disp_cmp", ")", "return", "false", ";", "if", "(", "group", "==", "disp_no_group", "||", "group", "==", "disp_branch", ")", "return", "true", ";", "if", "(", "window_list_next", ")", "window_list", "=", "window_list_next", ";", "if", "(", "window_list", "->", "window_num", "==", "1", ")", "{", "sum", "=", "window_list", "->", "prev", "->", "window_size", "+", "window_list", "->", "window_size", ";", "if", "(", "sum", "==", "32", "||", "(", "ix86_min_insn_size", "(", "insn", ")", "+", "sum", ")", ">=", "48", ")", "return", "true", ";", "}", "num_restrict", "=", "count_num_restricted", "(", "insn", ",", "window_list", ")", ";", "if", "(", "num_restrict", ">", "num_allowable_groups", "[", "group", "]", ")", "return", "false", ";", "if", "(", "window_list", "->", "window_num", "==", "0", ")", "{", "if", "(", "path", "==", "path_double", "&&", "(", "window_list", "->", "num_uops", "+", "2", ")", ">", "MAX_INSN", ")", "return", "false", ";", "else", "if", "(", "path", "!=", "path_single", ")", "return", "false", ";", "}", "return", "true", ";", "}", ""], "natrual_language": ["This", "function", "returns", "true", "if", "insn", "satisfies", "dispatch", "rules", "on", "the", "last", "window", "scheduled", "."], "TS_V_token": ["i386", "1", "32", "48", "0", "2"], "File": "x86-tune-sched-bd", "Func": "fits_dispatch_window", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39227, "Length": 188}
{"ground_truth": ["", "void", "ix86_bd_do_dispatch", "(", "rtx_insn", "*", "insn", ",", "int", "mode", ")", "{", "if", "(", "mode", "==", "DISPATCH_INIT", ")", "init_dispatch_sched", "(", ")", ";", "else", "if", "(", "mode", "==", "ADD_TO_DISPATCH_WINDOW", ")", "add_to_dispatch_window", "(", "insn", ")", ";", "}", ""], "natrual_language": ["This", "routine", "is", "the", "driver", "of", "the", "dispatch", "scheduler", "."], "TS_V_token": ["i386"], "File": "x86-tune-sched-bd", "Func": "ix86_bd_do_dispatch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39228, "Length": 34}
{"ground_truth": ["", "bool", "ix86_bd_has_dispatch", "(", "rtx_insn", "*", "insn", ",", "int", "action", ")", "{", "if", "(", "(", "TARGET_CPU_P", "(", "BDVER1", ")", "||", "TARGET_CPU_P", "(", "BDVER2", ")", "||", "TARGET_CPU_P", "(", "BDVER3", ")", "||", "TARGET_CPU_P", "(", "BDVER4", ")", ")", "&&", "flag_dispatch_scheduler", ")", "switch", "(", "action", ")", "{", "default", ":", "return", "false", ";", "case", "IS_DISPATCH_ON", ":", "return", "true", ";", "case", "IS_CMP", ":", "return", "is_cmp", "(", "insn", ")", ";", "case", "DISPATCH_VIOLATION", ":", "return", "dispatch_violation", "(", ")", ";", "case", "FITS_DISPATCH_WINDOW", ":", "return", "fits_dispatch_window", "(", "insn", ")", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "TRUE", "if", "Dispatch", "Scheduling", "is", "supported", "."], "TS_V_token": ["i386"], "File": "x86-tune-sched-bd", "Func": "ix86_bd_has_dispatch", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39229, "Length": 84}
{"ground_truth": ["", "static", "void", "core2i7_first_cycle_multipass_issue", "(", "void", "*", "_data", ",", "signed", "char", "*", "ready_try", ",", "int", "n_ready", ",", "rtx_insn", "*", "insn", ",", "const", "void", "*", "_prev_data", ")", "{", "ix86_first_cycle_multipass_data_t", "data", "=", "(", "ix86_first_cycle_multipass_data_t", ")", "_data", ";", "const_ix86_first_cycle_multipass_data_t", "prev_data", "=", "(", "const_ix86_first_cycle_multipass_data_t", ")", "_prev_data", ";", "int", "insn_size", "=", "ix86_min_insn_size", "(", "insn", ")", ";", "data", "->", "ifetch_block_len", "=", "prev_data", "->", "ifetch_block_len", "+", "insn_size", ";", "data", "->", "ifetch_block_n_insns", "=", "prev_data", "->", "ifetch_block_n_insns", "+", "1", ";", "gcc_assert", "(", "data", "->", "ifetch_block_len", "<=", "core2i7_ifetch_block_size", "&&", "data", "->", "ifetch_block_n_insns", "<=", "core2i7_ifetch_block_max_insns", ")", ";", "if", "(", "!", "data", "->", "ready_try_change", ")", "{", "data", "->", "ready_try_change", "=", "sbitmap_alloc", "(", "n_ready", ")", ";", "data", "->", "ready_try_change_size", "=", "n_ready", ";", "}", "else", "if", "(", "data", "->", "ready_try_change_size", "<", "n_ready", ")", "{", "data", "->", "ready_try_change", "=", "sbitmap_resize", "(", "data", "->", "ready_try_change", ",", "n_ready", ",", "0", ")", ";", "data", "->", "ready_try_change_size", "=", "n_ready", ";", "}", "bitmap_clear", "(", "data", "->", "ready_try_change", ")", ";", "core2i7_first_cycle_multipass_filter_ready_try", "(", "data", ",", "ready_try", ",", "n_ready", ",", "false", ")", ";", "}", ""], "natrual_language": ["INSN", "is", "being", "issued", "in", "current", "solution", ".", "Account", "for", "its", "impact", "on", "the", "decoder", "model", "."], "TS_V_token": ["i386", "1", "0"], "File": "x86-tune-sched-core", "Func": "core2i7_first_cycle_multipass_issue", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39230, "Length": 160}
{"ground_truth": ["", "int", "ix86_issue_rate", "(", "void", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "case", "PROCESSOR_LAKEMONT", ":", "case", "PROCESSOR_BONNELL", ":", "case", "PROCESSOR_SILVERMONT", ":", "case", "PROCESSOR_KNL", ":", "case", "PROCESSOR_KNM", ":", "case", "PROCESSOR_INTEL", ":", "case", "PROCESSOR_K6", ":", "case", "PROCESSOR_BTVER2", ":", "case", "PROCESSOR_PENTIUM4", ":", "case", "PROCESSOR_NOCONA", ":", "return", "2", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "case", "PROCESSOR_ATHLON", ":", "case", "PROCESSOR_K8", ":", "case", "PROCESSOR_AMDFAM10", ":", "case", "PROCESSOR_BTVER1", ":", "case", "PROCESSOR_LUJIAZUI", ":", "return", "3", ";", "case", "PROCESSOR_BDVER1", ":", "case", "PROCESSOR_BDVER2", ":", "case", "PROCESSOR_BDVER3", ":", "case", "PROCESSOR_BDVER4", ":", "case", "PROCESSOR_ZNVER1", ":", "case", "PROCESSOR_ZNVER2", ":", "case", "PROCESSOR_ZNVER3", ":", "case", "PROCESSOR_ZNVER4", ":", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "case", "PROCESSOR_TREMONT", ":", "case", "PROCESSOR_SKYLAKE", ":", "case", "PROCESSOR_SKYLAKE_AVX512", ":", "case", "PROCESSOR_CASCADELAKE", ":", "case", "PROCESSOR_CANNONLAKE", ":", "case", "PROCESSOR_ALDERLAKE", ":", "case", "PROCESSOR_GENERIC", ":", "return", "4", ";", "case", "PROCESSOR_ICELAKE_CLIENT", ":", "case", "PROCESSOR_ICELAKE_SERVER", ":", "case", "PROCESSOR_TIGERLAKE", ":", "case", "PROCESSOR_COOPERLAKE", ":", "case", "PROCESSOR_ROCKETLAKE", ":", "return", "5", ";", "case", "PROCESSOR_SAPPHIRERAPIDS", ":", "return", "6", ";", "default", ":", "return", "1", ";", "}", "}", ""], "natrual_language": ["Return", "the", "maximum", "number", "of", "instructions", "a", "cpu", "can", "issue", "."], "TS_V_token": ["i386", "2", "3", "4", "5", "6", "1"], "File": "x86-tune-sched1", "Func": "ix86_issue_rate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39231, "Length": 159}
{"ground_truth": ["", "int", "ix86_issue_rate", "(", "void", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "case", "PROCESSOR_LAKEMONT", ":", "case", "PROCESSOR_BONNELL", ":", "case", "PROCESSOR_SILVERMONT", ":", "case", "PROCESSOR_KNL", ":", "case", "PROCESSOR_KNM", ":", "case", "PROCESSOR_INTEL", ":", "case", "PROCESSOR_K6", ":", "case", "PROCESSOR_BTVER2", ":", "case", "PROCESSOR_PENTIUM4", ":", "case", "PROCESSOR_NOCONA", ":", "return", "2", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "case", "PROCESSOR_ATHLON", ":", "case", "PROCESSOR_K8", ":", "case", "PROCESSOR_AMDFAM10", ":", "case", "PROCESSOR_BTVER1", ":", "return", "3", ";", "case", "PROCESSOR_BDVER1", ":", "case", "PROCESSOR_BDVER2", ":", "case", "PROCESSOR_BDVER3", ":", "case", "PROCESSOR_BDVER4", ":", "case", "PROCESSOR_ZNVER1", ":", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "case", "PROCESSOR_GENERIC", ":", "return", "4", ";", "default", ":", "return", "1", ";", "}", "}", ""], "natrual_language": ["Return", "the", "maximum", "number", "of", "instructions", "a", "cpu", "can", "issue", "."], "TS_V_token": ["i386", "2", "3", "4", "1"], "File": "x86-tune-sched2", "Func": "ix86_issue_rate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39232, "Length": 105}
{"ground_truth": ["", "static", "bool", "exact_dependency_1", "(", "rtx", "addr", ",", "rtx", "insn", ")", "{", "enum", "rtx_code", "code", ";", "const", "char", "*", "format_ptr", ";", "int", "i", ",", "j", ";", "code", "=", "GET_CODE", "(", "insn", ")", ";", "switch", "(", "code", ")", "{", "case", "MEM", ":", "if", "(", "rtx_equal_p", "(", "addr", ",", "insn", ")", ")", "return", "true", ";", "break", ";", "case", "REG", ":", "CASE_CONST_ANY", ":", "case", "SYMBOL_REF", ":", "case", "CODE_LABEL", ":", "case", "PC", ":", "case", "EXPR_LIST", ":", "return", "false", ";", "default", ":", "break", ";", "}", "format_ptr", "=", "GET_RTX_FORMAT", "(", "code", ")", ";", "for", "(", "i", "=", "0", ";", "i", "<", "GET_RTX_LENGTH", "(", "code", ")", ";", "i", "++", ")", "{", "switch", "(", "*", "format_ptr", "++", ")", "{", "case", "'e'", ":", "if", "(", "exact_dependency_1", "(", "addr", ",", "XEXP", "(", "insn", ",", "i", ")", ")", ")", "return", "true", ";", "break", ";", "case", "'E'", ":", "for", "(", "j", "=", "0", ";", "j", "<", "XVECLEN", "(", "insn", ",", "i", ")", ";", "j", "++", ")", "if", "(", "exact_dependency_1", "(", "addr", ",", "XVECEXP", "(", "insn", ",", "i", ",", "j", ")", ")", ")", "return", "true", ";", "break", ";", "}", "}", "return", "false", ";", "}", ""], "natrual_language": ["Helper", "function", "for", "exact_store_load_dependency", ".", "Return", "true", "if", "addr", "is", "found", "in", "insn", "."], "TS_V_token": ["i386", "0", "0"], "File": "x86-tune-sched", "Func": "exact_dependency_1", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39233, "Length": 180}
{"ground_truth": ["", "int", "ia32_multipass_dfa_lookahead", "(", "void", ")", "{", "if", "(", "reload_completed", ")", "return", "ix86_issue_rate", "(", ")", ";", "return", "0", ";", "}", ""], "natrual_language": ["How", "many", "alternative", "schedules", "to", "try", ".", "This", "should", "be", "as", "wide", "as", "the", "scheduling", "freedom", "in", "the", "DFA", ",", "but", "no", "wider", ".", "Making", "this", "value", "too", "large", "results", "extra", "work", "for", "the", "scheduler", "."], "TS_V_token": ["i386", "0"], "File": "x86-tune-sched", "Func": "ia32_multipass_dfa_lookahead", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39234, "Length": 19}
{"ground_truth": ["", "bool", "ix86_agi_dependent", "(", "rtx_insn", "*", "set_insn", ",", "rtx_insn", "*", "use_insn", ")", "{", "int", "i", ";", "extract_insn_cached", "(", "use_insn", ")", ";", "for", "(", "i", "=", "recog_data", ".", "n_operands", "-", "1", ";", "i", ">=", "0", ";", "--", "i", ")", "if", "(", "MEM_P", "(", "recog_data", ".", "operand", "[", "i", "]", ")", ")", "{", "rtx", "addr", "=", "XEXP", "(", "recog_data", ".", "operand", "[", "i", "]", ",", "0", ")", ";", "if", "(", "modified_in_p", "(", "addr", ",", "set_insn", ")", "!=", "0", ")", "{", "rtx", "set", "=", "single_set", "(", "set_insn", ")", ";", "if", "(", "set", "&&", "(", "push_operand", "(", "SET_DEST", "(", "set", ")", ",", "GET_MODE", "(", "SET_DEST", "(", "set", ")", ")", ")", "||", "pop_operand", "(", "SET_SRC", "(", "set", ")", ",", "GET_MODE", "(", "SET_SRC", "(", "set", ")", ")", ")", ")", ")", "{", "struct", "ix86_address", "parts", ";", "if", "(", "ix86_decompose_address", "(", "addr", ",", "&", "parts", ")", "&&", "parts", ".", "base", "==", "stack_pointer_rtx", "&&", "(", "parts", ".", "index", "==", "NULL_RTX", "||", "MEM_P", "(", "SET_DEST", "(", "set", ")", ")", "||", "!", "modified_in_p", "(", "parts", ".", "index", ",", "set_insn", ")", ")", ")", "return", "false", ";", "}", "return", "true", ";", "}", "return", "false", ";", "}", "return", "false", ";", "}", ""], "natrual_language": ["Return", "true", "iff", "USE_INSN", "has", "a", "memory", "address", "with", "operands", "set", "by", "SET_INSN", "."], "TS_V_token": ["i386", "1", "0", "0", "0"], "File": "x86-tune-sched", "Func": "ix86_agi_dependent", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39235, "Length": 186}
{"ground_truth": ["", "int", "ix86_issue_rate", "(", "void", ")", "{", "switch", "(", "ix86_tune", ")", "{", "case", "PROCESSOR_PENTIUM", ":", "case", "PROCESSOR_LAKEMONT", ":", "case", "PROCESSOR_BONNELL", ":", "case", "PROCESSOR_SILVERMONT", ":", "case", "PROCESSOR_KNL", ":", "case", "PROCESSOR_KNM", ":", "case", "PROCESSOR_INTEL", ":", "case", "PROCESSOR_K6", ":", "case", "PROCESSOR_BTVER2", ":", "case", "PROCESSOR_PENTIUM4", ":", "case", "PROCESSOR_NOCONA", ":", "return", "2", ";", "case", "PROCESSOR_PENTIUMPRO", ":", "case", "PROCESSOR_ATHLON", ":", "case", "PROCESSOR_K8", ":", "case", "PROCESSOR_AMDFAM10", ":", "case", "PROCESSOR_BTVER1", ":", "return", "3", ";", "case", "PROCESSOR_BDVER1", ":", "case", "PROCESSOR_BDVER2", ":", "case", "PROCESSOR_BDVER3", ":", "case", "PROCESSOR_BDVER4", ":", "case", "PROCESSOR_ZNVER1", ":", "case", "PROCESSOR_ZNVER2", ":", "case", "PROCESSOR_ZNVER3", ":", "case", "PROCESSOR_CORE2", ":", "case", "PROCESSOR_NEHALEM", ":", "case", "PROCESSOR_SANDYBRIDGE", ":", "case", "PROCESSOR_HASWELL", ":", "case", "PROCESSOR_TREMONT", ":", "case", "PROCESSOR_ALDERLAKE", ":", "case", "PROCESSOR_GENERIC", ":", "return", "4", ";", "default", ":", "return", "1", ";", "}", "}", ""], "natrual_language": ["Return", "the", "maximum", "number", "of", "instructions", "a", "cpu", "can", "issue", "."], "TS_V_token": ["i386", "2", "3", "4", "1"], "File": "x86-tune-sched", "Func": "ix86_issue_rate", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39236, "Length": 117}
{"ground_truth": ["", "bool", "ix86_macro_fusion_p", "(", ")", "{", "return", "TARGET_FUSE_CMP_AND_BRANCH", ";", "}", ""], "natrual_language": ["Return", "true", "if", "target", "platform", "supports", "macro-fusion", "."], "TS_V_token": ["i386"], "File": "x86-tune-sched", "Func": "ix86_macro_fusion_p", "Target": "i386", "Target_Clf": "CPU", "Compiler_Type": "GCC", "Idx": 39237, "Length": 9}