diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-12-01 21:01:35 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-12-01 21:01:35 +0000 |
commit | 2c071d75e3264596a068640fffdc2d7cfb421d1f (patch) | |
tree | fab5425f914edd1fec50aa1a372f277f20dc7ab8 /libgcc | |
parent | 2e42adb98957addc95863ef95a73b99e1e934985 (diff) | |
download | gcc-2c071d75e3264596a068640fffdc2d7cfb421d1f.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231131 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions