7e7e470f9b
* tree-complex.c (expand_complex_libcall): New. (expand_complex_multiplication): Use it for c99 compliance. (expand_complex_division): Likewise. * fold-const.c (fold_complex_add, fold_complex_mult): New. (fold): Call them. * builtins.c (built_in_names): Remove const. * tree.c (build_common_builtin_nodes): Build complex arithmetic builtins. * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New. (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New. (built_in_names): Remove const. * c-common.c (c_common_type_for_mode): Handle complex modes. * flags.h, toplev.c (flag_complex_method): Rename from flag_complex_divide_method. * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3, __mulsc3, __muldc3, __mulxc3, __multc3): New. * libgcc2.h: Declare them. * libgcc-std.ver: Export them. * mklibgcc.in (lib2funcs): Build them. From-SVN: r94909
255 lines
3.7 KiB
Plaintext
255 lines
3.7 KiB
Plaintext
GCC_3.0 {
|
|
# libgcc1 integer symbols
|
|
__absvsi2
|
|
__addvsi3
|
|
__ashlsi3
|
|
__ashrsi3
|
|
__divsi3
|
|
__lshrsi3
|
|
__modsi3
|
|
__mulsi3
|
|
__mulvsi3
|
|
__negvsi2
|
|
__subvsi3
|
|
__udivsi3
|
|
__umodsi3
|
|
|
|
# libgcc1 floating point symbols
|
|
__addsf3
|
|
__adddf3
|
|
__addxf3
|
|
__addtf3
|
|
__divsf3
|
|
__divdf3
|
|
__divxf3
|
|
__divtf3
|
|
__eqsf2
|
|
__eqdf2
|
|
__eqxf2
|
|
__eqtf2
|
|
__extenddfxf2
|
|
__extenddftf2
|
|
__extendsfdf2
|
|
__extendsfxf2
|
|
__extendsftf2
|
|
__fixsfsi
|
|
__fixdfsi
|
|
__fixxfsi
|
|
__fixtfsi
|
|
__floatsisf
|
|
__floatsidf
|
|
__floatsixf
|
|
__floatsitf
|
|
__gesf2
|
|
__gedf2
|
|
__gexf2
|
|
__getf2
|
|
__gtsf2
|
|
__gtdf2
|
|
__gtxf2
|
|
__gttf2
|
|
__lesf2
|
|
__ledf2
|
|
__lexf2
|
|
__letf2
|
|
__ltsf2
|
|
__ltdf2
|
|
__ltxf2
|
|
__lttf2
|
|
__mulsf3
|
|
__muldf3
|
|
__mulxf3
|
|
__multf3
|
|
__negsf2
|
|
__negdf2
|
|
__negxf2
|
|
__negtf2
|
|
__nesf2
|
|
__nedf2
|
|
__nexf2
|
|
__netf2
|
|
__subsf3
|
|
__subdf3
|
|
__subxf3
|
|
__subtf3
|
|
__truncdfsf2
|
|
__truncxfsf2
|
|
__trunctfsf2
|
|
__truncxfdf2
|
|
__trunctfdf2
|
|
|
|
# libgcc2 DImode arithmetic (for 32-bit targets).
|
|
__absvdi2
|
|
__addvdi3
|
|
__ashldi3
|
|
__ashrdi3
|
|
__cmpdi2
|
|
__divdi3
|
|
__ffsdi2
|
|
__fixdfdi
|
|
__fixsfdi
|
|
__fixtfdi
|
|
__fixxfdi
|
|
__fixunsdfdi
|
|
__fixunsdfsi
|
|
__fixunssfsi
|
|
__fixunssfdi
|
|
__fixunstfdi
|
|
__fixunstfsi
|
|
__fixunsxfdi
|
|
__fixunsxfsi
|
|
__floatdidf
|
|
__floatdisf
|
|
__floatdixf
|
|
__floatditf
|
|
__lshrdi3
|
|
__moddi3
|
|
__muldi3
|
|
__mulvdi3
|
|
__negdi2
|
|
__negvdi2
|
|
__subvdi3
|
|
__ucmpdi2
|
|
__udivdi3
|
|
__udivmoddi4
|
|
__umoddi3
|
|
|
|
# libgcc2 TImode arithmetic (for 64-bit targets).
|
|
__ashlti3
|
|
__ashrti3
|
|
__cmpti2
|
|
__divti3
|
|
__ffsti2
|
|
__fixdfti
|
|
__fixsfti
|
|
__fixtfti
|
|
__fixxfti
|
|
__lshrti3
|
|
__modti3
|
|
__multi3
|
|
__negti2
|
|
__ucmpti2
|
|
__udivmodti4
|
|
__udivti3
|
|
__umodti3
|
|
__fixunsdfti
|
|
__fixunssfti
|
|
__fixunstfti
|
|
__fixunsxfti
|
|
__floattidf
|
|
__floattisf
|
|
__floattixf
|
|
__floattitf
|
|
|
|
# Used to deal with trampoline initialization on some platforms
|
|
__clear_cache
|
|
|
|
# EH symbols
|
|
_Unwind_DeleteException
|
|
_Unwind_Find_FDE
|
|
_Unwind_ForcedUnwind
|
|
_Unwind_GetGR
|
|
_Unwind_GetIP
|
|
_Unwind_GetLanguageSpecificData
|
|
_Unwind_GetRegionStart
|
|
_Unwind_GetTextRelBase
|
|
_Unwind_GetDataRelBase
|
|
_Unwind_RaiseException
|
|
_Unwind_Resume
|
|
_Unwind_SetGR
|
|
_Unwind_SetIP
|
|
__deregister_frame
|
|
__deregister_frame_info
|
|
__deregister_frame_info_bases
|
|
__register_frame
|
|
__register_frame_info
|
|
__register_frame_info_bases
|
|
__register_frame_info_table
|
|
__register_frame_info_table_bases
|
|
__register_frame_table
|
|
|
|
# SjLj EH symbols
|
|
_Unwind_SjLj_Register
|
|
_Unwind_SjLj_Unregister
|
|
_Unwind_SjLj_RaiseException
|
|
_Unwind_SjLj_ForcedUnwind
|
|
_Unwind_SjLj_Resume
|
|
}
|
|
|
|
%inherit GCC_3.3 GCC_3.0
|
|
GCC_3.3 {
|
|
_Unwind_FindEnclosingFunction
|
|
_Unwind_GetCFA
|
|
_Unwind_Backtrace
|
|
_Unwind_Resume_or_Rethrow
|
|
_Unwind_SjLj_Resume_or_Rethrow
|
|
}
|
|
|
|
%inherit GCC_3.3.1 GCC_3.3
|
|
GCC_3.3.1 {
|
|
__gcc_personality_sj0
|
|
__gcc_personality_v0
|
|
}
|
|
|
|
%inherit GCC_3.3.2 GCC_3.3.1
|
|
GCC_3.3.2 {
|
|
}
|
|
%inherit GCC_3.3.4 GCC_3.3.2
|
|
GCC_3.3.4 {
|
|
__unorddf2
|
|
__unordsf2
|
|
}
|
|
|
|
%inherit GCC_3.4 GCC_3.3.4
|
|
GCC_3.4 {
|
|
# bit scanning and counting built-ins
|
|
__clzsi2
|
|
__clzdi2
|
|
__clzti2
|
|
__ctzsi2
|
|
__ctzdi2
|
|
__ctzti2
|
|
__popcountsi2
|
|
__popcountdi2
|
|
__popcountti2
|
|
__paritysi2
|
|
__paritydi2
|
|
__parityti2
|
|
}
|
|
|
|
%inherit GCC_3.4.2 GCC_3.4
|
|
GCC_3.4.2 {
|
|
# Used to deal with trampoline initialization on some platforms
|
|
__enable_execute_stack
|
|
__trampoline_setup
|
|
}
|
|
|
|
%inherit GCC_3.4.4 GCC_3.4.2
|
|
GCC_3.4.4 {
|
|
# libgcc2 TImode arithmetic (for 64-bit targets).
|
|
__absvti2
|
|
__addvti3
|
|
__mulvti3
|
|
__negvti2
|
|
__subvti3
|
|
}
|
|
|
|
%inherit GCC_4.0.0 GCC_3.4.4
|
|
GCC_4.0.0 {
|
|
# libgcc2 __builtin_powi helpers.
|
|
__powisf2
|
|
__powidf2
|
|
__powixf2
|
|
__powitf2
|
|
|
|
# c99 compliant complex arithmetic
|
|
__divsc3
|
|
__divdc3
|
|
__divxc3
|
|
__divtc3
|
|
__mulsc3
|
|
__muldc3
|
|
__mulxc3
|
|
__multc3
|
|
}
|