aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-06-27 09:03:50 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2014-06-27 09:03:50 +0200
commita4ee446d6d7f1c120e9ef281ec4586f7535647cc (patch)
tree95f86e468f89c90def7089d63fb1c45c8a0f789e /gcc/tree-ssa-pre.c
parent9698b078c86c21aa6a2a2fb4e5bc198f6f1df24c (diff)
downloadgcc-a4ee446d6d7f1c120e9ef281ec4586f7535647cc.zip
gcc-a4ee446d6d7f1c120e9ef281ec4586f7535647cc.tar.gz
gcc-a4ee446d6d7f1c120e9ef281ec4586f7535647cc.tar.bz2
re PR tree-optimization/57233 (Vector lowering of LROTATE_EXPR pessimizes code)
PR tree-optimization/57233 PR tree-optimization/61299 * tree-vect-generic.c (get_compute_type, count_type_subparts): New functions. (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR would be lowered to scalar shifts, check if corresponding shifts and vector BIT_IOR_EXPR are supported and don't lower or lower just to narrower vector type in that case. * expmed.c (expand_shift_1): Fix up handling of vector shifts and rotates. * gcc.dg/pr57233.c: New test. * gcc.target/i386/pr57233.c: New test. * gcc.target/i386/sse2-pr57233.c: New test. * gcc.target/i386/avx-pr57233.c: New test. * gcc.target/i386/avx2-pr57233.c: New test. * gcc.target/i386/avx512f-pr57233.c: New test. * gcc.target/i386/xop-pr57233.c: New test. From-SVN: r212063
Diffstat (limited to 'gcc/tree-ssa-pre.c')
0 files changed, 0 insertions, 0 deletions