aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJon Beniston <jon@beniston.com>2017-08-30 16:16:37 +0000
committerJon Beniston <jbeniston@gcc.gnu.org>2017-08-30 16:16:37 +0000
commit4c8fd8ac5bdee9b76d41e78d63908129122a51d5 (patch)
tree66cf7498e23df9bbe38059c34d367a0c251e9d84 /gcc
parent33845ca96bdaa9510cfb041540a45c3e8be6c477 (diff)
downloadgcc-4c8fd8ac5bdee9b76d41e78d63908129122a51d5.zip
gcc-4c8fd8ac5bdee9b76d41e78d63908129122a51d5.tar.gz
gcc-4c8fd8ac5bdee9b76d41e78d63908129122a51d5.tar.bz2
tree-vect-patterns.c (vect_pattern_recog_1): Use VECTOR_TYPE_P instead of VECTOR_MODE_P check.
* tree-vect-patterns.c (vect_pattern_recog_1): Use VECTOR_TYPE_P instead of VECTOR_MODE_P check. * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Allow single element vector types. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r251538
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/tree-vect-patterns.c2
-rw-r--r--gcc/tree-vect-stmts.c3
3 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index da37ce8..cc0dc48 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2017-08-30 Jon Beniston <jon@beniston.com>
+ Richard Biener <rguenther@suse.de>
+
+ * tree-vect-patterns.c (vect_pattern_recog_1): Use VECTOR_TYPE_P instead
+ of VECTOR_MODE_P check.
+ * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Allow single
+ element vector types.
+
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
* df.h (df_read_modify_subreg_p): Remove in favor of...
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 4fee7a8..cdad261 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -4152,7 +4152,7 @@ vect_pattern_recog_1 (vect_recog_func *recog_func,
loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info);
if (VECTOR_BOOLEAN_TYPE_P (type_in)
- || VECTOR_MODE_P (TYPE_MODE (type_in)))
+ || VECTOR_TYPE_P (type_in))
{
/* No need to check target support (already checked by the pattern
recognition function). */
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 14089a6..c9a0aaf 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -9101,7 +9101,8 @@ get_vectype_for_scalar_type_and_size (tree scalar_type, unsigned size)
else
simd_mode = mode_for_vector (inner_mode, size / nbytes);
nunits = GET_MODE_SIZE (simd_mode) / nbytes;
- if (nunits <= 1)
+ /* NOTE: nunits == 1 is allowed to support single element vector types. */
+ if (nunits < 1)
return NULL_TREE;
vectype = build_vector_type (scalar_type, nunits);