https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68577
--- Comment #5 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- Author: rsandifo Date: Tue Dec 1 21:01:35 2015 New Revision: 231131 URL: https://gcc.gnu.org/viewcvs?rev=231131&root=gcc&view=rev Log: PR68577: Handle narrowing for vector popcount, etc. This patch adds support for simple cases where a vector internal function returns wider results than the scalar equivalent. It punts on other cases. Tested on powerpc64-linux-gnu and x86_64-linux-gnu. gcc/ PR tree-optimization/68577 * tree-vect-stmts.c (simple_integer_narrowing): New function. (vectorizable_call): Restrict internal function handling to NONE and NARROW cases, using simple_integer_narrowing to test for the latter. Add cost of narrowing operation and insert it where necessary. gcc/testsuite/ PR tree-optimization/68577 * gcc.dg/vect/pr68577.c: New test. Added: trunk/gcc/testsuite/gcc.dg/vect/pr68577.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-stmts.c