diff options
author | Evgeny Stupachenko <evstupac@gmail.com> | 2014-11-28 14:45:26 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2014-11-28 14:45:26 +0000 |
commit | f101d09c2a3edf21e053dc7e8c49cedf23a7a2cd (patch) | |
tree | 806a665282a94fc5c610cc6e2ef3a45551e1306f /gcc | |
parent | 3403c4c78e001dd78904d4884647904a02c36c52 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr52252-atom-1.c | 22 | ||||
-rw-r--r-- | gcc/tree-vect-data-refs.c | 1 |
4 files changed, 10 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 10fec95..e778951 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-28 Evgeny Stupachenko <evstupac@gmail.com> + + * tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift + permutations to loads group of size 3. + 2014-11-28 Jiong Wang <jiong.wang@arm.com> * config/arm/arm.md (copysignsf3): New pattern. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8d4a788..14302b7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2014-11-28 Evgeny Stupachenko <evstupac@gmail.com> + + * gcc.target/i386/pr52252-atom-1.c: Delete. + 2014-11-28 Jiong Wang <jiong.wang@arm.com> * gcc.target/arm/copysign_softfloat_1.c: New copysign/copysignf diff --git a/gcc/testsuite/gcc.target/i386/pr52252-atom-1.c b/gcc/testsuite/gcc.target/i386/pr52252-atom-1.c deleted file mode 100644 index 020e983..0000000 --- a/gcc/testsuite/gcc.target/i386/pr52252-atom-1.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-require-effective-target ssse3 } */ -/* { dg-options "-O2 -ftree-vectorize -mssse3 -mtune=slm" } */ -#define byte unsigned char - -void -pair_mul_sum(byte *in, byte *out, int size) -{ - int j; - for(j = 0; j < size; j++) - { - byte a = in[0]; - byte b = in[1]; - byte c = in[2]; - byte d = in[3]; - out[0] = (byte)(a * b) + (byte)(b * c) + (byte)(c * d) + (byte)(d * a); - in += 4; - out += 1; - } -} - -/* { dg-final { scan-assembler "perm2i128|palignr" } } */ 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); |