* config/i386/sse.md (copysign<mode>3): New expander.
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Jul 2009 18:33:12 +0000 (18:33 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Jul 2009 18:33:12 +0000 (18:33 +0000)
commit3d86078b552db7cefe9f5912ef72c564e7da8ff8
treeb5c9821f82edefee5e71062dba829bf08dc7f770
parent9c6d0737261b28d56d86150eb39b5bf6d039dbf3
* config/i386/sse.md (copysign<mode>3): New expander.
* config/i386/i386-protos.h (ix86_build_signbit_mask): New prototype.
* config/i386/i386.c (ix86_build_signbit_mask): Make public.
Use ix86_build_const_vector.
(enum ix86_builtins): Add IX86_BUILTIN_CPYSGNPS and
IX86_BUILTIN_CPYSGNPD.
(builtin_description): Add __builtin_ia32_copysignps and
__builtin_ia32_copysignpd.
(ix86_builtin_vectorized_function): Handle BUILT_IN_COPYSIGN
and BUILT_IN_COPYSIGNF.

testsuite/ChangeLog:

* gcc.target/i386/sse-copysignf-vec.c: New test.
* gcc.target/i386/sse2-copysign-vec.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149639 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/sse-copysignf-vec.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c [new file with mode: 0644]