invoke.texi (-msselibm): Document.
authorRichard Guenther <rguenther@suse.de>
Tue, 31 Jan 2006 15:34:52 +0000 (15:34 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 31 Jan 2006 15:34:52 +0000 (15:34 +0000)
commitee9631816531f0ef9005558cec7d10ea5ee6a074
tree15376ec8b6b321d2bd9b82addcfc370a7717f2e2
parentb082276563252b8e0721f1f9ee84dfaa98bcc620
invoke.texi (-msselibm): Document.

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.

From-SVN: r110439
17 files changed:
gcc/ChangeLog
gcc/builtins.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.opt
gcc/doc/extend.texi
gcc/doc/invoke.texi
gcc/expr.h
gcc/gcc.c
gcc/target-def.h
gcc/target.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/sselibm-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sselibm-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sselibm-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sselibm-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sselibm-5.c [new file with mode: 0644]