This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/24659] Conversions are not vectorized
- From: "uros at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Jun 2007 10:30:22 -0000
- Subject: [Bug tree-optimization/24659] Conversions are not vectorized
- References: <bug-24659-1649@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #17 from uros at gcc dot gnu dot org 2007-06-29 10:30 -------
Subject: Bug 24659
Author: uros
Date: Fri Jun 29 10:30:06 2007
New Revision: 126111
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126111
Log:
PR tree-optimization/24659
* tree-vect-transform.c (vectorizable_call): Handle
(nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.
* config/i386/sse.md (vec_pack_sfix_v2df): New expander.
* config/i386/i386.c (enum ix86_builtins)
[IX86_BUILTIN_VEC_PACK_SFIX]: New constant.
(struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin
description.
(ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as
const using def_builtin_const.
(ix86_expand_binop_builtin): Remove bogus assert() that insn wants
input operands in the same modes as the result.
(ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT.
testsuite/ChangeLog:
PR tree-optimization/24659
* gcc.target/i386/vectorize2.c: New test.
* gcc.target/i386/sse2-lrint-vec.c: New runtime test.
* gcc.target/i386/sse2-lrintf-vec.c: Ditto.
Added:
trunk/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c
trunk/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c
trunk/gcc/testsuite/gcc.target/i386/vectorize2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/sse.md
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-transform.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24659