2006-05-22 Richard Guenther <rguenther@suse.de>
commitb21d5608cd35a17a3a7abb37277f712f0345a7a2
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 May 2006 13:18:15 +0000 (22 13:18 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 May 2006 13:18:15 +0000 (22 13:18 +0000)
treee249aa3414e8468db763c6c821475a39e5297ee2
parente1d8e198a9737cefc4fb824eb6f07cffc4287964
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113977 138bc75d-0d04-0410-961f-82ee72b054a4
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 [deleted file]
gcc/testsuite/gcc.target/i386/sselibm-2.c [deleted file]
gcc/testsuite/gcc.target/i386/sselibm-3.c [deleted file]
gcc/testsuite/gcc.target/i386/sselibm-4.c [deleted file]
gcc/testsuite/gcc.target/i386/sselibm-5.c [deleted file]