aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2023-12-25 00:18:09 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2023-12-25 00:18:09 +0000
commitf0269df25af37097a06ae247a18c71e24aa32e3e (patch)
tree7a22158c163edc973abed325fa4602999fb5c6b2 /gcc
parenta657c7e3518fcfc796f223d47385cad5e97dc9a5 (diff)
downloadgcc-f0269df25af37097a06ae247a18c71e24aa32e3e.zip
gcc-f0269df25af37097a06ae247a18c71e24aa32e3e.tar.gz
gcc-f0269df25af37097a06ae247a18c71e24aa32e3e.tar.bz2
Daily bump.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog83
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/testsuite/ChangeLog165
3 files changed, 249 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3cb2d98..98e906c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,86 @@
+2023-12-24 Tamar Christina <tamar.christina@arm.com>
+
+ * doc/sourcebuild.texi (check_effective_target_vect_early_break_hw,
+ check_effective_target_vect_early_break): Document.
+
+2023-12-24 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64-simd.md (cbranch<mode>4): New.
+
+2023-12-24 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-if-conv.cc (idx_within_array_bound): Expose.
+ * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): New.
+ (vect_analyze_data_ref_dependences): Use it.
+ * tree-vect-loop-manip.cc (vect_iv_increment_position): New.
+ (vect_set_loop_controls_directly,
+ vect_set_loop_condition_partial_vectors,
+ vect_set_loop_condition_partial_vectors_avx512,
+ vect_set_loop_condition_normal): Support multiple exits.
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Support LCSAA peeling for
+ multiple exits.
+ (slpeel_can_duplicate_loop_p): Change vectorizer from looking at BB
+ count and instead look at loop shape.
+ (vect_update_ivs_after_vectorizer): Drop asserts.
+ (vect_gen_vector_loop_niters_mult_vf): Support peeled vector iterations.
+ (vect_do_peeling): Support multiple exits.
+ (vect_loop_versioning): Likewise.
+ * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialise
+ early_breaks.
+ (vect_analyze_loop_form): Support loop flows with more than single BB
+ loop body.
+ (vect_create_loop_vinfo): Support niters analysis for multiple exits.
+ (vect_analyze_loop): Likewise.
+ (vect_get_vect_def): New.
+ (vect_create_epilog_for_reduction): Support early exit reductions.
+ (vectorizable_live_operation_1): New.
+ (find_connected_edge): New.
+ (vectorizable_live_operation): Support early exit live operations.
+ (move_early_exit_stmts): New.
+ (vect_transform_loop): Use it.
+ * tree-vect-patterns.cc (vect_init_pattern_stmt): Support gcond.
+ (vect_recog_bitfield_ref_pattern): Support gconds and bools.
+ (vect_recog_gcond_pattern): New.
+ (possible_vector_mask_operation_p): Support gcond masks.
+ (vect_determine_mask_precision): Likewise.
+ (vect_mark_pattern_stmts): Set gcond def type.
+ (can_vectorize_live_stmts): Force early break inductions to be live.
+ * tree-vect-stmts.cc (vect_stmt_relevant_p): Add relevancy analysis for
+ early breaks.
+ (vect_mark_stmts_to_be_vectorized): Process gcond usage.
+ (perm_mask_for_reverse): Expose.
+ (vectorizable_comparison_1): New.
+ (vectorizable_early_exit): New.
+ (vect_analyze_stmt): Support early break and gcond.
+ (vect_transform_stmt): Likewise.
+ (vect_is_simple_use): Likewise.
+ (vect_get_vector_types_for_stmt): Likewise.
+ * tree-vectorizer.cc (pass_vectorize::execute): Update exits for value
+ numbering.
+ * tree-vectorizer.h (enum vect_def_type): Add vect_condition_def.
+ (LOOP_VINFO_EARLY_BREAKS, LOOP_VINFO_EARLY_BRK_STORES,
+ LOOP_VINFO_EARLY_BREAKS_VECT_PEELED, LOOP_VINFO_EARLY_BRK_DEST_BB,
+ LOOP_VINFO_EARLY_BRK_VUSES): New.
+ (is_loop_header_bb_p): Drop assert.
+ (class loop): Add early_breaks, early_break_stores, early_break_dest_bb,
+ early_break_vuses.
+ (vect_iv_increment_position, perm_mask_for_reverse,
+ ref_within_array_bound): New.
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Update for early breaks.
+
+2023-12-24 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-ssa-loop-im.cc (determine_max_movement): Import insn-codes.h
+ and optabs-tree.h and check for vector compare motion out of gcond.
+
+2023-12-24 Hans-Peter Nilsson <hp@axis.com>
+
+ PR middle-end/113109
+ * config/cris/cris.cc (cris_eh_return_handler_rtx): New function.
+ * config/cris/cris-protos.h (cris_eh_return_handler_rtx): Prototype.
+ * config/cris/cris.h (EH_RETURN_HANDLER_RTX): Redefine to call
+ cris_eh_return_handler_rtx.
+
2023-12-23 Xi Ruoyao <xry111@xry111.site>
* config/loongarch/loongarch.md (rotrsi3_extend): New
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index ce9e848..3194d00 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20231224
+20231225
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 910f60d..3f01095 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,168 @@
+2023-12-24 Tamar Christina <tamar.christina@arm.com>
+
+ * gcc.dg/vect/tsvc/vect-tsvc-s332.c: Remove xfail when early break
+ supported.
+ * gcc.dg/vect/tsvc/vect-tsvc-s481.c: Likewise.
+ * gcc.dg/vect/tsvc/vect-tsvc-s482.c: Likewise.
+
+2023-12-24 Tamar Christina <tamar.christina@arm.com>
+
+ * lib/target-supports.exp (add_options_for_vect_early_break,
+ check_effective_target_vect_early_break_hw,
+ check_effective_target_vect_early_break): New.
+ * g++.dg/vect/vect-early-break_1.cc: New test.
+ * g++.dg/vect/vect-early-break_2.cc: New test.
+ * g++.dg/vect/vect-early-break_3.cc: New test.
+ * gcc.dg/vect/vect-early-break-run_1.c: New test.
+ * gcc.dg/vect/vect-early-break-run_10.c: New test.
+ * gcc.dg/vect/vect-early-break-run_2.c: New test.
+ * gcc.dg/vect/vect-early-break-run_3.c: New test.
+ * gcc.dg/vect/vect-early-break-run_4.c: New test.
+ * gcc.dg/vect/vect-early-break-run_5.c: New test.
+ * gcc.dg/vect/vect-early-break-run_6.c: New test.
+ * gcc.dg/vect/vect-early-break-run_7.c: New test.
+ * gcc.dg/vect/vect-early-break-run_8.c: New test.
+ * gcc.dg/vect/vect-early-break-run_9.c: New test.
+ * gcc.dg/vect/vect-early-break-template_1.c: New test.
+ * gcc.dg/vect/vect-early-break-template_2.c: New test.
+ * gcc.dg/vect/vect-early-break_1.c: New test.
+ * gcc.dg/vect/vect-early-break_10.c: New test.
+ * gcc.dg/vect/vect-early-break_11.c: New test.
+ * gcc.dg/vect/vect-early-break_12.c: New test.
+ * gcc.dg/vect/vect-early-break_13.c: New test.
+ * gcc.dg/vect/vect-early-break_14.c: New test.
+ * gcc.dg/vect/vect-early-break_15.c: New test.
+ * gcc.dg/vect/vect-early-break_16.c: New test.
+ * gcc.dg/vect/vect-early-break_17.c: New test.
+ * gcc.dg/vect/vect-early-break_18.c: New test.
+ * gcc.dg/vect/vect-early-break_19.c: New test.
+ * gcc.dg/vect/vect-early-break_2.c: New test.
+ * gcc.dg/vect/vect-early-break_20.c: New test.
+ * gcc.dg/vect/vect-early-break_21.c: New test.
+ * gcc.dg/vect/vect-early-break_22.c: New test.
+ * gcc.dg/vect/vect-early-break_23.c: New test.
+ * gcc.dg/vect/vect-early-break_24.c: New test.
+ * gcc.dg/vect/vect-early-break_25.c: New test.
+ * gcc.dg/vect/vect-early-break_26.c: New test.
+ * gcc.dg/vect/vect-early-break_27.c: New test.
+ * gcc.dg/vect/vect-early-break_28.c: New test.
+ * gcc.dg/vect/vect-early-break_29.c: New test.
+ * gcc.dg/vect/vect-early-break_3.c: New test.
+ * gcc.dg/vect/vect-early-break_30.c: New test.
+ * gcc.dg/vect/vect-early-break_31.c: New test.
+ * gcc.dg/vect/vect-early-break_32.c: New test.
+ * gcc.dg/vect/vect-early-break_33.c: New test.
+ * gcc.dg/vect/vect-early-break_34.c: New test.
+ * gcc.dg/vect/vect-early-break_35.c: New test.
+ * gcc.dg/vect/vect-early-break_36.c: New test.
+ * gcc.dg/vect/vect-early-break_37.c: New test.
+ * gcc.dg/vect/vect-early-break_38.c: New test.
+ * gcc.dg/vect/vect-early-break_39.c: New test.
+ * gcc.dg/vect/vect-early-break_4.c: New test.
+ * gcc.dg/vect/vect-early-break_40.c: New test.
+ * gcc.dg/vect/vect-early-break_41.c: New test.
+ * gcc.dg/vect/vect-early-break_42.c: New test.
+ * gcc.dg/vect/vect-early-break_43.c: New test.
+ * gcc.dg/vect/vect-early-break_44.c: New test.
+ * gcc.dg/vect/vect-early-break_45.c: New test.
+ * gcc.dg/vect/vect-early-break_46.c: New test.
+ * gcc.dg/vect/vect-early-break_47.c: New test.
+ * gcc.dg/vect/vect-early-break_48.c: New test.
+ * gcc.dg/vect/vect-early-break_49.c: New test.
+ * gcc.dg/vect/vect-early-break_5.c: New test.
+ * gcc.dg/vect/vect-early-break_50.c: New test.
+ * gcc.dg/vect/vect-early-break_51.c: New test.
+ * gcc.dg/vect/vect-early-break_52.c: New test.
+ * gcc.dg/vect/vect-early-break_53.c: New test.
+ * gcc.dg/vect/vect-early-break_54.c: New test.
+ * gcc.dg/vect/vect-early-break_55.c: New test.
+ * gcc.dg/vect/vect-early-break_56.c: New test.
+ * gcc.dg/vect/vect-early-break_57.c: New test.
+ * gcc.dg/vect/vect-early-break_58.c: New test.
+ * gcc.dg/vect/vect-early-break_59.c: New test.
+ * gcc.dg/vect/vect-early-break_6.c: New test.
+ * gcc.dg/vect/vect-early-break_60.c: New test.
+ * gcc.dg/vect/vect-early-break_61.c: New test.
+ * gcc.dg/vect/vect-early-break_62.c: New test.
+ * gcc.dg/vect/vect-early-break_63.c: New test.
+ * gcc.dg/vect/vect-early-break_64.c: New test.
+ * gcc.dg/vect/vect-early-break_65.c: New test.
+ * gcc.dg/vect/vect-early-break_66.c: New test.
+ * gcc.dg/vect/vect-early-break_67.c: New test.
+ * gcc.dg/vect/vect-early-break_68.c: New test.
+ * gcc.dg/vect/vect-early-break_69.c: New test.
+ * gcc.dg/vect/vect-early-break_7.c: New test.
+ * gcc.dg/vect/vect-early-break_70.c: New test.
+ * gcc.dg/vect/vect-early-break_71.c: New test.
+ * gcc.dg/vect/vect-early-break_72.c: New test.
+ * gcc.dg/vect/vect-early-break_73.c: New test.
+ * gcc.dg/vect/vect-early-break_74.c: New test.
+ * gcc.dg/vect/vect-early-break_75.c: New test.
+ * gcc.dg/vect/vect-early-break_76.c: New test.
+ * gcc.dg/vect/vect-early-break_77.c: New test.
+ * gcc.dg/vect/vect-early-break_78.c: New test.
+ * gcc.dg/vect/vect-early-break_79.c: New test.
+ * gcc.dg/vect/vect-early-break_8.c: New test.
+ * gcc.dg/vect/vect-early-break_80.c: New test.
+ * gcc.dg/vect/vect-early-break_81.c: New test.
+ * gcc.dg/vect/vect-early-break_82.c: New test.
+ * gcc.dg/vect/vect-early-break_83.c: New test.
+ * gcc.dg/vect/vect-early-break_84.c: New test.
+ * gcc.dg/vect/vect-early-break_85.c: New test.
+ * gcc.dg/vect/vect-early-break_86.c: New test.
+ * gcc.dg/vect/vect-early-break_87.c: New test.
+ * gcc.dg/vect/vect-early-break_88.c: New test.
+ * gcc.dg/vect/vect-early-break_89.c: New test.
+ * gcc.dg/vect/vect-early-break_9.c: New test.
+ * gcc.dg/vect/vect-early-break_90.c: New test.
+ * gcc.dg/vect/vect-early-break_91.c: New test.
+ * gcc.dg/vect/vect-early-break_92.c: New test.
+ * gcc.dg/vect/vect-early-break_93.c: New test.
+
+2023-12-24 Tamar Christina <tamar.christina@arm.com>
+
+ * gcc.target/aarch64/sve/vect-early-break-cbranch.c: New test.
+ * gcc.target/aarch64/vect-early-break-cbranch.c: New test.
+
+2023-12-24 Tamar Christina <tamar.christina@arm.com>
+
+ * gcc.dg/vect/no-scevccp-slp-30.c: Add pragma GCC novector to abort
+ loop.
+ * gcc.dg/vect/no-scevccp-slp-31.c: Likewise.
+ * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
+ * gcc.target/aarch64/vect-xorsign_exec.c: Likewise.
+ * gcc.target/i386/avx512er-vrcp28ps-3.c: Likewise.
+ * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Likewise.
+ * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise.
+ * gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-ceil-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-ceilf-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-floor-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-floorf-sfix-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-floorf-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-rint-sfix-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-rintf-sfix-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-round-sfix-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-roundf-sfix-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-trunc-vec-1.c: Likewise.
+ * gcc.target/i386/avx512f-truncf-vec-1.c: Likewise.
+ * gcc.target/i386/vect-alignment-peeling-1.c: Likewise.
+ * gcc.target/i386/vect-alignment-peeling-2.c: Likewise.
+ * gcc.target/i386/vect-pack-trunc-1.c: Likewise.
+ * gcc.target/i386/vect-pack-trunc-2.c: Likewise.
+ * gcc.target/i386/vect-perm-even-1.c: Likewise.
+ * gcc.target/i386/vect-unpack-1.c: Likewise.
+
+2023-12-24 John David Anglin <danglin@gcc.gnu.org>
+
+ * gcc.dg/pr110279-1.c: Add -march=2.0 option on hppa*-*-*.
+
+2023-12-24 Pan Li <pan2.li@intel.com>
+
+ * gcc.dg/signbit-5.c: XFail for the riscv_v.
+
2023-12-23 Xi Ruoyao <xry111@xry111.site>
* gcc.target/loongarch/rotrw.c: New test.