1c8b5e3deSConrad Meyer/* 2c8b5e3deSConrad Meyer */ 3c8b5e3deSConrad Meyer 43f82d834SBrooks Davis#if defined(__LP64__) || defined(__SIZEOF_INT128__) 53f82d834SBrooks Davis#define CRT_HAS_128BIT 63f82d834SBrooks Davis#endif 73f82d834SBrooks Davis 8c8b5e3deSConrad MeyerGCC_3.0 { 9c8b5e3deSConrad Meyer __absvdi2; 10c8b5e3deSConrad Meyer __absvsi2; 11c8b5e3deSConrad Meyer __addvdi3; 12c8b5e3deSConrad Meyer __addvsi3; 13c8b5e3deSConrad Meyer __ashldi3; 14c8b5e3deSConrad Meyer __ashrdi3; 15c8b5e3deSConrad Meyer __clear_cache; 16c8b5e3deSConrad Meyer __cmpdi2; 17b457144cSBrooks Davis#ifndef __arm__ 18c8b5e3deSConrad Meyer __deregister_frame; 19b457144cSBrooks Davis#if !defined(__aarch64__) && !defined(__riscv) 20c8b5e3deSConrad Meyer __deregister_frame_info; 21c8b5e3deSConrad Meyer __deregister_frame_info_bases; 22b457144cSBrooks Davis#endif 23b457144cSBrooks Davis#endif 24c8b5e3deSConrad Meyer __divdi3; 25c8b5e3deSConrad Meyer __ffsdi2; 26c8b5e3deSConrad Meyer __fixdfdi; 27c8b5e3deSConrad Meyer __fixsfdi; 28c8b5e3deSConrad Meyer __fixunsdfdi; 29b457144cSBrooks Davis#ifndef __arm__ 30c8b5e3deSConrad Meyer __fixunsdfsi; 31b457144cSBrooks Davis#endif 32c8b5e3deSConrad Meyer __fixunssfdi; 33b457144cSBrooks Davis#ifndef __arm__ 34c8b5e3deSConrad Meyer __fixunssfsi; 35b457144cSBrooks Davis#endif 3698c8caafSBrooks Davis#if defined(__amd64__) || defined(__i386__) 37c8b5e3deSConrad Meyer __fixunsxfdi; 38c8b5e3deSConrad Meyer __fixunsxfsi; 39c8b5e3deSConrad Meyer __fixxfdi; 40b457144cSBrooks Davis#endif 41c8b5e3deSConrad Meyer __floatdidf; 42c8b5e3deSConrad Meyer __floatdisf; 4398c8caafSBrooks Davis#if defined(__amd64__) || defined(__i386__) 44c8b5e3deSConrad Meyer __floatdixf; 45b457144cSBrooks Davis#endif 46c8b5e3deSConrad Meyer __lshrdi3; 47c8b5e3deSConrad Meyer __moddi3; 48c8b5e3deSConrad Meyer __muldi3; 49c8b5e3deSConrad Meyer __mulvdi3; 50c8b5e3deSConrad Meyer __mulvsi3; 51c8b5e3deSConrad Meyer __negdi2; 52c8b5e3deSConrad Meyer __negvdi2; 53c8b5e3deSConrad Meyer __negvsi2; 54b457144cSBrooks Davis#ifndef __arm__ 55c8b5e3deSConrad Meyer __register_frame; 56b457144cSBrooks Davis#if !defined(__aarch64__) && !defined(__riscv) 57c8b5e3deSConrad Meyer __register_frame_info; 58c8b5e3deSConrad Meyer __register_frame_info_bases; 59c8b5e3deSConrad Meyer __register_frame_info_table; 60c8b5e3deSConrad Meyer __register_frame_info_table_bases; 61c8b5e3deSConrad Meyer __register_frame_table; 62b457144cSBrooks Davis#endif 63b457144cSBrooks Davis#endif 64c8b5e3deSConrad Meyer __subvdi3; 65c8b5e3deSConrad Meyer __subvsi3; 66c8b5e3deSConrad Meyer __ucmpdi2; 67c8b5e3deSConrad Meyer __udivdi3; 68c8b5e3deSConrad Meyer __udivmoddi4; 69c8b5e3deSConrad Meyer __umoddi3; 70c8b5e3deSConrad Meyer _Unwind_DeleteException; 71c8b5e3deSConrad Meyer _Unwind_Find_FDE; 72c8b5e3deSConrad Meyer _Unwind_ForcedUnwind; 73c8b5e3deSConrad Meyer _Unwind_GetDataRelBase; 74c8b5e3deSConrad Meyer _Unwind_GetGR; 75c8b5e3deSConrad Meyer _Unwind_GetIP; 76c8b5e3deSConrad Meyer _Unwind_GetLanguageSpecificData; 77c8b5e3deSConrad Meyer _Unwind_GetRegionStart; 78c8b5e3deSConrad Meyer _Unwind_GetTextRelBase; 79c8b5e3deSConrad Meyer _Unwind_RaiseException; 80c8b5e3deSConrad Meyer _Unwind_Resume; 81c8b5e3deSConrad Meyer _Unwind_SetGR; 82c8b5e3deSConrad Meyer _Unwind_SetIP; 833f82d834SBrooks Davis 843f82d834SBrooks Davis#ifdef CRT_HAS_128BIT 853f82d834SBrooks Davis __ashlti3; 863f82d834SBrooks Davis __ashrti3; 873f82d834SBrooks Davis __cmpti2; 883f82d834SBrooks Davis __divti3; 893f82d834SBrooks Davis __ffsti2; 903f82d834SBrooks Davis __fixdfti; 913f82d834SBrooks Davis __fixsfti; 923f82d834SBrooks Davis __fixunsdfti; 933f82d834SBrooks Davis __fixunssfti; 943f82d834SBrooks Davis __floattidf; 953f82d834SBrooks Davis __floattisf; 963f82d834SBrooks Davis __lshrti3; 973f82d834SBrooks Davis __modti3; 983f82d834SBrooks Davis __multi3; 993f82d834SBrooks Davis __negti2; 1003f82d834SBrooks Davis __ucmpti2; 1013f82d834SBrooks Davis __udivmodti4; 1023f82d834SBrooks Davis __udivti3; 1033f82d834SBrooks Davis __umodti3; 10498c8caafSBrooks Davis#ifdef __amd64__ 10598c8caafSBrooks Davis __fixunsxfti; 10698c8caafSBrooks Davis __fixxfti; 10798c8caafSBrooks Davis __floattixf; 10898c8caafSBrooks Davis#endif 1093f82d834SBrooks Davis#endif 110c8b5e3deSConrad Meyer}; 111c8b5e3deSConrad Meyer 112c8b5e3deSConrad MeyerGCC_3.3 { 113c8b5e3deSConrad Meyer _Unwind_FindEnclosingFunction; 114c8b5e3deSConrad Meyer _Unwind_GetCFA; 115c8b5e3deSConrad Meyer _Unwind_Resume_or_Rethrow; 116c8b5e3deSConrad Meyer}; 117c8b5e3deSConrad Meyer 118c8b5e3deSConrad MeyerGCC_3.3.1 { 119c8b5e3deSConrad Meyer __gcc_personality_v0; 120c8b5e3deSConrad Meyer}; 121c8b5e3deSConrad Meyer 122c8b5e3deSConrad MeyerGCC_3.4 { 123c8b5e3deSConrad Meyer __clzdi2; 124c8b5e3deSConrad Meyer __clzsi2; 125c8b5e3deSConrad Meyer __ctzdi2; 126c8b5e3deSConrad Meyer __ctzsi2; 127c8b5e3deSConrad Meyer __paritydi2; 128c8b5e3deSConrad Meyer __paritysi2; 129c8b5e3deSConrad Meyer __popcountdi2; 130c8b5e3deSConrad Meyer __popcountsi2; 1313f82d834SBrooks Davis 1323f82d834SBrooks Davis#ifdef CRT_HAS_128BIT 1333f82d834SBrooks Davis __clzti2; 1343f82d834SBrooks Davis __ctzti2; 1353f82d834SBrooks Davis __parityti2; 136c8b5e3deSConrad Meyer __popcountti2; 1373f82d834SBrooks Davis#endif 138c8b5e3deSConrad Meyer}; 139c8b5e3deSConrad Meyer 140c8b5e3deSConrad MeyerGCC_3.4.2 { 141c8b5e3deSConrad Meyer __enable_execute_stack; 142c8b5e3deSConrad Meyer}; 143c8b5e3deSConrad Meyer 144c8b5e3deSConrad MeyerGCC_3.4.4 { 1453f82d834SBrooks Davis#ifdef CRT_HAS_128BIT 146c8b5e3deSConrad Meyer __absvti2; 147c8b5e3deSConrad Meyer __addvti3; 148c8b5e3deSConrad Meyer __mulvti3; 149c8b5e3deSConrad Meyer __negvti2; 150c8b5e3deSConrad Meyer __subvti3; 1513f82d834SBrooks Davis#endif 152c8b5e3deSConrad Meyer}; 153c8b5e3deSConrad Meyer 154c8b5e3deSConrad MeyerGCC_4.0.0 { 155c8b5e3deSConrad Meyer __divdc3; 156c8b5e3deSConrad Meyer __divsc3; 157*25db7bd2SBrooks Davis#if defined(__amd64__) || defined(__i386__) 158c8b5e3deSConrad Meyer __divxc3; 159b457144cSBrooks Davis#endif 160c8b5e3deSConrad Meyer __muldc3; 161c8b5e3deSConrad Meyer __mulsc3; 162*25db7bd2SBrooks Davis#if defined(__amd64__) || defined(__i386__) 163c8b5e3deSConrad Meyer __mulxc3; 164b457144cSBrooks Davis#endif 165c8b5e3deSConrad Meyer __powidf2; 166c8b5e3deSConrad Meyer __powisf2; 167*25db7bd2SBrooks Davis#if defined(__amd64__) || defined(__i386__) 168c8b5e3deSConrad Meyer __powixf2; 169b457144cSBrooks Davis#endif 170c8b5e3deSConrad Meyer}; 171c8b5e3deSConrad Meyer 172c8b5e3deSConrad MeyerGCC_4.2.0 { 173c8b5e3deSConrad Meyer __floatundidf; 174c8b5e3deSConrad Meyer __floatundisf; 175*25db7bd2SBrooks Davis#if defined(__amd64__) || defined(__i386__) 176c8b5e3deSConrad Meyer __floatundixf; 177b457144cSBrooks Davis#endif 1783f82d834SBrooks Davis _Unwind_GetIPInfo; 1793f82d834SBrooks Davis 1803f82d834SBrooks Davis#ifdef CRT_HAS_128BIT 181c8b5e3deSConrad Meyer __floatuntidf; 182c8b5e3deSConrad Meyer __floatuntisf; 18398c8caafSBrooks Davis#ifdef __amd64__ 184c8b5e3deSConrad Meyer __floatuntixf; 1853f82d834SBrooks Davis#endif 18698c8caafSBrooks Davis#endif 187c8b5e3deSConrad Meyer}; 188c8b5e3deSConrad Meyer 189c8b5e3deSConrad MeyerGCC_4.3.0 { 190c8b5e3deSConrad Meyer __bswapdi2; 191c8b5e3deSConrad Meyer __bswapsi2; 192c8b5e3deSConrad Meyer}; 193790a6be5SDimitry Andric 194790a6be5SDimitry AndricGCC_4.6.0 { 195723e60a2SBrooks Davis#if defined(__aarch64__) || defined(__riscv) 196790a6be5SDimitry Andric __addtf3; 197790a6be5SDimitry Andric __cmptf2; 198790a6be5SDimitry Andric __divtf3; 199790a6be5SDimitry Andric __eqtf2; 200790a6be5SDimitry Andric __extenddftf2; 201790a6be5SDimitry Andric __extendsftf2; 202790a6be5SDimitry Andric __fixtfdi; 203790a6be5SDimitry Andric __fixtfsi; 204790a6be5SDimitry Andric __fixtfti; 205790a6be5SDimitry Andric __fixunstfdi; 206790a6be5SDimitry Andric __fixunstfsi; 207790a6be5SDimitry Andric __fixunstfti; 20870475688SJessica Clarke __floatditf; 209790a6be5SDimitry Andric __floatsitf; 210790a6be5SDimitry Andric __floattitf; 21170475688SJessica Clarke __floatunditf; 212790a6be5SDimitry Andric __floatunsitf; 213790a6be5SDimitry Andric __floatuntitf; 214790a6be5SDimitry Andric __getf2; 215790a6be5SDimitry Andric __gttf2; 216790a6be5SDimitry Andric __letf2; 217790a6be5SDimitry Andric __lttf2; 218790a6be5SDimitry Andric __multf3; 219790a6be5SDimitry Andric __netf2; 220790a6be5SDimitry Andric __subtf3; 221790a6be5SDimitry Andric __trunctfdf2; 222790a6be5SDimitry Andric __trunctfsf2; 223790a6be5SDimitry Andric __unordtf2; 224b8df8b0cSBrooks Davis#endif 225723e60a2SBrooks Davis#if defined(__amd64__) 226723e60a2SBrooks Davis __extendxftf2; 227723e60a2SBrooks Davis __trunctfxf2; 228723e60a2SBrooks Davis#endif 229723e60a2SBrooks Davis}; 23044e89340SBrooks Davis 23144e89340SBrooks DavisGCC_7.0.0 { 23244e89340SBrooks Davis#ifdef __i386__ 23344e89340SBrooks Davis __divmoddi4; 23444e89340SBrooks Davis#endif 23544e89340SBrooks Davis}; 236