aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorEvgeny Stupachenko <evstupac@gmail.com>2014-11-28 14:45:26 +0000
committerIlya Enkovich <ienkovich@gcc.gnu.org>2014-11-28 14:45:26 +0000
commitf101d09c2a3edf21e053dc7e8c49cedf23a7a2cd (patch)
tree806a665282a94fc5c610cc6e2ef3a45551e1306f /gcc/tree-vect-data-refs.c
parent3403c4c78e001dd78904d4884647904a02c36c52 (diff)
downloadgcc-f101d09c2a3edf21e053dc7e8c49cedf23a7a2cd.zip
gcc-f101d09c2a3edf21e053dc7e8c49cedf23a7a2cd.tar.gz
gcc-f101d09c2a3edf21e053dc7e8c49cedf23a7a2cd.tar.bz2
tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift permutations to loads group of size 3.
gcc/ * tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift permutations to loads group of size 3. gcc/testsuite/ * gcc.target/i386/pr52252-atom-1.c: Delete. From-SVN: r218160
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 35d0e0f..3eb20fc 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -5617,6 +5617,7 @@ vect_transform_grouped_load (gimple stmt, vec<tree> dr_chain, int size,
get chain for loads group using vect_shift_permute_load_chain. */
mode = TYPE_MODE (STMT_VINFO_VECTYPE (vinfo_for_stmt (stmt)));
if (targetm.sched.reassociation_width (VEC_PERM_EXPR, mode) > 1
+ || exact_log2 (size) != -1
|| !vect_shift_permute_load_chain (dr_chain, size, stmt,
gsi, &result_chain))
vect_permute_load_chain (dr_chain, size, stmt, gsi, &result_chain);