[PATCH, i386]: Vectorize copysign for x86
Uros Bizjak
ubizjak@gmail.com
Tue Jul 14 17:28:00 GMT 2009
Hello!
Attached patch enables vectorization of copysign function for x86 SSE
targets.
2009-07-14 Uros Bizjak <ubizjak@gmail.com>
* 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:
2009-07-14 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/sse-copysignf-vec.c: New test.
* gcc.target/i386/sse2-copysign-vec.c: Ditto.
Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu
{,-m32}. Will be committed to SVN mainline.
Uros.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: p.diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20090714/0dde1a51/attachment.txt>
More information about the Gcc-patches
mailing list