167fa32c09
2006-09-07 Eric Christopher <echristo@apple.com> Falk Hueffner <falk@debian.org> * doc/extend.texi (__builtin_bswap32): Document. (__builtin_bswap64): Ditto. * doc/libgcc.texi (bswapsi2): Document. (bswapdi2): Ditto. * doc/rtl.texi (bswap): Document. * optabs.c (expand_unop): Don't widen a bswap. (init_optabs): Init bswap. Set libfuncs explicitly for bswapsi2 and bswapdi2. * optabs.h (OTI_bswap): New. (bswap_optab): Ditto. * genopinit.c (optabs): Handle bswap_optab. * tree.h (tree_index): Add TI_UINT32_TYPE and TI_UINT64_TYPE. (uint32_type_node): New. (uint64_type_node): Ditto. * tree.c (build_common_tree_nodes_2): Initialize uint32_type_node and uint64_type_node. * builtins.c (expand_builtin_bswap): New. (expand_builtin): Call. (fold_builtin_bswap): New. (fold_builtin_1): Call. * fold-const.c (tree_expr_nonnegative_p): Return true for bswap. * builtin-types.def (BT_UINT32): New. (BT_UINT64): Ditto. (BT_FN_UINT32_UINT32): Ditto. (BT_FN_UINT64_UINT64): Ditto. * builtins.def (BUILT_IN_BSWAP32): New. (BUILT_IN_BSWAP64): Ditto. * rtl.def (BSWAP): New. * genattrtab.c (check_attr_value): New. * libgcc2.c (__bswapSI2): New. (__bswapDI2): Ditto. * libgcc2.h (__bswapSI2): Declare. (__bswapDI2): Ditto. * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2. * simplify-rtx.c (simplify_const_unary_operation): Return 0 for BSWAP. * libgcc-std.ver (__bwapsi2): Add. (__bswapdi2): Ditto. * reload1.c (eliminate_regs_1): Add bswap. (elimination_effects): Ditto. * config/i386/i386.h (x86_bswap): New. (TARGET_BSWAP): Use. * config/i386/i386.c (x86_bswap): Set. Co-Authored-By: Falk Hueffner <falk@debian.org> From-SVN: r118361
284 lines
4.1 KiB
Plaintext
284 lines
4.1 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
|
|
}
|
|
|
|
%inherit GCC_4.1.0 GCC_4.0.0
|
|
GCC_4.1.0 {
|
|
}
|
|
|
|
%inherit GCC_4.2.0 GCC_4.1.0
|
|
GCC_4.2.0 {
|
|
# unsigned-to-floating conversions
|
|
__floatunsisf
|
|
__floatunsidf
|
|
__floatunsixf
|
|
__floatunsitf
|
|
__floatundidf
|
|
__floatundisf
|
|
__floatundixf
|
|
__floatunditf
|
|
__floatuntidf
|
|
__floatuntisf
|
|
__floatuntixf
|
|
__floatuntitf
|
|
_Unwind_GetIPInfo
|
|
}
|
|
|
|
%inherit GCC_4.3 GCC_4.2.0
|
|
GCC_4.3.0 {
|
|
# byte swapping routines
|
|
__bswapsi2
|
|
__bswapdi2
|
|
}
|