This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Revert middle-end support for SSE ABI math intrinsics


This is the first step for libgcc-math removal from mainline.

Bootstrapped and tested on i686-pc-linux-gnu.

Ok for mainline?  (Do I need approval for reverting my own patches?)

Thanks,
Richard.


2006-05-22  Richard Guenther  <rguenther@suse.de>

	Revert
	2006-01-31  Richard Guenther  <rguenther@suse.de>

        * doc/invoke.texi (-msselibm): Document.
        * target.h (expand_library_builtin): New target hook.
        * builtins.c (expand_builtin): Use expand_library_builtin.
        (default_expand_library_builtin): New function.
        * gcc.c (LINK_GCC_MATH_SPEC): Define.
        (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
        (link_gcc_math_spec): Declare.
        (static_specs): Add link_gcc_math_spec.
        * expr.h (default_expand_library_builtin): Declare.
        * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
        (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
        * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
        * config/i386/i386.opt (msselibm): New target option.
        * config/i386/i386.c (ix86_builtin_function_variants): New array.
        (ix86_init_sse_abi_builtins): New function.
        (ix86_expand_library_builtin): Likewise.
        (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
        (override_options): Handle error conditions wrt -msselibm.
        (ix86_builtins): Add function codes for SSE2 ABI builtins.
        (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
        * doc/extend.texi (__builtin_sse2_*): Document new target specific
        builtins.

        * gcc.target/i386/sselibm-1.c: New testcase.
        * gcc.target/i386/sselibm-2.c: Likewise.
        * gcc.target/i386/sselibm-3.c: Likewise.
        * gcc.target/i386/sselibm-4.c: Likewise.
        * gcc.target/i386/sselibm-5.c: Likewise.


Patch is a svn merge -r 112530:112529 (revert the partial 
reversal, gcc/ only) and svn merge -r 110439:110438 (revert the original 
patch).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]