aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-02-27 07:43:20 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-02-27 07:43:20 +0100
commitbd522678f0bb10849e24c10391d8a244b5098815 (patch)
tree3bb965a0719b919d56f8b498399317ee8eb43d4d
parent532638bbc94f453a6abe10dd67e6d7b880e4ebeb (diff)
downloadgcc-bd522678f0bb10849e24c10391d8a244b5098815.zip
gcc-bd522678f0bb10849e24c10391d8a244b5098815.tar.gz
gcc-bd522678f0bb10849e24c10391d8a244b5098815.tar.bz2
re PR rtl-optimization/69896 (wrong code with -frename-registers @ x64_64)
PR rtl-optimization/69896 * tree-vect-generic.c (get_compute_type): Avoid single element vector types. From-SVN: r233777
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-vect-generic.c1
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8cece6b..57a81f3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,10 +1,15 @@
+2016-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/69896
+ * tree-vect-generic.c (get_compute_type): Avoid single element
+ vector types.
+
2016-02-26 Evandro Menezes <e.menezes@samsung.com>
Rename the AArch64 tuning option and related functions to enable the
Newton series for the reciprocal square root to reflect its
approximative characteristic.
- gcc/
* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
function to "aarch64_emit_approx_rsqrt".
* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index f0ff4c5..fd3dc43 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -1405,6 +1405,7 @@ get_compute_type (enum tree_code code, optab op, tree type)
if (vector_compute_type != NULL_TREE
&& (TYPE_VECTOR_SUBPARTS (vector_compute_type)
< TYPE_VECTOR_SUBPARTS (compute_type))
+ && TYPE_VECTOR_SUBPARTS (vector_compute_type) > 1
&& (optab_handler (op, TYPE_MODE (vector_compute_type))
!= CODE_FOR_nothing))
compute_type = vector_compute_type;