aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-06-21 08:48:57 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-06-21 08:48:57 +0200
commit1612b1febdd5b6b6ad17c96c980a218bfd40c025 (patch)
treee99a70a4f060da6af668cd4690a60f7cf5f610ba /gcc/ChangeLog
parente73fb06d5a1386fe0a18285d52bcc7865a13a84c (diff)
downloadgcc-1612b1febdd5b6b6ad17c96c980a218bfd40c025.zip
gcc-1612b1febdd5b6b6ad17c96c980a218bfd40c025.tar.gz
gcc-1612b1febdd5b6b6ad17c96c980a218bfd40c025.tar.bz2
omp-low.c (lower_rec_simd_input_clauses): Add rvar2 argument...
* omp-low.c (lower_rec_simd_input_clauses): Add rvar2 argument, create another "omp scan inscan exclusive" array if !ctx->scan_inclusive. (lower_rec_input_clauses): Handle exclusive scan inscan reductions. (lower_omp_scan): Likewise. * tree-vectorizer.h (struct _stmt_vec_info): Use 3-bit instead of 2-bit bitfield for simd_lane_access_p member. * tree-vect-data-refs.c (vect_analyze_data_refs): Also handle aux == (void *)-4 as simd lane access. * tree-vect-stmts.c (check_scan_store): Handle exclusive scan. Update comment with permutations to show the canonical permutation order. (vectorizable_scan_store): Handle exclusive scan. (vectorizable_store): Call vectorizable_scan_store even for STMT_VINFO_SIMD_LANE_ACCESS_P > 3. * gcc.dg/vect/vect-simd-12.c: New test. * gcc.dg/vect/vect-simd-13.c: New test. * gcc.dg/vect/vect-simd-14.c: New test. * gcc.dg/vect/vect-simd-15.c: New test. * gcc.target/i386/sse2-vect-simd-12.c: New test. * gcc.target/i386/sse2-vect-simd-13.c: New test. * gcc.target/i386/sse2-vect-simd-14.c: New test. * gcc.target/i386/sse2-vect-simd-15.c: New test. * gcc.target/i386/avx2-vect-simd-12.c: New test. * gcc.target/i386/avx2-vect-simd-13.c: New test. * gcc.target/i386/avx2-vect-simd-14.c: New test. * gcc.target/i386/avx2-vect-simd-15.c: New test. * gcc.target/i386/avx512f-vect-simd-12.c: New test. * gcc.target/i386/avx512f-vect-simd-13.c: New test. * gcc.target/i386/avx512f-vect-simd-14.c: New test. * gcc.target/i386/avx512bw-vect-simd-15.c: New test. * g++.dg/vect/simd-6.cc: New test. * g++.dg/vect/simd-7.cc: New test. * g++.dg/vect/simd-8.cc: New test. * g++.dg/vect/simd-9.cc: New test. * c-c++-common/gomp/scan-2.c: Don't expect any diagnostics. From-SVN: r272544
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b585b32..3a6b86b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,20 @@
2019-06-21 Jakub Jelinek <jakub@redhat.com>
+ * omp-low.c (lower_rec_simd_input_clauses): Add rvar2 argument,
+ create another "omp scan inscan exclusive" array if
+ !ctx->scan_inclusive.
+ (lower_rec_input_clauses): Handle exclusive scan inscan reductions.
+ (lower_omp_scan): Likewise.
+ * tree-vectorizer.h (struct _stmt_vec_info): Use 3-bit instead of
+ 2-bit bitfield for simd_lane_access_p member.
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Also handle
+ aux == (void *)-4 as simd lane access.
+ * tree-vect-stmts.c (check_scan_store): Handle exclusive scan. Update
+ comment with permutations to show the canonical permutation order.
+ (vectorizable_scan_store): Handle exclusive scan.
+ (vectorizable_store): Call vectorizable_scan_store even for
+ STMT_VINFO_SIMD_LANE_ACCESS_P > 3.
+
* tree-vect-data-refs.c (vect_find_stmt_data_reference): Handle
"omp simd array" arrays with one byte elements.