aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-06-19 12:00:04 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-06-19 12:00:04 +0200
commit2e83f583c27ef7a9d3b0fb0b5ed372439d6222a8 (patch)
tree34682e23ea4f37c5d4665d95460d04025ea317b3 /gcc/ChangeLog
parent6a2892a6d3aef8a1ce26386d626f26e6100099f6 (diff)
downloadgcc-2e83f583c27ef7a9d3b0fb0b5ed372439d6222a8.zip
gcc-2e83f583c27ef7a9d3b0fb0b5ed372439d6222a8.tar.gz
gcc-2e83f583c27ef7a9d3b0fb0b5ed372439d6222a8.tar.bz2
md.texi: Document vec_shl_<mode> pattern.
* doc/md.texi: Document vec_shl_<mode> pattern. * optabs.def (vec_shl_optab): New optab. * optabs.c (shift_amt_for_vec_perm_mask): Add shift_optab argument, if == vec_shl_optab, check for left whole vector shift pattern rather than right shift. (expand_vec_perm_const): Add vec_shl_optab support. * optabs-query.c (can_vec_perm_var_p): Mention also vec_shl optab in the comment. * tree-vect-generic.c (lower_vec_perm): Support permutations which can be handled by vec_shl_optab. * tree-vect-stmts.c (scan_store_can_perm_p): New function. (check_scan_store): Use it. (vectorizable_scan_store): If target can't do normal permutations, try to use whole vector left shifts and if needed a VEC_COND_EXPR after it. * config/i386/sse.md (vec_shl_<mode>): New expander. * gcc.dg/vect/vect-simd-8.c: If main is defined, don't include tree-vect.h nor call check_vect. * gcc.dg/vect/vect-simd-9.c: Likewise. * gcc.dg/vect/vect-simd-10.c: New test. * gcc.target/i386/sse2-vect-simd-8.c: New test. * gcc.target/i386/sse2-vect-simd-9.c: New test. * gcc.target/i386/sse2-vect-simd-10.c: New test. * gcc.target/i386/avx2-vect-simd-8.c: New test. * gcc.target/i386/avx2-vect-simd-9.c: New test. * gcc.target/i386/avx2-vect-simd-10.c: New test. * gcc.target/i386/avx512f-vect-simd-8.c: New test. * gcc.target/i386/avx512f-vect-simd-9.c: New test. * gcc.target/i386/avx512f-vect-simd-10.c: New test. From-SVN: r272472
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7d337bc..922d1b5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,22 @@
2019-06-19 Jakub Jelinek <jakub@redhat.com>
+ * doc/md.texi: Document vec_shl_<mode> pattern.
+ * optabs.def (vec_shl_optab): New optab.
+ * optabs.c (shift_amt_for_vec_perm_mask): Add shift_optab
+ argument, if == vec_shl_optab, check for left whole vector shift
+ pattern rather than right shift.
+ (expand_vec_perm_const): Add vec_shl_optab support.
+ * optabs-query.c (can_vec_perm_var_p): Mention also vec_shl optab
+ in the comment.
+ * tree-vect-generic.c (lower_vec_perm): Support permutations which
+ can be handled by vec_shl_optab.
+ * tree-vect-stmts.c (scan_store_can_perm_p): New function.
+ (check_scan_store): Use it.
+ (vectorizable_scan_store): If target can't do normal permutations,
+ try to use whole vector left shifts and if needed a VEC_COND_EXPR
+ after it.
+ * config/i386/sse.md (vec_shl_<mode>): New expander.
+
* omp-low.c (lower_rec_input_clauses): Handle references properly
in inscan clauses.
(lower_omp_scan): Likewise.